@fluentui/web-components 3.0.0-alpha.5 → 3.0.0-alpha.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.
Files changed (98) hide show
  1. package/CHANGELOG.json +43 -1
  2. package/CHANGELOG.md +22 -2
  3. package/dist/dts/avatar/avatar.d.ts +97 -0
  4. package/dist/dts/avatar/avatar.definition.d.ts +9 -0
  5. package/dist/dts/avatar/avatar.options.d.ts +142 -0
  6. package/dist/dts/avatar/avatar.styles.d.ts +4 -0
  7. package/dist/dts/avatar/avatar.template.d.ts +8 -0
  8. package/dist/dts/avatar/define.d.ts +1 -0
  9. package/dist/dts/avatar/index.d.ts +5 -0
  10. package/dist/dts/divider/define.d.ts +1 -0
  11. package/dist/dts/divider/divider.d.ts +31 -0
  12. package/dist/dts/divider/divider.definition.d.ts +9 -0
  13. package/dist/dts/divider/divider.options.d.ts +40 -0
  14. package/dist/dts/divider/divider.styles.d.ts +4 -0
  15. package/dist/dts/divider/divider.template.d.ts +7 -0
  16. package/dist/dts/divider/index.d.ts +5 -0
  17. package/dist/dts/image/define.d.ts +1 -0
  18. package/dist/dts/image/image.d.ts +48 -0
  19. package/dist/dts/image/image.definition.d.ts +9 -0
  20. package/dist/dts/image/image.options.d.ts +27 -0
  21. package/dist/dts/image/image.styles.d.ts +5 -0
  22. package/dist/dts/image/image.template.d.ts +7 -0
  23. package/dist/dts/image/index.d.ts +5 -0
  24. package/dist/dts/index.d.ts +4 -0
  25. package/dist/dts/switch/define.d.ts +1 -0
  26. package/dist/dts/switch/index.d.ts +5 -0
  27. package/dist/dts/switch/switch.d.ts +13 -0
  28. package/dist/dts/switch/switch.definition.d.ts +9 -0
  29. package/dist/dts/switch/switch.options.d.ts +15 -0
  30. package/dist/dts/switch/switch.styles.d.ts +1 -0
  31. package/dist/dts/switch/switch.template.d.ts +3 -0
  32. package/dist/dts/utils/get-initials.d.ts +18 -0
  33. package/dist/esm/avatar/avatar.definition.js +17 -0
  34. package/dist/esm/avatar/avatar.definition.js.map +1 -0
  35. package/dist/esm/avatar/avatar.js +92 -0
  36. package/dist/esm/avatar/avatar.js.map +1 -0
  37. package/dist/esm/avatar/avatar.options.js +87 -0
  38. package/dist/esm/avatar/avatar.options.js.map +1 -0
  39. package/dist/esm/avatar/avatar.styles.js +476 -0
  40. package/dist/esm/avatar/avatar.styles.js.map +1 -0
  41. package/dist/esm/avatar/avatar.template.js +28 -0
  42. package/dist/esm/avatar/avatar.template.js.map +1 -0
  43. package/dist/esm/avatar/define.js +4 -0
  44. package/dist/esm/avatar/define.js.map +1 -0
  45. package/dist/esm/avatar/index.js +6 -0
  46. package/dist/esm/avatar/index.js.map +1 -0
  47. package/dist/esm/divider/define.js +4 -0
  48. package/dist/esm/divider/define.js.map +1 -0
  49. package/dist/esm/divider/divider.definition.js +17 -0
  50. package/dist/esm/divider/divider.definition.js.map +1 -0
  51. package/dist/esm/divider/divider.js +21 -0
  52. package/dist/esm/divider/divider.js.map +1 -0
  53. package/dist/esm/divider/divider.options.js +31 -0
  54. package/dist/esm/divider/divider.options.js.map +1 -0
  55. package/dist/esm/divider/divider.styles.js +111 -0
  56. package/dist/esm/divider/divider.styles.js.map +1 -0
  57. package/dist/esm/divider/divider.template.js +7 -0
  58. package/dist/esm/divider/divider.template.js.map +1 -0
  59. package/dist/esm/divider/index.js +6 -0
  60. package/dist/esm/divider/index.js.map +1 -0
  61. package/dist/esm/image/define.js +4 -0
  62. package/dist/esm/image/define.js.map +1 -0
  63. package/dist/esm/image/image.definition.js +17 -0
  64. package/dist/esm/image/image.definition.js.map +1 -0
  65. package/dist/esm/image/image.js +24 -0
  66. package/dist/esm/image/image.js.map +1 -0
  67. package/dist/esm/image/image.options.js +21 -0
  68. package/dist/esm/image/image.options.js.map +1 -0
  69. package/dist/esm/image/image.styles.js +52 -0
  70. package/dist/esm/image/image.styles.js.map +1 -0
  71. package/dist/esm/image/image.template.js +7 -0
  72. package/dist/esm/image/image.template.js.map +1 -0
  73. package/dist/esm/image/index.js +6 -0
  74. package/dist/esm/image/index.js.map +1 -0
  75. package/dist/esm/index.js +4 -0
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/switch/define.js +4 -0
  78. package/dist/esm/switch/define.js.map +1 -0
  79. package/dist/esm/switch/index.js +6 -0
  80. package/dist/esm/switch/index.js.map +1 -0
  81. package/dist/esm/switch/switch.definition.js +17 -0
  82. package/dist/esm/switch/switch.definition.js.map +1 -0
  83. package/dist/esm/switch/switch.js +9 -0
  84. package/dist/esm/switch/switch.js.map +1 -0
  85. package/dist/esm/switch/switch.options.js +10 -0
  86. package/dist/esm/switch/switch.options.js.map +1 -0
  87. package/dist/esm/switch/switch.styles.js +114 -0
  88. package/dist/esm/switch/switch.styles.js.map +1 -0
  89. package/dist/esm/switch/switch.template.js +5 -0
  90. package/dist/esm/switch/switch.template.js.map +1 -0
  91. package/dist/esm/utils/get-initials.js +83 -0
  92. package/dist/esm/utils/get-initials.js.map +1 -0
  93. package/dist/fluent-web-components.api.json +3517 -1757
  94. package/dist/web-components.d.ts +496 -0
  95. package/dist/web-components.js +1095 -29
  96. package/dist/web-components.min.js +123 -115
  97. package/docs/api-report.md +262 -0
  98. package/package.json +17 -1
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Get (up to 2 characters) initials based on display name of the persona.
3
+ *
4
+ * @param displayName - The full name of the person or entity
5
+ * @param isRtl - Whether the display is in RTL
6
+ * @param options - Extra options to control the behavior of getInitials
7
+ *
8
+ * @returns The 1 or 2 character initials based on the name. Or an empty string if no initials
9
+ * could be derived from the name.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare function getInitials(displayName: string | undefined | null, isRtl: boolean, options?: {
14
+ /** Should initials be generated from phone numbers (default false) */
15
+ allowPhoneInitials?: boolean;
16
+ /** Returns only the first initial */
17
+ firstInitialOnly?: boolean;
18
+ }): string;
@@ -0,0 +1,17 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { Avatar } from './avatar.js';
3
+ import { styles } from './avatar.styles.js';
4
+ import { template } from './avatar.template.js';
5
+ /**
6
+ * The Fluent Avatar Element.
7
+ *
8
+ * @public
9
+ * @remarks
10
+ * HTML Element: \<fluent-badge\>
11
+ */
12
+ export const definition = Avatar.compose({
13
+ name: `${FluentDesignSystem.prefix}-avatar`,
14
+ template,
15
+ styles,
16
+ });
17
+ //# sourceMappingURL=avatar.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.definition.js","sourceRoot":"","sources":["../../../src/avatar/avatar.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IACvC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,SAAS;IAC3C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, FASTElement, nullableNumberConverter } from '@microsoft/fast-element';
3
+ import { getInitials } from '../utils/get-initials.js';
4
+ import { AvatarColor, AvatarNamedColor, } from './avatar.options.js';
5
+ /**
6
+ * The base class used for constructing a fluent-avatar custom element
7
+ * @public
8
+ */
9
+ export class Avatar extends FASTElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * The color when displaying either an icon or initials.
14
+ * * neutral (default): gray
15
+ * * brand: color from the brand palette
16
+ * * colorful: picks a color from a set of pre-defined colors, based on a hash of the name (or colorId if provided)
17
+ * * [AvatarNamedColor]: a specific color from the theme
18
+ *
19
+ * @public
20
+ * @remarks
21
+ * HTML Attribute: color
22
+ */
23
+ this.color = 'neutral';
24
+ }
25
+ /**
26
+ * Sets the data-color attribute used for the visual presentation
27
+ * @internal
28
+ */
29
+ generateColor() {
30
+ var _a, _b;
31
+ if (!this.color) {
32
+ return;
33
+ }
34
+ return this.color === AvatarColor.colorful
35
+ ? Avatar.colors[getHashCode((_b = (_a = this.colorId) !== null && _a !== void 0 ? _a : this.name) !== null && _b !== void 0 ? _b : '') % Avatar.colors.length]
36
+ : this.color;
37
+ }
38
+ /**
39
+ * Generates and sets the initials for the template
40
+ * @internal
41
+ */
42
+ generateInitials() {
43
+ var _a, _b;
44
+ if (!this.name && !this.initials) {
45
+ return;
46
+ }
47
+ // size can be undefined since we default it in CSS only
48
+ const size = (_a = this.size) !== null && _a !== void 0 ? _a : 32;
49
+ return ((_b = this.initials) !== null && _b !== void 0 ? _b : getInitials(this.name, window.getComputedStyle(this).direction === 'rtl', {
50
+ firstInitialOnly: size <= 16,
51
+ }));
52
+ }
53
+ }
54
+ /**
55
+ * An array of the available Avatar named colors
56
+ */
57
+ Avatar.colors = Object.values(AvatarNamedColor);
58
+ __decorate([
59
+ attr
60
+ ], Avatar.prototype, "name", void 0);
61
+ __decorate([
62
+ attr
63
+ ], Avatar.prototype, "initials", void 0);
64
+ __decorate([
65
+ attr({ converter: nullableNumberConverter })
66
+ ], Avatar.prototype, "size", void 0);
67
+ __decorate([
68
+ attr
69
+ ], Avatar.prototype, "shape", void 0);
70
+ __decorate([
71
+ attr
72
+ ], Avatar.prototype, "active", void 0);
73
+ __decorate([
74
+ attr
75
+ ], Avatar.prototype, "appearance", void 0);
76
+ __decorate([
77
+ attr
78
+ ], Avatar.prototype, "color", void 0);
79
+ __decorate([
80
+ attr({ attribute: 'color-id' })
81
+ ], Avatar.prototype, "colorId", void 0);
82
+ // copied from React avatar
83
+ const getHashCode = (str) => {
84
+ let hashCode = 0;
85
+ for (let len = str.length - 1; len >= 0; len--) {
86
+ const ch = str.charCodeAt(len);
87
+ const shift = len % 8;
88
+ hashCode ^= (ch << shift) + (ch >> (8 - shift)); // eslint-disable-line no-bitwise
89
+ }
90
+ return hashCode;
91
+ };
92
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/avatar/avatar.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAGL,WAAW,EACX,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IAAvC;;QAuEE;;;;;;;;;;WAUG;QAEI,UAAK,GAAiB,SAAS,CAAC;IA+CzC,CAAC;IAtCC;;;OAGG;IACI,aAAa;;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ;YACxC,CAAC,CAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAiB;YACrG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,gBAAgB;;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;SACR;QAED,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAE7B,OAAO,CACL,MAAA,IAAI,CAAC,QAAQ,mCACb,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAE,IAA+B,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;YACpG,gBAAgB,EAAE,IAAI,IAAI,EAAE;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;;AAED;;GAEG;AACW,aAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAxHvD;IADC,IAAI;oCAC4B;AAUjC;IADC,IAAI;wCACgC;AAiBrC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;oCACR;AAUrC;IADC,IAAI;qCACkC;AAavC;IADC,IAAI;sCACoC;AAUzC;IADC,IAAI;0CAC4C;AAcjD;IADC,IAAI;qCACkC;AAOvC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;uCACc;AA0ChD,2BAA2B;AAC3B,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,GAAG,GAAW,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;QACtD,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,QAAQ,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC;KACnF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The Avatar "active" state
3
+ */
4
+ export const AvatarActive = {
5
+ active: 'active',
6
+ inactive: 'inactive',
7
+ };
8
+ /**
9
+ * The Avatar Shape
10
+ */
11
+ export const AvatarShape = {
12
+ circular: 'circular',
13
+ square: 'square',
14
+ };
15
+ /**
16
+ * The Avatar Appearance when "active"
17
+ */
18
+ export const AvatarAppearance = {
19
+ ring: 'ring',
20
+ shadow: 'shadow',
21
+ ringShadow: 'ring-shadow',
22
+ };
23
+ /**
24
+ * A specific named color for the Avatar
25
+ */
26
+ export const AvatarNamedColor = {
27
+ darkRed: 'dark-red',
28
+ cranberry: 'cranberry',
29
+ red: 'red',
30
+ pumpkin: 'pumpkin',
31
+ peach: 'peach',
32
+ marigold: 'marigold',
33
+ gold: 'gold',
34
+ brass: 'brass',
35
+ brown: 'brown',
36
+ forest: 'forest',
37
+ seafoam: 'seafoam',
38
+ darkGreen: 'dark-green',
39
+ lightTeal: 'light-teal',
40
+ teal: 'teal',
41
+ steel: 'steel',
42
+ blue: 'blue',
43
+ royalBlue: 'royal-blue',
44
+ cornflower: 'cornflower',
45
+ navy: 'navy',
46
+ lavender: 'lavender',
47
+ purple: 'purple',
48
+ grape: 'grape',
49
+ lilac: 'lilac',
50
+ pink: 'pink',
51
+ magenta: 'magenta',
52
+ plum: 'plum',
53
+ beige: 'beige',
54
+ mink: 'mink',
55
+ platinum: 'platinum',
56
+ anchor: 'anchor',
57
+ };
58
+ /**
59
+ * Supported Avatar colors
60
+ */
61
+ export const AvatarColor = {
62
+ neutral: 'neutral',
63
+ brand: 'brand',
64
+ colorful: 'colorful',
65
+ ...AvatarNamedColor,
66
+ };
67
+ /**
68
+ * The Avatar Sizes
69
+ * @public
70
+ */
71
+ export const AvatarSize = {
72
+ _16: 16,
73
+ _20: 20,
74
+ _24: 24,
75
+ _28: 28,
76
+ _32: 32,
77
+ _36: 36,
78
+ _40: 40,
79
+ _48: 48,
80
+ _56: 56,
81
+ _64: 64,
82
+ _72: 72,
83
+ _96: 96,
84
+ _120: 120,
85
+ _128: 128,
86
+ };
87
+ //# sourceMappingURL=avatar.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.options.js","sourceRoot":"","sources":["../../../src/avatar/avatar.options.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAOX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACR,CAAC;AAOX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;CACjB,CAAC;AAOX;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACR,CAAC;AAQX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,GAAG,gBAAgB;CACX,CAAC;AAOX;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACD,CAAC"}