@fluentui/web-components 3.0.0-rc.10 → 3.0.0-rc.12

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 (91) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/custom-elements.json +241 -256
  3. package/dist/esm/accordion/accordion.d.ts +2 -1
  4. package/dist/esm/accordion/accordion.js +52 -49
  5. package/dist/esm/accordion/accordion.js.map +1 -1
  6. package/dist/esm/accordion-item/accordion-item.options.d.ts +11 -1
  7. package/dist/esm/accordion-item/accordion-item.options.js +12 -0
  8. package/dist/esm/accordion-item/accordion-item.options.js.map +1 -1
  9. package/dist/esm/anchor-button/anchor-button.base.js +1 -0
  10. package/dist/esm/anchor-button/anchor-button.base.js.map +1 -1
  11. package/dist/esm/avatar/avatar.base.d.ts +64 -10
  12. package/dist/esm/avatar/avatar.base.js +100 -27
  13. package/dist/esm/avatar/avatar.base.js.map +1 -1
  14. package/dist/esm/avatar/avatar.styles.js +20 -3
  15. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  16. package/dist/esm/avatar/avatar.template.js +4 -3
  17. package/dist/esm/avatar/avatar.template.js.map +1 -1
  18. package/dist/esm/button/button.base.d.ts +15 -1
  19. package/dist/esm/button/button.base.js +27 -24
  20. package/dist/esm/button/button.base.js.map +1 -1
  21. package/dist/esm/button/button.template.d.ts +3 -3
  22. package/dist/esm/button/button.template.js.map +1 -1
  23. package/dist/esm/dialog/dialog.d.ts +8 -3
  24. package/dist/esm/dialog/dialog.js +26 -20
  25. package/dist/esm/dialog/dialog.js.map +1 -1
  26. package/dist/esm/drawer/drawer.js +0 -1
  27. package/dist/esm/drawer/drawer.js.map +1 -1
  28. package/dist/esm/dropdown/dropdown.base.d.ts +1 -0
  29. package/dist/esm/dropdown/dropdown.base.js +24 -15
  30. package/dist/esm/dropdown/dropdown.base.js.map +1 -1
  31. package/dist/esm/listbox/listbox.d.ts +12 -7
  32. package/dist/esm/listbox/listbox.js +27 -17
  33. package/dist/esm/listbox/listbox.js.map +1 -1
  34. package/dist/esm/listbox/listbox.template.js +2 -3
  35. package/dist/esm/listbox/listbox.template.js.map +1 -1
  36. package/dist/esm/menu/menu.d.ts +7 -0
  37. package/dist/esm/menu/menu.js +22 -17
  38. package/dist/esm/menu/menu.js.map +1 -1
  39. package/dist/esm/option/option.js +1 -1
  40. package/dist/esm/option/option.js.map +1 -1
  41. package/dist/esm/progress-bar/progress-bar.base.d.ts +19 -4
  42. package/dist/esm/progress-bar/progress-bar.base.js +37 -19
  43. package/dist/esm/progress-bar/progress-bar.base.js.map +1 -1
  44. package/dist/esm/radio/radio.options.d.ts +9 -0
  45. package/dist/esm/radio/radio.options.js +12 -1
  46. package/dist/esm/radio/radio.options.js.map +1 -1
  47. package/dist/esm/radio-group/radio-group.d.ts +13 -7
  48. package/dist/esm/radio-group/radio-group.js +14 -21
  49. package/dist/esm/radio-group/radio-group.js.map +1 -1
  50. package/dist/esm/radio-group/radio-group.template.js +2 -2
  51. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  52. package/dist/esm/rating-display/rating-display.base.d.ts +11 -1
  53. package/dist/esm/rating-display/rating-display.base.js +24 -11
  54. package/dist/esm/rating-display/rating-display.base.js.map +1 -1
  55. package/dist/esm/slider/slider.d.ts +7 -3
  56. package/dist/esm/slider/slider.js +46 -28
  57. package/dist/esm/slider/slider.js.map +1 -1
  58. package/dist/esm/tab/tab.d.ts +13 -1
  59. package/dist/esm/tab/tab.js +16 -2
  60. package/dist/esm/tab/tab.js.map +1 -1
  61. package/dist/esm/tablist/tablist.base.d.ts +2 -1
  62. package/dist/esm/tablist/tablist.base.js +109 -95
  63. package/dist/esm/tablist/tablist.base.js.map +1 -1
  64. package/dist/esm/tablist/tablist.d.ts +2 -1
  65. package/dist/esm/tablist/tablist.js +2 -2
  66. package/dist/esm/tablist/tablist.js.map +1 -1
  67. package/dist/esm/text-input/text-input.base.js +12 -5
  68. package/dist/esm/text-input/text-input.base.js.map +1 -1
  69. package/dist/esm/text-input/text-input.template.d.ts +1 -1
  70. package/dist/esm/text-input/text-input.template.js +2 -8
  71. package/dist/esm/text-input/text-input.template.js.map +1 -1
  72. package/dist/esm/textarea/textarea.base.d.ts +7 -3
  73. package/dist/esm/textarea/textarea.base.js +38 -23
  74. package/dist/esm/textarea/textarea.base.js.map +1 -1
  75. package/dist/esm/tree/tree.base.d.ts +8 -0
  76. package/dist/esm/tree/tree.base.js +16 -2
  77. package/dist/esm/tree/tree.base.js.map +1 -1
  78. package/dist/esm/tree-item/tree-item.base.d.ts +7 -0
  79. package/dist/esm/tree-item/tree-item.base.js +14 -12
  80. package/dist/esm/tree-item/tree-item.base.js.map +1 -1
  81. package/dist/esm/utils/focusable-element.js +2 -1
  82. package/dist/esm/utils/focusable-element.js.map +1 -1
  83. package/dist/esm/utils/request-idle-callback.js +4 -9
  84. package/dist/esm/utils/request-idle-callback.js.map +1 -1
  85. package/dist/esm/utils/typings.d.ts +8 -0
  86. package/dist/esm/utils/typings.js +15 -1
  87. package/dist/esm/utils/typings.js.map +1 -1
  88. package/dist/web-components.d.ts +198 -44
  89. package/dist/web-components.js +605 -368
  90. package/dist/web-components.min.js +224 -224
  91. package/package.json +1 -1
@@ -21,7 +21,7 @@ export declare class Accordion extends FASTElement {
21
21
  * HTML attribute: expand-mode
22
22
  */
23
23
  expandmode: AccordionExpandMode;
24
- expandmodeChanged(prev: AccordionExpandMode, next: AccordionExpandMode): void;
24
+ expandmodeChanged(prev: AccordionExpandMode | undefined, next: AccordionExpandMode): void;
25
25
  /**
26
26
  * @internal
27
27
  */
@@ -73,4 +73,5 @@ export declare class Accordion extends FASTElement {
73
73
  * @returns
74
74
  */
75
75
  private expandedChangedHandler;
76
+ connectedCallback(): void;
76
77
  }
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
- import { Observable } from '@microsoft/fast-element';
3
- import { attr, FASTElement, observable } from '@microsoft/fast-element';
4
- import { BaseAccordionItem } from '../accordion-item/accordion-item.base.js';
2
+ import { attr, FASTElement, Observable, observable } from '@microsoft/fast-element';
3
+ import { waitForConnectedDescendants } from '../utils/request-idle-callback.js';
4
+ import { isAccordionItem } from '../accordion-item/accordion-item.options.js';
5
5
  import { AccordionExpandMode } from './accordion.options.js';
6
6
  /**
7
7
  * An Accordion Custom HTML Element
@@ -17,15 +17,6 @@ import { AccordionExpandMode } from './accordion.options.js';
17
17
  export class Accordion extends FASTElement {
18
18
  constructor() {
19
19
  super(...arguments);
20
- /**
21
- * Controls the expand mode of the Accordion, either allowing
22
- * single or multiple item expansion.
23
- * @public
24
- *
25
- * @remarks
26
- * HTML attribute: expand-mode
27
- */
28
- this.expandmode = AccordionExpandMode.multi;
29
20
  this.activeItemIndex = 0;
30
21
  /**
31
22
  * Resets event listeners and sets the `accordionItems` property
@@ -33,25 +24,27 @@ export class Accordion extends FASTElement {
33
24
  * @returns {void}
34
25
  */
35
26
  this.setItems = () => {
36
- if (this.slottedAccordionItems.length === 0) {
37
- return;
38
- }
39
- // Get all existing children and remove event listeners
40
- const children = Array.from(this.children);
41
- this.removeItemListeners(children);
42
- // Resubscribe to the `disabled` attribute of all children
43
- children.forEach((child) => Observable.getNotifier(child).subscribe(this, 'disabled'));
44
- // Add event listeners to each non-disabled AccordionItem
45
- this.accordionItems = children.filter(child => !child.hasAttribute('disabled'));
46
- this.accordionItems.forEach((item, index) => {
47
- item.addEventListener('click', this.expandedChangedHandler);
48
- // Subscribe to the expanded attribute of the item
49
- Observable.getNotifier(item).subscribe(this, 'expanded');
27
+ waitForConnectedDescendants(this, () => {
28
+ if (this.slottedAccordionItems.length === 0) {
29
+ return;
30
+ }
31
+ // Get all existing children and remove event listeners
32
+ const children = Array.from(this.children);
33
+ this.removeItemListeners(children);
34
+ // Resubscribe to the `disabled` attribute of all children
35
+ children.forEach((child) => Observable.getNotifier(child).subscribe(this, 'disabled'));
36
+ // Add event listeners to each non-disabled AccordionItem
37
+ this.accordionItems = children.filter(child => !child.hasAttribute('disabled'));
38
+ this.accordionItems.forEach((item, index) => {
39
+ item.addEventListener('click', this.expandedChangedHandler);
40
+ // Subscribe to the expanded attribute of the item
41
+ Observable.getNotifier(item).subscribe(this, 'expanded');
42
+ });
43
+ if (this.isSingleExpandMode()) {
44
+ const expandedItem = this.findExpandedItem();
45
+ this.setSingleExpandMode(expandedItem);
46
+ }
50
47
  });
51
- if (this.isSingleExpandMode()) {
52
- const expandedItem = this.findExpandedItem();
53
- this.setSingleExpandMode(expandedItem);
54
- }
55
48
  };
56
49
  /**
57
50
  * Removes event listeners from the previous accordion items
@@ -71,7 +64,7 @@ export class Accordion extends FASTElement {
71
64
  */
72
65
  this.expandedChangedHandler = (evt) => {
73
66
  const item = evt.target;
74
- if (item instanceof BaseAccordionItem) {
67
+ if (isAccordionItem(item)) {
75
68
  if (!this.isSingleExpandMode()) {
76
69
  item.expanded = !item.expanded;
77
70
  // setSingleExpandMode sets activeItemIndex on its own
@@ -128,10 +121,11 @@ export class Accordion extends FASTElement {
128
121
  * @returns {void}
129
122
  */
130
123
  findExpandedItem() {
131
- if (this.accordionItems.length === 0) {
124
+ if (!this.accordionItems || this.accordionItems?.length === 0) {
132
125
  return null;
133
126
  }
134
- return (this.accordionItems.find((item) => item instanceof BaseAccordionItem && item.expanded) ?? this.accordionItems[0]);
127
+ return (this.accordionItems.find((item) => isAccordionItem(item) && item.expanded) ??
128
+ this.accordionItems[0]);
135
129
  }
136
130
  /**
137
131
  * Checks if the accordion is in single expand mode
@@ -146,24 +140,33 @@ export class Accordion extends FASTElement {
146
140
  * @returns {void}
147
141
  */
148
142
  setSingleExpandMode(expandedItem) {
149
- if (this.accordionItems.length === 0) {
150
- return;
151
- }
152
- const currentItems = Array.from(this.accordionItems);
153
- this.activeItemIndex = currentItems.indexOf(expandedItem);
154
- currentItems.forEach((item, index) => {
155
- if (item instanceof BaseAccordionItem) {
156
- if (this.activeItemIndex === index) {
157
- item.expanded = true;
158
- item.expandbutton.setAttribute('aria-disabled', 'true');
159
- }
160
- else {
161
- item.expanded = false;
162
- if (!item.hasAttribute('disabled')) {
163
- item.expandbutton.removeAttribute('aria-disabled');
143
+ requestAnimationFrame(() => {
144
+ if (this.accordionItems.length === 0) {
145
+ return;
146
+ }
147
+ const currentItems = Array.from(this.accordionItems);
148
+ this.activeItemIndex = currentItems.indexOf(expandedItem);
149
+ currentItems.forEach((item, index) => {
150
+ if (isAccordionItem(item)) {
151
+ if (this.activeItemIndex === index) {
152
+ item.expanded = true;
153
+ item.expandbutton.setAttribute('aria-disabled', 'true');
154
+ }
155
+ else {
156
+ item.expanded = false;
157
+ if (!item.hasAttribute('disabled')) {
158
+ item.expandbutton.removeAttribute('aria-disabled');
159
+ }
164
160
  }
165
161
  }
166
- }
162
+ });
163
+ });
164
+ }
165
+ connectedCallback() {
166
+ super.connectedCallback();
167
+ requestAnimationFrame(() => {
168
+ this.expandmode = this.expandmode || AccordionExpandMode.multi;
169
+ this.setItems();
167
170
  });
168
171
  }
169
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/accordion/accordion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/accordion/accordion.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAW,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,SAAU,SAAQ,WAAW;IAA1C;;QAmEU,oBAAe,GAAW,CAAC,CAAC;QAiBpC;;;;WAIG;QACK,aAAQ,GAAG,GAAS,EAAE;YAC5B,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE;gBACrC,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBAED,uDAAuD;gBACvD,MAAM,QAAQ,GAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAEnC,0DAA0D;gBAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBAEhG,yDAAyD;gBACzD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;oBAC3D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBAC5D,kDAAkD;oBAClD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAuB,CAAC;oBAClE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAwCF;;;WAGG;QACK,wBAAmB,GAAG,CAAC,QAAa,EAAQ,EAAE;YACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE;gBACpD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3D,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3D,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;;;WAIG;QACK,2BAAsB,GAAkB,CAAC,GAAU,EAAQ,EAAE;YACnE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAqB,CAAC;YAEvC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,sDAAsD;oBACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;IAUJ,CAAC;IAzLQ,iBAAiB,CAAC,IAAqC,EAAE,IAAyB;QACvF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,uCAAuC;QACtC,YAAkC,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IACrF,CAAC;IAaD;;OAEG;IACI,4BAA4B,CAAC,QAAuB,EAAE,QAAuB;QAClF,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,MAAW,EAAE,YAAoB;QACnD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,mDAAmD;YACnD,8DAA8D;YAC9D,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAID;;;OAGG;IACK,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAiC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;YACvG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACvB,CAAC;IACJ,CAAC;IAmCD;;;OAGG;IACK,kBAAkB;QACxB,OAAO,IAAI,CAAC,UAAU,KAAK,mBAAmB,CAAC,MAAM,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,YAAqB;QAC/C,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE1D,YAAY,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;gBACpD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;wBACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAEtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;4BACnC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAmCD,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC,KAAK,CAAC;YAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1LQ;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;6CACK;AAyBjC;IADN,UAAU;wDACkC"}
@@ -1,4 +1,5 @@
1
- import type { ValuesOf } from '../utils/index.js';
1
+ import { type ValuesOf } from '../utils/typings.js';
2
+ import type { BaseAccordionItem } from './accordion-item.base.js';
2
3
  /**
3
4
  * An Accordion Item header font size can be small, medium, large, and extra-large
4
5
  */
@@ -25,3 +26,12 @@ export declare const AccordionItemMarkerPosition: {
25
26
  * @public
26
27
  */
27
28
  export type AccordionItemMarkerPosition = ValuesOf<typeof AccordionItemMarkerPosition>;
29
+ /**
30
+ * Predicate function that determines if the element should be considered an accordion item element.
31
+ *
32
+ * @param element - The element to check.
33
+ * @param tagName - The tag name to check against, defaults to '-accordion-item'.
34
+ * @returns True if the element is an accordion item element, false otherwise.
35
+ * @public
36
+ */
37
+ export declare function isAccordionItem(element?: Node | null, tagName?: string): element is BaseAccordionItem;
@@ -1,3 +1,4 @@
1
+ import { isCustomElement } from '../utils/typings.js';
1
2
  /**
2
3
  * An Accordion Item header font size can be small, medium, large, and extra-large
3
4
  */
@@ -14,4 +15,15 @@ export const AccordionItemMarkerPosition = {
14
15
  start: 'start',
15
16
  end: 'end',
16
17
  };
18
+ /**
19
+ * Predicate function that determines if the element should be considered an accordion item element.
20
+ *
21
+ * @param element - The element to check.
22
+ * @param tagName - The tag name to check against, defaults to '-accordion-item'.
23
+ * @returns True if the element is an accordion item element, false otherwise.
24
+ * @public
25
+ */
26
+ export function isAccordionItem(element, tagName = '-accordion-item') {
27
+ return isCustomElement(tagName)(element);
28
+ }
17
29
  //# sourceMappingURL=accordion-item.options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-item.options.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.options.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,aAAa;CACjB,CAAC;AAQX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC"}
1
+ {"version":3,"file":"accordion-item.options.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiB,MAAM,qBAAqB,CAAC;AAGrE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,aAAa;CACjB,CAAC;AAQX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACF,CAAC;AAQX;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAqB,EACrB,UAAkB,iBAAiB;IAEnC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}
@@ -37,6 +37,7 @@ export class BaseAnchor extends FASTElement {
37
37
  }
38
38
  connectedCallback() {
39
39
  super.connectedCallback();
40
+ this.tabIndex = Number(this.getAttribute('tabindex') ?? 0) < 0 ? -1 : 0;
40
41
  Observable.getNotifier(this).subscribe(this);
41
42
  Object.keys(this.$fastController.definition.attributeLookup).forEach(key => {
42
43
  this.handleChange(this, key);
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.base.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-button.base.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.base.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,50 @@ import { FASTElement } from '@microsoft/fast-element';
5
5
  */
6
6
  export declare class BaseAvatar extends FASTElement {
7
7
  /**
8
- * Signal to remove event listeners when the component is disconnected.
8
+ * Reference to the default slot element.
9
9
  *
10
10
  * @internal
11
11
  */
12
- private abortSignal?;
12
+ defaultSlot: HTMLSlotElement;
13
13
  /**
14
- * Reference to the default slot element.
14
+ * Handles changes to the default slot element reference.
15
+ *
16
+ * Toggles the `has-slotted` class on the slot element for browsers that do not
17
+ * support the `:has-slotted` CSS selector. Defers cleanup using
18
+ * `Updates.enqueue` to avoid DOM mutations during hydration that could
19
+ * corrupt binding markers.
20
+ *
15
21
  * @internal
16
22
  */
17
- defaultSlot: HTMLSlotElement;
23
+ defaultSlotChanged(): void;
24
+ /**
25
+ * Reference to the monogram element that displays generated initials.
26
+ *
27
+ * @internal
28
+ */
29
+ monogram: HTMLElement;
30
+ /**
31
+ * Updates the monogram text content when the ref is captured.
32
+ *
33
+ * @internal
34
+ */
35
+ protected monogramChanged(): void;
36
+ /**
37
+ * The slotted content nodes assigned to the default slot.
38
+ *
39
+ * @internal
40
+ */
41
+ slottedDefaults: Node[];
42
+ /**
43
+ * Handles changes to the slotted default content.
44
+ *
45
+ * Normalizes the DOM, toggles the `has-slotted` class on the default slot element
46
+ * for browsers that do not support the `:has-slotted` CSS selector, and removes
47
+ * empty text nodes from the default slot to keep the DOM clean.
48
+ *
49
+ * @internal
50
+ */
51
+ protected slottedDefaultsChanged(): void;
18
52
  /**
19
53
  * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
20
54
  *
@@ -29,22 +63,42 @@ export declare class BaseAvatar extends FASTElement {
29
63
  * HTML Attribute: name
30
64
  */
31
65
  name?: string | undefined;
66
+ /**
67
+ * Handles changes to the name attribute.
68
+ * @internal
69
+ */
70
+ protected nameChanged(): void;
32
71
  /**
33
72
  * Provide custom initials rather than one generated via the name
34
73
  *
35
74
  * @public
36
75
  * @remarks
37
- * HTML Attribute: name
76
+ * HTML Attribute: initials
38
77
  */
39
78
  initials?: string | undefined;
40
- connectedCallback(): void;
79
+ /**
80
+ * Handles changes to the initials attribute.
81
+ * @internal
82
+ */
83
+ protected initialsChanged(): void;
41
84
  constructor();
42
- disconnectedCallback(): void;
43
85
  /**
44
- * Removes any empty text nodes from the default slot when the slotted content changes.
86
+ * Generates and sets the initials for the template.
87
+ * Subclasses should override this to provide custom initials logic.
88
+ *
89
+ * @internal
90
+ */
91
+ generateInitials(): string | void;
92
+ /**
93
+ * Updates the monogram element's text content with the generated initials.
94
+ *
95
+ * @internal
96
+ */
97
+ protected updateMonogram(): void;
98
+ /**
99
+ * Normalizes the DOM and removes empty text nodes from the default slot.
45
100
  *
46
- * @param e - The event object
47
101
  * @internal
48
102
  */
49
- slotchangeHandler(): void;
103
+ protected cleanupSlottedContent(): void;
50
104
  }
@@ -1,16 +1,75 @@
1
1
  import { __decorate } from "tslib";
2
- import { attr, FASTElement, Updates } from '@microsoft/fast-element';
2
+ import { attr, FASTElement, observable, Updates } from '@microsoft/fast-element';
3
+ import { getInitials } from '../utils/get-initials.js';
3
4
  /**
4
5
  * The base class used for constructing a fluent-avatar custom element
5
6
  * @public
6
7
  */
7
8
  export class BaseAvatar extends FASTElement {
8
- connectedCallback() {
9
- super.connectedCallback();
10
- this.slotchangeHandler();
9
+ /**
10
+ * Handles changes to the default slot element reference.
11
+ *
12
+ * Toggles the `has-slotted` class on the slot element for browsers that do not
13
+ * support the `:has-slotted` CSS selector. Defers cleanup using
14
+ * `Updates.enqueue` to avoid DOM mutations during hydration that could
15
+ * corrupt binding markers.
16
+ *
17
+ * @internal
18
+ */
19
+ defaultSlotChanged() {
20
+ if (!CSS.supports('selector(:has-slotted)')) {
21
+ const elements = this.defaultSlot.assignedElements();
22
+ this.defaultSlot.classList.toggle('has-slotted', elements.length > 0);
23
+ }
24
+ Updates.enqueue(() => {
25
+ this.cleanupSlottedContent();
26
+ });
27
+ }
28
+ /**
29
+ * Updates the monogram text content when the ref is captured.
30
+ *
31
+ * @internal
32
+ */
33
+ monogramChanged() {
34
+ this.updateMonogram();
35
+ }
36
+ /**
37
+ * Handles changes to the slotted default content.
38
+ *
39
+ * Normalizes the DOM, toggles the `has-slotted` class on the default slot element
40
+ * for browsers that do not support the `:has-slotted` CSS selector, and removes
41
+ * empty text nodes from the default slot to keep the DOM clean.
42
+ *
43
+ * @internal
44
+ */
45
+ slottedDefaultsChanged() {
46
+ if (!this.defaultSlot) {
47
+ return;
48
+ }
49
+ this.cleanupSlottedContent();
50
+ }
51
+ /**
52
+ * Handles changes to the name attribute.
53
+ * @internal
54
+ */
55
+ nameChanged() {
56
+ this.updateMonogram();
57
+ }
58
+ /**
59
+ * Handles changes to the initials attribute.
60
+ * @internal
61
+ */
62
+ initialsChanged() {
63
+ this.updateMonogram();
11
64
  }
12
65
  constructor() {
13
66
  super();
67
+ /**
68
+ * The slotted content nodes assigned to the default slot.
69
+ *
70
+ * @internal
71
+ */
72
+ this.slottedDefaults = [];
14
73
  /**
15
74
  * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
16
75
  *
@@ -19,39 +78,53 @@ export class BaseAvatar extends FASTElement {
19
78
  this.elementInternals = this.attachInternals();
20
79
  this.elementInternals.role = 'img';
21
80
  }
22
- disconnectedCallback() {
23
- this.abortSignal?.abort();
24
- this.abortSignal = undefined;
25
- super.disconnectedCallback();
81
+ /**
82
+ * Generates and sets the initials for the template.
83
+ * Subclasses should override this to provide custom initials logic.
84
+ *
85
+ * @internal
86
+ */
87
+ generateInitials() {
88
+ return this.initials || getInitials(this.name, window.getComputedStyle(this).direction === 'rtl');
89
+ }
90
+ /**
91
+ * Updates the monogram element's text content with the generated initials.
92
+ *
93
+ * @internal
94
+ */
95
+ updateMonogram() {
96
+ if (this.monogram) {
97
+ this.monogram.textContent = this.generateInitials() ?? '';
98
+ }
26
99
  }
27
100
  /**
28
- * Removes any empty text nodes from the default slot when the slotted content changes.
101
+ * Normalizes the DOM and removes empty text nodes from the default slot.
29
102
  *
30
- * @param e - The event object
31
103
  * @internal
32
104
  */
33
- slotchangeHandler() {
105
+ cleanupSlottedContent() {
34
106
  this.normalize();
35
- const elements = this.defaultSlot.assignedElements();
36
- if (!elements.length && !this.innerText.trim()) {
37
- const nodes = this.defaultSlot.assignedNodes();
38
- nodes
39
- .filter(node => node.nodeType === Node.TEXT_NODE)
40
- .forEach(node => {
41
- this.removeChild(node);
42
- });
107
+ if (!CSS.supports('selector(:has-slotted)')) {
108
+ this.defaultSlot.classList.toggle('has-slotted', !!this.slottedDefaults.length);
43
109
  }
44
- Updates.enqueue(() => {
45
- if (!this.abortSignal || this.abortSignal.signal.aborted) {
46
- this.abortSignal = new AbortController();
47
- }
48
- this.defaultSlot.addEventListener('slotchange', () => this.slotchangeHandler(), {
49
- once: true,
50
- signal: this.abortSignal.signal,
110
+ if (!this.innerText.trim()) {
111
+ this.slottedDefaults.forEach(node => {
112
+ if (node.nodeType === Node.TEXT_NODE) {
113
+ node.remove();
114
+ }
51
115
  });
52
- });
116
+ }
53
117
  }
54
118
  }
119
+ __decorate([
120
+ observable
121
+ ], BaseAvatar.prototype, "defaultSlot", void 0);
122
+ __decorate([
123
+ observable
124
+ ], BaseAvatar.prototype, "monogram", void 0);
125
+ __decorate([
126
+ observable
127
+ ], BaseAvatar.prototype, "slottedDefaults", void 0);
55
128
  __decorate([
56
129
  attr
57
130
  ], BaseAvatar.prototype, "name", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.base.js","sourceRoot":"","sources":["../../../src/avatar/avatar.base.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAErE;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IAyCzC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAjCV;;;;WAIG;QACI,qBAAgB,GAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;QA8BjE,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAE7B,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,iBAAiB;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAe,CAAC;YAE5D,KAAK;iBACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;iBAChD,OAAO,CAAC,IAAI,CAAC,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;gBAC9E,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9DQ;IADN,IAAI;wCAC4B;AAU1B;IADN,IAAI;4CACgC"}
1
+ {"version":3,"file":"avatar.base.js","sourceRoot":"","sources":["../../../src/avatar/avatar.base.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IASzC;;;;;;;;;OASG;IACI,kBAAkB;QACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAUD;;;;OAIG;IACO,eAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAUD;;;;;;;;OAQG;IACO,sBAAsB;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAmBD;;;OAGG;IACO,WAAW;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAYD;;;OAGG;IACO,eAAe;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QApEV;;;;WAIG;QAEI,oBAAe,GAAW,EAAE,CAAC;QAkBpC;;;;WAIG;QACI,qBAAgB,GAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;QAyCjE,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,gBAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IACpG,CAAC;IAED;;;;OAIG;IACO,cAAc;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,qBAAqB;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAkB,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA1JQ;IADN,UAAU;+CAC0B;AA6B9B;IADN,UAAU;4CACmB;AAiBvB;IADN,UAAU;mDACyB;AAiC7B;IADN,IAAI;wCAC4B;AAkB1B;IADN,IAAI;4CACgC"}
@@ -16,10 +16,11 @@ const animations = {
16
16
  * @public
17
17
  */
18
18
  export const styles = css `
19
- ${display('inline-flex')} :host {
19
+ ${display('inline-grid')} :host {
20
20
  position: relative;
21
- align-items: center;
22
- justify-content: center;
21
+ place-items: center;
22
+ place-content: center;
23
+ grid-template: 1fr / 1fr;
23
24
  flex-shrink: 0;
24
25
  width: 32px;
25
26
  height: 32px;
@@ -32,6 +33,22 @@ export const styles = css `
32
33
  contain: layout style;
33
34
  }
34
35
 
36
+ .monogram,
37
+ .default-icon {
38
+ grid-area: 1 / 1 / -1 / -1;
39
+ }
40
+
41
+ .monogram:empty {
42
+ display: none;
43
+ }
44
+
45
+ .default-slot:is(.has-slotted, :has-slotted) ~ .default-icon,
46
+ .default-slot:is(.has-slotted, :has-slotted) ~ .monogram,
47
+ :host(:is([name]):not([name=''])) .default-icon,
48
+ :host(:is([initials]):not([initials=''])) .default-icon {
49
+ display: none;
50
+ }
51
+
35
52
  .default-icon,
36
53
  ::slotted(svg) {
37
54
  width: 20px;
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.styles.js","sourceRoot":"","sources":["../../../src/avatar/avatar.styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avatar.styles.js","sourceRoot":"","sources":["../../../src/avatar/avatar.styles.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import { html, ref } from '@microsoft/fast-element';
1
+ import { html, ref, slotted } from '@microsoft/fast-element';
2
2
  const defaultIconTemplate = html `<svg
3
3
  width="1em"
4
4
  height="1em"
5
5
  viewBox="0 0 20 20"
6
- xmlns="http://www.w3.org/2000/svg"
7
6
  class="default-icon"
8
7
  fill="currentcolor"
9
8
  aria-hidden="true"
@@ -18,7 +17,9 @@ const defaultIconTemplate = html `<svg
18
17
  */
19
18
  export function avatarTemplate() {
20
19
  return html `
21
- <slot ${ref('defaultSlot')}>${x => (x.name || x.initials ? x.generateInitials() : defaultIconTemplate)}</slot>
20
+ <slot class="default-slot" ${slotted('slottedDefaults')} ${ref('defaultSlot')}></slot>
21
+ <span class="monogram" ${ref('monogram')}>${x => x.initials}</span>
22
+ ${defaultIconTemplate}
22
23
  <slot name="badge"></slot>
23
24
  `;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.template.js","sourceRoot":"","sources":["../../../src/avatar/avatar.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAG9E,MAAM,mBAAmB,GAAG,IAAI,CAAA;;;;;;;;;;;;OAYzB,CAAC;AAER;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAG;YACJ,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;;GAEvG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"avatar.template.js","sourceRoot":"","sources":["../../../src/avatar/avatar.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvF,MAAM,mBAAmB,GAAG,IAAI,CAAA;;;;;;;;;;;OAWzB,CAAC;AAER;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAG;iCACiB,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC;6BACpD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;MACzD,mBAAmB;;GAEtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}