@fluentui/web-components 1.6.3 → 2.1.0

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 (170) hide show
  1. package/CHANGELOG.json +103 -1
  2. package/CHANGELOG.md +40 -2
  3. package/dist/dts/calendar/calendar.stories.d.ts +86 -0
  4. package/dist/dts/calendar/calendar.styles.d.ts +7 -0
  5. package/dist/dts/calendar/index.d.ts +18 -0
  6. package/dist/dts/color/palette.d.ts +43 -1
  7. package/dist/dts/color/recipes/contrast-and-delta-swatch-set.d.ts +11 -0
  8. package/dist/dts/color/recipes/contrast-swatch.d.ts +12 -0
  9. package/dist/dts/color/recipes/delta-swatch-set.d.ts +36 -0
  10. package/dist/dts/color/recipes/{neutral-divider.d.ts → delta-swatch.d.ts} +3 -2
  11. package/dist/dts/color/recipes/focus-stroke.d.ts +2 -2
  12. package/dist/dts/color/recipes/foreground-on-accent.d.ts +6 -0
  13. package/dist/dts/color/recipes/gradient-shadow-stroke.d.ts +7 -0
  14. package/dist/dts/color/recipes/gradient-swatch.d.ts +36 -0
  15. package/dist/dts/color/recipes/neutral-layer-1.d.ts +4 -0
  16. package/dist/dts/color/recipes/neutral-layer-2.d.ts +1 -5
  17. package/dist/dts/color/recipes/neutral-layer-3.d.ts +1 -1
  18. package/dist/dts/color/recipes/neutral-layer-4.d.ts +1 -1
  19. package/dist/dts/color/recipes/neutral-layer-floating.d.ts +1 -1
  20. package/dist/dts/color/recipes/underline-stroke.d.ts +7 -0
  21. package/dist/dts/color/swatch.d.ts +7 -0
  22. package/dist/dts/color/utilities/base-layer-luminance.d.ts +2 -2
  23. package/dist/dts/combobox/index.d.ts +1 -2
  24. package/dist/dts/custom-elements.d.ts +4 -2
  25. package/dist/dts/data-grid/data-grid-row.styles.d.ts +1 -1
  26. package/dist/dts/data-grid/index.d.ts +1 -1
  27. package/dist/dts/design-system-provider/index.d.ts +14 -29
  28. package/dist/dts/design-tokens.d.ts +198 -82
  29. package/dist/dts/menu/index.d.ts +11 -6
  30. package/dist/dts/menu/menu.stories.d.ts +1 -1
  31. package/dist/dts/select/index.d.ts +1 -1
  32. package/dist/dts/select/select.stories.d.ts +8 -0
  33. package/dist/dts/select/select.styles.d.ts +1 -0
  34. package/dist/dts/skeleton/skeleton.stories.d.ts +1 -0
  35. package/dist/dts/styles/elevation.d.ts +44 -5
  36. package/dist/dts/styles/patterns/button.styles.d.ts +7 -6
  37. package/dist/dts/styles/patterns/index.d.ts +1 -1
  38. package/dist/dts/styles/patterns/input.styles.d.ts +22 -0
  39. package/dist/dts/text-area/text-area.stories.d.ts +1 -1
  40. package/dist/dts/tree-view/tree-view.stories.d.ts +0 -5
  41. package/dist/esm/accordion/accordion-item/accordion-item.styles.js +54 -17
  42. package/dist/esm/accordion/accordion-item/index.js +4 -22
  43. package/dist/esm/accordion/accordion.styles.js +4 -4
  44. package/dist/esm/anchor/anchor.stories.js +2 -2
  45. package/dist/esm/anchor/anchor.styles.js +8 -2
  46. package/dist/esm/badge/badge.styles.js +10 -2
  47. package/dist/esm/breadcrumb-item/breadcrumb-item.styles.js +44 -53
  48. package/dist/esm/breadcrumb-item/index.js +2 -4
  49. package/dist/esm/button/button.stories.js +1 -1
  50. package/dist/esm/button/button.styles.js +21 -71
  51. package/dist/esm/calendar/calendar.stories.js +115 -0
  52. package/dist/esm/calendar/calendar.styles.js +133 -0
  53. package/dist/esm/calendar/index.js +31 -0
  54. package/dist/esm/card/card.stories.js +14 -0
  55. package/dist/esm/card/card.styles.js +23 -32
  56. package/dist/esm/card/index.js +1 -1
  57. package/dist/esm/checkbox/checkbox.styles.js +58 -51
  58. package/dist/esm/checkbox/index.js +5 -13
  59. package/dist/esm/color/palette.js +174 -12
  60. package/dist/esm/color/recipes/contrast-and-delta-swatch-set.js +28 -0
  61. package/dist/esm/color/recipes/contrast-swatch.js +12 -0
  62. package/dist/esm/color/recipes/delta-swatch-set.js +53 -0
  63. package/dist/esm/color/recipes/{neutral-divider.js → delta-swatch.js} +3 -2
  64. package/dist/esm/color/recipes/focus-stroke.js +4 -3
  65. package/dist/esm/color/recipes/foreground-on-accent.js +14 -0
  66. package/dist/esm/color/recipes/gradient-shadow-stroke.js +54 -0
  67. package/dist/esm/color/recipes/gradient-swatch.js +36 -0
  68. package/dist/esm/color/recipes/neutral-layer-1.js +7 -1
  69. package/dist/esm/color/recipes/neutral-layer-2.js +3 -9
  70. package/dist/esm/color/recipes/neutral-layer-3.js +3 -3
  71. package/dist/esm/color/recipes/neutral-layer-4.js +3 -3
  72. package/dist/esm/color/recipes/neutral-layer-floating.js +3 -4
  73. package/dist/esm/color/recipes/underline-stroke.js +31 -0
  74. package/dist/esm/color/swatch.js +22 -2
  75. package/dist/esm/color/utilities/base-layer-luminance.js +2 -2
  76. package/dist/esm/combobox/combobox.stories.js +1 -0
  77. package/dist/esm/combobox/index.js +6 -9
  78. package/dist/esm/custom-elements.js +3 -1
  79. package/dist/esm/data-grid/data-grid-cell.styles.js +4 -4
  80. package/dist/esm/data-grid/data-grid-row.styles.js +3 -3
  81. package/dist/esm/design-system-provider/design-system-provider.vscode.definition.json +17 -9
  82. package/dist/esm/design-system-provider/index.js +24 -39
  83. package/dist/esm/design-tokens.js +303 -217
  84. package/dist/esm/dialog/dialog.styles.js +2 -3
  85. package/dist/esm/divider/divider.styles.js +1 -2
  86. package/dist/esm/flipper/flipper.styles.js +28 -65
  87. package/dist/esm/flipper/index.js +4 -8
  88. package/dist/esm/listbox/listbox.styles.js +8 -29
  89. package/dist/esm/listbox-option/listbox-option.styles.js +52 -35
  90. package/dist/esm/menu/index.js +16 -6
  91. package/dist/esm/menu/menu.stories.js +16 -2
  92. package/dist/esm/menu/menu.styles.js +38 -27
  93. package/dist/esm/menu-item/index.js +6 -33
  94. package/dist/esm/menu-item/menu-item.stories.js +1 -1
  95. package/dist/esm/menu-item/menu-item.styles.js +58 -84
  96. package/dist/esm/number-field/index.js +7 -3
  97. package/dist/esm/number-field/number-field.styles.js +30 -175
  98. package/dist/esm/progress/progress/index.js +1 -1
  99. package/dist/esm/progress/progress/progress.styles.js +13 -18
  100. package/dist/esm/progress/progress-ring/progress-ring.styles.js +65 -69
  101. package/dist/esm/radio/index.js +3 -1
  102. package/dist/esm/radio/radio.stories.js +3 -2
  103. package/dist/esm/radio/radio.styles.js +52 -42
  104. package/dist/esm/radio-group/radio-group.styles.js +0 -2
  105. package/dist/esm/select/index.js +6 -9
  106. package/dist/esm/select/select.stories.js +10 -2
  107. package/dist/esm/select/select.styles.js +100 -124
  108. package/dist/esm/select/select.vscode.definition.json +3 -0
  109. package/dist/esm/skeleton/skeleton.stories.js +3 -2
  110. package/dist/esm/skeleton/skeleton.styles.js +11 -6
  111. package/dist/esm/slider/slider.styles.js +54 -14
  112. package/dist/esm/slider-label/slider-label.styles.js +5 -6
  113. package/dist/esm/styles/direction.js +1 -1
  114. package/dist/esm/styles/elevation.js +54 -5
  115. package/dist/esm/styles/patterns/button.styles.js +274 -294
  116. package/dist/esm/styles/patterns/index.js +1 -1
  117. package/dist/esm/styles/patterns/input.styles.js +218 -0
  118. package/dist/esm/switch/index.js +3 -1
  119. package/dist/esm/switch/switch.stories.js +3 -3
  120. package/dist/esm/switch/switch.styles.js +79 -60
  121. package/dist/esm/tabs/tab/tab.styles.js +11 -14
  122. package/dist/esm/tabs/tabs.styles.js +9 -8
  123. package/dist/esm/text-area/text-area.stories.js +2 -2
  124. package/dist/esm/text-area/text-area.styles.js +16 -96
  125. package/dist/esm/text-field/text-field.stories.js +1 -1
  126. package/dist/esm/text-field/text-field.styles.js +16 -144
  127. package/dist/esm/toolbar/index.js +1 -0
  128. package/dist/esm/toolbar/toolbar.styles.js +56 -56
  129. package/dist/esm/tooltip/index.js +2 -4
  130. package/dist/esm/tooltip/tooltip.styles.js +14 -14
  131. package/dist/esm/tree-item/index.js +2 -8
  132. package/dist/esm/tree-item/tree-item.styles.js +45 -80
  133. package/dist/esm/tree-view/tree-view.stories.js +23 -11
  134. package/dist/fluent-web-components.api.json +4900 -2353
  135. package/dist/web-components.d.ts +397 -100
  136. package/dist/web-components.js +2240 -2175
  137. package/dist/web-components.min.js +158 -128
  138. package/docs/api-report.md +338 -80
  139. package/package.json +2 -5
  140. package/public/switches.ts +13 -14
  141. package/dist/dts/color/recipes/accent-fill.d.ts +0 -7
  142. package/dist/dts/color/recipes/accent-foreground.d.ts +0 -7
  143. package/dist/dts/color/recipes/neutral-fill-contrast.d.ts +0 -7
  144. package/dist/dts/color/recipes/neutral-fill-input.d.ts +0 -7
  145. package/dist/dts/color/recipes/neutral-fill-inverse.d.ts +0 -7
  146. package/dist/dts/color/recipes/neutral-fill-layer.d.ts +0 -6
  147. package/dist/dts/color/recipes/neutral-fill-stealth.d.ts +0 -7
  148. package/dist/dts/color/recipes/neutral-fill.d.ts +0 -14
  149. package/dist/dts/color/recipes/neutral-foreground-hint.d.ts +0 -10
  150. package/dist/dts/color/recipes/neutral-foreground.d.ts +0 -6
  151. package/dist/dts/color/recipes/neutral-layer-card-container.d.ts +0 -6
  152. package/dist/dts/color/recipes/neutral-stroke-strong.d.ts +0 -7
  153. package/dist/dts/color/recipes/neutral-stroke.d.ts +0 -7
  154. package/dist/dts/styles/patterns/input.d.ts +0 -4
  155. package/dist/dts/utilities/math.d.ts +0 -24
  156. package/dist/esm/color/recipes/accent-fill.js +0 -18
  157. package/dist/esm/color/recipes/accent-foreground.js +0 -31
  158. package/dist/esm/color/recipes/neutral-fill-contrast.js +0 -26
  159. package/dist/esm/color/recipes/neutral-fill-input.js +0 -14
  160. package/dist/esm/color/recipes/neutral-fill-inverse.js +0 -26
  161. package/dist/esm/color/recipes/neutral-fill-layer.js +0 -7
  162. package/dist/esm/color/recipes/neutral-fill-stealth.js +0 -14
  163. package/dist/esm/color/recipes/neutral-fill.js +0 -21
  164. package/dist/esm/color/recipes/neutral-foreground-hint.js +0 -10
  165. package/dist/esm/color/recipes/neutral-foreground.js +0 -6
  166. package/dist/esm/color/recipes/neutral-layer-card-container.js +0 -9
  167. package/dist/esm/color/recipes/neutral-stroke-strong.js +0 -15
  168. package/dist/esm/color/recipes/neutral-stroke.js +0 -18
  169. package/dist/esm/styles/patterns/input.js +0 -31
  170. package/dist/esm/utilities/math.js +0 -49
@@ -1,30 +1,26 @@
1
1
  import { DesignToken } from '@microsoft/fast-foundation';
2
2
  import { Direction } from '@microsoft/fast-web-utilities';
3
3
  import { PaletteRGB } from './color/palette';
4
- import { accentFill as accentFillAlgorithm } from './color/recipes/accent-fill';
5
- import { accentForeground as accentForegroundAlgorithm } from './color/recipes/accent-foreground';
6
- import { foregroundOnAccent as foregroundOnAccentAlgorithm } from './color/recipes/foreground-on-accent';
7
- import { neutralFillInverse as neutralFillInverseAlgorithm } from './color/recipes/neutral-fill-inverse';
8
- import { neutralDivider as neutralDividerAlgorithm } from './color/recipes/neutral-divider';
9
- import { neutralFill as neutralFillAlgorithm } from './color/recipes/neutral-fill';
10
- import { neutralFillInput as neutralFillInputAlgorithm } from './color/recipes/neutral-fill-input';
11
- import { neutralFillLayer as neutralFillLayerAlgorithm } from './color/recipes/neutral-fill-layer';
12
- import { neutralFillStealth as neutralFillStealthAlgorithm } from './color/recipes/neutral-fill-stealth';
13
- import { neutralFillContrast as neutralFillContrastAlgorithm } from './color/recipes/neutral-fill-contrast';
4
+ import { foregroundOnAccentSet as foregroundOnAccentSetAlgorithm } from './color/recipes/foreground-on-accent';
5
+ import { gradientShadowStroke as gradientShadowStrokeAlgorithm } from './color/recipes/gradient-shadow-stroke';
6
+ import { underlineStroke as underlineStrokeAlgorithm } from './color/recipes/underline-stroke';
7
+ import { contrastSwatch } from './color/recipes/contrast-swatch';
8
+ import { contrastAndDeltaSwatchSet, contrastAndDeltaSwatchSetByLuminance, } from './color/recipes/contrast-and-delta-swatch-set';
9
+ import { deltaSwatch } from './color/recipes/delta-swatch';
10
+ import { deltaSwatchSet, deltaSwatchSetByLuminance } from './color/recipes/delta-swatch-set';
14
11
  import { focusStrokeInner as focusStrokeInnerAlgorithm, focusStrokeOuter as focusStrokeOuterAlgorithm, } from './color/recipes/focus-stroke';
15
- import { neutralForeground as neutralForegroundAlgorithm } from './color/recipes/neutral-foreground';
16
- import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color/recipes/neutral-foreground-hint';
17
- import { neutralLayerCardContainer as neutralLayerCardContainerAlgorithm } from './color/recipes/neutral-layer-card-container';
18
12
  import { neutralLayerFloating as neutralLayerFloatingAlgorithm } from './color/recipes/neutral-layer-floating';
19
13
  import { neutralLayer1 as neutralLayer1Algorithm } from './color/recipes/neutral-layer-1';
20
14
  import { neutralLayer2 as neutralLayer2Algorithm } from './color/recipes/neutral-layer-2';
21
15
  import { neutralLayer3 as neutralLayer3Algorithm } from './color/recipes/neutral-layer-3';
22
16
  import { neutralLayer4 as neutralLayer4Algorithm } from './color/recipes/neutral-layer-4';
23
- import { neutralStroke as neutralStrokeAlgorithm } from './color/recipes/neutral-stroke';
24
- import { neutralStrokeStrong as neutralStrokeStrongAlgorithm } from './color/recipes/neutral-stroke-strong';
25
17
  import { accentBase, middleGrey } from './color/utilities/color-constants';
26
18
  import { StandardLuminance } from './color/utilities/base-layer-luminance';
19
+ import { directionByIsDark } from './color/utilities/direction-by-is-dark';
27
20
  const { create } = DesignToken;
21
+ function createNonCss(name) {
22
+ return DesignToken.create({ name, cssCustomPropertyName: null });
23
+ }
28
24
  // General tokens
29
25
  /** @public */
30
26
  export const direction = create('direction').withDefault(Direction.ltr);
@@ -43,7 +39,7 @@ export const designUnit = create('design-unit').withDefault(4);
43
39
  /** @public */
44
40
  export const controlCornerRadius = create('control-corner-radius').withDefault(4);
45
41
  /** @public */
46
- export const layerCornerRadius = create('layer-corner-radius').withDefault(4);
42
+ export const layerCornerRadius = create('layer-corner-radius').withDefault(8);
47
43
  /** @public */
48
44
  export const strokeWidth = create('stroke-width').withDefault(1);
49
45
  /** @public */
@@ -91,141 +87,155 @@ export const typeRampPlus6LineHeight = create('type-ramp-plus-6-line-height').wi
91
87
  /** @public */
92
88
  export const baseLayerLuminance = create('base-layer-luminance').withDefault(StandardLuminance.LightMode);
93
89
  /** @public */
94
- export const accentFillRestDelta = create('accent-fill-rest-delta').withDefault(0);
90
+ export const accentFillRestDelta = createNonCss('accent-fill-rest-delta').withDefault(0);
95
91
  /** @public */
96
- export const accentFillHoverDelta = create('accent-fill-hover-delta').withDefault(4);
92
+ export const accentFillHoverDelta = createNonCss('accent-fill-hover-delta').withDefault(-2);
97
93
  /** @public */
98
- export const accentFillActiveDelta = create('accent-fill-active-delta').withDefault(-5);
94
+ export const accentFillActiveDelta = createNonCss('accent-fill-active-delta').withDefault(-5);
99
95
  /** @public */
100
- export const accentFillFocusDelta = create('accent-fill-focus-delta').withDefault(0);
96
+ export const accentFillFocusDelta = createNonCss('accent-fill-focus-delta').withDefault(0);
101
97
  /** @public */
102
- export const accentForegroundRestDelta = create('accent-foreground-rest-delta').withDefault(0);
98
+ export const accentForegroundRestDelta = createNonCss('accent-foreground-rest-delta').withDefault(0);
103
99
  /** @public */
104
- export const accentForegroundHoverDelta = create('accent-foreground-hover-delta').withDefault(6);
100
+ export const accentForegroundHoverDelta = createNonCss('accent-foreground-hover-delta').withDefault(3);
105
101
  /** @public */
106
- export const accentForegroundActiveDelta = create('accent-foreground-active-delta').withDefault(-4);
102
+ export const accentForegroundActiveDelta = createNonCss('accent-foreground-active-delta').withDefault(-8);
107
103
  /** @public */
108
- export const accentForegroundFocusDelta = create('accent-foreground-focus-delta').withDefault(0);
104
+ export const accentForegroundFocusDelta = createNonCss('accent-foreground-focus-delta').withDefault(0);
109
105
  /** @public */
110
- export const neutralFillRestDelta = create('neutral-fill-rest-delta').withDefault(7);
106
+ export const neutralFillRestDelta = createNonCss('neutral-fill-rest-delta').withDefault(-1);
111
107
  /** @public */
112
- export const neutralFillHoverDelta = create('neutral-fill-hover-delta').withDefault(10);
108
+ export const neutralFillHoverDelta = createNonCss('neutral-fill-hover-delta').withDefault(1);
113
109
  /** @public */
114
- export const neutralFillActiveDelta = create('neutral-fill-active-delta').withDefault(5);
110
+ export const neutralFillActiveDelta = createNonCss('neutral-fill-active-delta').withDefault(0);
115
111
  /** @public */
116
- export const neutralFillFocusDelta = create('neutral-fill-focus-delta').withDefault(0);
112
+ export const neutralFillFocusDelta = createNonCss('neutral-fill-focus-delta').withDefault(0);
117
113
  /** @public */
118
- export const neutralFillInputRestDelta = create('neutral-fill-input-rest-delta').withDefault(0);
114
+ export const neutralFillInputRestDelta = createNonCss('neutral-fill-input-rest-delta').withDefault(-1);
119
115
  /** @public */
120
- export const neutralFillInputHoverDelta = create('neutral-fill-input-hover-delta').withDefault(0);
116
+ export const neutralFillInputHoverDelta = createNonCss('neutral-fill-input-hover-delta').withDefault(1);
121
117
  /** @public */
122
- export const neutralFillInputActiveDelta = create('neutral-fill-input-active-delta').withDefault(0);
118
+ export const neutralFillInputActiveDelta = createNonCss('neutral-fill-input-active-delta').withDefault(0);
123
119
  /** @public */
124
- export const neutralFillInputFocusDelta = create('neutral-fill-input-focus-delta').withDefault(0);
120
+ export const neutralFillInputFocusDelta = createNonCss('neutral-fill-input-focus-delta').withDefault(-2);
125
121
  /** @public */
126
- export const neutralFillInverseRestDelta = create('neutral-fill-inverse-rest-delta').withDefault(0);
122
+ export const neutralFillInputAltRestDelta = createNonCss('neutral-fill-input-alt-rest-delta').withDefault(2);
127
123
  /** @public */
128
- export const neutralFillInverseHoverDelta = create('neutral-fill-inverse-hover-delta').withDefault(-3);
124
+ export const neutralFillInputAltHoverDelta = createNonCss('neutral-fill-input-alt-hover-delta').withDefault(4);
129
125
  /** @public */
130
- export const neutralFillInverseActiveDelta = create('neutral-fill-inverse-active-delta').withDefault(7);
126
+ export const neutralFillInputAltActiveDelta = createNonCss('neutral-fill-input-alt-active-delta').withDefault(6);
131
127
  /** @public */
132
- export const neutralFillInverseFocusDelta = create('neutral-fill-inverse-focus-delta').withDefault(0);
128
+ export const neutralFillInputAltFocusDelta = createNonCss('neutral-fill-input-alt-focus-delta').withDefault(2);
129
+ /** @public */
130
+ export const neutralFillLayerRestDelta = createNonCss('neutral-fill-layer-rest-delta').withDefault(-2);
131
+ /** @public */
132
+ export const neutralFillLayerHoverDelta = createNonCss('neutral-fill-layer-hover-delta').withDefault(-3);
133
+ /** @public */
134
+ export const neutralFillLayerActiveDelta = createNonCss('neutral-fill-layer-active-delta').withDefault(-3);
135
+ /** @public */
136
+ export const neutralFillLayerAltRestDelta = createNonCss('neutral-fill-layer-alt-rest-delta').withDefault(-1);
137
+ /** @public */
138
+ export const neutralFillSecondaryRestDelta = createNonCss('neutral-fill-secondary-rest-delta').withDefault(3);
139
+ /** @public */
140
+ export const neutralFillSecondaryHoverDelta = createNonCss('neutral-fill-secondary-hover-delta').withDefault(2);
141
+ /** @public */
142
+ export const neutralFillSecondaryActiveDelta = createNonCss('neutral-fill-secondary-active-delta').withDefault(1);
143
+ /** @public */
144
+ export const neutralFillSecondaryFocusDelta = createNonCss('neutral-fill-secondary-focus-delta').withDefault(3);
145
+ /** @public */
146
+ export const neutralFillStealthRestDelta = createNonCss('neutral-fill-stealth-rest-delta').withDefault(0);
147
+ /** @public */
148
+ export const neutralFillStealthHoverDelta = createNonCss('neutral-fill-stealth-hover-delta').withDefault(3);
149
+ /** @public */
150
+ export const neutralFillStealthActiveDelta = createNonCss('neutral-fill-stealth-active-delta').withDefault(2);
151
+ /** @public */
152
+ export const neutralFillStealthFocusDelta = createNonCss('neutral-fill-stealth-focus-delta').withDefault(0);
153
+ /** @public */
154
+ export const neutralFillStrongRestDelta = createNonCss('neutral-fill-strong-rest-delta').withDefault(0);
155
+ /** @public */
156
+ export const neutralFillStrongHoverDelta = createNonCss('neutral-fill-strong-hover-delta').withDefault(8);
133
157
  /** @public */
134
- export const neutralFillLayerRestDelta = create('neutral-fill-layer-rest-delta').withDefault(3);
158
+ export const neutralFillStrongActiveDelta = createNonCss('neutral-fill-strong-active-delta').withDefault(-5);
135
159
  /** @public */
136
- export const neutralFillStealthRestDelta = create('neutral-fill-stealth-rest-delta').withDefault(0);
160
+ export const neutralFillStrongFocusDelta = createNonCss('neutral-fill-strong-focus-delta').withDefault(0);
137
161
  /** @public */
138
- export const neutralFillStealthHoverDelta = create('neutral-fill-stealth-hover-delta').withDefault(5);
162
+ export const neutralStrokeRestDelta = createNonCss('neutral-stroke-rest-delta').withDefault(8);
139
163
  /** @public */
140
- export const neutralFillStealthActiveDelta = create('neutral-fill-stealth-active-delta').withDefault(3);
164
+ export const neutralStrokeHoverDelta = createNonCss('neutral-stroke-hover-delta').withDefault(12);
141
165
  /** @public */
142
- export const neutralFillStealthFocusDelta = create('neutral-fill-stealth-focus-delta').withDefault(0);
166
+ export const neutralStrokeActiveDelta = createNonCss('neutral-stroke-active-delta').withDefault(6);
143
167
  /** @public */
144
- export const neutralFillStrongRestDelta = create('neutral-fill-strong-rest-delta').withDefault(0);
168
+ export const neutralStrokeFocusDelta = createNonCss('neutral-stroke-focus-delta').withDefault(8);
145
169
  /** @public */
146
- export const neutralFillStrongHoverDelta = create('neutral-fill-strong-hover-delta').withDefault(8);
170
+ export const neutralStrokeControlRestDelta = createNonCss('neutral-stroke-control-rest-delta').withDefault(3);
147
171
  /** @public */
148
- export const neutralFillStrongActiveDelta = create('neutral-fill-strong-active-delta').withDefault(-5);
172
+ export const neutralStrokeControlHoverDelta = createNonCss('neutral-stroke-control-hover-delta').withDefault(5);
149
173
  /** @public */
150
- export const neutralFillStrongFocusDelta = create('neutral-fill-strong-focus-delta').withDefault(0);
174
+ export const neutralStrokeControlActiveDelta = createNonCss('neutral-stroke-control-active-delta').withDefault(5);
151
175
  /** @public */
152
- export const neutralStrokeRestDelta = create('neutral-stroke-rest-delta').withDefault(25);
176
+ export const neutralStrokeControlFocusDelta = createNonCss('neutral-stroke-control-focus-delta').withDefault(5);
153
177
  /** @public */
154
- export const neutralStrokeHoverDelta = create('neutral-stroke-hover-delta').withDefault(40);
178
+ export const neutralStrokeDividerRestDelta = createNonCss('neutral-stroke-divider-rest-delta').withDefault(4);
155
179
  /** @public */
156
- export const neutralStrokeActiveDelta = create('neutral-stroke-active-delta').withDefault(16);
180
+ export const neutralStrokeLayerRestDelta = createNonCss('neutral-stroke-layer-rest-delta').withDefault(3);
157
181
  /** @public */
158
- export const neutralStrokeFocusDelta = create('neutral-stroke-focus-delta').withDefault(25);
182
+ export const neutralStrokeLayerHoverDelta = createNonCss('neutral-stroke-layer-hover-delta').withDefault(3);
159
183
  /** @public */
160
- export const neutralStrokeDividerRestDelta = create('neutral-stroke-divider-rest-delta').withDefault(8);
184
+ export const neutralStrokeLayerActiveDelta = createNonCss('neutral-stroke-layer-active-delta').withDefault(3);
161
185
  /** @public */
162
- export const neutralStrokeStrongHoverDelta = create('neutral-stroke-strong-hover-delta').withDefault(40);
186
+ export const neutralStrokeStrongHoverDelta = createNonCss('neutral-stroke-strong-hover-delta').withDefault(0);
163
187
  /** @public */
164
- export const neutralStrokeStrongActiveDelta = create('neutral-stroke-strong-active-delta').withDefault(16);
188
+ export const neutralStrokeStrongActiveDelta = createNonCss('neutral-stroke-strong-active-delta').withDefault(0);
165
189
  /** @public */
166
- export const neutralStrokeStrongFocusDelta = create('neutral-stroke-strong-focus-delta').withDefault(25);
190
+ export const neutralStrokeStrongFocusDelta = createNonCss('neutral-stroke-strong-focus-delta').withDefault(0);
167
191
  // Color recipes
168
192
  /** @public */
169
- export const neutralPalette = create({ name: 'neutral-palette', cssCustomPropertyName: null }).withDefault(PaletteRGB.create(middleGrey));
193
+ export const neutralBaseColor = create('neutral-base-color').withDefault(middleGrey);
170
194
  /** @public */
171
- export const accentPalette = create({ name: 'accent-palette', cssCustomPropertyName: null }).withDefault(PaletteRGB.create(accentBase));
195
+ export const neutralPalette = createNonCss('neutral-palette').withDefault((element) => PaletteRGB.from(neutralBaseColor.getValueFor(element)));
196
+ /** @public */
197
+ export const accentBaseColor = create('accent-base-color').withDefault(accentBase);
198
+ /** @public */
199
+ export const accentPalette = createNonCss('accent-palette').withDefault((element) => PaletteRGB.from(accentBaseColor.getValueFor(element)));
172
200
  // Neutral Layer Card Container
173
201
  /** @public */
174
- export const neutralLayerCardContainerRecipe = create({
175
- name: 'neutral-layer-card-container-recipe',
176
- cssCustomPropertyName: null,
177
- }).withDefault({
178
- evaluate: (element) => neutralLayerCardContainerAlgorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
202
+ export const neutralLayerCardContainerRecipe = createNonCss('neutral-layer-card-container-recipe').withDefault({
203
+ evaluate: (element) => neutralLayer2Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
179
204
  });
180
205
  /** @public */
181
206
  export const neutralLayerCardContainer = create('neutral-layer-card-container').withDefault((element) => neutralLayerCardContainerRecipe.getValueFor(element).evaluate(element));
182
207
  // Neutral Layer Floating
183
208
  /** @public */
184
- export const neutralLayerFloatingRecipe = create({
185
- name: 'neutral-layer-floating-recipe',
186
- cssCustomPropertyName: null,
187
- }).withDefault({
209
+ export const neutralLayerFloatingRecipe = createNonCss('neutral-layer-floating-recipe').withDefault({
188
210
  evaluate: (element) => neutralLayerFloatingAlgorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
189
211
  });
190
212
  /** @public */
191
213
  export const neutralLayerFloating = create('neutral-layer-floating').withDefault((element) => neutralLayerFloatingRecipe.getValueFor(element).evaluate(element));
192
214
  // Neutral Layer 1
193
215
  /** @public */
194
- export const neutralLayer1Recipe = create({
195
- name: 'neutral-layer-1-recipe',
196
- cssCustomPropertyName: null,
197
- }).withDefault({
216
+ export const neutralLayer1Recipe = createNonCss('neutral-layer-1-recipe').withDefault({
198
217
  evaluate: (element) => neutralLayer1Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element)),
199
218
  });
200
219
  /** @public */
201
220
  export const neutralLayer1 = create('neutral-layer-1').withDefault((element) => neutralLayer1Recipe.getValueFor(element).evaluate(element));
202
221
  // Neutral Layer 2
203
222
  /** @public */
204
- export const neutralLayer2Recipe = create({
205
- name: 'neutral-layer-2-recipe',
206
- cssCustomPropertyName: null,
207
- }).withDefault({
208
- evaluate: (element) => neutralLayer2Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element)),
223
+ export const neutralLayer2Recipe = createNonCss('neutral-layer-2-recipe').withDefault({
224
+ evaluate: (element) => neutralLayer2Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
209
225
  });
210
226
  /** @public */
211
227
  export const neutralLayer2 = create('neutral-layer-2').withDefault((element) => neutralLayer2Recipe.getValueFor(element).evaluate(element));
212
228
  // Neutral Layer 3
213
229
  /** @public */
214
- export const neutralLayer3Recipe = create({
215
- name: 'neutral-layer-3-recipe',
216
- cssCustomPropertyName: null,
217
- }).withDefault({
218
- evaluate: (element) => neutralLayer3Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element)),
230
+ export const neutralLayer3Recipe = createNonCss('neutral-layer-3-recipe').withDefault({
231
+ evaluate: (element) => neutralLayer3Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
219
232
  });
220
233
  /** @public */
221
234
  export const neutralLayer3 = create('neutral-layer-3').withDefault((element) => neutralLayer3Recipe.getValueFor(element).evaluate(element));
222
235
  // Neutral Layer 4
223
236
  /** @public */
224
- export const neutralLayer4Recipe = create({
225
- name: 'neutral-layer-4-recipe',
226
- cssCustomPropertyName: null,
227
- }).withDefault({
228
- evaluate: (element) => neutralLayer4Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element)),
237
+ export const neutralLayer4Recipe = createNonCss('neutral-layer-4-recipe').withDefault({
238
+ evaluate: (element) => neutralLayer4Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
229
239
  });
230
240
  /** @public */
231
241
  export const neutralLayer4 = create('neutral-layer-4').withDefault((element) => neutralLayer4Recipe.getValueFor(element).evaluate(element));
@@ -234,16 +244,12 @@ export const fillColor = create('fill-color').withDefault(element => neutralLaye
234
244
  var ContrastTarget;
235
245
  (function (ContrastTarget) {
236
246
  ContrastTarget[ContrastTarget["normal"] = 4.5] = "normal";
237
- ContrastTarget[ContrastTarget["large"] = 7] = "large";
247
+ ContrastTarget[ContrastTarget["large"] = 3] = "large";
238
248
  })(ContrastTarget || (ContrastTarget = {}));
239
249
  // Accent Fill
240
- const accentFillByContrast = (contrast) => (element, reference) => accentFillAlgorithm(accentPalette.getValueFor(element), neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), accentFillFocusDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element));
241
250
  /** @public */
242
- export const accentFillRecipe = create({
243
- name: 'accent-fill-recipe',
244
- cssCustomPropertyName: null,
245
- }).withDefault({
246
- evaluate: (element, reference) => accentFillByContrast(ContrastTarget.normal)(element, reference),
251
+ export const accentFillRecipe = createNonCss('accent-fill-recipe').withDefault({
252
+ evaluate: (element, reference) => contrastAndDeltaSwatchSetByLuminance(accentPalette.getValueFor(element), reference || fillColor.getValueFor(element), 5, accentFillRestDelta.getValueFor(element), accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), accentFillFocusDelta.getValueFor(element), undefined, 8, accentFillRestDelta.getValueFor(element), accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), accentFillFocusDelta.getValueFor(element), undefined),
247
253
  });
248
254
  /** @public */
249
255
  export const accentFillRest = create('accent-fill-rest').withDefault((element) => {
@@ -262,45 +268,22 @@ export const accentFillFocus = create('accent-fill-focus').withDefault((element)
262
268
  return accentFillRecipe.getValueFor(element).evaluate(element).focus;
263
269
  });
264
270
  // Foreground On Accent
265
- const foregroundOnAccentByContrast = (contrast) => (element, reference) => foregroundOnAccentAlgorithm(reference || accentFillRest.getValueFor(element), contrast);
266
271
  /** @public */
267
- export const foregroundOnAccentRecipe = create({
268
- name: 'foreground-on-accent-recipe',
269
- cssCustomPropertyName: null,
270
- }).withDefault({
271
- evaluate: (element, reference) => foregroundOnAccentByContrast(ContrastTarget.normal)(element, reference),
272
+ export const foregroundOnAccentRecipe = createNonCss('foreground-on-accent-recipe').withDefault({
273
+ evaluate: (element) => foregroundOnAccentSetAlgorithm(accentFillRest.getValueFor(element), accentFillHover.getValueFor(element), accentFillActive.getValueFor(element), accentFillFocus.getValueFor(element), ContrastTarget.normal),
272
274
  });
273
275
  /** @public */
274
- export const foregroundOnAccentRest = create('foreground-on-accent-rest').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillRest.getValueFor(element)));
276
+ export const foregroundOnAccentRest = create('foreground-on-accent-rest').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element).rest);
275
277
  /** @public */
276
- export const foregroundOnAccentHover = create('foreground-on-accent-hover').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)));
278
+ export const foregroundOnAccentHover = create('foreground-on-accent-hover').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element).hover);
277
279
  /** @public */
278
- export const foregroundOnAccentActive = create('foreground-on-accent-active').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)));
280
+ export const foregroundOnAccentActive = create('foreground-on-accent-active').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element).active);
279
281
  /** @public */
280
- export const foregroundOnAccentFocus = create('foreground-on-accent-focus').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)));
281
- /** @public @deprecated Not used */
282
- export const foregroundOnAccentLargeRecipe = create({
283
- name: 'foreground-on-accent-large-recipe',
284
- cssCustomPropertyName: null,
285
- }).withDefault({
286
- evaluate: (element, reference) => foregroundOnAccentByContrast(ContrastTarget.large)(element, reference),
287
- });
288
- /** @public @deprecated Not used */
289
- export const foregroundOnAccentRestLarge = create('foreground-on-accent-rest-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element));
290
- /** @public @deprecated Not used */
291
- export const foregroundOnAccentHoverLarge = create('foreground-on-accent-hover-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)));
292
- /** @public @deprecated Not used */
293
- export const foregroundOnAccentActiveLarge = create('foreground-on-accent-active-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)));
294
- /** @public @deprecated Not used */
295
- export const foregroundOnAccentFocusLarge = create('foreground-on-accent-focus-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)));
282
+ export const foregroundOnAccentFocus = create('foreground-on-accent-focus').withDefault((element) => foregroundOnAccentRecipe.getValueFor(element).evaluate(element).focus);
296
283
  // Accent Foreground
297
- const accentForegroundByContrast = (contrast) => (element, reference) => accentForegroundAlgorithm(accentPalette.getValueFor(element), reference || fillColor.getValueFor(element), contrast, accentForegroundRestDelta.getValueFor(element), accentForegroundHoverDelta.getValueFor(element), accentForegroundActiveDelta.getValueFor(element), accentForegroundFocusDelta.getValueFor(element));
298
284
  /** @public */
299
- export const accentForegroundRecipe = create({
300
- name: 'accent-foreground-recipe',
301
- cssCustomPropertyName: null,
302
- }).withDefault({
303
- evaluate: (element, reference) => accentForegroundByContrast(ContrastTarget.normal)(element, reference),
285
+ export const accentForegroundRecipe = createNonCss('accent-foreground-recipe').withDefault({
286
+ evaluate: (element, reference) => contrastAndDeltaSwatchSet(accentPalette.getValueFor(element), reference || fillColor.getValueFor(element), 9.5, accentForegroundRestDelta.getValueFor(element), accentForegroundHoverDelta.getValueFor(element), accentForegroundActiveDelta.getValueFor(element), accentForegroundFocusDelta.getValueFor(element)),
304
287
  });
305
288
  /** @public */
306
289
  export const accentForegroundRest = create('accent-foreground-rest').withDefault((element) => accentForegroundRecipe.getValueFor(element).evaluate(element).rest);
@@ -310,13 +293,25 @@ export const accentForegroundHover = create('accent-foreground-hover').withDefau
310
293
  export const accentForegroundActive = create('accent-foreground-active').withDefault((element) => accentForegroundRecipe.getValueFor(element).evaluate(element).active);
311
294
  /** @public */
312
295
  export const accentForegroundFocus = create('accent-foreground-focus').withDefault((element) => accentForegroundRecipe.getValueFor(element).evaluate(element).focus);
296
+ // Accent Stroke Control
297
+ /** @public */
298
+ export const accentStrokeControlRecipe = createNonCss('accent-stroke-control-recipe').withDefault({
299
+ evaluate: (element, reference) => {
300
+ return gradientShadowStrokeAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), -3, -3, -3, -3, 10, 1, undefined, true);
301
+ },
302
+ });
303
+ /** @public */
304
+ export const accentStrokeControlRest = create('accent-stroke-control-rest').withDefault((element) => accentStrokeControlRecipe.getValueFor(element).evaluate(element, accentFillRest.getValueFor(element)).rest);
305
+ /** @public */
306
+ export const accentStrokeControlHover = create('accent-stroke-control-hover').withDefault((element) => accentStrokeControlRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)).hover);
307
+ /** @public */
308
+ export const accentStrokeControlActive = create('accent-stroke-control-active').withDefault((element) => accentStrokeControlRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)).active);
309
+ /** @public */
310
+ export const accentStrokeControlFocus = create('accent-stroke-control-focus').withDefault((element) => accentStrokeControlRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)).focus);
313
311
  // Neutral Fill
314
312
  /** @public */
315
- export const neutralFillRecipe = create({
316
- name: 'neutral-fill-recipe',
317
- cssCustomPropertyName: null,
318
- }).withDefault({
319
- evaluate: (element, reference) => neutralFillAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element)),
313
+ export const neutralFillRecipe = createNonCss('neutral-fill-recipe').withDefault({
314
+ evaluate: (element, reference) => deltaSwatchSetByLuminance(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element), undefined, 2, 3, 1, 2, undefined),
320
315
  });
321
316
  /** @public */
322
317
  export const neutralFillRest = create('neutral-fill-rest').withDefault((element) => neutralFillRecipe.getValueFor(element).evaluate(element).rest);
@@ -328,53 +323,65 @@ export const neutralFillActive = create('neutral-fill-active').withDefault((elem
328
323
  export const neutralFillFocus = create('neutral-fill-focus').withDefault((element) => neutralFillRecipe.getValueFor(element).evaluate(element).focus);
329
324
  // Neutral Fill Input
330
325
  /** @public */
331
- export const neutralFillInputRecipe = create({
332
- name: 'neutral-fill-input-recipe',
333
- cssCustomPropertyName: null,
334
- }).withDefault({
335
- evaluate: (element, reference) => neutralFillInputAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillInputRestDelta.getValueFor(element), neutralFillInputHoverDelta.getValueFor(element), neutralFillInputActiveDelta.getValueFor(element), neutralFillInputFocusDelta.getValueFor(element)),
326
+ export const neutralFillInputRecipe = createNonCss('neutral-fill-input-recipe').withDefault({
327
+ evaluate: (element, reference) => deltaSwatchSetByLuminance(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillInputRestDelta.getValueFor(element), neutralFillInputHoverDelta.getValueFor(element), neutralFillInputActiveDelta.getValueFor(element), neutralFillInputFocusDelta.getValueFor(element), undefined, 2, 3, 1, 0, undefined),
336
328
  });
337
329
  /** @public */
338
330
  export const neutralFillInputRest = create('neutral-fill-input-rest').withDefault((element) => neutralFillInputRecipe.getValueFor(element).evaluate(element).rest);
339
331
  /** @public */
340
332
  export const neutralFillInputHover = create('neutral-fill-input-hover').withDefault((element) => neutralFillInputRecipe.getValueFor(element).evaluate(element).hover);
341
333
  /** @public */
334
+ export const neutralFillInputActive = create('neutral-fill-input-active').withDefault((element) => neutralFillInputRecipe.getValueFor(element).evaluate(element).active);
335
+ /** @public */
342
336
  export const neutralFillInputFocus = create('neutral-fill-input-focus').withDefault((element) => neutralFillInputRecipe.getValueFor(element).evaluate(element).focus);
337
+ // Neutral Fill Input Alt
343
338
  /** @public */
344
- export const neutralFillInputActive = create('neutral-fill-input-active').withDefault((element) => neutralFillInputRecipe.getValueFor(element).evaluate(element).active);
345
- // Neutral Fill Inverse
346
- /** @public @deprecated Not used */
347
- export const neutralFillInverseRecipe = create({
348
- name: 'neutral-fill-inverse-recipe',
349
- cssCustomPropertyName: null,
350
- }).withDefault({
351
- evaluate: (element, reference) => neutralFillInverseAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillInverseRestDelta.getValueFor(element), neutralFillInverseHoverDelta.getValueFor(element), neutralFillInverseActiveDelta.getValueFor(element), neutralFillInverseFocusDelta.getValueFor(element)),
339
+ export const neutralFillInputAltRecipe = createNonCss('neutral-fill-input-alt-recipe').withDefault({
340
+ evaluate: (element, reference) => deltaSwatchSetByLuminance(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillInputAltRestDelta.getValueFor(element), neutralFillInputAltHoverDelta.getValueFor(element), neutralFillInputAltActiveDelta.getValueFor(element), neutralFillInputAltFocusDelta.getValueFor(element), 1, neutralFillInputAltRestDelta.getValueFor(element), neutralFillInputAltRestDelta.getValueFor(element) - neutralFillInputAltHoverDelta.getValueFor(element), neutralFillInputAltRestDelta.getValueFor(element) - neutralFillInputAltActiveDelta.getValueFor(element), neutralFillInputAltFocusDelta.getValueFor(element), 1),
352
341
  });
353
- /** @public @deprecated Not used */
354
- export const neutralFillInverseRest = create('neutral-fill-inverse-rest').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).rest);
355
- /** @public @deprecated Not used */
356
- export const neutralFillInverseHover = create('neutral-fill-inverse-hover').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).hover);
357
- /** @public @deprecated Not used */
358
- export const neutralFillInverseActive = create('neutral-fill-inverse-active').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).active);
359
- /** @public @deprecated Not used */
360
- export const neutralFillInverseFocus = create('neutral-fill-inverse-focus').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).focus);
342
+ /** @public */
343
+ export const neutralFillInputAltRest = create('neutral-fill-input-alt-rest').withDefault((element) => neutralFillInputAltRecipe.getValueFor(element).evaluate(element).rest);
344
+ /** @public */
345
+ export const neutralFillInputAltHover = create('neutral-fill-input-alt-hover').withDefault((element) => neutralFillInputAltRecipe.getValueFor(element).evaluate(element).hover);
346
+ /** @public */
347
+ export const neutralFillInputAltActive = create('neutral-fill-input-alt-active').withDefault((element) => neutralFillInputAltRecipe.getValueFor(element).evaluate(element).active);
348
+ /** @public */
349
+ export const neutralFillInputAltFocus = create('neutral-fill-input-alt-focus').withDefault((element) => neutralFillInputAltRecipe.getValueFor(element).evaluate(element).focus);
361
350
  // Neutral Fill Layer
362
351
  /** @public */
363
- export const neutralFillLayerRecipe = create({
364
- name: 'neutral-fill-layer-recipe',
365
- cssCustomPropertyName: null,
366
- }).withDefault({
367
- evaluate: (element, reference) => neutralFillLayerAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element)),
352
+ export const neutralFillLayerRecipe = createNonCss('neutral-fill-layer-recipe').withDefault({
353
+ evaluate: (element, reference) => deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element), neutralFillLayerHoverDelta.getValueFor(element), neutralFillLayerActiveDelta.getValueFor(element), neutralFillLayerRestDelta.getValueFor(element), 1),
354
+ });
355
+ /** @public */
356
+ export const neutralFillLayerRest = create('neutral-fill-layer-rest').withDefault((element) => neutralFillLayerRecipe.getValueFor(element).evaluate(element).rest);
357
+ /** @public */
358
+ export const neutralFillLayerHover = create('neutral-fill-layer-hover').withDefault((element) => neutralFillLayerRecipe.getValueFor(element).evaluate(element).hover);
359
+ /** @public */
360
+ export const neutralFillLayerActive = create('neutral-fill-layer-active').withDefault((element) => neutralFillLayerRecipe.getValueFor(element).evaluate(element).active);
361
+ // Neutral Fill Layer Alt
362
+ /** @public */
363
+ export const neutralFillLayerAltRecipe = createNonCss('neutral-fill-layer-alt-recipe').withDefault({
364
+ evaluate: (element, reference) => deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillLayerAltRestDelta.getValueFor(element), neutralFillLayerAltRestDelta.getValueFor(element), neutralFillLayerAltRestDelta.getValueFor(element), neutralFillLayerAltRestDelta.getValueFor(element)),
368
365
  });
369
366
  /** @public */
370
- export const neutralFillLayerRest = create('neutral-fill-layer-rest').withDefault((element) => neutralFillLayerRecipe.getValueFor(element).evaluate(element));
367
+ export const neutralFillLayerAltRest = create('neutral-fill-layer-alt-rest').withDefault((element) => neutralFillLayerAltRecipe.getValueFor(element).evaluate(element).rest);
368
+ // Neutral Fill Secondary
369
+ /** @public */
370
+ export const neutralFillSecondaryRecipe = createNonCss('neutral-fill-secondary-recipe').withDefault({
371
+ evaluate: (element, reference) => deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillSecondaryRestDelta.getValueFor(element), neutralFillSecondaryHoverDelta.getValueFor(element), neutralFillSecondaryActiveDelta.getValueFor(element), neutralFillSecondaryFocusDelta.getValueFor(element)),
372
+ });
373
+ /** @public */
374
+ export const neutralFillSecondaryRest = create('neutral-fill-secondary-rest').withDefault((element) => neutralFillSecondaryRecipe.getValueFor(element).evaluate(element).rest);
375
+ /** @public */
376
+ export const neutralFillSecondaryHover = create('neutral-fill-secondary-hover').withDefault((element) => neutralFillSecondaryRecipe.getValueFor(element).evaluate(element).hover);
377
+ /** @public */
378
+ export const neutralFillSecondaryActive = create('neutral-fill-secondary-active').withDefault((element) => neutralFillSecondaryRecipe.getValueFor(element).evaluate(element).active);
379
+ /** @public */
380
+ export const neutralFillSecondaryFocus = create('neutral-fill-secondary-focus').withDefault((element) => neutralFillSecondaryRecipe.getValueFor(element).evaluate(element).focus);
371
381
  // Neutral Fill Stealth
372
382
  /** @public */
373
- export const neutralFillStealthRecipe = create({
374
- name: 'neutral-fill-stealth-recipe',
375
- cssCustomPropertyName: null,
376
- }).withDefault({
377
- evaluate: (element, reference) => neutralFillStealthAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillStealthRestDelta.getValueFor(element), neutralFillStealthHoverDelta.getValueFor(element), neutralFillStealthActiveDelta.getValueFor(element), neutralFillStealthFocusDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element)),
383
+ export const neutralFillStealthRecipe = createNonCss('neutral-fill-stealth-recipe').withDefault({
384
+ evaluate: (element, reference) => deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillStealthRestDelta.getValueFor(element), neutralFillStealthHoverDelta.getValueFor(element), neutralFillStealthActiveDelta.getValueFor(element), neutralFillStealthFocusDelta.getValueFor(element)),
378
385
  });
379
386
  /** @public */
380
387
  export const neutralFillStealthRest = create('neutral-fill-stealth-rest').withDefault((element) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).rest);
@@ -385,13 +392,9 @@ export const neutralFillStealthActive = create('neutral-fill-stealth-active').wi
385
392
  /** @public */
386
393
  export const neutralFillStealthFocus = create('neutral-fill-stealth-focus').withDefault((element) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).focus);
387
394
  // Neutral Fill Strong
388
- // TODO: none of these are actually used, do we need them?
389
395
  /** @public */
390
- export const neutralFillStrongRecipe = create({
391
- name: 'neutral-fill-strong-recipe',
392
- cssCustomPropertyName: null,
393
- }).withDefault({
394
- evaluate: (element, reference) => neutralFillContrastAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillStrongRestDelta.getValueFor(element), neutralFillStrongHoverDelta.getValueFor(element), neutralFillStrongActiveDelta.getValueFor(element), neutralFillStrongFocusDelta.getValueFor(element)),
396
+ export const neutralFillStrongRecipe = createNonCss('neutral-fill-strong-recipe').withDefault({
397
+ evaluate: (element, reference) => contrastAndDeltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), 4.5, neutralFillStrongRestDelta.getValueFor(element), neutralFillStrongHoverDelta.getValueFor(element), neutralFillStrongActiveDelta.getValueFor(element), neutralFillStrongFocusDelta.getValueFor(element)),
395
398
  });
396
399
  /** @public */
397
400
  export const neutralFillStrongRest = create('neutral-fill-strong-rest').withDefault((element) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).rest);
@@ -401,14 +404,31 @@ export const neutralFillStrongHover = create('neutral-fill-strong-hover').withDe
401
404
  export const neutralFillStrongActive = create('neutral-fill-strong-active').withDefault((element) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).active);
402
405
  /** @public */
403
406
  export const neutralFillStrongFocus = create('neutral-fill-strong-focus').withDefault((element) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).focus);
407
+ // Neutral Foreground
408
+ /** @public */
409
+ export const neutralForegroundRecipe = createNonCss('neutral-foreground-recipe').withDefault({
410
+ evaluate: (element, reference) => contrastAndDeltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), 16, 0, -19, -30, 0),
411
+ });
412
+ /** @public */
413
+ export const neutralForegroundRest = create('neutral-foreground-rest').withDefault((element) => neutralForegroundRecipe.getValueFor(element).evaluate(element).rest);
414
+ /** @public */
415
+ export const neutralForegroundHover = create('neutral-foreground-hover').withDefault((element) => neutralForegroundRecipe.getValueFor(element).evaluate(element).hover);
416
+ /** @public */
417
+ export const neutralForegroundActive = create('neutral-foreground-active').withDefault((element) => neutralForegroundRecipe.getValueFor(element).evaluate(element).active);
418
+ /** @public */
419
+ export const neutralForegroundFocus = create('neutral-foreground-focus').withDefault((element) => neutralForegroundRecipe.getValueFor(element).evaluate(element).focus);
420
+ // Neutral Foreground Hint
421
+ /** @public */
422
+ export const neutralForegroundHintRecipe = createNonCss('neutral-foreground-hint-recipe').withDefault({
423
+ evaluate: (element, reference) => contrastSwatch(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), 4.5),
424
+ });
425
+ /** @public */
426
+ export const neutralForegroundHint = create('neutral-foreground-hint').withDefault((element) => neutralForegroundHintRecipe.getValueFor(element).evaluate(element));
404
427
  // Neutral Stroke
405
428
  /** @public */
406
- export const neutralStrokeRecipe = create({
407
- name: 'neutral-stroke-recipe',
408
- cssCustomPropertyName: null,
409
- }).withDefault({
410
- evaluate: (element) => {
411
- return neutralStrokeAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element), neutralStrokeRestDelta.getValueFor(element), neutralStrokeHoverDelta.getValueFor(element), neutralStrokeActiveDelta.getValueFor(element), neutralStrokeFocusDelta.getValueFor(element));
429
+ export const neutralStrokeRecipe = createNonCss('neutral-stroke-recipe').withDefault({
430
+ evaluate: (element, reference) => {
431
+ return deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeRestDelta.getValueFor(element), neutralStrokeHoverDelta.getValueFor(element), neutralStrokeActiveDelta.getValueFor(element), neutralStrokeFocusDelta.getValueFor(element));
412
432
  },
413
433
  });
414
434
  /** @public */
@@ -419,27 +439,62 @@ export const neutralStrokeHover = create('neutral-stroke-hover').withDefault((el
419
439
  export const neutralStrokeActive = create('neutral-stroke-active').withDefault((element) => neutralStrokeRecipe.getValueFor(element).evaluate(element).active);
420
440
  /** @public */
421
441
  export const neutralStrokeFocus = create('neutral-stroke-focus').withDefault((element) => neutralStrokeRecipe.getValueFor(element).evaluate(element).focus);
442
+ // Neutral Stroke Control
443
+ /** @public */
444
+ export const neutralStrokeControlRecipe = createNonCss('neutral-stroke-control-recipe').withDefault({
445
+ evaluate: (element, reference) => {
446
+ return gradientShadowStrokeAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeControlRestDelta.getValueFor(element), neutralStrokeControlHoverDelta.getValueFor(element), neutralStrokeControlActiveDelta.getValueFor(element), neutralStrokeControlFocusDelta.getValueFor(element), 5);
447
+ },
448
+ });
449
+ /** @public */
450
+ export const neutralStrokeControlRest = create('neutral-stroke-control-rest').withDefault((element) => neutralStrokeControlRecipe.getValueFor(element).evaluate(element).rest);
451
+ /** @public */
452
+ export const neutralStrokeControlHover = create('neutral-stroke-control-hover').withDefault((element) => neutralStrokeControlRecipe.getValueFor(element).evaluate(element).hover);
453
+ /** @public */
454
+ export const neutralStrokeControlActive = create('neutral-stroke-control-active').withDefault((element) => neutralStrokeControlRecipe.getValueFor(element).evaluate(element).active);
455
+ /** @public */
456
+ export const neutralStrokeControlFocus = create('neutral-stroke-control-focus').withDefault((element) => neutralStrokeControlRecipe.getValueFor(element).evaluate(element).focus);
422
457
  // Neutral Stroke Divider
423
458
  /** @public */
424
- export const neutralStrokeDividerRecipe = create({
425
- name: 'neutral-stroke-divider-recipe',
426
- cssCustomPropertyName: null,
427
- }).withDefault({
428
- evaluate: (element, reference) => neutralDividerAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeDividerRestDelta.getValueFor(element)),
459
+ export const neutralStrokeDividerRecipe = createNonCss('neutral-stroke-divider-recipe').withDefault({
460
+ evaluate: (element, reference) => deltaSwatch(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeDividerRestDelta.getValueFor(element)),
429
461
  });
430
462
  /** @public */
431
463
  export const neutralStrokeDividerRest = create('neutral-stroke-divider-rest').withDefault(element => neutralStrokeDividerRecipe.getValueFor(element).evaluate(element));
432
- // Neutral Stroke Strong
464
+ // Neutral Stroke Input
433
465
  /** @public */
434
- export const neutralStrokeStrongRecipe = create({
435
- name: 'neutral-stroke-strong-recipe',
436
- cssCustomPropertyName: null,
437
- }).withDefault({
438
- evaluate: (element) => {
439
- return neutralStrokeStrongAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element), 3, neutralStrokeStrongHoverDelta.getValueFor(element), neutralStrokeStrongActiveDelta.getValueFor(element), neutralStrokeStrongFocusDelta.getValueFor(element));
466
+ export const neutralStrokeInputRecipe = createNonCss('neutral-stroke-input-recipe').withDefault({
467
+ evaluate: (element, reference) => {
468
+ return underlineStrokeAlgorithm(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeControlRestDelta.getValueFor(element), neutralStrokeControlHoverDelta.getValueFor(element), neutralStrokeControlActiveDelta.getValueFor(element), neutralStrokeControlFocusDelta.getValueFor(element), 20, strokeWidth.getValueFor(element) + 'px');
440
469
  },
441
470
  });
442
471
  /** @public */
472
+ export const neutralStrokeInputRest = create('neutral-stroke-input-rest').withDefault((element) => neutralStrokeInputRecipe.getValueFor(element).evaluate(element).rest);
473
+ /** @public */
474
+ export const neutralStrokeInputHover = create('neutral-stroke-input-hover').withDefault((element) => neutralStrokeInputRecipe.getValueFor(element).evaluate(element).hover);
475
+ /** @public */
476
+ export const neutralStrokeInputActive = create('neutral-stroke-input-active').withDefault((element) => neutralStrokeInputRecipe.getValueFor(element).evaluate(element).active);
477
+ /** @public */
478
+ export const neutralStrokeInputFocus = create('neutral-stroke-input-focus').withDefault((element) => neutralStrokeInputRecipe.getValueFor(element).evaluate(element).focus);
479
+ // Neutral Stroke Layer
480
+ /** @public */
481
+ export const neutralStrokeLayerRecipe = createNonCss('neutral-stroke-layer-recipe').withDefault({
482
+ evaluate: (element, reference) => {
483
+ return deltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralStrokeLayerRestDelta.getValueFor(element), neutralStrokeLayerHoverDelta.getValueFor(element), neutralStrokeLayerActiveDelta.getValueFor(element), neutralStrokeLayerRestDelta.getValueFor(element));
484
+ },
485
+ });
486
+ /** @public */
487
+ export const neutralStrokeLayerRest = create('neutral-stroke-layer-rest').withDefault((element) => neutralStrokeLayerRecipe.getValueFor(element).evaluate(element).rest);
488
+ /** @public */
489
+ export const neutralStrokeLayerHover = create('neutral-stroke-layer-hover').withDefault((element) => neutralStrokeLayerRecipe.getValueFor(element).evaluate(element).hover);
490
+ /** @public */
491
+ export const neutralStrokeLayerActive = create('neutral-stroke-layer-active').withDefault((element) => neutralStrokeLayerRecipe.getValueFor(element).evaluate(element).active);
492
+ // Neutral Stroke Strong
493
+ /** @public */
494
+ export const neutralStrokeStrongRecipe = createNonCss('neutral-stroke-strong-recipe').withDefault({
495
+ evaluate: (element, reference) => contrastAndDeltaSwatchSet(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), 5.5, 0, neutralStrokeStrongHoverDelta.getValueFor(element), neutralStrokeStrongActiveDelta.getValueFor(element), neutralStrokeStrongFocusDelta.getValueFor(element)),
496
+ });
497
+ /** @public */
443
498
  export const neutralStrokeStrongRest = create('neutral-stroke-strong-rest').withDefault((element) => neutralStrokeStrongRecipe.getValueFor(element).evaluate(element).rest);
444
499
  /** @public */
445
500
  export const neutralStrokeStrongHover = create('neutral-stroke-strong-hover').withDefault((element) => neutralStrokeStrongRecipe.getValueFor(element).evaluate(element).hover);
@@ -449,45 +504,76 @@ export const neutralStrokeStrongActive = create('neutral-stroke-strong-active').
449
504
  export const neutralStrokeStrongFocus = create('neutral-stroke-strong-focus').withDefault((element) => neutralStrokeStrongRecipe.getValueFor(element).evaluate(element).focus);
450
505
  // Focus Stroke Outer
451
506
  /** @public */
452
- export const focusStrokeOuterRecipe = create({
453
- name: 'focus-stroke-outer-recipe',
454
- cssCustomPropertyName: null,
455
- }).withDefault({
507
+ export const focusStrokeOuterRecipe = createNonCss('focus-stroke-outer-recipe').withDefault({
456
508
  evaluate: (element) => focusStrokeOuterAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)),
457
509
  });
458
510
  /** @public */
459
511
  export const focusStrokeOuter = create('focus-stroke-outer').withDefault((element) => focusStrokeOuterRecipe.getValueFor(element).evaluate(element));
460
512
  // Focus Stroke Inner
461
513
  /** @public */
462
- export const focusStrokeInnerRecipe = create({
463
- name: 'focus-stroke-inner-recipe',
464
- cssCustomPropertyName: null,
465
- }).withDefault({
514
+ export const focusStrokeInnerRecipe = createNonCss('focus-stroke-inner-recipe').withDefault({
466
515
  evaluate: (element) => focusStrokeInnerAlgorithm(accentPalette.getValueFor(element), fillColor.getValueFor(element), focusStrokeOuter.getValueFor(element)),
467
516
  });
468
517
  /** @public */
469
518
  export const focusStrokeInner = create('focus-stroke-inner').withDefault((element) => focusStrokeInnerRecipe.getValueFor(element).evaluate(element));
470
- // Neutral Foreground
471
- /** @public */
472
- export const neutralForegroundRecipe = create({
473
- name: 'neutral-foreground-recipe',
474
- cssCustomPropertyName: null,
475
- }).withDefault({
476
- evaluate: (element) => neutralForegroundAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)),
519
+ // Deprecated tokens
520
+ // Foreground On Accent
521
+ /** @public @deprecated Not used */
522
+ export const foregroundOnAccentLargeRecipe = createNonCss('foreground-on-accent-large-recipe').withDefault({
523
+ evaluate: (element) => foregroundOnAccentSetAlgorithm(accentFillRest.getValueFor(element), accentFillHover.getValueFor(element), accentFillActive.getValueFor(element), accentFillFocus.getValueFor(element), ContrastTarget.large),
477
524
  });
478
- /** @public */
479
- export const neutralForegroundRest = create('neutral-foreground-rest').withDefault((element) => neutralForegroundRecipe.getValueFor(element).evaluate(element));
480
- // Neutral Foreground Hint
481
- /** @public */
482
- export const neutralForegroundHintRecipe = create({
483
- name: 'neutral-foreground-hint-recipe',
484
- cssCustomPropertyName: null,
485
- }).withDefault({
486
- evaluate: (element) => neutralForegroundHintAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)),
525
+ /** @public @deprecated Not used */
526
+ export const foregroundOnAccentRestLarge = create('foreground-on-accent-rest-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element).rest);
527
+ /** @public @deprecated Not used */
528
+ export const foregroundOnAccentHoverLarge = create('foreground-on-accent-hover-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)).hover);
529
+ /** @public @deprecated Not used */
530
+ export const foregroundOnAccentActiveLarge = create('foreground-on-accent-active-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)).active);
531
+ /** @public @deprecated Not used */
532
+ export const foregroundOnAccentFocusLarge = create('foreground-on-accent-focus-large').withDefault((element) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)).focus);
533
+ // Neutral Fill Inverse
534
+ /** @public @deprecated Not used */
535
+ export const neutralFillInverseRestDelta = create('neutral-fill-inverse-rest-delta').withDefault(0);
536
+ /** @public @deprecated Not used */
537
+ export const neutralFillInverseHoverDelta = create('neutral-fill-inverse-hover-delta').withDefault(-3);
538
+ /** @public @deprecated Not used */
539
+ export const neutralFillInverseActiveDelta = create('neutral-fill-inverse-active-delta').withDefault(7);
540
+ /** @public @deprecated Not used */
541
+ export const neutralFillInverseFocusDelta = create('neutral-fill-inverse-focus-delta').withDefault(0);
542
+ /** @deprecated Not used */
543
+ function neutralFillInverse(palette, reference, restDelta, hoverDelta, activeDelta, focusDelta) {
544
+ const direction = directionByIsDark(reference);
545
+ const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 14));
546
+ const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta);
547
+ const indexOneIsRest = direction === 1 ? restDelta < hoverDelta : direction * restDelta > direction * hoverDelta;
548
+ let restIndex;
549
+ let hoverIndex;
550
+ if (indexOneIsRest) {
551
+ restIndex = accessibleIndex;
552
+ hoverIndex = accessibleIndex2;
553
+ }
554
+ else {
555
+ restIndex = accessibleIndex2;
556
+ hoverIndex = accessibleIndex;
557
+ }
558
+ return {
559
+ rest: palette.get(restIndex),
560
+ hover: palette.get(hoverIndex),
561
+ active: palette.get(restIndex + direction * activeDelta),
562
+ focus: palette.get(restIndex + direction * focusDelta),
563
+ };
564
+ }
565
+ /** @public @deprecated Not used */
566
+ export const neutralFillInverseRecipe = createNonCss('neutral-fill-inverse-recipe').withDefault({
567
+ evaluate: (element, reference) => neutralFillInverse(neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), neutralFillInverseRestDelta.getValueFor(element), neutralFillInverseHoverDelta.getValueFor(element), neutralFillInverseActiveDelta.getValueFor(element), neutralFillInverseFocusDelta.getValueFor(element)),
487
568
  });
488
- /** @public */
489
- export const neutralForegroundHint = create('neutral-foreground-hint').withDefault((element) => neutralForegroundHintRecipe.getValueFor(element).evaluate(element));
490
- // Deprecated tokens
569
+ /** @public @deprecated Not used */
570
+ export const neutralFillInverseRest = create('neutral-fill-inverse-rest').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).rest);
571
+ /** @public @deprecated Not used */
572
+ export const neutralFillInverseHover = create('neutral-fill-inverse-hover').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).hover);
573
+ /** @public @deprecated Not used */
574
+ export const neutralFillInverseActive = create('neutral-fill-inverse-active').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).active);
575
+ /** @public @deprecated Not used */
576
+ export const neutralFillInverseFocus = create('neutral-fill-inverse-focus').withDefault((element) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).focus);
491
577
  /** @public @deprecated Use controlCornerRadius */
492
578
  export const cornerRadius = controlCornerRadius;
493
579
  /** @public @deprecated Use layerCornerRadius */
@@ -496,6 +582,14 @@ export const elevatedCornerRadius = layerCornerRadius;
496
582
  export const outlineWidth = strokeWidth;
497
583
  /** @public @deprecated Use focusStrokeWidth */
498
584
  export const focusOutlineWidth = focusStrokeWidth;
585
+ /** @public @deprecated Use neutralFillInverseRestDelta */
586
+ export const neutralContrastFillRestDelta = neutralFillInverseRestDelta;
587
+ /** @public @deprecated Use neutralFillInverseHoverDelta */
588
+ export const neutralContrastFillHoverDelta = neutralFillInverseHoverDelta;
589
+ /** @public @deprecated Use neutralFillInverseActiveDelta */
590
+ export const neutralContrastFillActiveDelta = neutralFillInverseActiveDelta;
591
+ /** @public @deprecated Use neutralFillInverseFocusDelta */
592
+ export const neutralContrastFillFocusDelta = neutralFillInverseFocusDelta;
499
593
  /** @public @deprecated Use neutralFillLayerRestDelta */
500
594
  export const neutralFillCardDelta = neutralFillLayerRestDelta;
501
595
  /** @public @deprecated Use neutralFillStrongRestDelta */
@@ -506,14 +600,6 @@ export const neutralFillToggleHoverDelta = neutralFillStrongHoverDelta;
506
600
  export const neutralFillToggleActiveDelta = neutralFillStrongActiveDelta;
507
601
  /** @public @deprecated Use neutralFillStrongFocusDelta */
508
602
  export const neutralFillToggleFocusDelta = neutralFillStrongFocusDelta;
509
- /** @public @deprecated Use neutralFillInverseRestDelta */
510
- export const neutralContrastFillRestDelta = neutralFillInverseRestDelta;
511
- /** @public @deprecated Use neutralFillInverseHoverDelta */
512
- export const neutralContrastFillHoverDelta = neutralFillInverseHoverDelta;
513
- /** @public @deprecated Use neutralFillInverseActiveDelta */
514
- export const neutralContrastFillActiveDelta = neutralFillInverseActiveDelta;
515
- /** @public @deprecated Use neutralFillInverseFocusDelta */
516
- export const neutralContrastFillFocusDelta = neutralFillInverseFocusDelta;
517
603
  /** @public @deprecated Use neutralStrokeDividerRestDelta */
518
604
  export const neutralDividerRestDelta = neutralStrokeDividerRestDelta;
519
605
  /** @public @deprecated Use neutralLayer1 */