@fluentui/web-components 3.0.0-rc.25 → 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 (207) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/README.md +26 -0
  3. package/custom-elements.json +723 -356
  4. package/dist/esm/accordion/accordion.d.ts +1 -1
  5. package/dist/esm/accordion/accordion.js +1 -1
  6. package/dist/esm/accordion/accordion.styles.css +11 -7
  7. package/dist/esm/accordion/accordion.template.html +4 -3
  8. package/dist/esm/accordion-item/accordion-item.d.ts +2 -2
  9. package/dist/esm/accordion-item/accordion-item.js +2 -0
  10. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  11. package/dist/esm/accordion-item/accordion-item.styles.css +174 -170
  12. package/dist/esm/accordion-item/accordion-item.template.html +38 -31
  13. package/dist/esm/anchor-button/anchor-button.d.ts +2 -2
  14. package/dist/esm/anchor-button/anchor-button.js +2 -0
  15. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  16. package/dist/esm/anchor-button/anchor-button.styles.css +224 -223
  17. package/dist/esm/anchor-button/anchor-button.template.html +8 -11
  18. package/dist/esm/avatar/avatar.d.ts +2 -0
  19. package/dist/esm/avatar/avatar.js +3 -1
  20. package/dist/esm/avatar/avatar.js.map +1 -1
  21. package/dist/esm/avatar/avatar.styles.css +475 -470
  22. package/dist/esm/avatar/avatar.template.html +10 -14
  23. package/dist/esm/badge/badge.d.ts +6 -1
  24. package/dist/esm/badge/badge.js +6 -1
  25. package/dist/esm/badge/badge.js.map +1 -1
  26. package/dist/esm/badge/badge.styles.css +264 -266
  27. package/dist/esm/badge/badge.template.html +5 -2
  28. package/dist/esm/button/button.base.d.ts +0 -9
  29. package/dist/esm/button/button.base.js +2 -3
  30. package/dist/esm/button/button.base.js.map +1 -1
  31. package/dist/esm/button/button.styles.css +260 -259
  32. package/dist/esm/button/button.template.html +8 -10
  33. package/dist/esm/checkbox/checkbox.base.d.ts +3 -9
  34. package/dist/esm/checkbox/checkbox.base.js +5 -3
  35. package/dist/esm/checkbox/checkbox.base.js.map +1 -1
  36. package/dist/esm/checkbox/checkbox.d.ts +2 -2
  37. package/dist/esm/checkbox/checkbox.js +2 -2
  38. package/dist/esm/checkbox/checkbox.styles.css +146 -142
  39. package/dist/esm/checkbox/checkbox.template.html +21 -16
  40. package/dist/esm/compound-button/compound-button.d.ts +3 -0
  41. package/dist/esm/compound-button/compound-button.js +3 -0
  42. package/dist/esm/compound-button/compound-button.js.map +1 -1
  43. package/dist/esm/compound-button/compound-button.styles.css +363 -365
  44. package/dist/esm/compound-button/compound-button.template.html +9 -11
  45. package/dist/esm/counter-badge/counter-badge.d.ts +3 -0
  46. package/dist/esm/counter-badge/counter-badge.js +3 -0
  47. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  48. package/dist/esm/counter-badge/counter-badge.styles.css +177 -177
  49. package/dist/esm/counter-badge/counter-badge.template.html +5 -2
  50. package/dist/esm/dialog/dialog.d.ts +4 -0
  51. package/dist/esm/dialog/dialog.js +4 -0
  52. package/dist/esm/dialog/dialog.js.map +1 -1
  53. package/dist/esm/dialog/dialog.styles.css +65 -66
  54. package/dist/esm/dialog/dialog.template.html +18 -15
  55. package/dist/esm/dialog-body/dialog-body.d.ts +9 -0
  56. package/dist/esm/dialog-body/dialog-body.js +9 -0
  57. package/dist/esm/dialog-body/dialog-body.js.map +1 -1
  58. package/dist/esm/dialog-body/dialog-body.styles.css +81 -76
  59. package/dist/esm/dialog-body/dialog-body.styles.js +1 -0
  60. package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -1
  61. package/dist/esm/dialog-body/dialog-body.template.html +2 -1
  62. package/dist/esm/divider/divider.styles.css +105 -101
  63. package/dist/esm/divider/divider.template.html +6 -1
  64. package/dist/esm/drawer/drawer.d.ts +3 -4
  65. package/dist/esm/drawer/drawer.js +3 -4
  66. package/dist/esm/drawer/drawer.js.map +1 -1
  67. package/dist/esm/drawer/drawer.styles.css +124 -120
  68. package/dist/esm/drawer/drawer.styles.js +16 -17
  69. package/dist/esm/drawer/drawer.styles.js.map +1 -1
  70. package/dist/esm/drawer/drawer.template.html +5 -2
  71. package/dist/esm/drawer-body/drawer-body.styles.css +29 -26
  72. package/dist/esm/drawer-body/drawer-body.template.html +5 -2
  73. package/dist/esm/dropdown/dropdown.base.d.ts +3 -1
  74. package/dist/esm/dropdown/dropdown.base.js +5 -1
  75. package/dist/esm/dropdown/dropdown.base.js.map +1 -1
  76. package/dist/esm/dropdown/dropdown.styles.css +192 -190
  77. package/dist/esm/dropdown/dropdown.styles.js +1 -0
  78. package/dist/esm/dropdown/dropdown.styles.js.map +1 -1
  79. package/dist/esm/dropdown/dropdown.template.html +26 -19
  80. package/dist/esm/field/field.d.ts +7 -0
  81. package/dist/esm/field/field.js +7 -0
  82. package/dist/esm/field/field.js.map +1 -1
  83. package/dist/esm/field/field.styles.css +125 -121
  84. package/dist/esm/field/field.template.html +3 -2
  85. package/dist/esm/image/image.d.ts +2 -0
  86. package/dist/esm/image/image.js +2 -0
  87. package/dist/esm/image/image.js.map +1 -1
  88. package/dist/esm/image/image.styles.css +49 -50
  89. package/dist/esm/image/image.template.html +6 -1
  90. package/dist/esm/label/label.d.ts +3 -0
  91. package/dist/esm/label/label.js +3 -0
  92. package/dist/esm/label/label.js.map +1 -1
  93. package/dist/esm/label/label.styles.css +34 -30
  94. package/dist/esm/label/label.template.html +5 -2
  95. package/dist/esm/link/link.styles.css +58 -54
  96. package/dist/esm/link/link.template.html +4 -7
  97. package/dist/esm/listbox/listbox.styles.css +40 -36
  98. package/dist/esm/listbox/listbox.template.html +4 -6
  99. package/dist/esm/menu/menu.styles.css +56 -52
  100. package/dist/esm/menu/menu.template.html +6 -5
  101. package/dist/esm/menu-button/menu-button.styles.css +260 -259
  102. package/dist/esm/menu-button/menu-button.template.html +23 -14
  103. package/dist/esm/menu-item/menu-item.d.ts +1 -1
  104. package/dist/esm/menu-item/menu-item.js +3 -1
  105. package/dist/esm/menu-item/menu-item.js.map +1 -1
  106. package/dist/esm/menu-item/menu-item.styles.css +141 -137
  107. package/dist/esm/menu-item/menu-item.template.html +48 -17
  108. package/dist/esm/menu-list/menu-list.styles.css +19 -15
  109. package/dist/esm/menu-list/menu-list.template.html +4 -3
  110. package/dist/esm/message-bar/message-bar.d.ts +2 -0
  111. package/dist/esm/message-bar/message-bar.js +2 -0
  112. package/dist/esm/message-bar/message-bar.js.map +1 -1
  113. package/dist/esm/message-bar/message-bar.styles.css +83 -84
  114. package/dist/esm/message-bar/message-bar.template.html +7 -2
  115. package/dist/esm/option/option.d.ts +3 -0
  116. package/dist/esm/option/option.js +3 -0
  117. package/dist/esm/option/option.js.map +1 -1
  118. package/dist/esm/option/option.styles.css +117 -114
  119. package/dist/esm/option/option.template.html +17 -14
  120. package/dist/esm/progress-bar/progress-bar.base.d.ts +3 -3
  121. package/dist/esm/progress-bar/progress-bar.d.ts +1 -0
  122. package/dist/esm/progress-bar/progress-bar.js +1 -0
  123. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  124. package/dist/esm/progress-bar/progress-bar.styles.css +83 -79
  125. package/dist/esm/progress-bar/progress-bar.template.html +4 -1
  126. package/dist/esm/radio/radio.d.ts +3 -2
  127. package/dist/esm/radio/radio.js +3 -2
  128. package/dist/esm/radio/radio.js.map +1 -1
  129. package/dist/esm/radio/radio.styles.css +100 -96
  130. package/dist/esm/radio/radio.template.html +6 -9
  131. package/dist/esm/radio-group/radio-group.base.d.ts +2 -0
  132. package/dist/esm/radio-group/radio-group.base.js +2 -0
  133. package/dist/esm/radio-group/radio-group.base.js.map +1 -1
  134. package/dist/esm/radio-group/radio-group.d.ts +1 -0
  135. package/dist/esm/radio-group/radio-group.js +1 -0
  136. package/dist/esm/radio-group/radio-group.js.map +1 -1
  137. package/dist/esm/radio-group/radio-group.styles.css +45 -41
  138. package/dist/esm/radio-group/radio-group.template.html +11 -10
  139. package/dist/esm/rating-display/rating-display.styles.css +136 -134
  140. package/dist/esm/rating-display/rating-display.template.html +5 -2
  141. package/dist/esm/slider/slider.d.ts +1 -1
  142. package/dist/esm/slider/slider.js +3 -1
  143. package/dist/esm/slider/slider.js.map +1 -1
  144. package/dist/esm/slider/slider.styles.css +186 -182
  145. package/dist/esm/slider/slider.template.html +13 -15
  146. package/dist/esm/spinner/spinner.styles.css +155 -151
  147. package/dist/esm/spinner/spinner.template.html +16 -11
  148. package/dist/esm/switch/switch.d.ts +1 -0
  149. package/dist/esm/switch/switch.js +1 -0
  150. package/dist/esm/switch/switch.js.map +1 -1
  151. package/dist/esm/switch/switch.styles.css +112 -108
  152. package/dist/esm/switch/switch.template.html +9 -8
  153. package/dist/esm/tab/tab.js +2 -0
  154. package/dist/esm/tab/tab.js.map +1 -1
  155. package/dist/esm/tab/tab.styles.css +112 -108
  156. package/dist/esm/tab/tab.template.html +6 -5
  157. package/dist/esm/tablist/tablist.d.ts +1 -0
  158. package/dist/esm/tablist/tablist.js +1 -0
  159. package/dist/esm/tablist/tablist.js.map +1 -1
  160. package/dist/esm/tablist/tablist.styles.css +194 -190
  161. package/dist/esm/tablist/tablist.template.html +2 -5
  162. package/dist/esm/text/text.d.ts +2 -0
  163. package/dist/esm/text/text.js +2 -0
  164. package/dist/esm/text/text.js.map +1 -1
  165. package/dist/esm/text/text.styles.css +105 -101
  166. package/dist/esm/text/text.template.html +6 -1
  167. package/dist/esm/text-input/text-input.base.d.ts +4 -16
  168. package/dist/esm/text-input/text-input.base.js +7 -17
  169. package/dist/esm/text-input/text-input.base.js.map +1 -1
  170. package/dist/esm/text-input/text-input.d.ts +2 -0
  171. package/dist/esm/text-input/text-input.js +2 -0
  172. package/dist/esm/text-input/text-input.js.map +1 -1
  173. package/dist/esm/text-input/text-input.styles.css +199 -195
  174. package/dist/esm/text-input/text-input.template.html +34 -36
  175. package/dist/esm/text-input/text-input.template.js +1 -5
  176. package/dist/esm/text-input/text-input.template.js.map +1 -1
  177. package/dist/esm/textarea/textarea.base.d.ts +2 -2
  178. package/dist/esm/textarea/textarea.base.js +4 -2
  179. package/dist/esm/textarea/textarea.base.js.map +1 -1
  180. package/dist/esm/textarea/textarea.styles.css +254 -250
  181. package/dist/esm/textarea/textarea.template.html +28 -27
  182. package/dist/esm/toggle-button/toggle-button.styles.css +360 -357
  183. package/dist/esm/toggle-button/toggle-button.template.html +8 -10
  184. package/dist/esm/tooltip/tooltip.d.ts +2 -0
  185. package/dist/esm/tooltip/tooltip.js +2 -0
  186. package/dist/esm/tooltip/tooltip.js.map +1 -1
  187. package/dist/esm/tooltip/tooltip.styles.css +81 -77
  188. package/dist/esm/tooltip/tooltip.template.html +6 -1
  189. package/dist/esm/tree/tree.styles.css +9 -5
  190. package/dist/esm/tree/tree.template.html +3 -2
  191. package/dist/esm/tree-item/tree-item.base.d.ts +9 -0
  192. package/dist/esm/tree-item/tree-item.base.js +11 -0
  193. package/dist/esm/tree-item/tree-item.base.js.map +1 -1
  194. package/dist/esm/tree-item/tree-item.d.ts +15 -0
  195. package/dist/esm/tree-item/tree-item.js +15 -0
  196. package/dist/esm/tree-item/tree-item.js.map +1 -1
  197. package/dist/esm/tree-item/tree-item.styles.css +157 -153
  198. package/dist/esm/tree-item/tree-item.template.html +8 -7
  199. package/dist/esm/utils/autofocus.d.ts +12 -0
  200. package/dist/esm/utils/autofocus.js +25 -0
  201. package/dist/esm/utils/autofocus.js.map +1 -0
  202. package/dist/web-components-all.js +24 -27
  203. package/dist/web-components-all.min.js +15 -15
  204. package/dist/web-components.d.ts +110 -54
  205. package/dist/web-components.js +24 -27
  206. package/dist/web-components.min.js +15 -15
  207. package/package.json +6 -6
@@ -1,220 +1,222 @@
1
+ :host([hidden]) {
2
+ display: none;
3
+ }
4
+ :host {
5
+ display: inline-flex;
6
+ }
7
+
8
+ :host {
9
+ box-sizing: border-box;
10
+ color: var(--colorNeutralForeground1);
11
+ cursor: pointer;
12
+ }
13
+
14
+ :host(:state(placeholder-shown)) {
15
+ color: var(--colorNeutralForeground4);
16
+ }
17
+
18
+ .control {
19
+ appearance: none;
20
+ background-color: var(--colorNeutralBackground1);
21
+ border-radius: var(--borderRadiusMedium);
22
+ border: var(--strokeWidthThin) solid var(--colorTransparentStroke);
23
+ box-shadow: inset 0 0 0 var(--strokeWidthThin) var(--control-border-color);
24
+ box-sizing: border-box;
25
+ color: inherit;
26
+ column-gap: var(--spacingHorizontalXXS);
27
+ display: inline-flex;
28
+ justify-content: space-between;
29
+ min-width: 160px;
30
+ overflow: hidden;
31
+ padding: var(--spacingVerticalSNudge) var(--spacingHorizontalMNudge);
32
+ white-space: normal;
33
+ position: relative;
34
+ text-align: start;
35
+ width: 100%;
36
+ z-index: 1;
1
37
 
2
- :host([hidden]){display:none}:host{display:inline-flex}
3
-
4
- :host {
5
- box-sizing: border-box;
6
- color: var(--colorNeutralForeground1);
7
- cursor: pointer;
8
- }
9
-
10
- :host(:state(placeholder-shown)) {
11
- color: var(--colorNeutralForeground4);
12
- }
13
-
14
- .control {
15
- appearance: none;
16
- background-color: var(--colorNeutralBackground1);
17
- border-radius: var(--borderRadiusMedium);
18
- border: var(--strokeWidthThin) solid var(--colorTransparentStroke);
19
- box-shadow: inset 0 0 0 var(--strokeWidthThin) var(--control-border-color);
20
- box-sizing: border-box;
21
- color: inherit;
22
- column-gap: var(--spacingHorizontalXXS);
23
- display: inline-flex;
24
- justify-content: space-between;
25
- min-width: 160px;
26
- overflow: hidden;
27
- padding: var(--spacingVerticalSNudge) var(--spacingHorizontalMNudge);
28
- white-space: normal;
29
- position: relative;
30
- text-align: start;
31
- width: 100%;
32
- z-index: 1;
33
-
34
38
  font-family: var(--fontFamilyBase);
35
39
  font-size: var(--fontSizeBase300);
36
40
  line-height: var(--lineHeightBase300);
37
41
  font-weight: var(--fontWeightRegular);
42
+ }
38
43
 
39
- }
44
+ :host([size='small']) .control {
45
+ column-gap: var(--spacingHorizontalXXS);
46
+ padding: var(--spacingVerticalXS) var(--spacingHorizontalSNudge);
40
47
 
41
- :host([size='small']) .control {
42
- column-gap: var(--spacingHorizontalXXS);
43
- padding: var(--spacingVerticalXS) var(--spacingHorizontalSNudge);
44
-
45
48
  font-family: var(--fontFamilyBase);
46
49
  font-size: var(--fontSizeBase200);
47
50
  line-height: var(--lineHeightBase200);
48
51
  font-weight: var(--fontWeightRegular);
52
+ }
49
53
 
50
- }
54
+ :host([size='large']) .control {
55
+ column-gap: var(--spacingHorizontalS);
56
+ padding: var(--spacingVerticalS) var(--spacingHorizontalM);
51
57
 
52
- :host([size='large']) .control {
53
- column-gap: var(--spacingHorizontalS);
54
- padding: var(--spacingVerticalS) var(--spacingHorizontalM);
55
-
56
58
  font-family: var(--fontFamilyBase);
57
59
  font-size: var(--fontSizeBase400);
58
60
  line-height: var(--lineHeightBase400);
59
61
  font-weight: var(--fontWeightRegular);
60
-
61
- }
62
-
63
- ::slotted(:is(input, button)) {
64
- all: unset;
65
- flex: 1 1 auto;
66
- }
67
-
68
- ::slotted(button) {
69
- cursor: pointer;
70
- }
71
-
72
- ::slotted(input) {
73
- cursor: text;
74
- }
75
-
76
- :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
77
- all: unset;
78
- align-items: center;
79
- appearance: none;
80
- aspect-ratio: 1;
81
- color: var(--colorNeutralForeground3);
82
- display: inline-flex;
83
- justify-content: center;
84
- width: 20px;
85
- }
86
-
87
- :host([size='small']) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
88
- width: 16px;
89
- }
90
-
91
- :host([size='large']) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
92
- width: 24px;
93
- }
94
-
95
- .control::after,
96
- .control::before {
97
- content: '' / '';
98
- inset: auto 0 0;
99
- pointer-events: none;
100
- position: absolute;
101
- }
102
-
103
- .control::before {
104
- height: var(--strokeWidthThin);
105
- }
106
-
107
- .control::after {
108
- background-color: var(--colorCompoundBrandStroke);
109
- height: var(--strokeWidthThick);
110
- scale: 0 1;
111
- transition: scale var(--durationUltraFast) var(--curveDecelerateMid);
112
- }
113
-
114
- /**
62
+ }
63
+
64
+ ::slotted(:is(input, button)) {
65
+ all: unset;
66
+ flex: 1 1 auto;
67
+ }
68
+
69
+ ::slotted(button) {
70
+ cursor: pointer;
71
+ }
72
+
73
+ ::slotted(input) {
74
+ cursor: text;
75
+ }
76
+
77
+ :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
78
+ all: unset;
79
+ align-items: center;
80
+ appearance: none;
81
+ aspect-ratio: 1;
82
+ color: var(--colorNeutralForeground3);
83
+ display: inline-flex;
84
+ justify-content: center;
85
+ width: 20px;
86
+ }
87
+
88
+ :host([size='small']) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
89
+ width: 16px;
90
+ }
91
+
92
+ :host([size='large']) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
93
+ width: 24px;
94
+ }
95
+
96
+ .control::after,
97
+ .control::before {
98
+ content: '' / '';
99
+ inset: auto 0 0;
100
+ pointer-events: none;
101
+ position: absolute;
102
+ }
103
+
104
+ .control::before {
105
+ height: var(--strokeWidthThin);
106
+ }
107
+
108
+ .control::after {
109
+ background-color: var(--colorCompoundBrandStroke);
110
+ height: var(--strokeWidthThick);
111
+ scale: 0 1;
112
+ transition: scale var(--durationUltraFast) var(--curveDecelerateMid);
113
+ }
114
+
115
+ /**
115
116
  * focus-ring style uses lingering :focus-within selector due to platform limitations
116
117
  * TODO: Convert selector to `:host(:has(:focus-visible)) .control` when browser support increases
117
118
  * ISSUE: https://issues.chromium.org/issues/40062355
118
119
  */
119
- :host(:where(:focus-within)) .control {
120
- border-radius: var(--borderRadiusMedium);
121
- box-shadow: inset 0 0 0 1px var(--colorStrokeFocus1);
122
- outline: var(--strokeWidthThick) solid var(--colorStrokeFocus2);
123
- }
124
-
125
- :host(:where(:state(open), :focus-within)) .control::after {
126
- scale: 1 1;
127
- transition-duration: var(--durationNormal);
128
- transition-timing-function: var(--curveAccelerateMid);
129
- }
130
-
131
- :host(:where([appearance='outline'], [appearance='transparent'])) .control::before {
132
- background-color: var(--colorNeutralStrokeAccessible);
133
- }
134
-
135
- :host([appearance='transparent']) .control {
136
- --control-border-color: var(--colorTransparentStrokeInteractive);
137
- background-color: var(--colorTransparentBackground);
138
- border-radius: var(--borderRadiusNone);
139
- }
140
-
141
- :host([appearance='outline']) .control {
142
- --control-border-color: var(--colorNeutralStroke1);
143
- }
144
-
145
- :host([appearance='outline']) .control:hover {
146
- --control-border-color: var(--colorNeutralStroke1Hover);
147
- }
148
-
149
- :host(:where([appearance='outline'], [appearance='transparent'])) .control:hover::before {
150
- background-color: var(--colorNeutralStrokeAccessibleHover);
151
- }
152
-
153
- :host([appearance='outline']) .control:hover::after {
154
- background-color: var(--colorCompoundBrandBackgroundHover);
155
- }
156
-
157
- :host([appearance='outline']) .control:active {
158
- --control-border-color: var(--colorNeutralStroke1Pressed);
159
- }
160
-
161
- :host(:where([appearance='outline'], [appearance='transparent'])) .control:active::before {
162
- background-color: var(--colorNeutralStrokeAccessiblePressed);
163
- }
164
-
165
- :host(:where([appearance='outline'], [appearance='transparent'])) .control:active::after {
166
- background-color: var(--colorCompoundBrandBackgroundPressed);
167
- }
168
-
169
- :host([appearance='filled-darker']) .control {
170
- background-color: var(--colorNeutralBackground3);
120
+ :host(:where(:focus-within)) .control {
121
+ border-radius: var(--borderRadiusMedium);
122
+ box-shadow: inset 0 0 0 1px var(--colorStrokeFocus1);
123
+ outline: var(--strokeWidthThick) solid var(--colorStrokeFocus2);
124
+ }
125
+
126
+ :host(:where(:state(open), :focus-within)) .control::after {
127
+ scale: 1 1;
128
+ transition-duration: var(--durationNormal);
129
+ transition-timing-function: var(--curveAccelerateMid);
130
+ }
131
+
132
+ :host(:where([appearance='outline'], [appearance='transparent'])) .control::before {
133
+ background-color: var(--colorNeutralStrokeAccessible);
134
+ }
135
+
136
+ :host([appearance='transparent']) .control {
137
+ --control-border-color: var(--colorTransparentStrokeInteractive);
138
+ background-color: var(--colorTransparentBackground);
139
+ border-radius: var(--borderRadiusNone);
140
+ }
141
+
142
+ :host([appearance='outline']) .control {
143
+ --control-border-color: var(--colorNeutralStroke1);
144
+ }
145
+
146
+ :host([appearance='outline']) .control:hover {
147
+ --control-border-color: var(--colorNeutralStroke1Hover);
148
+ }
149
+
150
+ :host(:where([appearance='outline'], [appearance='transparent'])) .control:hover::before {
151
+ background-color: var(--colorNeutralStrokeAccessibleHover);
152
+ }
153
+
154
+ :host([appearance='outline']) .control:hover::after {
155
+ background-color: var(--colorCompoundBrandBackgroundHover);
156
+ }
157
+
158
+ :host([appearance='outline']) .control:active {
159
+ --control-border-color: var(--colorNeutralStroke1Pressed);
160
+ }
161
+
162
+ :host(:where([appearance='outline'], [appearance='transparent'])) .control:active::before {
163
+ background-color: var(--colorNeutralStrokeAccessiblePressed);
164
+ }
165
+
166
+ :host(:where([appearance='outline'], [appearance='transparent'])) .control:active::after {
167
+ background-color: var(--colorCompoundBrandBackgroundPressed);
168
+ }
169
+
170
+ :host([appearance='filled-darker']) .control {
171
+ background-color: var(--colorNeutralBackground3);
172
+ }
173
+
174
+ :host(:where([appearance='filled-lighter'], [appearance='filled-darker'])) .control {
175
+ --control-border-color: var(--colorTransparentStroke);
176
+ }
177
+
178
+ :host(:disabled),
179
+ :host(:disabled) ::slotted(:where(button, input)) {
180
+ cursor: not-allowed;
181
+ }
182
+
183
+ :host(:disabled) .control::before,
184
+ :host(:disabled) .control::after {
185
+ content: none;
186
+ }
187
+
188
+ :host(:disabled) .control:is(*, :active, :hover),
189
+ :host(:disabled) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
190
+ --control-border-color: var(--colorNeutralStrokeDisabled);
191
+ background-color: var(--colorNeutralBackgroundDisabled);
192
+ color: var(--colorNeutralForegroundDisabled);
193
+ }
194
+
195
+ ::slotted(:not([slot]):not([popover])),
196
+ ::slotted([popover]:not(:popover-open)) {
197
+ display: none;
198
+ }
199
+
200
+ @supports not (anchor-name: --anchor) {
201
+ :host {
202
+ --listbox-max-height: 50vh;
203
+ --margin-offset: calc(var(--lineHeightBase300) + (var(--spacingVerticalSNudge) * 2) + var(--strokeWidthThin));
171
204
  }
172
205
 
173
- :host(:where([appearance='filled-lighter'], [appearance='filled-darker'])) .control {
174
- --control-border-color: var(--colorTransparentStroke);
206
+ :host([size='small']) {
207
+ --margin-offset: calc(var(--lineHeightBase200) + (var(--spacingVerticalXS) * 2) + var(--strokeWidthThin));
175
208
  }
176
209
 
177
- :host(:disabled),
178
- :host(:disabled) ::slotted(:where(button, input)) {
179
- cursor: not-allowed;
210
+ :host([size='large']) {
211
+ --margin-offset: calc(var(--lineHeightBase400) + (var(--spacingVerticalS) * 2) + var(--strokeWidthThin));
180
212
  }
213
+ }
181
214
 
182
- :host(:disabled) .control::before,
183
- :host(:disabled) .control::after {
184
- content: none;
215
+ @media (forced-colors: active) {
216
+ :host(:disabled) .control {
217
+ border-color: GrayText;
185
218
  }
186
-
187
- :host(:disabled) .control:is(*, :active, :hover),
188
219
  :host(:disabled) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
189
- --control-border-color: var(--colorNeutralStrokeDisabled);
190
- background-color: var(--colorNeutralBackgroundDisabled);
191
- color: var(--colorNeutralForegroundDisabled);
220
+ color: GrayText;
192
221
  }
193
-
194
- ::slotted(:not([slot]):not([popover])),
195
- ::slotted([popover]:not(:popover-open)) {
196
- display: none;
197
- }
198
-
199
- @supports not (anchor-name: --anchor) {
200
- :host {
201
- --listbox-max-height: 50vh;
202
- --margin-offset: calc(var(--lineHeightBase300) + (var(--spacingVerticalSNudge) * 2) + var(--strokeWidthThin));
203
- }
204
-
205
- :host([size='small']) {
206
- --margin-offset: calc(var(--lineHeightBase200) + (var(--spacingVerticalXS) * 2) + var(--strokeWidthThin));
207
- }
208
-
209
- :host([size='large']) {
210
- --margin-offset: calc(var(--lineHeightBase400) + (var(--spacingVerticalS) * 2) + var(--strokeWidthThin));
211
- }
212
- }
213
-
214
- @media (forced-colors: active) {
215
- :host(:disabled) .control {
216
- border-color: GrayText;
217
- }
218
- :host(:disabled) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
219
- color: GrayText;
220
- }
222
+ }
@@ -213,5 +213,6 @@ export const styles = css `
213
213
  :host(:disabled) :where(slot[name='indicator'] > *, ::slotted([slot='indicator'])) {
214
214
  color: GrayText;
215
215
  }
216
+ }
216
217
  `;
217
218
  //# sourceMappingURL=dropdown.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.styles.js","sourceRoot":"","sources":["../../../src/dropdown/dropdown.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,iCAAiC,EACjC,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,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;;;;aAIb,uBAAuB;;;;UAI1B,qBAAqB;aAClB,uBAAuB;;;;;wBAKZ,uBAAuB;qBAC1B,kBAAkB;cACzB,eAAe,UAAU,sBAAsB;8BAC/B,eAAe;;;kBAG3B,oBAAoB;;;;;eAKvB,qBAAqB,IAAI,uBAAuB;;;;;;MAMzD,qBAAqB;;;;kBAIT,oBAAoB;eACvB,iBAAiB,IAAI,uBAAuB;MACrD,wBAAwB;;;;kBAIZ,kBAAkB;eACrB,gBAAgB,IAAI,kBAAkB;MAC/C,qBAAqB;;;;;;;;;;;;;;;;;;;;;aAqBd,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;cAuBtB,eAAe;;;;wBAIL,wBAAwB;cAClC,gBAAgB;;wBAEN,iBAAiB,IAAI,kBAAkB;;;;;;;;;qBAS1C,kBAAkB;kCACL,iBAAiB;eACpC,gBAAgB,UAAU,iBAAiB;;;iBAGzC,SAAS;;2BAEC,cAAc;kCACP,kBAAkB;;;;wBAI5B,4BAA4B;;;;8BAItB,iCAAiC;wBACvC,0BAA0B;qBAC7B,gBAAgB;;;;8BAIP,mBAAmB;;;;8BAInB,wBAAwB;;;;wBAI9B,iCAAiC;;;;wBAIjC,iCAAiC;;;;8BAI3B,0BAA0B;;;;wBAIhC,mCAAmC;;;;wBAInC,mCAAmC;;;;wBAInC,uBAAuB;;;;8BAIjB,sBAAsB;;;;;;;;;;;;;;;8BAetB,0BAA0B;wBAChC,8BAA8B;aACzC,8BAA8B;;;;;;;;;;;8BAWb,iBAAiB,OAAO,qBAAqB,WAAW,eAAe;;;;8BAIvE,iBAAiB,OAAO,iBAAiB,WAAW,eAAe;;;;8BAInE,iBAAiB,OAAO,gBAAgB,WAAW,eAAe;;;;;;;;;;;CAW/F,CAAC"}
1
+ {"version":3,"file":"dropdown.styles.js","sourceRoot":"","sources":["../../../src/dropdown/dropdown.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,iCAAiC,EACjC,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,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;;;;aAIb,uBAAuB;;;;UAI1B,qBAAqB;aAClB,uBAAuB;;;;;wBAKZ,uBAAuB;qBAC1B,kBAAkB;cACzB,eAAe,UAAU,sBAAsB;8BAC/B,eAAe;;;kBAG3B,oBAAoB;;;;;eAKvB,qBAAqB,IAAI,uBAAuB;;;;;;MAMzD,qBAAqB;;;;kBAIT,oBAAoB;eACvB,iBAAiB,IAAI,uBAAuB;MACrD,wBAAwB;;;;kBAIZ,kBAAkB;eACrB,gBAAgB,IAAI,kBAAkB;MAC/C,qBAAqB;;;;;;;;;;;;;;;;;;;;;aAqBd,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;cAuBtB,eAAe;;;;wBAIL,wBAAwB;cAClC,gBAAgB;;wBAEN,iBAAiB,IAAI,kBAAkB;;;;;;;;;qBAS1C,kBAAkB;kCACL,iBAAiB;eACpC,gBAAgB,UAAU,iBAAiB;;;iBAGzC,SAAS;;2BAEC,cAAc;kCACP,kBAAkB;;;;wBAI5B,4BAA4B;;;;8BAItB,iCAAiC;wBACvC,0BAA0B;qBAC7B,gBAAgB;;;;8BAIP,mBAAmB;;;;8BAInB,wBAAwB;;;;wBAI9B,iCAAiC;;;;wBAIjC,iCAAiC;;;;8BAI3B,0BAA0B;;;;wBAIhC,mCAAmC;;;;wBAInC,mCAAmC;;;;wBAInC,uBAAuB;;;;8BAIjB,sBAAsB;;;;;;;;;;;;;;;8BAetB,0BAA0B;wBAChC,8BAA8B;aACzC,8BAA8B;;;;;;;;;;;8BAWb,iBAAiB,OAAO,qBAAqB,WAAW,eAAe;;;;8BAIvE,iBAAiB,OAAO,iBAAiB,WAAW,eAAe;;;;8BAInE,iBAAiB,OAAO,gBAAgB,WAAW,eAAe;;;;;;;;;;;;CAY/F,CAAC"}
@@ -1,21 +1,28 @@
1
1
  <f-template name="fluent-dropdown" shadowrootmode="open">
2
- <template
3
- @click="{clickHandler($e)}"
4
- @focusout="{focusoutHandler($e)}"
5
- @keydown="{keydownHandler($e)}"
6
- @mousedown="{mousedownHandler($e)}"
7
- >{{styles}}
8
- <div class="control">
9
- <slot name="control" f-ref="{controlSlot}"></slot>
10
- <slot name="indicator" f-ref="{indicatorSlot}">
11
- <svg class="chevron-down-20-regular" aria-hidden="true" slot="indicator" viewBox="0 0 20 20" f-ref="{indicator}">
12
- <path
13
- d="M15.85 7.65a.5.5 0 0 1 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16a.5.5 0 0 1 .7 0"
14
- fill="currentColor"
15
- />
16
- </svg>
17
- </slot>
18
- </div>
19
- <slot @slotchange="{slotchangeHandler($e)}"></slot>
20
- </template>
2
+ <template
3
+ @click="{clickHandler($e)}"
4
+ @focusout="{focusoutHandler($e)}"
5
+ @keydown="{keydownHandler($e)}"
6
+ @mousedown="{mousedownHandler($e)}"
7
+ >
8
+ {{styles}}
9
+ <div class="control">
10
+ <slot name="control" f-ref="{controlSlot}"></slot>
11
+ <slot name="indicator" f-ref="{indicatorSlot}">
12
+ <svg
13
+ class="chevron-down-20-regular"
14
+ aria-hidden="true"
15
+ slot="indicator"
16
+ viewBox="0 0 20 20"
17
+ f-ref="{indicator}"
18
+ >
19
+ <path
20
+ d="M15.85 7.65a.5.5 0 0 1 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16a.5.5 0 0 1 .7 0"
21
+ fill="currentColor"
22
+ />
23
+ </svg>
24
+ </slot>
25
+ </div>
26
+ <slot @slotchange="{slotchangeHandler($e)}"></slot>
27
+ </template>
21
28
  </f-template>
@@ -6,6 +6,13 @@ import { LabelPosition } from './field.options.js';
6
6
  *
7
7
  * @tag fluent-field
8
8
  *
9
+ * @slot label - Label content associated with the control.
10
+ * @slot input - Input control content.
11
+ * @slot message - Validation and helper message content.
12
+ * @csspart label - The label slot container.
13
+ * @csspart input - The input slot container.
14
+ * @csspart message - The message slot container.
15
+ *
9
16
  * @public
10
17
  */
11
18
  export declare class Field extends BaseField {
@@ -8,6 +8,13 @@ import { LabelPosition } from './field.options.js';
8
8
  *
9
9
  * @tag fluent-field
10
10
  *
11
+ * @slot label - Label content associated with the control.
12
+ * @slot input - Input control content.
13
+ * @slot message - Validation and helper message content.
14
+ * @csspart label - The label slot container.
15
+ * @csspart input - The input slot container.
16
+ * @csspart message - The message slot container.
17
+ *
11
18
  * @public
12
19
  */
13
20
  export class Field extends BaseField {
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/field/field.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IAApC;;QACE;;;;;;WAMG;QAEI,kBAAa,GAAkB,aAAa,CAAC,KAAK,CAAC;IAC5D,CAAC;CAAA;AADQ;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;4CACoB"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/field/field.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IAApC;;QACE;;;;;;WAMG;QAEI,kBAAa,GAAkB,aAAa,CAAC,KAAK,CAAC;IAC5D,CAAC;CAAA;AADQ;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;4CACoB"}