@fluentui/web-components 3.0.0-beta.77 → 3.0.0-beta.79

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 (155) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/dist/dts/dropdown/define.d.ts +1 -0
  3. package/dist/dts/dropdown/dropdown.d.ts +492 -0
  4. package/dist/dts/dropdown/dropdown.definition.d.ts +9 -0
  5. package/dist/dts/dropdown/dropdown.options.d.ts +53 -0
  6. package/dist/dts/dropdown/dropdown.styles.d.ts +6 -0
  7. package/dist/dts/dropdown/dropdown.template.d.ts +38 -0
  8. package/dist/dts/dropdown/index.d.ts +5 -0
  9. package/dist/dts/index-rollup.d.ts +3 -0
  10. package/dist/dts/index.d.ts +3 -0
  11. package/dist/dts/listbox/define.d.ts +1 -0
  12. package/dist/dts/listbox/index.d.ts +5 -0
  13. package/dist/dts/listbox/listbox.d.ts +116 -0
  14. package/dist/dts/listbox/listbox.definition.d.ts +9 -0
  15. package/dist/dts/listbox/listbox.options.d.ts +10 -0
  16. package/dist/dts/listbox/listbox.styles.d.ts +6 -0
  17. package/dist/dts/listbox/listbox.template.d.ts +17 -0
  18. package/dist/dts/menu-item/menu-item.d.ts +1 -6
  19. package/dist/dts/menu-item/menu-item.template.d.ts +1 -1
  20. package/dist/dts/option/define.d.ts +1 -0
  21. package/dist/dts/option/index.d.ts +5 -0
  22. package/dist/dts/option/option.d.ts +260 -0
  23. package/dist/dts/option/option.definition.d.ts +9 -0
  24. package/dist/dts/option/option.options.d.ts +20 -0
  25. package/dist/dts/option/option.styles.d.ts +6 -0
  26. package/dist/dts/option/option.template.d.ts +16 -0
  27. package/dist/dts/patterns/start-end.d.ts +16 -2
  28. package/dist/dts/styles/states/index.d.ts +34 -0
  29. package/dist/dts/utils/element-internals.d.ts +3 -6
  30. package/dist/dts/utils/index.d.ts +1 -0
  31. package/dist/dts/utils/language.d.ts +9 -0
  32. package/dist/dts/utils/support.d.ts +15 -0
  33. package/dist/dts/utils/unique-id.d.ts +9 -0
  34. package/dist/esm/accordion/accordion.js +2 -3
  35. package/dist/esm/accordion/accordion.js.map +1 -1
  36. package/dist/esm/anchor-button/anchor-button.js +2 -4
  37. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  38. package/dist/esm/avatar/avatar.js +11 -12
  39. package/dist/esm/avatar/avatar.js.map +1 -1
  40. package/dist/esm/button/button.js +19 -23
  41. package/dist/esm/button/button.js.map +1 -1
  42. package/dist/esm/button/button.template.js +1 -1
  43. package/dist/esm/button/button.template.js.map +1 -1
  44. package/dist/esm/checkbox/checkbox.js +10 -11
  45. package/dist/esm/checkbox/checkbox.js.map +1 -1
  46. package/dist/esm/compound-button/compound-button.template.js +1 -1
  47. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  48. package/dist/esm/counter-badge/counter-badge.js +1 -2
  49. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  50. package/dist/esm/dialog-body/dialog-body.template.js +2 -2
  51. package/dist/esm/dialog-body/dialog-body.template.js.map +1 -1
  52. package/dist/esm/divider/divider.js +4 -5
  53. package/dist/esm/divider/divider.js.map +1 -1
  54. package/dist/esm/dropdown/define.js +4 -0
  55. package/dist/esm/dropdown/define.js.map +1 -0
  56. package/dist/esm/dropdown/dropdown.definition.js +20 -0
  57. package/dist/esm/dropdown/dropdown.definition.js.map +1 -0
  58. package/dist/esm/dropdown/dropdown.js +779 -0
  59. package/dist/esm/dropdown/dropdown.js.map +1 -0
  60. package/dist/esm/dropdown/dropdown.options.js +43 -0
  61. package/dist/esm/dropdown/dropdown.options.js.map +1 -0
  62. package/dist/esm/dropdown/dropdown.styles.js +213 -0
  63. package/dist/esm/dropdown/dropdown.styles.js.map +1 -0
  64. package/dist/esm/dropdown/dropdown.template.js +92 -0
  65. package/dist/esm/dropdown/dropdown.template.js.map +1 -0
  66. package/dist/esm/dropdown/index.js +6 -0
  67. package/dist/esm/dropdown/index.js.map +1 -0
  68. package/dist/esm/field/field.js +3 -4
  69. package/dist/esm/field/field.js.map +1 -1
  70. package/dist/esm/form-associated/form-associated.js +3 -5
  71. package/dist/esm/form-associated/form-associated.js.map +1 -1
  72. package/dist/esm/index-rollup.js +3 -0
  73. package/dist/esm/index-rollup.js.map +1 -1
  74. package/dist/esm/index.js +3 -0
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/listbox/define.js +4 -0
  77. package/dist/esm/listbox/define.js.map +1 -0
  78. package/dist/esm/listbox/index.js +6 -0
  79. package/dist/esm/listbox/index.js.map +1 -0
  80. package/dist/esm/listbox/listbox.definition.js +17 -0
  81. package/dist/esm/listbox/listbox.definition.js.map +1 -0
  82. package/dist/esm/listbox/listbox.js +175 -0
  83. package/dist/esm/listbox/listbox.js.map +1 -0
  84. package/dist/esm/listbox/listbox.options.js +15 -0
  85. package/dist/esm/listbox/listbox.options.js.map +1 -0
  86. package/dist/esm/listbox/listbox.styles.js +26 -0
  87. package/dist/esm/listbox/listbox.styles.js.map +1 -0
  88. package/dist/esm/listbox/listbox.template.js +33 -0
  89. package/dist/esm/listbox/listbox.template.js.map +1 -0
  90. package/dist/esm/menu/menu.js +23 -32
  91. package/dist/esm/menu/menu.js.map +1 -1
  92. package/dist/esm/menu-item/menu-item.js +9 -19
  93. package/dist/esm/menu-item/menu-item.js.map +1 -1
  94. package/dist/esm/menu-item/menu-item.template.js +1 -2
  95. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  96. package/dist/esm/menu-list/menu-list.js +4 -5
  97. package/dist/esm/menu-list/menu-list.js.map +1 -1
  98. package/dist/esm/option/define.js +4 -0
  99. package/dist/esm/option/define.js.map +1 -0
  100. package/dist/esm/option/index.js +6 -0
  101. package/dist/esm/option/index.js.map +1 -0
  102. package/dist/esm/option/option.definition.js +17 -0
  103. package/dist/esm/option/option.definition.js.map +1 -0
  104. package/dist/esm/option/option.js +296 -0
  105. package/dist/esm/option/option.js.map +1 -0
  106. package/dist/esm/option/option.options.js +15 -0
  107. package/dist/esm/option/option.options.js.map +1 -0
  108. package/dist/esm/option/option.styles.js +127 -0
  109. package/dist/esm/option/option.styles.js.map +1 -0
  110. package/dist/esm/option/option.template.js +42 -0
  111. package/dist/esm/option/option.template.js.map +1 -0
  112. package/dist/esm/patterns/start-end.js +12 -0
  113. package/dist/esm/patterns/start-end.js.map +1 -1
  114. package/dist/esm/progress-bar/progress-bar.js +3 -4
  115. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  116. package/dist/esm/radio-group/radio-group.js +27 -38
  117. package/dist/esm/radio-group/radio-group.js.map +1 -1
  118. package/dist/esm/rating-display/rating-display.js +7 -13
  119. package/dist/esm/rating-display/rating-display.js.map +1 -1
  120. package/dist/esm/slider/slider.js +13 -16
  121. package/dist/esm/slider/slider.js.map +1 -1
  122. package/dist/esm/styles/states/index.js +34 -0
  123. package/dist/esm/styles/states/index.js.map +1 -1
  124. package/dist/esm/tablist/tablist.js +5 -7
  125. package/dist/esm/tablist/tablist.js.map +1 -1
  126. package/dist/esm/tabs/tabs.js +5 -8
  127. package/dist/esm/tabs/tabs.js.map +1 -1
  128. package/dist/esm/text-input/text-input.js +13 -15
  129. package/dist/esm/text-input/text-input.js.map +1 -1
  130. package/dist/esm/textarea/textarea.js +20 -29
  131. package/dist/esm/textarea/textarea.js.map +1 -1
  132. package/dist/esm/theme/set-theme.js +1 -2
  133. package/dist/esm/theme/set-theme.js.map +1 -1
  134. package/dist/esm/tooltip/tooltip.js +13 -18
  135. package/dist/esm/tooltip/tooltip.js.map +1 -1
  136. package/dist/esm/utils/direction.js +1 -2
  137. package/dist/esm/utils/direction.js.map +1 -1
  138. package/dist/esm/utils/element-internals.js +8 -11
  139. package/dist/esm/utils/element-internals.js.map +1 -1
  140. package/dist/esm/utils/get-initials.js +2 -2
  141. package/dist/esm/utils/get-initials.js.map +1 -1
  142. package/dist/esm/utils/index.js +1 -0
  143. package/dist/esm/utils/index.js.map +1 -1
  144. package/dist/esm/utils/language.js +12 -0
  145. package/dist/esm/utils/language.js.map +1 -0
  146. package/dist/esm/utils/support.js +16 -0
  147. package/dist/esm/utils/support.js.map +1 -0
  148. package/dist/esm/utils/unique-id.js +14 -0
  149. package/dist/esm/utils/unique-id.js.map +1 -0
  150. package/dist/esm/utils/whitespace-filter.js +1 -1
  151. package/dist/esm/utils/whitespace-filter.js.map +1 -1
  152. package/dist/web-components.d.ts +1928 -862
  153. package/dist/web-components.js +1666 -448
  154. package/dist/web-components.min.js +344 -322
  155. package/package.json +1 -1
@@ -20,6 +20,7 @@ export class MenuList extends FASTElement {
20
20
  this.setItems();
21
21
  }
22
22
  }
23
+ static { this.focusableElementRoles = MenuItemRole; }
23
24
  constructor() {
24
25
  super();
25
26
  /**
@@ -189,7 +190,6 @@ export class MenuList extends FASTElement {
189
190
  return startSlot ? 1 : 0;
190
191
  }
191
192
  setItems() {
192
- var _a;
193
193
  const children = Array.from(this.children);
194
194
  this.removeItemListeners(children);
195
195
  children.forEach((child) => Observable.getNotifier(child).subscribe(this, 'hidden'));
@@ -209,12 +209,12 @@ export class MenuList extends FASTElement {
209
209
  * position in the MenuList. Each MenuItem element has a data-indent attribute that is
210
210
  * used to set the indent of the element's start slot content.
211
211
  */
212
- const filteredMenuListItems = (_a = this.menuItems) === null || _a === void 0 ? void 0 : _a.filter(this.isMenuItemElement);
213
- const indent = filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.reduce((accum, current) => {
212
+ const filteredMenuListItems = this.menuItems?.filter(this.isMenuItemElement);
213
+ const indent = filteredMenuListItems?.reduce((accum, current) => {
214
214
  const elementValue = MenuList.elementIndent(current);
215
215
  return Math.max(accum, elementValue);
216
216
  }, 0);
217
- filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.forEach((item) => {
217
+ filteredMenuListItems?.forEach((item) => {
218
218
  if (item instanceof MenuItem) {
219
219
  item.setAttribute('data-indent', `${indent}`);
220
220
  }
@@ -251,7 +251,6 @@ export class MenuList extends FASTElement {
251
251
  }
252
252
  }
253
253
  }
254
- MenuList.focusableElementRoles = MenuItemRole;
255
254
  __decorate([
256
255
  observable
257
256
  ], MenuList.prototype, "items", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"menu-list.js","sourceRoot":"","sources":["../../../src/menu-list/menu-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-list.js","sourceRoot":"","sources":["../../../src/menu-list/menu-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './option.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/option/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { definition as DropdownOptionDefinition } from './option.definition.js';
2
+ export { DropdownOption } from './option.js';
3
+ export { isDropdownOption } from './option.options.js';
4
+ export { styles as DropdownOptionStyles } from './option.styles.js';
5
+ export { template as DropdownOptionTemplate } from './option.template.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/option/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA8B,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { DropdownOption } from './option.js';
3
+ import { styles } from './option.styles.js';
4
+ import { template } from './option.template.js';
5
+ /**
6
+ * The Fluent Option Element.
7
+ *
8
+ * @public
9
+ * @remarks
10
+ * HTML Element: `<fluent-option>`
11
+ */
12
+ export const definition = DropdownOption.compose({
13
+ name: `${FluentDesignSystem.prefix}-option`,
14
+ template,
15
+ styles,
16
+ });
17
+ //# sourceMappingURL=option.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.definition.js","sourceRoot":"","sources":["../../../src/option/option.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;IAC/C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,SAAS;IAC3C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -0,0 +1,296 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, FASTElement, Observable, observable, Updates } from '@microsoft/fast-element';
3
+ import { toggleState } from '../utils/element-internals.js';
4
+ import { uniqueId } from '../utils/unique-id.js';
5
+ /**
6
+ * A DropdownOption Custom HTML Element.
7
+ * Implements the {@link https://w3c.github.io/aria/#option | ARIA option } role.
8
+ *
9
+ * @slot - The default slot for the option's content.
10
+ * @slot checked-indicator - The checked indicator.
11
+ * @slot description - Optional description content.
12
+ *
13
+ * @remarks
14
+ * To support single and multiple selection modes with the {@link (BaseDropdown:class)} element, the Option element
15
+ * itself handles form association and value submission, rather than its parent Dropdown element. In this way, the
16
+ * Option element is a variation of the Checkbox element that is specifically designed for use in the Dropdown element.
17
+ *
18
+ * This class is named `DropdownOption` to avoid conflicts with the native `Option` global. Related constructs are also
19
+ * titled with `DropdownOption` to maintain consistency.
20
+ *
21
+ * @public
22
+ */
23
+ export class DropdownOption extends FASTElement {
24
+ /**
25
+ * Changes the active state of the option when the active property changes.
26
+ *
27
+ * @param prev - the previous active state
28
+ * @param next - the current active state
29
+ * @internal
30
+ */
31
+ activeChanged(prev, next) {
32
+ toggleState(this.elementInternals, 'active', next);
33
+ }
34
+ /**
35
+ * Sets the selected property to match the currentSelected state.
36
+ *
37
+ * @param prev - the previous selected state
38
+ * @param next - the current selected state
39
+ * @internal
40
+ */
41
+ currentSelectedChanged(prev, next) {
42
+ this.selected = !!next;
43
+ }
44
+ /**
45
+ * Updates the selected state when the `selected` attribute is changed, unless the selected state has been changed by the user.
46
+ *
47
+ * @param prev - The previous initial selected state
48
+ * @param next - The current initial selected state
49
+ * @internal
50
+ */
51
+ defaultSelectedChanged(prev, next) {
52
+ this.selected = !!next;
53
+ }
54
+ /**
55
+ * Changes the description state of the option when the description slot changes.
56
+ *
57
+ * @param prev - the previous collection of description elements
58
+ * @param next - the current collection of description elements
59
+ * @internal
60
+ */
61
+ descriptionSlotChanged(prev, next) {
62
+ toggleState(this.elementInternals, 'description', !!next?.length);
63
+ }
64
+ /**
65
+ * Toggles the disabled state when the user changes the `disabled` property.
66
+ *
67
+ * @internal
68
+ */
69
+ disabledChanged(prev, next) {
70
+ this.elementInternals.ariaDisabled = this.disabled ? 'true' : 'false';
71
+ toggleState(this.elementInternals, 'disabled', this.disabled);
72
+ }
73
+ /**
74
+ * Sets the disabled state when the `disabled` attribute changes.
75
+ *
76
+ * @param prev - the previous value
77
+ * @param next - the current value
78
+ * @internal
79
+ */
80
+ disabledAttributeChanged(prev, next) {
81
+ this.disabled = !!next;
82
+ }
83
+ /**
84
+ * Sets the value of the option when the `value` attribute changes.
85
+ *
86
+ * @param prev - The previous initial value
87
+ * @param next - The current initial value
88
+ * @internal
89
+ */
90
+ initialValueChanged(prev, next) {
91
+ this._value = next;
92
+ }
93
+ /**
94
+ * Updates the multiple state of the option when the multiple property changes.
95
+ *
96
+ * @param prev - the previous multiple state
97
+ * @param next - the current multiple state
98
+ */
99
+ multipleChanged(prev, next) {
100
+ toggleState(this.elementInternals, 'multiple', next);
101
+ this.selected = false;
102
+ }
103
+ /**
104
+ * The associated `<form>` element.
105
+ *
106
+ * @public
107
+ * @remarks
108
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/form | `ElementInternals.form`} property.
109
+ */
110
+ get form() {
111
+ return this.elementInternals.form;
112
+ }
113
+ /**
114
+ * The form-associated flag.
115
+ * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
116
+ *
117
+ * @public
118
+ */
119
+ static { this.formAssociated = true; }
120
+ /**
121
+ * A reference to all associated `<label>` elements.
122
+ *
123
+ * @public
124
+ */
125
+ get labels() {
126
+ return Object.freeze(Array.from(this.elementInternals.labels));
127
+ }
128
+ /**
129
+ * The option's current selected state.
130
+ *
131
+ * @public
132
+ */
133
+ get selected() {
134
+ Observable.track(this, 'selected');
135
+ return !!this.currentSelected;
136
+ }
137
+ set selected(next) {
138
+ this.currentSelected = next;
139
+ Updates.enqueue(() => {
140
+ if (this.$fastController.isConnected) {
141
+ this.setFormValue(next ? this.value : null);
142
+ this.elementInternals.ariaSelected = next ? 'true' : 'false';
143
+ toggleState(this.elementInternals, 'selected', next);
144
+ }
145
+ });
146
+ Observable.notify(this, 'selected');
147
+ }
148
+ /**
149
+ * The display text of the option.
150
+ *
151
+ * @public
152
+ * @remarks
153
+ * When the option is freeform, the text is the value of the option.
154
+ */
155
+ get text() {
156
+ if (this.freeform) {
157
+ return this.value.replace(/\s+/g, ' ').trim();
158
+ }
159
+ return (this.textAttribute ?? this.textContent)?.replace(/\s+/g, ' ').trim() ?? '';
160
+ }
161
+ /**
162
+ * The current value of the option.
163
+ *
164
+ * @public
165
+ */
166
+ get value() {
167
+ Observable.track(this, 'value');
168
+ return this._value ?? this.text;
169
+ }
170
+ set value(value) {
171
+ this._value = value;
172
+ if (this.$fastController.isConnected) {
173
+ this.setFormValue(this.selected ? value : null);
174
+ this.freeformOutputs?.forEach(output => {
175
+ output.value = value;
176
+ });
177
+ Observable.notify(this, 'value');
178
+ }
179
+ }
180
+ connectedCallback() {
181
+ super.connectedCallback();
182
+ if (this.freeform) {
183
+ this.value = '';
184
+ this.hidden = true;
185
+ this.selected = false;
186
+ }
187
+ }
188
+ constructor() {
189
+ super();
190
+ /**
191
+ * Indicates that the option is active.
192
+ *
193
+ * @public
194
+ */
195
+ this.active = false;
196
+ /**
197
+ * The id of the option. If not provided, a unique id will be assigned.
198
+ *
199
+ * @override
200
+ * @public
201
+ * @remarks
202
+ * HTML Attribute: `id`
203
+ */
204
+ this.id = uniqueId('option-');
205
+ /**
206
+ * The initial value of the option.
207
+ *
208
+ * @public
209
+ * @remarks
210
+ * HTML Attribute: `value`
211
+ */
212
+ this.initialValue = '';
213
+ /**
214
+ * Indicates that the option is in a multiple selection mode context.
215
+ * @public
216
+ */
217
+ this.multiple = false;
218
+ /**
219
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
220
+ *
221
+ * @internal
222
+ */
223
+ this.elementInternals = this.attachInternals();
224
+ /**
225
+ * The internal value of the option.
226
+ *
227
+ * @internal
228
+ */
229
+ this._value = this.initialValue;
230
+ this.elementInternals.role = 'option';
231
+ }
232
+ /**
233
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue | `ElementInternals.setFormValue()`} method.
234
+ *
235
+ * @internal
236
+ */
237
+ setFormValue(value, state) {
238
+ if (this.disabled) {
239
+ this.elementInternals.setFormValue(null);
240
+ return;
241
+ }
242
+ this.elementInternals.setFormValue(value, value ?? state);
243
+ }
244
+ /**
245
+ * Toggles the selected state of the control.
246
+ *
247
+ * @param force - Forces the element to be checked or unchecked
248
+ * @public
249
+ */
250
+ toggleSelected(force = !this.selected) {
251
+ this.selected = force;
252
+ }
253
+ }
254
+ __decorate([
255
+ observable
256
+ ], DropdownOption.prototype, "active", void 0);
257
+ __decorate([
258
+ attr({ attribute: 'current-selected', mode: 'boolean' })
259
+ ], DropdownOption.prototype, "currentSelected", void 0);
260
+ __decorate([
261
+ attr({ attribute: 'selected', mode: 'boolean' })
262
+ ], DropdownOption.prototype, "defaultSelected", void 0);
263
+ __decorate([
264
+ observable
265
+ ], DropdownOption.prototype, "descriptionSlot", void 0);
266
+ __decorate([
267
+ observable
268
+ ], DropdownOption.prototype, "disabled", void 0);
269
+ __decorate([
270
+ attr({ attribute: 'disabled', mode: 'boolean' })
271
+ ], DropdownOption.prototype, "disabledAttribute", void 0);
272
+ __decorate([
273
+ attr({ attribute: 'form' })
274
+ ], DropdownOption.prototype, "formAttribute", void 0);
275
+ __decorate([
276
+ attr({ mode: 'boolean' })
277
+ ], DropdownOption.prototype, "freeform", void 0);
278
+ __decorate([
279
+ attr({ attribute: 'id' })
280
+ ], DropdownOption.prototype, "id", void 0);
281
+ __decorate([
282
+ attr({ attribute: 'value', mode: 'fromView' })
283
+ ], DropdownOption.prototype, "initialValue", void 0);
284
+ __decorate([
285
+ observable
286
+ ], DropdownOption.prototype, "multiple", void 0);
287
+ __decorate([
288
+ attr
289
+ ], DropdownOption.prototype, "name", void 0);
290
+ __decorate([
291
+ observable
292
+ ], DropdownOption.prototype, "start", void 0);
293
+ __decorate([
294
+ attr({ attribute: 'text', mode: 'fromView' })
295
+ ], DropdownOption.prototype, "textAttribute", void 0);
296
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sourceRoot":"","sources":["../../../src/option/option.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Predicate function that determines if the element should be considered an option.
3
+ *
4
+ * @param element - The element to check.
5
+ * @param tagName - The tag name to check.
6
+ * @returns true if the element is an option.
7
+ * @public
8
+ */
9
+ export function isDropdownOption(value, tagName = '-option') {
10
+ if (value?.nodeType !== Node.ELEMENT_NODE) {
11
+ return false;
12
+ }
13
+ return value.tagName.toLowerCase().endsWith(tagName);
14
+ }
15
+ //# sourceMappingURL=option.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.options.js","sourceRoot":"","sources":["../../../src/option/option.options.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,UAAkB,SAAS;IAC9E,IAAI,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAQ,KAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,127 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { typographyBody1Styles, typographyCaption1Styles } from '../styles/partials/typography.partials.js';
3
+ import { activeState, descriptionState, multipleState, selectedState } from '../styles/states/index.js';
4
+ import { borderRadiusMedium, borderRadiusSmall, colorCompoundBrandBackground, colorCompoundBrandStroke, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground3, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralStrokeAccessible, colorNeutralStrokeDisabled, colorStrokeFocus2, colorTransparentStroke, spacingHorizontalSNudge, spacingHorizontalXS, strokeWidthThick, strokeWidthThin, } from '../theme/design-tokens.js';
5
+ import { display } from '../utils/display.js';
6
+ /**
7
+ * Styles for the {@link (DropdownOption:class)} component.
8
+ *
9
+ * @public
10
+ */
11
+ export const styles = css `
12
+ ${display('inline-grid')}
13
+
14
+ :host {
15
+ -webkit-tap-highlight-color: transparent;
16
+ ${typographyBody1Styles}
17
+ align-items: center;
18
+ background-color: ${colorNeutralBackground1};
19
+ border-radius: ${borderRadiusMedium};
20
+ border: ${strokeWidthThick} solid ${colorTransparentStroke};
21
+ box-sizing: border-box;
22
+ color: ${colorNeutralForeground2};
23
+ column-gap: ${spacingHorizontalXS};
24
+ cursor: pointer;
25
+ grid-template-areas: 'indicator start content';
26
+ grid-template-columns: auto auto 1fr;
27
+ min-height: 32px;
28
+ padding: ${spacingHorizontalSNudge};
29
+ }
30
+
31
+ .content {
32
+ grid-area: content;
33
+ line-height: 1;
34
+ }
35
+
36
+ ::slotted([slot='start']) {
37
+ grid-area: start;
38
+ }
39
+
40
+ :host(:hover) {
41
+ background-color: ${colorNeutralBackground1Hover};
42
+ color: ${colorNeutralForeground2Hover};
43
+ }
44
+
45
+ :host(:active) {
46
+ background-color: ${colorNeutralBackground1Pressed};
47
+ color: ${colorNeutralForeground2Pressed};
48
+ }
49
+
50
+ :host(:disabled) {
51
+ background-color: ${colorNeutralBackground1};
52
+ color: ${colorNeutralForegroundDisabled};
53
+ cursor: default;
54
+ }
55
+
56
+ .checkmark-16-filled {
57
+ fill: currentColor;
58
+ width: 16px;
59
+ }
60
+
61
+ slot[name='checked-indicator'] > *,
62
+ ::slotted([slot='checked-indicator']) {
63
+ aspect-ratio: 1;
64
+ flex: 0 0 auto;
65
+ grid-area: indicator;
66
+ visibility: hidden;
67
+ }
68
+
69
+ :host(${selectedState}) :is(slot[name='checked-indicator'] > *, ::slotted([slot='checked-indicator'])) {
70
+ visibility: visible;
71
+ }
72
+
73
+ :host(${multipleState}) .checkmark-16-filled,
74
+ :host(:not(${multipleState})) .checkmark-12-regular {
75
+ display: none;
76
+ }
77
+
78
+ :host(${multipleState}) .checkmark-12-regular {
79
+ background-color: ${colorNeutralBackground1};
80
+ border-radius: ${borderRadiusSmall};
81
+ border: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};
82
+ box-sizing: border-box;
83
+ cursor: pointer;
84
+ fill: transparent;
85
+ position: relative;
86
+ visibility: visible;
87
+ width: 16px;
88
+ }
89
+
90
+ :host(${multipleState}${selectedState}) .checkmark-12-regular {
91
+ background-color: ${colorCompoundBrandBackground};
92
+ border-color: ${colorCompoundBrandStroke};
93
+ fill: ${colorNeutralForegroundInverted};
94
+ }
95
+
96
+ :host(:disabled${multipleState}) .checkmark-12-regular {
97
+ border-color: ${colorNeutralStrokeDisabled};
98
+ }
99
+
100
+ :host(:disabled${multipleState}${selectedState}) .checkmark-12-regular {
101
+ background-color: ${colorNeutralBackgroundDisabled};
102
+ }
103
+
104
+ :host(${activeState}) {
105
+ border: ${strokeWidthThick} solid ${colorStrokeFocus2};
106
+ }
107
+
108
+ @supports (selector(:host(:has(*)))) {
109
+ :host(:has([slot='start']:not([size='16']))) {
110
+ column-gap: ${spacingHorizontalSNudge};
111
+ }
112
+ }
113
+
114
+ :host(${descriptionState}) {
115
+ column-gap: ${spacingHorizontalSNudge};
116
+ grid-template-areas:
117
+ 'indicator start content'
118
+ 'indicator start description';
119
+ }
120
+
121
+ ::slotted([slot='description']) {
122
+ color: ${colorNeutralForeground3};
123
+ grid-area: description;
124
+ ${typographyCaption1Styles}
125
+ }
126
+ `;
127
+ //# sourceMappingURL=option.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.styles.js","sourceRoot":"","sources":["../../../src/option/option.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,aAAa,CAAC;;;;MAIpB,qBAAqB;;wBAEH,uBAAuB;qBAC1B,kBAAkB;cACzB,gBAAgB,UAAU,sBAAsB;;aAEjD,uBAAuB;kBAClB,mBAAmB;;;;;eAKtB,uBAAuB;;;;;;;;;;;;;wBAad,4BAA4B;aACvC,4BAA4B;;;;wBAIjB,8BAA8B;aACzC,8BAA8B;;;;wBAInB,uBAAuB;aAClC,8BAA8B;;;;;;;;;;;;;;;;;UAiBjC,aAAa;;;;UAIb,aAAa;eACR,aAAa;;;;UAIlB,aAAa;wBACC,uBAAuB;qBAC1B,iBAAiB;cACxB,eAAe,UAAU,4BAA4B;;;;;;;;;UASzD,aAAa,GAAG,aAAa;wBACf,4BAA4B;oBAChC,wBAAwB;YAChC,8BAA8B;;;mBAGvB,aAAa;oBACZ,0BAA0B;;;mBAG3B,aAAa,GAAG,aAAa;wBACxB,8BAA8B;;;UAG5C,WAAW;cACP,gBAAgB,UAAU,iBAAiB;;;;;oBAKrC,uBAAuB;;;;UAIjC,gBAAgB;kBACR,uBAAuB;;;;;;;aAO5B,uBAAuB;;MAE9B,wBAAwB;;CAE7B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { elements, html, slotted } from '@microsoft/fast-element';
2
+ import { startSlotTemplate } from '../patterns/start-end.js';
3
+ import { staticallyCompose } from '../utils/template-helpers.js';
4
+ const checkedIndicator = html.partial(/* html */ `
5
+ <svg aria-hidden="true" class="checkmark-16-filled" viewBox="0 0 16 16">
6
+ <path
7
+ d="M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032"
8
+ />
9
+ </svg>
10
+ <svg aria-hidden="true" class="checkmark-12-regular" viewBox="0 0 12 12">
11
+ <path
12
+ d="M9.854 3.146a.5.5 0 0 1 0 .708l-4.5 4.5a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L5 7.293l4.146-4.147a.5.5 0 0 1 .708 0"
13
+ />
14
+ </svg>
15
+ `);
16
+ /**
17
+ * Generates a template for the {@link (Option:class)} component.
18
+ *
19
+ * @param options - The {@link (OptionOptions:interface)} to use for generating the template.
20
+ * @returns The template object.
21
+ * @public
22
+ */
23
+ export function dropdownOptionTemplate(options = {}) {
24
+ return html `
25
+ <slot name="checked-indicator">${staticallyCompose(options.checkedIndicator)}</slot>
26
+ ${startSlotTemplate(options)}
27
+ <div class="content" part="content">
28
+ <slot ${slotted({ property: 'freeformOutputs', filter: elements('output') })}></slot>
29
+ </div>
30
+ <div class="description" part="description">
31
+ <slot name="description" ${slotted('descriptionSlot')}></slot>
32
+ </div>
33
+ `;
34
+ }
35
+ /**
36
+ * Template for the Option component.
37
+ * @public
38
+ */
39
+ export const template = dropdownOptionTemplate({
40
+ checkedIndicator,
41
+ });
42
+ //# sourceMappingURL=option.template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.template.js","sourceRoot":"","sources":["../../../src/option/option.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;CAWhD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAiC,EAAE;IAEnC,OAAO,IAAI,CAAG;qCACqB,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC;MAC1E,iBAAiB,CAAC,OAAO,CAAC;;cAElB,OAAO,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;;;iCAGjD,OAAO,CAAC,iBAAiB,CAAC;;GAExD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAwC,sBAAsB,CAAC;IAClF,gBAAgB;CACjB,CAAC,CAAC"}
@@ -1,6 +1,18 @@
1
1
  //Copied from @microsoft/fast-foundation
2
2
  import { html, ref } from '@microsoft/fast-element';
3
3
  import { staticallyCompose } from '../utils/index.js';
4
+ /**
5
+ * A mixin class implementing start slots.
6
+ * @public
7
+ */
8
+ export class Start {
9
+ }
10
+ /**
11
+ * A mixin class implementing end slots.
12
+ * @public
13
+ */
14
+ export class End {
15
+ }
4
16
  /**
5
17
  * A mixin class implementing start and end slots.
6
18
  * These are generally used to decorate text elements with icons or other visual indicators.
@@ -1 +1 @@
1
- {"version":3,"file":"start-end.js","sourceRoot":"","sources":["../../../src/patterns/start-end.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAoB,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAyBtD;;;;GAIG;AACH,MAAM,OAAO,QAAQ;CAGpB;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAqC;IAErC,OAAO,IAAI,CAAA,qBAAqB,GAAG,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuC;IAEvC,OAAO,IAAI,CAAA,uBAAuB,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"start-end.js","sourceRoot":"","sources":["../../../src/patterns/start-end.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAoB,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAyBtD;;;GAGG;AACH,MAAM,OAAO,KAAK;CAEjB;AAED;;;GAGG;AACH,MAAM,OAAO,GAAG;CAEf;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAQ;CAGpB;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAqC;IAErC,OAAO,IAAI,CAAA,qBAAqB,GAAG,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuC;IAEvC,OAAO,IAAI,CAAA,uBAAuB,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACxG,CAAC"}
@@ -49,10 +49,9 @@ export class BaseProgressBar extends FASTElement {
49
49
  * @internal
50
50
  */
51
51
  get percentComplete() {
52
- var _a, _b, _c;
53
- const min = (_a = this.min) !== null && _a !== void 0 ? _a : 0;
54
- const max = (_b = this.max) !== null && _b !== void 0 ? _b : 100;
55
- const value = (_c = this.value) !== null && _c !== void 0 ? _c : 0;
52
+ const min = this.min ?? 0;
53
+ const max = this.max ?? 100;
54
+ const value = this.value ?? 0;
56
55
  const range = max - min;
57
56
  return range === 0 ? 0 : Math.fround(((value - min) / range) * 100);
58
57
  }