@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.
- package/CHANGELOG.json +103 -1
- package/CHANGELOG.md +40 -2
- package/dist/dts/calendar/calendar.stories.d.ts +86 -0
- package/dist/dts/calendar/calendar.styles.d.ts +7 -0
- package/dist/dts/calendar/index.d.ts +18 -0
- package/dist/dts/color/palette.d.ts +43 -1
- package/dist/dts/color/recipes/contrast-and-delta-swatch-set.d.ts +11 -0
- package/dist/dts/color/recipes/contrast-swatch.d.ts +12 -0
- package/dist/dts/color/recipes/delta-swatch-set.d.ts +36 -0
- package/dist/dts/color/recipes/{neutral-divider.d.ts → delta-swatch.d.ts} +3 -2
- package/dist/dts/color/recipes/focus-stroke.d.ts +2 -2
- package/dist/dts/color/recipes/foreground-on-accent.d.ts +6 -0
- package/dist/dts/color/recipes/gradient-shadow-stroke.d.ts +7 -0
- package/dist/dts/color/recipes/gradient-swatch.d.ts +36 -0
- package/dist/dts/color/recipes/neutral-layer-1.d.ts +4 -0
- package/dist/dts/color/recipes/neutral-layer-2.d.ts +1 -5
- package/dist/dts/color/recipes/neutral-layer-3.d.ts +1 -1
- package/dist/dts/color/recipes/neutral-layer-4.d.ts +1 -1
- package/dist/dts/color/recipes/neutral-layer-floating.d.ts +1 -1
- package/dist/dts/color/recipes/underline-stroke.d.ts +7 -0
- package/dist/dts/color/swatch.d.ts +7 -0
- package/dist/dts/color/utilities/base-layer-luminance.d.ts +2 -2
- package/dist/dts/combobox/index.d.ts +1 -2
- package/dist/dts/custom-elements.d.ts +4 -2
- package/dist/dts/data-grid/data-grid-row.styles.d.ts +1 -1
- package/dist/dts/data-grid/index.d.ts +1 -1
- package/dist/dts/design-system-provider/index.d.ts +14 -29
- package/dist/dts/design-tokens.d.ts +198 -82
- package/dist/dts/menu/index.d.ts +11 -6
- package/dist/dts/menu/menu.stories.d.ts +1 -1
- package/dist/dts/select/index.d.ts +1 -1
- package/dist/dts/select/select.stories.d.ts +8 -0
- package/dist/dts/select/select.styles.d.ts +1 -0
- package/dist/dts/skeleton/skeleton.stories.d.ts +1 -0
- package/dist/dts/styles/elevation.d.ts +44 -5
- package/dist/dts/styles/patterns/button.styles.d.ts +7 -6
- package/dist/dts/styles/patterns/index.d.ts +1 -1
- package/dist/dts/styles/patterns/input.styles.d.ts +22 -0
- package/dist/dts/text-area/text-area.stories.d.ts +1 -1
- package/dist/dts/tree-view/tree-view.stories.d.ts +0 -5
- package/dist/esm/accordion/accordion-item/accordion-item.styles.js +54 -17
- package/dist/esm/accordion/accordion-item/index.js +4 -22
- package/dist/esm/accordion/accordion.styles.js +4 -4
- package/dist/esm/anchor/anchor.stories.js +2 -2
- package/dist/esm/anchor/anchor.styles.js +8 -2
- package/dist/esm/badge/badge.styles.js +10 -2
- package/dist/esm/breadcrumb-item/breadcrumb-item.styles.js +44 -53
- package/dist/esm/breadcrumb-item/index.js +2 -4
- package/dist/esm/button/button.stories.js +1 -1
- package/dist/esm/button/button.styles.js +21 -71
- package/dist/esm/calendar/calendar.stories.js +115 -0
- package/dist/esm/calendar/calendar.styles.js +133 -0
- package/dist/esm/calendar/index.js +31 -0
- package/dist/esm/card/card.stories.js +14 -0
- package/dist/esm/card/card.styles.js +23 -32
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/checkbox.styles.js +58 -51
- package/dist/esm/checkbox/index.js +5 -13
- package/dist/esm/color/palette.js +174 -12
- package/dist/esm/color/recipes/contrast-and-delta-swatch-set.js +28 -0
- package/dist/esm/color/recipes/contrast-swatch.js +12 -0
- package/dist/esm/color/recipes/delta-swatch-set.js +53 -0
- package/dist/esm/color/recipes/{neutral-divider.js → delta-swatch.js} +3 -2
- package/dist/esm/color/recipes/focus-stroke.js +4 -3
- package/dist/esm/color/recipes/foreground-on-accent.js +14 -0
- package/dist/esm/color/recipes/gradient-shadow-stroke.js +54 -0
- package/dist/esm/color/recipes/gradient-swatch.js +36 -0
- package/dist/esm/color/recipes/neutral-layer-1.js +7 -1
- package/dist/esm/color/recipes/neutral-layer-2.js +3 -9
- package/dist/esm/color/recipes/neutral-layer-3.js +3 -3
- package/dist/esm/color/recipes/neutral-layer-4.js +3 -3
- package/dist/esm/color/recipes/neutral-layer-floating.js +3 -4
- package/dist/esm/color/recipes/underline-stroke.js +31 -0
- package/dist/esm/color/swatch.js +22 -2
- package/dist/esm/color/utilities/base-layer-luminance.js +2 -2
- package/dist/esm/combobox/combobox.stories.js +1 -0
- package/dist/esm/combobox/index.js +6 -9
- package/dist/esm/custom-elements.js +3 -1
- package/dist/esm/data-grid/data-grid-cell.styles.js +4 -4
- package/dist/esm/data-grid/data-grid-row.styles.js +3 -3
- package/dist/esm/design-system-provider/design-system-provider.vscode.definition.json +17 -9
- package/dist/esm/design-system-provider/index.js +24 -39
- package/dist/esm/design-tokens.js +303 -217
- package/dist/esm/dialog/dialog.styles.js +2 -3
- package/dist/esm/divider/divider.styles.js +1 -2
- package/dist/esm/flipper/flipper.styles.js +28 -65
- package/dist/esm/flipper/index.js +4 -8
- package/dist/esm/listbox/listbox.styles.js +8 -29
- package/dist/esm/listbox-option/listbox-option.styles.js +52 -35
- package/dist/esm/menu/index.js +16 -6
- package/dist/esm/menu/menu.stories.js +16 -2
- package/dist/esm/menu/menu.styles.js +38 -27
- package/dist/esm/menu-item/index.js +6 -33
- package/dist/esm/menu-item/menu-item.stories.js +1 -1
- package/dist/esm/menu-item/menu-item.styles.js +58 -84
- package/dist/esm/number-field/index.js +7 -3
- package/dist/esm/number-field/number-field.styles.js +30 -175
- package/dist/esm/progress/progress/index.js +1 -1
- package/dist/esm/progress/progress/progress.styles.js +13 -18
- package/dist/esm/progress/progress-ring/progress-ring.styles.js +65 -69
- package/dist/esm/radio/index.js +3 -1
- package/dist/esm/radio/radio.stories.js +3 -2
- package/dist/esm/radio/radio.styles.js +52 -42
- package/dist/esm/radio-group/radio-group.styles.js +0 -2
- package/dist/esm/select/index.js +6 -9
- package/dist/esm/select/select.stories.js +10 -2
- package/dist/esm/select/select.styles.js +100 -124
- package/dist/esm/select/select.vscode.definition.json +3 -0
- package/dist/esm/skeleton/skeleton.stories.js +3 -2
- package/dist/esm/skeleton/skeleton.styles.js +11 -6
- package/dist/esm/slider/slider.styles.js +54 -14
- package/dist/esm/slider-label/slider-label.styles.js +5 -6
- package/dist/esm/styles/direction.js +1 -1
- package/dist/esm/styles/elevation.js +54 -5
- package/dist/esm/styles/patterns/button.styles.js +274 -294
- package/dist/esm/styles/patterns/index.js +1 -1
- package/dist/esm/styles/patterns/input.styles.js +218 -0
- package/dist/esm/switch/index.js +3 -1
- package/dist/esm/switch/switch.stories.js +3 -3
- package/dist/esm/switch/switch.styles.js +79 -60
- package/dist/esm/tabs/tab/tab.styles.js +11 -14
- package/dist/esm/tabs/tabs.styles.js +9 -8
- package/dist/esm/text-area/text-area.stories.js +2 -2
- package/dist/esm/text-area/text-area.styles.js +16 -96
- package/dist/esm/text-field/text-field.stories.js +1 -1
- package/dist/esm/text-field/text-field.styles.js +16 -144
- package/dist/esm/toolbar/index.js +1 -0
- package/dist/esm/toolbar/toolbar.styles.js +56 -56
- package/dist/esm/tooltip/index.js +2 -4
- package/dist/esm/tooltip/tooltip.styles.js +14 -14
- package/dist/esm/tree-item/index.js +2 -8
- package/dist/esm/tree-item/tree-item.styles.js +45 -80
- package/dist/esm/tree-view/tree-view.stories.js +23 -11
- package/dist/fluent-web-components.api.json +4900 -2353
- package/dist/web-components.d.ts +397 -100
- package/dist/web-components.js +2240 -2175
- package/dist/web-components.min.js +158 -128
- package/docs/api-report.md +338 -80
- package/package.json +2 -5
- package/public/switches.ts +13 -14
- package/dist/dts/color/recipes/accent-fill.d.ts +0 -7
- package/dist/dts/color/recipes/accent-foreground.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-fill-contrast.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-fill-input.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-fill-inverse.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-fill-layer.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-fill-stealth.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-fill.d.ts +0 -14
- package/dist/dts/color/recipes/neutral-foreground-hint.d.ts +0 -10
- package/dist/dts/color/recipes/neutral-foreground.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-layer-card-container.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-stroke-strong.d.ts +0 -7
- package/dist/dts/color/recipes/neutral-stroke.d.ts +0 -7
- package/dist/dts/styles/patterns/input.d.ts +0 -4
- package/dist/dts/utilities/math.d.ts +0 -24
- package/dist/esm/color/recipes/accent-fill.js +0 -18
- package/dist/esm/color/recipes/accent-foreground.js +0 -31
- package/dist/esm/color/recipes/neutral-fill-contrast.js +0 -26
- package/dist/esm/color/recipes/neutral-fill-input.js +0 -14
- package/dist/esm/color/recipes/neutral-fill-inverse.js +0 -26
- package/dist/esm/color/recipes/neutral-fill-layer.js +0 -7
- package/dist/esm/color/recipes/neutral-fill-stealth.js +0 -14
- package/dist/esm/color/recipes/neutral-fill.js +0 -21
- package/dist/esm/color/recipes/neutral-foreground-hint.js +0 -10
- package/dist/esm/color/recipes/neutral-foreground.js +0 -6
- package/dist/esm/color/recipes/neutral-layer-card-container.js +0 -9
- package/dist/esm/color/recipes/neutral-stroke-strong.js +0 -15
- package/dist/esm/color/recipes/neutral-stroke.js +0 -18
- package/dist/esm/styles/patterns/input.js +0 -31
- package/dist/esm/utilities/math.js +0 -49
|
@@ -1,25 +1,64 @@
|
|
|
1
|
+
import { DesignToken } from '@microsoft/fast-foundation';
|
|
2
|
+
import { Swatch } from '../color/swatch';
|
|
1
3
|
/**
|
|
2
4
|
* Define shadow algorithms.
|
|
3
5
|
*
|
|
4
6
|
* TODO: The --background-luminance will need to be derived from JavaScript. For now
|
|
5
7
|
* this is hard-coded to a 1, the relative luminance of pure white.
|
|
6
8
|
* https://github.com/microsoft/fast/issues/2778
|
|
9
|
+
* opacity was `calc(.11 * (2 - var(--background-luminance, 1)))`
|
|
7
10
|
*
|
|
8
11
|
* @internal
|
|
9
|
-
* @deprecated
|
|
12
|
+
* @deprecated Use elevationShadow design token
|
|
10
13
|
*/
|
|
11
|
-
export declare const ambientShadow = "0 0
|
|
14
|
+
export declare const ambientShadow = "0 0 2px rgba(0, 0, 0, 0.14)";
|
|
12
15
|
/**
|
|
13
16
|
* @internal
|
|
14
|
-
* @deprecated
|
|
17
|
+
* @deprecated Use elevationShadow design token
|
|
15
18
|
*/
|
|
16
|
-
export declare const directionalShadow = "0 calc(var(--elevation) * 0.
|
|
19
|
+
export declare const directionalShadow = "0 calc(var(--elevation) * 0.5px) calc((var(--elevation) * 1px)) rgba(0, 0, 0, 0.2)";
|
|
17
20
|
/**
|
|
18
21
|
* Applies the box-shadow CSS rule set to the elevation formula.
|
|
19
22
|
* Control this formula with the --elevation CSS Custom Property
|
|
20
23
|
* by setting --elevation to a number.
|
|
21
24
|
*
|
|
22
25
|
* @public
|
|
23
|
-
* @deprecated
|
|
26
|
+
* @deprecated Use elevationShadow design token
|
|
24
27
|
*/
|
|
25
28
|
export declare const elevation: string;
|
|
29
|
+
/** @public */
|
|
30
|
+
export interface ElevationRecipe {
|
|
31
|
+
evaluate(element: HTMLElement, size: number, reference?: Swatch): string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare const elevationShadowRecipe: DesignToken<ElevationRecipe>;
|
|
37
|
+
/** @public */
|
|
38
|
+
export declare const elevationShadowCardRestSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
39
|
+
/** @public */
|
|
40
|
+
export declare const elevationShadowCardHoverSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
41
|
+
/** @public */
|
|
42
|
+
export declare const elevationShadowCardActiveSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
43
|
+
/** @public */
|
|
44
|
+
export declare const elevationShadowCardFocusSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
45
|
+
/** @public */
|
|
46
|
+
export declare const elevationShadowCardRest: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
47
|
+
/** @public */
|
|
48
|
+
export declare const elevationShadowCardHover: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
49
|
+
/** @public */
|
|
50
|
+
export declare const elevationShadowCardActive: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
51
|
+
/** @public */
|
|
52
|
+
export declare const elevationShadowCardFocus: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
53
|
+
/** @public */
|
|
54
|
+
export declare const elevationShadowTooltipSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
55
|
+
/** @public */
|
|
56
|
+
export declare const elevationShadowTooltip: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
57
|
+
/** @public */
|
|
58
|
+
export declare const elevationShadowFlyoutSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
59
|
+
/** @public */
|
|
60
|
+
export declare const elevationShadowFlyout: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
61
|
+
/** @public */
|
|
62
|
+
export declare const elevationShadowDialogSize: import("@microsoft/fast-foundation").CSSDesignToken<number>;
|
|
63
|
+
/** @public */
|
|
64
|
+
export declare const elevationShadowDialog: import("@microsoft/fast-foundation").CSSDesignToken<string>;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
+
import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation';
|
|
1
2
|
/**
|
|
2
3
|
* @internal
|
|
3
4
|
*/
|
|
4
|
-
export declare const baseButtonStyles: (context:
|
|
5
|
+
export declare const baseButtonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
5
6
|
/**
|
|
6
7
|
* @internal
|
|
7
8
|
*/
|
|
8
|
-
export declare const AccentButtonStyles: import("@microsoft/fast-element").ElementStyles;
|
|
9
|
+
export declare const AccentButtonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
9
10
|
/**
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
12
|
-
export declare const HypertextStyles: import("@microsoft/fast-element").ElementStyles;
|
|
13
|
+
export declare const HypertextStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
13
14
|
/**
|
|
14
15
|
* @internal
|
|
15
16
|
*/
|
|
16
|
-
export declare const LightweightButtonStyles: import("@microsoft/fast-element").ElementStyles;
|
|
17
|
+
export declare const LightweightButtonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
17
18
|
/**
|
|
18
19
|
* @internal
|
|
19
20
|
*/
|
|
20
|
-
export declare const OutlineButtonStyles: import("@microsoft/fast-element").ElementStyles;
|
|
21
|
+
export declare const OutlineButtonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
21
22
|
/**
|
|
22
23
|
* @internal
|
|
23
24
|
*/
|
|
24
|
-
export declare const StealthButtonStyles: import("@microsoft/fast-element").ElementStyles;
|
|
25
|
+
export declare const StealthButtonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, interactivitySelector?: string, nonInteractivitySelector?: string) => import("@microsoft/fast-element").ElementStyles;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './button.styles';
|
|
2
|
-
export * from './input';
|
|
2
|
+
export * from './input.styles';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ElementStyles } from '@microsoft/fast-element';
|
|
2
|
+
import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare const inputStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, rootSelector: string) => ElementStyles;
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const inputStateStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, rootSelector: string) => ElementStyles;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare const inputFilledStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, rootSelector: string) => ElementStyles;
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare const inputForcedColorStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, rootSelector: string) => ElementStyles;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const inputFilledForcedColorStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition, rootSelector: string) => ElementStyles;
|
|
@@ -3,8 +3,8 @@ declare const _default: {
|
|
|
3
3
|
component: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<import("@microsoft/fast-foundation").FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<import("@microsoft/fast-foundation").FoundationElementDefinition, typeof import(".").TextArea>;
|
|
4
4
|
argTypes: {
|
|
5
5
|
appearance: {
|
|
6
|
-
options: string[];
|
|
7
6
|
defaultValue: string;
|
|
7
|
+
options: string[];
|
|
8
8
|
control: {
|
|
9
9
|
type: string;
|
|
10
10
|
};
|
|
@@ -2,11 +2,6 @@ declare const _default: {
|
|
|
2
2
|
title: string;
|
|
3
3
|
component: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<import("@microsoft/fast-foundation").FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<import("@microsoft/fast-foundation").FoundationElementDefinition, typeof import("@microsoft/fast-foundation").TreeView>;
|
|
4
4
|
argTypes: {
|
|
5
|
-
disabled: {
|
|
6
|
-
control: {
|
|
7
|
-
type: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
5
|
renderCollapsedNodes: {
|
|
11
6
|
control: {
|
|
12
7
|
type: string;
|
|
@@ -1,27 +1,47 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
|
-
import { display, focusVisible, forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation';
|
|
2
|
+
import { DesignToken, display, focusVisible, forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation';
|
|
3
3
|
import { SystemColors } from '@microsoft/fast-web-utilities';
|
|
4
|
-
import {
|
|
4
|
+
import { bodyFont, controlCornerRadius, designUnit, focusStrokeOuter, focusStrokeWidth, layerCornerRadius, neutralFillLayerAltRest, neutralFillLayerRecipe, neutralFillLayerRest, neutralFillStealthRecipe, neutralForegroundRest, neutralStrokeLayerRest, strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../../design-tokens';
|
|
5
5
|
import { heightNumber } from '../../styles/size';
|
|
6
|
+
const neutralFillStealthRestOnNeutralFillLayerRest = DesignToken.create('neutral-fill-stealth-rest-on-neutral-fill-layer-rest').withDefault((target) => {
|
|
7
|
+
const baseRecipe = neutralFillLayerRecipe.getValueFor(target);
|
|
8
|
+
const buttonRecipe = neutralFillStealthRecipe.getValueFor(target);
|
|
9
|
+
return buttonRecipe.evaluate(target, baseRecipe.evaluate(target).rest).rest;
|
|
10
|
+
});
|
|
11
|
+
const neutralFillStealthHoverOnNeutralFillLayerRest = DesignToken.create('neutral-fill-stealth-hover-on-neutral-fill-layer-rest').withDefault((target) => {
|
|
12
|
+
const baseRecipe = neutralFillLayerRecipe.getValueFor(target);
|
|
13
|
+
const buttonRecipe = neutralFillStealthRecipe.getValueFor(target);
|
|
14
|
+
return buttonRecipe.evaluate(target, baseRecipe.evaluate(target).rest).hover;
|
|
15
|
+
});
|
|
16
|
+
const neutralFillStealthActiveOnNeutralFillLayerRest = DesignToken.create('neutral-fill-stealth-active-on-neutral-fill-layer-rest').withDefault((target) => {
|
|
17
|
+
const baseRecipe = neutralFillLayerRecipe.getValueFor(target);
|
|
18
|
+
const buttonRecipe = neutralFillStealthRecipe.getValueFor(target);
|
|
19
|
+
return buttonRecipe.evaluate(target, baseRecipe.evaluate(target).rest).active;
|
|
20
|
+
});
|
|
6
21
|
export const accordionItemStyles = (context, definition) => css `
|
|
7
22
|
${display('flex')} :host {
|
|
8
23
|
box-sizing: border-box;
|
|
9
24
|
font-family: ${bodyFont};
|
|
10
25
|
flex-direction: column;
|
|
11
|
-
font-size: ${
|
|
12
|
-
line-height: ${
|
|
13
|
-
|
|
26
|
+
font-size: ${typeRampBaseFontSize};
|
|
27
|
+
line-height: ${typeRampBaseLineHeight};
|
|
28
|
+
background: ${neutralFillLayerRest};
|
|
29
|
+
color: ${neutralForegroundRest};
|
|
30
|
+
border: calc(${strokeWidth} * 1px) solid ${neutralStrokeLayerRest};
|
|
31
|
+
border-radius: calc(${layerCornerRadius} * 1px);
|
|
14
32
|
}
|
|
15
33
|
|
|
16
34
|
.region {
|
|
17
35
|
display: none;
|
|
18
|
-
padding: calc(
|
|
36
|
+
padding: calc(${designUnit} * 2 * 1px);
|
|
37
|
+
background: ${neutralFillLayerAltRest};
|
|
19
38
|
}
|
|
20
39
|
|
|
21
40
|
.heading {
|
|
22
41
|
display: grid;
|
|
23
42
|
position: relative;
|
|
24
|
-
grid-template-columns: auto 1fr auto
|
|
43
|
+
grid-template-columns: auto 1fr auto auto;
|
|
44
|
+
align-items: center;
|
|
25
45
|
z-index: 2;
|
|
26
46
|
}
|
|
27
47
|
|
|
@@ -32,19 +52,14 @@ export const accordionItemStyles = (context, definition) => css `
|
|
|
32
52
|
grid-column: 2;
|
|
33
53
|
grid-row: 1;
|
|
34
54
|
outline: none;
|
|
35
|
-
|
|
55
|
+
margin: calc(${designUnit} * 3 * 1px) 0;
|
|
56
|
+
padding: 0 calc(${designUnit} * 2 * 1px);
|
|
36
57
|
text-align: left;
|
|
37
|
-
|
|
38
|
-
color: ${neutralForegroundRest};
|
|
58
|
+
color: inherit;
|
|
39
59
|
cursor: pointer;
|
|
40
60
|
font-family: inherit;
|
|
41
61
|
}
|
|
42
62
|
|
|
43
|
-
.button:hover,
|
|
44
|
-
.button:active {
|
|
45
|
-
color: ${neutralForegroundRest};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
63
|
.button::before {
|
|
49
64
|
content: '';
|
|
50
65
|
position: absolute;
|
|
@@ -59,11 +74,20 @@ export const accordionItemStyles = (context, definition) => css `
|
|
|
59
74
|
.button:${focusVisible}::before {
|
|
60
75
|
outline: none;
|
|
61
76
|
border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter};
|
|
77
|
+
border-radius: calc(${layerCornerRadius} * 1px);
|
|
62
78
|
box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter};
|
|
63
79
|
}
|
|
64
80
|
|
|
81
|
+
:host(.expanded) .button:${focusVisible}::before {
|
|
82
|
+
border-bottom-left-radius: 0;
|
|
83
|
+
border-bottom-right-radius: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
65
86
|
:host(.expanded) .region {
|
|
66
87
|
display: block;
|
|
88
|
+
border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeLayerRest};
|
|
89
|
+
border-bottom-left-radius: calc((${layerCornerRadius} - ${strokeWidth}) * 1px);
|
|
90
|
+
border-bottom-right-radius: calc((${layerCornerRadius} - ${strokeWidth}) * 1px);
|
|
67
91
|
}
|
|
68
92
|
|
|
69
93
|
.icon {
|
|
@@ -73,7 +97,20 @@ export const accordionItemStyles = (context, definition) => css `
|
|
|
73
97
|
grid-column: 4;
|
|
74
98
|
z-index: 2;
|
|
75
99
|
pointer-events: none;
|
|
76
|
-
|
|
100
|
+
background: ${neutralFillStealthRestOnNeutralFillLayerRest};
|
|
101
|
+
border-radius: calc(${controlCornerRadius} * 1px);
|
|
102
|
+
fill: currentcolor;
|
|
103
|
+
width: calc(${heightNumber} * 1px);
|
|
104
|
+
height: calc(${heightNumber} * 1px);
|
|
105
|
+
margin: calc(${designUnit} * 2 * 1px);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.heading:hover .icon {
|
|
109
|
+
background: ${neutralFillStealthHoverOnNeutralFillLayerRest};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.heading:active .icon {
|
|
113
|
+
background: ${neutralFillStealthActiveOnNeutralFillLayerRest};
|
|
77
114
|
}
|
|
78
115
|
|
|
79
116
|
slot[name='collapsed-icon'] {
|
|
@@ -95,7 +132,7 @@ export const accordionItemStyles = (context, definition) => css `
|
|
|
95
132
|
.start {
|
|
96
133
|
display: flex;
|
|
97
134
|
align-items: center;
|
|
98
|
-
padding-inline-start: calc(${designUnit} * 1px);
|
|
135
|
+
padding-inline-start: calc(${designUnit} * 2 * 1px);
|
|
99
136
|
justify-content: center;
|
|
100
137
|
grid-column: 1;
|
|
101
138
|
z-index: 2;
|
|
@@ -14,31 +14,13 @@ export const fluentAccordionItem = AccordionItem.compose({
|
|
|
14
14
|
template,
|
|
15
15
|
styles,
|
|
16
16
|
collapsedIcon: `
|
|
17
|
-
<svg
|
|
18
|
-
|
|
19
|
-
height="20"
|
|
20
|
-
viewBox="0 0 20 20"
|
|
21
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
22
|
-
>
|
|
23
|
-
<path
|
|
24
|
-
fill-rule="evenodd"
|
|
25
|
-
clip-rule="evenodd"
|
|
26
|
-
d="M16.22 3H3.78a.78.78 0 00-.78.78v12.44c0 .43.35.78.78.78h12.44c.43 0 .78-.35.78-.78V3.78a.78.78 0 00-.78-.78zM3.78 2h12.44C17.2 2 18 2.8 18 3.78v12.44c0 .98-.8 1.78-1.78 1.78H3.78C2.8 18 2 17.2 2 16.22V3.78C2 2.8 2.8 2 3.78 2zM11 9h3v2h-3v3H9v-3H6V9h3V6h2v3z"
|
|
27
|
-
/>
|
|
17
|
+
<svg width="12" height="12" xmlns="http://www.w3.org/2000/svg">
|
|
18
|
+
<path d="M2.15 4.65c.2-.2.5-.2.7 0L6 7.79l3.15-3.14a.5.5 0 11.7.7l-3.5 3.5a.5.5 0 01-.7 0l-3.5-3.5a.5.5 0 010-.7z"/>
|
|
28
19
|
</svg>
|
|
29
20
|
`,
|
|
30
21
|
expandedIcon: `
|
|
31
|
-
<svg
|
|
32
|
-
|
|
33
|
-
height="20"
|
|
34
|
-
viewBox="0 0 20 20"
|
|
35
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
36
|
-
>
|
|
37
|
-
<path
|
|
38
|
-
fill-rule="evenodd"
|
|
39
|
-
clip-rule="evenodd"
|
|
40
|
-
d="M3.78 3h12.44c.43 0 .78.35.78.78v12.44c0 .43-.35.78-.78.78H3.78a.78.78 0 01-.78-.78V3.78c0-.43.35-.78.78-.78zm12.44-1H3.78C2.8 2 2 2.8 2 3.78v12.44C2 17.2 2.8 18 3.78 18h12.44c.98 0 1.78-.8 1.78-1.78V3.78C18 2.8 17.2 2 16.22 2zM14 9H6v2h8V9z"
|
|
41
|
-
/>
|
|
22
|
+
<svg width="12" height="12" xmlns="http://www.w3.org/2000/svg">
|
|
23
|
+
<path d="M2.15 7.35c.2.2.5.2.7 0L6 4.21l3.15 3.14a.5.5 0 10.7-.7l-3.5-3.5a.5.5 0 00-.7 0l-3.5 3.5a.5.5 0 000 .7z"/>
|
|
42
24
|
</svg>
|
|
43
25
|
`,
|
|
44
26
|
});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
|
-
import { bodyFont,
|
|
3
|
+
import { bodyFont, designUnit, neutralForegroundRest, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens';
|
|
4
4
|
export const accordionStyles = (context, definition) => css `
|
|
5
5
|
${display('flex')} :host {
|
|
6
6
|
box-sizing: border-box;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
font-family: ${bodyFont};
|
|
9
|
-
font-size: ${
|
|
10
|
-
line-height: ${
|
|
9
|
+
font-size: ${typeRampBaseFontSize};
|
|
10
|
+
line-height: ${typeRampBaseLineHeight};
|
|
11
11
|
color: ${neutralForegroundRest};
|
|
12
|
-
|
|
12
|
+
gap: calc(${designUnit} * 1px);
|
|
13
13
|
}
|
|
14
14
|
`;
|
|
@@ -11,15 +11,15 @@ export default {
|
|
|
11
11
|
};
|
|
12
12
|
const AnchorTemplate = ({ appearance, label }) => `
|
|
13
13
|
<fluent-anchor
|
|
14
|
+
href="javascript:void"
|
|
14
15
|
${appearance ? `appearance="${appearance}"` : ''}
|
|
15
|
-
href="https://bing.com" target="_blank"
|
|
16
16
|
>
|
|
17
17
|
${label}
|
|
18
18
|
</fluent-anchor>
|
|
19
19
|
`;
|
|
20
20
|
export const Anchor = AnchorTemplate.bind({});
|
|
21
21
|
const example = `
|
|
22
|
-
<fluent-anchor href="
|
|
22
|
+
<fluent-anchor href="#" appearance="neutral">Anchor</fluent-anchor>
|
|
23
23
|
`;
|
|
24
24
|
Anchor.args = {
|
|
25
25
|
label: 'Anchor',
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { AccentButtonStyles, baseButtonStyles, HypertextStyles, LightweightButtonStyles, OutlineButtonStyles, StealthButtonStyles, } from '../styles/';
|
|
3
3
|
import { appearanceBehavior } from '../utilities/behaviors';
|
|
4
|
+
const interactivitySelector = '[href]';
|
|
5
|
+
const nonInteractivitySelector = ':not([href])';
|
|
4
6
|
export const anchorStyles = (context, definition) => css `
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
:host .control:not([href]) {
|
|
8
|
+
cursor: default;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
${baseButtonStyles(context, definition, interactivitySelector, nonInteractivitySelector)}
|
|
12
|
+
`.withBehaviors(appearanceBehavior('accent', AccentButtonStyles(context, definition, interactivitySelector, nonInteractivitySelector)), appearanceBehavior('hypertext', HypertextStyles(context, definition, interactivitySelector, nonInteractivitySelector)), appearanceBehavior('lightweight', LightweightButtonStyles(context, definition, interactivitySelector, nonInteractivitySelector)), appearanceBehavior('outline', OutlineButtonStyles(context, definition, interactivitySelector, nonInteractivitySelector)), appearanceBehavior('stealth', StealthButtonStyles(context, definition, interactivitySelector, nonInteractivitySelector)));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
|
-
import { accentFillRest, bodyFont, controlCornerRadius, designUnit, foregroundOnAccentRest,
|
|
3
|
+
import { accentFillRest, bodyFont, controlCornerRadius, designUnit, foregroundOnAccentRest, neutralFillSecondaryRest, neutralForegroundRest, strokeWidth, typeRampMinus1FontSize, typeRampMinus1LineHeight, } from '../design-tokens';
|
|
4
4
|
export const badgeStyles = (context, definition) => css `
|
|
5
5
|
${display('inline-block')} :host {
|
|
6
6
|
box-sizing: border-box;
|
|
@@ -27,7 +27,15 @@ export const badgeStyles = (context, definition) => css `
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:host(.neutral) .control {
|
|
30
|
-
background: ${
|
|
30
|
+
background: ${neutralFillSecondaryRest};
|
|
31
31
|
color: ${neutralForegroundRest};
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
:host([circular]) .control {
|
|
35
|
+
border-radius: 100px;
|
|
36
|
+
min-width: calc(${typeRampMinus1LineHeight} - calc(${designUnit} * 1px));
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
}
|
|
33
41
|
`;
|
|
@@ -1,110 +1,101 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { display, focusVisible, forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation';
|
|
3
3
|
import { SystemColors } from '@microsoft/fast-web-utilities';
|
|
4
|
-
import {
|
|
4
|
+
import { bodyFont, controlCornerRadius, focusStrokeOuter, focusStrokeWidth, neutralForegroundActive, neutralForegroundHover, neutralForegroundRest, strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens';
|
|
5
5
|
import { heightNumber } from '../styles/index';
|
|
6
6
|
export const breadcrumbItemStyles = (context, definition) => css `
|
|
7
7
|
${display('inline-flex')} :host {
|
|
8
8
|
background: transparent;
|
|
9
|
-
|
|
9
|
+
color: ${neutralForegroundRest};
|
|
10
10
|
fill: currentcolor;
|
|
11
|
+
box-sizing: border-box;
|
|
11
12
|
font-family: ${bodyFont};
|
|
12
13
|
font-size: ${typeRampBaseFontSize};
|
|
13
14
|
line-height: ${typeRampBaseLineHeight};
|
|
14
15
|
min-width: calc(${heightNumber} * 1px);
|
|
16
|
+
border-radius: calc(${controlCornerRadius} * 1px);
|
|
15
17
|
outline: none;
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
.listitem {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
border-radius: inherit;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
.control {
|
|
27
|
+
position: relative;
|
|
24
28
|
align-items: center;
|
|
25
29
|
box-sizing: border-box;
|
|
26
|
-
color:
|
|
30
|
+
color: inherit;
|
|
31
|
+
fill: inherit;
|
|
27
32
|
cursor: pointer;
|
|
28
33
|
display: flex;
|
|
29
|
-
fill: inherit;
|
|
30
34
|
outline: none;
|
|
31
35
|
text-decoration: none;
|
|
32
36
|
white-space: nowrap;
|
|
33
|
-
|
|
37
|
+
border-radius: inherit;
|
|
38
|
+
}
|
|
34
39
|
|
|
35
40
|
.control:hover {
|
|
36
|
-
|
|
41
|
+
color: ${neutralForegroundHover};
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
.control:active {
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.control .content {
|
|
44
|
-
position: relative;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.control .content::before {
|
|
48
|
-
content: "";
|
|
49
|
-
display: block;
|
|
50
|
-
height: calc(${strokeWidth} * 1px);
|
|
51
|
-
left: 0;
|
|
52
|
-
position: absolute;
|
|
53
|
-
right: 0;
|
|
54
|
-
top: calc(1em + 4px);
|
|
55
|
-
width: 100%;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.control:hover .content::before {
|
|
59
|
-
background: ${accentForegroundHover};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.control:active .content::before {
|
|
63
|
-
background: ${accentForegroundActive};
|
|
45
|
+
color: ${neutralForegroundActive};
|
|
64
46
|
}
|
|
65
47
|
|
|
66
|
-
.control:${focusVisible}
|
|
67
|
-
|
|
68
|
-
|
|
48
|
+
.control:${focusVisible}::after {
|
|
49
|
+
content: '';
|
|
50
|
+
position: absolute;
|
|
51
|
+
inset: calc(${strokeWidth} * -1px);
|
|
52
|
+
box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) ${focusStrokeOuter} inset;
|
|
53
|
+
border-radius: inherit;
|
|
69
54
|
}
|
|
70
55
|
|
|
71
56
|
:host(:not([href])),
|
|
72
|
-
:host([aria-current]) .control
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
cursor: default;
|
|
57
|
+
:host([aria-current]) .control {
|
|
58
|
+
color: ${neutralForegroundRest};
|
|
59
|
+
fill: currentcolor;
|
|
60
|
+
cursor: default;
|
|
77
61
|
}
|
|
78
62
|
|
|
79
|
-
:host([aria-current]) .control:hover .content::before {
|
|
80
|
-
background: ${neutralForegroundRest};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
63
|
.start {
|
|
84
|
-
|
|
85
|
-
|
|
64
|
+
display: flex;
|
|
65
|
+
margin-inline-end: 6px;
|
|
86
66
|
}
|
|
87
67
|
|
|
88
68
|
.end {
|
|
89
|
-
|
|
90
|
-
|
|
69
|
+
display: flex;
|
|
70
|
+
margin-inline-start: 6px;
|
|
91
71
|
}
|
|
92
72
|
|
|
93
73
|
.separator {
|
|
94
74
|
display: flex;
|
|
95
|
-
fill: ${neutralForegroundRest};
|
|
96
|
-
margin: 0 6px;
|
|
97
75
|
}
|
|
98
|
-
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
76
|
+
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
99
77
|
:host(:not([href])),
|
|
100
78
|
.start,
|
|
101
79
|
.end,
|
|
102
80
|
.separator {
|
|
81
|
+
background: ${SystemColors.ButtonFace};
|
|
103
82
|
color: ${SystemColors.ButtonText};
|
|
104
83
|
fill: currentcolor;
|
|
105
84
|
}
|
|
106
|
-
.
|
|
107
|
-
|
|
85
|
+
.separator {
|
|
86
|
+
fill: ${SystemColors.ButtonText};
|
|
87
|
+
}
|
|
88
|
+
:host([href]) {
|
|
89
|
+
forced-color-adjust: none;
|
|
90
|
+
background: ${SystemColors.ButtonFace};
|
|
91
|
+
color: ${SystemColors.LinkText};
|
|
92
|
+
}
|
|
93
|
+
:host([href]) .control:hover {
|
|
108
94
|
background: ${SystemColors.LinkText};
|
|
95
|
+
color: ${SystemColors.HighlightText};
|
|
96
|
+
fill: currentcolor;
|
|
97
|
+
}
|
|
98
|
+
:host([href]) .control:${focusVisible}::after {
|
|
99
|
+
box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) ${SystemColors.LinkText} inset;
|
|
109
100
|
}
|
|
110
101
|
`));
|
|
@@ -17,10 +17,8 @@ export const fluentBreadcrumbItem = BreadcrumbItem.compose({
|
|
|
17
17
|
delegatesFocus: true,
|
|
18
18
|
},
|
|
19
19
|
separator: `
|
|
20
|
-
<svg width="
|
|
21
|
-
<path
|
|
22
|
-
d="M7.65 4.15c.2-.2.5-.2.7 0l5.49 5.46c.21.22.21.57 0 .78l-5.49 5.46a.5.5 0 01-.7-.7L12.8 10 7.65 4.85a.5.5 0 010-.7z"
|
|
23
|
-
/>
|
|
20
|
+
<svg width="12" height="12" xmlns="http://www.w3.org/2000/svg">
|
|
21
|
+
<path d="M4.65 2.15a.5.5 0 000 .7L7.79 6 4.65 9.15a.5.5 0 10.7.7l3.5-3.5a.5.5 0 000-.7l-3.5-3.5a.5.5 0 00-.7 0z"/>
|
|
24
22
|
</svg>
|
|
25
23
|
`,
|
|
26
24
|
});
|
|
@@ -6,7 +6,7 @@ export default {
|
|
|
6
6
|
appearance: {
|
|
7
7
|
description: 'This controls the basic appearances',
|
|
8
8
|
control: { type: 'select' },
|
|
9
|
-
options: ['neutral', 'accent', '
|
|
9
|
+
options: ['neutral', 'accent', 'lightweight', 'outline', 'stealth'],
|
|
10
10
|
default: 'neutral',
|
|
11
11
|
},
|
|
12
12
|
disabled: {
|