@fluentui/web-components 3.0.0-rc.26 → 3.0.0-rc.27

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 (122) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/README.md +26 -0
  3. package/custom-elements.json +49 -64
  4. package/dist/esm/accordion/accordion.styles.css +11 -7
  5. package/dist/esm/accordion/accordion.template.html +4 -3
  6. package/dist/esm/accordion-item/accordion-item.styles.css +174 -170
  7. package/dist/esm/accordion-item/accordion-item.template.html +38 -31
  8. package/dist/esm/anchor-button/anchor-button.styles.css +224 -223
  9. package/dist/esm/anchor-button/anchor-button.template.html +8 -11
  10. package/dist/esm/avatar/avatar.styles.css +475 -470
  11. package/dist/esm/avatar/avatar.template.html +10 -14
  12. package/dist/esm/badge/badge.styles.css +264 -266
  13. package/dist/esm/badge/badge.template.html +5 -2
  14. package/dist/esm/button/button.base.js +2 -0
  15. package/dist/esm/button/button.base.js.map +1 -1
  16. package/dist/esm/button/button.styles.css +260 -259
  17. package/dist/esm/button/button.template.html +8 -10
  18. package/dist/esm/checkbox/checkbox.base.js +2 -0
  19. package/dist/esm/checkbox/checkbox.base.js.map +1 -1
  20. package/dist/esm/checkbox/checkbox.styles.css +146 -142
  21. package/dist/esm/checkbox/checkbox.template.html +21 -16
  22. package/dist/esm/compound-button/compound-button.styles.css +363 -365
  23. package/dist/esm/compound-button/compound-button.template.html +9 -11
  24. package/dist/esm/counter-badge/counter-badge.styles.css +177 -177
  25. package/dist/esm/counter-badge/counter-badge.template.html +5 -2
  26. package/dist/esm/dialog/dialog.styles.css +65 -66
  27. package/dist/esm/dialog/dialog.template.html +18 -15
  28. package/dist/esm/dialog-body/dialog-body.styles.css +81 -76
  29. package/dist/esm/dialog-body/dialog-body.styles.js +1 -0
  30. package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -1
  31. package/dist/esm/dialog-body/dialog-body.template.html +2 -1
  32. package/dist/esm/divider/divider.styles.css +105 -101
  33. package/dist/esm/divider/divider.template.html +6 -1
  34. package/dist/esm/drawer/drawer.styles.css +124 -119
  35. package/dist/esm/drawer/drawer.template.html +5 -2
  36. package/dist/esm/drawer-body/drawer-body.styles.css +29 -26
  37. package/dist/esm/drawer-body/drawer-body.template.html +5 -2
  38. package/dist/esm/dropdown/dropdown.base.d.ts +1 -1
  39. package/dist/esm/dropdown/dropdown.base.js +3 -1
  40. package/dist/esm/dropdown/dropdown.base.js.map +1 -1
  41. package/dist/esm/dropdown/dropdown.styles.css +192 -190
  42. package/dist/esm/dropdown/dropdown.styles.js +1 -0
  43. package/dist/esm/dropdown/dropdown.styles.js.map +1 -1
  44. package/dist/esm/dropdown/dropdown.template.html +26 -19
  45. package/dist/esm/field/field.styles.css +125 -121
  46. package/dist/esm/field/field.template.html +3 -2
  47. package/dist/esm/image/image.styles.css +49 -50
  48. package/dist/esm/image/image.template.html +6 -1
  49. package/dist/esm/label/label.styles.css +34 -30
  50. package/dist/esm/label/label.template.html +5 -2
  51. package/dist/esm/link/link.styles.css +58 -54
  52. package/dist/esm/link/link.template.html +4 -7
  53. package/dist/esm/listbox/listbox.styles.css +40 -36
  54. package/dist/esm/listbox/listbox.template.html +4 -6
  55. package/dist/esm/menu/menu.styles.css +56 -52
  56. package/dist/esm/menu/menu.template.html +6 -5
  57. package/dist/esm/menu-button/menu-button.styles.css +260 -259
  58. package/dist/esm/menu-button/menu-button.template.html +23 -14
  59. package/dist/esm/menu-item/menu-item.js +2 -0
  60. package/dist/esm/menu-item/menu-item.js.map +1 -1
  61. package/dist/esm/menu-item/menu-item.styles.css +141 -137
  62. package/dist/esm/menu-item/menu-item.template.html +48 -17
  63. package/dist/esm/menu-list/menu-list.styles.css +19 -15
  64. package/dist/esm/menu-list/menu-list.template.html +4 -3
  65. package/dist/esm/message-bar/message-bar.styles.css +83 -84
  66. package/dist/esm/message-bar/message-bar.template.html +7 -2
  67. package/dist/esm/option/option.styles.css +117 -114
  68. package/dist/esm/option/option.template.html +17 -14
  69. package/dist/esm/progress-bar/progress-bar.styles.css +83 -79
  70. package/dist/esm/progress-bar/progress-bar.template.html +4 -1
  71. package/dist/esm/radio/radio.styles.css +100 -96
  72. package/dist/esm/radio/radio.template.html +6 -9
  73. package/dist/esm/radio-group/radio-group.styles.css +45 -41
  74. package/dist/esm/radio-group/radio-group.template.html +11 -10
  75. package/dist/esm/rating-display/rating-display.styles.css +136 -134
  76. package/dist/esm/rating-display/rating-display.template.html +5 -2
  77. package/dist/esm/slider/slider.js +2 -0
  78. package/dist/esm/slider/slider.js.map +1 -1
  79. package/dist/esm/slider/slider.styles.css +186 -182
  80. package/dist/esm/slider/slider.template.html +13 -15
  81. package/dist/esm/spinner/spinner.styles.css +155 -151
  82. package/dist/esm/spinner/spinner.template.html +16 -11
  83. package/dist/esm/switch/switch.styles.css +112 -108
  84. package/dist/esm/switch/switch.template.html +9 -8
  85. package/dist/esm/tab/tab.js +2 -0
  86. package/dist/esm/tab/tab.js.map +1 -1
  87. package/dist/esm/tab/tab.styles.css +112 -108
  88. package/dist/esm/tab/tab.template.html +6 -5
  89. package/dist/esm/tablist/tablist.styles.css +194 -190
  90. package/dist/esm/tablist/tablist.template.html +2 -5
  91. package/dist/esm/text/text.styles.css +105 -101
  92. package/dist/esm/text/text.template.html +6 -1
  93. package/dist/esm/text-input/text-input.base.d.ts +0 -7
  94. package/dist/esm/text-input/text-input.base.js +3 -14
  95. package/dist/esm/text-input/text-input.base.js.map +1 -1
  96. package/dist/esm/text-input/text-input.styles.css +199 -195
  97. package/dist/esm/text-input/text-input.template.html +34 -35
  98. package/dist/esm/text-input/text-input.template.js +1 -4
  99. package/dist/esm/text-input/text-input.template.js.map +1 -1
  100. package/dist/esm/textarea/textarea.base.js +2 -0
  101. package/dist/esm/textarea/textarea.base.js.map +1 -1
  102. package/dist/esm/textarea/textarea.styles.css +254 -250
  103. package/dist/esm/textarea/textarea.template.html +28 -27
  104. package/dist/esm/toggle-button/toggle-button.styles.css +360 -357
  105. package/dist/esm/toggle-button/toggle-button.template.html +8 -10
  106. package/dist/esm/tooltip/tooltip.styles.css +81 -77
  107. package/dist/esm/tooltip/tooltip.template.html +6 -1
  108. package/dist/esm/tree/tree.styles.css +9 -5
  109. package/dist/esm/tree/tree.template.html +3 -2
  110. package/dist/esm/tree-item/tree-item.base.js +2 -0
  111. package/dist/esm/tree-item/tree-item.base.js.map +1 -1
  112. package/dist/esm/tree-item/tree-item.styles.css +157 -153
  113. package/dist/esm/tree-item/tree-item.template.html +8 -7
  114. package/dist/esm/utils/autofocus.d.ts +12 -0
  115. package/dist/esm/utils/autofocus.js +25 -0
  116. package/dist/esm/utils/autofocus.js.map +1 -0
  117. package/dist/web-components-all.js +23 -17
  118. package/dist/web-components-all.min.js +15 -15
  119. package/dist/web-components.d.ts +1 -8
  120. package/dist/web-components.js +23 -17
  121. package/dist/web-components.min.js +15 -15
  122. package/package.json +4 -5
@@ -1,168 +1,172 @@
1
-
2
- :host([hidden]){display:none}:host{display:inline-flex}
3
-
1
+ :host([hidden]) {
2
+ display: none;
3
+ }
4
+ :host {
5
+ display: inline-flex;
6
+ }
7
+
8
+ :host {
9
+ --size: 16px;
10
+ background-color: var(--colorNeutralBackground1);
11
+ border-radius: var(--borderRadiusSmall);
12
+ border: var(--strokeWidthThin) solid var(--colorNeutralStrokeAccessible);
13
+ box-sizing: border-box;
14
+ cursor: pointer;
15
+ position: relative;
16
+ width: var(--size);
17
+ }
18
+
19
+ :host,
20
+ .indeterminate-indicator,
21
+ .checked-indicator {
22
+ aspect-ratio: 1;
23
+ }
24
+
25
+ :host(:hover) {
26
+ border-color: var(--colorNeutralStrokeAccessibleHover);
27
+ }
28
+
29
+ :host(:active) {
30
+ border-color: var(--colorNeutralStrokeAccessiblePressed);
31
+ }
32
+
33
+ :host(:state(checked):hover) {
34
+ background-color: var(--colorCompoundBrandBackgroundHover);
35
+ border-color: var(--colorCompoundBrandStrokeHover);
36
+ }
37
+
38
+ :host(:state(checked):active) {
39
+ background-color: var(--colorCompoundBrandBackgroundPressed);
40
+ border-color: var(--colorCompoundBrandStrokePressed);
41
+ }
42
+
43
+ :host(:focus-visible) {
44
+ outline: none;
45
+ }
46
+
47
+ :host(:not([slot='input']))::after {
48
+ content: '';
49
+ position: absolute;
50
+ inset: -8px;
51
+ box-sizing: border-box;
52
+ outline: none;
53
+ border: var(--strokeWidthThick) solid var(--colorTransparentStroke);
54
+ border-radius: var(--borderRadiusMedium);
55
+ }
56
+
57
+ :host(:not([slot='input']):focus-visible)::after {
58
+ border-color: var(--colorStrokeFocus2);
59
+ }
60
+
61
+ .indeterminate-indicator,
62
+ .checked-indicator {
63
+ color: var(--colorNeutralForegroundInverted);
64
+ inset: 0;
65
+ margin: auto;
66
+ position: absolute;
67
+ }
68
+
69
+ ::slotted([slot='checked-indicator']),
70
+ .checked-indicator {
71
+ fill: currentColor;
72
+ display: inline-flex;
73
+ flex: 1 0 auto;
74
+ width: 12px;
75
+ }
76
+
77
+ :host(:not(:state(checked))) *:is(::slotted([slot='checked-indicator']), .checked-indicator) {
78
+ display: none;
79
+ }
80
+
81
+ :host(:state(checked)),
82
+ :host(:state(indeterminate)) {
83
+ border-color: var(--colorCompoundBrandStroke);
84
+ }
85
+
86
+ :host(:state(checked)),
87
+ :host(:state(indeterminate)) .indeterminate-indicator {
88
+ background-color: var(--colorCompoundBrandBackground);
89
+ }
90
+
91
+ :host(:state(indeterminate)) .indeterminate-indicator {
92
+ border-radius: var(--borderRadiusSmall);
93
+ position: absolute;
94
+ width: calc(var(--size) / 2);
95
+ inset: 0;
96
+ }
97
+
98
+ :host([size='large']) {
99
+ --size: 20px;
100
+ }
101
+
102
+ :host([size='large']) ::slotted([slot='checked-indicator']),
103
+ :host([size='large']) .checked-indicator {
104
+ width: 16px;
105
+ }
106
+
107
+ :host([shape='circular']),
108
+ :host([shape='circular']) .indeterminate-indicator {
109
+ border-radius: var(--borderRadiusCircular);
110
+ }
111
+
112
+ :host([disabled]),
113
+ :host([disabled]:state(checked)) {
114
+ background-color: var(--colorNeutralBackgroundDisabled);
115
+ border-color: var(--colorNeutralStrokeDisabled);
116
+ }
117
+
118
+ :host([disabled]) {
119
+ cursor: unset;
120
+ }
121
+
122
+ :host([disabled]:state(indeterminate)) .indeterminate-indicator {
123
+ background-color: var(--colorNeutralStrokeDisabled);
124
+ }
125
+
126
+ :host([disabled]:state(checked)) .checked-indicator {
127
+ color: var(--colorNeutralStrokeDisabled);
128
+ }
129
+
130
+ @media (forced-colors: active) {
4
131
  :host {
5
- --size: 16px;
6
- background-color: var(--colorNeutralBackground1);
7
- border-radius: var(--borderRadiusSmall);
8
- border: var(--strokeWidthThin) solid var(--colorNeutralStrokeAccessible);
9
- box-sizing: border-box;
10
- cursor: pointer;
11
- position: relative;
12
- width: var(--size);
13
- }
14
-
15
- :host,
16
- .indeterminate-indicator,
17
- .checked-indicator {
18
- aspect-ratio: 1;
19
- }
20
-
21
- :host(:hover) {
22
- border-color: var(--colorNeutralStrokeAccessibleHover);
23
- }
24
-
25
- :host(:active) {
26
- border-color: var(--colorNeutralStrokeAccessiblePressed);
132
+ border-color: FieldText;
27
133
  }
28
134
 
29
- :host(:state(checked):hover) {
30
- background-color: var(--colorCompoundBrandBackgroundHover);
31
- border-color: var(--colorCompoundBrandStrokeHover);
32
- }
33
-
34
- :host(:state(checked):active) {
35
- background-color: var(--colorCompoundBrandBackgroundPressed);
36
- border-color: var(--colorCompoundBrandStrokePressed);
37
- }
38
-
39
- :host(:focus-visible) {
40
- outline: none;
41
- }
42
-
43
- :host(:not([slot='input']))::after {
44
- content: '';
45
- position: absolute;
46
- inset: -8px;
47
- box-sizing: border-box;
48
- outline: none;
49
- border: var(--strokeWidthThick) solid var(--colorTransparentStroke);
50
- border-radius: var(--borderRadiusMedium);
135
+ :host(:not([slot='input']:focus-visible))::after {
136
+ border-color: Canvas;
51
137
  }
52
138
 
139
+ :host(:not([disabled]):hover),
140
+ :host(:state(checked):not([disabled]):hover),
53
141
  :host(:not([slot='input']):focus-visible)::after {
54
- border-color: var(--colorStrokeFocus2);
142
+ border-color: Highlight;
55
143
  }
56
144
 
57
145
  .indeterminate-indicator,
58
146
  .checked-indicator {
59
- color: var(--colorNeutralForegroundInverted);
60
- inset: 0;
61
- margin: auto;
62
- position: absolute;
63
- }
64
-
65
- ::slotted([slot='checked-indicator']),
66
- .checked-indicator {
67
- fill: currentColor;
68
- display: inline-flex;
69
- flex: 1 0 auto;
70
- width: 12px;
71
- }
72
-
73
- :host(:not(:state(checked))) *:is(::slotted([slot='checked-indicator']), .checked-indicator) {
74
- display: none;
75
- }
76
-
77
- :host(:state(checked)),
78
- :host(:state(indeterminate)) {
79
- border-color: var(--colorCompoundBrandStroke);
147
+ color: HighlightText;
80
148
  }
81
149
 
82
150
  :host(:state(checked)),
83
151
  :host(:state(indeterminate)) .indeterminate-indicator {
84
- background-color: var(--colorCompoundBrandBackground);
85
- }
86
-
87
- :host(:state(indeterminate)) .indeterminate-indicator {
88
- border-radius: var(--borderRadiusSmall);
89
- position: absolute;
90
- width: calc(var(--size) / 2);
91
- inset: 0;
92
- }
93
-
94
- :host([size='large']) {
95
- --size: 20px;
96
- }
97
-
98
- :host([size='large']) ::slotted([slot='checked-indicator']),
99
- :host([size='large']) .checked-indicator {
100
- width: 16px;
152
+ background-color: FieldText;
101
153
  }
102
154
 
103
- :host([shape='circular']),
104
- :host([shape='circular']) .indeterminate-indicator {
105
- border-radius: var(--borderRadiusCircular);
106
- }
107
-
108
- :host([disabled]),
109
- :host([disabled]:state(checked)) {
110
- background-color: var(--colorNeutralBackgroundDisabled);
111
- border-color: var(--colorNeutralStrokeDisabled);
155
+ :host(:state(checked):not([disabled]):hover),
156
+ :host(:state(indeterminate):not([disabled]):hover) .indeterminate-indicator {
157
+ background-color: Highlight;
112
158
  }
113
159
 
114
160
  :host([disabled]) {
115
- cursor: unset;
161
+ border-color: GrayText;
116
162
  }
117
163
 
118
164
  :host([disabled]:state(indeterminate)) .indeterminate-indicator {
119
- background-color: var(--colorNeutralStrokeDisabled);
165
+ background-color: GrayText;
120
166
  }
121
167
 
168
+ :host([disabled]),
122
169
  :host([disabled]:state(checked)) .checked-indicator {
123
- color: var(--colorNeutralStrokeDisabled);
124
- }
125
-
126
- @media (forced-colors: active) {
127
- :host {
128
- border-color: FieldText;
129
- }
130
-
131
- :host(:not([slot='input']:focus-visible))::after {
132
- border-color: Canvas;
133
- }
134
-
135
- :host(:not([disabled]):hover),
136
- :host(:state(checked):not([disabled]):hover),
137
- :host(:not([slot='input']):focus-visible)::after {
138
- border-color: Highlight;
139
- }
140
-
141
- .indeterminate-indicator,
142
- .checked-indicator {
143
- color: HighlightText;
144
- }
145
-
146
- :host(:state(checked)),
147
- :host(:state(indeterminate)) .indeterminate-indicator {
148
- background-color: FieldText;
149
- }
150
-
151
- :host(:state(checked):not([disabled]):hover),
152
- :host(:state(indeterminate):not([disabled]):hover) .indeterminate-indicator {
153
- background-color: Highlight;
154
- }
155
-
156
- :host([disabled]) {
157
- border-color: GrayText;
158
- }
159
-
160
- :host([disabled]:state(indeterminate)) .indeterminate-indicator {
161
- background-color: GrayText;
162
- }
163
-
164
- :host([disabled]),
165
- :host([disabled]:state(checked)) .checked-indicator {
166
- color: GrayText;
167
- }
170
+ color: GrayText;
168
171
  }
172
+ }
@@ -1,24 +1,29 @@
1
1
  <f-template name="fluent-checkbox" shadowrootmode="open">
2
- <template
3
- @click="{clickHandler($e)}"
4
- @input="{inputHandler($e)}"
5
- @keydown="{keydownHandler($e)}"
6
- @keyup="{keyupHandler($e)}"
7
- >{{styles}}
8
- <slot name="checked-indicator">
9
- <svg
2
+ <template
3
+ @click="{clickHandler($e)}"
4
+ @input="{inputHandler($e)}"
5
+ @keydown="{keydownHandler($e)}"
6
+ @keyup="{keyupHandler($e)}"
7
+ >
8
+ {{styles}}
9
+ <slot name="checked-indicator">
10
+ <svg
10
11
  fill="currentColor"
11
12
  aria-hidden="true"
12
13
  class="checked-indicator"
13
14
  width="1em"
14
15
  height="1em"
15
16
  viewBox="0 0 12 12"
16
- xmlns="http://www.w3.org/2000/svg">
17
- <path d="M9.76 3.2c.3.29.32.76.04 1.06l-4.25 4.5a.75.75 0 0 1-1.08.02L2.22 6.53a.75.75 0 0 1 1.06-1.06l1.7 1.7L8.7 3.24a.75.75 0 0 1 1.06-.04Z" fill="currentColor"></path>
18
- </svg>
19
- </slot>
20
- <slot name="indeterminate-indicator">
21
- <span class="indeterminate-indicator"></span>
22
- </slot>
23
- </template>
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ >
19
+ <path
20
+ d="M9.76 3.2c.3.29.32.76.04 1.06l-4.25 4.5a.75.75 0 0 1-1.08.02L2.22 6.53a.75.75 0 0 1 1.06-1.06l1.7 1.7L8.7 3.24a.75.75 0 0 1 1.06-.04Z"
21
+ fill="currentColor"
22
+ ></path>
23
+ </svg>
24
+ </slot>
25
+ <slot name="indeterminate-indicator">
26
+ <span class="indeterminate-indicator"></span>
27
+ </slot>
28
+ </template>
24
29
  </f-template>