@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,87 +1,92 @@
1
+ :host([hidden]) {
2
+ display: none;
3
+ }
4
+ :host {
5
+ display: grid;
6
+ }
1
7
 
2
- :host([hidden]){display:none}:host{display:grid}
8
+ :host {
9
+ background: var(--colorNeutralBackground1);
10
+ box-sizing: border-box;
11
+ gap: var(--spacingVerticalS);
12
+ padding: var(--spacingVerticalXXL) var(--spacingHorizontalXXL);
13
+ container: dialog-body / inline-size;
14
+ }
3
15
 
4
- :host {
5
- background: var(--colorNeutralBackground1);
6
- box-sizing: border-box;
7
- gap: var(--spacingVerticalS);
8
- padding: var(--spacingVerticalXXL) var(--spacingHorizontalXXL);
9
- container: dialog-body / inline-size;
10
- }
16
+ .title {
17
+ box-sizing: border-box;
18
+ align-items: flex-start;
19
+ background: var(--colorNeutralBackground1);
20
+ color: var(--colorNeutralForeground1);
21
+ column-gap: 8px;
22
+ display: flex;
23
+ font-family: var(--fontFamilyBase);
24
+ font-size: var(--fontSizeBase500);
25
+ font-weight: var(--fontWeightSemibold);
26
+ inset-block-start: 0;
27
+ justify-content: space-between;
28
+ line-height: var(--lineHeightBase500);
29
+ margin-block-end: calc(var(--spacingVerticalS) * -1);
30
+ margin-block-start: calc(var(--spacingVerticalXXL) * -1);
31
+ padding-block-end: var(--spacingVerticalS);
32
+ padding-block-start: var(--spacingVerticalXXL);
33
+ }
11
34
 
12
- .title {
13
- box-sizing: border-box;
14
- align-items: flex-start;
15
- background: var(--colorNeutralBackground1);
16
- color: var(--colorNeutralForeground1);
17
- column-gap: 8px;
18
- display: flex;
19
- font-family: var(--fontFamilyBase);
20
- font-size: var(--fontSizeBase500);
21
- font-weight: var(--fontWeightSemibold);
22
- inset-block-start: 0;
23
- justify-content: space-between;
24
- line-height: var(--lineHeightBase500);
25
- margin-block-end: calc(var(--spacingVerticalS) * -1);
26
- margin-block-start: calc(var(--spacingVerticalXXL) * -1);
27
- padding-block-end: var(--spacingVerticalS);
28
- padding-block-start: var(--spacingVerticalXXL);
29
- }
35
+ .content {
36
+ box-sizing: border-box;
37
+ color: var(--colorNeutralForeground1);
38
+ font-family: var(--fontFamilyBase);
39
+ font-size: var(--fontSizeBase300);
40
+ font-weight: var(--fontWeightRegular);
41
+ line-height: var(--lineHeightBase300);
42
+ min-height: 32px;
43
+ }
30
44
 
31
- .content {
32
- box-sizing: border-box;
33
- color: var(--colorNeutralForeground1);
34
- font-family: var(--fontFamilyBase);
35
- font-size: var(--fontSizeBase300);
36
- font-weight: var(--fontWeightRegular);
37
- line-height: var(--lineHeightBase300);
38
- min-height: 32px;
39
- }
45
+ .actions {
46
+ box-sizing: border-box;
47
+ background: var(--colorNeutralBackground1);
48
+ display: flex;
49
+ flex-direction: column;
50
+ gap: var(--spacingVerticalS);
51
+ inset-block-end: 0;
52
+ margin-block-end: calc(var(--spacingVerticalXXL) * -1);
53
+ padding-block-end: var(--spacingVerticalXXL);
54
+ padding-block-start: var(--spacingVerticalL);
55
+ }
40
56
 
41
- .actions {
42
- box-sizing: border-box;
43
- background: var(--colorNeutralBackground1);
44
- display: flex;
45
- flex-direction: column;
46
- gap: var(--spacingVerticalS);
47
- inset-block-end: 0;
48
- margin-block-end: calc(var(--spacingVerticalXXL) * -1);
49
- padding-block-end: var(--spacingVerticalXXL);
50
- padding-block-start: var(--spacingVerticalL);
51
- }
57
+ ::slotted([slot='title-action']) {
58
+ margin-inline-start: auto;
59
+ }
52
60
 
53
- ::slotted([slot='title-action']) {
54
- margin-inline-start: auto;
55
- }
61
+ ::slotted([slot='title']) {
62
+ font: inherit;
63
+ padding: 0;
64
+ margin: 0;
65
+ }
56
66
 
57
- ::slotted([slot='title']) {
58
- font: inherit;
59
- padding: 0;
60
- margin: 0;
61
- }
67
+ /* align title content to the end when there is no title*/
68
+ :not(:has(:is([slot='title'], [slot='title-action']))) .title {
69
+ justify-content: end;
70
+ }
62
71
 
63
- /* align title content to the end when there is no title*/
64
- :not(:has(:is([slot='title'], [slot='title-action']))) .title {
65
- justify-content: end;
72
+ @container (min-width: 480px) {
73
+ .actions {
74
+ align-items: center;
75
+ flex-direction: row;
76
+ justify-content: flex-end;
77
+ margin-block-start: calc(var(--spacingVerticalS) * -1);
78
+ padding-block-start: var(--spacingVerticalS);
66
79
  }
80
+ }
67
81
 
68
- @container (min-width: 480px) {
69
- .actions {
70
- align-items: center;
71
- flex-direction: row;
72
- justify-content: flex-end;
73
- margin-block-start: calc(var(--spacingVerticalS) * -1);
74
- padding-block-start: var(--spacingVerticalS);
75
- }
82
+ /* For a11y, set sticky position for title and actions when the viewport is tall enough */
83
+ @media (min-height: 480px) {
84
+ .title {
85
+ position: sticky;
86
+ z-index: 1;
76
87
  }
77
-
78
- /* For a11y, set sticky position for title and actions when the viewport is tall enough */
79
- @media (min-height: 480px) {
80
- .title {
81
- position: sticky;
82
- z-index: 1;
83
- }
84
- .actions {
85
- position: sticky;
86
- z-index: 2;
87
- }
88
+ .actions {
89
+ position: sticky;
90
+ z-index: 2;
91
+ }
92
+ }
@@ -91,5 +91,6 @@ export const styles = css `
91
91
  position: sticky;
92
92
  z-index: 2;
93
93
  }
94
+ }
94
95
  `;
95
96
  //# sourceMappingURL=dialog-body.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-body.styles.js","sourceRoot":"","sources":["../../../src/dialog-body/dialog-body.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;kBAGD,uBAAuB;;WAE9B,gBAAgB;eACZ,kBAAkB,IAAI,oBAAoB;;;;;;;kBAOvC,uBAAuB;aAC5B,uBAAuB;;;mBAGjB,cAAc;iBAChB,eAAe;mBACb,kBAAkB;;;mBAGlB,iBAAiB;6BACP,gBAAgB;+BACd,kBAAkB;yBACxB,gBAAgB;2BACd,kBAAkB;;;;;aAKhC,uBAAuB;mBACjB,cAAc;iBAChB,eAAe;mBACb,iBAAiB;mBACjB,iBAAiB;;;;;;kBAMlB,uBAAuB;;;WAG9B,gBAAgB;;6BAEE,kBAAkB;yBACtB,kBAAkB;2BAChB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;iCAuBV,gBAAgB;6BACpB,gBAAgB;;;;;;;;;;;;;;CAc5C,CAAC"}
1
+ {"version":3,"file":"dialog-body.styles.js","sourceRoot":"","sources":["../../../src/dialog-body/dialog-body.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;kBAGD,uBAAuB;;WAE9B,gBAAgB;eACZ,kBAAkB,IAAI,oBAAoB;;;;;;;kBAOvC,uBAAuB;aAC5B,uBAAuB;;;mBAGjB,cAAc;iBAChB,eAAe;mBACb,kBAAkB;;;mBAGlB,iBAAiB;6BACP,gBAAgB;+BACd,kBAAkB;yBACxB,gBAAgB;2BACd,kBAAkB;;;;;aAKhC,uBAAuB;mBACjB,cAAc;iBAChB,eAAe;mBACb,iBAAiB;mBACjB,iBAAiB;;;;;;kBAMlB,uBAAuB;;;WAG9B,gBAAgB;;6BAEE,kBAAkB;yBACtB,kBAAkB;2BAChB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;iCAuBV,gBAAgB;6BACpB,gBAAgB;;;;;;;;;;;;;;;CAe5C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  <f-template name="fluent-dialog-body" shadowrootmode="open">
2
- <template>{{styles}}
2
+ <template>
3
+ {{styles}}
3
4
  <div class="title" part="title">
4
5
  <slot name="title"></slot>
5
6
  <slot name="title-action"></slot>
@@ -1,119 +1,123 @@
1
+ :host([hidden]) {
2
+ display: none;
3
+ }
4
+ :host {
5
+ display: flex;
6
+ }
1
7
 
2
- :host([hidden]){display:none}:host{display:flex}
8
+ :host {
9
+ contain: content;
10
+ }
3
11
 
4
- :host {
5
- contain: content;
6
- }
12
+ :host::after,
13
+ :host::before {
14
+ align-self: center;
15
+ background: var(--colorNeutralStroke2);
16
+ box-sizing: border-box;
17
+ content: '';
18
+ display: flex;
19
+ flex-grow: 1;
20
+ height: var(--strokeWidthThin);
21
+ }
7
22
 
8
- :host::after,
9
- :host::before {
10
- align-self: center;
11
- background: var(--colorNeutralStroke2);
12
- box-sizing: border-box;
13
- content: '';
14
- display: flex;
15
- flex-grow: 1;
16
- height: var(--strokeWidthThin);
17
- }
23
+ :host([inset]) {
24
+ padding: 0 12px;
25
+ }
18
26
 
19
- :host([inset]) {
20
- padding: 0 12px;
21
- }
27
+ :host ::slotted(*) {
28
+ color: var(--colorNeutralForeground2);
29
+ font-family: var(--fontFamilyBase);
30
+ font-size: var(--fontSizeBase200);
31
+ font-weight: var(--fontWeightRegular);
32
+ margin: 0;
33
+ padding: 0 12px;
34
+ }
22
35
 
23
- :host ::slotted(*) {
24
- color: var(--colorNeutralForeground2);
25
- font-family: var(--fontFamilyBase);
26
- font-size: var(--fontSizeBase200);
27
- font-weight: var(--fontWeightRegular);
28
- margin: 0;
29
- padding: 0 12px;
30
- }
36
+ :host([align-content='start'])::before,
37
+ :host([align-content='end'])::after {
38
+ flex-basis: 12px;
39
+ flex-grow: 0;
40
+ flex-shrink: 0;
41
+ }
31
42
 
32
- :host([align-content='start'])::before,
33
- :host([align-content='end'])::after {
34
- flex-basis: 12px;
35
- flex-grow: 0;
36
- flex-shrink: 0;
37
- }
43
+ :host([orientation='vertical']) {
44
+ align-items: center;
45
+ flex-direction: column;
46
+ height: 100%;
47
+ min-height: 84px;
48
+ }
38
49
 
39
- :host([orientation='vertical']) {
40
- align-items: center;
41
- flex-direction: column;
42
- height: 100%;
43
- min-height: 84px;
44
- }
50
+ :host([orientation='vertical']):empty {
51
+ min-height: 20px;
52
+ }
45
53
 
46
- :host([orientation='vertical']):empty {
47
- min-height: 20px;
48
- }
54
+ :host([orientation='vertical'][inset])::before {
55
+ margin-top: 12px;
56
+ }
57
+ :host([orientation='vertical'][inset])::after {
58
+ margin-bottom: 12px;
59
+ }
49
60
 
50
- :host([orientation='vertical'][inset])::before {
51
- margin-top: 12px;
52
- }
53
- :host([orientation='vertical'][inset])::after {
54
- margin-bottom: 12px;
55
- }
61
+ :host([orientation='vertical']):empty::before,
62
+ :host([orientation='vertical']):empty::after {
63
+ height: 10px;
64
+ min-height: 10px;
65
+ flex-grow: 0;
66
+ }
56
67
 
57
- :host([orientation='vertical']):empty::before,
58
- :host([orientation='vertical']):empty::after {
59
- height: 10px;
60
- min-height: 10px;
61
- flex-grow: 0;
62
- }
68
+ :host([orientation='vertical'])::before,
69
+ :host([orientation='vertical'])::after {
70
+ width: var(--strokeWidthThin);
71
+ min-height: 20px;
72
+ height: 100%;
73
+ }
63
74
 
64
- :host([orientation='vertical'])::before,
65
- :host([orientation='vertical'])::after {
66
- width: var(--strokeWidthThin);
67
- min-height: 20px;
68
- height: 100%;
69
- }
75
+ :host([orientation='vertical']) ::slotted(*) {
76
+ display: flex;
77
+ flex-direction: column;
78
+ padding: 12px 0;
79
+ line-height: 20px;
80
+ }
70
81
 
71
- :host([orientation='vertical']) ::slotted(*) {
72
- display: flex;
73
- flex-direction: column;
74
- padding: 12px 0;
75
- line-height: 20px;
76
- }
82
+ :host([orientation='vertical'][align-content='start'])::before {
83
+ min-height: 8px;
84
+ }
85
+ :host([orientation='vertical'][align-content='end'])::after {
86
+ min-height: 8px;
87
+ }
77
88
 
78
- :host([orientation='vertical'][align-content='start'])::before {
79
- min-height: 8px;
80
- }
81
- :host([orientation='vertical'][align-content='end'])::after {
82
- min-height: 8px;
83
- }
89
+ :host([appearance='strong'])::before,
90
+ :host([appearance='strong'])::after {
91
+ background: var(--colorNeutralStroke1);
92
+ }
93
+ :host([appearance='strong']) ::slotted(*) {
94
+ color: var(--colorNeutralForeground1);
95
+ }
96
+ :host([appearance='brand'])::before,
97
+ :host([appearance='brand'])::after {
98
+ background: var(--colorBrandStroke1);
99
+ }
100
+ :host([appearance='brand']) ::slotted(*) {
101
+ color: var(--colorBrandForeground1);
102
+ }
103
+ :host([appearance='subtle'])::before,
104
+ :host([appearance='subtle'])::after {
105
+ background: var(--colorNeutralStroke3);
106
+ }
107
+ :host([appearance='subtle']) ::slotted(*) {
108
+ color: var(--colorNeutralForeground3);
109
+ }
84
110
 
111
+ @media (forced-colors: active) {
85
112
  :host([appearance='strong'])::before,
86
- :host([appearance='strong'])::after {
87
- background: var(--colorNeutralStroke1);
88
- }
89
- :host([appearance='strong']) ::slotted(*) {
90
- color: var(--colorNeutralForeground1);
91
- }
113
+ :host([appearance='strong'])::after,
92
114
  :host([appearance='brand'])::before,
93
- :host([appearance='brand'])::after {
94
- background: var(--colorBrandStroke1);
95
- }
96
- :host([appearance='brand']) ::slotted(*) {
97
- color: var(--colorBrandForeground1);
98
- }
115
+ :host([appearance='brand'])::after,
99
116
  :host([appearance='subtle'])::before,
100
- :host([appearance='subtle'])::after {
101
- background: var(--colorNeutralStroke3);
102
- }
103
- :host([appearance='subtle']) ::slotted(*) {
104
- color: var(--colorNeutralForeground3);
105
- }
106
-
107
- @media (forced-colors: active) {
108
- :host([appearance='strong'])::before,
109
- :host([appearance='strong'])::after,
110
- :host([appearance='brand'])::before,
111
- :host([appearance='brand'])::after,
112
- :host([appearance='subtle'])::before,
113
- :host([appearance='subtle'])::after,
114
- :host::after,
115
- :host::before {
116
- background: WindowText;
117
- color: WindowText;
118
- }
117
+ :host([appearance='subtle'])::after,
118
+ :host::after,
119
+ :host::before {
120
+ background: WindowText;
121
+ color: WindowText;
119
122
  }
123
+ }
@@ -1 +1,6 @@
1
- <f-template name="fluent-divider" shadowrootmode="open"><template>{{styles}}<slot></slot></template></f-template>
1
+ <f-template name="fluent-divider" shadowrootmode="open">
2
+ <template>
3
+ {{styles}}
4
+ <slot></slot>
5
+ </template>
6
+ </f-template>
@@ -1,129 +1,134 @@
1
+ :host([hidden]) {
2
+ display: none;
3
+ }
4
+ :host {
5
+ display: block;
6
+ }
7
+
8
+ :host {
9
+ --dialog-backdrop: var(--colorBackgroundOverlay);
10
+ }
11
+
12
+ :host([type='non-modal']) dialog[open]::backdrop {
13
+ display: none;
14
+ }
15
+
16
+ :host([type='non-modal']) dialog {
17
+ position: fixed;
18
+ top: 0;
19
+ bottom: 0;
20
+ }
21
+
22
+ :host([type='inline']) {
23
+ height: 100%;
24
+ width: fit-content;
25
+ }
26
+
27
+ :host([type='inline']) dialog[open] {
28
+ box-shadow: none;
29
+ position: relative;
30
+ }
31
+
32
+ :host([size='small']) dialog {
33
+ width: 320px;
34
+ max-width: 320px;
35
+ }
36
+
37
+ :host([size='large']) dialog {
38
+ width: 940px;
39
+ max-width: 940px;
40
+ }
41
+
42
+ :host([size='full']) dialog {
43
+ width: 100%;
44
+ max-width: 100%;
45
+ }
46
+
47
+ :host([position='end']) dialog {
48
+ margin-inline-start: auto;
49
+ margin-inline-end: 0;
50
+ }
51
+
52
+ dialog {
53
+ box-sizing: border-box;
54
+ z-index: var(--drawer-elevation, 1000);
55
+ font-size: var(--fontSizeBase300);
56
+ line-height: var(--lineHeightBase300);
57
+ font-family: var(--fontFamilyBase);
58
+ font-weight: var(--fontWeightRegular);
59
+ color: var(--colorNeutralForeground1);
60
+ max-width: var(--drawer-width, 592px);
61
+ max-height: 100vh;
62
+ height: 100%;
63
+ margin-inline-start: 0;
64
+ margin-inline-end: auto;
65
+ border-inline-end-color: var(--colorTransparentStroke);
66
+ border-inline-start-color: var(--drawer-separator, var(--colorTransparentStroke));
67
+ outline: none;
68
+ top: 0;
69
+ bottom: 0;
70
+ width: var(--drawer-width, 592px);
71
+ border-radius: 0;
72
+ padding: 0;
73
+ max-width: var(--drawer-width, 592px);
74
+ box-shadow: var(--shadow64);
75
+ border: var(--strokeWidthThin) solid var(--colorTransparentStroke);
76
+ background: var(--colorNeutralBackground1);
77
+ }
78
+
79
+ dialog::backdrop {
80
+ background: var(--dialog-backdrop);
81
+ }
82
+
83
+ @layer animations {
84
+ /* Disable animations for reduced motion */
85
+ @media (prefers-reduced-motion: no-preference) {
86
+ dialog {
87
+ transition: display allow-discrete, opacity, overlay allow-discrete, transform;
88
+ transition-duration: var(--durationGentle);
89
+ transition-timing-function: var(--curveDecelerateMid);
90
+ }
1
91
 
2
- :host([hidden]){display:none}:host{display:block}
3
-
4
- :host {
5
- --dialog-backdrop: var(--colorBackgroundOverlay);
6
- }
7
-
8
- :host([type='non-modal']) dialog[open]::backdrop {
9
- display: none;
10
- }
11
-
12
- :host([type='non-modal']) dialog {
13
- position: fixed;
14
- top: 0;
15
- bottom: 0;
16
- }
17
-
18
- :host([type='inline']) {
19
- height: 100%;
20
- width: fit-content;
21
- }
22
-
23
- :host([type='inline']) dialog[open] {
24
- box-shadow: none;
25
- position: relative;
26
- }
27
-
28
- :host([size='small']) dialog {
29
- width: 320px;
30
- max-width: 320px;
31
- }
32
-
33
- :host([size='large']) dialog {
34
- width: 940px;
35
- max-width: 940px;
36
- }
92
+ /* Exit styles for dialog */
93
+ :host dialog:not([open]) {
94
+ transform: translateX(-100%);
95
+ transition-timing-function: var(--curveAccelerateMid);
96
+ }
97
+ :host([position='end']) dialog:not([open]) {
98
+ transform: translateX(100%);
99
+ transition-timing-function: var(--curveAccelerateMid);
100
+ }
37
101
 
38
- :host([size='full']) dialog {
39
- width: 100%;
40
- max-width: 100%;
41
- }
102
+ dialog[open] {
103
+ transform: translateX(0);
104
+ }
42
105
 
43
- :host([position='end']) dialog {
44
- margin-inline-start: auto;
45
- margin-inline-end: 0;
46
- }
106
+ dialog::backdrop {
107
+ transition: display allow-discrete, opacity, overlay allow-discrete, scale;
108
+ transition-duration: var(--durationGentle);
109
+ transition-timing-function: var(--curveDecelerateMid);
110
+ background: var(--dialog-backdrop, var(--colorBackgroundOverlay));
111
+ opacity: 0;
112
+ }
47
113
 
48
- dialog {
49
- background: var(--colorNeutralBackground1);
50
- border-radius: 0;
51
- border: var(--strokeWidthThin) solid var(--colorTransparentStroke);
52
- border-inline-end-color: var(--colorTransparentStroke);
53
- border-inline-start-color: var(--drawer-separator, var(--colorTransparentStroke));
54
- box-shadow: var(--shadow64);
55
- box-sizing: border-box;
56
- color: var(--colorNeutralForeground1);
57
- font-family: var(--fontFamilyBase);
58
- font-size: var(--fontSizeBase300);
59
- font-weight: var(--fontWeightRegular);
60
- height: 100%;
61
- line-height: var(--lineHeightBase300);
62
- margin-inline-end: auto;
63
- margin-inline-start: 0;
64
- max-height: 100vh;
65
- max-width: calc(100vw - var(--spacingHorizontalXXL));
66
- outline: none;
67
- padding: 0;
68
- bottom: 0;
69
- top: 0;
70
- width: var(--drawer-width, 592px);
71
- z-index: var(--drawer-elevation, 1000);
72
- }
114
+ dialog[open]::backdrop {
115
+ opacity: 1;
116
+ }
73
117
 
74
- dialog::backdrop {
75
- background: var(--dialog-backdrop);
118
+ dialog::backdrop {
119
+ transition-timing-function: var(--curveLinear);
120
+ }
76
121
  }
77
122
 
78
- @layer animations {
79
- /* Disable animations for reduced motion */
80
- @media (prefers-reduced-motion: no-preference) {
81
- dialog {
82
- transition: display allow-discrete, opacity, overlay allow-discrete, transform;
83
- transition-duration: var(--durationGentle);
84
- transition-timing-function: var(--curveDecelerateMid);
85
- }
86
-
87
- /* Exit styles for dialog */
88
- :host dialog:not([open]) {
89
- transform: translateX(-100%);
90
- transition-timing-function: var(--curveAccelerateMid);
91
- }
92
- :host([position='end']) dialog:not([open]) {
93
- transform: translateX(100%);
94
- transition-timing-function: var(--curveAccelerateMid);
95
- }
96
-
97
- dialog[open] {
98
- transform: translateX(0);
99
- }
100
-
101
- dialog::backdrop {
102
- transition: display allow-discrete, opacity, overlay allow-discrete, scale;
103
- transition-duration: var(--durationGentle);
104
- transition-timing-function: var(--curveDecelerateMid);
105
- background: var(--dialog-backdrop, var(--colorBackgroundOverlay));
106
- opacity: 0;
107
- }
108
-
109
- dialog[open]::backdrop {
110
- opacity: 1;
111
- }
112
-
113
- dialog::backdrop {
114
- transition-timing-function: var(--curveLinear);
115
- }
123
+ @starting-style {
124
+ dialog[open] {
125
+ transform: translateX(-100%);
116
126
  }
117
-
118
- @starting-style {
119
- dialog[open] {
120
- transform: translateX(-100%);
121
- }
122
- :host([position='end']) dialog[open] {
123
- transform: translateX(100%);
124
- }
125
- dialog[open]::backdrop {
126
- opacity: 0;
127
- }
127
+ :host([position='end']) dialog[open] {
128
+ transform: translateX(100%);
129
+ }
130
+ dialog[open]::backdrop {
131
+ opacity: 0;
128
132
  }
129
133
  }
134
+ }