From aa843eebf0835bdd62495fffd744fb1455e49134 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Fri, 14 May 2021 10:23:48 -0700 Subject: [PATCH 01/91] [web-components] update components to extend foundation element (#18187) * update accordion to use foundation element * update anchor to extend foundation element * update anchored region to extend foundation element * correct style exports * update badge to extend foundation * update breadcrumb to extend foundation element * update button to extend foundation element * update checkbox to extend foundation element * update combobox to extend foundation element * update dialog to extend foundation element * update divider styles * update flipper to extend foundation element * update horizontal scroll to extend foundation element * update listbox to extend foundation element * update listbox option to extend foundation element * update naming for exported registries * update menu and menu item to extend foundation * aupdate number field to extend foundation element * update progress to extend foundation element * update radio, radiogroup and select to extend foundation el * update skeleton to extend foundation element * update slider to extend foundation element * update switch to extend foundation component * correct prefix for export names * update text area to extend foundation element * update text field to extend foundation * update tooltip to extend foundation element * update tree view to extend foundation element * update comments v1 * export all custom element definitions * exportfluent design system and definitions from rollup * add data grid * update fast to fluent in rollup * add beta package to start updating w/ foundation element * update stories files * Change files --- ...-72f613f8-2c88-4e90-873d-7abd1704bf86.json | 6 + packages/web-components/package.json | 2 +- .../accordion-item/accordion-item.styles.ts | 25 +- .../src/accordion/accordion-item/index.ts | 16 +- .../src/accordion/accordion.stories.ts | 9 +- .../src/accordion/accordion.styles.ts | 23 +- .../web-components/src/accordion/index.ts | 21 +- .../src/anchor/anchor.stories.ts | 7 +- .../src/anchor/anchor.styles.ts | 19 +- packages/web-components/src/anchor/index.ts | 50 +- .../anchored-region.stories.ts | 12 +- .../anchored-region/anchored-region.styles.ts | 2 +- .../src/anchored-region/index.ts | 16 +- .../web-components/src/badge/badge.spec.ts | 8 - .../web-components/src/badge/badge.stories.ts | 7 +- .../web-components/src/badge/badge.styles.ts | 61 +- packages/web-components/src/badge/index.ts | 42 +- .../breadcrumb-item.stories.ts | 7 +- .../breadcrumb-item/breadcrumb-item.styles.ts | 19 +- .../src/breadcrumb-item/index.ts | 16 +- .../src/breadcrumb/breadcrumb.stories.ts | 9 +- .../src/breadcrumb/breadcrumb.styles.ts | 2 +- .../web-components/src/breadcrumb/index.ts | 16 +- .../src/button/button.stories.ts | 7 +- .../src/button/button.styles.ts | 2 +- packages/web-components/src/button/index.ts | 50 +- .../web-components/src/card/card.stories.ts | 7 +- .../src/checkbox/checkbox.stories.ts | 28 +- .../src/checkbox/checkbox.styles.ts | 27 +- packages/web-components/src/checkbox/index.ts | 19 +- .../src/color/accent-fill.spec.ts | 136 ++-- .../src/color/accent-foreground-cut.spec.ts | 48 +- .../src/color/accent-foreground.spec.ts | 182 +++--- .../web-components/src/color/common.spec.ts | 152 ++--- .../src/color/neutral-divider.spec.ts | 20 +- .../src/color/neutral-fill-card.spec.ts | 82 ++- .../src/color/neutral-fill-input.spec.ts | 202 +++--- .../src/color/neutral-fill-stealth.spec.ts | 206 +++---- .../src/color/neutral-fill.spec.ts | 204 +++--- .../src/color/neutral-focus.spec.ts | 30 +- .../src/color/neutral-foreground-hint.spec.ts | 112 ++-- .../src/color/neutral-foreground.spec.ts | 127 ++-- .../src/color/neutral-layer.spec.ts | 272 ++++---- .../src/color/neutral-outline.spec.ts | 149 +++-- .../web-components/src/color/palette.spec.ts | 580 ++++++++---------- .../src/combobox/combobox.styles.ts | 7 +- packages/web-components/src/combobox/index.ts | 42 +- .../web-components/src/custom-elements.ts | 38 ++ .../src/data-grid/data-grid-cell.styles.ts | 17 +- .../src/data-grid/data-grid-row.styles.ts | 51 +- .../src/data-grid/data-grid.stories.ts | 152 +++-- .../src/data-grid/data-grid.styles.ts | 2 +- .../web-components/src/data-grid/index.ts | 66 +- .../web-components/src/default-palette.ts | 376 ++++++------ .../src/dialog/dialog.stories.ts | 7 +- .../src/dialog/dialog.styles.ts | 2 +- packages/web-components/src/dialog/index.ts | 16 +- .../src/divider/divider.stories.ts | 9 +- .../src/divider/divider.styles.ts | 19 +- packages/web-components/src/divider/index.ts | 19 +- .../src/flipper/flipper.stories.ts | 9 +- .../src/flipper/flipper.styles.ts | 27 +- packages/web-components/src/flipper/index.ts | 19 +- .../src/fluent-design-system.ts | 2 +- .../horizontal-scroll.stories.ts | 9 +- .../horizontal-scroll.styles.ts | 2 +- .../src/horizontal-scroll/index.ts | 39 +- packages/web-components/src/index-rollup.ts | 16 +- packages/web-components/src/index.ts | 5 + .../src/listbox-option/index.ts | 17 +- .../listbox-option/listbox-option.stories.ts | 12 +- .../listbox-option/listbox-option.styles.ts | 77 +-- packages/web-components/src/listbox/index.ts | 19 +- .../src/listbox/listbox.stories.ts | 11 +- .../src/listbox/listbox.styles.ts | 43 +- .../web-components/src/menu-item/index.ts | 19 +- .../src/menu-item/menu-item.stories.ts | 11 +- .../src/menu-item/menu-item.styles.ts | 21 +- packages/web-components/src/menu/index.ts | 19 +- .../web-components/src/menu/menu.stories.ts | 12 +- .../web-components/src/menu/menu.styles.ts | 51 +- .../web-components/src/number-field/index.ts | 50 +- .../src/number-field/number-field.styles.ts | 113 ++-- .../src/progress/progress-ring/index.ts | 19 +- .../progress-ring/progress-ring.stories.ts | 9 +- .../progress-ring/progress-ring.styles.ts | 153 ++--- .../src/progress/progress/index.ts | 19 +- .../src/progress/progress/progress.stories.ts | 9 +- .../src/progress/progress/progress.styles.ts | 225 +++---- .../web-components/src/radio-group/index.ts | 19 +- .../src/radio-group/radio-group.stories.ts | 10 +- .../src/radio-group/radio-group.styles.ts | 2 +- packages/web-components/src/radio/index.ts | 17 +- .../web-components/src/radio/radio.stories.ts | 9 +- .../web-components/src/radio/radio.styles.ts | 29 +- packages/web-components/src/select/index.ts | 40 +- .../src/select/select.stories.ts | 12 +- .../src/select/select.styles.ts | 41 +- packages/web-components/src/skeleton/index.ts | 16 +- .../src/skeleton/skeleton.stories.ts | 8 +- .../src/skeleton/skeleton.styles.ts | 121 ++-- .../web-components/src/slider-label/index.ts | 19 +- .../src/slider-label/slider-label.stories.ts | 11 +- .../src/slider-label/slider-label.styles.ts | 155 ++--- packages/web-components/src/slider/index.ts | 21 +- .../src/slider/slider.stories.ts | 23 +- .../src/slider/slider.styles.ts | 23 +- packages/web-components/src/switch/index.ts | 17 +- .../src/switch/switch.stories.ts | 9 +- .../src/switch/switch.styles.ts | 75 +-- packages/web-components/src/tabs/index.ts | 24 +- .../src/tabs/tab-panel/index.ts | 19 +- .../src/tabs/tab-panel/tab-panel.styles.ts | 4 +- packages/web-components/src/tabs/tab/index.ts | 19 +- .../web-components/src/tabs/tab/tab.styles.ts | 19 +- .../web-components/src/tabs/tabs.stories.ts | 13 +- .../web-components/src/tabs/tabs.styles.ts | 177 +++--- .../web-components/src/text-area/index.ts | 49 +- .../src/text-area/text-area.stories.ts | 11 +- .../src/text-area/text-area.styles.ts | 51 +- .../src/text-field/fixtures/text-field.html | 7 + .../web-components/src/text-field/index.ts | 50 +- .../src/text-field/text-field.stories.ts | 27 +- .../src/text-field/text-field.styles.ts | 99 +-- packages/web-components/src/tooltip/index.ts | 25 +- .../src/tooltip/tooltip.stories.ts | 46 +- .../src/tooltip/tooltip.styles.ts | 219 +++---- .../web-components/src/tree-item/index.ts | 22 +- .../src/tree-item/tree-item.stories.ts | 11 +- .../src/tree-item/tree-item.styles.ts | 35 +- .../web-components/src/tree-view/index.ts | 22 +- .../src/tree-view/tree-view.stories.ts | 9 +- .../src/tree-view/tree-view.styles.ts | 2 +- yarn.lock | 18 +- 134 files changed, 3122 insertions(+), 3430 deletions(-) create mode 100644 change/@fluentui-web-components-72f613f8-2c88-4e90-873d-7abd1704bf86.json delete mode 100644 packages/web-components/src/badge/badge.spec.ts create mode 100644 packages/web-components/src/custom-elements.ts diff --git a/change/@fluentui-web-components-72f613f8-2c88-4e90-873d-7abd1704bf86.json b/change/@fluentui-web-components-72f613f8-2c88-4e90-873d-7abd1704bf86.json new file mode 100644 index 00000000000000..a4af0e0936f10e --- /dev/null +++ b/change/@fluentui-web-components-72f613f8-2c88-4e90-873d-7abd1704bf86.json @@ -0,0 +1,6 @@ +{ + "type": "major", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/package.json b/packages/web-components/package.json index 09347acd02b897..1c8d8d372918f3 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -97,7 +97,7 @@ "dependencies": { "@microsoft/fast-colors": "^5.1.0", "@microsoft/fast-element": "^1.0.0", - "@microsoft/fast-foundation": "^1.16.0", + "@microsoft/fast-foundation": "2.0.0-beta.0", "lodash-es": "^4.17.20", "tslib": "^1.13.0" } diff --git a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts index 30a82d8e2a4012..c706422d47359f 100644 --- a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts +++ b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts @@ -12,7 +12,8 @@ import { } from '../../styles/'; import { heightNumber } from '../../styles/size'; -export const AccordionItemStyles = css` +export const accordionItemStyles = (context, definition) => + css` ${display('flex')} :host { box-sizing: border-box; font-family: var(--body-font); @@ -122,15 +123,15 @@ export const AccordionItemStyles = css` z-index: 2; } `.withBehaviors( - accentFillRestBehavior, - neutralDividerRestBehavior, - neutralForegroundActiveBehavior, - neutralForegroundFocusBehavior, - neutralForegroundRestBehavior, - neutralForegroundHoverBehavior, - neutralFocusBehavior, - forcedColorsStylesheetBehavior( - css` + accentFillRestBehavior, + neutralDividerRestBehavior, + neutralForegroundActiveBehavior, + neutralForegroundFocusBehavior, + neutralForegroundRestBehavior, + neutralForegroundHoverBehavior, + neutralFocusBehavior, + forcedColorsStylesheetBehavior( + css` .button:${focusVisible}::before { border-color: ${SystemColors.Highlight}; box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${SystemColors.Highlight}; @@ -139,5 +140,5 @@ export const AccordionItemStyles = css` fill: ${SystemColors.ButtonText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/accordion/accordion-item/index.ts b/packages/web-components/src/accordion/accordion-item/index.ts index 93f9def29b3d72..bb5603f55778c8 100644 --- a/packages/web-components/src/accordion/accordion-item/index.ts +++ b/packages/web-components/src/accordion/accordion-item/index.ts @@ -1,25 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { AccordionItem, AccordionItemTemplate as template } from '@microsoft/fast-foundation'; -import { AccordionItemStyles as styles } from './accordion-item.styles'; +import { AccordionItem, accordionItemTemplate as template } from '@microsoft/fast-foundation'; +import { accordionItemStyles as styles } from './accordion-item.styles'; /** * The Fluent Accordion Item Element. Implements {@link @microsoft/fast-foundation#AccordionItem}, - * {@link @microsoft/fast-foundation#AccordionItemTemplate} + * {@link @microsoft/fast-foundation#accordionItemTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-accordion-item', +export const fluentAccordionItem = AccordionItem.compose({ + baseName: 'accordion-item', template, styles, -}) -export class FluentAccordionItem extends AccordionItem {} +}); /** * Styles for AccordionItem * @public */ -export const AccordionItemStyles = styles; +export const accordionItemStyles = styles; diff --git a/packages/web-components/src/accordion/accordion.stories.ts b/packages/web-components/src/accordion/accordion.stories.ts index 8427ad67e76968..1ba8273381e6a7 100644 --- a/packages/web-components/src/accordion/accordion.stories.ts +++ b/packages/web-components/src/accordion/accordion.stories.ts @@ -1,12 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/base.html'; -import { FluentAccordionItem } from './accordion-item'; -import { FluentAccordion } from '.'; - -// Prevent tree-shaking -FluentAccordion; -FluentAccordionItem; -FluentDesignSystemProvider; +import './index'; export default { title: 'Accordion', diff --git a/packages/web-components/src/accordion/accordion.styles.ts b/packages/web-components/src/accordion/accordion.styles.ts index b9f1a1dfc216c3..7291bea90b4d72 100644 --- a/packages/web-components/src/accordion/accordion.styles.ts +++ b/packages/web-components/src/accordion/accordion.styles.ts @@ -2,14 +2,15 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { accentFillRestBehavior, neutralDividerRestBehavior, neutralForegroundRestBehavior } from '../styles/'; -export const AccordionStyles = css` - ${display('flex')} :host { - box-sizing: border-box; - flex-direction: column; - font-family: var(--body-font); - font-size: var(--type-ramp-minus-1-font-size); - line-height: var(--type-ramp-minus-1-line-height); - color: ${neutralForegroundRestBehavior.var}; - border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; - } -`.withBehaviors(accentFillRestBehavior, neutralDividerRestBehavior, neutralForegroundRestBehavior); +export const accordionStyles = (context, definition) => + css` + ${display('flex')} :host { + box-sizing: border-box; + flex-direction: column; + font-family: var(--body-font); + font-size: var(--type-ramp-minus-1-font-size); + line-height: var(--type-ramp-minus-1-line-height); + color: ${neutralForegroundRestBehavior.var}; + border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; + } + `.withBehaviors(accentFillRestBehavior, neutralDividerRestBehavior, neutralForegroundRestBehavior); diff --git a/packages/web-components/src/accordion/index.ts b/packages/web-components/src/accordion/index.ts index 6e9ebe4e359fa9..703521cbd08a19 100644 --- a/packages/web-components/src/accordion/index.ts +++ b/packages/web-components/src/accordion/index.ts @@ -1,30 +1,25 @@ -import { customElement } from '@microsoft/fast-element'; -import { Accordion, AccordionTemplate as template } from '@microsoft/fast-foundation'; -import { AccordionStyles as styles } from './accordion.styles'; +import { Accordion, accordionTemplate as template } from '@microsoft/fast-foundation'; +import { accordionStyles as styles } from './accordion.styles'; export * from './accordion-item/index'; /** - * The FluentUI Accordion Element. Implements {@link @microsoft/fast-foundation#Accordion}, - * {@link @microsoft/fast-foundation#AccordionTemplate} + * The Fluent Accordion Element. Implements {@link @microsoft/fast-foundation#Accordion}, + * {@link @microsoft/fast-foundation#accordionTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-accordion', +export const fluentAccordion = Accordion.compose({ + baseName: 'accordion', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentAccordion extends Accordion {} +}); /** * Styles for Accordion * @public */ -export const AccordionStyles = styles; +export const accordionStyles = styles; diff --git a/packages/web-components/src/anchor/anchor.stories.ts b/packages/web-components/src/anchor/anchor.stories.ts index bb6c975a16279f..cfea475aec6215 100644 --- a/packages/web-components/src/anchor/anchor.stories.ts +++ b/packages/web-components/src/anchor/anchor.stories.ts @@ -1,10 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import AnchorTemplate from './fixtures/anchor.html'; -import { FluentAnchor } from './'; - -// Prevent tree-shaking -FluentAnchor; -FluentDesignSystemProvider; +import './index'; export default { title: 'Anchor', diff --git a/packages/web-components/src/anchor/anchor.styles.ts b/packages/web-components/src/anchor/anchor.styles.ts index 691aec61182d78..d8acd25b415da3 100644 --- a/packages/web-components/src/anchor/anchor.styles.ts +++ b/packages/web-components/src/anchor/anchor.styles.ts @@ -9,12 +9,13 @@ import { } from '../styles/'; import { appearanceBehavior } from '../utilities/behaviors'; -export const AnchorStyles = css` - ${BaseButtonStyles} -`.withBehaviors( - appearanceBehavior('accent', AccentButtonStyles), - appearanceBehavior('hypertext', HypertextStyles), - appearanceBehavior('lightweight', LightweightButtonStyles), - appearanceBehavior('outline', OutlineButtonStyles), - appearanceBehavior('stealth', StealthButtonStyles), -); +export const anchorStyles = (context, definition) => + css` + ${BaseButtonStyles} + `.withBehaviors( + appearanceBehavior('accent', AccentButtonStyles), + appearanceBehavior('hypertext', HypertextStyles), + appearanceBehavior('lightweight', LightweightButtonStyles), + appearanceBehavior('outline', OutlineButtonStyles), + appearanceBehavior('stealth', StealthButtonStyles), + ); diff --git a/packages/web-components/src/anchor/index.ts b/packages/web-components/src/anchor/index.ts index dde2a1c69de8b4..bd48efabdb2ddc 100644 --- a/packages/web-components/src/anchor/index.ts +++ b/packages/web-components/src/anchor/index.ts @@ -1,7 +1,7 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { Anchor, AnchorTemplate as template } from '@microsoft/fast-foundation'; +import { attr } from '@microsoft/fast-element'; +import { Anchor as FoundationAnchor, anchorTemplate as template } from '@microsoft/fast-foundation'; import { ButtonAppearance } from '../button'; -import { AnchorStyles as styles } from './anchor.styles'; +import { anchorStyles as styles } from './anchor.styles'; /** * Types of anchor appearance. @@ -10,26 +10,10 @@ import { AnchorStyles as styles } from './anchor.styles'; export type AnchorAppearance = ButtonAppearance | 'hypertext'; /** - * The Fluent Anchor Element. Implements {@link @microsoft/fast-foundation#Anchor}, - * {@link @microsoft/fast-foundation#AnchorTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - * - * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + * The Fluent version of Anchor + * @internal */ -@customElement({ - name: 'fluent-anchor', - template, - styles, - shadowOptions: { - delegatesFocus: true, - mode: 'closed', - }, -}) -export class FluentAnchor extends Anchor { +export class Anchor extends FoundationAnchor { /** * The appearance the anchor should have. * @@ -77,4 +61,24 @@ export class FluentAnchor extends Anchor { * Styles for Anchor * @public */ -export const AnchorStyles = styles; +export const anchorStyles = styles; + +/** + * The Fluent Anchor Element. Implements {@link @microsoft/fast-foundation#Anchor}, + * {@link @microsoft/fast-foundation#anchorTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + */ +export const fluentAnchor = Anchor.compose({ + baseName: 'anchor', + template, + styles, + shadowOptions: { + delegatesFocus: true, + }, +}); diff --git a/packages/web-components/src/anchored-region/anchored-region.stories.ts b/packages/web-components/src/anchored-region/anchored-region.stories.ts index 9d865c0f5a549d..91ae2577f53bca 100644 --- a/packages/web-components/src/anchored-region/anchored-region.stories.ts +++ b/packages/web-components/src/anchored-region/anchored-region.stories.ts @@ -1,13 +1,9 @@ import { STORY_RENDERED } from '@storybook/core-events'; import addons from '@storybook/addons'; import { Direction, RtlScrollConverter } from '@microsoft/fast-web-utilities'; -import { FluentDesignSystemProvider } from '../design-system-provider'; -import { FluentAnchoredRegion } from '../anchored-region'; +import { AnchoredRegion } from '@microsoft/fast-foundation'; import AnchoreRegionTemplate from './fixtures/base.html'; - -// Prevent tree-shaking -FluentAnchoredRegion; -FluentDesignSystemProvider; +import './index'; let scalingViewportPreviousXValue: number = 250; let scalingViewportPreviousYValue: number = 250; @@ -45,7 +41,7 @@ function scrollViewports(): void { function handleScrollViaUpdate(ev: Event): void { if (ev.target instanceof HTMLElement) { const scalingRegionUpdate: HTMLElement | null = document.getElementById('region-scaling-update'); - if (scalingRegionUpdate instanceof FluentAnchoredRegion) { + if (scalingRegionUpdate instanceof AnchoredRegion) { (scalingRegionUpdate as any).update(); } } @@ -56,7 +52,7 @@ function handleScrollViaOffset(ev: Event): void { const scroller: HTMLElement = ev.target as HTMLElement; const scalingRegionOffset: HTMLElement | null = document.getElementById('region-scaling-offset'); - if (scalingRegionOffset instanceof FluentAnchoredRegion) { + if (scalingRegionOffset instanceof AnchoredRegion) { (scalingRegionOffset as any).updateAnchorOffset( scalingViewportPreviousXValue - scroller.scrollLeft, scalingViewportPreviousYValue - scroller.scrollTop, diff --git a/packages/web-components/src/anchored-region/anchored-region.styles.ts b/packages/web-components/src/anchored-region/anchored-region.styles.ts index 0e1ce410795761..9a04f200205b6b 100644 --- a/packages/web-components/src/anchored-region/anchored-region.styles.ts +++ b/packages/web-components/src/anchored-region/anchored-region.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; -export const AnchoredRegionStyles = css` +export const anchoredRegionStyles = (context, definition) => css` :host { contain: layout; display: block; diff --git a/packages/web-components/src/anchored-region/index.ts b/packages/web-components/src/anchored-region/index.ts index 04932989feb370..4e95503654ceae 100644 --- a/packages/web-components/src/anchored-region/index.ts +++ b/packages/web-components/src/anchored-region/index.ts @@ -1,25 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { AnchoredRegion, AnchoredRegionTemplate as template } from '@microsoft/fast-foundation'; -import { AnchoredRegionStyles as styles } from './anchored-region.styles'; +import { AnchoredRegion, anchoredRegionTemplate as template } from '@microsoft/fast-foundation'; +import { anchoredRegionStyles as styles } from './anchored-region.styles'; /** * The Fluent AnchoredRegion Element. Implements {@link @microsoft/fast-foundation#AnchoredRegion}, - * {@link @microsoft/fast-foundation#AnchoredRegionTemplate} + * {@link @microsoft/fast-foundation#anchoredRegionTemplate} * * * @beta * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-anchored-region', +export const fluentAnchoredRegion = AnchoredRegion.compose({ + baseName: 'anchored-region', template, styles, -}) -export class FluentAnchoredRegion extends AnchoredRegion {} +}); /** * Styles for AnchoredRegion * @public */ -export const AnchoredRegionStyles = styles; +export const anchoredRegionStyles = styles; diff --git a/packages/web-components/src/badge/badge.spec.ts b/packages/web-components/src/badge/badge.spec.ts deleted file mode 100644 index 4f55b433755323..00000000000000 --- a/packages/web-components/src/badge/badge.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { FluentBadge } from "."; - -describe("The fluent-badge component", () => { - it("adds its appearance as a host class", () => { - const badge = new FluentBadge(); - badge.classList.contains("lightweight"); - }); -}); diff --git a/packages/web-components/src/badge/badge.stories.ts b/packages/web-components/src/badge/badge.stories.ts index 8761ce23071eee..91766317b55c9b 100644 --- a/packages/web-components/src/badge/badge.stories.ts +++ b/packages/web-components/src/badge/badge.stories.ts @@ -1,10 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import BadgeTemplate from './fixtures/badge.html'; -import { FluentBadge } from './'; - -// Prevent tree-shaking -FluentBadge; -FluentDesignSystemProvider; +import './index'; export default { title: 'Badge', diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index 83d23f1c0dba03..d8050a1a1e54f8 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -7,37 +7,38 @@ import { neutralForegroundRestBehavior, } from '../styles'; -export const BadgeStyles = css` - ${display('inline-block')} :host { - box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-minus-1-font-size); - line-height: var(--type-ramp-minus-1-height); - } +export const badgeStyles = (context, definition) => + css` + ${display('inline-block')} :host { + box-sizing: border-box; + font-family: var(--body-font); + font-size: var(--type-ramp-minus-1-font-size); + line-height: var(--type-ramp-minus-1-height); + } - .control { - border-radius: calc(var(--corner-radius) * 1px); - padding: calc(var(--design-unit) * 0.5px) calc(var(--design-unit) * 1px); - } + .control { + border-radius: calc(var(--corner-radius) * 1px); + padding: calc(var(--design-unit) * 0.5px) calc(var(--design-unit) * 1px); + } - :host(.lightweight) .control { - background: transparent; - color: ${neutralForegroundRestBehavior.var}; - font-weight: 600; - } + :host(.lightweight) .control { + background: transparent; + color: ${neutralForegroundRestBehavior.var}; + font-weight: 600; + } - :host(.accent) .control { - background: ${accentFillRestBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; - } + :host(.accent) .control { + background: ${accentFillRestBehavior.var}; + color: ${accentForegroundCutRestBehavior.var}; + } - :host(.neutral) .control { - background: ${neutralFillRestBehavior.var}; - color: ${neutralForegroundRestBehavior.var}; - } -`.withBehaviors( - accentFillRestBehavior, - accentForegroundCutRestBehavior, - neutralFillRestBehavior, - neutralForegroundRestBehavior, -); + :host(.neutral) .control { + background: ${neutralFillRestBehavior.var}; + color: ${neutralForegroundRestBehavior.var}; + } + `.withBehaviors( + accentFillRestBehavior, + accentForegroundCutRestBehavior, + neutralFillRestBehavior, + neutralForegroundRestBehavior, + ); diff --git a/packages/web-components/src/badge/index.ts b/packages/web-components/src/badge/index.ts index 51f6bf9594fa09..d5193df50a0c40 100644 --- a/packages/web-components/src/badge/index.ts +++ b/packages/web-components/src/badge/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement, DOM } from '@microsoft/fast-element'; -import { Badge, BadgeTemplate as template } from '@microsoft/fast-foundation'; -import { BadgeStyles as styles } from './badge.styles'; +import { attr, DOM } from '@microsoft/fast-element'; +import { Badge as FoundationBadge, badgeTemplate as template } from '@microsoft/fast-foundation'; +import { badgeStyles as styles } from './badge.styles'; /** * Badge appearance options. @@ -9,23 +9,10 @@ import { BadgeStyles as styles } from './badge.styles'; export type BadgeAppearance = 'accent' | 'lightweight' | 'neutral' | string; /** - * The Fluent Badge Element. Implements {@link @microsoft/fast-foundation#Badge}, - * {@link @microsoft/fast-foundation#BadgeTemplate} - * - * - * @public - * @remarks - * HTML Element: \ + * The Fluent Badge class + * @internal */ -@customElement({ - name: 'fluent-badge', - template, - styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentBadge extends Badge { +export class Badge extends FoundationBadge { @attr({ mode: 'fromView' }) public appearance: BadgeAppearance = 'lightweight'; private appearanceChanged(oldValue: BadgeAppearance, newValue: BadgeAppearance): void { @@ -38,8 +25,23 @@ export class FluentBadge extends Badge { } } +/** + * The Fluent Badge Element. Implements {@link @microsoft/fast-foundation#Badge}, + * {@link @microsoft/fast-foundation#badgeTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + */ +export const fluentBadge = Badge.compose({ + baseName: 'badge', + template, + styles, +}); + /** * Styles for Badge * @public */ -export const BadgeStyles = styles; +export const badgeStyles = styles; diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts index 58302f0f2b0fa2..0a6f89ad9b7643 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts @@ -1,10 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import BreadcrumbItemTemplate from './fixtures/breadcrumb-item.html'; -import { FluentBreadcrumbItem } from '.'; - -// Prevent tree-shaking -FluentBreadcrumbItem; -FluentDesignSystemProvider; +import './index'; export default { title: 'Breadcrumb Item', diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts index c66cde8a36f2fe..9e297383f9b7d2 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts @@ -9,7 +9,8 @@ import { neutralForegroundRestBehavior, } from '../styles/index'; -export const BreadcrumbItemStyles = css` +export const breadcrumbItemStyles = (context, definition) => + css` ${display('inline-flex')} :host { background: transparent; box-sizing: border-box; @@ -102,12 +103,12 @@ export const BreadcrumbItemStyles = css` margin: 0 6px; } `.withBehaviors( - accentForegroundActiveBehavior, - accentForegroundHoverBehavior, - accentForegroundRestBehavior, - neutralForegroundRestBehavior, - forcedColorsStylesheetBehavior( - css` + accentForegroundActiveBehavior, + accentForegroundHoverBehavior, + accentForegroundRestBehavior, + neutralForegroundRestBehavior, + forcedColorsStylesheetBehavior( + css` :host(:not([href])) { color: ${SystemColors.ButtonText}; fill: currentcolor; @@ -120,5 +121,5 @@ export const BreadcrumbItemStyles = css` fill: ${SystemColors.ButtonText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/breadcrumb-item/index.ts b/packages/web-components/src/breadcrumb-item/index.ts index e7583ea3d1aeb8..0b4bac492086d4 100644 --- a/packages/web-components/src/breadcrumb-item/index.ts +++ b/packages/web-components/src/breadcrumb-item/index.ts @@ -1,28 +1,26 @@ -import { customElement } from '@microsoft/fast-element'; -import { BreadcrumbItem, BreadcrumbItemTemplate as template } from '@microsoft/fast-foundation'; -import { BreadcrumbItemStyles as styles } from './breadcrumb-item.styles'; +import { BreadcrumbItem, breadcrumbItemTemplate as template } from '@microsoft/fast-foundation'; +import { breadcrumbItemStyles as styles } from './breadcrumb-item.styles'; /** * The Fluent BreadcrumbItem Element. Implements {@link @microsoft/fast-foundation#BreadcrumbItem}, - * {@link @microsoft/fast-foundation#BreadcrumbItemTemplate} + * {@link @microsoft/fast-foundation#breadcrumbItemTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-breadcrumb-item', +export const fluentBreadcrumbItem = BreadcrumbItem.compose({ + baseName: 'breadcrumb-item', template, styles, shadowOptions: { delegatesFocus: true, }, -}) -export class FluentBreadcrumbItem extends BreadcrumbItem {} +}); /** * Styles for BreadcrumbItem * @public */ -export const BreadcrumbItemStyles = styles; +export const breadcrumbItemStyles = styles; diff --git a/packages/web-components/src/breadcrumb/breadcrumb.stories.ts b/packages/web-components/src/breadcrumb/breadcrumb.stories.ts index 180651ffb42778..6f2b9962c09f24 100644 --- a/packages/web-components/src/breadcrumb/breadcrumb.stories.ts +++ b/packages/web-components/src/breadcrumb/breadcrumb.stories.ts @@ -1,12 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import { FluentBreadcrumbItem } from '../breadcrumb-item'; import BreadcrumbTemplate from './fixtures/breadcrumb.html'; -import { FluentBreadcrumb } from '.'; - -// Prevent tree-shaking -FluentBreadcrumb; -FluentBreadcrumbItem; -FluentDesignSystemProvider; +import './index'; export default { title: 'Breadcrumb', diff --git a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts index e98c677ab2434d..b204d505d02dd7 100644 --- a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts +++ b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts @@ -1,7 +1,7 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -export const BreadcrumbStyles = css` +export const breadcrumbStyles = (context, definition) => css` ${display('inline-block')} :host { box-sizing: border-box; font-family: var(--body-font); diff --git a/packages/web-components/src/breadcrumb/index.ts b/packages/web-components/src/breadcrumb/index.ts index 00e1ce88c73b97..b26abe7ddf2510 100644 --- a/packages/web-components/src/breadcrumb/index.ts +++ b/packages/web-components/src/breadcrumb/index.ts @@ -1,25 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Breadcrumb, BreadcrumbTemplate as template } from '@microsoft/fast-foundation'; -import { BreadcrumbStyles as styles } from './breadcrumb.styles'; +import { Breadcrumb, breadcrumbTemplate as template } from '@microsoft/fast-foundation'; +import { breadcrumbStyles as styles } from './breadcrumb.styles'; /** * The Fluent Breadcrumb Element. Implements {@link @microsoft/fast-foundation#Breadcrumb}, - * {@link @microsoft/fast-foundation#BreadcrumbTemplate} + * {@link @microsoft/fast-foundation#breadcrumbTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-breadcrumb', +export const fluentBreadcrumb = Breadcrumb.compose({ + baseName: 'breadcrumb', template, styles, -}) -export class FluentBreadcrumb extends Breadcrumb {} +}); /** * Styles for Breadcrumb * @public */ -export const BreadcrumbStyles = styles; +export const breadcrumbStyles = styles; diff --git a/packages/web-components/src/button/button.stories.ts b/packages/web-components/src/button/button.stories.ts index e68b3b2ec9159f..c5c3640f1f485d 100644 --- a/packages/web-components/src/button/button.stories.ts +++ b/packages/web-components/src/button/button.stories.ts @@ -1,10 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import ButtonTemplate from './fixtures/button.html'; -import { FluentButton } from './'; - -// Prevent tree-shaking -FluentButton; -FluentDesignSystemProvider; +import './index'; export default { title: 'Button', diff --git a/packages/web-components/src/button/button.styles.ts b/packages/web-components/src/button/button.styles.ts index f31a5b05693f9a..92857bc9b54928 100644 --- a/packages/web-components/src/button/button.styles.ts +++ b/packages/web-components/src/button/button.styles.ts @@ -15,7 +15,7 @@ import { } from '../styles/'; import { appearanceBehavior } from '../utilities/behaviors'; -export const ButtonStyles = css` +export const ButtonStyles = (context, definition) => css` :host([disabled]), :host([disabled]:hover), :host([disabled]:active) { diff --git a/packages/web-components/src/button/index.ts b/packages/web-components/src/button/index.ts index 4d551ca59d0199..38b3f0dd016721 100644 --- a/packages/web-components/src/button/index.ts +++ b/packages/web-components/src/button/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { Button, ButtonTemplate as template } from '@microsoft/fast-foundation'; -import { ButtonStyles as styles } from './button.styles'; +import { attr } from '@microsoft/fast-element'; +import { Button as FoundationButton, buttonTemplate as template } from '@microsoft/fast-foundation'; +import { buttonStyles as styles } from './button.styles'; /** * Types of button appearance. @@ -9,26 +9,10 @@ import { ButtonStyles as styles } from './button.styles'; export type ButtonAppearance = 'accent' | 'lightweight' | 'neutral' | 'outline' | 'stealth'; /** - * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button}, - * {@link @microsoft/fast-foundation#ButtonTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - * - * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + * The Fluent button class + * @internal */ -@customElement({ - name: 'fluent-button', - template, - styles, - shadowOptions: { - delegatesFocus: true, - mode: 'closed', - }, -}) -export class FluentButton extends Button { +export class Button extends FoundationButton { /** * The appearance the button should have. * @@ -72,8 +56,28 @@ export class FluentButton extends Button { } } +/** + * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button}, + * {@link @microsoft/fast-foundation#buttonTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + */ +export const fluentButton = Button.compose({ + baseName: 'button', + template, + styles, + shadowOptions: { + delegatesFocus: true, + }, +}); + /** * Styles for Button * @public */ -export const ButtonStyles = styles; +export const buttonStyles = styles; diff --git a/packages/web-components/src/card/card.stories.ts b/packages/web-components/src/card/card.stories.ts index ccfb4727bf02b2..e643e08164f98b 100644 --- a/packages/web-components/src/card/card.stories.ts +++ b/packages/web-components/src/card/card.stories.ts @@ -1,10 +1,5 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import CardTemplate from './fixtures/card.html'; -import { FluentCard } from './'; - -// Prevent tree-shaking -FluentCard; -FluentDesignSystemProvider; +import './index'; export default { title: 'Card', diff --git a/packages/web-components/src/checkbox/checkbox.stories.ts b/packages/web-components/src/checkbox/checkbox.stories.ts index 0af0181ed66aea..6b99c2c2e424fe 100644 --- a/packages/web-components/src/checkbox/checkbox.stories.ts +++ b/packages/web-components/src/checkbox/checkbox.stories.ts @@ -1,30 +1,14 @@ -import { STORY_RENDERED } from '@storybook/core-events'; import addons from '@storybook/addons'; -import { FluentDesignSystemProvider } from '../design-system-provider'; +import { STORY_RENDERED } from '@storybook/core-events'; +import { Checkbox as FoundationCheckbox } from '@microsoft/fast-foundation'; import Examples from './fixtures/checkbox.html'; -import { FluentCheckbox } from './'; - -// Prevent tree-shaking -FluentCheckbox; -FluentDesignSystemProvider; +import './index'; addons.getChannel().addListener(STORY_RENDERED, (name: string) => { if (name.toLowerCase().startsWith('checkbox')) { - setIndeterminate(); - } -}); - -function setIndeterminate(): void { - document.querySelectorAll('.flag-indeterminate').forEach(el => { - if (el instanceof FluentCheckbox) { + document.querySelectorAll('.flag-indeterminate').forEach((el: FoundationCheckbox) => { el.indeterminate = true; - } - }); -} - -document.addEventListener('readystatechange', () => { - if (document.readyState === 'complete') { - setIndeterminate(); + }); } }); @@ -32,4 +16,4 @@ export default { title: 'Checkbox', }; -export const Checkbox = (): string => Examples; +export const Checkbox = () => Examples; diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index 2631204dcfb1fd..d673bb545cf995 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -13,7 +13,8 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const CheckboxStyles = css` +export const checkboxStyles = (context, definition) => + css` ${display('inline-flex')} :host { align-items: center; outline: none; @@ -107,16 +108,16 @@ export const CheckboxStyles = css` opacity: var(--disabled-opacity); } `.withBehaviors( - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFillInputActiveBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` .control { forced-color-adjust: none; border-color: ${SystemColors.FieldText}; @@ -177,5 +178,5 @@ export const CheckboxStyles = css` fill: ${SystemColors.GrayText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/checkbox/index.ts b/packages/web-components/src/checkbox/index.ts index ec1ceb8471fc10..f27391c11186cc 100644 --- a/packages/web-components/src/checkbox/index.ts +++ b/packages/web-components/src/checkbox/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Checkbox, CheckboxTemplate as template } from '@microsoft/fast-foundation'; -import { CheckboxStyles as styles } from './checkbox.styles'; +import { Checkbox, checkboxTemplate as template } from '@microsoft/fast-foundation'; +import { checkboxStyles as styles } from './checkbox.styles'; /** * The Fluent Checkbox Element. Implements {@link @microsoft/fast-foundation#Checkbox}, - * {@link @microsoft/fast-foundation#CheckboxTemplate} + * {@link @microsoft/fast-foundation#checkboxTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-checkbox', +export const fluentCheckbox = Checkbox.compose({ + baseName: 'checkbox', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentCheckbox extends Checkbox {} +}); /** * Styles for Checkbox * @public */ -export const CheckboxStyles = styles; +export const checkboxStyles = styles; diff --git a/packages/web-components/src/color/accent-fill.spec.ts b/packages/web-components/src/color/accent-fill.spec.ts index c213c48cec3eb3..a1587bcd2d0f9f 100644 --- a/packages/web-components/src/color/accent-fill.spec.ts +++ b/packages/web-components/src/color/accent-fill.spec.ts @@ -1,91 +1,71 @@ -import { expect } from "chai"; +import { expect } from 'chai'; import { - accentBaseColor, - accentPalette as getAccentPalette, - DesignSystem, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; + accentBaseColor, + accentPalette as getAccentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; import { - accentFillActive, - accentFillHover, - accentFillLargeActive, - accentFillLargeHover, - accentFillLargeRest, - accentFillLargeSelected, - accentFillRest, - accentFillSelected, -} from "./accent-fill"; -import { findClosestSwatchIndex, Palette } from "./palette"; -import { contrast, Swatch } from "./common"; -import { accentForegroundCut } from "./accent-foreground-cut"; + accentFillActive, + accentFillHover, + accentFillLargeActive, + accentFillLargeHover, + accentFillLargeRest, + accentFillLargeSelected, + accentFillRest, + accentFillSelected, +} from './accent-fill'; +import { findClosestSwatchIndex, Palette } from './palette'; +import { contrast, Swatch } from './common'; +import { accentForegroundCut } from './accent-foreground-cut'; -describe("accentFill", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); +describe('accentFill', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - const accentIndex: number = findClosestSwatchIndex( - getAccentPalette, - accentBaseColor(DesignSystemDefaults) - )(DesignSystemDefaults); + const accentIndex: number = findClosestSwatchIndex( + getAccentPalette, + accentBaseColor(DesignSystemDefaults), + )(DesignSystemDefaults); - it("should operate on design system defaults", (): void => { - [ - accentFillActive, - accentFillHover, - accentFillLargeActive, - accentFillLargeHover, - accentFillLargeRest, - accentFillLargeSelected, - accentFillRest, - accentFillSelected, - ].forEach(fn => { - expect(accentPalette).to.include(fn({} as DesignSystem)); - }); + it('should operate on design system defaults', (): void => { + [ + accentFillActive, + accentFillHover, + accentFillLargeActive, + accentFillLargeHover, + accentFillLargeRest, + accentFillLargeSelected, + accentFillRest, + accentFillSelected, + ].forEach(fn => { + expect(accentPalette).to.include(fn({} as DesignSystem)); }); + }); - it("should accept a function that resolves a background swatch", (): void => { - expect(typeof accentFillRest(() => "#FFF")).to.equal("function"); - expect(accentFillRest(() => "#000")({} as DesignSystem)).to.equal(accentPalette[63]); - }); + it('should accept a function that resolves a background swatch', (): void => { + expect(typeof accentFillRest(() => '#FFF')).to.equal('function'); + expect(accentFillRest(() => '#000')({} as DesignSystem)).to.equal(accentPalette[63]); + }); - it("should have accessible rest and hover colors against accentForegroundCut", (): void => { - const accentColors: Swatch[] = [ - "#0078D4", - "#107C10", - "#5C2D91", - "#D83B01", - "#F2C812", - ]; + it('should have accessible rest and hover colors against accentForegroundCut', (): void => { + const accentColors: Swatch[] = ['#0078D4', '#107C10', '#5C2D91', '#D83B01', '#F2C812']; - accentColors.forEach((accent: Swatch): void => { - neutralPalette.forEach((swatch: Swatch): void => { - const designSystem: DesignSystem = Object.assign( - {}, - DesignSystemDefaults, - { - backgroundColor: swatch, - accentPaletteSource: ["#FFF", accent, "#000"], - } - ); + accentColors.forEach((accent: Swatch): void => { + neutralPalette.forEach((swatch: Swatch): void => { + const designSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + accentPaletteSource: ['#FFF', accent, '#000'], + }); - const accentForegroundCutColor: Swatch = accentForegroundCut( - designSystem - ); + const accentForegroundCutColor: Swatch = accentForegroundCut(designSystem); - expect( - contrast(accentForegroundCutColor, accentFillRest(designSystem)) - ).to.be.gte(4.5); - expect( - contrast(accentForegroundCutColor, accentFillHover(designSystem)) - ).to.be.gte(4.5); - expect( - contrast(accentForegroundCutColor, accentFillLargeRest(designSystem)) - ).to.be.gte(3); - expect( - contrast(accentForegroundCutColor, accentFillLargeHover(designSystem)) - ).to.be.gte(3); - }); - }); + expect(contrast(accentForegroundCutColor, accentFillRest(designSystem))).to.be.gte(4.5); + expect(contrast(accentForegroundCutColor, accentFillHover(designSystem))).to.be.gte(4.5); + expect(contrast(accentForegroundCutColor, accentFillLargeRest(designSystem))).to.be.gte(3); + expect(contrast(accentForegroundCutColor, accentFillLargeHover(designSystem))).to.be.gte(3); + }); }); + }); }); diff --git a/packages/web-components/src/color/accent-foreground-cut.spec.ts b/packages/web-components/src/color/accent-foreground-cut.spec.ts index c58e65cdf66399..cdd144287fb6d4 100644 --- a/packages/web-components/src/color/accent-foreground-cut.spec.ts +++ b/packages/web-components/src/color/accent-foreground-cut.spec.ts @@ -1,30 +1,24 @@ -import { expect } from "chai"; -import { - DesignSystemDefaults, DesignSystem -} from "../fluent-design-system"; -import { accentForegroundCut, accentForegroundCutLarge } from "./accent-foreground-cut"; -import { Swatch } from "./common"; +import { expect } from 'chai'; +import { DesignSystemDefaults, DesignSystem } from '../fluent-design-system'; +import { accentForegroundCut, accentForegroundCutLarge } from './accent-foreground-cut'; +import { Swatch } from './common'; -describe("Cut text", (): void => { - it("should return white by by default", (): void => { - expect(accentForegroundCut(undefined as any)).to.equal("#FFFFFF"); - expect(accentForegroundCutLarge(undefined as any)).to.equal("#FFFFFF"); - }); - it("should return black when background does not meet contrast ratio", (): void => { - expect(accentForegroundCut((): Swatch => "#FFF")({} as any)).to.equal("#000000"); - expect(accentForegroundCutLarge((): Swatch => "#FFF")({} as any)).to.equal("#000000"); +describe('Cut text', (): void => { + it('should return white by by default', (): void => { + expect(accentForegroundCut(undefined as any)).to.equal('#FFFFFF'); + expect(accentForegroundCutLarge(undefined as any)).to.equal('#FFFFFF'); + }); + it('should return black when background does not meet contrast ratio', (): void => { + expect(accentForegroundCut((): Swatch => '#FFF')({} as any)).to.equal('#000000'); + expect(accentForegroundCutLarge((): Swatch => '#FFF')({} as any)).to.equal('#000000'); - expect( - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - accentForegroundCut((designSystem: DesignSystem) => "#FFF")( - DesignSystemDefaults - ) - ).to.equal("#000000"); - expect( - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - accentForegroundCutLarge((designSystem: DesignSystem) => "#FFF")( - DesignSystemDefaults - ) - ).to.equal("#000000"); - }); + expect( + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + accentForegroundCut((designSystem: DesignSystem) => '#FFF')(DesignSystemDefaults), + ).to.equal('#000000'); + expect( + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + accentForegroundCutLarge((designSystem: DesignSystem) => '#FFF')(DesignSystemDefaults), + ).to.equal('#000000'); + }); }); diff --git a/packages/web-components/src/color/accent-foreground.spec.ts b/packages/web-components/src/color/accent-foreground.spec.ts index 8c47dae160320f..07ed01a6dd6b96 100644 --- a/packages/web-components/src/color/accent-foreground.spec.ts +++ b/packages/web-components/src/color/accent-foreground.spec.ts @@ -1,111 +1,95 @@ -import { parseColorHexRGB } from "@microsoft/fast-colors"; -import { expect } from "chai"; +import { parseColorHexRGB } from '@microsoft/fast-colors'; +import { expect } from 'chai'; import { - accentPalette as getAccentPalette, - DesignSystem, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; + accentPalette as getAccentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; import { - accentForegroundActive, - accentForegroundHover, - accentForegroundLargeActive, - accentForegroundLargeHover, - accentForegroundLargeRest, - accentForegroundRest, -} from "./accent-foreground"; -import { Palette } from "./palette"; -import { contrast, Swatch } from "./common"; + accentForegroundActive, + accentForegroundHover, + accentForegroundLargeActive, + accentForegroundLargeHover, + accentForegroundLargeRest, + accentForegroundRest, +} from './accent-foreground'; +import { Palette } from './palette'; +import { contrast, Swatch } from './common'; -describe("accentForeground", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); +describe('accentForeground', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should operate on design system defaults", (): void => { - expect(accentForegroundRest({} as DesignSystem)).to.equal(accentPalette[59]); - expect(accentForegroundHover({} as DesignSystem)).to.equal(accentPalette[65]); - expect(accentForegroundActive({} as DesignSystem)).to.equal(accentPalette[55]); - expect(accentForegroundLargeRest({} as DesignSystem)).to.equal(accentPalette[59]); - expect(accentForegroundLargeHover({} as DesignSystem)).to.equal(accentPalette[65]); - expect(accentForegroundLargeActive({} as DesignSystem)).to.equal(accentPalette[55]); - }); + it('should operate on design system defaults', (): void => { + expect(accentForegroundRest({} as DesignSystem)).to.equal(accentPalette[59]); + expect(accentForegroundHover({} as DesignSystem)).to.equal(accentPalette[65]); + expect(accentForegroundActive({} as DesignSystem)).to.equal(accentPalette[55]); + expect(accentForegroundLargeRest({} as DesignSystem)).to.equal(accentPalette[59]); + expect(accentForegroundLargeHover({} as DesignSystem)).to.equal(accentPalette[65]); + expect(accentForegroundLargeActive({} as DesignSystem)).to.equal(accentPalette[55]); + }); - it("should accept a function that resolves a background swatch", (): void => { - expect(typeof accentForegroundRest(() => "#FFF")).to.equal("function"); - expect(accentForegroundRest(() => "#000")({} as DesignSystem)).to.equal( - accentPalette[59] - ); - expect(typeof accentForegroundRest(() => "#FFFFFF")).to.equal("function"); - expect(accentForegroundRest(() => "#000000")({} as DesignSystem)).to.equal( - accentPalette[59] - ); - }); + it('should accept a function that resolves a background swatch', (): void => { + expect(typeof accentForegroundRest(() => '#FFF')).to.equal('function'); + expect(accentForegroundRest(() => '#000')({} as DesignSystem)).to.equal(accentPalette[59]); + expect(typeof accentForegroundRest(() => '#FFFFFF')).to.equal('function'); + expect(accentForegroundRest(() => '#000000')({} as DesignSystem)).to.equal(accentPalette[59]); + }); - it("should increase contrast on hover state and decrease contrast on active state in either mode", (): void => { - expect( - accentPalette.indexOf(accentForegroundHover(DesignSystemDefaults)) - ).to.be.greaterThan( - accentPalette.indexOf(accentForegroundRest(DesignSystemDefaults)) - ); - expect( - accentPalette.indexOf(accentForegroundActive(DesignSystemDefaults)) - ).to.be.lessThan(accentPalette.indexOf(accentForegroundRest(DesignSystemDefaults))); + it('should increase contrast on hover state and decrease contrast on active state in either mode', (): void => { + expect(accentPalette.indexOf(accentForegroundHover(DesignSystemDefaults))).to.be.greaterThan( + accentPalette.indexOf(accentForegroundRest(DesignSystemDefaults)), + ); + expect(accentPalette.indexOf(accentForegroundActive(DesignSystemDefaults))).to.be.lessThan( + accentPalette.indexOf(accentForegroundRest(DesignSystemDefaults)), + ); - const darkDesignSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { - backgroundColor: "#000", - }); - expect( - accentPalette.indexOf(accentForegroundHover(darkDesignSystem)) - ).to.be.lessThan(accentPalette.indexOf(accentForegroundRest(darkDesignSystem))); - expect( - accentPalette.indexOf(accentForegroundActive(darkDesignSystem)) - ).to.be.greaterThan(accentPalette.indexOf(accentForegroundRest(darkDesignSystem))); + const darkDesignSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { + backgroundColor: '#000', }); + expect(accentPalette.indexOf(accentForegroundHover(darkDesignSystem))).to.be.lessThan( + accentPalette.indexOf(accentForegroundRest(darkDesignSystem)), + ); + expect(accentPalette.indexOf(accentForegroundActive(darkDesignSystem))).to.be.greaterThan( + accentPalette.indexOf(accentForegroundRest(darkDesignSystem)), + ); + }); - it("should have accessible rest and hover colors against the background color", (): void => { - const accentColors: Swatch[] = [ - "#0078D4", - "#107C10", - "#5C2D91", - "#D83B01", - "#F2C812", - ]; + it('should have accessible rest and hover colors against the background color', (): void => { + const accentColors: Swatch[] = ['#0078D4', '#107C10', '#5C2D91', '#D83B01', '#F2C812']; - accentColors.forEach( - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - (accent: Swatch): void => { - neutralPalette.forEach((swatch: Swatch): void => { - const designSystem: DesignSystem = Object.assign( - {}, - DesignSystemDefaults, - { - backgroundColor: swatch, - accentPaletteConfig: Object.assign({}, { - steps: 94, - clipLight: 0, - clipDark: 0, - }, { - baseColor: parseColorHexRGB(swatch), - }), - } - ); + accentColors.forEach( + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + (accent: Swatch): void => { + neutralPalette.forEach((swatch: Swatch): void => { + const designSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + accentPaletteConfig: Object.assign( + {}, + { + steps: 94, + clipLight: 0, + clipDark: 0, + }, + { + baseColor: parseColorHexRGB(swatch), + }, + ), + }); - expect( - contrast(swatch, accentForegroundRest(designSystem)) - // There are a few states that are impossible to meet contrast on - ).to.be.gte(4.47); - expect( - contrast(swatch, accentForegroundHover(designSystem)) - // There are a few states that are impossible to meet contrast on - ).to.be.gte(3.7); - expect( - contrast(swatch, accentForegroundLargeRest(designSystem)) - ).to.be.gte(3); - expect( - contrast(swatch, accentForegroundLargeHover(designSystem)) - ).to.be.gte(3); - }); - } - ); - }); + expect( + contrast(swatch, accentForegroundRest(designSystem)), + // There are a few states that are impossible to meet contrast on + ).to.be.gte(4.47); + expect( + contrast(swatch, accentForegroundHover(designSystem)), + // There are a few states that are impossible to meet contrast on + ).to.be.gte(3.7); + expect(contrast(swatch, accentForegroundLargeRest(designSystem))).to.be.gte(3); + expect(contrast(swatch, accentForegroundLargeHover(designSystem))).to.be.gte(3); + }); + }, + ); + }); }); diff --git a/packages/web-components/src/color/common.spec.ts b/packages/web-components/src/color/common.spec.ts index 29b2ad61dc1ba4..8f77aef063e448 100644 --- a/packages/web-components/src/color/common.spec.ts +++ b/packages/web-components/src/color/common.spec.ts @@ -1,86 +1,86 @@ -import { expect } from "chai"; -import { ColorRGBA64 } from "@microsoft/fast-colors"; -import { colorMatches, contrast, isValidColor, parseColorString } from "./common"; +import { expect } from 'chai'; +import { ColorRGBA64 } from '@microsoft/fast-colors'; +import { colorMatches, contrast, isValidColor, parseColorString } from './common'; -describe("isValidColor", (): void => { - it("should return true when input is a hex color", (): void => { - expect(isValidColor("#000")).to.be.ok; - expect(isValidColor("#000000")).to.be.ok; - }); - it("should return false when input is not a color", (): void => { - expect(isValidColor(undefined as any)).to.not.be.ok; - expect(isValidColor(null as any)).to.not.be.ok; - expect(isValidColor("ooggabooga")).to.not.be.ok; - }); +describe('isValidColor', (): void => { + it('should return true when input is a hex color', (): void => { + expect(isValidColor('#000')).to.be.ok; + expect(isValidColor('#000000')).to.be.ok; + }); + it('should return false when input is not a color', (): void => { + expect(isValidColor(undefined as any)).to.not.be.ok; + expect(isValidColor(null as any)).to.not.be.ok; + expect(isValidColor('ooggabooga')).to.not.be.ok; + }); }); -describe("colorMatches", (): void => { - it("should throw arguments are not colors", (): void => { - expect((): void => { - colorMatches("dksfjd", "weeeeeeee"); - }).to.throw(); - }); +describe('colorMatches', (): void => { + it('should throw arguments are not colors', (): void => { + expect((): void => { + colorMatches('dksfjd', 'weeeeeeee'); + }).to.throw(); + }); - it("should return true if colors are the same", (): void => { - expect(colorMatches("#F00", "rgb(255, 0, 0)")).to.be.ok; - expect(colorMatches("#000", "rgb(0, 0, 0)")).to.be.ok; - expect(colorMatches("#FFF", "rgb(255, 255, 255)")).to.be.ok; - expect(colorMatches("#FF0000", "rgb(255, 0, 0)")).to.be.ok; - expect(colorMatches("#000000", "rgb(0, 0, 0)")).to.be.ok; - expect(colorMatches("#FFFFFF", "rgb(255, 255, 255)")).to.be.ok; - }); + it('should return true if colors are the same', (): void => { + expect(colorMatches('#F00', 'rgb(255, 0, 0)')).to.be.ok; + expect(colorMatches('#000', 'rgb(0, 0, 0)')).to.be.ok; + expect(colorMatches('#FFF', 'rgb(255, 255, 255)')).to.be.ok; + expect(colorMatches('#FF0000', 'rgb(255, 0, 0)')).to.be.ok; + expect(colorMatches('#000000', 'rgb(0, 0, 0)')).to.be.ok; + expect(colorMatches('#FFFFFF', 'rgb(255, 255, 255)')).to.be.ok; + }); - it("should return false if colors are not the same", (): void => { - expect(colorMatches("#000", "#023")).to.not.be.ok; - expect(colorMatches("#000", "#001")).to.not.be.ok; - expect(colorMatches("#F00", "rgb(255, 0, 1)")).to.not.be.ok; - expect(colorMatches("#000000", "#002233")).to.not.be.ok; - expect(colorMatches("#000000", "#000011")).to.not.be.ok; - expect(colorMatches("#FF0000", "rgb(255, 0, 1)")).to.not.be.ok; - }); + it('should return false if colors are not the same', (): void => { + expect(colorMatches('#000', '#023')).to.not.be.ok; + expect(colorMatches('#000', '#001')).to.not.be.ok; + expect(colorMatches('#F00', 'rgb(255, 0, 1)')).to.not.be.ok; + expect(colorMatches('#000000', '#002233')).to.not.be.ok; + expect(colorMatches('#000000', '#000011')).to.not.be.ok; + expect(colorMatches('#FF0000', 'rgb(255, 0, 1)')).to.not.be.ok; + }); }); -describe("parseColorString", (): void => { - it("should parse #RGB color strings", (): void => { - expect(parseColorString("#FFF") instanceof ColorRGBA64).to.equal(true); - }); - it("should parse #RRGGBB color strings", (): void => { - expect(parseColorString("#001122") instanceof ColorRGBA64).to.equal(true); - }); - it("should throw if the color is a malformed shorthand hex", (): void => { - expect((): void => { - parseColorString("#GGG"); - }).to.throw(); - }); - it("should throw if the color is a malformed hex", (): void => { - expect((): void => { - parseColorString("#zzzzzz"); - }).to.throw(); - }); - it("should throw if the color is a malformed rgb", (): void => { - expect((): void => { - parseColorString("rgb(256, 244, 30)"); - }).to.throw(); - }); - it("should throw if the color is a rgba", (): void => { - expect((): void => { - parseColorString("rgba(255, 244, 30, 1)"); - }).to.throw(); - }); +describe('parseColorString', (): void => { + it('should parse #RGB color strings', (): void => { + expect(parseColorString('#FFF') instanceof ColorRGBA64).to.equal(true); + }); + it('should parse #RRGGBB color strings', (): void => { + expect(parseColorString('#001122') instanceof ColorRGBA64).to.equal(true); + }); + it('should throw if the color is a malformed shorthand hex', (): void => { + expect((): void => { + parseColorString('#GGG'); + }).to.throw(); + }); + it('should throw if the color is a malformed hex', (): void => { + expect((): void => { + parseColorString('#zzzzzz'); + }).to.throw(); + }); + it('should throw if the color is a malformed rgb', (): void => { + expect((): void => { + parseColorString('rgb(256, 244, 30)'); + }).to.throw(); + }); + it('should throw if the color is a rgba', (): void => { + expect((): void => { + parseColorString('rgba(255, 244, 30, 1)'); + }).to.throw(); + }); }); -describe("contrast", (): void => { - it("should return the contrast between two colors", (): void => { - expect(contrast("#000", "#FFF")).to.equal(21); - expect(contrast("#000000", "#FFFFFF")).to.equal(21); - expect(contrast("rgb(0, 0, 0)", "rgb(255, 255, 255)")).to.equal(21); - }); - it("should throw if either color cannot be converted to a color", (): void => { - expect((): void => { - contrast("oogabooga", "#000"); - }).to.throw(); - expect((): void => { - contrast("#000", "oogabooga"); - }).to.throw(); - }); +describe('contrast', (): void => { + it('should return the contrast between two colors', (): void => { + expect(contrast('#000', '#FFF')).to.equal(21); + expect(contrast('#000000', '#FFFFFF')).to.equal(21); + expect(contrast('rgb(0, 0, 0)', 'rgb(255, 255, 255)')).to.equal(21); + }); + it('should throw if either color cannot be converted to a color', (): void => { + expect((): void => { + contrast('oogabooga', '#000'); + }).to.throw(); + expect((): void => { + contrast('#000', 'oogabooga'); + }).to.throw(); + }); }); diff --git a/packages/web-components/src/color/neutral-divider.spec.ts b/packages/web-components/src/color/neutral-divider.spec.ts index ce2ef1f8f43d8e..289674ebeb0b9d 100644 --- a/packages/web-components/src/color/neutral-divider.spec.ts +++ b/packages/web-components/src/color/neutral-divider.spec.ts @@ -1,13 +1,13 @@ -import { expect } from "chai"; -import { DesignSystemDefaults } from "../fluent-design-system"; -import { neutralDividerRest } from "./neutral-divider"; +import { expect } from 'chai'; +import { DesignSystemDefaults } from '../fluent-design-system'; +import { neutralDividerRest } from './neutral-divider'; -describe("neutralDividerRest", (): void => { - it("should return a string when invoked with an object", (): void => { - expect(typeof neutralDividerRest(DesignSystemDefaults)).to.equal("string"); - }); +describe('neutralDividerRest', (): void => { + it('should return a string when invoked with an object', (): void => { + expect(typeof neutralDividerRest(DesignSystemDefaults)).to.equal('string'); + }); - it("should return a function when invoked with a function", (): void => { - expect(typeof neutralDividerRest(() => "#FFF")).to.equal("function"); - }); + it('should return a function when invoked with a function', (): void => { + expect(typeof neutralDividerRest(() => '#FFF')).to.equal('function'); + }); }); diff --git a/packages/web-components/src/color/neutral-fill-card.spec.ts b/packages/web-components/src/color/neutral-fill-card.spec.ts index 3f7a826ffc5aaa..fbd27a12f5d80f 100644 --- a/packages/web-components/src/color/neutral-fill-card.spec.ts +++ b/packages/web-components/src/color/neutral-fill-card.spec.ts @@ -1,44 +1,42 @@ -import { expect } from "chai"; -import { DesignSystem, DesignSystemDefaults } from "../fluent-design-system"; -import { neutralFillCard } from "./neutral-fill-card"; +import { expect } from 'chai'; +import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; +import { neutralFillCard } from './neutral-fill-card'; -describe("neutralFillCard", (): void => { - it("should operate on design system defaults", (): void => { - expect(neutralFillCard({} as DesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[0] - ); - }); - it("should stay white when the index of the backgroundColor is lower than the offset index", (): void => { - for (let i: number = 0; i < DesignSystemDefaults.neutralFillCardDelta; i++) { - expect( - DesignSystemDefaults.neutralPalette.indexOf( - neutralFillCard( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: DesignSystemDefaults.neutralPalette[i], - }) - ) - ) - ).to.equal(0); - } - }); - it("should return the color at three steps lower than the background color", (): void => { - for (let i: number = 3; i < DesignSystemDefaults.neutralPalette.length; i++) { - expect( - DesignSystemDefaults.neutralPalette.indexOf( - neutralFillCard( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: DesignSystemDefaults.neutralPalette[i], - }) - ) - ) - ).to.equal(i - 3); - } - }); - it("should generate a color based on the background color returned by a provided callback", (): void => { - expect( - neutralFillCard(() => DesignSystemDefaults.neutralPalette[4])( - DesignSystemDefaults - ) - ).to.equal(DesignSystemDefaults.neutralPalette[1]); - }); +describe('neutralFillCard', (): void => { + it('should operate on design system defaults', (): void => { + expect(neutralFillCard({} as DesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[DesignSystemDefaults.neutralFillCardDelta], + ); + }); + it('should get darker when the index of the backgroundColor is lower than the offset index', (): void => { + for (let i: number = 0; i < DesignSystemDefaults.neutralFillCardDelta; i++) { + expect( + DesignSystemDefaults.neutralPalette.indexOf( + neutralFillCard( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: DesignSystemDefaults.neutralPalette[i], + }), + ), + ), + ).to.equal(DesignSystemDefaults.neutralFillCardDelta + i); + } + }); + it('should return the color at three steps lower than the background color', (): void => { + for (let i: number = 3; i < DesignSystemDefaults.neutralPalette.length; i++) { + expect( + DesignSystemDefaults.neutralPalette.indexOf( + neutralFillCard( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: DesignSystemDefaults.neutralPalette[i], + }), + ), + ), + ).to.equal(i - 3); + } + }); + it('should generate a color based on the background color returned by a provided callback', (): void => { + expect(neutralFillCard(() => DesignSystemDefaults.neutralPalette[4])(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[1], + ); + }); }); diff --git a/packages/web-components/src/color/neutral-fill-input.spec.ts b/packages/web-components/src/color/neutral-fill-input.spec.ts index 47e49e007cf7b6..a6b2a4f1355361 100644 --- a/packages/web-components/src/color/neutral-fill-input.spec.ts +++ b/packages/web-components/src/color/neutral-fill-input.spec.ts @@ -1,121 +1,109 @@ -import { expect } from "chai"; +import { expect } from 'chai'; import { - accentPalette as getAccentPalette, - DesignSystem, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; -import { clamp, FillSwatchFamily, Swatch } from "./common"; + accentPalette as getAccentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; +import { clamp, FillSwatchFamily, Swatch } from './common'; import { - neutralFillInput, - neutralFillInputActive, - neutralFillInputFocus, - neutralFillInputHover, - neutralFillInputRest, - neutralFillInputSelected, -} from "./neutral-fill-input"; -import { isDarkMode, Palette } from "./palette"; + neutralFillInput, + neutralFillInputActive, + neutralFillInputFocus, + neutralFillInputHover, + neutralFillInputRest, + neutralFillInputSelected, +} from './neutral-fill-input'; +import { isDarkMode, Palette } from './palette'; -describe("neutralFillInput", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); +describe('neutralFillInput', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should operate on design system defaults", (): void => { - [ - neutralFillInputActive, - neutralFillInputFocus, - neutralFillInputHover, - neutralFillInputRest, - neutralFillInputSelected, - ].forEach(fn => { - expect(neutralPalette).to.include(fn({} as DesignSystem)); - }); + it('should operate on design system defaults', (): void => { + [ + neutralFillInputActive, + neutralFillInputFocus, + neutralFillInputHover, + neutralFillInputRest, + neutralFillInputSelected, + ].forEach(fn => { + expect(neutralPalette).to.include(fn({} as DesignSystem)); }); + }); - it("should always be lighter than the background by the delta in light mode and darker in dark mode", (): void => { - neutralPalette.forEach((swatch: Swatch, index: number): void => { - const designSystem: DesignSystem = { - backgroundColor: neutralPalette[index], - } as DesignSystem; + it('should always be lighter than the background by the delta in light mode and darker in dark mode', (): void => { + neutralPalette.forEach((swatch: Swatch, index: number): void => { + const designSystem: DesignSystem = { + backgroundColor: neutralPalette[index], + } as DesignSystem; - expect(neutralFillInputSelected(designSystem)).to.equal( - neutralPalette[ - clamp( - index - - DesignSystemDefaults.neutralFillInputRestDelta * - (isDarkMode(designSystem) ? -1 : 1), - 0, - neutralPalette.length - 1 - ) - ] - ); - }); + expect(neutralFillInputSelected(designSystem)).to.equal( + neutralPalette[ + clamp( + index - DesignSystemDefaults.neutralFillInputRestDelta * (isDarkMode(designSystem) ? -1 : 1), + 0, + neutralPalette.length - 1, + ) + ], + ); }); + }); - it("should return the same color from both implementations", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect(neutralFillInputRest(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillInputRest( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillInputHover(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillInputHover( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillInputActive(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillInputActive( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillInputFocus(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillInputFocus( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillInputSelected(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillInputSelected( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - }); + it('should return the same color from both implementations', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect(neutralFillInputRest(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillInputRest( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillInputHover(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillInputHover( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillInputActive(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillInputActive( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillInputFocus(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillInputFocus( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillInputSelected(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillInputSelected( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); }); + }); - it("should have consistent return values", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - const backplates: FillSwatchFamily = neutralFillInput(() => swatch)( - DesignSystemDefaults - ); - const rest: Swatch = neutralFillInputRest(() => swatch)(DesignSystemDefaults); - const hover: Swatch = neutralFillInputHover(() => swatch)( - DesignSystemDefaults - ); - const active: Swatch = neutralFillInputActive(() => swatch)( - DesignSystemDefaults - ); - const focus: Swatch = neutralFillInputFocus(() => swatch)( - DesignSystemDefaults - ); - const selected: Swatch = neutralFillInputSelected(() => swatch)( - DesignSystemDefaults - ); + it('should have consistent return values', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + const backplates: FillSwatchFamily = neutralFillInput(() => swatch)(DesignSystemDefaults); + const rest: Swatch = neutralFillInputRest(() => swatch)(DesignSystemDefaults); + const hover: Swatch = neutralFillInputHover(() => swatch)(DesignSystemDefaults); + const active: Swatch = neutralFillInputActive(() => swatch)(DesignSystemDefaults); + const focus: Swatch = neutralFillInputFocus(() => swatch)(DesignSystemDefaults); + const selected: Swatch = neutralFillInputSelected(() => swatch)(DesignSystemDefaults); - expect(backplates.rest).to.equal(rest); - expect(backplates.hover).to.equal(hover); - expect(backplates.active).to.equal(active); - expect(backplates.focus).to.equal(focus); - expect(backplates.selected).to.equal(selected); - }); + expect(backplates.rest).to.equal(rest); + expect(backplates.hover).to.equal(hover); + expect(backplates.active).to.equal(active); + expect(backplates.focus).to.equal(focus); + expect(backplates.selected).to.equal(selected); }); + }); }); diff --git a/packages/web-components/src/color/neutral-fill-stealth.spec.ts b/packages/web-components/src/color/neutral-fill-stealth.spec.ts index 25abb4bd0b609b..7433a16ceff17e 100644 --- a/packages/web-components/src/color/neutral-fill-stealth.spec.ts +++ b/packages/web-components/src/color/neutral-fill-stealth.spec.ts @@ -1,121 +1,109 @@ -import { expect } from "chai"; +import { expect } from 'chai'; import { - accentPalette as getAccentPalette, - DesignSystem, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; + accentPalette as getAccentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; import { - neutralFillStealth, - neutralFillStealthActive, - neutralFillStealthFocus, - neutralFillStealthHover, - neutralFillStealthRest, - neutralFillStealthSelected, -} from "./neutral-fill-stealth"; -import { Palette } from "./palette"; -import { FillSwatchFamily, Swatch } from "./common"; + neutralFillStealth, + neutralFillStealthActive, + neutralFillStealthFocus, + neutralFillStealthHover, + neutralFillStealthRest, + neutralFillStealthSelected, +} from './neutral-fill-stealth'; +import { Palette } from './palette'; +import { FillSwatchFamily, Swatch } from './common'; -describe("neutralFillStealth", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); +describe('neutralFillStealth', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should operate on design system defaults", (): void => { - [ - neutralFillStealthActive, - neutralFillStealthFocus, - neutralFillStealthHover, - neutralFillStealthRest, - neutralFillStealthSelected, - ].forEach(fn => { - expect(neutralPalette).to.include(fn({} as DesignSystem)); - }); + it('should operate on design system defaults', (): void => { + [ + neutralFillStealthActive, + neutralFillStealthFocus, + neutralFillStealthHover, + neutralFillStealthRest, + neutralFillStealthSelected, + ].forEach(fn => { + expect(neutralPalette).to.include(fn({} as DesignSystem)); }); + }); - it("should switch from dark to light after 10 swatches", (): void => { - expect(neutralFillStealthHover(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta] - ); - expect( - neutralFillStealthHover(() => neutralPalette[1])(DesignSystemDefaults) - ).to.equal(neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 1]); - expect( - neutralFillStealthHover(() => neutralPalette[2])(DesignSystemDefaults) - ).to.equal(neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 2]); - expect( - neutralFillStealthHover(() => neutralPalette[9])(DesignSystemDefaults) - ).to.equal(neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 9]); - expect( - neutralFillStealthHover(() => neutralPalette[10])(DesignSystemDefaults) - ).to.equal(neutralPalette[10 - DesignSystemDefaults.neutralFillStealthHoverDelta]); - }); + it('should switch from dark to light after 10 swatches', (): void => { + expect(neutralFillStealthHover(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta], + ); + expect(neutralFillStealthHover(() => neutralPalette[1])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 1], + ); + expect(neutralFillStealthHover(() => neutralPalette[2])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 2], + ); + expect(neutralFillStealthHover(() => neutralPalette[9])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillStealthHoverDelta + 9], + ); + expect(neutralFillStealthHover(() => neutralPalette[10])(DesignSystemDefaults)).to.equal( + neutralPalette[10 - DesignSystemDefaults.neutralFillStealthHoverDelta], + ); + }); - it("should return the same color from both implementations", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect(neutralFillStealthRest(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillStealthRest( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillStealthHover(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillStealthHover( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillStealthActive(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillStealthActive( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillStealthFocus(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillStealthFocus( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillStealthSelected(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillStealthSelected( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - }); + it('should return the same color from both implementations', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect(neutralFillStealthRest(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillStealthRest( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillStealthHover(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillStealthHover( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillStealthActive(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillStealthActive( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillStealthFocus(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillStealthFocus( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillStealthSelected(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillStealthSelected( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); }); + }); - it("should have consistent return values", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - const backplates: FillSwatchFamily = neutralFillStealth(() => swatch)( - DesignSystemDefaults - ); - const rest: Swatch = neutralFillStealthRest(() => swatch)( - DesignSystemDefaults - ); - const hover: Swatch = neutralFillStealthHover(() => swatch)( - DesignSystemDefaults - ); - const active: Swatch = neutralFillStealthActive(() => swatch)( - DesignSystemDefaults - ); - const focus: Swatch = neutralFillStealthFocus(() => swatch)( - DesignSystemDefaults - ); - const selected: Swatch = neutralFillStealthSelected(() => swatch)( - DesignSystemDefaults - ); + it('should have consistent return values', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + const backplates: FillSwatchFamily = neutralFillStealth(() => swatch)(DesignSystemDefaults); + const rest: Swatch = neutralFillStealthRest(() => swatch)(DesignSystemDefaults); + const hover: Swatch = neutralFillStealthHover(() => swatch)(DesignSystemDefaults); + const active: Swatch = neutralFillStealthActive(() => swatch)(DesignSystemDefaults); + const focus: Swatch = neutralFillStealthFocus(() => swatch)(DesignSystemDefaults); + const selected: Swatch = neutralFillStealthSelected(() => swatch)(DesignSystemDefaults); - expect(backplates.rest).to.equal(rest); - expect(backplates.hover).to.equal(hover); - expect(backplates.active).to.equal(active); - expect(backplates.focus).to.equal(focus); - expect(backplates.selected).to.equal(selected); - }); + expect(backplates.rest).to.equal(rest); + expect(backplates.hover).to.equal(hover); + expect(backplates.active).to.equal(active); + expect(backplates.focus).to.equal(focus); + expect(backplates.selected).to.equal(selected); }); + }); }); diff --git a/packages/web-components/src/color/neutral-fill.spec.ts b/packages/web-components/src/color/neutral-fill.spec.ts index 1430444268ab70..dd26ede0b3b898 100644 --- a/packages/web-components/src/color/neutral-fill.spec.ts +++ b/packages/web-components/src/color/neutral-fill.spec.ts @@ -1,122 +1,104 @@ -import { expect } from "chai"; +import { expect } from 'chai'; import { - accentPalette as getAccentPalette, - DesignSystem, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; + accentPalette as getAccentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; import { - neutralFill, - neutralFillActive, - neutralFillFocus, - neutralFillHover, - neutralFillRest, - neutralFillSelected, -} from "./neutral-fill"; -import { Palette } from "./palette"; -import { FillSwatchFamily, Swatch } from "./common"; + neutralFill, + neutralFillActive, + neutralFillFocus, + neutralFillHover, + neutralFillRest, + neutralFillSelected, +} from './neutral-fill'; +import { Palette } from './palette'; +import { FillSwatchFamily, Swatch } from './common'; -describe("neutralFill", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - - it("should operate on design system defaults", (): void => { - [ - neutralFillActive, - neutralFillFocus, - neutralFillHover, - neutralFillRest, - neutralFillSelected, - ].forEach(fn => { - expect(neutralPalette).to.include(fn({} as DesignSystem)); - }); - }); +describe('neutralFill', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should switch from dark to light after 10 swatches", (): void => { - expect(neutralFillRest(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillRestDelta] - ); - expect(neutralFillHover(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillHoverDelta] - ); - expect(neutralFillActive(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillActiveDelta] - ); - expect(neutralFillFocus(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillFocusDelta] - ); - expect(neutralFillRest(() => neutralPalette[1])(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 1] - ); - expect(neutralFillRest(() => neutralPalette[2])(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 2] - ); - expect(neutralFillRest(() => neutralPalette[9])(DesignSystemDefaults)).to.equal( - neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 9] - ); - expect(neutralFillRest(() => neutralPalette[10])(DesignSystemDefaults)).to.equal( - neutralPalette[3] - ); + it('should operate on design system defaults', (): void => { + [neutralFillActive, neutralFillFocus, neutralFillHover, neutralFillRest, neutralFillSelected].forEach(fn => { + expect(neutralPalette).to.include(fn({} as DesignSystem)); }); + }); + + it('should switch from dark to light after 10 swatches', (): void => { + expect(neutralFillRest(DesignSystemDefaults)).to.equal(neutralPalette[DesignSystemDefaults.neutralFillRestDelta]); + expect(neutralFillHover(DesignSystemDefaults)).to.equal(neutralPalette[DesignSystemDefaults.neutralFillHoverDelta]); + expect(neutralFillActive(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillActiveDelta], + ); + expect(neutralFillFocus(DesignSystemDefaults)).to.equal(neutralPalette[DesignSystemDefaults.neutralFillFocusDelta]); + expect(neutralFillRest(() => neutralPalette[1])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 1], + ); + expect(neutralFillRest(() => neutralPalette[2])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 2], + ); + expect(neutralFillRest(() => neutralPalette[9])(DesignSystemDefaults)).to.equal( + neutralPalette[DesignSystemDefaults.neutralFillRestDelta + 9], + ); + expect(neutralFillRest(() => neutralPalette[10])(DesignSystemDefaults)).to.equal(neutralPalette[3]); + }); - it("should return the same color from both implementations", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect(neutralFillRest(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillRest( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillHover(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillHover( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillActive(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillActive( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillFocus(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillFocus( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralFillSelected(() => swatch)(DesignSystemDefaults)).to.equal( - neutralFillSelected( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - }); + it('should return the same color from both implementations', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect(neutralFillRest(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillRest( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillHover(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillHover( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillActive(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillActive( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillFocus(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillFocus( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralFillSelected(() => swatch)(DesignSystemDefaults)).to.equal( + neutralFillSelected( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); }); + }); - it("should have consistent return values", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - const backplates: FillSwatchFamily = neutralFill(() => swatch)( - DesignSystemDefaults - ); - const rest: Swatch = neutralFillRest(() => swatch)(DesignSystemDefaults); - const hover: Swatch = neutralFillHover(() => swatch)(DesignSystemDefaults); - const active: Swatch = neutralFillActive(() => swatch)(DesignSystemDefaults); - const focus: Swatch = neutralFillFocus(() => swatch)(DesignSystemDefaults); - const selected: Swatch = neutralFillSelected(() => swatch)( - DesignSystemDefaults - ); + it('should have consistent return values', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + const backplates: FillSwatchFamily = neutralFill(() => swatch)(DesignSystemDefaults); + const rest: Swatch = neutralFillRest(() => swatch)(DesignSystemDefaults); + const hover: Swatch = neutralFillHover(() => swatch)(DesignSystemDefaults); + const active: Swatch = neutralFillActive(() => swatch)(DesignSystemDefaults); + const focus: Swatch = neutralFillFocus(() => swatch)(DesignSystemDefaults); + const selected: Swatch = neutralFillSelected(() => swatch)(DesignSystemDefaults); - expect(backplates.rest).to.equal(rest); - expect(backplates.hover).to.equal(hover); - expect(backplates.active).to.equal(active); - expect(backplates.focus).to.equal(focus); - expect(backplates.selected).to.equal(selected); - }); + expect(backplates.rest).to.equal(rest); + expect(backplates.hover).to.equal(hover); + expect(backplates.active).to.equal(active); + expect(backplates.focus).to.equal(focus); + expect(backplates.selected).to.equal(selected); }); + }); }); diff --git a/packages/web-components/src/color/neutral-focus.spec.ts b/packages/web-components/src/color/neutral-focus.spec.ts index 0289fb1bd760b5..2335caa3ad8409 100644 --- a/packages/web-components/src/color/neutral-focus.spec.ts +++ b/packages/web-components/src/color/neutral-focus.spec.ts @@ -1,20 +1,18 @@ -import { expect } from "chai"; -import { DesignSystem, DesignSystemDefaults } from "../fluent-design-system"; -import { neutralFocus } from "./neutral-focus"; -import { contrast } from "./common"; +import { expect } from 'chai'; +import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; +import { neutralFocus } from './neutral-focus'; +import { contrast } from './common'; -describe("neutralFocus", (): void => { - it("should return a string when invoked with an object", (): void => { - expect(typeof neutralFocus(DesignSystemDefaults)).to.equal("string"); - }); +describe('neutralFocus', (): void => { + it('should return a string when invoked with an object', (): void => { + expect(typeof neutralFocus(DesignSystemDefaults)).to.equal('string'); + }); - it("should return a function when invoked with a function", (): void => { - expect(typeof neutralFocus(() => "#FFF")).to.equal("function"); - }); + it('should return a function when invoked with a function', (): void => { + expect(typeof neutralFocus(() => '#FFF')).to.equal('function'); + }); - it("should operate on default design system if no design system is supplied", (): void => { - expect(contrast(neutralFocus({} as DesignSystem), "#FFF")).to.be.gte( - 3.5 - ); - }); + it('should operate on default design system if no design system is supplied', (): void => { + expect(contrast(neutralFocus({} as DesignSystem), '#FFF')).to.be.gte(3.5); + }); }); diff --git a/packages/web-components/src/color/neutral-foreground-hint.spec.ts b/packages/web-components/src/color/neutral-foreground-hint.spec.ts index 1de1ed57bc8146..a4cb11f2a41228 100644 --- a/packages/web-components/src/color/neutral-foreground-hint.spec.ts +++ b/packages/web-components/src/color/neutral-foreground-hint.spec.ts @@ -1,71 +1,59 @@ -import { expect } from "chai"; +import { expect } from 'chai'; import { - accentPalette as getAccentPalette, - DesignSystemDefaults, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; -import { - neutralForegroundHint, - neutralForegroundHintLarge, -} from "./neutral-foreground-hint"; -import { Palette } from "./palette"; -import { contrast, Swatch, SwatchRecipe } from "./common"; -describe("neutralForegroundHint", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); + accentPalette as getAccentPalette, + DesignSystemDefaults, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; +import { neutralForegroundHint, neutralForegroundHintLarge } from './neutral-foreground-hint'; +import { Palette } from './palette'; +import { contrast, Swatch, SwatchRecipe } from './common'; +describe('neutralForegroundHint', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should implement design system defaults", (): void => { - expect(neutralForegroundHint(undefined as any)).to.equal("#767676"); - }); + it('should implement design system defaults', (): void => { + expect(neutralForegroundHint(undefined as any)).to.equal('#767676'); + }); - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - it(`${swatch} should resolve a color from the neutral palette`, (): void => { - expect( - neutralPalette.indexOf( - neutralForegroundHint( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ) - ).not.to.equal(-1); - }); + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + it(`${swatch} should resolve a color from the neutral palette`, (): void => { + expect( + neutralPalette.indexOf( + neutralForegroundHint( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ), + ).not.to.equal(-1); }); + }); - it("should return the same color from both methods of setting the reference background", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect( - neutralForegroundHint( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ).to.equal(neutralForegroundHint(() => swatch)(DesignSystemDefaults)); - }); + it('should return the same color from both methods of setting the reference background', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect( + neutralForegroundHint( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ).to.equal(neutralForegroundHint(() => swatch)(DesignSystemDefaults)); }); + }); - function retrieveContrast(resolvedSwatch: Swatch, fn: SwatchRecipe): number { - return parseFloat( - contrast( - fn(() => resolvedSwatch)(DesignSystemDefaults), - resolvedSwatch - ).toPrecision(3) - ); - } - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - it(`${swatch} should always be at least 4.5 : 1 against the background`, (): void => { - expect( - retrieveContrast(swatch, neutralForegroundHint) - // Because neutralForegroundHint follows the direction patterns of neutralForeground, - // a backgroundColor #777777 is impossible to hit 4.5 against. - ).to.be.gte(swatch === "#777777" ? 4.48 : 4.5); - expect(retrieveContrast(swatch, neutralForegroundHint)).to.be.lessThan(5); - expect( - retrieveContrast(swatch, neutralForegroundHintLarge) - ).to.be.gte(3); - expect(retrieveContrast(swatch, neutralForegroundHintLarge)).to.be.lessThan( - 3.3 - ); - }); + function retrieveContrast(resolvedSwatch: Swatch, fn: SwatchRecipe): number { + return parseFloat(contrast(fn(() => resolvedSwatch)(DesignSystemDefaults), resolvedSwatch).toPrecision(3)); + } + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + it(`${swatch} should always be at least 4.5 : 1 against the background`, (): void => { + expect( + retrieveContrast(swatch, neutralForegroundHint), + // Because neutralForegroundHint follows the direction patterns of neutralForeground, + // a backgroundColor #777777 is impossible to hit 4.5 against. + ).to.be.gte(swatch === '#777777' ? 4.48 : 4.5); + expect(retrieveContrast(swatch, neutralForegroundHint)).to.be.lessThan(5); + expect(retrieveContrast(swatch, neutralForegroundHintLarge)).to.be.gte(3); + expect(retrieveContrast(swatch, neutralForegroundHintLarge)).to.be.lessThan(3.3); }); + }); }); diff --git a/packages/web-components/src/color/neutral-foreground.spec.ts b/packages/web-components/src/color/neutral-foreground.spec.ts index 96c04c6c090291..a4cf9f4965d051 100644 --- a/packages/web-components/src/color/neutral-foreground.spec.ts +++ b/packages/web-components/src/color/neutral-foreground.spec.ts @@ -1,91 +1,52 @@ -import { expect } from "chai"; -import { DesignSystemDefaults } from "../fluent-design-system"; -import { - neutralForegroundActive, - neutralForegroundHover, - neutralForegroundRest, -} from "./neutral-foreground"; -import { contrast } from "./common"; +import { expect } from 'chai'; +import { DesignSystemDefaults } from '../fluent-design-system'; +import { neutralForegroundActive, neutralForegroundHover, neutralForegroundRest } from './neutral-foreground'; +import { contrast } from './common'; -describe("neutralForeground", (): void => { - it("should return a string when invoked with an object", (): void => { - expect(typeof neutralForegroundRest(DesignSystemDefaults)).to.equal("string"); - expect(typeof neutralForegroundHover(DesignSystemDefaults)).to.equal("string"); - expect(typeof neutralForegroundActive(DesignSystemDefaults)).to.equal("string"); - }); +describe('neutralForeground', (): void => { + it('should return a string when invoked with an object', (): void => { + expect(typeof neutralForegroundRest(DesignSystemDefaults)).to.equal('string'); + expect(typeof neutralForegroundHover(DesignSystemDefaults)).to.equal('string'); + expect(typeof neutralForegroundActive(DesignSystemDefaults)).to.equal('string'); + }); - it("should return a function when invoked with a function", (): void => { - expect(typeof neutralForegroundRest(() => "#FFF")).to.equal("function"); - expect(typeof neutralForegroundHover(() => "#FFF")).to.equal("function"); - expect(typeof neutralForegroundActive(() => "#FFF")).to.equal("function"); - }); + it('should return a function when invoked with a function', (): void => { + expect(typeof neutralForegroundRest(() => '#FFF')).to.equal('function'); + expect(typeof neutralForegroundHover(() => '#FFF')).to.equal('function'); + expect(typeof neutralForegroundActive(() => '#FFF')).to.equal('function'); + }); - it("should operate on default design system if no design system is supplied", (): void => { - expect( - contrast(neutralForegroundRest(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast( - neutralForegroundRest(() => undefined as any)(undefined as any), - "#FFF" - ) - ).to.be.gte(14); - expect( - contrast(neutralForegroundRest(() => "#FFF")(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast(neutralForegroundRest(() => "#FFFFFF")(undefined as any), "#FFF") - ).to.be.gte(14); + it('should operate on default design system if no design system is supplied', (): void => { + expect(contrast(neutralForegroundRest(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundRest(() => undefined as any)(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundRest(() => '#FFF')(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundRest(() => '#FFFFFF')(undefined as any), '#FFF')).to.be.gte(14); - expect( - contrast(neutralForegroundHover(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast( - neutralForegroundHover(() => undefined as any)(undefined as any), - "#FFF" - ) - ).to.be.gte(14); - expect( - contrast(neutralForegroundHover(() => "#FFF")(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast(neutralForegroundHover(() => "#FFFFFF")(undefined as any), "#FFF") - ).to.be.gte(14); + expect(contrast(neutralForegroundHover(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundHover(() => undefined as any)(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundHover(() => '#FFF')(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundHover(() => '#FFFFFF')(undefined as any), '#FFF')).to.be.gte(14); - expect( - contrast(neutralForegroundActive(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast( - neutralForegroundActive(() => undefined as any)(undefined as any), - "#FFF" - ) - ).to.be.gte(14); - expect( - contrast(neutralForegroundActive(() => "#FFF")(undefined as any), "#FFF") - ).to.be.gte(14); - expect( - contrast(neutralForegroundActive(() => "#FFFFFF")(undefined as any), "#FFF") - ).to.be.gte(14); - }); + expect(contrast(neutralForegroundActive(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundActive(() => undefined as any)(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundActive(() => '#FFF')(undefined as any), '#FFF')).to.be.gte(14); + expect(contrast(neutralForegroundActive(() => '#FFFFFF')(undefined as any), '#FFF')).to.be.gte(14); + }); - it("should return correct result with default design system values", (): void => { - expect( - contrast(neutralForegroundRest(DesignSystemDefaults), "#FFF") - ).to.be.gte(14); - }); + it('should return correct result with default design system values', (): void => { + expect(contrast(neutralForegroundRest(DesignSystemDefaults), '#FFF')).to.be.gte(14); + }); - it("should return #FFFFFF with a dark background", (): void => { - expect( - contrast( - neutralForegroundRest( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: "#000", - }) - ), - "#000" - ) - ).to.be.gte(14); - }); + it('should return #FFFFFF with a dark background', (): void => { + expect( + contrast( + neutralForegroundRest( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: '#000', + }), + ), + '#000', + ), + ).to.be.gte(14); + }); }); diff --git a/packages/web-components/src/color/neutral-layer.spec.ts b/packages/web-components/src/color/neutral-layer.spec.ts index f2113cc5d2d622..b617e7cffb3b12 100644 --- a/packages/web-components/src/color/neutral-layer.spec.ts +++ b/packages/web-components/src/color/neutral-layer.spec.ts @@ -1,173 +1,155 @@ -import { expect } from "chai"; -import { DesignSystem, DesignSystemDefaults } from "../fluent-design-system"; +import { expect } from 'chai'; +import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; import { - neutralLayerCard, - neutralLayerCardContainer, - neutralLayerFloating, - neutralLayerL1, - neutralLayerL2, - neutralLayerL3, - neutralLayerL4, - StandardLuminance, -} from "./neutral-layer"; + neutralLayerCard, + neutralLayerCardContainer, + neutralLayerFloating, + neutralLayerL1, + neutralLayerL2, + neutralLayerL3, + neutralLayerL4, + StandardLuminance, +} from './neutral-layer'; const lightModeDesignSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { - baseLayerLuminance: StandardLuminance.LightMode, + baseLayerLuminance: StandardLuminance.LightMode, }); const darkModeDesignSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { - baseLayerLuminance: StandardLuminance.DarkMode, + baseLayerLuminance: StandardLuminance.DarkMode, }); const enum NeutralPaletteLightModeOffsets { - L1 = 0, - L2 = 10, - L3 = 13, - L4 = 16, + L1 = 0, + L2 = 10, + L3 = 13, + L4 = 16, } const enum NeutralPaletteDarkModeOffsets { - L1 = 76, - L2 = 79, - L3 = 82, - L4 = 85, + L1 = 76, + L2 = 79, + L3 = 82, + L4 = 85, } -describe("neutralLayer", (): void => { - describe("L1", (): void => { - it("should return values from L1 when in light mode", (): void => { - expect(neutralLayerL1(lightModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L1] - ); - }); - it("should return values from L1 when in dark mode", (): void => { - expect(neutralLayerL1(darkModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L1] - ); - }); - it("should operate on a provided background color", (): void => { - expect(neutralLayerL1((): string => "#000000")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L1] - ); - expect(neutralLayerL1((): string => "#FFFFFF")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L1] - ); - }); +describe('neutralLayer', (): void => { + describe('L1', (): void => { + it('should return values from L1 when in light mode', (): void => { + expect(neutralLayerL1(lightModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L1], + ); }); + it('should return values from L1 when in dark mode', (): void => { + expect(neutralLayerL1(darkModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L1], + ); + }); + it('should operate on a provided background color', (): void => { + expect(neutralLayerL1((): string => '#000000')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L1], + ); + expect(neutralLayerL1((): string => '#FFFFFF')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L1], + ); + }); + }); - describe("L2", (): void => { - it("should return values from L2 when in light mode", (): void => { - expect(neutralLayerL2(lightModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L2] - ); - }); - it("should return values from L2 when in dark mode", (): void => { - expect(neutralLayerL2(darkModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L2] - ); - }); - it("should operate on a provided background color", (): void => { - expect(neutralLayerL2((): string => "#000000")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L2] - ); - expect(neutralLayerL2((): string => "#FFFFFF")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L2] - ); - }); + describe('L2', (): void => { + it('should return values from L2 when in light mode', (): void => { + expect(neutralLayerL2(lightModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L2], + ); + }); + it('should return values from L2 when in dark mode', (): void => { + expect(neutralLayerL2(darkModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L2], + ); + }); + it('should operate on a provided background color', (): void => { + expect(neutralLayerL2((): string => '#000000')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L2], + ); + expect(neutralLayerL2((): string => '#FFFFFF')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L2], + ); }); + }); - describe("L3", (): void => { - it("should return values from L3 when in light mode", (): void => { - expect(neutralLayerL3(lightModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L3] - ); - }); - it("should return values from L3 when in dark mode", (): void => { - expect(neutralLayerL3(darkModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L3] - ); - }); - it("should operate on a provided background color", (): void => { - expect(neutralLayerL3((): string => "#000000")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L3] - ); - expect(neutralLayerL3((): string => "#FFFFFF")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L3] - ); - }); + describe('L3', (): void => { + it('should return values from L3 when in light mode', (): void => { + expect(neutralLayerL3(lightModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L3], + ); }); + it('should return values from L3 when in dark mode', (): void => { + expect(neutralLayerL3(darkModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L3], + ); + }); + it('should operate on a provided background color', (): void => { + expect(neutralLayerL3((): string => '#000000')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L3], + ); + expect(neutralLayerL3((): string => '#FFFFFF')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L3], + ); + }); + }); - describe("L4", (): void => { - it("should return values from L4 when in light mode", (): void => { - expect(neutralLayerL4(lightModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L4] - ); - }); - it("should return values from L4 when in dark mode", (): void => { - expect(neutralLayerL4(darkModeDesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L4] - ); - }); - it("should operate on a provided background color", (): void => { - expect(neutralLayerL4((): string => "#000000")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L4] - ); - expect(neutralLayerL4((): string => "#FFFFFF")(DesignSystemDefaults)).to.equal( - DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L4] - ); - }); + describe('L4', (): void => { + it('should return values from L4 when in light mode', (): void => { + expect(neutralLayerL4(lightModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L4], + ); + }); + it('should return values from L4 when in dark mode', (): void => { + expect(neutralLayerL4(darkModeDesignSystem)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L4], + ); }); + it('should operate on a provided background color', (): void => { + expect(neutralLayerL4((): string => '#000000')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteDarkModeOffsets.L4], + ); + expect(neutralLayerL4((): string => '#FFFFFF')(DesignSystemDefaults)).to.equal( + DesignSystemDefaults.neutralPalette[NeutralPaletteLightModeOffsets.L4], + ); + }); + }); - describe("neutralLayerFloating", (): void => { - it("should return a color from the neutral palette", (): void => { - expect( - DesignSystemDefaults.neutralPalette.includes( - neutralLayerFloating(DesignSystemDefaults) - ) - ).to.be.ok; - }); + describe('neutralLayerFloating', (): void => { + it('should return a color from the neutral palette', (): void => { + expect(DesignSystemDefaults.neutralPalette.includes(neutralLayerFloating(DesignSystemDefaults))).to.be.ok; + }); - it("should operate on a provided background color", (): void => { - const color: string = neutralLayerFloating((): string => "#000000")( - DesignSystemDefaults - ); + it('should operate on a provided background color', (): void => { + const color: string = neutralLayerFloating((): string => '#000000')(DesignSystemDefaults); - expect(color).not.to.equal(neutralLayerFloating(DesignSystemDefaults)); - expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; - }); - }); - describe("neutralLayerCardContainer", (): void => { - it("should return a color from the neutral palette", (): void => { - expect( - DesignSystemDefaults.neutralPalette.includes( - neutralLayerCardContainer(DesignSystemDefaults) - ) - ).to.be.ok; - }); - it("should operate on a provided background color", (): void => { - const color: string = neutralLayerCardContainer((): string => "#000000")( - DesignSystemDefaults - ); + expect(color).not.to.equal(neutralLayerFloating(DesignSystemDefaults)); + expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; + }); + }); + describe('neutralLayerCardContainer', (): void => { + it('should return a color from the neutral palette', (): void => { + expect(DesignSystemDefaults.neutralPalette.includes(neutralLayerCardContainer(DesignSystemDefaults))).to.be.ok; + }); + it('should operate on a provided background color', (): void => { + const color: string = neutralLayerCardContainer((): string => '#000000')(DesignSystemDefaults); - expect(color).not.to.equal(neutralLayerCardContainer(DesignSystemDefaults)); - expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; - }); - }); - describe("neutralLayerCard", (): void => { - it("should return a color from the neutral palette", (): void => { - expect( - DesignSystemDefaults.neutralPalette.includes( - neutralLayerCard(DesignSystemDefaults) - ) - ).to.be.ok; - }); - it("should operate on a provided background color", (): void => { - const color: string = neutralLayerCard((): string => "#000000")( - DesignSystemDefaults - ); + expect(color).not.to.equal(neutralLayerCardContainer(DesignSystemDefaults)); + expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; + }); + }); + describe('neutralLayerCard', (): void => { + it('should return a color from the neutral palette', (): void => { + expect(DesignSystemDefaults.neutralPalette.includes(neutralLayerCard(DesignSystemDefaults))).to.be.ok; + }); + it('should operate on a provided background color', (): void => { + const color: string = neutralLayerCard((): string => '#000000')(DesignSystemDefaults); - expect(color).not.to.equal(neutralLayerCard(DesignSystemDefaults)); - expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; - }); + expect(color).not.to.equal(neutralLayerCard(DesignSystemDefaults)); + expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; }); + }); }); diff --git a/packages/web-components/src/color/neutral-outline.spec.ts b/packages/web-components/src/color/neutral-outline.spec.ts index 95db385832f87f..6f9810389b7064 100644 --- a/packages/web-components/src/color/neutral-outline.spec.ts +++ b/packages/web-components/src/color/neutral-outline.spec.ts @@ -1,93 +1,82 @@ -import { expect } from "chai"; -import { isColorStringHexRGB } from "@microsoft/fast-colors"; +import { expect } from 'chai'; +import { isColorStringHexRGB } from '@microsoft/fast-colors'; import { - DesignSystem, - DesignSystemDefaults, - accentPalette as getAccentPalette, - neutralPalette as getNeutralPalette, -} from "../fluent-design-system"; + DesignSystem, + DesignSystemDefaults, + accentPalette as getAccentPalette, + neutralPalette as getNeutralPalette, +} from '../fluent-design-system'; import { - neutralOutline, - neutralOutlineActive, - neutralOutlineFocus, - neutralOutlineHover, - neutralOutlineRest, -} from "./neutral-outline"; -import { Palette } from "./palette"; -import { Swatch, SwatchFamily } from "./common"; + neutralOutline, + neutralOutlineActive, + neutralOutlineFocus, + neutralOutlineHover, + neutralOutlineRest, +} from './neutral-outline'; +import { Palette } from './palette'; +import { Swatch, SwatchFamily } from './common'; -describe("neutralOutline", (): void => { - const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); - const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); +describe('neutralOutline', (): void => { + const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); + const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - it("should return by default", (): void => { - [ - neutralOutlineActive, - neutralOutlineFocus, - neutralOutlineHover, - neutralOutlineRest, - ].forEach(fn => { - expect(neutralPalette).to.include(fn({} as DesignSystem)); - }); + it('should return by default', (): void => { + [neutralOutlineActive, neutralOutlineFocus, neutralOutlineHover, neutralOutlineRest].forEach(fn => { + expect(neutralPalette).to.include(fn({} as DesignSystem)); }); + }); - it("should always return a color", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect( - isColorStringHexRGB(neutralOutlineRest(() => swatch)({} as DesignSystem)) - ).to.equal(true); - }); + it('should always return a color', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect(isColorStringHexRGB(neutralOutlineRest(() => swatch)({} as DesignSystem))).to.equal(true); }); + }); - it("should return the same color from both implementations", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - expect(neutralOutlineRest(() => swatch)(DesignSystemDefaults)).to.equal( - neutralOutlineRest( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralOutlineHover(() => swatch)(DesignSystemDefaults)).to.equal( - neutralOutlineHover( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralOutlineActive(() => swatch)(DesignSystemDefaults)).to.equal( - neutralOutlineActive( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - expect(neutralOutlineFocus(() => swatch)(DesignSystemDefaults)).to.equal( - neutralOutlineFocus( - Object.assign({}, DesignSystemDefaults, { - backgroundColor: swatch, - }) - ) - ); - }); + it('should return the same color from both implementations', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + expect(neutralOutlineRest(() => swatch)(DesignSystemDefaults)).to.equal( + neutralOutlineRest( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralOutlineHover(() => swatch)(DesignSystemDefaults)).to.equal( + neutralOutlineHover( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralOutlineActive(() => swatch)(DesignSystemDefaults)).to.equal( + neutralOutlineActive( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); + expect(neutralOutlineFocus(() => swatch)(DesignSystemDefaults)).to.equal( + neutralOutlineFocus( + Object.assign({}, DesignSystemDefaults, { + backgroundColor: swatch, + }), + ), + ); }); + }); - it("should have consistent return values", (): void => { - neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { - const backplates: SwatchFamily = neutralOutline(() => swatch)( - DesignSystemDefaults - ); - const rest: Swatch = neutralOutlineRest(() => swatch)(DesignSystemDefaults); - const hover: Swatch = neutralOutlineHover(() => swatch)(DesignSystemDefaults); - const active: Swatch = neutralOutlineActive(() => swatch)( - DesignSystemDefaults - ); - const focus: Swatch = neutralOutlineFocus(() => swatch)(DesignSystemDefaults); + it('should have consistent return values', (): void => { + neutralPalette.concat(accentPalette).forEach((swatch: Swatch): void => { + const backplates: SwatchFamily = neutralOutline(() => swatch)(DesignSystemDefaults); + const rest: Swatch = neutralOutlineRest(() => swatch)(DesignSystemDefaults); + const hover: Swatch = neutralOutlineHover(() => swatch)(DesignSystemDefaults); + const active: Swatch = neutralOutlineActive(() => swatch)(DesignSystemDefaults); + const focus: Swatch = neutralOutlineFocus(() => swatch)(DesignSystemDefaults); - expect(backplates.rest).to.equal(rest); - expect(backplates.hover).to.equal(hover); - expect(backplates.active).to.equal(active); - expect(backplates.focus).to.equal(focus); - }); + expect(backplates.rest).to.equal(rest); + expect(backplates.hover).to.equal(hover); + expect(backplates.active).to.equal(active); + expect(backplates.focus).to.equal(focus); }); + }); }); diff --git a/packages/web-components/src/color/palette.spec.ts b/packages/web-components/src/color/palette.spec.ts index b2e8c964d73895..202c5f27cf9bb5 100644 --- a/packages/web-components/src/color/palette.spec.ts +++ b/packages/web-components/src/color/palette.spec.ts @@ -1,346 +1,300 @@ -import chai, { expect } from "chai"; -import spies from "chai-spies"; -import { accentBaseColor, accentPalette, DesignSystem, DesignSystemDefaults, neutralPalette } from "../fluent-design-system"; +import chai, { expect } from 'chai'; +import spies from 'chai-spies'; import { - findClosestSwatchIndex, - findSwatchIndex, - getSwatch, - palette, - Palette, - PaletteType, - swatchByContrast, - swatchByMode, -} from "./palette"; -import { Swatch } from "./common"; + accentBaseColor, + accentPalette, + DesignSystem, + DesignSystemDefaults, + neutralPalette, +} from '../fluent-design-system'; +import { + findClosestSwatchIndex, + findSwatchIndex, + getSwatch, + palette, + Palette, + PaletteType, + swatchByContrast, + swatchByMode, +} from './palette'; +import { Swatch } from './common'; chai.use(spies); -describe("palette", (): void => { - it("should return a function", (): void => { - expect(typeof palette(PaletteType.accent)).to.equal("function"); - expect(typeof palette(PaletteType.neutral)).to.equal("function"); - }); +describe('palette', (): void => { + it('should return a function', (): void => { + expect(typeof palette(PaletteType.accent)).to.equal('function'); + expect(typeof palette(PaletteType.neutral)).to.equal('function'); + }); - it("should return a function that returns a palette if the argument does not match a palette", (): void => { - expect((palette as any)()()).to.have.length(94); - }); + it('should return a function that returns a palette if the argument does not match a palette', (): void => { + expect((palette as any)()()).to.have.length(94); + }); - it("should return a palette if no designSystem is provided", (): void => { - expect(palette(PaletteType.neutral)(undefined as any)).to.have.length(94); - expect(palette(PaletteType.accent)(undefined as any)).to.have.length(94); - }); + it('should return a palette if no designSystem is provided', (): void => { + expect(palette(PaletteType.neutral)(undefined as any)).to.have.length(94); + expect(palette(PaletteType.accent)(undefined as any)).to.have.length(94); + }); - it("should return upper-case hex values", (): void => { - (palette(PaletteType.neutral)(DesignSystemDefaults) as Palette).forEach( - (swatch: Swatch) => { - expect(swatch).to.equal(swatch.toUpperCase()); - } - ); - (palette(PaletteType.accent)(DesignSystemDefaults) as Palette).forEach( - (swatch: Swatch) => { - expect(swatch).to.equal(swatch.toUpperCase()); - } - ); + it('should return upper-case hex values', (): void => { + (palette(PaletteType.neutral)(DesignSystemDefaults) as Palette).forEach((swatch: Swatch) => { + expect(swatch).to.equal(swatch.toUpperCase()); }); - - it("should return six-letter hex values", (): void => { - (palette(PaletteType.neutral)(DesignSystemDefaults) as Palette).forEach( - (swatch: Swatch) => { - expect(swatch.length).to.equal(7); - expect(swatch.charAt(0)).to.equal("#"); - } - ); - (palette(PaletteType.accent)(DesignSystemDefaults) as Palette).forEach( - (swatch: Swatch) => { - expect(swatch.length).to.equal(7); - expect(swatch.charAt(0)).to.equal("#"); - } - ); + (palette(PaletteType.accent)(DesignSystemDefaults) as Palette).forEach((swatch: Swatch) => { + expect(swatch).to.equal(swatch.toUpperCase()); }); -}); + }); -describe("findSwatchIndex", (): void => { - it("should implement design-system defaults", (): void => { - expect(findSwatchIndex(neutralPalette, "#FFF")({} as DesignSystem)).to.equal(0); - expect( - findSwatchIndex( - accentPalette, - accentBaseColor({} as DesignSystem) - )({} as DesignSystem) - ).to.equal(59); + it('should return six-letter hex values', (): void => { + (palette(PaletteType.neutral)(DesignSystemDefaults) as Palette).forEach((swatch: Swatch) => { + expect(swatch.length).to.equal(7); + expect(swatch.charAt(0)).to.equal('#'); }); - - it("should return -1 if the color is not found", (): void => { - expect(findSwatchIndex(neutralPalette, "#FF0000")(DesignSystemDefaults)).to.equal(-1); - expect(findSwatchIndex(accentPalette, "#FF0000")(DesignSystemDefaults)).to.equal(-1); - }); - - it("should find white", (): void => { - expect(findSwatchIndex(neutralPalette, "#FFFFFF")(DesignSystemDefaults)).to.equal(0); - expect(findSwatchIndex(neutralPalette, "#FFF")(DesignSystemDefaults)).to.equal(0); - expect( - findSwatchIndex(neutralPalette, "rgb(255, 255, 255)")(DesignSystemDefaults) - ).to.equal(0); - }); - - it("should find black", (): void => { - expect(findSwatchIndex(neutralPalette, "#000000")(DesignSystemDefaults)).to.equal(93); - expect(findSwatchIndex(neutralPalette, "#000")(DesignSystemDefaults)).to.equal(93); - expect( - findSwatchIndex(neutralPalette, "rgb(0, 0, 0)")(DesignSystemDefaults) - ).to.equal(93); + (palette(PaletteType.accent)(DesignSystemDefaults) as Palette).forEach((swatch: Swatch) => { + expect(swatch.length).to.equal(7); + expect(swatch.charAt(0)).to.equal('#'); }); + }); +}); - it("should find accent", (): void => { - expect( - findSwatchIndex( - accentPalette, - accentBaseColor(DesignSystemDefaults) - )(DesignSystemDefaults) - ).to.equal(59); - expect( - findSwatchIndex(accentPalette, "rgb(0, 120, 212)")(DesignSystemDefaults) - ).to.equal(59); - }); +describe('findSwatchIndex', (): void => { + it('should implement design-system defaults', (): void => { + expect(findSwatchIndex(neutralPalette, '#FFF')({} as DesignSystem)).to.equal(0); + expect(findSwatchIndex(accentPalette, accentBaseColor({} as DesignSystem))({} as DesignSystem)).to.equal(59); + }); + + it('should return -1 if the color is not found', (): void => { + expect(findSwatchIndex(neutralPalette, '#FF0000')(DesignSystemDefaults)).to.equal(-1); + expect(findSwatchIndex(accentPalette, '#FF0000')(DesignSystemDefaults)).to.equal(-1); + }); + + it('should find white', (): void => { + expect(findSwatchIndex(neutralPalette, '#FFFFFF')(DesignSystemDefaults)).to.equal(0); + expect(findSwatchIndex(neutralPalette, '#FFF')(DesignSystemDefaults)).to.equal(0); + expect(findSwatchIndex(neutralPalette, 'rgb(255, 255, 255)')(DesignSystemDefaults)).to.equal(0); + }); + + it('should find black', (): void => { + expect(findSwatchIndex(neutralPalette, '#000000')(DesignSystemDefaults)).to.equal(93); + expect(findSwatchIndex(neutralPalette, '#000')(DesignSystemDefaults)).to.equal(93); + expect(findSwatchIndex(neutralPalette, 'rgb(0, 0, 0)')(DesignSystemDefaults)).to.equal(93); + }); + + it('should find accent', (): void => { + expect(findSwatchIndex(accentPalette, accentBaseColor(DesignSystemDefaults))(DesignSystemDefaults)).to.equal(59); + expect(findSwatchIndex(accentPalette, 'rgb(0, 120, 212)')(DesignSystemDefaults)).to.equal(59); + }); }); -describe("findClosestSwatchIndex", (): void => { - it("should return 0 if the input swatch cannot be converted to a color", (): void => { - expect( - findClosestSwatchIndex(neutralPalette, "pewpewpew")({} as DesignSystem) - ).to.equal(0); - }); - it("should operate on design system defaults", (): void => { - expect( - findClosestSwatchIndex(neutralPalette, "#FFFFFF")({} as DesignSystem) - ).to.equal(0); - expect( - findClosestSwatchIndex(neutralPalette, "#808080")({} as DesignSystem) - ).to.equal(49); - expect( - findClosestSwatchIndex(neutralPalette, "#000000")({} as DesignSystem) - ).to.equal(93); - }); - it("should return the index with the closest luminance to the input swatch if the swatch is not in the palette", (): void => { - expect( - findClosestSwatchIndex(neutralPalette, "#008000")({} as DesignSystem) - ).to.equal(56); - expect( - findClosestSwatchIndex(neutralPalette, "#F589FF")({} as DesignSystem) - ).to.equal(30); - }); +describe('findClosestSwatchIndex', (): void => { + it('should return 0 if the input swatch cannot be converted to a color', (): void => { + expect(findClosestSwatchIndex(neutralPalette, 'pewpewpew')({} as DesignSystem)).to.equal(0); + }); + it('should operate on design system defaults', (): void => { + expect(findClosestSwatchIndex(neutralPalette, '#FFFFFF')({} as DesignSystem)).to.equal(0); + expect(findClosestSwatchIndex(neutralPalette, '#808080')({} as DesignSystem)).to.equal(49); + expect(findClosestSwatchIndex(neutralPalette, '#000000')({} as DesignSystem)).to.equal(93); + }); + it('should return the index with the closest luminance to the input swatch if the swatch is not in the palette', (): void => { + expect(findClosestSwatchIndex(neutralPalette, '#008000')({} as DesignSystem)).to.equal(56); + expect(findClosestSwatchIndex(neutralPalette, '#F589FF')({} as DesignSystem)).to.equal(30); + }); }); -describe("getSwatch", (): void => { - const colorPalette: Palette = ["#FFF", "#F00", "#000"]; +describe('getSwatch', (): void => { + const colorPalette: Palette = ['#FFF', '#F00', '#000']; - it("should return the first color when the input index is less than 0", (): void => { - expect(getSwatch(-1, colorPalette)).to.equal("#FFF"); - }); + it('should return the first color when the input index is less than 0', (): void => { + expect(getSwatch(-1, colorPalette)).to.equal('#FFF'); + }); - it("should return the last color when the input index is greater than the last index of the palette", (): void => { - expect(getSwatch(4, colorPalette)).to.equal("#000"); - }); + it('should return the last color when the input index is greater than the last index of the palette', (): void => { + expect(getSwatch(4, colorPalette)).to.equal('#000'); + }); - it("should return the color at the provided index if the index is within the bounds of the array", (): void => { - expect(getSwatch(0, colorPalette)).to.equal("#FFF"); - expect(getSwatch(1, colorPalette)).to.equal("#F00"); - expect(getSwatch(2, colorPalette)).to.equal("#000"); - }); + it('should return the color at the provided index if the index is within the bounds of the array', (): void => { + expect(getSwatch(0, colorPalette)).to.equal('#FFF'); + expect(getSwatch(1, colorPalette)).to.equal('#F00'); + expect(getSwatch(2, colorPalette)).to.equal('#000'); + }); }); -describe("swatchByMode", (): void => { - it("should operate on DesignSystemDefaults", (): void => { - expect(swatchByMode(neutralPalette)(0, 0)({} as DesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[0] - ); - expect(swatchByMode(accentPalette)(0, 0)({} as DesignSystem)).to.equal( - DesignSystemDefaults.accentPalette[0] - ); - }); - it("should return the dark index color when the background color is dark", (): void => { - expect( - swatchByMode(neutralPalette)(0, 7)({ - backgroundColor: "#000", - } as DesignSystem) - ).to.equal(DesignSystemDefaults.neutralPalette[7]); - expect( - swatchByMode(accentPalette)(0, 7)({ - backgroundColor: "#000", - } as DesignSystem) - ).to.equal(DesignSystemDefaults.accentPalette[7]); - }); +describe('swatchByMode', (): void => { + it('should operate on DesignSystemDefaults', (): void => { + expect(swatchByMode(neutralPalette)(0, 0)({} as DesignSystem)).to.equal(DesignSystemDefaults.neutralPalette[0]); + expect(swatchByMode(accentPalette)(0, 0)({} as DesignSystem)).to.equal(DesignSystemDefaults.accentPalette[0]); + }); + it('should return the dark index color when the background color is dark', (): void => { + expect( + swatchByMode(neutralPalette)(0, 7)({ + backgroundColor: '#000', + } as DesignSystem), + ).to.equal(DesignSystemDefaults.neutralPalette[7]); + expect( + swatchByMode(accentPalette)(0, 7)({ + backgroundColor: '#000', + } as DesignSystem), + ).to.equal(DesignSystemDefaults.accentPalette[7]); + }); }); -describe("swatchByContrast", (): void => { - it("should return a function", (): void => { - expect(typeof swatchByContrast({} as any)).to.equal("function"); +describe('swatchByContrast', (): void => { + it('should return a function', (): void => { + expect(typeof swatchByContrast({} as any)).to.equal('function'); + }); + describe('indexResolver', (): void => { + it('should pass a reference color as the first argument', (): void => { + const indexResolver = chai.spy(() => 0); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(indexResolver).to.have.been.called.once; + expect(indexResolver).to.have.been.called.with('#FFF'); }); - describe("indexResolver", (): void => { - it("should pass a reference color as the first argument", (): void => { - const indexResolver = chai.spy(() => 0); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(indexResolver).to.have.been.called.once; - expect(indexResolver).to.have.been.called.with("#FFF"); - }); - it("should pass the palette as the second argument", (): void => { - const indexResolver = chai.spy(() => 0); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - const colorPalette: string[] = ["foo"]; - - swatchByContrast("#FFF")(() => colorPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(indexResolver).to.have.been.called.once; - expect(indexResolver).to.have.been.called.with(colorPalette); - }); - it("should pass the designSystem as the third argument", (): void => { - const indexResolver = chai.spy(() => 0); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - const designSystem: DesignSystem = {} as DesignSystem; - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)(designSystem); - expect(indexResolver).to.have.been.called.once; - expect(indexResolver).to.have.been.called.with(designSystem); - }); + it('should pass the palette as the second argument', (): void => { + const indexResolver = chai.spy(() => 0); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + const colorPalette: string[] = ['foo']; + + swatchByContrast('#FFF')(() => colorPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(indexResolver).to.have.been.called.once; + expect(indexResolver).to.have.been.called.with(colorPalette); }); - describe("directionResolver", (): void => { - it("should pass the reference index as the first argument", (): void => { - const index: number = 20; - const indexResolver = chai.spy(() => index); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(directionResolver).to.have.been.called.once; - expect(directionResolver).to.have.been.called.with(index); - }); - it("should receive the palette length - 1 if the resolved index is greater than the palette length", (): void => { - const index: number = 105; - const indexResolver = chai.spy(() => index); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(directionResolver).to.have.been.called.once; - expect(directionResolver).to.have.been.called.with( - neutralPalette({} as DesignSystem).length - 1 - ); - }); - it("should receive 0 if the resolved index is less than 0", (): void => { - const index: number = -20; - const indexResolver = chai.spy(() => index); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(directionResolver).to.have.been.called.once; - expect(directionResolver).to.have.been.called.with(0); - }); - it("should pass the palette as the second argument", (): void => { - const indexResolver = chai.spy(() => 0); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - const colorPalette: string[] = ["foo"]; - - swatchByContrast("#FFF")(() => colorPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)({} as DesignSystem); - expect(directionResolver).to.have.been.called.once; - expect(directionResolver).to.have.been.called.with(colorPalette); - }); - it("should pass the designSystem as the third argument", (): void => { - const indexResolver = chai.spy(() => 0); - const directionResolver = chai.spy(() => 1); - const contrastCondition = chai.spy(() => false); - const designSystem: DesignSystem = {} as DesignSystem; - - swatchByContrast("#FFF")(neutralPalette)(indexResolver as any)( - directionResolver as any - )(contrastCondition as any)(designSystem); - expect(directionResolver).to.have.been.called.once; - expect(directionResolver).to.have.been.called.with(designSystem); - }); + it('should pass the designSystem as the third argument', (): void => { + const indexResolver = chai.spy(() => 0); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + const designSystem: DesignSystem = {} as DesignSystem; + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )(designSystem); + expect(indexResolver).to.have.been.called.once; + expect(indexResolver).to.have.been.called.with(designSystem); }); - - it("should return the color at the initial index if it satisfies the predicate", (): void => { - const indexResolver: () => number = (): number => 0; - const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; - const contrastCondition: () => boolean = (): boolean => true; - const designSystem: DesignSystem = {} as DesignSystem; - const sourcePalette: string[] = ["#111", "#222", "#333"]; - - expect( - swatchByContrast("#FFF")(() => sourcePalette)(indexResolver)( - directionResolver - )(contrastCondition)(designSystem) - ).to.equal(sourcePalette[0]); + }); + describe('directionResolver', (): void => { + it('should pass the reference index as the first argument', (): void => { + const index: number = 20; + const indexResolver = chai.spy(() => index); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(directionResolver).to.have.been.called.once; + expect(directionResolver).to.have.been.called.with(index); }); - it("should return the color at the last index when direction is 1 and no value satisfies the predicate", (): void => { - const indexResolver: () => number = (): number => 0; - const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; - const contrastCondition: () => boolean = (): boolean => false; - const designSystem: DesignSystem = {} as DesignSystem; - const sourcePalette: string[] = ["#111", "#222", "#333"]; - - expect( - swatchByContrast("#FFF")(() => sourcePalette)(indexResolver)( - directionResolver - )(contrastCondition)(designSystem) - ).to.equal(sourcePalette[sourcePalette.length - 1]); + it('should receive the palette length - 1 if the resolved index is greater than the palette length', (): void => { + const index: number = 105; + const indexResolver = chai.spy(() => index); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(directionResolver).to.have.been.called.once; + expect(directionResolver).to.have.been.called.with(neutralPalette({} as DesignSystem).length - 1); }); - it("should return the color at the first index when direction is -1 and no value satisfies the predicate", (): void => { - const sourcePalette: string[] = ["#111", "#222", "#333"]; - const indexResolver: () => number = (): number => sourcePalette.length - 1; - const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; - const contrastCondition: () => boolean = (): boolean => false; - const designSystem: DesignSystem = {} as DesignSystem; - - expect( - swatchByContrast("#FFF")(() => sourcePalette)(indexResolver)( - directionResolver - )(contrastCondition)(designSystem) - ).to.equal(sourcePalette[sourcePalette.length - 1]); + it('should receive 0 if the resolved index is less than 0', (): void => { + const index: number = -20; + const indexResolver = chai.spy(() => index); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(directionResolver).to.have.been.called.once; + expect(directionResolver).to.have.been.called.with(0); }); - it("should return the color at the last index when initialIndex is greater than the last index", (): void => { - const sourcePalette: string[] = ["#111", "#222", "#333"]; - const indexResolver: () => number = (): number => sourcePalette.length; - const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; - const contrastCondition: () => boolean = (): boolean => false; - const designSystem: DesignSystem = {} as DesignSystem; - - expect( - swatchByContrast("#FFF")(() => sourcePalette)(indexResolver)( - directionResolver - )(contrastCondition)(designSystem) - ).to.equal(sourcePalette[sourcePalette.length - 1]); + it('should pass the palette as the second argument', (): void => { + const indexResolver = chai.spy(() => 0); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + const colorPalette: string[] = ['foo']; + + swatchByContrast('#FFF')(() => colorPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )({} as DesignSystem); + expect(directionResolver).to.have.been.called.once; + expect(directionResolver).to.have.been.called.with(colorPalette); }); - it("should return the color at the first index when initialIndex is less than 0", (): void => { - const sourcePalette: string[] = ["#111", "#222", "#333"]; - const indexResolver: () => number = (): number => sourcePalette.length; - const directionResolver: () => 1 | -1 = (): 1 | -1 => -1; - const contrastCondition: () => boolean = (): boolean => false; - const designSystem: DesignSystem = {} as DesignSystem; - - expect( - swatchByContrast("#FFF")(() => sourcePalette)(indexResolver)( - directionResolver - )(contrastCondition)(designSystem) - ).to.equal(sourcePalette[0]); + it('should pass the designSystem as the third argument', (): void => { + const indexResolver = chai.spy(() => 0); + const directionResolver = chai.spy(() => 1); + const contrastCondition = chai.spy(() => false); + const designSystem: DesignSystem = {} as DesignSystem; + + swatchByContrast('#FFF')(neutralPalette)(indexResolver as any)(directionResolver as any)( + contrastCondition as any, + )(designSystem); + expect(directionResolver).to.have.been.called.once; + expect(directionResolver).to.have.been.called.with(designSystem); }); + }); + + it('should return the color at the initial index if it satisfies the predicate', (): void => { + const indexResolver: () => number = (): number => 0; + const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; + const contrastCondition: () => boolean = (): boolean => true; + const designSystem: DesignSystem = {} as DesignSystem; + const sourcePalette: string[] = ['#111', '#222', '#333']; + + expect( + swatchByContrast('#FFF')(() => sourcePalette)(indexResolver)(directionResolver)(contrastCondition)(designSystem), + ).to.equal(sourcePalette[0]); + }); + it('should return the color at the last index when direction is 1 and no value satisfies the predicate', (): void => { + const indexResolver: () => number = (): number => 0; + const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; + const contrastCondition: () => boolean = (): boolean => false; + const designSystem: DesignSystem = {} as DesignSystem; + const sourcePalette: string[] = ['#111', '#222', '#333']; + + expect( + swatchByContrast('#FFF')(() => sourcePalette)(indexResolver)(directionResolver)(contrastCondition)(designSystem), + ).to.equal(sourcePalette[sourcePalette.length - 1]); + }); + it('should return the color at the first index when direction is -1 and no value satisfies the predicate', (): void => { + const sourcePalette: string[] = ['#111', '#222', '#333']; + const indexResolver: () => number = (): number => sourcePalette.length - 1; + const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; + const contrastCondition: () => boolean = (): boolean => false; + const designSystem: DesignSystem = {} as DesignSystem; + + expect( + swatchByContrast('#FFF')(() => sourcePalette)(indexResolver)(directionResolver)(contrastCondition)(designSystem), + ).to.equal(sourcePalette[sourcePalette.length - 1]); + }); + it('should return the color at the last index when initialIndex is greater than the last index', (): void => { + const sourcePalette: string[] = ['#111', '#222', '#333']; + const indexResolver: () => number = (): number => sourcePalette.length; + const directionResolver: () => 1 | -1 = (): 1 | -1 => 1; + const contrastCondition: () => boolean = (): boolean => false; + const designSystem: DesignSystem = {} as DesignSystem; + + expect( + swatchByContrast('#FFF')(() => sourcePalette)(indexResolver)(directionResolver)(contrastCondition)(designSystem), + ).to.equal(sourcePalette[sourcePalette.length - 1]); + }); + it('should return the color at the first index when initialIndex is less than 0', (): void => { + const sourcePalette: string[] = ['#111', '#222', '#333']; + const indexResolver: () => number = (): number => sourcePalette.length; + const directionResolver: () => 1 | -1 = (): 1 | -1 => -1; + const contrastCondition: () => boolean = (): boolean => false; + const designSystem: DesignSystem = {} as DesignSystem; + + expect( + swatchByContrast('#FFF')(() => sourcePalette)(indexResolver)(directionResolver)(contrastCondition)(designSystem), + ).to.equal(sourcePalette[0]); + }); }); diff --git a/packages/web-components/src/combobox/combobox.styles.ts b/packages/web-components/src/combobox/combobox.styles.ts index 112b3d6497f50a..2b8e2f1023d97a 100644 --- a/packages/web-components/src/combobox/combobox.styles.ts +++ b/packages/web-components/src/combobox/combobox.styles.ts @@ -1,10 +1,11 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, focusVisible } from '@microsoft/fast-foundation'; -import { SelectFilledStyles, SelectStyles } from '../select/select.styles'; +import { SelectFilledStyles, selectStyles } from '../select/select.styles'; import { appearanceBehavior } from '../utilities/behaviors'; -export const ComboboxStyles = css` - ${SelectStyles} +export const comboboxStyles = (context, definition) => + css` + ${selectStyles(context, definition)} :host(:empty) .listbox { display: none; diff --git a/packages/web-components/src/combobox/index.ts b/packages/web-components/src/combobox/index.ts index 76f4e762e483cc..5f7a49d23680ba 100644 --- a/packages/web-components/src/combobox/index.ts +++ b/packages/web-components/src/combobox/index.ts @@ -1,7 +1,7 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { Combobox, ComboboxTemplate as template } from '@microsoft/fast-foundation'; +import { attr } from '@microsoft/fast-element'; +import { Combobox as FoundationCombobox, comboboxTemplate as template } from '@microsoft/fast-foundation'; import { SelectAppearance } from '../select'; -import { ComboboxStyles as styles } from './combobox.styles'; +import { comboboxStyles as styles } from './combobox.styles'; /** * Combobox appearances @@ -10,23 +10,10 @@ import { ComboboxStyles as styles } from './combobox.styles'; export type ComboboxAppearance = SelectAppearance; /** - * The Fluent Combobox Custom Element. Implements {@link @microsoft/fast-foundation#Combobox|Combobox}, - * {@link @microsoft/fast-foundation#ComboboxTemplate|ComboboxTemplate} - * - * @public - * @remarks - * HTML Element: \ - * + * The Fluent combobox class + * @internal */ -@customElement({ - name: 'fluent-combobox', - template, - styles, - shadowOptions: { - delegatesFocus: true, - }, -}) -export class FluentCombobox extends Combobox { +export class Combobox extends FoundationCombobox { /** * The appearance of the element. * @@ -59,8 +46,23 @@ export class FluentCombobox extends Combobox { } } +/** + * The Fluent Combobox Custom Element. Implements {@link @microsoft/fast-foundation#Combobox}, + * {@link @microsoft/fast-foundation#comboboxTemplate} + * + * @public + * @remarks + * HTML Element: \ + * + */ +export const fluentCombobox = Combobox.compose({ + baseName: 'combobox', + template, + styles, +}); + /** * Styles for combobox * @public */ -export const ComboboxStyles = styles; +export const comboboxStyles = styles; diff --git a/packages/web-components/src/custom-elements.ts b/packages/web-components/src/custom-elements.ts new file mode 100644 index 00000000000000..c00ae20b57cc58 --- /dev/null +++ b/packages/web-components/src/custom-elements.ts @@ -0,0 +1,38 @@ +/** + * Export all custom element definitions + */ +export { fluentAccordion, fluentAccordionItem } from './accordion/index'; +export { fluentAnchor } from './anchor/index'; +export { fluentAnchoredRegion } from './anchored-region/index'; +export { fluentBadge } from './badge/index'; +export { fluentBreadcrumb } from './breadcrumb/index'; +export { fluentBreadcrumbItem } from './breadcrumb-item/index'; +export { fluentButton } from './button/index'; +// export * from "./card/index"; +export { fluentCheckbox } from './checkbox/index'; +export { fluentCombobox } from './combobox/index'; +export { fluentDataGrid, fluentDataGridCell, fluentDataGridRow } from './data-grid/index'; +// export * from "./design-system-provider/index"; +export { fluentDialog } from './dialog/index'; +export { fluentDivider } from './divider/index'; +export { fluentFlipper } from './flipper/index'; +export { fluentHorizontalScroll } from './horizontal-scroll/index'; +export { fluentListbox } from './listbox/index'; +export { fluentOption } from './listbox-option/index'; +export { fluentMenu } from './menu/index'; +export { fluentMenuItem } from './menu-item/index'; +export { fluentNumberField } from './number-field/index'; +export { fluentProgress, fluentProgressRing } from './progress/index'; +export { fluentRadio } from './radio/index'; +export { fluentRadioGroup } from './radio-group/index'; +export { fluentSelect } from './select/index'; +export { fluentSkeleton } from './skeleton/index'; +export { fluentSlider } from './slider/index'; +export { fluentSliderLabel } from './slider-label/index'; +export { fluentSwitch } from './switch/index'; +export { fluentTabs, fluentTab, fluentTabPanel } from './tabs/index'; +export { fluentTextArea } from './text-area/index'; +export { fluentTextField } from './text-field/index'; +export { fluentTooltip } from './tooltip/index'; +export { fluentTreeView } from './tree-view/index'; +export { fluentTreeItem } from './tree-item/index'; diff --git a/packages/web-components/src/data-grid/data-grid-cell.styles.ts b/packages/web-components/src/data-grid/data-grid-cell.styles.ts index ae7af50bb4f695..6485a8431ad224 100644 --- a/packages/web-components/src/data-grid/data-grid-cell.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-cell.styles.ts @@ -3,7 +3,8 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { neutralFocusBehavior, neutralForegroundActiveBehavior, neutralForegroundRestBehavior } from '../styles'; -export const DataGridCellStyles = css` +export const dataGridCellStyles = (context, definition) => + css` :host { padding: calc(var(--design-unit) * 1px) calc(var(--design-unit) * 3px); color: ${neutralForegroundRestBehavior.var}; @@ -28,11 +29,11 @@ export const DataGridCellStyles = css` } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundRestBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFocusBehavior, + neutralForegroundActiveBehavior, + neutralForegroundRestBehavior, + forcedColorsStylesheetBehavior( + css` :host { forced-color-adjust: none; border-color: transparent; @@ -46,5 +47,5 @@ export const DataGridCellStyles = css` color: ${SystemColors.FieldText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/data-grid/data-grid-row.styles.ts b/packages/web-components/src/data-grid/data-grid-row.styles.ts index 10f39c087526b4..0c48475697a039 100644 --- a/packages/web-components/src/data-grid/data-grid-row.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-row.styles.ts @@ -2,30 +2,31 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { neutralDividerRestBehavior, neutralFillRestBehavior } from '../styles'; -export const DataGridRowStyles = css` - :host { - display: grid; - padding: 1px 0; - box-sizing: border-box; - width: 100%; - border-bottom: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); - } +export const dataGridRowStyles = (context, defintion) => + css` + :host { + display: grid; + padding: 1px 0; + box-sizing: border-box; + width: 100%; + border-bottom: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); + } - :host(.header) { - } + :host(.header) { + } - :host(.sticky-header) { - background: ${neutralFillRestBehavior.var}; - position: sticky; - top: 0; - } -`.withBehaviors( - neutralDividerRestBehavior, - neutralFillRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host { - } - `, - ), -); + :host(.sticky-header) { + background: ${neutralFillRestBehavior.var}; + position: sticky; + top: 0; + } + `.withBehaviors( + neutralDividerRestBehavior, + neutralFillRestBehavior, + forcedColorsStylesheetBehavior( + css` + :host { + } + `, + ), + ); diff --git a/packages/web-components/src/data-grid/data-grid.stories.ts b/packages/web-components/src/data-grid/data-grid.stories.ts index 9cce8514498602..529c0d58d59891 100644 --- a/packages/web-components/src/data-grid/data-grid.stories.ts +++ b/packages/web-components/src/data-grid/data-grid.stories.ts @@ -5,36 +5,36 @@ import addons from '@storybook/addons'; import { STORY_RENDERED } from '@storybook/core-events'; import DataGridTemplate from './fixtures/base.html'; import './index'; -/* eslint-disable @typescript-eslint/ban-types */ + let defaultGridElement: DataGrid | null = null; const defaultRowData: object = newDataRow('default'); const columnWidths: string[] = ['1fr', '1fr', '1fr', '1fr']; const defaultRowItemTemplate = html` - + `; const customRowItemTemplate = html` - - + + `; const customCellItemTemplate = html` - + `; const customHeaderCellItemTemplate = html` @@ -43,7 +43,7 @@ const customHeaderCellItemTemplate = html` cell-type="columnheader" grid-column="${(x, c) => c.index + 1}" :columnDefinition="${x => x}" - > + > `; addons.getChannel().addListener(STORY_RENDERED, (name: string) => { @@ -92,100 +92,124 @@ addons.getChannel().addListener(STORY_RENDERED, (name: string) => { }; } - const resetButton = document.getElementById('btnreset') as Button | null; + const resetButton = document.getElementById('btnreset') as Button; if (resetButton) { resetButton.onclick = reset; } - const defaultColsButton = document.getElementById('btndefaultcols') as Button | null; + const defaultColsButton = document.getElementById('btndefaultcols') as Button; if (defaultColsButton) { defaultColsButton.onclick = setDefaultCols; } - const templateColsButton = document.getElementById('btntemplatecols') as Button | null; + const templateColsButton = document.getElementById('btntemplatecols') as Button; if (templateColsButton) { templateColsButton.onclick = setTemplateCols; } - const addRowButton = document.getElementById('btnaddrow') as Button | null; + const addRowButton = document.getElementById('btnaddrow') as Button; if (addRowButton) { addRowButton.onclick = addRow; } - const removeRowButton = document.getElementById('btnremoverow') as Button | null; + const removeRowButton = document.getElementById('btnremoverow') as Button; if (removeRowButton) { removeRowButton.onclick = removeRow; } - const noHeaderButton = document.getElementById('btnnoheader') as Button | null; + const noHeaderButton = document.getElementById('btnnoheader') as Button; if (noHeaderButton) { noHeaderButton.onclick = setNoHeader; } - const defaultHeaderButton = document.getElementById('btndefaultheader') as Button | null; + const defaultHeaderButton = document.getElementById('btndefaultheader') as Button; if (defaultHeaderButton) { defaultHeaderButton.onclick = setDefaultHeader; } - const stickyHeaderButton = document.getElementById('btnstickyheader') as Button | null; + const stickyHeaderButton = document.getElementById('btnstickyheader') as Button; if (stickyHeaderButton) { stickyHeaderButton.onclick = setStickyHeader; } - const defaultRowTemplateButton = document.getElementById('btndefaultrowtemplate') as Button | null; + const defaultRowTemplateButton = document.getElementById('btndefaultrowtemplate') as Button; if (defaultRowTemplateButton) { defaultRowTemplateButton.onclick = setDefaultRowItemTemplate; } - const customRowTemplateButton = document.getElementById('btncustomrowtemplate') as Button | null; + const customRowTemplateButton = document.getElementById('btncustomrowtemplate') as Button; if (customRowTemplateButton) { customRowTemplateButton.onclick = setCustomRowItemTemplate; } - const defaultCellTemplateButton = document.getElementById('btndefaultcelltemplate') as Button | null; + const defaultCellTemplateButton = document.getElementById('btndefaultcelltemplate') as Button; if (defaultCellTemplateButton) { defaultCellTemplateButton.onclick = setDefaultCellItemTemplate; } - const customCellTemplateButton = document.getElementById('btncustomcelltemplate') as Button | null; + const customCellTemplateButton = document.getElementById('btncustomcelltemplate') as Button; if (customCellTemplateButton) { customCellTemplateButton.onclick = setCustomCellItemTemplate; } - const defaultHeaderCellTemplateButton = document.getElementById('btndefaultheadercelltemplate') as Button | null; + const defaultHeaderCellTemplateButton = document.getElementById('btndefaultheadercelltemplate') as Button; if (defaultHeaderCellTemplateButton) { defaultHeaderCellTemplateButton.onclick = setDefaultHeaderCellItemTemplate; } - const customHeaderCellTemplateButton = document.getElementById('btncustomheadercelltemplate') as Button | null; + const customHeaderCellTemplateButton = document.getElementById('btncustomheadercelltemplate') as Button; if (customHeaderCellTemplateButton) { customHeaderCellTemplateButton.onclick = setCustomHeaderCellItemTemplate; } + + // note: we use mouse enter because clicking to move focus seems to confuse focus-visible + const focusLeftButton = document.getElementById('btnfocusleft') as Button; + if (focusLeftButton) { + focusLeftButton.onmouseenter = moveFocus; + } + + const focusRightButton = document.getElementById('btnfocusright') as Button; + if (focusRightButton) { + focusRightButton.onmouseenter = moveFocus; + } + + const focusUpButton = document.getElementById('btnfocusup') as Button; + if (focusUpButton) { + focusUpButton.onmouseenter = moveFocus; + } + + const focusDownButton = document.getElementById('btnfocusdown') as Button; + if (focusDownButton) { + focusDownButton.onmouseenter = moveFocus; + } } }); const buttonCellTemplate = html` - + `; const buttonHeaderCellTemplate = html` - + `; function reset(): void { @@ -280,6 +304,29 @@ function setCustomHeaderCellItemTemplate(): void { defaultGridElement.headerCellItemTemplate = customHeaderCellItemTemplate; } +function moveFocus(e: MouseEvent): void { + if (defaultGridElement === null) { + return; + } + switch ((e.target as HTMLElement).id) { + case 'btnfocusleft': + defaultGridElement.focusColumnIndex = defaultGridElement.focusColumnIndex - 1; + break; + + case 'btnfocusright': + defaultGridElement.focusColumnIndex = defaultGridElement.focusColumnIndex + 1; + break; + + case 'btnfocusup': + defaultGridElement.focusRowIndex = defaultGridElement.focusRowIndex - 1; + break; + + case 'btnfocusdown': + defaultGridElement.focusRowIndex = defaultGridElement.focusRowIndex + 1; + break; + } +} + function headerTemplateButtonClick(cell: DataGridCell): void { if (cell.columnDefinition === null || defaultGridElement === null || defaultGridElement.columnDefinitions === null) { return; @@ -378,10 +425,9 @@ const templateColumns: ColumnDefinition[] = [ headerCellFocusTargetCallback: getFocusTarget, }, ]; -/* eslint-enable @typescript-eslint/ban-types */ function getFocusTarget(cell: DataGridCell): HTMLElement { - return cell.querySelector('fluent-button') as HTMLElement; + return cell.querySelector('fast-button') as HTMLElement; } export default { diff --git a/packages/web-components/src/data-grid/data-grid.styles.ts b/packages/web-components/src/data-grid/data-grid.styles.ts index d912385b3c2ef0..13b50f12a9b8f8 100644 --- a/packages/web-components/src/data-grid/data-grid.styles.ts +++ b/packages/web-components/src/data-grid/data-grid.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; -export const DataGridStyles = css` +export const dataGridStyles = (context, definition) => css` :host { display: flex; position: relative; diff --git a/packages/web-components/src/data-grid/index.ts b/packages/web-components/src/data-grid/index.ts index c19433424e3b7f..558a9ed938ee4a 100644 --- a/packages/web-components/src/data-grid/index.ts +++ b/packages/web-components/src/data-grid/index.ts @@ -1,39 +1,33 @@ -import { customElement, ViewTemplate } from '@microsoft/fast-element'; import { - createDataGridCellTemplate, - createDataGridRowTemplate, - createDataGridTemplate, DataGrid, DataGridCell, DataGridRow, + dataGridCellTemplate, + dataGridRowTemplate, + dataGridTemplate, } from '@microsoft/fast-foundation'; -import { DataGridStyles as gridStyles } from './data-grid.styles'; -import { DataGridRowStyles as rowStyles } from './data-grid-row.styles'; -import { DataGridCellStyles as cellStyles } from './data-grid-cell.styles'; - -const cellTemplate: ViewTemplate = createDataGridCellTemplate('fluent'); -const gridTemplate: ViewTemplate = createDataGridTemplate('fluent'); -const rowTemplate: ViewTemplate = createDataGridRowTemplate('fluent'); +import { dataGridStyles as gridStyles } from './data-grid.styles'; +import { dataGridRowStyles as rowStyles } from './data-grid-row.styles'; +import { dataGridCellStyles as cellStyles } from './data-grid-cell.styles'; /** - * The Fluent Data Grid Element. + * The Fluent Data Grid Cell Element. * * @public * @remarks - * HTML Element: \ + * HTML Element: \ */ -@customElement({ - name: 'fluent-data-grid', - template: gridTemplate, - styles: gridStyles, -}) -export class FluentDataGrid extends DataGrid {} +export const fluentDataGridCell = DataGridCell.compose({ + baseName: 'data-grid-cell', + template: dataGridCellTemplate, + styles: cellStyles, +}); /** - * Styles for DataGrid + * Styles for DataGrid cell * @public */ -export const DataGridStyles = gridStyles; +export const dataGridCellStyles = cellStyles; /** * The Fluent Data Grid Row Element. @@ -42,35 +36,33 @@ export const DataGridStyles = gridStyles; * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-data-grid-row', - template: rowTemplate, +export const fluentDataGridRow = DataGridRow.compose({ + baseName: 'data-grid-row', + template: dataGridRowTemplate, styles: rowStyles, -}) -export class FluentDataGridRow extends DataGridRow {} +}); /** * Styles for DataGrid row * @public */ -export const DataGridRowStyles = rowStyles; +export const dataGridRowStyles = rowStyles; /** - * The Fluent Data Grid Cell Element. + * The Fluent Data Grid Element. * * @public * @remarks - * HTML Element: \ + * HTML Element: \ */ -@customElement({ - name: 'fluent-data-grid-cell', - template: cellTemplate, - styles: cellStyles, -}) -export class FluentDataGridCell extends DataGridCell {} +export const fluentDataGrid = DataGrid.compose({ + baseName: 'data-grid', + template: dataGridTemplate, + styles: gridStyles, +}); /** - * Styles for DataGrid cell + * Styles for DataGrid * @public */ -export const DataGridCellStyles = cellStyles; +export const dataGridStyles = gridStyles; diff --git a/packages/web-components/src/default-palette.ts b/packages/web-components/src/default-palette.ts index ba340464c54f63..54abd438df7f04 100644 --- a/packages/web-components/src/default-palette.ts +++ b/packages/web-components/src/default-palette.ts @@ -3,194 +3,194 @@ * This file generated by web-components/build/generate-default-palettes.js */ export const neutralPalette: string[] = [ - "#FFFFFF", - "#FCFCFC", - "#FAFAFA", - "#F7F7F7", - "#F5F5F5", - "#F2F2F2", - "#EFEFEF", - "#EDEDED", - "#EAEAEA", - "#E8E8E8", - "#E5E5E5", - "#E2E2E2", - "#E0E0E0", - "#DDDDDD", - "#DBDBDB", - "#D8D8D8", - "#D6D6D6", - "#D3D3D3", - "#D0D0D0", - "#CECECE", - "#CBCBCB", - "#C9C9C9", - "#C6C6C6", - "#C3C3C3", - "#C1C1C1", - "#BEBEBE", - "#BCBCBC", - "#B9B9B9", - "#B6B6B6", - "#B4B4B4", - "#B1B1B1", - "#AFAFAF", - "#ACACAC", - "#A9A9A9", - "#A7A7A7", - "#A4A4A4", - "#A2A2A2", - "#9F9F9F", - "#9D9D9D", - "#9A9A9A", - "#979797", - "#959595", - "#929292", - "#909090", - "#8D8D8D", - "#8A8A8A", - "#888888", - "#858585", - "#838383", - "#808080", - "#7D7D7D", - "#7B7B7B", - "#787878", - "#767676", - "#737373", - "#717171", - "#6E6E6E", - "#6B6B6B", - "#696969", - "#666666", - "#646464", - "#616161", - "#5F5F5F", - "#5C5C5C", - "#5A5A5A", - "#575757", - "#545454", - "#525252", - "#4F4F4F", - "#4D4D4D", - "#4A4A4A", - "#484848", - "#454545", - "#424242", - "#404040", - "#3D3D3D", - "#3B3B3B", - "#383838", - "#363636", - "#333333", - "#313131", - "#2E2E2E", - "#2B2B2B", - "#292929", - "#262626", - "#242424", - "#212121", - "#1E1E1E", - "#1B1B1B", - "#181818", - "#151515", - "#121212", - "#101010", - "#000000" + '#FFFFFF', + '#FCFCFC', + '#FAFAFA', + '#F7F7F7', + '#F5F5F5', + '#F2F2F2', + '#EFEFEF', + '#EDEDED', + '#EAEAEA', + '#E8E8E8', + '#E5E5E5', + '#E2E2E2', + '#E0E0E0', + '#DDDDDD', + '#DBDBDB', + '#D8D8D8', + '#D6D6D6', + '#D3D3D3', + '#D0D0D0', + '#CECECE', + '#CBCBCB', + '#C9C9C9', + '#C6C6C6', + '#C3C3C3', + '#C1C1C1', + '#BEBEBE', + '#BCBCBC', + '#B9B9B9', + '#B6B6B6', + '#B4B4B4', + '#B1B1B1', + '#AFAFAF', + '#ACACAC', + '#A9A9A9', + '#A7A7A7', + '#A4A4A4', + '#A2A2A2', + '#9F9F9F', + '#9D9D9D', + '#9A9A9A', + '#979797', + '#959595', + '#929292', + '#909090', + '#8D8D8D', + '#8A8A8A', + '#888888', + '#858585', + '#838383', + '#808080', + '#7D7D7D', + '#7B7B7B', + '#787878', + '#767676', + '#737373', + '#717171', + '#6E6E6E', + '#6B6B6B', + '#696969', + '#666666', + '#646464', + '#616161', + '#5F5F5F', + '#5C5C5C', + '#5A5A5A', + '#575757', + '#545454', + '#525252', + '#4F4F4F', + '#4D4D4D', + '#4A4A4A', + '#484848', + '#454545', + '#424242', + '#404040', + '#3D3D3D', + '#3B3B3B', + '#383838', + '#363636', + '#333333', + '#313131', + '#2E2E2E', + '#2B2B2B', + '#292929', + '#262626', + '#242424', + '#212121', + '#1E1E1E', + '#1B1B1B', + '#181818', + '#151515', + '#121212', + '#101010', + '#000000', ]; export const accentPalette: string[] = [ - "#FFFFFF", - "#FBFDFE", - "#F6FAFE", - "#F2F8FD", - "#EEF6FC", - "#E9F4FB", - "#E5F1FB", - "#E1EFFA", - "#DCEDF9", - "#D8EAF8", - "#D4E8F8", - "#CFE6F7", - "#CBE4F6", - "#C7E1F6", - "#C2DFF5", - "#BEDDF4", - "#BADAF3", - "#B6D8F3", - "#B1D6F2", - "#ADD4F1", - "#A9D1F0", - "#A4CFF0", - "#A0CDEF", - "#9CCAEE", - "#97C8EE", - "#93C6ED", - "#8FC4EC", - "#8AC1EB", - "#86BFEB", - "#82BDEA", - "#7DBAE9", - "#79B8E8", - "#75B6E8", - "#70B3E7", - "#6CB1E6", - "#68AFE5", - "#63ADE5", - "#5FAAE4", - "#5BA8E3", - "#56A6E3", - "#52A3E2", - "#4EA1E1", - "#499FE0", - "#459DE0", - "#419ADF", - "#3D98DE", - "#3896DD", - "#3493DD", - "#3091DC", - "#2B8FDB", - "#278DDB", - "#238ADA", - "#1E88D9", - "#1A86D8", - "#1683D8", - "#1181D7", - "#0D7FD6", - "#097DD5", - "#047AD5", - "#0078D4", - "#0075CF", - "#0072C9", - "#006FC4", - "#006CBE", - "#0069B9", - "#0066B4", - "#0063AE", - "#0060A9", - "#005CA3", - "#00599E", - "#005699", - "#005393", - "#00508E", - "#004D88", - "#004A83", - "#00477D", - "#004478", - "#004173", - "#003E6D", - "#003B68", - "#003862", - "#00355D", - "#003258", - "#002F52", - "#002B4D", - "#002847", - "#002542", - "#00223C", - "#001F36", - "#001B30", - "#00182B", - "#001525", - "#00121F", - "#000000" + '#FFFFFF', + '#FBFDFE', + '#F6FAFE', + '#F2F8FD', + '#EEF6FC', + '#E9F4FB', + '#E5F1FB', + '#E1EFFA', + '#DCEDF9', + '#D8EAF8', + '#D4E8F8', + '#CFE6F7', + '#CBE4F6', + '#C7E1F6', + '#C2DFF5', + '#BEDDF4', + '#BADAF3', + '#B6D8F3', + '#B1D6F2', + '#ADD4F1', + '#A9D1F0', + '#A4CFF0', + '#A0CDEF', + '#9CCAEE', + '#97C8EE', + '#93C6ED', + '#8FC4EC', + '#8AC1EB', + '#86BFEB', + '#82BDEA', + '#7DBAE9', + '#79B8E8', + '#75B6E8', + '#70B3E7', + '#6CB1E6', + '#68AFE5', + '#63ADE5', + '#5FAAE4', + '#5BA8E3', + '#56A6E3', + '#52A3E2', + '#4EA1E1', + '#499FE0', + '#459DE0', + '#419ADF', + '#3D98DE', + '#3896DD', + '#3493DD', + '#3091DC', + '#2B8FDB', + '#278DDB', + '#238ADA', + '#1E88D9', + '#1A86D8', + '#1683D8', + '#1181D7', + '#0D7FD6', + '#097DD5', + '#047AD5', + '#0078D4', + '#0075CF', + '#0072C9', + '#006FC4', + '#006CBE', + '#0069B9', + '#0066B4', + '#0063AE', + '#0060A9', + '#005CA3', + '#00599E', + '#005699', + '#005393', + '#00508E', + '#004D88', + '#004A83', + '#00477D', + '#004478', + '#004173', + '#003E6D', + '#003B68', + '#003862', + '#00355D', + '#003258', + '#002F52', + '#002B4D', + '#002847', + '#002542', + '#00223C', + '#001F36', + '#001B30', + '#00182B', + '#001525', + '#00121F', + '#000000', ]; diff --git a/packages/web-components/src/dialog/dialog.stories.ts b/packages/web-components/src/dialog/dialog.stories.ts index dfb6b89176c823..1c64d7e7f6c77a 100644 --- a/packages/web-components/src/dialog/dialog.stories.ts +++ b/packages/web-components/src/dialog/dialog.stories.ts @@ -1,11 +1,6 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import DialogTemplate from './fixtures/dialog.html'; import DialogFastButtonsTemplate from './fixtures/dialog-button-test.html'; -import { FluentDialog } from './'; - -// Prevent tree-shaking -FluentDialog; -FluentDesignSystemProvider; +import './index'; export default { title: 'Dialog', diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index bd1749385abb52..88b38b9245078e 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,7 +1,7 @@ import { css } from '@microsoft/fast-element'; import { elevation } from '../styles'; -export const DialogStyles = css` +export const dialogStyles = (context, definition) => css` :host([hidden]) { display: none; } diff --git a/packages/web-components/src/dialog/index.ts b/packages/web-components/src/dialog/index.ts index 8e40d9f35d98dc..1f7575db7c63ad 100644 --- a/packages/web-components/src/dialog/index.ts +++ b/packages/web-components/src/dialog/index.ts @@ -1,25 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Dialog, DialogTemplate as template } from '@microsoft/fast-foundation'; -import { DialogStyles as styles } from './dialog.styles'; +import { Dialog, dialogTemplate as template } from '@microsoft/fast-foundation'; +import { dialogStyles as styles } from './dialog.styles'; /** * The Fluent Dialog Element. Implements {@link @microsoft/fast-foundation#Dialog}, - * {@link @microsoft/fast-foundation#DialogTemplate} + * {@link @microsoft/fast-foundation#dialogTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-dialog', +export const fluentDialog = Dialog.compose({ + baseName: 'dialog', template, styles, -}) -export class FluentDialog extends Dialog {} +}); /** * Styles for Dialog * @public */ -export const DialogStyles = styles; +export const dialogStyles = styles; diff --git a/packages/web-components/src/divider/divider.stories.ts b/packages/web-components/src/divider/divider.stories.ts index effff417607cdf..2ca27cd964a40d 100644 --- a/packages/web-components/src/divider/divider.stories.ts +++ b/packages/web-components/src/divider/divider.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import DividerTemplate from './fixtures/divider.html'; -import { FluentDivider } from './'; - -// Prevent tree-shaking -FluentDivider; -FluentDesignSystemProvider; +import './index'; export default { title: 'Divider', }; -export const Divider = (): string => DividerTemplate; +export const Divider = () => DividerTemplate; diff --git a/packages/web-components/src/divider/divider.styles.ts b/packages/web-components/src/divider/divider.styles.ts index 6ac9923c0e6d93..c9f2a87ca47085 100644 --- a/packages/web-components/src/divider/divider.styles.ts +++ b/packages/web-components/src/divider/divider.styles.ts @@ -2,12 +2,13 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { neutralDividerRestBehavior } from '../styles'; -export const DividerStyles = css` - ${display('block')} :host { - box-sizing: content-box; - height: 0; - margin: calc(var(--design-unit) * 1px) 0; - border: none; - border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; - } -`.withBehaviors(neutralDividerRestBehavior); +export const dividerStyles = (context, definition) => + css` + ${display('block')} :host { + box-sizing: content-box; + height: 0; + margin: calc(var(--design-unit) * 1px) 0; + border: none; + border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; + } + `.withBehaviors(neutralDividerRestBehavior); diff --git a/packages/web-components/src/divider/index.ts b/packages/web-components/src/divider/index.ts index 0c0b0348d946c0..b0550a9f0fcf65 100644 --- a/packages/web-components/src/divider/index.ts +++ b/packages/web-components/src/divider/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Divider, DividerTemplate as template } from '@microsoft/fast-foundation'; -import { DividerStyles as styles } from './divider.styles'; +import { Divider, dividerTemplate as template } from '@microsoft/fast-foundation'; +import { dividerStyles as styles } from './divider.styles'; /** * The Fluent Divider Element. Implements {@link @microsoft/fast-foundation#Divider}, - * {@link @microsoft/fast-foundation#DividerTemplate} + * {@link @microsoft/fast-foundation#dividerTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-divider', +export const fluentDivider = Divider.compose({ + baseName: 'divider', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentDivider extends Divider {} +}); /** * Styles for Divider * @public */ -export const DividerStyles = styles; +export const dividerStyles = styles; diff --git a/packages/web-components/src/flipper/flipper.stories.ts b/packages/web-components/src/flipper/flipper.stories.ts index 3bcde2cf7d4a88..391a75f1823337 100644 --- a/packages/web-components/src/flipper/flipper.stories.ts +++ b/packages/web-components/src/flipper/flipper.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import FlipperTemplate from './fixtures/flipper.html'; -import { FluentFlipper } from './'; - -// Prevent tree-shaking -FluentFlipper; -FluentDesignSystemProvider; +import './index'; export default { title: 'Flipper', }; -export const Flipper = (): string => FlipperTemplate; +export const Flipper = () => FlipperTemplate; diff --git a/packages/web-components/src/flipper/flipper.styles.ts b/packages/web-components/src/flipper/flipper.styles.ts index c5a4c181ca22a2..bf9db267c0820a 100644 --- a/packages/web-components/src/flipper/flipper.styles.ts +++ b/packages/web-components/src/flipper/flipper.styles.ts @@ -13,7 +13,8 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const FlipperStyles = css` +export const flipperStyles = (context, definition) => + css` ${display('inline-flex')} :host { width: calc(${heightNumber} * 1px); height: calc(${heightNumber} * 1px); @@ -85,16 +86,16 @@ export const FlipperStyles = css` border: 0; } `.withBehaviors( - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFillStealthActiveBehavior, + neutralFillStealthHoverBehavior, + neutralFillStealthRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` :host { background: ${SystemColors.Canvas}; } @@ -140,5 +141,5 @@ export const FlipperStyles = css` box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/flipper/index.ts b/packages/web-components/src/flipper/index.ts index cd36e7da6462a7..34cbaff019b564 100644 --- a/packages/web-components/src/flipper/index.ts +++ b/packages/web-components/src/flipper/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Flipper, FlipperTemplate as template } from '@microsoft/fast-foundation'; -import { FlipperStyles as styles } from './flipper.styles'; +import { Flipper, flipperTemplate as template } from '@microsoft/fast-foundation'; +import { flipperStyles as styles } from './flipper.styles'; /** * The Fluent Flipper Element. Implements {@link @microsoft/fast-foundation#Flipper}, - * {@link @microsoft/fast-foundation#FlipperTemplate} + * {@link @microsoft/fast-foundation#flipperTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-flipper', +export const fluentFlipper = Flipper.compose({ + baseName: 'flipper', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentFlipper extends Flipper {} +}); /** * Styles for Flipper * @public */ -export const FlipperStyles = styles; +export const flipperStyles = styles; diff --git a/packages/web-components/src/fluent-design-system.ts b/packages/web-components/src/fluent-design-system.ts index 1643d240e3c2bf..f0c5dd17ff09e2 100644 --- a/packages/web-components/src/fluent-design-system.ts +++ b/packages/web-components/src/fluent-design-system.ts @@ -6,7 +6,7 @@ export type DesignSystemResolver = (d: Y) => T; export type DensityOffset = -3 | -2 | -1 | 0 | 1 | 2 | 3; /** - * Defines the properties in the FAST Design System + * Defines the properties in the Fluent Design System * @public */ export interface DesignSystem { diff --git a/packages/web-components/src/horizontal-scroll/horizontal-scroll.stories.ts b/packages/web-components/src/horizontal-scroll/horizontal-scroll.stories.ts index 8fca042f1095c8..a125d6707b572d 100644 --- a/packages/web-components/src/horizontal-scroll/horizontal-scroll.stories.ts +++ b/packages/web-components/src/horizontal-scroll/horizontal-scroll.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import HorizontalScrollTemplate from './fixtures/horizontal-scroll.html'; -import { FluentHorizontalScroll } from './'; - -// Prevent tree-shaking -FluentHorizontalScroll; -FluentDesignSystemProvider; +import './index'; export default { title: 'Horizontal Scroll', }; -export const HorizontalScroll = (): string => HorizontalScrollTemplate; +export const HorizontalScroll = () => HorizontalScrollTemplate; diff --git a/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts b/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts index 3cb179c7a6913b..82976ea6cfd020 100644 --- a/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts +++ b/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts @@ -107,7 +107,7 @@ export const ActionsStyles = css` * Styles handling the scroll container and content * @public */ -export const HorizontalScrollStyles = css` +export const horizontalScrollStyles = (context, definition) => css` ${display('block')} :host { --scroll-align: center; --scroll-item-spacing: 4px; diff --git a/packages/web-components/src/horizontal-scroll/index.ts b/packages/web-components/src/horizontal-scroll/index.ts index 355237ff4f88d4..df86bba7ec89f3 100644 --- a/packages/web-components/src/horizontal-scroll/index.ts +++ b/packages/web-components/src/horizontal-scroll/index.ts @@ -1,25 +1,13 @@ -import { customElement } from '@microsoft/fast-element'; -import { HorizontalScroll, HorizontalScrollTemplate as template } from '@microsoft/fast-foundation'; -import { ActionsStyles, HorizontalScrollStyles as styles } from './horizontal-scroll.styles'; +import { + HorizontalScroll as FoundationHorizontalScroll, + horizontalScrollTemplate as template, +} from '@microsoft/fast-foundation'; +import { ActionsStyles, horizontalScrollStyles as styles } from './horizontal-scroll.styles'; /** - * The Fluent Horizontal Scroll Element. Implements {@link @microsoft/fast-foundation#HorizontalScrol}, - * {@link @microsoft/fast-foundation#HorizontalScrollTemplate} - * - * - * @public - * @remarks - * HTML Element: \ + * @internal */ -@customElement({ - name: 'fluent-horizontal-scroll', - template, - styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentHorizontalScroll extends HorizontalScroll { +export class HorizontalScroll extends FoundationHorizontalScroll { /** * @public */ @@ -33,7 +21,16 @@ export class FluentHorizontalScroll extends HorizontalScroll { } /** - * Styles for Horizontal Scroll + * The Fluent HorizontalScroll Element. Implements {@link @microsoft/fast-foundation#HorizontalScroll}, + * {@link @microsoft/fast-foundation#horizontalScrollTemplate} + * + * * @public + * @remarks + * HTML Element: \ */ -export const HorizontalScrollStyles = styles; +export const fluentHorizontalScroll = HorizontalScroll.compose({ + baseName: 'horizontal-scroll', + template, + styles, +}); diff --git a/packages/web-components/src/index-rollup.ts b/packages/web-components/src/index-rollup.ts index 55851dda342a63..90e6d0a09f594d 100644 --- a/packages/web-components/src/index-rollup.ts +++ b/packages/web-components/src/index-rollup.ts @@ -1,7 +1,13 @@ +// TODO: Is exporting Foundation still necessary with the updated API's? +// export * from "@microsoft/fast-element"; +import { DesignSystem } from '@microsoft/fast-foundation'; +import * as fluentComponents from './custom-elements'; + export * from './index'; -export * from '@microsoft/fast-element'; -export * from '@microsoft/fast-foundation'; -// Re-export Design system to avoid conflicts with the new class from FAST Foundation -// TODO: Update name to FluentDesignSystem once DI is implemented and published from FAST -export { DesignSystem, DesignSystemDefaults } from './fluent-design-system'; +/** + * TODO rename this to FluentDesignSystem when {@link @FluentDesignSystem} interface is removed. + */ +export const fluentDesignSystem = DesignSystem.getOrCreate().register( + ...Object.values(fluentComponents).map(definition => definition()), +); diff --git a/packages/web-components/src/index.ts b/packages/web-components/src/index.ts index 389f4cac3ce751..666d06a6abeb3e 100644 --- a/packages/web-components/src/index.ts +++ b/packages/web-components/src/index.ts @@ -1,3 +1,8 @@ +/** + * Export all custom element definitions. + */ +export * from './custom-elements'; + export * from './accordion/'; export * from './anchor/'; export * from './anchored-region'; diff --git a/packages/web-components/src/listbox-option/index.ts b/packages/web-components/src/listbox-option/index.ts index 9af12489f6f541..de73b557335ab7 100644 --- a/packages/web-components/src/listbox-option/index.ts +++ b/packages/web-components/src/listbox-option/index.ts @@ -1,22 +1,21 @@ -import { customElement } from '@microsoft/fast-element'; -import { ListboxOption, ListboxOptionTemplate as template } from '@microsoft/fast-foundation'; -import { OptionStyles as styles } from './listbox-option.styles'; +import { ListboxOption, listboxOptionTemplate as template } from '@microsoft/fast-foundation'; +import { optionStyles as styles } from './listbox-option.styles'; /** - * The Fluent ListboxOption Element. Implements {@link @microsoft/fast-foundation#ListboxOption}, - * {@link @microsoft/fast-foundation#ListboxOptionTemplate} + * The Fluent option Custom Element. Implements {@link @microsoft/fast-foundation#ListboxOption} + * {@link @microsoft/fast-foundation#listboxOptionTemplate} * * * @public * @remarks * HTML Element: \ + * */ -@customElement({ - name: 'fluent-option', +export const fluentOption = ListboxOption.compose({ + baseName: 'option', template, styles, -}) -export class FluentOption extends ListboxOption {} +}); /** * Styles for Option diff --git a/packages/web-components/src/listbox-option/listbox-option.stories.ts b/packages/web-components/src/listbox-option/listbox-option.stories.ts index 0402ced0d478ef..b1c252dc387375 100644 --- a/packages/web-components/src/listbox-option/listbox-option.stories.ts +++ b/packages/web-components/src/listbox-option/listbox-option.stories.ts @@ -1,12 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import ListboxOptionTemplate from './fixtures/base.html'; -import { FluentOption } from './'; - -FluentOption; -FluentDesignSystemProvider; +import Examples from './fixtures/base.html'; +import './index'; export default { - title: 'ListboxOption', + title: 'Listbox Option', }; -export const ListboxOption = (): string => ListboxOptionTemplate; +export const ListboxOption = () => Examples; diff --git a/packages/web-components/src/listbox-option/listbox-option.styles.ts b/packages/web-components/src/listbox-option/listbox-option.styles.ts index 4924fb8824617b..1a672dff12b775 100644 --- a/packages/web-components/src/listbox-option/listbox-option.styles.ts +++ b/packages/web-components/src/listbox-option/listbox-option.styles.ts @@ -18,7 +18,8 @@ import { } from '../styles'; import { heightNumber } from '../styles/size'; -export const OptionStyles = css` +export const optionStyles = (context, definition) => + css` ${display('inline-flex')} :host { font-family: var(--body-font); border-radius: calc(var(--corner-radius) * 1px); @@ -103,40 +104,40 @@ export const OptionStyles = css` } `.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillSelectedBehavior, - accentForegroundCutRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host { - border-color: transparent; - color: ${SystemColors.ButtonText}; - forced-color-adjust: none; - } - - :host(:not([aria-selected='true']):hover), - :host([aria-selected='true']) { - background: ${SystemColors.Highlight}; - color: ${SystemColors.HighlightText}; - } - - :host([disabled]), - :host([disabled]:not([aria-selected='true']):hover) { - background: ${SystemColors.Canvas}; - color: ${SystemColors.GrayText}; - fill: currentcolor; - opacity: 1; - } - `, - ), - neutralFillHoverBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFillStealthSelectedBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralLayerL1Behavior, -); + accentFillActiveBehavior, + accentFillHoverBehavior, + accentFillSelectedBehavior, + accentForegroundCutRestBehavior, + forcedColorsStylesheetBehavior( + css` + :host { + border-color: transparent; + color: ${SystemColors.ButtonText}; + forced-color-adjust: none; + } + + :host(:not([aria-selected='true']):hover), + :host([aria-selected='true']) { + background: ${SystemColors.Highlight}; + color: ${SystemColors.HighlightText}; + } + + :host([disabled]), + :host([disabled]:not([aria-selected='true']):hover) { + background: ${SystemColors.Canvas}; + color: ${SystemColors.GrayText}; + fill: currentcolor; + opacity: 1; + } + `, + ), + neutralFillHoverBehavior, + neutralFillStealthHoverBehavior, + neutralFillStealthRestBehavior, + neutralFillStealthSelectedBehavior, + neutralFocusBehavior, + neutralFocusInnerAccentBehavior, + neutralForegroundHoverBehavior, + neutralForegroundRestBehavior, + neutralLayerL1Behavior, + ); diff --git a/packages/web-components/src/listbox/index.ts b/packages/web-components/src/listbox/index.ts index 7b75b3de96baa9..02200efb2f8244 100644 --- a/packages/web-components/src/listbox/index.ts +++ b/packages/web-components/src/listbox/index.ts @@ -1,25 +1,24 @@ -import { customElement } from '@microsoft/fast-element'; -import { Listbox, ListboxTemplate as template } from '@microsoft/fast-foundation'; -import { ListboxStyles as styles } from './listbox.styles'; +import { Listbox, listboxTemplate as template } from '@microsoft/fast-foundation'; +import { listboxStyles as styles } from './listbox.styles'; /** - * The Fluent Listbox Element. Implements {@link @microsoft/fast-foundation#Listbox}, - * {@link @microsoft/fast-foundation#ListboxTemplate} + * The Fluent listbox Custom Element. Implements, {@link @microsoft/fast-foundation#Listbox} + * {@link @microsoft/fast-foundation#listboxTemplate} * * * @public * @remarks * HTML Element: \ + * */ -@customElement({ - name: 'fluent-listbox', +export const fluentListbox = Listbox.compose({ + baseName: 'listbox', template, styles, -}) -export class FluentListbox extends Listbox {} +}); /** * Styles for Listbox * @public */ -export const ListboxStyles = styles; +export const listboxStyles = styles; diff --git a/packages/web-components/src/listbox/listbox.stories.ts b/packages/web-components/src/listbox/listbox.stories.ts index 52a73d9afe023e..5b7c3cf8453032 100644 --- a/packages/web-components/src/listbox/listbox.stories.ts +++ b/packages/web-components/src/listbox/listbox.stories.ts @@ -1,12 +1,9 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import ListboxTemplate from './fixtures/base.html'; -import { FluentListbox } from './'; - -FluentListbox; -FluentDesignSystemProvider; +import Base from './fixtures/base.html'; +import '../listbox-option'; +import './index'; export default { title: 'Listbox', }; -export const Listbox = (): string => ListboxTemplate; +export const Listbox = () => Base; diff --git a/packages/web-components/src/listbox/listbox.styles.ts b/packages/web-components/src/listbox/listbox.styles.ts index be825f20507bdd..b07ce0db0ff663 100644 --- a/packages/web-components/src/listbox/listbox.styles.ts +++ b/packages/web-components/src/listbox/listbox.styles.ts @@ -8,23 +8,24 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const ListboxStyles = css` - ${display('inline-flex')} :host { - background: ${neutralLayerFloatingBehavior.var}; - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - box-sizing: border-box; - flex-direction: column; - padding: calc(var(--design-unit) * 1px) 0; - } +export const listboxStyles = (context, definition) => + css` + ${display('inline-flex')} :host { + background: ${neutralLayerFloatingBehavior.var}; + border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + border-radius: calc(var(--corner-radius) * 1px); + box-sizing: border-box; + flex-direction: column; + padding: calc(var(--design-unit) * 1px) 0; + } - :host(:focus-within:not([disabled])) { - border-color: ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; - } -`.withBehaviors( - forcedColorsStylesheetBehavior( - css` + :host(:focus-within:not([disabled])) { + border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; + } + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; @@ -49,8 +50,8 @@ export const ListboxStyles = css` box-shadow: none; } `, - ), - neutralLayerFloatingBehavior, - neutralOutlineRestBehavior, - neutralOutlineFocusBehavior, -); + ), + neutralLayerFloatingBehavior, + neutralOutlineRestBehavior, + neutralOutlineFocusBehavior, + ); diff --git a/packages/web-components/src/menu-item/index.ts b/packages/web-components/src/menu-item/index.ts index 16d3d001efe803..cdc45329345cd2 100644 --- a/packages/web-components/src/menu-item/index.ts +++ b/packages/web-components/src/menu-item/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { MenuItem, MenuItemTemplate as template } from '@microsoft/fast-foundation'; -import { MenuItemStyles as styles } from './menu-item.styles'; +import { MenuItem, menuItemTemplate as template } from '@microsoft/fast-foundation'; +import { menuItemStyles as styles } from './menu-item.styles'; /** * The Fluent Menu Item Element. Implements {@link @microsoft/fast-foundation#MenuItem}, - * {@link @microsoft/fast-foundation#MenuItemTemplate} + * {@link @microsoft/fast-foundation#menuItemTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-menu-item', +export const fluentMenuItem = MenuItem.compose({ + baseName: 'menu-item', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentMenuItem extends MenuItem {} +}); /** * Styles for MenuItem * @public */ -export const MenuItemStyles = styles; +export const menuItemStyles = styles; diff --git a/packages/web-components/src/menu-item/menu-item.stories.ts b/packages/web-components/src/menu-item/menu-item.stories.ts index 407186adda2f5f..c634685bbea8c9 100644 --- a/packages/web-components/src/menu-item/menu-item.stories.ts +++ b/packages/web-components/src/menu-item/menu-item.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import MenuItemTemplate from './fixtures/menu-item.html'; -import { FluentMenuItem } from '.'; - -// Prevent tree-shaking -FluentMenuItem; -FluentDesignSystemProvider; +import './index'; export default { - title: 'Menu item', + title: 'Menu Item', }; -export const MenuItem = (): string => MenuItemTemplate; +export const MenuItem = () => MenuItemTemplate; diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index 128a6a2118c69f..a7a783854e0243 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -10,7 +10,8 @@ import { neutralForegroundRestBehavior, } from '../styles/index'; -export const MenuItemStyles = css` +export const menuItemStyles = (context, definition) => + css` ${display('grid')} :host { outline: none; box-sizing: border-box; @@ -174,13 +175,13 @@ export const MenuItemStyles = css` pointer-events: none; } `.withBehaviors( - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFillStealthActiveBehavior, + neutralFillStealthHoverBehavior, + neutralFillStealthRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + forcedColorsStylesheetBehavior( + css` :host { forced-color-adjust: none; border-color: transparent; @@ -255,5 +256,5 @@ export const MenuItemStyles = css` background: ${SystemColors.Highlight}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/menu/index.ts b/packages/web-components/src/menu/index.ts index 3f0e48e8294bc6..3fd9767ee96fdb 100644 --- a/packages/web-components/src/menu/index.ts +++ b/packages/web-components/src/menu/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Menu, MenuTemplate as template } from '@microsoft/fast-foundation'; -import { MenuStyles as styles } from './menu.styles'; +import { Menu, menuTemplate as template } from '@microsoft/fast-foundation'; +import { menuStyles as styles } from './menu.styles'; /** * The Fluent Menu Element. Implements {@link @microsoft/fast-foundation#Menu}, - * {@link @microsoft/fast-foundation#MenuTemplate} + * {@link @microsoft/fast-foundation#menuTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-menu', +export const fluentMenu = Menu.compose({ + baseName: 'menu', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentMenu extends Menu {} +}); /** * Styles for Menu * @public */ -export const MenuStyles = styles; +export const menuStyles = styles; diff --git a/packages/web-components/src/menu/menu.stories.ts b/packages/web-components/src/menu/menu.stories.ts index f8964e228cd5c1..baa342012a0d75 100644 --- a/packages/web-components/src/menu/menu.stories.ts +++ b/packages/web-components/src/menu/menu.stories.ts @@ -1,15 +1,9 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import { FluentMenuItem } from '../menu-item'; import MenuTemplate from './fixtures/menu.html'; -import { FluentMenu } from '.'; - -// Prevent tree-shaking -FluentMenu; -FluentMenuItem; -FluentDesignSystemProvider; +import '../menu-item'; +import './index'; export default { title: 'Menu', }; -export const Menu = (): string => MenuTemplate; +export const Menu = () => MenuTemplate; diff --git a/packages/web-components/src/menu/menu.styles.ts b/packages/web-components/src/menu/menu.styles.ts index 3823522e1e62ca..bbebe486c6539d 100644 --- a/packages/web-components/src/menu/menu.styles.ts +++ b/packages/web-components/src/menu/menu.styles.ts @@ -2,30 +2,31 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { elevation, neutralDividerRestBehavior, neutralLayerFloatingBehavior } from '../styles/index'; -export const MenuStyles = css` - ${display('block')} :host { - --elevation: 11; - background: ${neutralLayerFloatingBehavior.var}; - border: calc(var(--outline-width) * 1px) solid transparent; - border-radius: var(--elevated-corner-radius); - ${elevation} - margin: 0; - border-radius: calc(var(--corner-radius) * 1px); - padding: calc(var(--design-unit) * 1px) 0; - max-width: 368px; - min-width: 64px; - } +export const menuStyles = (context, definition) => + css` + ${display('block')} :host { + --elevation: 11; + background: ${neutralLayerFloatingBehavior.var}; + border: calc(var(--outline-width) * 1px) solid transparent; + border-radius: var(--elevated-corner-radius); + ${elevation} + margin: 0; + border-radius: calc(var(--corner-radius) * 1px); + padding: calc(var(--design-unit) * 1px) 0; + max-width: 368px; + min-width: 64px; + } - :host([slot='submenu']) { - width: max-content; - margin: 0 calc(var(--design-unit) * 1px); - } + :host([slot='submenu']) { + width: max-content; + margin: 0 calc(var(--design-unit) * 1px); + } - ::slotted(hr) { - box-sizing: content-box; - height: 0; - margin: 0; - border: none; - border-top: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); - } -`.withBehaviors(neutralLayerFloatingBehavior, neutralDividerRestBehavior); + ::slotted(hr) { + box-sizing: content-box; + height: 0; + margin: 0; + border: none; + border-top: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); + } + `.withBehaviors(neutralLayerFloatingBehavior, neutralDividerRestBehavior); diff --git a/packages/web-components/src/number-field/index.ts b/packages/web-components/src/number-field/index.ts index 086a274cb15f07..b1c0e18170152b 100644 --- a/packages/web-components/src/number-field/index.ts +++ b/packages/web-components/src/number-field/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { NumberField, NumberFieldTemplate as template } from '@microsoft/fast-foundation'; -import { NumberFieldStyles as styles } from './number-field.styles'; +import { attr } from '@microsoft/fast-element'; +import { NumberField as FoundationNumberField, numberFieldTemplate as template } from '@microsoft/fast-foundation'; +import { numberFieldStyles as styles } from './number-field.styles'; /** * Number field appearances @@ -9,26 +9,10 @@ import { NumberFieldStyles as styles } from './number-field.styles'; export type NumberFieldAppearance = 'filled' | 'outline'; /** - * The Fluent Number Field Custom Element. Implements {@link @microsoft/fast-foundation#NumberField}, - * {@link @microsoft/fast-foundation#NumberFieldTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - * - * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + * The Fluent number field class + * @internal */ -@customElement({ - name: 'fluent-number-field', - shadowOptions: { - delegatesFocus: true, - mode: 'closed', - }, - styles, - template, -}) -export class FluentNumberField extends NumberField { +export class NumberField extends FoundationNumberField { /** * The appearance of the element. * @@ -55,4 +39,24 @@ export class FluentNumberField extends NumberField { * Styles for NumberField * @public */ -export const NumberFieldStyles = styles; +export const numberFieldStyles = styles; + +/** + * The Fluent Number Field Custom Element. Implements {@link @microsoft/fast-foundation#NumberField}, + * {@link @microsoft/fast-foundation#numberFieldTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + */ +export const fluentNumberField = NumberField.compose({ + baseName: 'number-field', + styles, + template, + shadowOptions: { + delegatesFocus: true, + }, +}); diff --git a/packages/web-components/src/number-field/number-field.styles.ts b/packages/web-components/src/number-field/number-field.styles.ts index 3c5baafcbf4a39..4a95d22cb26fe3 100644 --- a/packages/web-components/src/number-field/number-field.styles.ts +++ b/packages/web-components/src/number-field/number-field.styles.ts @@ -66,7 +66,8 @@ export const NumberFieldFilledStyles = css` ), ); -export const NumberFieldStyles = css` +export const numberFieldStyles = (context, definition) => + css` ${display('inline-block')} :host { font-family: var(--body-font); outline: none; @@ -207,58 +208,58 @@ export const NumberFieldStyles = css` border-color: ${neutralOutlineRestBehavior.var}; } `.withBehaviors( - appearanceBehavior('filled', NumberFieldFilledStyles), - neutralFillHoverBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - .root { - forced-color-adjust: none; - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host(:hover:not([disabled])) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.Highlight}; - } - :host(:focus-within:enabled) .root { - border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 1px ${SystemColors.Highlight} inset; - } - .control, - ::placeholder, - ::-webkit-input-placeholder { - color: ${SystemColors.FieldText}; - } - .step-up:before { - border-bottom-color: ${SystemColors.FieldText}; - } - .step-down:before { - border-top-color: ${SystemColors.FieldText}; - } - .start, - .end { - fill: ${SystemColors.FieldText}; - } - :host([disabled]) { - opacity: 1; - } - :host([disabled]) .root { - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - :host([disabled]) ::placeholder, - :host([disabled]) ::-webkit-input-placeholder, - :host([disabled]) .label { - color: ${SystemColors.GrayText}; - } - `, - ), -); + appearanceBehavior('filled', NumberFieldFilledStyles), + neutralFillHoverBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFillRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` + .root { + forced-color-adjust: none; + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host(:hover:not([disabled])) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.Highlight}; + } + :host(:focus-within:enabled) .root { + border-color: ${SystemColors.Highlight}; + box-shadow: 0 0 0 1px ${SystemColors.Highlight} inset; + } + .control, + ::placeholder, + ::-webkit-input-placeholder { + color: ${SystemColors.FieldText}; + } + .step-up:before { + border-bottom-color: ${SystemColors.FieldText}; + } + .step-down:before { + border-top-color: ${SystemColors.FieldText}; + } + .start, + .end { + fill: ${SystemColors.FieldText}; + } + :host([disabled]) { + opacity: 1; + } + :host([disabled]) .root { + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + :host([disabled]) ::placeholder, + :host([disabled]) ::-webkit-input-placeholder, + :host([disabled]) .label { + color: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/progress/progress-ring/index.ts b/packages/web-components/src/progress/progress-ring/index.ts index 7a4c5793712ba0..35becc9b712118 100644 --- a/packages/web-components/src/progress/progress-ring/index.ts +++ b/packages/web-components/src/progress/progress-ring/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { BaseProgress, ProgressRingTemplate as template } from '@microsoft/fast-foundation'; -import { ProgressRingStyles as styles } from './progress-ring.styles'; +import { BaseProgress as Progress, progressRingTemplate as template } from '@microsoft/fast-foundation'; +import { progressRingStyles as styles } from './progress-ring.styles'; /** * The Fluent Progress Ring Element. Implements {@link @microsoft/fast-foundation#BaseProgress}, - * {@link @microsoft/fast-foundation#ProgressRingTemplate} + * {@link @microsoft/fast-foundation#progressRingTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-progress-ring', +export const fluentProgressRing = Progress.compose({ + baseName: 'progress-ring', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentProgressRing extends BaseProgress {} +}); /** * Styles for ProgressRing * @public */ -export const ProgressRingStyles = styles; +export const progressRingStyles = styles; diff --git a/packages/web-components/src/progress/progress-ring/progress-ring.stories.ts b/packages/web-components/src/progress/progress-ring/progress-ring.stories.ts index f37be0094c1a6e..dd61f8e7e9770c 100644 --- a/packages/web-components/src/progress/progress-ring/progress-ring.stories.ts +++ b/packages/web-components/src/progress/progress-ring/progress-ring.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../../design-system-provider'; import Examples from './fixtures/circular.html'; -import { FluentProgressRing } from './'; - -// Prevent tree-shaking -FluentProgressRing; -FluentDesignSystemProvider; +import './index'; export default { title: 'Progress Ring', }; -export const ProgressRing = (): string => Examples; +export const ProgressRing = () => Examples; diff --git a/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts b/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts index fd86162cec5143..941015803422a9 100644 --- a/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts +++ b/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts @@ -8,89 +8,90 @@ import { neutralForegroundHintBehavior, } from '../../styles'; -export const ProgressRingStyles = css` - ${display('flex')} :host { - align-items: center; - outline: none; - height: calc(${heightNumber} * 1px); - width: calc(${heightNumber} * 1px); - margin: calc(${heightNumber} * 1px) 0; - } - - .progress { - height: 100%; - width: 100%; - } - - .background { - stroke: ${neutralFillRestBehavior.var}; - fill: none; - stroke-width: 2px; - } - - .determinate { - stroke: ${accentForegroundRestBehavior.var}; - fill: none; - stroke-width: 2px; - stroke-linecap: round; - transform-origin: 50% 50%; - transform: rotate(-90deg); - transition: all 0.2s ease-in-out; - } +export const progressRingStyles = (context, definition) => + css` + ${display('flex')} :host { + align-items: center; + outline: none; + height: calc(${heightNumber} * 1px); + width: calc(${heightNumber} * 1px); + margin: calc(${heightNumber} * 1px) 0; + } - .indeterminate-indicator-1 { - stroke: ${accentForegroundRestBehavior.var}; - fill: none; - stroke-width: 2px; - stroke-linecap: round; - transform-origin: 50% 50%; - transform: rotate(-90deg); - transition: all 0.2s ease-in-out; - animation: spin-infinite 2s linear infinite; - } + .progress { + height: 100%; + width: 100%; + } - :host(.paused) .indeterminate-indicator-1 { - animation-play-state: paused; - stroke: ${neutralFillRestBehavior.var}; - } + .background { + stroke: ${neutralFillRestBehavior.var}; + fill: none; + stroke-width: 2px; + } - :host(.paused) .determinate { - stroke: ${neutralForegroundHintBehavior.var}; - } + .determinate { + stroke: ${accentForegroundRestBehavior.var}; + fill: none; + stroke-width: 2px; + stroke-linecap: round; + transform-origin: 50% 50%; + transform: rotate(-90deg); + transition: all 0.2s ease-in-out; + } - @keyframes spin-infinite { - 0% { - stroke-dasharray: 0.01px 43.97px; - transform: rotate(0deg); + .indeterminate-indicator-1 { + stroke: ${accentForegroundRestBehavior.var}; + fill: none; + stroke-width: 2px; + stroke-linecap: round; + transform-origin: 50% 50%; + transform: rotate(-90deg); + transition: all 0.2s ease-in-out; + animation: spin-infinite 2s linear infinite; } - 50% { - stroke-dasharray: 21.99px 21.99px; - transform: rotate(450deg); + + :host(.paused) .indeterminate-indicator-1 { + animation-play-state: paused; + stroke: ${neutralFillRestBehavior.var}; } - 100% { - stroke-dasharray: 0.01px 43.97px; - transform: rotate(1080deg); + + :host(.paused) .determinate { + stroke: ${neutralForegroundHintBehavior.var}; } - } -`.withBehaviors( - accentForegroundRestBehavior, - neutralFillRestBehavior, - neutralForegroundHintBehavior, - forcedColorsStylesheetBehavior( - css` - .indeterminate-indicator-1, - .determinate { - stroke: ${SystemColors.FieldText}; - } - .background { - stroke: ${SystemColors.Field}; + + @keyframes spin-infinite { + 0% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(0deg); } - :host(.paused) .indeterminate-indicator-1 { - stroke: ${SystemColors.Field}; + 50% { + stroke-dasharray: 21.99px 21.99px; + transform: rotate(450deg); } - :host(.paused) .determinate { - stroke: ${SystemColors.GrayText}; + 100% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(1080deg); } - `, - ), -); + } + `.withBehaviors( + accentForegroundRestBehavior, + neutralFillRestBehavior, + neutralForegroundHintBehavior, + forcedColorsStylesheetBehavior( + css` + .indeterminate-indicator-1, + .determinate { + stroke: ${SystemColors.FieldText}; + } + .background { + stroke: ${SystemColors.Field}; + } + :host(.paused) .indeterminate-indicator-1 { + stroke: ${SystemColors.Field}; + } + :host(.paused) .determinate { + stroke: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/progress/progress/index.ts b/packages/web-components/src/progress/progress/index.ts index c245cd8ef1b688..01dd6c148b4121 100644 --- a/packages/web-components/src/progress/progress/index.ts +++ b/packages/web-components/src/progress/progress/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { BaseProgress, ProgressTemplate as template } from '@microsoft/fast-foundation'; -import { ProgressStyles as styles } from './progress.styles'; +import { BaseProgress as Progress, progressTemplate as template } from '@microsoft/fast-foundation'; +import { progressStyles as styles } from './progress.styles'; /** * The Fluent Progress Element. Implements {@link @microsoft/fast-foundation#BaseProgress}, - * {@link @microsoft/fast-foundation#ProgressTemplate} + * {@link @microsoft/fast-foundation#progressTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-progress', +export const fluentProgress = Progress.compose({ + baseName: 'progress', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentProgress extends BaseProgress {} +}); /** * Styles for Progress * @public */ -export const ProgressStyles = styles; +export const progressStyles = styles; diff --git a/packages/web-components/src/progress/progress/progress.stories.ts b/packages/web-components/src/progress/progress/progress.stories.ts index df5d36b4a4f41e..1cfd9a1ab7c73f 100644 --- a/packages/web-components/src/progress/progress/progress.stories.ts +++ b/packages/web-components/src/progress/progress/progress.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../../design-system-provider'; import Examples from './fixtures/linear.html'; -import { FluentProgress } from './'; - -// Prevent tree-shaking -FluentProgress; -FluentDesignSystemProvider; +import './index'; export default { title: 'Progress', }; -export const Progress = (): string => Examples; +export const Progress = () => Examples; diff --git a/packages/web-components/src/progress/progress/progress.styles.ts b/packages/web-components/src/progress/progress/progress.styles.ts index ba33c35ecb2e7e..69d94a98891de0 100644 --- a/packages/web-components/src/progress/progress/progress.styles.ts +++ b/packages/web-components/src/progress/progress/progress.styles.ts @@ -3,131 +3,132 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { accentForegroundRestBehavior, neutralFillRestBehavior, neutralForegroundHintBehavior } from '../../styles'; -export const ProgressStyles = css` - ${display('flex')} :host { - align-items: center; - outline: none; - height: calc(var(--design-unit) * 1px); - margin: calc(var(--design-unit) * 1px) 0; - } - - .progress { - background-color: ${neutralFillRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); - width: 100%; - height: 100%; - display: flex; - align-items: center; - position: relative; - } - - .determinate { - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); - height: 100%; - transition: all 0.2s ease-in-out; - display: flex; - } - - .indeterminate { - height: 100%; - border-radius: calc(var(--design-unit) * 1px); - display: flex; - width: 100%; - position: relative; - overflow: hidden; - } - - .indeterminate-indicator-1 { - position: absolute; - opacity: 0; - height: 100%; - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - width: 40%; - animation: indeterminate-1 2s infinite; - } - - .indeterminate-indicator-2 { - position: absolute; - opacity: 0; - height: 100%; - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); - animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); - width: 60%; - animation: indeterminate-2 2s infinite; - } - - :host(.paused) .indeterminate-indicator-1, - :host(.paused) .indeterminate-indicator-2 { - animation-play-state: paused; - background-color: ${neutralFillRestBehavior.var}; - } - - :host(.paused) .determinate { - background-color: ${neutralForegroundHintBehavior.var}; - } +export const progressStyles = (context, definition) => + css` + ${display('flex')} :host { + align-items: center; + outline: none; + height: calc(var(--design-unit) * 1px); + margin: calc(var(--design-unit) * 1px) 0; + } - @keyframes indeterminate-1 { - 0% { - opacity: 1; - transform: translateX(-100%); + .progress { + background-color: ${neutralFillRestBehavior.var}; + border-radius: calc(var(--design-unit) * 1px); + width: 100%; + height: 100%; + display: flex; + align-items: center; + position: relative; } - 70% { - opacity: 1; - transform: translateX(300%); + + .determinate { + background-color: ${accentForegroundRestBehavior.var}; + border-radius: calc(var(--design-unit) * 1px); + height: 100%; + transition: all 0.2s ease-in-out; + display: flex; } - 70.01% { - opacity: 0; + + .indeterminate { + height: 100%; + border-radius: calc(var(--design-unit) * 1px); + display: flex; + width: 100%; + position: relative; + overflow: hidden; } - 100% { + + .indeterminate-indicator-1 { + position: absolute; opacity: 0; - transform: translateX(300%); + height: 100%; + background-color: ${accentForegroundRestBehavior.var}; + border-radius: calc(var(--design-unit) * 1px); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + width: 40%; + animation: indeterminate-1 2s infinite; } - } - @keyframes indeterminate-2 { - 0% { + .indeterminate-indicator-2 { + position: absolute; opacity: 0; - transform: translateX(-150%); + height: 100%; + background-color: ${accentForegroundRestBehavior.var}; + border-radius: calc(var(--design-unit) * 1px); + animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); + width: 60%; + animation: indeterminate-2 2s infinite; } - 29.99% { - opacity: 0; + + :host(.paused) .indeterminate-indicator-1, + :host(.paused) .indeterminate-indicator-2 { + animation-play-state: paused; + background-color: ${neutralFillRestBehavior.var}; } - 30% { - opacity: 1; - transform: translateX(-150%); + + :host(.paused) .determinate { + background-color: ${neutralForegroundHintBehavior.var}; } - 100% { - transform: translateX(166.66%); - opacity: 1; + + @keyframes indeterminate-1 { + 0% { + opacity: 1; + transform: translateX(-100%); + } + 70% { + opacity: 1; + transform: translateX(300%); + } + 70.01% { + opacity: 0; + } + 100% { + opacity: 0; + transform: translateX(300%); + } } - } -`.withBehaviors( - accentForegroundRestBehavior, - neutralFillRestBehavior, - neutralForegroundHintBehavior, - forcedColorsStylesheetBehavior( - css` - .indeterminate-indicator-1, - .indeterminate-indicator-2, - .determinate { - forced-color-adjust: none; - background-color: ${SystemColors.FieldText}; + + @keyframes indeterminate-2 { + 0% { + opacity: 0; + transform: translateX(-150%); } - .progress { - background-color: ${SystemColors.Field}; - border: calc(var(--outline-width) * 1px) solid ${SystemColors.FieldText}; + 29.99% { + opacity: 0; } - :host(.paused) .indeterminate-indicator-1, - .indeterminate-indicator-2 { - background-color: ${SystemColors.Field}; + 30% { + opacity: 1; + transform: translateX(-150%); } - :host(.paused) .determinate { - background-color: ${SystemColors.GrayText}; + 100% { + transform: translateX(166.66%); + opacity: 1; } - `, - ), -); + } + `.withBehaviors( + accentForegroundRestBehavior, + neutralFillRestBehavior, + neutralForegroundHintBehavior, + forcedColorsStylesheetBehavior( + css` + .indeterminate-indicator-1, + .indeterminate-indicator-2, + .determinate { + forced-color-adjust: none; + background-color: ${SystemColors.FieldText}; + } + .progress { + background-color: ${SystemColors.Field}; + border: calc(var(--outline-width) * 1px) solid ${SystemColors.FieldText}; + } + :host(.paused) .indeterminate-indicator-1, + .indeterminate-indicator-2 { + background-color: ${SystemColors.Field}; + } + :host(.paused) .determinate { + background-color: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/radio-group/index.ts b/packages/web-components/src/radio-group/index.ts index 16287d380413d6..f8457be8c3631f 100644 --- a/packages/web-components/src/radio-group/index.ts +++ b/packages/web-components/src/radio-group/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { RadioGroup, RadioGroupTemplate as template } from '@microsoft/fast-foundation'; -import { RadioGroupStyles as styles } from './radio-group.styles'; +import { RadioGroup, radioGroupTemplate as template } from '@microsoft/fast-foundation'; +import { radioGroupStyles as styles } from './radio-group.styles'; /** * The Fluent Radio Group Element. Implements {@link @microsoft/fast-foundation#RadioGroup}, - * {@link @microsoft/fast-foundation#RadioGroupTemplate} + * {@link @microsoft/fast-foundation#radioGroupTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-radio-group', +export const fluentRadioGroup = RadioGroup.compose({ + baseName: 'radio-group', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentRadioGroup extends RadioGroup {} +}); /** * Styles for RadioGroup * @public */ -export const RadioGroupStyles = styles; +export const radioGroupStyles = styles; diff --git a/packages/web-components/src/radio-group/radio-group.stories.ts b/packages/web-components/src/radio-group/radio-group.stories.ts index 0f87c941624239..b5f20f1a6f66db 100644 --- a/packages/web-components/src/radio-group/radio-group.stories.ts +++ b/packages/web-components/src/radio-group/radio-group.stories.ts @@ -1,13 +1,9 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/radio-group.html'; -import { FluentRadioGroup } from './'; -// Prevent tree-shaking -FluentRadioGroup; -FluentDesignSystemProvider; +import './index'; export default { - title: 'RadioGroup', + title: 'Radio Group', }; -export const RadioGroup = (): string => Examples; +export const RadioGroup = () => Examples; diff --git a/packages/web-components/src/radio-group/radio-group.styles.ts b/packages/web-components/src/radio-group/radio-group.styles.ts index 065d709ce73565..611935b04442ee 100644 --- a/packages/web-components/src/radio-group/radio-group.styles.ts +++ b/packages/web-components/src/radio-group/radio-group.styles.ts @@ -1,7 +1,7 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -export const RadioGroupStyles = css` +export const radioGroupStyles = (context, definition) => css` ${display('flex')} :host { align-items: flex-start; margin: calc(var(--design-unit) * 1px) 0; diff --git a/packages/web-components/src/radio/index.ts b/packages/web-components/src/radio/index.ts index 6473c7cd7a0ec7..75a8b6a03b4a33 100644 --- a/packages/web-components/src/radio/index.ts +++ b/packages/web-components/src/radio/index.ts @@ -1,25 +1,20 @@ -import { customElement } from '@microsoft/fast-element'; -import { Radio, RadioTemplate as template } from '@microsoft/fast-foundation'; -import { RadioStyles as styles } from './radio.styles'; +import { Radio, radioTemplate as template } from '@microsoft/fast-foundation'; +import { radioStyles as styles } from './radio.styles'; /** * The Fluent Radio Element. Implements {@link @microsoft/fast-foundation#Radio}, - * {@link @microsoft/fast-foundation#RadioTemplate} + * {@link @microsoft/fast-foundation#radioTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-radio', +export const fluentRadio = Radio.compose({ + baseName: 'radio', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentRadio extends Radio {} +}); /** * Styles for Radio diff --git a/packages/web-components/src/radio/radio.stories.ts b/packages/web-components/src/radio/radio.stories.ts index 7873f2f27daabb..7bb87065baa58b 100644 --- a/packages/web-components/src/radio/radio.stories.ts +++ b/packages/web-components/src/radio/radio.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/radio.html'; -import { FluentRadio } from './'; - -// Prevent tree-shaking -FluentRadio; -FluentDesignSystemProvider; +import './index'; export default { title: 'Radio', }; -export const Radio = (): string => Examples; +export const Radio = () => Examples; diff --git a/packages/web-components/src/radio/radio.styles.ts b/packages/web-components/src/radio/radio.styles.ts index 76a99cd82b504b..4eb485a68ec8ef 100644 --- a/packages/web-components/src/radio/radio.styles.ts +++ b/packages/web-components/src/radio/radio.styles.ts @@ -14,7 +14,8 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const RadioStyles = css` +export const radioStyles = (context, definition) => + css` ${display('inline-flex')} :host { --input-size: calc((${heightNumber} / 2) + var(--design-unit)); align-items: center; @@ -108,17 +109,17 @@ export const RadioStyles = css` opacity: var(--disabled-opacity); } `.withBehaviors( - neutralFillActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - neutralFillInputActiveBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFillActiveBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + neutralFillInputActiveBehavior, + forcedColorsStylesheetBehavior( + css` .control { forced-color-adjust: none; border-color: ${SystemColors.FieldText}; @@ -166,5 +167,5 @@ export const RadioStyles = css` background: ${SystemColors.GrayText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/select/index.ts b/packages/web-components/src/select/index.ts index d2bdc7947a85ef..67fd866628104d 100644 --- a/packages/web-components/src/select/index.ts +++ b/packages/web-components/src/select/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { Select, SelectTemplate as template } from '@microsoft/fast-foundation'; -import { SelectStyles as styles } from './select.styles'; +import { attr } from '@microsoft/fast-element'; +import { Select as FoundationSelect, selectTemplate as template } from '@microsoft/fast-foundation'; +import { selectStyles as styles } from './select.styles'; /** * Select appearances @@ -9,20 +9,10 @@ import { SelectStyles as styles } from './select.styles'; export type SelectAppearance = 'filled' | 'outline'; /** - * The Fluent Select Element. Implements {@link @microsoft/fast-foundation#Select}, - * {@link @microsoft/fast-foundation#SelectTemplate} - * - * - * @public - * @remarks - * HTML Element: \ + * The Fluent select class + * @internal */ -@customElement({ - name: 'fluent-select', - template, - styles, -}) -export class FluentSelect extends Select { +export class Select extends FoundationSelect { /** * The appearance of the element. * @@ -55,8 +45,24 @@ export class FluentSelect extends Select { } } +/** + * The Fluent select Custom Element. Implements, {@link @microsoft/fast-foundation#Select} + * {@link @microsoft/fast-foundation#selectTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + */ +export const fluentSelect = Select.compose({ + baseName: 'select', + template, + styles, +}); + /** * Styles for Select * @public */ -export const SelectStyles = styles; +export const selectStyles = styles; diff --git a/packages/web-components/src/select/select.stories.ts b/packages/web-components/src/select/select.stories.ts index 03d4c58e5cd910..2158211e18dc57 100644 --- a/packages/web-components/src/select/select.stories.ts +++ b/packages/web-components/src/select/select.stories.ts @@ -1,12 +1,10 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import SelectTemplate from './fixtures/base.html'; -import { FluentSelect } from './'; - -FluentSelect; -FluentDesignSystemProvider; +import Examples from './fixtures/base.html'; +import '../listbox-option'; +import '../listbox'; +import './index'; export default { title: 'Select', }; -export const Select = (): string => SelectTemplate; +export const Select = () => Examples; diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index 2b9f9a7171e3c1..562990c9879b43 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -38,7 +38,8 @@ export const SelectFilledStyles = css` } `.withBehaviors(neutralFillHoverBehavior, neutralFillRestBehavior, neutralFocusBehavior); -export const SelectStyles = css` +export const selectStyles = (context, definition) => + css` ${display('inline-flex')} :host { --elevation: 14; background: ${neutralFillInputRestBehavior.var}; @@ -201,14 +202,14 @@ export const SelectStyles = css` flex: 0 0 auto; } `.withBehaviors( - appearanceBehavior('filled', SelectFilledStyles), - accentFillHoverBehavior, - accentForegroundCutRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` + appearanceBehavior('filled', SelectFilledStyles), + accentFillHoverBehavior, + accentForegroundCutRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` :host([disabled]) { border-color: ${SystemColors.GrayText}; background-color: ${SystemColors.ButtonFace}; @@ -261,14 +262,14 @@ export const SelectStyles = css` box-shadow: none; } `, - ), - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundRestBehavior, - neutralLayerFloatingBehavior, - neutralOutlineRestBehavior, -); + ), + neutralFillInputActiveBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFillStealthRestBehavior, + neutralFocusBehavior, + neutralFocusInnerAccentBehavior, + neutralForegroundRestBehavior, + neutralLayerFloatingBehavior, + neutralOutlineRestBehavior, + ); diff --git a/packages/web-components/src/skeleton/index.ts b/packages/web-components/src/skeleton/index.ts index 6327acbc039091..081cc03c893cb4 100644 --- a/packages/web-components/src/skeleton/index.ts +++ b/packages/web-components/src/skeleton/index.ts @@ -1,25 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Skeleton, SkeletonTemplate as template } from '@microsoft/fast-foundation'; -import { SkeletonStyles as styles } from './skeleton.styles'; +import { Skeleton, skeletonTemplate as template } from '@microsoft/fast-foundation'; +import { skeletonStyles as styles } from './skeleton.styles'; /** * The Fluent Skeleton Element. Implements {@link @microsoft/fast-foundation#Skeleton}, - * {@link @microsoft/fast-foundation#SkeletonTemplate} + * {@link @microsoft/fast-foundation#skeletonTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-skeleton', +export const fluentSkeleton = Skeleton.compose({ + baseName: 'skeleton', template, styles, -}) -export class FluentSkeleton extends Skeleton {} +}); /** * Styles for Skeleton * @public */ -export const SkeletonStyles = styles; +export const skeletonStyles = styles; diff --git a/packages/web-components/src/skeleton/skeleton.stories.ts b/packages/web-components/src/skeleton/skeleton.stories.ts index 7b483b49b0c6a0..29bfb294d72b11 100644 --- a/packages/web-components/src/skeleton/skeleton.stories.ts +++ b/packages/web-components/src/skeleton/skeleton.stories.ts @@ -1,12 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import SkeletonTemplate from './fixtures/base.html'; -import { FluentSkeleton } from './'; - -FluentSkeleton; -FluentDesignSystemProvider; +import './index'; export default { title: 'Skeleton', }; -export const Skeleton = (): string => SkeletonTemplate; +export const Skeleton = () => SkeletonTemplate; diff --git a/packages/web-components/src/skeleton/skeleton.styles.ts b/packages/web-components/src/skeleton/skeleton.styles.ts index b65d31c265723e..ff1b368f3c60fb 100644 --- a/packages/web-components/src/skeleton/skeleton.styles.ts +++ b/packages/web-components/src/skeleton/skeleton.styles.ts @@ -2,72 +2,73 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { neutralFillRestBehavior } from '../styles'; -export const SkeletonStyles = css` - ${display('block')} :host { - --skeleton-fill-default: #e1dfdd; - overflow: hidden; - width: 100%; - position: relative; - background-color: var(--skeleton-fill, var(--skeleton-fill-default)); - --skeleton-animation-gradient-default: linear-gradient( - 270deg, - var(--skeleton-fill, var(--skeleton-fill-default)) 0%, - #f3f2f1 51.13%, - var(--skeleton-fill, var(--skeleton-fill-default)) 100% - ); - --skeleton-animation-timing-default: ease-in-out; - } - - :host(.rect) { - border-radius: calc(var(--corner-radius) * 1px); - } +export const skeletonStyles = (context, definition) => + css` + ${display('block')} :host { + --skeleton-fill-default: #e1dfdd; + overflow: hidden; + width: 100%; + position: relative; + background-color: var(--skeleton-fill, var(--skeleton-fill-default)); + --skeleton-animation-gradient-default: linear-gradient( + 270deg, + var(--skeleton-fill, var(--skeleton-fill-default)) 0%, + #f3f2f1 51.13%, + var(--skeleton-fill, var(--skeleton-fill-default)) 100% + ); + --skeleton-animation-timing-default: ease-in-out; + } - :host(.circle) { - border-radius: 100%; - overflow: hidden; - } + :host(.rect) { + border-radius: calc(var(--corner-radius) * 1px); + } - object { - position: absolute; - width: 100%; - height: auto; - z-index: 2; - } + :host(.circle) { + border-radius: 100%; + overflow: hidden; + } - object img { - width: 100%; - height: auto; - } + object { + position: absolute; + width: 100%; + height: auto; + z-index: 2; + } - ${display('block')} span.shimmer { - position: absolute; - width: 100%; - height: 100%; - background-image: var(--skeleton-animation-gradient, var(--skeleton-animation-gradient-default)); - background-size: 0px 0px / 90% 100%; - background-repeat: no-repeat; - background-color: var(--skeleton-animation-fill, ${neutralFillRestBehavior.var}); - animation: shimmer 2s infinite; - animation-timing-function: var(--skeleton-animation-timing, var(--skeleton-timing-default)); - animation-direction: normal; - z-index: 1; - } + object img { + width: 100%; + height: auto; + } - ::slotted(svg) { - z-index: 2; - } + ${display('block')} span.shimmer { + position: absolute; + width: 100%; + height: 100%; + background-image: var(--skeleton-animation-gradient, var(--skeleton-animation-gradient-default)); + background-size: 0px 0px / 90% 100%; + background-repeat: no-repeat; + background-color: var(--skeleton-animation-fill, ${neutralFillRestBehavior.var}); + animation: shimmer 2s infinite; + animation-timing-function: var(--skeleton-animation-timing, var(--skeleton-timing-default)); + animation-direction: normal; + z-index: 1; + } - ::slotted(.pattern) { - width: 100%; - height: 100%; - } + ::slotted(svg) { + z-index: 2; + } - @keyframes shimmer { - 0% { - transform: translateX(-100%); + ::slotted(.pattern) { + width: 100%; + height: 100%; } - 100% { - transform: translateX(100%); + + @keyframes shimmer { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(100%); + } } - } -`.withBehaviors(neutralFillRestBehavior); + `.withBehaviors(neutralFillRestBehavior); diff --git a/packages/web-components/src/slider-label/index.ts b/packages/web-components/src/slider-label/index.ts index c4788221a253c1..87dd8269d3fce6 100644 --- a/packages/web-components/src/slider-label/index.ts +++ b/packages/web-components/src/slider-label/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { SliderLabel, SliderLabelTemplate as template } from '@microsoft/fast-foundation'; -import { SliderLabelStyles as styles } from './slider-label.styles'; +import { SliderLabel, sliderLabelTemplate as template } from '@microsoft/fast-foundation'; +import { sliderLabelStyles as styles } from './slider-label.styles'; /** * The Fluent Slider Label Custom Element. Implements {@link @microsoft/fast-foundation#SliderLabel}, - * {@link @microsoft/fast-foundation#SliderLabelTemplate} + * {@link @microsoft/fast-foundation#sliderLabelTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-slider-label', +export const fluentSliderLabel = SliderLabel.compose({ + baseName: 'slider-label', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentSliderLabel extends SliderLabel {} +}); /** * Styles for SliderLabel * @public */ -export const SliderLabelStyles = styles; +export const sliderLabelStyles = styles; diff --git a/packages/web-components/src/slider-label/slider-label.stories.ts b/packages/web-components/src/slider-label/slider-label.stories.ts index 137d0f1dd372ed..38445c2e9ebfbb 100644 --- a/packages/web-components/src/slider-label/slider-label.stories.ts +++ b/packages/web-components/src/slider-label/slider-label.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/slider-label.html'; -import { FluentSliderLabel } from './'; - -// Prevent tree-shaking -FluentSliderLabel; -FluentDesignSystemProvider; +import './index'; export default { - title: 'Slider label', + title: 'Slider Label', }; -export const SliderLabel = (): string => Examples; +export const SliderLabel = () => Examples; diff --git a/packages/web-components/src/slider-label/slider-label.styles.ts b/packages/web-components/src/slider-label/slider-label.styles.ts index e7dbb5cf6270eb..76f610a44e1c99 100644 --- a/packages/web-components/src/slider-label/slider-label.styles.ts +++ b/packages/web-components/src/slider-label/slider-label.styles.ts @@ -3,80 +3,81 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { heightNumber, neutralOutlineRestBehavior } from '../styles'; -export const SliderLabelStyles = css` - ${display('block')} :host { - font-family: var(--body-font); - } - .root { - position: absolute; - display: grid; - } - :host(.horizontal) { - align-self: start; - grid-row: 2; - margin-top: -2px; - } - :host(.vertical) { - justify-self: start; - grid-column: 2; - margin-left: 2px; - } - .container { - display: grid; - justify-self: center; - } - :host(.horizontal) .container { - grid-template-rows: auto auto; - grid-template-columns: 0; - } - :host(.vertical) .container { - grid-template-columns: auto auto; - grid-template-rows: 0; - min-width: calc(var(--thumb-size) * 1px); - height: calc(var(--thumb-size) * 1px); - } - .label { - justify-self: center; - align-self: center; - white-space: nowrap; - max-width: 30px; - margin: 2px 0; - } - .mark { - width: calc((var(--design-unit) / 2) * 1px); - height: calc(${heightNumber} * 0.25 * 1px); - background: ${neutralOutlineRestBehavior.var}; - justify-self: center; - } - :host(.vertical) .mark { - transform: rotate(90deg); - align-self: center; - } - :host(.vertical) .label { - margin-left: calc((var(--design-unit) / 2) * 2px); - align-self: center; - } - :host(.disabled) { - opacity: var(--disabled-opacity); - } -`.withBehaviors( - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - .mark { - forced-color-adjust: none; - background: ${SystemColors.FieldText}; - } - :host(.disabled) { - forced-color-adjust: none; - opacity: 1; - } - :host(.disabled) .label { - color: ${SystemColors.GrayText}; - } - :host(.disabled) .mark { - background: ${SystemColors.GrayText}; - } - `, - ), -); +export const sliderLabelStyles = (context, definition) => + css` + ${display('block')} :host { + font-family: var(--body-font); + } + .root { + position: absolute; + display: grid; + } + :host(.horizontal) { + align-self: start; + grid-row: 2; + margin-top: -2px; + } + :host(.vertical) { + justify-self: start; + grid-column: 2; + margin-left: 2px; + } + .container { + display: grid; + justify-self: center; + } + :host(.horizontal) .container { + grid-template-rows: auto auto; + grid-template-columns: 0; + } + :host(.vertical) .container { + grid-template-columns: auto auto; + grid-template-rows: 0; + min-width: calc(var(--thumb-size) * 1px); + height: calc(var(--thumb-size) * 1px); + } + .label { + justify-self: center; + align-self: center; + white-space: nowrap; + max-width: 30px; + margin: 2px 0; + } + .mark { + width: calc((var(--design-unit) / 2) * 1px); + height: calc(${heightNumber} * 0.25 * 1px); + background: ${neutralOutlineRestBehavior.var}; + justify-self: center; + } + :host(.vertical) .mark { + transform: rotate(90deg); + align-self: center; + } + :host(.vertical) .label { + margin-left: calc((var(--design-unit) / 2) * 2px); + align-self: center; + } + :host(.disabled) { + opacity: var(--disabled-opacity); + } + `.withBehaviors( + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` + .mark { + forced-color-adjust: none; + background: ${SystemColors.FieldText}; + } + :host(.disabled) { + forced-color-adjust: none; + opacity: 1; + } + :host(.disabled) .label { + color: ${SystemColors.GrayText}; + } + :host(.disabled) .mark { + background: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/slider/index.ts b/packages/web-components/src/slider/index.ts index b9efbb51a1bb85..deec74fdcedf23 100644 --- a/packages/web-components/src/slider/index.ts +++ b/packages/web-components/src/slider/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Slider, SliderTemplate as template } from '@microsoft/fast-foundation'; -import { SliderStyles as styles } from './slider.styles'; +import { Slider, sliderTemplate as template } from '@microsoft/fast-foundation'; +import { sliderStyles as styles } from './slider.styles'; /** - * The Fluent Slider Custom Element. Implements {@link @microsoft/fast-foundation#Slider}, - * {@link @microsoft/fast-foundation#SliderTemplate} + * The Fluent Slider Custom Element. Implements {@link @microsoft/fast-foundation#(Slider:class)}, + * {@link @microsoft/fast-foundation#sliderTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-slider', +export const fluentSlider = Slider.compose({ + baseName: 'slider', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentSlider extends Slider {} +}); /** * Styles for Slider * @public */ -export const SliderStyles = styles; +export const sliderStyles = styles; diff --git a/packages/web-components/src/slider/slider.stories.ts b/packages/web-components/src/slider/slider.stories.ts index 39152ddc5b404b..8e9478c2c78b73 100644 --- a/packages/web-components/src/slider/slider.stories.ts +++ b/packages/web-components/src/slider/slider.stories.ts @@ -1,13 +1,24 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; +import addons from '@storybook/addons'; +import { STORY_RENDERED } from '@storybook/core-events'; +import { Slider as FoundationSlider } from '@microsoft/fast-foundation'; import Examples from './fixtures/slider.html'; -import { FluentSlider } from './'; +import './index'; -// Prevent tree-shaking -FluentSlider; -FluentDesignSystemProvider; +function valueTextFormatter(value: string): string { + return `${value} degrees celsius`; +} + +addons.getChannel().addListener(STORY_RENDERED, (name: string) => { + if (name.toLowerCase().endsWith('slider')) { + ['switcher', 'switcher2', 'slider1'].forEach(x => { + const slider = document.getElementById(x) as FoundationSlider; + slider.valueTextFormatter = valueTextFormatter; + }); + } +}); export default { title: 'Slider', }; -export const Slider = (): string => Examples; +export const Slider = () => Examples; diff --git a/packages/web-components/src/slider/slider.styles.ts b/packages/web-components/src/slider/slider.styles.ts index a1d210c482feea..55a2af8479314b 100644 --- a/packages/web-components/src/slider/slider.styles.ts +++ b/packages/web-components/src/slider/slider.styles.ts @@ -11,7 +11,8 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const SliderStyles = css` +export const sliderStyles = (context, defintion) => + css` ${display('inline-grid')} :host { --thumb-size: calc(${heightNumber} * 0.5); --thumb-translate: calc(var(--thumb-size) * 0.5); @@ -101,14 +102,14 @@ export const SliderStyles = css` opacity: var(--disabled-opacity); } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFocusBehavior, + neutralForegroundActiveBehavior, + neutralForegroundHoverBehavior, + neutralForegroundRestBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` .thumb-cursor { forced-color-adjust: none; border-color: ${SystemColors.FieldText}; @@ -136,5 +137,5 @@ export const SliderStyles = css` background: ${SystemColors.GrayText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/switch/index.ts b/packages/web-components/src/switch/index.ts index f914929a72754b..df7f9c7a47e065 100644 --- a/packages/web-components/src/switch/index.ts +++ b/packages/web-components/src/switch/index.ts @@ -1,6 +1,5 @@ -import { customElement } from '@microsoft/fast-element'; -import { Switch, SwitchTemplate as template } from '@microsoft/fast-foundation'; -import { SwitchStyles as styles } from './switch.styles'; +import { Switch, switchTemplate as template } from '@microsoft/fast-foundation'; +import { switchStyles as styles } from './switch.styles'; /** * The Fluent Switch Custom Element. Implements {@link @microsoft/fast-foundation#Switch}, @@ -11,18 +10,14 @@ import { SwitchStyles as styles } from './switch.styles'; * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-switch', +export const fluentSwitch = Switch.compose({ + baseName: 'switch', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentSwitch extends Switch {} +}); /** * Styles for Switch * @public */ -export const SwitchStyles = styles; +export const switchStyles = styles; diff --git a/packages/web-components/src/switch/switch.stories.ts b/packages/web-components/src/switch/switch.stories.ts index cd5b46832e392a..ded4d570513441 100644 --- a/packages/web-components/src/switch/switch.stories.ts +++ b/packages/web-components/src/switch/switch.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/switch.html'; -import { FluentSwitch } from './'; - -// Prevent tree-shaking -FluentSwitch; -FluentDesignSystemProvider; +import './index'; export default { title: 'Switch', }; -export const Switch = (): string => Examples; +export const Switch = () => Examples; diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index 1489fc2dab0e7d..9f192c5dd74c11 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -23,7 +23,8 @@ import { neutralOutlineRestBehavior, } from '../styles'; -export const SwitchStyles = css` +export const switchStyles = (context, defintiion) => + css` :host([hidden]) { display: none; } @@ -152,40 +153,40 @@ export const SwitchStyles = css` display: block; } `.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - accentForegroundCutRestBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - new DirectionalStyleSheetBehavior( - css` - .checked-indicator { - left: calc(var(--design-unit) * 1px); - } - - :host([aria-checked='true']) .checked-indicator { - left: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); - } - `, - css` - .checked-indicator { - right: calc(var(--design-unit) * 1px); - } - - :host([aria-checked='true']) .checked-indicator { - right: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); - } - `, - ), - forcedColorsStylesheetBehavior( - css` + accentFillActiveBehavior, + accentFillHoverBehavior, + accentFillRestBehavior, + accentForegroundCutRestBehavior, + neutralFillInputActiveBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineActiveBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + new DirectionalStyleSheetBehavior( + css` + .checked-indicator { + left: calc(var(--design-unit) * 1px); + } + + :host([aria-checked='true']) .checked-indicator { + left: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); + } + `, + css` + .checked-indicator { + right: calc(var(--design-unit) * 1px); + } + + :host([aria-checked='true']) .checked-indicator { + right: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); + } + `, + ), + forcedColorsStylesheetBehavior( + css` .checked-indicator, :host(:enabled) .switch:active .checked-indicator { forced-color-adjust: none; @@ -237,5 +238,5 @@ export const SwitchStyles = css` color: ${SystemColors.FieldText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/tabs/index.ts b/packages/web-components/src/tabs/index.ts index 0d51ff74bfe0f8..0db87c281efe40 100644 --- a/packages/web-components/src/tabs/index.ts +++ b/packages/web-components/src/tabs/index.ts @@ -1,30 +1,26 @@ -import { customElement } from '@microsoft/fast-element'; -import { Tabs, TabsTemplate as template } from '@microsoft/fast-foundation'; -import { TabsStyles as styles } from './tabs.styles'; +import { Tabs, tabsTemplate as template } from '@microsoft/fast-foundation'; +import { tabsStyles as styles } from './tabs.styles'; /** * The Fluent Tabs Custom Element. Implements {@link @microsoft/fast-foundation#Tabs}, - * {@link @microsoft/fast-foundation#TabsTemplate} + * {@link @microsoft/fast-foundation#tabsTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-tabs', +export const fluentTabs = Tabs.compose({ + baseName: 'tabs', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTabs extends Tabs {} -export * from './tab/'; -export * from './tab-panel/'; +}); + +export * from './tab'; +export * from './tab-panel'; /** * Styles for Tabs * @public */ -export const TabsStyles = styles; +export const tabsStyles = styles; diff --git a/packages/web-components/src/tabs/tab-panel/index.ts b/packages/web-components/src/tabs/tab-panel/index.ts index 11b8f46cc43f09..ef8529e1bb066f 100644 --- a/packages/web-components/src/tabs/tab-panel/index.ts +++ b/packages/web-components/src/tabs/tab-panel/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { TabPanel, TabPanelTemplate as template } from '@microsoft/fast-foundation'; -import { TabPanelStyles as styles } from './tab-panel.styles'; +import { TabPanel, tabPanelTemplate as template } from '@microsoft/fast-foundation'; +import { tabPanelStyles as styles } from './tab-panel.styles'; /** * The Fluent Tab Panel Custom Element. Implements {@link @microsoft/fast-foundation#TabPanel}, - * {@link @microsoft/fast-foundation#TabPanelTemplate} + * {@link @microsoft/fast-foundation#tabPanelTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-tab-panel', +export const fluentTabPanel = TabPanel.compose({ + baseName: 'tab-panel', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTabPanel extends TabPanel {} +}); /** * Styles for TabPanel * @public */ -export const TabPanelStyles = styles; +export const tabPanelStyles = styles; diff --git a/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts b/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts index d54a98de01cfb7..caa6d7cb20820d 100644 --- a/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts +++ b/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts @@ -1,11 +1,11 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -export const TabPanelStyles = css` +export const tabPanelStyles = (context, definition) => css` ${display('flex')} :host { box-sizing: border-box; font-family: var(--body-font); - ${/* Font size, weight, and line height are temporary - + ${/* Font size, weight, and line height are temporary - replace when adaptive typography is figured out */ ''} font-size: 12px; font-weight: 400; line-height: 18px; diff --git a/packages/web-components/src/tabs/tab/index.ts b/packages/web-components/src/tabs/tab/index.ts index 4f4a2a4ea429a4..a20c76d8a4194e 100644 --- a/packages/web-components/src/tabs/tab/index.ts +++ b/packages/web-components/src/tabs/tab/index.ts @@ -1,28 +1,23 @@ -import { customElement } from '@microsoft/fast-element'; -import { Tab, TabTemplate as template } from '@microsoft/fast-foundation'; -import { TabStyles as styles } from './tab.styles'; +import { Tab, tabTemplate as template } from '@microsoft/fast-foundation'; +import { tabStyles as styles } from './tab.styles'; /** * The Fluent Tab Custom Element. Implements {@link @microsoft/fast-foundation#Tab}, - * {@link @microsoft/fast-foundation#TabTemplate} + * {@link @microsoft/fast-foundation#tabTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-tab', +export const fluentTab = Tab.compose({ + baseName: 'tab', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTab extends Tab {} +}); /** * Styles for Tab * @public */ -export const TabStyles = styles; +export const tabStyles = styles; diff --git a/packages/web-components/src/tabs/tab/tab.styles.ts b/packages/web-components/src/tabs/tab/tab.styles.ts index c034718fd71cbd..4708df00c56bf0 100644 --- a/packages/web-components/src/tabs/tab/tab.styles.ts +++ b/packages/web-components/src/tabs/tab/tab.styles.ts @@ -9,7 +9,8 @@ import { neutralForegroundRestBehavior, } from '../../styles'; -export const TabStyles = css` +export const tabStyles = (context, definition) => + css` ${display('inline-flex')} :host { box-sizing: border-box; font-family: var(--body-font); @@ -73,12 +74,12 @@ export const TabStyles = css` :host(.vertical:hover[aria-selected="true"]) { } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralForegroundHoverBehavior, - neutralForegroundActiveBehavior, - forcedColorsStylesheetBehavior( - css` + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralForegroundHoverBehavior, + neutralForegroundActiveBehavior, + forcedColorsStylesheetBehavior( + css` :host { forced-color-adjust: none; border-color: transparent; @@ -102,5 +103,5 @@ export const TabStyles = css` box-shadow: none; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/tabs/tabs.stories.ts b/packages/web-components/src/tabs/tabs.stories.ts index bd2d12d2e5c6cc..8a7484668169fa 100644 --- a/packages/web-components/src/tabs/tabs.stories.ts +++ b/packages/web-components/src/tabs/tabs.stories.ts @@ -1,17 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import Examples from './fixtures/tabs.html'; -import { FluentTab } from './tab'; -import { FluentTabPanel } from './tab-panel'; -import { FluentTabs } from './'; - -// Prevent tree-shaking -FluentTab; -FluentTabPanel; -FluentTabs; -FluentDesignSystemProvider; +import './index'; export default { title: 'Tabs', }; -export const Base = (): string => Examples; +export const Tabs = () => Examples; diff --git a/packages/web-components/src/tabs/tabs.styles.ts b/packages/web-components/src/tabs/tabs.styles.ts index d1b5111d80ac75..311c77696c61c9 100644 --- a/packages/web-components/src/tabs/tabs.styles.ts +++ b/packages/web-components/src/tabs/tabs.styles.ts @@ -3,102 +3,103 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { accentFillRestBehavior, neutralForegroundRestBehavior } from '../styles'; -export const TabsStyles = css` - ${display('grid')} :host { - box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - color: ${neutralForegroundRestBehavior.var}; - grid-template-columns: auto 1fr auto; - grid-template-rows: auto 1fr; - } +export const tabsStyles = (context, definition) => + css` + ${display('grid')} :host { + box-sizing: border-box; + font-family: var(--body-font); + font-size: var(--type-ramp-base-font-size); + line-height: var(--type-ramp-base-line-height); + color: ${neutralForegroundRestBehavior.var}; + grid-template-columns: auto 1fr auto; + grid-template-rows: auto 1fr; + } - .tablist { - display: grid; - grid-template-rows: auto auto; - grid-template-columns: auto; - position: relative; - width: max-content; - align-self: end; - } + .tablist { + display: grid; + grid-template-rows: auto auto; + grid-template-columns: auto; + position: relative; + width: max-content; + align-self: end; + } - .start, - .end { - align-self: center; - } + .start, + .end { + align-self: center; + } - .activeIndicator { - grid-row: 2; - grid-column: 1; - width: 20px; - height: 3px; - border-radius: calc(var(--corner-radius) * 1px); - justify-self: center; - background: ${accentFillRestBehavior.var}; - } + .activeIndicator { + grid-row: 2; + grid-column: 1; + width: 20px; + height: 3px; + border-radius: calc(var(--corner-radius) * 1px); + justify-self: center; + background: ${accentFillRestBehavior.var}; + } - .activeIndicatorTransition { - transition: transform 0.2s ease-in-out; - } + .activeIndicatorTransition { + transition: transform 0.2s ease-in-out; + } - .tabpanel { - grid-row: 2; - grid-column-start: 1; - grid-column-end: 4; - position: relative; - } + .tabpanel { + grid-row: 2; + grid-column-start: 1; + grid-column-end: 4; + position: relative; + } - :host(.vertical) { - grid-template-rows: auto 1fr auto; - grid-template-columns: auto 1fr; - } + :host(.vertical) { + grid-template-rows: auto 1fr auto; + grid-template-columns: auto 1fr; + } - :host(.vertical) .tablist { - grid-row-start: 2; - grid-row-end: 2; - display: grid; - grid-template-rows: auto; - grid-template-columns: auto 1fr; - position: relative; - width: max-content; - justify-self: end; - width: 100%; - } + :host(.vertical) .tablist { + grid-row-start: 2; + grid-row-end: 2; + display: grid; + grid-template-rows: auto; + grid-template-columns: auto 1fr; + position: relative; + width: max-content; + justify-self: end; + width: 100%; + } - :host(.vertical) .tabpanel { - grid-column: 2; - grid-row-start: 1; - grid-row-end: 4; - } + :host(.vertical) .tabpanel { + grid-column: 2; + grid-row-start: 1; + grid-row-end: 4; + } - :host(.vertical) .end { - grid-row: 3; - } + :host(.vertical) .end { + grid-row: 3; + } - :host(.vertical) .activeIndicator { - grid-column: 1; - grid-row: 1; - width: 3px; - height: 20px; - border-radius: calc(var(--corner-radius) * 1px); - align-self: center; - background: ${accentFillRestBehavior.var}; - } + :host(.vertical) .activeIndicator { + grid-column: 1; + grid-row: 1; + width: 3px; + height: 20px; + border-radius: calc(var(--corner-radius) * 1px); + align-self: center; + background: ${accentFillRestBehavior.var}; + } - :host(.vertical) .activeIndicatorTransition { - transition: transform 0.2s linear; - } -`.withBehaviors( - accentFillRestBehavior, - neutralForegroundRestBehavior, - forcedColorsStylesheetBehavior( - css` - .activeIndicator, - :host(.vertical) .activeIndicator { - forced-color-adjust: none; - background: ${SystemColors.Highlight}; - } - `, - ), -); + :host(.vertical) .activeIndicatorTransition { + transition: transform 0.2s linear; + } + `.withBehaviors( + accentFillRestBehavior, + neutralForegroundRestBehavior, + forcedColorsStylesheetBehavior( + css` + .activeIndicator, + :host(.vertical) .activeIndicator { + forced-color-adjust: none; + background: ${SystemColors.Highlight}; + } + `, + ), + ); diff --git a/packages/web-components/src/text-area/index.ts b/packages/web-components/src/text-area/index.ts index ff44f410fa48d5..0e5ccbed543e49 100644 --- a/packages/web-components/src/text-area/index.ts +++ b/packages/web-components/src/text-area/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { TextAreaTemplate as template, TextArea } from '@microsoft/fast-foundation'; -import { TextAreaStyles as styles } from './text-area.styles'; +import { attr } from '@microsoft/fast-element'; +import { TextArea as FoundationTextArea, textAreaTemplate as template } from '@microsoft/fast-foundation'; +import { textAreaStyles as styles } from './text-area.styles'; /** * Text area appearances @@ -9,25 +9,10 @@ import { TextAreaStyles as styles } from './text-area.styles'; export type TextAreaAppearance = 'filled' | 'outline'; /** - * The Fluent Text Area Custom Element. Implements {@link @microsoft/fast-foundation#TextArea}, - * {@link @microsoft/fast-foundation#TextAreaTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - * - * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + * The Fluent TextArea class + * @internal */ -@customElement({ - name: 'fluent-text-area', - template, - styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTextArea extends TextArea { +export class TextArea extends FoundationTextArea { /** * The appearance of the element. * @@ -60,8 +45,28 @@ export class FluentTextArea extends TextArea { } } +/** + * The Fluent Text Area Custom Element. Implements {@link @microsoft/fast-foundation#TextArea}, + * {@link @microsoft/fast-foundation#textAreaTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + */ +export const fluentTextArea = TextArea.compose({ + baseName: 'text-area', + template, + styles, + shadowOptions: { + delegatesFocus: true, + }, +}); + /** * Styles for TextArea * @public */ -export const TextAreaStyles = styles; +export const textAreaStyles = styles; diff --git a/packages/web-components/src/text-area/text-area.stories.ts b/packages/web-components/src/text-area/text-area.stories.ts index a164b76b98ce04..26d435bf6ea532 100644 --- a/packages/web-components/src/text-area/text-area.stories.ts +++ b/packages/web-components/src/text-area/text-area.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import Examples from './fixtures/text-area.html'; -import { FluentTextArea } from './'; - -// Prevent tree-shaking -FluentTextArea; -FluentDesignSystemProvider; +import TextAreaTemplate from './fixtures/text-area.html'; +import './index'; export default { title: 'Text Area', }; -export const TextArea = (): string => Examples; +export const TextArea = () => TextAreaTemplate; diff --git a/packages/web-components/src/text-area/text-area.styles.ts b/packages/web-components/src/text-area/text-area.styles.ts index aceeec6cd7644e..0b0c156640f9a1 100644 --- a/packages/web-components/src/text-area/text-area.styles.ts +++ b/packages/web-components/src/text-area/text-area.styles.ts @@ -51,7 +51,8 @@ export const TextAreaFilledStyles = css` ), ); -export const TextAreaStyles = css` +export const textAreaStyles = (context, definition) => + css` ${display('inline-flex')} :host { font-family: var(--body-font); outline: none; @@ -130,27 +131,27 @@ export const TextAreaStyles = css` opacity: var(--disabled-opacity); } `.withBehaviors( - appearanceBehavior('filled', TextAreaFilledStyles), - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host([disabled]) { - opacity: 1; - } - ::placeholder, - ::-webkit-input-placeholder { - color: ${SystemColors.FieldText}; - } - :host([disabled]) ::placeholder, - :host([disabled]) ::-webkit-input-placeholder, - :host([disabled]) .label { - color: ${SystemColors.GrayText}; - } - `, - ), -); + appearanceBehavior('filled', TextAreaFilledStyles), + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` + :host([disabled]) { + opacity: 1; + } + ::placeholder, + ::-webkit-input-placeholder { + color: ${SystemColors.FieldText}; + } + :host([disabled]) ::placeholder, + :host([disabled]) ::-webkit-input-placeholder, + :host([disabled]) .label { + color: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/text-field/fixtures/text-field.html b/packages/web-components/src/text-field/fixtures/text-field.html index 46d7fbee5181da..c8a8c777f2d0b6 100644 --- a/packages/web-components/src/text-field/fixtures/text-field.html +++ b/packages/web-components/src/text-field/fixtures/text-field.html @@ -87,4 +87,11 @@

Audio label only

With aria-label

+ +
+ +

In a form

+ + +
diff --git a/packages/web-components/src/text-field/index.ts b/packages/web-components/src/text-field/index.ts index 0e87d77f4f8db4..897b937ab83586 100644 --- a/packages/web-components/src/text-field/index.ts +++ b/packages/web-components/src/text-field/index.ts @@ -1,6 +1,6 @@ -import { attr, customElement } from '@microsoft/fast-element'; -import { TextFieldTemplate as template, TextField } from '@microsoft/fast-foundation'; -import { TextFieldStyles as styles } from './text-field.styles'; +import { attr } from '@microsoft/fast-element'; +import { TextField as FoundationTextField, textFieldTemplate as template } from '@microsoft/fast-foundation'; +import { textFieldStyles as styles } from './text-field.styles'; /** * Text field appearances @@ -9,26 +9,10 @@ import { TextFieldStyles as styles } from './text-field.styles'; export type TextFieldAppearance = 'filled' | 'outline'; /** - * The Fluent Text Field Custom Element. Implements {@link @microsoft/fast-foundation#TextField}, - * {@link @microsoft/fast-foundation#TextFieldTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - * - * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + * The Fluent text field class + * @internal */ -@customElement({ - name: 'fluent-text-field', - template, - styles, - shadowOptions: { - delegatesFocus: true, - mode: 'closed', - }, -}) -export class FluentTextField extends TextField { +export class TextField extends FoundationTextField { /** * The appearance of the element. * @@ -61,8 +45,28 @@ export class FluentTextField extends TextField { } } +/** + * The Fluent Text Field Custom Element. Implements {@link @microsoft/fast-foundation#TextField}, + * {@link @microsoft/fast-foundation#textFieldTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + * + * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} + */ +export const fluentTextField = TextField.compose({ + baseName: 'text-field', + template, + styles, + shadowOptions: { + delegatesFocus: true, + }, +}); + /** * Styles for TextField * @public */ -export const TextFieldStyles = styles; +export const textFieldStyles = styles; diff --git a/packages/web-components/src/text-field/text-field.stories.ts b/packages/web-components/src/text-field/text-field.stories.ts index 57d88c317892cb..9da8cafd302684 100644 --- a/packages/web-components/src/text-field/text-field.stories.ts +++ b/packages/web-components/src/text-field/text-field.stories.ts @@ -1,13 +1,24 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; -import Examples from './fixtures/text-field.html'; -import { FluentTextField } from './'; +import { STORY_RENDERED } from '@storybook/core-events'; +import addons from '@storybook/addons'; +import TextFieldTemplate from './fixtures/text-field.html'; +import './index'; -// Prevent tree-shaking -FluentTextField; -FluentDesignSystemProvider; +addons.getChannel().addListener(STORY_RENDERED, (name: string) => { + if (name.toLowerCase().startsWith('text-field')) { + document.querySelectorAll('.form').forEach((el: HTMLFormElement) => { + el.onsubmit = event => { + console.log(event, 'event'); + event.preventDefault(); + const form: HTMLFormElement = document.forms['myForm']; + + console.log(form.elements['fname'].value, 'value of input'); + }; + }); + } +}); export default { - title: 'Text field', + title: 'Text Field', }; -export const TextField = (): string => Examples; +export const TextField = () => TextFieldTemplate; diff --git a/packages/web-components/src/text-field/text-field.styles.ts b/packages/web-components/src/text-field/text-field.styles.ts index 911c856aeeb091..85dadbd74652b7 100644 --- a/packages/web-components/src/text-field/text-field.styles.ts +++ b/packages/web-components/src/text-field/text-field.styles.ts @@ -63,7 +63,8 @@ export const TextFieldFilledStyles = css` ), ); -export const TextFieldStyles = css` +export const textFieldStyles = (context, definition) => + css` ${display('inline-block')} :host { font-family: var(--body-font); outline: none; @@ -162,51 +163,51 @@ export const TextFieldStyles = css` opacity: var(--disabled-opacity); } `.withBehaviors( - appearanceBehavior('filled', TextFieldFilledStyles), - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - .root { - forced-color-adjust: none; - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host(:hover:not(.disabled)) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.Highlight}; - } - .start, - .end { - fill: ${SystemColors.ButtonText}; - } - :host(.disabled) { - opacity: 1; - } - :host(.disabled) .root { - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - :host(:focus-within:enabled) .root { - border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 1px ${SystemColors.Highlight} inset; - } - .control { - color: ${SystemColors.ButtonText}; - } - ::placeholder, - ::-webkit-input-placeholder { - color: ${SystemColors.FieldText}; - } - :host(.disabled) ::placeholder, - :host(.disabled) ::-webkit-input-placeholder, - :host([disabled]) .label { - color: ${SystemColors.GrayText}; - } - `, - ), -); + appearanceBehavior('filled', TextFieldFilledStyles), + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineHoverBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` + .root { + forced-color-adjust: none; + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host(:hover:not(.disabled)) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.Highlight}; + } + .start, + .end { + fill: ${SystemColors.ButtonText}; + } + :host(.disabled) { + opacity: 1; + } + :host(.disabled) .root { + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + :host(:focus-within:enabled) .root { + border-color: ${SystemColors.Highlight}; + box-shadow: 0 0 0 1px ${SystemColors.Highlight} inset; + } + .control { + color: ${SystemColors.ButtonText}; + } + ::placeholder, + ::-webkit-input-placeholder { + color: ${SystemColors.FieldText}; + } + :host(.disabled) ::placeholder, + :host(.disabled) ::-webkit-input-placeholder, + :host([disabled]) .label { + color: ${SystemColors.GrayText}; + } + `, + ), + ); diff --git a/packages/web-components/src/tooltip/index.ts b/packages/web-components/src/tooltip/index.ts index 8b57f2930c3b4b..6d410a0b95c41f 100644 --- a/packages/web-components/src/tooltip/index.ts +++ b/packages/web-components/src/tooltip/index.ts @@ -1,28 +1,17 @@ -import { customElement } from '@microsoft/fast-element'; -import { createTooltipTemplate, Tooltip } from '@microsoft/fast-foundation'; -import { TooltipStyles as styles } from './tooltip.styles'; +import { tooltipTemplate as template, Tooltip } from '@microsoft/fast-foundation'; +import { tooltipStyles as styles } from './tooltip.styles'; /** * The Fluent Tooltip Custom Element. Implements {@link @microsoft/fast-foundation#Tooltip}, - * {@link @microsoft/fast-foundation#Tooltip} + * {@link @microsoft/fast-foundation#tooltipTemplate} * * * @public * @remarks * HTML Element: \ */ -@customElement({ - name: 'fluent-tooltip', - template: createTooltipTemplate('fluent'), +export const fluentTooltip = Tooltip.compose({ + baseName: 'tooltip', + template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTooltip extends Tooltip {} - -/** - * Styles for Tooltip - * @public - */ -export const TooltipStyles = styles; +}); diff --git a/packages/web-components/src/tooltip/tooltip.stories.ts b/packages/web-components/src/tooltip/tooltip.stories.ts index 6e11fe2a78b517..420332cab70a49 100644 --- a/packages/web-components/src/tooltip/tooltip.stories.ts +++ b/packages/web-components/src/tooltip/tooltip.stories.ts @@ -1,37 +1,39 @@ -import addons from '@storybook/addons'; import { STORY_RENDERED } from '@storybook/core-events'; -import { FluentDesignSystemProvider } from '../design-system-provider'; +import addons from '@storybook/addons'; +import { Tooltip as FoundationTooltip } from '@microsoft/fast-foundation'; import TooltipTemplate from './fixtures/tooltip.html'; -import { FluentTooltip } from '.'; +import '../button'; +import './index'; -// Prevent tree-shaking -FluentTooltip; -FluentDesignSystemProvider; - -addons.getChannel().addListener(STORY_RENDERED, (name: string) => { - if (name.toLowerCase().startsWith('tooltip')) { - connectAnchors(); +function onShowClick(): void { + for (let i = 1; i <= 4; i++) { + const tooltipInstance = document.getElementById(`tooltip-show-${i}`) as FoundationTooltip; + tooltipInstance.visible = !tooltipInstance.visible; } -}); +} function onAnchorMouseEnter(e: MouseEvent): void { - if (e.target === null) { + if (!e.target) { return; } - const tooltipInstance: HTMLElement | null = document.getElementById('tooltip-anchor-switch'); - (tooltipInstance as FluentTooltip).anchorElement = e.target as HTMLElement; -} -function connectAnchors(): void { - document.querySelectorAll('fluent-button').forEach(el => { - if (el !== null && el.id.startsWith('anchor-anchor-switch')) { - (el as HTMLElement).onmouseenter = onAnchorMouseEnter; - } - }); + const tooltipInstance = document.getElementById('tooltip-anchor-switch') as FoundationTooltip; + tooltipInstance.anchorElement = e.target as HTMLElement; } +addons.getChannel().addListener(STORY_RENDERED, (name: string) => { + if (name.toLowerCase().startsWith('tooltip')) { + document.querySelectorAll('fast-button[id^=anchor-anchor-switch]').forEach((el: HTMLElement) => { + el.addEventListener('mouseenter', onAnchorMouseEnter); + }); + + const showButton = document.getElementById('anchor-show') as HTMLElement; + showButton.addEventListener('click', onShowClick); + } +}); + export default { title: 'Tooltip', }; -export const Tooltip = (): string => TooltipTemplate; +export const Tooltip = () => TooltipTemplate; diff --git a/packages/web-components/src/tooltip/tooltip.styles.ts b/packages/web-components/src/tooltip/tooltip.styles.ts index 93cb3d176522c3..2ba9eccd841cd2 100644 --- a/packages/web-components/src/tooltip/tooltip.styles.ts +++ b/packages/web-components/src/tooltip/tooltip.styles.ts @@ -17,124 +17,125 @@ import { neutralOutlineRestBehavior, } from '../styles/index'; -export const TooltipStyles = css` - :host { - --elevation: 11; - position: relative; - contain: layout; - overflow: visible; - height: 0; - width: 0; - z-index: 10000; - } +export const tooltipStyles = (context, definition) => + css` + :host { + --elevation: 11; + position: relative; + contain: layout; + overflow: visible; + height: 0; + width: 0; + z-index: 10000; + } - .tooltip { - box-sizing: border-box; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid transparent; - background: ${neutralContrastFillRestBehavior.var}; - color: ${neutralContrastForegroundRestBehavior.var}; - padding: 4px 12px; - height: fit-content; - width: fit-content; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - white-space: nowrap; - ${elevation} - } + .tooltip { + box-sizing: border-box; + border-radius: calc(var(--corner-radius) * 1px); + border: calc(var(--outline-width) * 1px) solid transparent; + background: ${neutralContrastFillRestBehavior.var}; + color: ${neutralContrastForegroundRestBehavior.var}; + padding: 4px 12px; + height: fit-content; + width: fit-content; + font-family: var(--body-font); + font-size: var(--type-ramp-base-font-size); + line-height: var(--type-ramp-base-line-height); + white-space: nowrap; + ${elevation} + } - fluent-anchored-region { - display: flex; - justify-content: center; - align-items: center; - overflow: visible; - flex-direction: row; - } + fluent-anchored-region { + display: flex; + justify-content: center; + align-items: center; + overflow: visible; + flex-direction: row; + } - fluent-anchored-region.right, - fluent-anchored-region.left { - flex-direction: column; - } + fluent-anchored-region.right, + fluent-anchored-region.left { + flex-direction: column; + } - fluent-anchored-region.top .tooltip::after, - fluent-anchored-region.bottom .tooltip::after, - fluent-anchored-region.left .tooltip::after, - fluent-anchored-region.right .tooltip::after { - content: ''; - width: 12px; - height: 12px; - background: ${neutralForegroundRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - position: absolute; - } + fluent-anchored-region.top .tooltip::after, + fluent-anchored-region.bottom .tooltip::after, + fluent-anchored-region.left .tooltip::after, + fluent-anchored-region.right .tooltip::after { + content: ''; + width: 12px; + height: 12px; + background: ${neutralForegroundRestBehavior.var}; + border-radius: calc(var(--corner-radius) * 1px); + position: absolute; + } - fluent-anchored-region.top .tooltip::after { - transform: rotate(45deg) translateX(-50%); - bottom: 4px; - left: 50%; - } + fluent-anchored-region.top .tooltip::after { + transform: rotate(45deg) translateX(-50%); + bottom: 4px; + left: 50%; + } - fluent-anchored-region.top .tooltip { - margin-bottom: 12px; - } + fluent-anchored-region.top .tooltip { + margin-bottom: 12px; + } - fluent-anchored-region.bottom .tooltip::after { - transform: rotate(45deg) translateX(-50%); - top: 12px; - left: 50%; - } + fluent-anchored-region.bottom .tooltip::after { + transform: rotate(45deg) translateX(-50%); + top: 12px; + left: 50%; + } - fluent-anchored-region.bottom .tooltip { - margin-top: 12px; - } + fluent-anchored-region.bottom .tooltip { + margin-top: 12px; + } - fluent-anchored-region.left .tooltip::after { - transform: rotate(45deg) translateY(-50%); - top: 50%; - right: 12px; - } + fluent-anchored-region.left .tooltip::after { + transform: rotate(45deg) translateY(-50%); + top: 50%; + right: 12px; + } - fluent-anchored-region.left .tooltip { - margin-right: 12px; - } + fluent-anchored-region.left .tooltip { + margin-right: 12px; + } - fluent-anchored-region.right .tooltip::after { - transform: rotate(45deg) translateY(-50%); - top: 50%; - left: 4px; - } + fluent-anchored-region.right .tooltip::after { + transform: rotate(45deg) translateY(-50%); + top: 50%; + left: 4px; + } - fluent-anchored-region.right .tooltip { - margin-left: 12px; - } -`.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - neutralContrastFillRestBehavior, - neutralContrastForegroundRestBehavior, - neutralFillHoverBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host([disabled]) { - opacity: 1; - } - fluent-anchored-region.top .tooltip::after, - fluent-anchored-region.bottom .tooltip::after, - fluent-anchored-region.left .tooltip::after, - fluent-anchored-region.right .tooltip::after { - content: ''; - width: unset; - height: unset; - } - `, - ), -); + fluent-anchored-region.right .tooltip { + margin-left: 12px; + } + `.withBehaviors( + accentFillActiveBehavior, + accentFillHoverBehavior, + accentFillRestBehavior, + neutralContrastFillRestBehavior, + neutralContrastForegroundRestBehavior, + neutralFillHoverBehavior, + neutralFillInputActiveBehavior, + neutralFillInputHoverBehavior, + neutralFillInputRestBehavior, + neutralFillRestBehavior, + neutralFocusBehavior, + neutralForegroundRestBehavior, + neutralOutlineRestBehavior, + forcedColorsStylesheetBehavior( + css` + :host([disabled]) { + opacity: 1; + } + fluent-anchored-region.top .tooltip::after, + fluent-anchored-region.bottom .tooltip::after, + fluent-anchored-region.left .tooltip::after, + fluent-anchored-region.right .tooltip::after { + content: ''; + width: unset; + height: unset; + } + `, + ), + ); diff --git a/packages/web-components/src/tree-item/index.ts b/packages/web-components/src/tree-item/index.ts index d4d908c7e5cf28..a3a10ca3c7cfb4 100644 --- a/packages/web-components/src/tree-item/index.ts +++ b/packages/web-components/src/tree-item/index.ts @@ -1,28 +1,24 @@ -import { customElement } from '@microsoft/fast-element'; -import { TreeItemTemplate as template, TreeItem } from '@microsoft/fast-foundation'; -import { TreeItemStyles as styles } from './tree-item.styles'; +import { treeItemTemplate as template, TreeItem } from '@microsoft/fast-foundation'; +import { treeItemStyles as styles } from './tree-item.styles'; /** - * The Fluent Tree Item Custom Element. Implements {@link @microsoft/fast-foundation#TreeItem}, - * {@link @microsoft/fast-foundation#TreeItem} + * The Fluent tree item Custom Element. Implements, {@link @microsoft/fast-foundation#TreeItem} + * {@link @microsoft/fast-foundation#treeItemTemplate} * * * @public * @remarks * HTML Element: \ + * */ -@customElement({ - name: 'fluent-tree-item', +export const fluentTreeItem = TreeItem.compose({ + baseName: 'tree-item', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTreeItem extends TreeItem {} +}); /** * Styles for TreeItem * @public */ -export const TreeItemStyles = styles; +export const treeItemStyles = styles; diff --git a/packages/web-components/src/tree-item/tree-item.stories.ts b/packages/web-components/src/tree-item/tree-item.stories.ts index 80d54023eca556..4bc512e2412df9 100644 --- a/packages/web-components/src/tree-item/tree-item.stories.ts +++ b/packages/web-components/src/tree-item/tree-item.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import TreeItemTemplate from './fixtures/tree-item.html'; -import { FluentTreeItem } from './'; - -// Prevent tree-shaking -FluentTreeItem; -FluentDesignSystemProvider; +import './index'; export default { - title: 'Tree item', + title: 'Tree Item', }; -export const TreeItem = (): string => TreeItemTemplate; +export const TreeItem = () => TreeItemTemplate; diff --git a/packages/web-components/src/tree-item/tree-item.styles.ts b/packages/web-components/src/tree-item/tree-item.styles.ts index c61731654053b6..d4925ccf4c5ced 100644 --- a/packages/web-components/src/tree-item/tree-item.styles.ts +++ b/packages/web-components/src/tree-item/tree-item.styles.ts @@ -69,7 +69,8 @@ const selectedExpandCollapseHoverBehavior = cssCustomPropertyBehaviorFactory( FluentDesignSystemProvider.findProvider, ); -export const TreeItemStyles = css` +export const treeItemStyles = (context, definition) => + css` ${display('block')} :host { contain: content; position: relative; @@ -242,20 +243,20 @@ export const TreeItemStyles = css` --expand-collapse-button-nested-width: calc(${heightNumber} * -1px); } `.withBehaviors( - accentForegroundRestBehavior, - expandCollapseHoverBehavior, - neutralFillStealthSelectedBehavior, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundActiveBehavior, - neutralForegroundRestBehavior, - selectedExpandCollapseHoverBehavior, - new DirectionalStyleSheetBehavior(ltr, rtl), - forcedColorsStylesheetBehavior( - css` + accentForegroundRestBehavior, + expandCollapseHoverBehavior, + neutralFillStealthSelectedBehavior, + neutralFillStealthActiveBehavior, + neutralFillStealthHoverBehavior, + neutralFillStealthRestBehavior, + neutralFocusBehavior, + neutralFocusInnerAccentBehavior, + neutralForegroundActiveBehavior, + neutralForegroundRestBehavior, + selectedExpandCollapseHoverBehavior, + new DirectionalStyleSheetBehavior(ltr, rtl), + forcedColorsStylesheetBehavior( + css` :host { forced-color-adjust: none; border-color: transparent; @@ -322,5 +323,5 @@ export const TreeItemStyles = css` fill: ${SystemColors.FieldText}; } `, - ), -); + ), + ); diff --git a/packages/web-components/src/tree-view/index.ts b/packages/web-components/src/tree-view/index.ts index 0b292349b91557..7ca6c9aed10297 100644 --- a/packages/web-components/src/tree-view/index.ts +++ b/packages/web-components/src/tree-view/index.ts @@ -1,28 +1,24 @@ -import { customElement } from '@microsoft/fast-element'; -import { TreeViewTemplate as template, TreeView } from '@microsoft/fast-foundation'; -import { TreeViewStyles as styles } from './tree-view.styles'; +import { treeViewTemplate as template, TreeView } from '@microsoft/fast-foundation'; +import { treeViewStyles as styles } from './tree-view.styles'; /** - * The Fluent Tree View Custom Element. Implements {@link @microsoft/fast-foundation#TreeView}, - * {@link @microsoft/fast-foundation#TreeView} + * The Fluent tree view Custom Element. Implements, {@link @microsoft/fast-foundation#TreeView} + * {@link @microsoft/fast-foundation#treeViewTemplate} * * * @public * @remarks * HTML Element: \ + * */ -@customElement({ - name: 'fluent-tree-view', +export const fluentTreeView = TreeView.compose({ + baseName: 'tree-view', template, styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentTreeView extends TreeView {} +}); /** * Styles for TreeView * @public */ -export const TreeViewStyles = styles; +export const treeViewStyles = styles; diff --git a/packages/web-components/src/tree-view/tree-view.stories.ts b/packages/web-components/src/tree-view/tree-view.stories.ts index 46001e08d3e0e8..57fa772e1625b7 100644 --- a/packages/web-components/src/tree-view/tree-view.stories.ts +++ b/packages/web-components/src/tree-view/tree-view.stories.ts @@ -1,13 +1,8 @@ -import { FluentDesignSystemProvider } from '../design-system-provider'; import TreeViewTemplate from './fixtures/tree-view.html'; -import { FluentTreeView } from './'; - -// Prevent tree-shaking -FluentTreeView; -FluentDesignSystemProvider; +import './index'; export default { title: 'Tree View', }; -export const TreeView = (): string => TreeViewTemplate; +export const TreeView = () => TreeViewTemplate; diff --git a/packages/web-components/src/tree-view/tree-view.styles.ts b/packages/web-components/src/tree-view/tree-view.styles.ts index 78fb564e0d966f..d4564ea099ab74 100644 --- a/packages/web-components/src/tree-view/tree-view.styles.ts +++ b/packages/web-components/src/tree-view/tree-view.styles.ts @@ -1,7 +1,7 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -export const TreeViewStyles = css` +export const treeViewStyles = (context, definition) => css` :host([hidden]) { display: none; } diff --git a/yarn.lock b/yarn.lock index 56bf5947d8a269..5cc76cbb79bb21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2670,17 +2670,17 @@ resolved "https://registry.yarnpkg.com/@microsoft/fast-colors/-/fast-colors-5.1.0.tgz#f62ce25a800e6b413d3aa562e8416cdc1ed9131c" integrity sha512-u4R/sfF4SoKSAyDWJaBSDuVo4aGf1BXntlEWukC+1ubH36C6JmmdLSyyip5TQZiTqjQIy3uctcbepPi7oGI0Rw== -"@microsoft/fast-element@^1.0.0", "@microsoft/fast-element@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.0.1.tgz#f92755447f84a9c51c049580fa8870567719b8aa" - integrity sha512-fXwaHKRLQzY9n+T88iM+t9lTRupwLACrUTc96yGayfMK1qguxb4let0xnwDWAEQic51U0f/UEb6x1ubxlbPkFQ== +"@microsoft/fast-element@^1.0.0", "@microsoft/fast-element@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.1.0.tgz#13cafbbe42057ca370ac4219942c76613d64ff10" + integrity sha512-ihbxhKpD5U3/wUlT8CkdNQTCzRf+ukyktDipipIC5ZbLZtUa4exyaRvS8kIBKaRZK/M7OCUFaFfo2XdWD/fbpg== -"@microsoft/fast-foundation@^1.16.0": - version "1.16.1" - resolved "https://registry.yarnpkg.com/@microsoft/fast-foundation/-/fast-foundation-1.16.1.tgz#82f2c19c973d0e9bb9dd3042688b96d253a74674" - integrity sha512-PViksxU8svDWdFE/j2q0tfeYfdSRvAnadl3lmVSPna5TTSNGblRFcLVfwxZOGf/qH5aMXNJGgbpue//6nf6KgQ== +"@microsoft/fast-foundation@2.0.0-beta.0": + version "2.0.0-beta.0" + resolved "https://registry.yarnpkg.com/@microsoft/fast-foundation/-/fast-foundation-2.0.0-beta.0.tgz#54ae03191c7e8cc0a88bca5e278cab775b8cbdb9" + integrity sha512-V2r87Oj0jIgGl3YiGPBzyBNAx9AKYsk2kYTfazyg4HlaPH7YM0vekL/yJTZW89aW5aEM4anBLrUssmbw5dMwfw== dependencies: - "@microsoft/fast-element" "^1.0.1" + "@microsoft/fast-element" "^1.1.0" "@microsoft/fast-web-utilities" "^4.7.3" "@microsoft/tsdoc-config" "^0.13.4" tabbable "^4.0.0" From 84a7f4dc11a3c7e73aef3a09d9008c558d99db34 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Fri, 14 May 2021 14:51:34 -0700 Subject: [PATCH 02/91] [web-components] refactor color recipes for DI (#18199) * add color-vNext folder with recipes and update specs * Change files --- ...-91e2200b-d44a-48fe-9075-c23eced8be5f.json | 7 + packages/web-components/docs/api-report.md | 862 +++++++++++++----- .../web-components/src/color-vNext/README.md | 32 + .../web-components/src/color-vNext/palette.ts | 143 +++ .../src/color-vNext/recipes/accent-fill.ts | 54 ++ .../recipes/accent-foreground-cut.ts | 9 + .../color-vNext/recipes/accent-foreground.ts | 45 + .../color-vNext/recipes/neutral-divider.ts | 15 + .../color-vNext/recipes/neutral-fill-card.ts | 11 + .../color-vNext/recipes/neutral-fill-input.ts | 27 + .../recipes/neutral-fill-stealth.ts | 41 + .../recipes/neutral-fill-toggle.ts | 37 + .../src/color-vNext/recipes/neutral-fill.ts | 34 + .../recipes/neutral-focus-inner-accent.ts | 12 + .../src/color-vNext/recipes/neutral-focus.ts | 9 + .../recipes/neutral-foreground-hint.ts | 13 + .../color-vNext/recipes/neutral-foreground.ts | 9 + .../color-vNext/recipes/neutral-layer-L1.ts | 7 + .../color-vNext/recipes/neutral-layer-L2.ts | 31 + .../color-vNext/recipes/neutral-layer-L3.ts | 15 + .../color-vNext/recipes/neutral-layer-L4.ts | 15 + .../color-vNext/recipes/neutral-layer-card.ts | 9 + .../recipes/neutral-layer-floating.ts | 10 + .../color-vNext/recipes/neutral-outline.ts | 30 + .../web-components/src/color-vNext/swatch.ts | 50 + .../utilities/base-layer-luminance.ts | 5 + .../color-vNext/utilities/binary-search.ts | 31 + .../color-vNext/utilities/color-constants.ts | 23 + .../utilities/direction-by-is-dark.ts | 9 + .../src/color-vNext/utilities/is-dark.ts | 20 + .../utilities/relative-luminance.ts | 19 + .../src/color/accent-fill.spec.ts | 51 +- .../src/color/accent-foreground-cut.spec.ts | 23 +- .../src/color/accent-foreground.spec.ts | 41 + .../src/color/neutral-divider.spec.ts | 16 + .../src/color/neutral-fill-card.spec.ts | 21 +- .../src/color/neutral-fill-input.spec.ts | 35 +- .../src/color/neutral-fill-stealth.spec.ts | 41 + .../src/color/neutral-fill-toggle.spec.ts | 30 + .../src/color/neutral-fill.spec.ts | 19 + .../src/color/neutral-focus.spec.ts | 14 + .../src/color/neutral-foreground-hint.spec.ts | 17 + .../src/color/neutral-foreground.spec.ts | 17 +- .../src/color/neutral-layer.spec.ts | 24 + .../src/color/neutral-outline.spec.ts | 27 +- .../web-components/src/default-palette.ts | 376 ++++---- 46 files changed, 1949 insertions(+), 437 deletions(-) create mode 100644 change/@fluentui-web-components-91e2200b-d44a-48fe-9075-c23eced8be5f.json create mode 100644 packages/web-components/src/color-vNext/README.md create mode 100644 packages/web-components/src/color-vNext/palette.ts create mode 100644 packages/web-components/src/color-vNext/recipes/accent-fill.ts create mode 100644 packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts create mode 100644 packages/web-components/src/color-vNext/recipes/accent-foreground.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-divider.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-fill.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-focus.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-foreground.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-outline.ts create mode 100644 packages/web-components/src/color-vNext/swatch.ts create mode 100644 packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts create mode 100644 packages/web-components/src/color-vNext/utilities/binary-search.ts create mode 100644 packages/web-components/src/color-vNext/utilities/color-constants.ts create mode 100644 packages/web-components/src/color-vNext/utilities/direction-by-is-dark.ts create mode 100644 packages/web-components/src/color-vNext/utilities/is-dark.ts create mode 100644 packages/web-components/src/color-vNext/utilities/relative-luminance.ts create mode 100644 packages/web-components/src/color/neutral-fill-toggle.spec.ts diff --git a/change/@fluentui-web-components-91e2200b-d44a-48fe-9075-c23eced8be5f.json b/change/@fluentui-web-components-91e2200b-d44a-48fe-9075-c23eced8be5f.json new file mode 100644 index 00000000000000..a2df71a8e47661 --- /dev/null +++ b/change/@fluentui-web-components-91e2200b-d44a-48fe-9075-c23eced8be5f.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "add color-vNext folder with recipes and update specs", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 10872a23915b3b..8280e4d2b30c50 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -6,16 +6,16 @@ import { Accordion } from '@microsoft/fast-foundation'; import { AccordionItem } from '@microsoft/fast-foundation'; -import { Anchor } from '@microsoft/fast-foundation'; +import { Anchor as Anchor_2 } from '@microsoft/fast-foundation'; import { AnchoredRegion } from '@microsoft/fast-foundation'; -import { Badge } from '@microsoft/fast-foundation'; +import { Badge as Badge_2 } from '@microsoft/fast-foundation'; import { BaseProgress } from '@microsoft/fast-foundation'; import { Breadcrumb } from '@microsoft/fast-foundation'; import { BreadcrumbItem } from '@microsoft/fast-foundation'; -import { Button } from '@microsoft/fast-foundation'; +import { Button as Button_2 } from '@microsoft/fast-foundation'; import { Checkbox } from '@microsoft/fast-foundation'; import { ColorRGBA64 } from '@microsoft/fast-colors'; -import { Combobox } from '@microsoft/fast-foundation'; +import { Combobox as Combobox_2 } from '@microsoft/fast-foundation'; import { CSSCustomPropertyBehavior } from '@microsoft/fast-foundation'; import { DataGrid } from '@microsoft/fast-foundation'; import { DataGridCell } from '@microsoft/fast-foundation'; @@ -26,15 +26,15 @@ import { Direction } from '@microsoft/fast-web-utilities'; import { Divider } from '@microsoft/fast-foundation'; import { ElementStyles } from '@microsoft/fast-element'; import { Flipper } from '@microsoft/fast-foundation'; -import { HorizontalScroll } from '@microsoft/fast-foundation'; +import { HorizontalScroll as HorizontalScroll_2 } from '@microsoft/fast-foundation'; import { Listbox } from '@microsoft/fast-foundation'; import { ListboxOption } from '@microsoft/fast-foundation'; import { Menu } from '@microsoft/fast-foundation'; import { MenuItem } from '@microsoft/fast-foundation'; -import { NumberField } from '@microsoft/fast-foundation'; +import { NumberField as NumberField_2 } from '@microsoft/fast-foundation'; import { Radio } from '@microsoft/fast-foundation'; import { RadioGroup } from '@microsoft/fast-foundation'; -import { Select } from '@microsoft/fast-foundation'; +import { Select as Select_2 } from '@microsoft/fast-foundation'; import { Skeleton } from '@microsoft/fast-foundation'; import { Slider } from '@microsoft/fast-foundation'; import { SliderLabel } from '@microsoft/fast-foundation'; @@ -42,8 +42,8 @@ import { Switch } from '@microsoft/fast-foundation'; import { Tab } from '@microsoft/fast-foundation'; import { TabPanel } from '@microsoft/fast-foundation'; import { Tabs } from '@microsoft/fast-foundation'; -import { TextArea } from '@microsoft/fast-foundation'; -import { TextField } from '@microsoft/fast-foundation'; +import { TextArea as TextArea_2 } from '@microsoft/fast-foundation'; +import { TextField as TextField_2 } from '@microsoft/fast-foundation'; import { Tooltip } from '@microsoft/fast-foundation'; import { TreeItem } from '@microsoft/fast-foundation'; import { TreeView } from '@microsoft/fast-foundation'; @@ -214,30 +214,51 @@ export const accentForegroundRest: SwatchRecipe; export const accentForegroundRestBehavior: CSSCustomPropertyBehavior; // @public -export const AccordionItemStyles: import("@microsoft/fast-element").ElementStyles; +export const accordionItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const AccordionStyles: import("@microsoft/fast-element").ElementStyles; +export const accordionStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // Warning: (ae-internal-missing-underscore) The name "ambientShadow" should be prefixed with an underscore because the declaration is marked as @internal // // @internal export const ambientShadow = "0 0 calc((var(--elevation) * 0.225px) + 2px) rgba(0, 0, 0, calc(.11 * (2 - var(--background-luminance, 1))))"; +// Warning: (ae-internal-missing-underscore) The name "Anchor" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Anchor extends Anchor_2 { + // @public + appearance: AnchorAppearance; + // (undocumented) + appearanceChanged(oldValue: AnchorAppearance, newValue: AnchorAppearance): void; + // (undocumented) + connectedCallback(): void; + defaultSlottedContentChanged(): void; +} + // @public export type AnchorAppearance = ButtonAppearance | 'hypertext'; // @public -export const AnchoredRegionStyles: import("@microsoft/fast-element").ElementStyles; +export const anchoredRegionStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const AnchorStyles: import("@microsoft/fast-element").ElementStyles; +export const anchorStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// Warning: (ae-internal-missing-underscore) The name "Badge" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Badge extends Badge_2 { + // (undocumented) + appearance: BadgeAppearance; + } // @public export type BadgeAppearance = 'accent' | 'lightweight' | 'neutral' | string; // @public -export const BadgeStyles: import("@microsoft/fast-element").ElementStyles; +export const badgeStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // Warning: (ae-internal-missing-underscore) The name "BaseButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // @@ -245,40 +266,65 @@ export const BadgeStyles: import("@microsoft/fast-element").ElementStyles; export const BaseButtonStyles: ElementStyles; // @public -export const BreadcrumbItemStyles: import("@microsoft/fast-element").ElementStyles; +export const breadcrumbItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const BreadcrumbStyles: import("@microsoft/fast-element").ElementStyles; +export const breadcrumbStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// Warning: (ae-internal-missing-underscore) The name "Button" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Button extends Button_2 { + // @public + appearance: ButtonAppearance; + // (undocumented) + appearanceChanged(oldValue: ButtonAppearance, newValue: ButtonAppearance): void; + // (undocumented) + connectedCallback(): void; + defaultSlottedContentChanged(): void; +} // @public export type ButtonAppearance = 'accent' | 'lightweight' | 'neutral' | 'outline' | 'stealth'; // @public -export const ButtonStyles: import("@microsoft/fast-element").ElementStyles; +export const buttonStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export const CardStyles: import("@microsoft/fast-element").ElementStyles; // @public -export const CheckboxStyles: import("@microsoft/fast-element").ElementStyles; +export const checkboxStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// Warning: (ae-internal-missing-underscore) The name "Combobox" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Combobox extends Combobox_2 { + // @public + appearance: ComboboxAppearance; + // (undocumented) + appearanceChanged(oldValue: ComboboxAppearance, newValue: ComboboxAppearance): void; + // (undocumented) + connectedCallback(): void; +} // @public export type ComboboxAppearance = SelectAppearance; // @public -export const ComboboxStyles: import("@microsoft/fast-element").ElementStyles; +export const comboboxStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export function createColorPalette(baseColor: any): string[]; // @public -export const DataGridCellStyles: import("@microsoft/fast-element").ElementStyles; +export const dataGridCellStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const DataGridRowStyles: import("@microsoft/fast-element").ElementStyles; +export const dataGridRowStyles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const DataGridStyles: import("@microsoft/fast-element").ElementStyles; +export const dataGridStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export interface DesignSystem { @@ -410,7 +456,7 @@ export interface DesignSystem { export const DesignSystemDefaults: DesignSystem; // @public -export const DialogStyles: import("@microsoft/fast-element").ElementStyles; +export const dialogStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // Warning: (ae-internal-missing-underscore) The name "directionalShadow" should be prefixed with an underscore because the declaration is marked as @internal // @@ -418,7 +464,7 @@ export const DialogStyles: import("@microsoft/fast-element").ElementStyles; export const directionalShadow = "0 calc(var(--elevation) * 0.4px) calc((var(--elevation) * 0.9px)) rgba(0, 0, 0, calc(.13 * (2 - var(--background-luminance, 1))))"; // @public -export const DividerStyles: import("@microsoft/fast-element").ElementStyles; +export const dividerStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export const elevation: string; @@ -429,55 +475,119 @@ export const elevation: string; export const FillStateStyles: ElementStyles; // @public -export const FlipperStyles: import("@microsoft/fast-element").ElementStyles; - -// @public -export class FluentAccordion extends Accordion { -} - -// @public -export class FluentAccordionItem extends AccordionItem { -} - -// @public -export class FluentAnchor extends Anchor { - appearance: AnchorAppearance; - // (undocumented) - appearanceChanged(oldValue: AnchorAppearance, newValue: AnchorAppearance): void; - // @internal (undocumented) - connectedCallback(): void; - // @internal - defaultSlottedContentChanged(): void; -} +export const flipperStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// @public +export const fluentAccordion: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Accordion>; + +// @public +export const fluentAccordionItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof AccordionItem>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentAnchor" is marked as @public, but its signature references "Anchor" which is marked as @internal +// +// @public +export const fluentAnchor: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof Anchor>; // @beta -export class FluentAnchoredRegion extends AnchoredRegion { -} - -// @public -export class FluentBadge extends Badge { - // (undocumented) - appearance: BadgeAppearance; - } - -// @public -export class FluentBreadcrumb extends Breadcrumb { -} - -// @public -export class FluentBreadcrumbItem extends BreadcrumbItem { -} - -// @public -export class FluentButton extends Button { - appearance: ButtonAppearance; - // (undocumented) - appearanceChanged(oldValue: ButtonAppearance, newValue: ButtonAppearance): void; - // @internal (undocumented) - connectedCallback(): void; - // @internal - defaultSlottedContentChanged(): void; -} +export const fluentAnchoredRegion: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof AnchoredRegion>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentBadge" is marked as @public, but its signature references "Badge" which is marked as @internal +// +// @public +export const fluentBadge: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Badge>; + +// @public +export const fluentBreadcrumb: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Breadcrumb>; + +// @public +export const fluentBreadcrumbItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof BreadcrumbItem>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentButton" is marked as @public, but its signature references "Button" which is marked as @internal +// +// @public +export const fluentButton: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof Button>; // @public export class FluentCard extends FluentDesignSystemProvider { @@ -489,29 +599,61 @@ export class FluentCard extends FluentDesignSystemProvider { } // @public -export class FluentCheckbox extends Checkbox { -} - -// @public -export class FluentCombobox extends Combobox { - appearance: ComboboxAppearance; - // @internal (undocumented) - appearanceChanged(oldValue: ComboboxAppearance, newValue: ComboboxAppearance): void; - // @internal (undocumented) - connectedCallback(): void; -} - -// @public -export class FluentDataGrid extends DataGrid { -} - -// @public -export class FluentDataGridCell extends DataGridCell { -} - -// @public -export class FluentDataGridRow extends DataGridRow { -} +export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Checkbox>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentCombobox" is marked as @public, but its signature references "Combobox" which is marked as @internal +// +// @public +export const fluentCombobox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Combobox>; + +// @public +export const fluentDataGrid: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof DataGrid>; + +// @public +export const fluentDataGridCell: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof DataGridCell>; + +// @public +export const fluentDataGridRow: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof DataGridRow>; // @public export type FluentDesignSystem = Omit; @@ -673,135 +815,330 @@ export class FluentDesignSystemProvider extends DesignSystemProvider implements } // @public -export class FluentDialog extends Dialog { -} - -// @public -export class FluentDivider extends Divider { -} - -// @public -export class FluentFlipper extends Flipper { -} - -// @public -export class FluentHorizontalScroll extends HorizontalScroll { - // (undocumented) - connectedCallback(): void; -} - -// @public -export class FluentListbox extends Listbox { -} - -// @public -export class FluentMenu extends Menu { -} - -// @public -export class FluentMenuItem extends MenuItem { -} - -// @public -export class FluentNumberField extends NumberField { - appearance: NumberFieldAppearance; - // @internal (undocumented) - connectedCallback(): void; -} - -// @public -export class FluentOption extends ListboxOption { -} - -// @public -export class FluentProgress extends BaseProgress { -} - -// @public -export class FluentProgressRing extends BaseProgress { -} - -// @public -export class FluentRadio extends Radio { -} - -// @public -export class FluentRadioGroup extends RadioGroup { -} - -// @public -export class FluentSelect extends Select { - appearance: SelectAppearance; - // @internal (undocumented) - appearanceChanged(oldValue: SelectAppearance, newValue: SelectAppearance): void; - // @internal (undocumented) - connectedCallback(): void; -} - -// @public -export class FluentSkeleton extends Skeleton { -} - -// @public -export class FluentSlider extends Slider { -} - -// @public -export class FluentSliderLabel extends SliderLabel { -} - -// @public -export class FluentSwitch extends Switch { -} - -// @public -export class FluentTab extends Tab { -} +export const fluentDialog: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Dialog>; + +// @public +export const fluentDivider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Divider>; + +// @public +export const fluentFlipper: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Flipper>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentHorizontalScroll" is marked as @public, but its signature references "HorizontalScroll" which is marked as @internal +// +// @public +export const fluentHorizontalScroll: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof HorizontalScroll>; + +// @public +export const fluentListbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Listbox>; + +// @public +export const fluentMenu: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Menu>; + +// @public +export const fluentMenuItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof MenuItem>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentNumberField" is marked as @public, but its signature references "NumberField" which is marked as @internal +// +// @public +export const fluentNumberField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof NumberField>; + +// @public +export const fluentOption: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof ListboxOption>; + +// @public +export const fluentProgress: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, defintion: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, defintion: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof BaseProgress>; + +// @public +export const fluentProgressRing: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof BaseProgress>; + +// @public +export const fluentRadio: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Radio>; + +// @public +export const fluentRadioGroup: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof RadioGroup>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentSelect" is marked as @public, but its signature references "Select" which is marked as @internal +// +// @public +export const fluentSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Select>; + +// @public +export const fluentSkeleton: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Skeleton>; + +// @public +export const fluentSlider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Slider>; + +// @public +export const fluentSliderLabel: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof SliderLabel>; + +// @public +export const fluentSwitch: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Switch>; + +// @public +export const fluentTab: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Tab>; + +// @public +export const fluentTabPanel: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof TabPanel>; + +// @public +export const fluentTabs: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Tabs>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentTextArea" is marked as @public, but its signature references "TextArea" which is marked as @internal +// +// @public +export const fluentTextArea: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof TextArea>; + +// Warning: (ae-incompatible-release-tags) The symbol "fluentTextField" is marked as @public, but its signature references "TextField" which is marked as @internal +// +// @public +export const fluentTextField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + shadowOptions: { + delegatesFocus: true; + }; +}, typeof TextField>; + +// @public +export const fluentTooltip: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof Tooltip>; + +// @public +export const fluentTreeItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof TreeItem>; + +// @public +export const fluentTreeView: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; + styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +}, typeof TreeView>; // @public -export class FluentTabPanel extends TabPanel { -} - -// @public -export class FluentTabs extends Tabs { -} - -// @public -export class FluentTextArea extends TextArea { - appearance: TextAreaAppearance; - // @internal (undocumented) - appearanceChanged(oldValue: TextAreaAppearance, newValue: TextAreaAppearance): void; - // @internal (undocumented) - connectedCallback(): void; -} +export const heightNumber = "(var(--base-height-multiplier) + var(--density)) * var(--design-unit)"; -// @public -export class FluentTextField extends TextField { - appearance: TextFieldAppearance; - // @internal (undocumented) - appearanceChanged(oldValue: TextFieldAppearance, newValue: TextFieldAppearance): void; - // @internal (undocumented) +// Warning: (ae-internal-missing-underscore) The name "HorizontalScroll" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal (undocumented) +export class HorizontalScroll extends HorizontalScroll_2 { + // @public (undocumented) connectedCallback(): void; } -// @public -export class FluentTooltip extends Tooltip { -} - -// @public -export class FluentTreeItem extends TreeItem { -} - -// @public -export class FluentTreeView extends TreeView { -} - -// @public -export const heightNumber = "(var(--base-height-multiplier) + var(--density)) * var(--design-unit)"; - -// @public -export const HorizontalScrollStyles: import("@microsoft/fast-element").ElementStyles; - // Warning: (ae-internal-missing-underscore) The name "HypertextStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -822,13 +1159,13 @@ export function isDarkMode(designSystem: DesignSystem): boolean; export const LightweightButtonStyles: ElementStyles; // @public -export const ListboxStyles: import("@microsoft/fast-element").ElementStyles; +export const listboxStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const MenuItemStyles: import("@microsoft/fast-element").ElementStyles; +export const menuItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const MenuStyles: import("@microsoft/fast-element").ElementStyles; +export const menuStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // Warning: (ae-internal-missing-underscore) The name "neutralContrastFill" should be prefixed with an underscore because the declaration is marked as @internal // @@ -1235,14 +1572,24 @@ export const neutralOutlineRest: SwatchRecipe; // @public export const neutralOutlineRestBehavior: CSSCustomPropertyBehavior; +// Warning: (ae-internal-missing-underscore) The name "NumberField" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class NumberField extends NumberField_2 { + // @public + appearance: NumberFieldAppearance; + // (undocumented) + connectedCallback(): void; +} + // @public export type NumberFieldAppearance = 'filled' | 'outline'; // @public -export const NumberFieldStyles: import("@microsoft/fast-element").ElementStyles; +export const numberFieldStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const OptionStyles: import("@microsoft/fast-element").ElementStyles; +export const OptionStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // Warning: (ae-internal-missing-underscore) The name "OutlineButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // @@ -1269,31 +1616,43 @@ export enum PaletteType { export function parseColorString(color: string): ColorRGBA64; // @public -export const ProgressRingStyles: import("@microsoft/fast-element").ElementStyles; +export const progressRingStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const ProgressStyles: import("@microsoft/fast-element").ElementStyles; +export const progressStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const RadioGroupStyles: import("@microsoft/fast-element").ElementStyles; +export const radioGroupStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const RadioStyles: import("@microsoft/fast-element").ElementStyles; +export const RadioStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// Warning: (ae-internal-missing-underscore) The name "Select" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Select extends Select_2 { + // @public + appearance: SelectAppearance; + // (undocumented) + appearanceChanged(oldValue: SelectAppearance, newValue: SelectAppearance): void; + // (undocumented) + connectedCallback(): void; +} // @public export type SelectAppearance = 'filled' | 'outline'; // @public -export const SelectStyles: import("@microsoft/fast-element").ElementStyles; +export const selectStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const SkeletonStyles: import("@microsoft/fast-element").ElementStyles; +export const skeletonStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const SliderLabelStyles: import("@microsoft/fast-element").ElementStyles; +export const sliderLabelStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const SliderStyles: import("@microsoft/fast-element").ElementStyles; +export const sliderStyles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; // @public export enum StandardLuminance { @@ -1309,37 +1668,58 @@ export enum StandardLuminance { export const StealthButtonStyles: ElementStyles; // @public -export const SwitchStyles: import("@microsoft/fast-element").ElementStyles; +export const switchStyles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const TabPanelStyles: import("@microsoft/fast-element").ElementStyles; +export const tabPanelStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const TabsStyles: import("@microsoft/fast-element").ElementStyles; +export const tabsStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const TabStyles: import("@microsoft/fast-element").ElementStyles; +export const tabStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; + +// Warning: (ae-internal-missing-underscore) The name "TextArea" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class TextArea extends TextArea_2 { + // @public + appearance: TextAreaAppearance; + // (undocumented) + appearanceChanged(oldValue: TextAreaAppearance, newValue: TextAreaAppearance): void; + // (undocumented) + connectedCallback(): void; +} // @public export type TextAreaAppearance = 'filled' | 'outline'; // @public -export const TextAreaStyles: import("@microsoft/fast-element").ElementStyles; +export const textAreaStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -// @public -export type TextFieldAppearance = 'filled' | 'outline'; +// Warning: (ae-internal-missing-underscore) The name "TextField" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class TextField extends TextField_2 { + // @public + appearance: TextFieldAppearance; + // (undocumented) + appearanceChanged(oldValue: TextFieldAppearance, newValue: TextFieldAppearance): void; + // (undocumented) + connectedCallback(): void; +} // @public -export const TextFieldStyles: import("@microsoft/fast-element").ElementStyles; +export type TextFieldAppearance = 'filled' | 'outline'; // @public -export const TooltipStyles: import("@microsoft/fast-element").ElementStyles; +export const textFieldStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const TreeItemStyles: import("@microsoft/fast-element").ElementStyles; +export const treeItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public -export const TreeViewStyles: import("@microsoft/fast-element").ElementStyles; +export const treeViewStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // (No @packageDocumentation comment for this package) diff --git a/packages/web-components/src/color-vNext/README.md b/packages/web-components/src/color-vNext/README.md new file mode 100644 index 00000000000000..02586f1f9ca902 --- /dev/null +++ b/packages/web-components/src/color-vNext/README.md @@ -0,0 +1,32 @@ +# Fluent Color Recipes + +Color recipes are named colors who's value is algorithmically defined from a variety of inputs. `@fluentui/web-components` relies on these recipes heavily to achieve expressive theming options while maintaining color accessability targets. + +## Swatch + +A Swatch is a representation of a color that has a `relativeLuminance` value and a method to convert the swatch to a color string. It is used by recipes to determine which colors to use for UI. + +### SwatchRGB + +A concrete implementation of `Swatch`, it is a swatch with red, green, and blue 64bit color channels . + +**Example: Creating a SwatchRGB** + +```ts +import { SwatchRGB } from '@fluentui/web-components'; + +const red = SwatchRGB.create(1, 0, 0); +``` + +## Palette + +A palette is a collection `Swatch` instances, ordered by relative luminance, and provides mechanisms to safely retrieve swatches by index and by target contrast ratios. It also contains a `source` color, which is the color from which the palette is + +### PaletteRGB + +An implementation of `Palette` of `SwatchRGB` instances. + +```ts +// Create a palette from the red swatch +const palette = PaletteRGB.create(red): +``` diff --git a/packages/web-components/src/color-vNext/palette.ts b/packages/web-components/src/color-vNext/palette.ts new file mode 100644 index 00000000000000..92df02283fb38e --- /dev/null +++ b/packages/web-components/src/color-vNext/palette.ts @@ -0,0 +1,143 @@ +import { clamp, ColorRGBA64, ComponentStateColorPalette, parseColorHexRGB } from '@microsoft/fast-colors'; +import { Swatch, SwatchRGB } from './swatch'; +import { binarySearch } from './utilities/binary-search'; +import { directionByIsDark } from './utilities/direction-by-is-dark'; +import { contrast, RelativeLuminance } from './utilities/relative-luminance'; + +/** + * A collection of {@link Swatch} instances + * @public + */ +export interface Palette { + readonly source: T; + readonly swatches: ReadonlyArray; + + /** + * Returns a swatch from the palette that most closely matches + * the contrast ratio provided to a provided reference. + */ + colorContrast(reference: Swatch, contrast: number, initialIndex?: number, direction?: 1 | -1): T; + + /** + * Returns the index of the palette that most closely matches + * the relativeLuminance of the provided swatch + */ + closestIndexOf(reference: RelativeLuminance): number; + + /** + * Gets a swatch by index. Index is clamped to the limits + * of the palette so a Swatch will always be returned. + */ + get(index: number): T; +} + +export type PaletteRGB = Palette; + +export const PaletteRGB = Object.freeze({ + create(source: SwatchRGB): PaletteRGB { + return PaletteRGBImpl.from(source); + }, +}); + +/** + * A {@link Palette} representing RGB swatch values. + * @public + */ +class PaletteRGBImpl implements Palette { + /** + * {@inheritdoc Palette.source} + */ + public readonly source: SwatchRGB; + public readonly swatches: ReadonlyArray; + private lastIndex: number; + private reversedSwatches: ReadonlyArray; + /** + * + * @param source - The source color for the palette + * @param swatches - All swatches in the palette + */ + constructor(source: SwatchRGB, swatches: ReadonlyArray) { + this.source = source; + this.swatches = swatches; + + this.reversedSwatches = Object.freeze([...this.swatches].reverse()); + this.lastIndex = this.swatches.length - 1; + } + + /** + * {@inheritdoc Palette.colorContrast} + */ + public colorContrast( + reference: Swatch, + contrastTarget: number, + initialSearchIndex?: number, + direction?: 1 | -1, + ): SwatchRGB { + if (initialSearchIndex === undefined) { + initialSearchIndex = this.closestIndexOf(reference); + } + + let source: ReadonlyArray = this.swatches; + const endSearchIndex = this.lastIndex; + let startSearchIndex = initialSearchIndex; + + if (direction === undefined) { + direction = directionByIsDark(reference); + } + + const condition = (value: SwatchRGB) => contrast(reference, value) >= contrastTarget; + + if (direction === -1) { + source = this.reversedSwatches; + startSearchIndex = endSearchIndex - startSearchIndex; + } + + return binarySearch(source, condition, startSearchIndex, endSearchIndex); + } + + /** + * {@inheritdoc Palette.get} + */ + public get(index: number): SwatchRGB { + return this.swatches[index] || this.swatches[clamp(index, 0, this.lastIndex)]; + } + + /** + * {@inheritdoc Palette.closestIndexOf} + */ + public closestIndexOf(reference: Swatch): number { + const index = this.swatches.indexOf(reference as SwatchRGB); + + if (index !== -1) { + return index; + } + + const closest = this.swatches.reduce((previous, next) => + Math.abs(next.relativeLuminance - reference.relativeLuminance) < + Math.abs(previous.relativeLuminance - reference.relativeLuminance) + ? next + : previous, + ); + + return this.swatches.indexOf(closest); + } + + /** + * Create a color palette from a provided swatch + * @param source - The source swatch to create a palette from + * @returns + */ + static from(source: SwatchRGB): PaletteRGB { + return new PaletteRGBImpl( + source, + Object.freeze( + new ComponentStateColorPalette({ + baseColor: ColorRGBA64.fromObject(source)!, + }).palette.map(x => { + const _x = parseColorHexRGB(x.toStringHexRGB())!; + return SwatchRGB.create(_x.r, _x.g, _x.b); + }), + ), + ); + } +} diff --git a/packages/web-components/src/color-vNext/recipes/accent-fill.ts b/packages/web-components/src/color-vNext/recipes/accent-fill.ts new file mode 100644 index 00000000000000..8beaccb8bd8076 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/accent-fill.ts @@ -0,0 +1,54 @@ +import { inRange } from 'lodash-es'; +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { isDark } from '../utilities/is-dark'; + +/** + * @internal + */ +export function accentFill( + palette: PaletteRGB, + neutralPaletteRGB: PaletteRGB, + reference: Swatch, + textColor: Swatch, + contrastTarget: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, + selectedDelta: number, + neutralFillRestDelta: number, + neutralFillHoverDelta: number, + neutralFillActiveDelta: number, +) { + const accent = palette.source; + const referenceIndex = neutralPaletteRGB.closestIndexOf(reference); + const swapThreshold = Math.max(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta); + const direction = referenceIndex >= swapThreshold ? -1 : 1; + const paletteLength = palette.swatches.length; + const maxIndex = paletteLength - 1; + const accentIndex = palette.closestIndexOf(accent); + let accessibleOffset = 0; + + while ( + accessibleOffset < direction * hoverDelta && + inRange(accentIndex + accessibleOffset + direction, 0, paletteLength) && + textColor.contrast(palette.get(accentIndex + accessibleOffset + direction)) >= contrastTarget && + inRange(accentIndex + accessibleOffset + direction + direction, 0, maxIndex) + ) { + accessibleOffset += direction; + } + + const hoverIndex = accentIndex + accessibleOffset; + const restIndex = hoverIndex + direction * -1 * hoverDelta; + const activeIndex = restIndex + direction * activeDelta; + const focusIndex = restIndex + direction * focusDelta; + const selectedIndex = restIndex + (isDark(reference) ? selectedDelta * -1 : selectedDelta); + + return { + rest: palette.get(restIndex), + hover: palette.get(hoverIndex), + active: palette.get(activeIndex), + focus: palette.get(focusIndex), + selected: palette.get(selectedIndex), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts b/packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts new file mode 100644 index 00000000000000..3569a795ebbc29 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts @@ -0,0 +1,9 @@ +import { Swatch } from '../swatch'; +import { black, white } from '../utilities/color-constants'; + +/** + * @internal + */ +export function accentForegroundCut(reference: Swatch, contrastTarget: number) { + return reference.contrast(white) >= contrastTarget ? white : black; +} diff --git a/packages/web-components/src/color-vNext/recipes/accent-foreground.ts b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts new file mode 100644 index 00000000000000..98baddf91572d8 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts @@ -0,0 +1,45 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * @internal + */ +export function accentForeground( + palette: PaletteRGB, + reference: Swatch, + contrastTarget: number, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, +) { + const accent = palette.source; + const accentIndex = palette.closestIndexOf(accent); + const direction = directionByIsDark(reference); + const startIndex = + accentIndex + + (direction === 1 ? Math.min(restDelta, hoverDelta) : Math.max(direction * restDelta, direction * hoverDelta)); + const accessibleSwatch = palette.colorContrast(reference, contrastTarget, startIndex, direction); + const accessibleIndex1 = palette.closestIndexOf(accessibleSwatch); + const accessibleIndex2 = accessibleIndex1 + direction * Math.abs(restDelta - hoverDelta); + const indexOneIsRestState = direction === 1 ? restDelta < hoverDelta : direction * restDelta > direction * hoverDelta; + + let restIndex: number; + let hoverIndex: number; + + if (indexOneIsRestState) { + restIndex = accessibleIndex1; + hoverIndex = accessibleIndex2; + } else { + restIndex = accessibleIndex2; + hoverIndex = accessibleIndex1; + } + + return { + rest: palette.get(restIndex), + hover: palette.get(hoverIndex), + active: palette.get(restIndex + direction * activeDelta), + focus: palette.get(restIndex + direction * focusDelta), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-divider.ts b/packages/web-components/src/color-vNext/recipes/neutral-divider.ts new file mode 100644 index 00000000000000..88ed5a7b29d9e8 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-divider.ts @@ -0,0 +1,15 @@ +import { Swatch } from '../swatch'; +import { PaletteRGB } from '../palette'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * The neutralDivider color recipe + * @param palette - The palette to operate on + * @param reference - The reference color + * @param delta - The offset from the reference + * + * @internal + */ +export function neutralDivider(palette: PaletteRGB, reference: Swatch, delta: number) { + return palette.get(palette.closestIndexOf(reference) + directionByIsDark(reference) * delta); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts new file mode 100644 index 00000000000000..d55f2fb27fab3a --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts @@ -0,0 +1,11 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; + +/** + * @internal + */ +export function neutralFillCard(palette: PaletteRGB, reference: Swatch, delta: number) { + const referenceIndex = palette.closestIndexOf(reference); + + return palette.get(referenceIndex - (referenceIndex < delta ? delta * -1 : delta)); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts new file mode 100644 index 00000000000000..51984d0b28144e --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts @@ -0,0 +1,27 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * @internal + */ +export function neutralFillInput( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, + selectedDelta: number, +) { + const direction = directionByIsDark(reference); + const referenceIndex = palette.closestIndexOf(reference); + + return { + rest: palette.get(referenceIndex - direction * restDelta), + hover: palette.get(referenceIndex - direction * hoverDelta), + active: palette.get(referenceIndex - direction * activeDelta), + focus: palette.get(referenceIndex - direction * focusDelta), + selected: palette.get(referenceIndex - direction * selectedDelta), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts new file mode 100644 index 00000000000000..bca50d1403a648 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts @@ -0,0 +1,41 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; + +/** + * @internal + */ +export function neutralFillStealth( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, + selectedDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, + fillFocusDelta: number, +) { + const swapThreshold = Math.max( + restDelta, + hoverDelta, + activeDelta, + focusDelta, + fillRestDelta, + fillHoverDelta, + fillActiveDelta, + fillFocusDelta, + ); + + const referenceIndex = palette.closestIndexOf(reference); + const direction: 1 | -1 = referenceIndex >= swapThreshold ? -1 : 1; + + return { + rest: palette.get(referenceIndex + direction * restDelta), + hover: palette.get(referenceIndex + direction * hoverDelta), + active: palette.get(referenceIndex + direction * activeDelta), + focus: palette.get(referenceIndex + direction * focusDelta), + selected: palette.get(referenceIndex + direction * selectedDelta), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts new file mode 100644 index 00000000000000..f96e1dce1cc49d --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts @@ -0,0 +1,37 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * @internal + */ +export function neutralFillToggle( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, +) { + const direction = directionByIsDark(reference); + const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 4.5)); + const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); + const indexOneIsRest = direction === 1 ? restDelta < hoverDelta : direction * restDelta > direction * hoverDelta; + let restIndex: number; + let hoverIndex: number; + + if (indexOneIsRest) { + restIndex = accessibleIndex; + hoverIndex = accessibleIndex2; + } else { + restIndex = accessibleIndex2; + hoverIndex = accessibleIndex; + } + + return { + rest: palette.get(restIndex), + hover: palette.get(hoverIndex), + active: palette.get(restIndex + direction * activeDelta), + focus: palette.get(restIndex + direction * focusDelta), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts new file mode 100644 index 00000000000000..3e8bef1f5e6b1d --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts @@ -0,0 +1,34 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; + +/** + * + * @param palette - The palette to operate on + * @param reference - The reference color to calculate a color for + * @param delta - The offset from the reference's location + * @param threshold - Determines if a lighter or darker color than the reference will be picked. + * @returns + * + * @internal + */ +export function neutralFill( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, + selectedDelta: number, +) { + const referenceIndex = palette.closestIndexOf(reference); + const threshold = Math.max(restDelta, hoverDelta, activeDelta, focusDelta); + const direction = referenceIndex >= threshold ? -1 : 1; + + return { + rest: palette.get(referenceIndex + direction * restDelta), + hover: palette.get(referenceIndex + direction * hoverDelta), + active: palette.get(referenceIndex + direction * activeDelta), + focus: palette.get(referenceIndex + direction * focusDelta), + selected: palette.get(referenceIndex + direction * selectedDelta), + }; +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts b/packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts new file mode 100644 index 00000000000000..933e901e6995e1 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts @@ -0,0 +1,12 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +export function neutralFocusInnerAccent(palette: PaletteRGB, reference: Swatch, focusColor: Swatch) { + return palette.colorContrast( + focusColor, + 3.5, + palette.closestIndexOf(palette.source), + (directionByIsDark(reference) * -1) as 1 | -1, + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-focus.ts b/packages/web-components/src/color-vNext/recipes/neutral-focus.ts new file mode 100644 index 00000000000000..c1f84cbf5625b8 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-focus.ts @@ -0,0 +1,9 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; + +/** + * @internal + */ +export function neutralFocus(palette: PaletteRGB, reference: Swatch) { + return palette.colorContrast(reference, 3.5); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts b/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts new file mode 100644 index 00000000000000..981e01aa9d5f02 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts @@ -0,0 +1,13 @@ +import { Swatch } from '../swatch'; +import { PaletteRGB } from '../palette'; + +/** + * The neutralForegroundHint color recipe + * @param palette - The palette to operate on + * @param reference - The reference color + * + * @internal + */ +export function neutralForegroundHint(palette: PaletteRGB, reference: Swatch) { + return palette.colorContrast(reference, 4.5); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts b/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts new file mode 100644 index 00000000000000..35c64910f122ec --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts @@ -0,0 +1,9 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; + +/** + * @internal + */ +export function neutralForeground(palette: PaletteRGB, reference: Swatch) { + return palette.colorContrast(reference, 14); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts new file mode 100644 index 00000000000000..f0aa2cc3cc5a42 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts @@ -0,0 +1,7 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; + +export function neutralLayerL1(palette: PaletteRGB, baseLayerLuminance: number) { + return palette.get(palette.closestIndexOf(baseLayerLuminanceSwatch(baseLayerLuminance))); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts new file mode 100644 index 00000000000000..f7b4768b72a0db --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts @@ -0,0 +1,31 @@ +import { PaletteRGB } from '../palette'; +import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; + +export function neutralLayerL2Index( + palette: PaletteRGB, + luminance: number, + cardDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +) { + return Math.max( + palette.closestIndexOf(baseLayerLuminanceSwatch(luminance)) + cardDelta, + fillRestDelta, + fillHoverDelta, + fillActiveDelta, + ); +} + +export function neutralLayerL2( + palette: PaletteRGB, + luminance: number, + cardDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +) { + return palette.get( + neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta), + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts new file mode 100644 index 00000000000000..f0416e0ed1dfc4 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts @@ -0,0 +1,15 @@ +import { PaletteRGB } from '../palette'; +import { neutralLayerL2Index } from './neutral-layer-L2'; + +export function neutralLayerL3( + palette: PaletteRGB, + luminance: number, + cardDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +) { + return palette.get( + neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + cardDelta, + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts new file mode 100644 index 00000000000000..7b75a75668cd76 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts @@ -0,0 +1,15 @@ +import { PaletteRGB } from '../palette'; +import { neutralLayerL2Index } from './neutral-layer-L2'; + +export function neutralLayerL4( + palette: PaletteRGB, + luminance: number, + cardDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +) { + return palette.get( + neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + cardDelta * 2, + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts new file mode 100644 index 00000000000000..f050d507bb8fe1 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts @@ -0,0 +1,9 @@ +import { PaletteRGB } from '../palette'; +import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; + +/** + * @internal + */ +export function neutralLayerCard(palette: PaletteRGB, relativeLuminance: number, cardDelta: number) { + return palette.get(palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - cardDelta); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts new file mode 100644 index 00000000000000..cb90ef69bdde69 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts @@ -0,0 +1,10 @@ +import { PaletteRGB } from '../palette'; +import { neutralLayerCard } from './neutral-layer-card'; + +/** + * @internal + */ +export function neutralLayerFloating(palette: PaletteRGB, relativeLuminance: number, cardDelta: number) { + const cardIndex = palette.closestIndexOf(neutralLayerCard(palette, relativeLuminance, cardDelta)); + return palette.get(cardIndex - cardDelta); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-outline.ts b/packages/web-components/src/color-vNext/recipes/neutral-outline.ts new file mode 100644 index 00000000000000..d0149486594760 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-outline.ts @@ -0,0 +1,30 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * @internal + */ +export function neutralOutline( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, +) { + const referenceIndex = palette.closestIndexOf(reference); + const direction = directionByIsDark(reference); + + const restIndex = referenceIndex + direction * restDelta; + const hoverIndex = restIndex + direction * (hoverDelta - restDelta); + const activeIndex = restIndex + direction * (activeDelta - restDelta); + const focusIndex = restIndex + direction * (focusDelta - restDelta); + + return { + rest: palette.get(restIndex), + hover: palette.get(hoverIndex), + active: palette.get(activeIndex), + focus: palette.get(focusIndex), + }; +} diff --git a/packages/web-components/src/color-vNext/swatch.ts b/packages/web-components/src/color-vNext/swatch.ts new file mode 100644 index 00000000000000..3e761f41a6f7dc --- /dev/null +++ b/packages/web-components/src/color-vNext/swatch.ts @@ -0,0 +1,50 @@ +import { ColorRGBA64, rgbToRelativeLuminance } from '@microsoft/fast-colors'; +import { contrast, RelativeLuminance } from './utilities/relative-luminance'; + +/** + * Represents a color in a {@link Palette} + * @public + */ +export interface Swatch extends RelativeLuminance { + toColorString(): string; + contrast(target: RelativeLuminance): number; +} + +export interface SwatchRGB extends Swatch { + r: number; + g: number; + b: number; +} + +export const SwatchRGB = Object.freeze({ + create(r: number, g: number, b: number): SwatchRGB { + return new SwatchRGBImpl(r, g, b); + }, +}); + +/** + * A RGB implementation of {@link Swatch} + * @public + */ +class SwatchRGBImpl extends ColorRGBA64 implements Swatch { + readonly relativeLuminance: number; + + /** + * + * @param red - Red channel expressed as a number between 0 and 1 + * @param green - Green channel expressed as a number between 0 and 1 + * @param blue - Blue channel expressed as a number between 0 and 1 + */ + constructor(red: number, green: number, blue: number) { + super(red, green, blue, 1); + this.relativeLuminance = rgbToRelativeLuminance(this); + } + + public toColorString = this.toStringHexRGB; + public contrast = contrast.bind(null, this); + public createCSS = this.toColorString; + + static fromObject(obj: { r: number; g: number; b: number }) { + return new SwatchRGBImpl(obj.r, obj.g, obj.b); + } +} diff --git a/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts b/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts new file mode 100644 index 00000000000000..0345451adf3602 --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts @@ -0,0 +1,5 @@ +import { SwatchRGB } from '../swatch'; + +export function baseLayerLuminanceSwatch(luminance: number) { + return SwatchRGB.create(luminance, luminance, luminance); +} diff --git a/packages/web-components/src/color-vNext/utilities/binary-search.ts b/packages/web-components/src/color-vNext/utilities/binary-search.ts new file mode 100644 index 00000000000000..1cf193f15d2310 --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/binary-search.ts @@ -0,0 +1,31 @@ +/** + * @internal + */ +export function binarySearch( + valuesToSearch: T[] | ReadonlyArray, + searchCondition: (value: T) => boolean, + startIndex: number = 0, + endIndex: number = valuesToSearch.length - 1, +): T { + if (endIndex === startIndex) { + return valuesToSearch[startIndex]; + } + + const middleIndex: number = Math.floor((endIndex - startIndex) / 2) + startIndex; + + // Check to see if this passes on the item in the center of the array + // if it does check the previous values + return searchCondition(valuesToSearch[middleIndex]) + ? binarySearch( + valuesToSearch, + searchCondition, + startIndex, + middleIndex, // include this index because it passed the search condition + ) + : binarySearch( + valuesToSearch, + searchCondition, + middleIndex + 1, // exclude this index because it failed the search condition + endIndex, + ); +} diff --git a/packages/web-components/src/color-vNext/utilities/color-constants.ts b/packages/web-components/src/color-vNext/utilities/color-constants.ts new file mode 100644 index 00000000000000..9e17f28aa9a05d --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/color-constants.ts @@ -0,0 +1,23 @@ +import { parseColorHexRGB } from '@microsoft/fast-colors'; +import { SwatchRGB } from '../swatch'; + +/** + * @internal + */ +export const white = SwatchRGB.create(1, 1, 1); +/** + * @internal + */ +export const black = SwatchRGB.create(0, 0, 0); + +/** + * @internal + */ +export const middleGrey = SwatchRGB.create(0.5, 0.5, 0.5); + +/** + * @internal + */ + +const base = parseColorHexRGB('#0078D4')!; +export const accentBase = SwatchRGB.create(base.r, base.g, base.b); diff --git a/packages/web-components/src/color-vNext/utilities/direction-by-is-dark.ts b/packages/web-components/src/color-vNext/utilities/direction-by-is-dark.ts new file mode 100644 index 00000000000000..6c31b711d563e5 --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/direction-by-is-dark.ts @@ -0,0 +1,9 @@ +import { Swatch } from '../swatch'; +import { isDark } from './is-dark'; + +/** + * @internal + */ +export function directionByIsDark(color: Swatch): 1 | -1 { + return isDark(color) ? -1 : 1; +} diff --git a/packages/web-components/src/color-vNext/utilities/is-dark.ts b/packages/web-components/src/color-vNext/utilities/is-dark.ts new file mode 100644 index 00000000000000..9a749dcaa237f8 --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/is-dark.ts @@ -0,0 +1,20 @@ +import { Swatch } from '../swatch'; + +/* + * A color is in "dark" if there is more contrast between #000000 and a reference + * color than #FFFFFF and the reference color. That threshold can be expressed as a relative luminance + * using the contrast formula as (1 + 0.5) / (R + 0.05) === (R + 0.05) / (0 + 0.05), + * which reduces to the following, where 'R' is the relative luminance of the reference color + */ +const target = (-0.1 + Math.sqrt(0.21)) / 2; + +/** + * Determines if a color should be considered Dark Mode + * @param color - The color to check to mode of + * @returns boolean + * + * @internal + */ +export function isDark(color: Swatch): boolean { + return color.relativeLuminance <= target; +} diff --git a/packages/web-components/src/color-vNext/utilities/relative-luminance.ts b/packages/web-components/src/color-vNext/utilities/relative-luminance.ts new file mode 100644 index 00000000000000..e530348e1ed293 --- /dev/null +++ b/packages/web-components/src/color-vNext/utilities/relative-luminance.ts @@ -0,0 +1,19 @@ +/** + * @public + */ +export interface RelativeLuminance { + /** + * A number between 0 and 1, calculated by {@link https://www.w3.org/WAI/GL/wiki/Relative_luminance} + */ + readonly relativeLuminance: number; +} + +/** + * @internal + */ +export function contrast(a: RelativeLuminance, b: RelativeLuminance): number { + const L1 = a.relativeLuminance > b.relativeLuminance ? a : b; + const L2 = a.relativeLuminance > b.relativeLuminance ? b : a; + + return (L1.relativeLuminance + 0.05) / (L2.relativeLuminance + 0.05); +} diff --git a/packages/web-components/src/color/accent-fill.spec.ts b/packages/web-components/src/color/accent-fill.spec.ts index a1587bcd2d0f9f..e0a291f761cab7 100644 --- a/packages/web-components/src/color/accent-fill.spec.ts +++ b/packages/web-components/src/color/accent-fill.spec.ts @@ -1,12 +1,12 @@ import { expect } from 'chai'; import { - accentBaseColor, accentPalette as getAccentPalette, DesignSystem, DesignSystemDefaults, neutralPalette as getNeutralPalette, } from '../fluent-design-system'; import { + accentFill, accentFillActive, accentFillHover, accentFillLargeActive, @@ -18,6 +18,12 @@ import { } from './accent-fill'; import { findClosestSwatchIndex, Palette } from './palette'; import { contrast, Swatch } from './common'; +import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { neutralBaseColor, accentBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { accentFill as accentFillNew } from "../color-vNext/recipes/accent-fill"; +import { accentForegroundCut as accentForegroundCutNew } from '../color-vNext/recipes/accent-foreground-cut'; import { accentForegroundCut } from './accent-foreground-cut'; describe('accentFill', (): void => { @@ -26,7 +32,7 @@ describe('accentFill', (): void => { const accentIndex: number = findClosestSwatchIndex( getAccentPalette, - accentBaseColor(DesignSystemDefaults), + accentBaseColor, )(DesignSystemDefaults); it('should operate on design system defaults', (): void => { @@ -69,3 +75,44 @@ describe('accentFill', (): void => { }); }); }); + +describe("ensure parity between old and new recipe implementation", () => { + const neutralColor = (parseColorHexRGB(neutralBaseColor)!) + const neutralPalette = PaletteRGB.create(SwatchRGB.create(neutralColor.r, neutralColor.g, neutralColor.b)); + const accentColor = (parseColorHexRGB(accentBaseColor)!) + const accentPalette = PaletteRGB.create(SwatchRGB.create(accentColor.r, accentColor.g, accentColor.b)); + neutralPalette.swatches.forEach(( newSwatch, index ) => { + const { + accentFillHoverDelta, + accentFillActiveDelta, + accentFillFocusDelta, + accentFillSelectedDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + } = DesignSystemDefaults; + + const oldValues = accentFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const textColor = accentForegroundCutNew(accentPalette.source, 4.5); + const newValues = accentFillNew( + accentPalette, + neutralPalette, + newSwatch, + textColor, + 4.5, + accentFillHoverDelta, + accentFillActiveDelta, + accentFillFocusDelta, + accentFillSelectedDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta + ) + + for (let key in oldValues) { + it(`${newSwatch.toColorString()}old value for ${key} at ${oldValues[key]} should be equal to new value`, () => { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } ) + } + }) +}) diff --git a/packages/web-components/src/color/accent-foreground-cut.spec.ts b/packages/web-components/src/color/accent-foreground-cut.spec.ts index cdd144287fb6d4..4a013a97c0ba06 100644 --- a/packages/web-components/src/color/accent-foreground-cut.spec.ts +++ b/packages/web-components/src/color/accent-foreground-cut.spec.ts @@ -1,7 +1,12 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystemDefaults, DesignSystem } from '../fluent-design-system'; import { accentForegroundCut, accentForegroundCutLarge } from './accent-foreground-cut'; -import { Swatch } from './common'; +import { neutralBaseColor, accentBaseColor } from "./color-constants"; +import { Swatch } from "./common"; +import { accentForegroundCut as accentForegroundCutNew } from "../color-vNext/recipes/accent-foreground-cut"; describe('Cut text', (): void => { it('should return white by by default', (): void => { @@ -22,3 +27,19 @@ describe('Cut text', (): void => { ).to.equal('#000000'); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(accentBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + it( + `should be the same for ${palette.source}`, + () => { + expect( + accentForegroundCut( + { ...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.accentBaseColor } + ) + ).to.be.equal( + accentForegroundCutNew(palette.source, 4.5).toColorString().toUpperCase() + ) + } + ) +}) diff --git a/packages/web-components/src/color/accent-foreground.spec.ts b/packages/web-components/src/color/accent-foreground.spec.ts index 07ed01a6dd6b96..1bca007eb5eec5 100644 --- a/packages/web-components/src/color/accent-foreground.spec.ts +++ b/packages/web-components/src/color/accent-foreground.spec.ts @@ -13,9 +13,14 @@ import { accentForegroundLargeHover, accentForegroundLargeRest, accentForegroundRest, + accentForeground } from './accent-foreground'; import { Palette } from './palette'; import { contrast, Swatch } from './common'; +import { accentBaseColor, neutralBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { accentForeground as accentForegroundNew } from "../color-vNext/recipes/accent-foreground"; describe('accentForeground', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -93,3 +98,39 @@ describe('accentForeground', (): void => { ); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const neutralBase = parseColorHexRGB(neutralBaseColor)!; + const accentBase = parseColorHexRGB(accentBaseColor)!; + + const neutralPalette = PaletteRGB.create(SwatchRGB.create(neutralBase.r, neutralBase.g, neutralBase.b)); + const accentPalette = PaletteRGB.create(SwatchRGB.create(accentBase.r, accentBase.g, accentBase.b)); + + neutralPalette.swatches.forEach((newSwatch, index) => { + const { + accentForegroundRestDelta, + accentForegroundFocusDelta, + accentForegroundActiveDelta, + accentForegroundHoverDelta + } = DesignSystemDefaults; + const oldValues = accentForeground({ + ...DesignSystemDefaults, + backgroundColor: DesignSystemDefaults.neutralPalette[index], + }); + const newValues = accentForegroundNew( + accentPalette, + newSwatch, + 4.5, + accentForegroundRestDelta, + accentForegroundHoverDelta, + accentForegroundActiveDelta, + accentForegroundFocusDelta, + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in newValues) { + expect(oldValues[key]).to.equal( + newValues[key].toColorString().toUpperCase() + ); + } + }); + }); +}); diff --git a/packages/web-components/src/color/neutral-divider.spec.ts b/packages/web-components/src/color/neutral-divider.spec.ts index 289674ebeb0b9d..5facf632d7e0f9 100644 --- a/packages/web-components/src/color/neutral-divider.spec.ts +++ b/packages/web-components/src/color/neutral-divider.spec.ts @@ -1,5 +1,10 @@ +import { ColorRGBA64, parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; +import { PaletteRGB } from "../color-vNext/palette"; +import { neutralDivider } from "../color-vNext/recipes/neutral-divider"; +import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystemDefaults } from '../fluent-design-system'; +import { neutralBaseColor } from "./color-constants"; import { neutralDividerRest } from './neutral-divider'; describe('neutralDividerRest', (): void => { @@ -11,3 +16,14 @@ describe('neutralDividerRest', (): void => { expect(typeof neutralDividerRest(() => '#FFF')).to.equal('function'); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + it(`should be the same for ${newSwatch}`, () => { + expect(neutralDivider(palette, newSwatch, DesignSystemDefaults.neutralDividerRestDelta).toColorString().toUpperCase()).to.equal( + neutralDividerRest({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) + ) + }) + }) +}) diff --git a/packages/web-components/src/color/neutral-fill-card.spec.ts b/packages/web-components/src/color/neutral-fill-card.spec.ts index fbd27a12f5d80f..d78e10eeca9689 100644 --- a/packages/web-components/src/color/neutral-fill-card.spec.ts +++ b/packages/web-components/src/color/neutral-fill-card.spec.ts @@ -1,6 +1,11 @@ -import { expect } from 'chai'; +import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { expect } from "chai"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; -import { neutralFillCard } from './neutral-fill-card'; +import { neutralBaseColor } from "./color-constants"; +import { neutralFillCard } from "./neutral-fill-card"; +import { neutralFillCard as neutralFillCardNew } from "../color-vNext/recipes/neutral-fill-card" describe('neutralFillCard', (): void => { it('should operate on design system defaults', (): void => { @@ -40,3 +45,15 @@ describe('neutralFillCard', (): void => { ); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + const { neutralFillCardDelta } = DesignSystemDefaults; + palette.swatches.forEach(( newSwatch, index ) => { + it(`should be the same for ${newSwatch}`, () => { + expect( + neutralFillCard({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) + ).to.be.equal(neutralFillCardNew( palette, newSwatch, neutralFillCardDelta).toColorString().toUpperCase()) + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-fill-input.spec.ts b/packages/web-components/src/color/neutral-fill-input.spec.ts index a6b2a4f1355361..74ab26b1397734 100644 --- a/packages/web-components/src/color/neutral-fill-input.spec.ts +++ b/packages/web-components/src/color/neutral-fill-input.spec.ts @@ -1,10 +1,14 @@ -import { expect } from 'chai'; +import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { expect } from "chai"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; import { accentPalette as getAccentPalette, DesignSystem, DesignSystemDefaults, neutralPalette as getNeutralPalette, } from '../fluent-design-system'; +import { neutralBaseColor } from "./color-constants"; import { clamp, FillSwatchFamily, Swatch } from './common'; import { neutralFillInput, @@ -15,6 +19,7 @@ import { neutralFillInputSelected, } from './neutral-fill-input'; import { isDarkMode, Palette } from './palette'; +import { neutralFillInput as neutralFillInputNew } from "../color-vNext/recipes/neutral-fill-input"; describe('neutralFillInput', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -107,3 +112,31 @@ describe('neutralFillInput', (): void => { }); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { + neutralFillInputRestDelta, + neutralFillInputHoverDelta, + neutralFillInputActiveDelta, + neutralFillInputFocusDelta, + neutralFillInputSelectedDelta + } = DesignSystemDefaults; + const oldValues = neutralFillInput({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralFillInputNew( + palette, + newSwatch, + neutralFillInputRestDelta, + neutralFillInputHoverDelta, + neutralFillInputActiveDelta, + neutralFillInputFocusDelta, + neutralFillInputSelectedDelta + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-fill-stealth.spec.ts b/packages/web-components/src/color/neutral-fill-stealth.spec.ts index 7433a16ceff17e..7cb6cd2ce5413f 100644 --- a/packages/web-components/src/color/neutral-fill-stealth.spec.ts +++ b/packages/web-components/src/color/neutral-fill-stealth.spec.ts @@ -1,3 +1,4 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; import { accentPalette as getAccentPalette, @@ -15,6 +16,10 @@ import { } from './neutral-fill-stealth'; import { Palette } from './palette'; import { FillSwatchFamily, Swatch } from './common'; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { neutralBaseColor } from "./color-constants"; +import { neutralFillStealth as neutralFillStealthNew } from "../color-vNext/recipes/neutral-fill-stealth"; describe('neutralFillStealth', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -107,3 +112,39 @@ describe('neutralFillStealth', (): void => { }); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { + neutralFillStealthRestDelta, + neutralFillStealthHoverDelta, + neutralFillStealthActiveDelta, + neutralFillStealthFocusDelta, + neutralFillStealthSelectedDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta + } = DesignSystemDefaults; + const oldValues = neutralFillStealth({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralFillStealthNew( + palette, + newSwatch, + neutralFillStealthRestDelta, + neutralFillStealthHoverDelta, + neutralFillStealthActiveDelta, + neutralFillStealthFocusDelta, + neutralFillStealthSelectedDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-fill-toggle.spec.ts b/packages/web-components/src/color/neutral-fill-toggle.spec.ts new file mode 100644 index 00000000000000..1c750cf6ed57f0 --- /dev/null +++ b/packages/web-components/src/color/neutral-fill-toggle.spec.ts @@ -0,0 +1,30 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { expect } from "chai"; +import { PaletteRGB } from "../color-vNext/palette"; +import { neutralFillToggle as neutralFillToggleNew } from "../color-vNext/recipes/neutral-fill-toggle"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { DesignSystemDefaults } from "../fluent-design-system"; +import { neutralBaseColor } from "./color-constants"; +import { neutralFillToggle } from "./neutral-fill-toggle"; + +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { neutralFillToggleHoverDelta, neutralFillToggleActiveDelta, neutralFillToggleFocusDelta} = DesignSystemDefaults; + const oldValues = neutralFillToggle({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralFillToggleNew( + palette, + newSwatch, + 0, + neutralFillToggleHoverDelta, + neutralFillToggleActiveDelta, + neutralFillToggleFocusDelta, + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-fill.spec.ts b/packages/web-components/src/color/neutral-fill.spec.ts index dd26ede0b3b898..15024e73fe40f4 100644 --- a/packages/web-components/src/color/neutral-fill.spec.ts +++ b/packages/web-components/src/color/neutral-fill.spec.ts @@ -1,3 +1,4 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; import { accentPalette as getAccentPalette, @@ -15,6 +16,10 @@ import { } from './neutral-fill'; import { Palette } from './palette'; import { FillSwatchFamily, Swatch } from './common'; +import { neutralBaseColor } from "./color-constants"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { PaletteRGB } from "../color-vNext/palette"; +import { neutralFill as neutralFillNew } from "../color-vNext/recipes/neutral-fill" describe('neutralFill', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -102,3 +107,17 @@ describe('neutralFill', (): void => { }); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta, neutralFillSelectedDelta } = DesignSystemDefaults; + const oldValues = neutralFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralFillNew(palette, newSwatch, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta, neutralFillSelectedDelta ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-focus.spec.ts b/packages/web-components/src/color/neutral-focus.spec.ts index 2335caa3ad8409..73edb558572c60 100644 --- a/packages/web-components/src/color/neutral-focus.spec.ts +++ b/packages/web-components/src/color/neutral-focus.spec.ts @@ -1,7 +1,12 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; import { neutralFocus } from './neutral-focus'; import { contrast } from './common'; +import { neutralBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { neutralFocus as neutralFocusNew } from "../color-vNext/recipes/neutral-focus"; describe('neutralFocus', (): void => { it('should return a string when invoked with an object', (): void => { @@ -16,3 +21,12 @@ describe('neutralFocus', (): void => { expect(contrast(neutralFocus({} as DesignSystem), '#FFF')).to.be.gte(3.5); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + it(`should be the same for ${newSwatch}`, () => { + expect(neutralFocus({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(neutralFocusNew( palette, newSwatch).toColorString().toUpperCase()) + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-foreground-hint.spec.ts b/packages/web-components/src/color/neutral-foreground-hint.spec.ts index a4cb11f2a41228..75d8bae6f569a2 100644 --- a/packages/web-components/src/color/neutral-foreground-hint.spec.ts +++ b/packages/web-components/src/color/neutral-foreground-hint.spec.ts @@ -1,3 +1,4 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; import { accentPalette as getAccentPalette, @@ -7,6 +8,11 @@ import { import { neutralForegroundHint, neutralForegroundHintLarge } from './neutral-foreground-hint'; import { Palette } from './palette'; import { contrast, Swatch, SwatchRecipe } from './common'; +import { neutralBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { neutralForegroundHint as neutralForegroundHintNew } from "../color-vNext/recipes/neutral-foreground-hint"; + describe('neutralForegroundHint', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); @@ -57,3 +63,14 @@ describe('neutralForegroundHint', (): void => { }); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + it(`should be the same for ${newSwatch}`, () => { + expect(neutralForegroundHintNew(palette, newSwatch).toColorString().toUpperCase()).to.equal( + neutralForegroundHint({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) + ) + }) + }) +}) diff --git a/packages/web-components/src/color/neutral-foreground.spec.ts b/packages/web-components/src/color/neutral-foreground.spec.ts index a4cf9f4965d051..84a37d11b359c2 100644 --- a/packages/web-components/src/color/neutral-foreground.spec.ts +++ b/packages/web-components/src/color/neutral-foreground.spec.ts @@ -1,7 +1,13 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; +import { PaletteRGB } from "../color-vNext/palette"; +import { neutralForeground } from "../color-vNext/recipes/neutral-foreground"; +import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystemDefaults } from '../fluent-design-system'; import { neutralForegroundActive, neutralForegroundHover, neutralForegroundRest } from './neutral-foreground'; -import { contrast } from './common'; +import { neutralBaseColor } from "./color-constants"; +import { contrast } from "./common"; + describe('neutralForeground', (): void => { it('should return a string when invoked with an object', (): void => { @@ -50,3 +56,12 @@ describe('neutralForeground', (): void => { ).to.be.gte(14); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + it(`should be the same for ${newSwatch}`, () => { + expect(neutralForegroundRest({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(neutralForeground( palette, newSwatch).toColorString().toUpperCase()) + }); + }) +}) diff --git a/packages/web-components/src/color/neutral-layer.spec.ts b/packages/web-components/src/color/neutral-layer.spec.ts index b617e7cffb3b12..74cdb9ce30afb3 100644 --- a/packages/web-components/src/color/neutral-layer.spec.ts +++ b/packages/web-components/src/color/neutral-layer.spec.ts @@ -1,3 +1,4 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from 'chai'; import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; import { @@ -10,6 +11,15 @@ import { neutralLayerL4, StandardLuminance, } from './neutral-layer'; +import { + neutralLayerFloating as neutralLayerFloatingNew +} from '../color-vNext/recipes/neutral-layer-floating'; +import { + neutralLayerCard as neutralLayerCardNew +} from '../color-vNext/recipes/neutral-layer-card'; +import { neutralBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; const lightModeDesignSystem: DesignSystem = Object.assign({}, DesignSystemDefaults, { baseLayerLuminance: StandardLuminance.LightMode, @@ -129,6 +139,13 @@ describe('neutralLayer', (): void => { expect(color).not.to.equal(neutralLayerFloating(DesignSystemDefaults)); expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; }); + it("should have a new implementation that matches the old implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + + expect(neutralLayerFloating(lightModeDesignSystem)).to.equal(neutralLayerFloatingNew(palette, StandardLuminance.LightMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + expect(neutralLayerFloating(darkModeDesignSystem)).to.equal(neutralLayerFloatingNew(palette, StandardLuminance.DarkMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + }) }); describe('neutralLayerCardContainer', (): void => { it('should return a color from the neutral palette', (): void => { @@ -151,5 +168,12 @@ describe('neutralLayer', (): void => { expect(color).not.to.equal(neutralLayerCard(DesignSystemDefaults)); expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; }); + it("should have a new implementation that matches the old implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + + expect(neutralLayerCard(lightModeDesignSystem)).to.equal(neutralLayerCardNew(palette, StandardLuminance.LightMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + expect(neutralLayerCard(darkModeDesignSystem)).to.equal(neutralLayerCardNew(palette, StandardLuminance.DarkMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + }) }); }); diff --git a/packages/web-components/src/color/neutral-outline.spec.ts b/packages/web-components/src/color/neutral-outline.spec.ts index 6f9810389b7064..af942280a234c5 100644 --- a/packages/web-components/src/color/neutral-outline.spec.ts +++ b/packages/web-components/src/color/neutral-outline.spec.ts @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import { isColorStringHexRGB } from '@microsoft/fast-colors'; +import { isColorStringHexRGB, parseColorHexRGB } from "@microsoft/fast-colors"; import { DesignSystem, DesignSystemDefaults, @@ -15,6 +15,10 @@ import { } from './neutral-outline'; import { Palette } from './palette'; import { Swatch, SwatchFamily } from './common'; +import { neutralBaseColor } from "./color-constants"; +import { PaletteRGB } from "../color-vNext/palette"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { neutralOutline as neutralOutlineNew } from "../color-vNext/recipes/neutral-outline" describe('neutralOutline', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -80,3 +84,24 @@ describe('neutralOutline', (): void => { }); }); }); +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { neutralOutlineRestDelta, neutralOutlineHoverDelta, neutralOutlineFocusDelta, neutralOutlineActiveDelta } = DesignSystemDefaults; + const oldValues = neutralOutline({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralOutlineNew( + palette, + newSwatch, + neutralOutlineRestDelta, + neutralOutlineHoverDelta, + neutralOutlineActiveDelta, + neutralOutlineFocusDelta, + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/default-palette.ts b/packages/web-components/src/default-palette.ts index 54abd438df7f04..ba340464c54f63 100644 --- a/packages/web-components/src/default-palette.ts +++ b/packages/web-components/src/default-palette.ts @@ -3,194 +3,194 @@ * This file generated by web-components/build/generate-default-palettes.js */ export const neutralPalette: string[] = [ - '#FFFFFF', - '#FCFCFC', - '#FAFAFA', - '#F7F7F7', - '#F5F5F5', - '#F2F2F2', - '#EFEFEF', - '#EDEDED', - '#EAEAEA', - '#E8E8E8', - '#E5E5E5', - '#E2E2E2', - '#E0E0E0', - '#DDDDDD', - '#DBDBDB', - '#D8D8D8', - '#D6D6D6', - '#D3D3D3', - '#D0D0D0', - '#CECECE', - '#CBCBCB', - '#C9C9C9', - '#C6C6C6', - '#C3C3C3', - '#C1C1C1', - '#BEBEBE', - '#BCBCBC', - '#B9B9B9', - '#B6B6B6', - '#B4B4B4', - '#B1B1B1', - '#AFAFAF', - '#ACACAC', - '#A9A9A9', - '#A7A7A7', - '#A4A4A4', - '#A2A2A2', - '#9F9F9F', - '#9D9D9D', - '#9A9A9A', - '#979797', - '#959595', - '#929292', - '#909090', - '#8D8D8D', - '#8A8A8A', - '#888888', - '#858585', - '#838383', - '#808080', - '#7D7D7D', - '#7B7B7B', - '#787878', - '#767676', - '#737373', - '#717171', - '#6E6E6E', - '#6B6B6B', - '#696969', - '#666666', - '#646464', - '#616161', - '#5F5F5F', - '#5C5C5C', - '#5A5A5A', - '#575757', - '#545454', - '#525252', - '#4F4F4F', - '#4D4D4D', - '#4A4A4A', - '#484848', - '#454545', - '#424242', - '#404040', - '#3D3D3D', - '#3B3B3B', - '#383838', - '#363636', - '#333333', - '#313131', - '#2E2E2E', - '#2B2B2B', - '#292929', - '#262626', - '#242424', - '#212121', - '#1E1E1E', - '#1B1B1B', - '#181818', - '#151515', - '#121212', - '#101010', - '#000000', + "#FFFFFF", + "#FCFCFC", + "#FAFAFA", + "#F7F7F7", + "#F5F5F5", + "#F2F2F2", + "#EFEFEF", + "#EDEDED", + "#EAEAEA", + "#E8E8E8", + "#E5E5E5", + "#E2E2E2", + "#E0E0E0", + "#DDDDDD", + "#DBDBDB", + "#D8D8D8", + "#D6D6D6", + "#D3D3D3", + "#D0D0D0", + "#CECECE", + "#CBCBCB", + "#C9C9C9", + "#C6C6C6", + "#C3C3C3", + "#C1C1C1", + "#BEBEBE", + "#BCBCBC", + "#B9B9B9", + "#B6B6B6", + "#B4B4B4", + "#B1B1B1", + "#AFAFAF", + "#ACACAC", + "#A9A9A9", + "#A7A7A7", + "#A4A4A4", + "#A2A2A2", + "#9F9F9F", + "#9D9D9D", + "#9A9A9A", + "#979797", + "#959595", + "#929292", + "#909090", + "#8D8D8D", + "#8A8A8A", + "#888888", + "#858585", + "#838383", + "#808080", + "#7D7D7D", + "#7B7B7B", + "#787878", + "#767676", + "#737373", + "#717171", + "#6E6E6E", + "#6B6B6B", + "#696969", + "#666666", + "#646464", + "#616161", + "#5F5F5F", + "#5C5C5C", + "#5A5A5A", + "#575757", + "#545454", + "#525252", + "#4F4F4F", + "#4D4D4D", + "#4A4A4A", + "#484848", + "#454545", + "#424242", + "#404040", + "#3D3D3D", + "#3B3B3B", + "#383838", + "#363636", + "#333333", + "#313131", + "#2E2E2E", + "#2B2B2B", + "#292929", + "#262626", + "#242424", + "#212121", + "#1E1E1E", + "#1B1B1B", + "#181818", + "#151515", + "#121212", + "#101010", + "#000000" ]; export const accentPalette: string[] = [ - '#FFFFFF', - '#FBFDFE', - '#F6FAFE', - '#F2F8FD', - '#EEF6FC', - '#E9F4FB', - '#E5F1FB', - '#E1EFFA', - '#DCEDF9', - '#D8EAF8', - '#D4E8F8', - '#CFE6F7', - '#CBE4F6', - '#C7E1F6', - '#C2DFF5', - '#BEDDF4', - '#BADAF3', - '#B6D8F3', - '#B1D6F2', - '#ADD4F1', - '#A9D1F0', - '#A4CFF0', - '#A0CDEF', - '#9CCAEE', - '#97C8EE', - '#93C6ED', - '#8FC4EC', - '#8AC1EB', - '#86BFEB', - '#82BDEA', - '#7DBAE9', - '#79B8E8', - '#75B6E8', - '#70B3E7', - '#6CB1E6', - '#68AFE5', - '#63ADE5', - '#5FAAE4', - '#5BA8E3', - '#56A6E3', - '#52A3E2', - '#4EA1E1', - '#499FE0', - '#459DE0', - '#419ADF', - '#3D98DE', - '#3896DD', - '#3493DD', - '#3091DC', - '#2B8FDB', - '#278DDB', - '#238ADA', - '#1E88D9', - '#1A86D8', - '#1683D8', - '#1181D7', - '#0D7FD6', - '#097DD5', - '#047AD5', - '#0078D4', - '#0075CF', - '#0072C9', - '#006FC4', - '#006CBE', - '#0069B9', - '#0066B4', - '#0063AE', - '#0060A9', - '#005CA3', - '#00599E', - '#005699', - '#005393', - '#00508E', - '#004D88', - '#004A83', - '#00477D', - '#004478', - '#004173', - '#003E6D', - '#003B68', - '#003862', - '#00355D', - '#003258', - '#002F52', - '#002B4D', - '#002847', - '#002542', - '#00223C', - '#001F36', - '#001B30', - '#00182B', - '#001525', - '#00121F', - '#000000', + "#FFFFFF", + "#FBFDFE", + "#F6FAFE", + "#F2F8FD", + "#EEF6FC", + "#E9F4FB", + "#E5F1FB", + "#E1EFFA", + "#DCEDF9", + "#D8EAF8", + "#D4E8F8", + "#CFE6F7", + "#CBE4F6", + "#C7E1F6", + "#C2DFF5", + "#BEDDF4", + "#BADAF3", + "#B6D8F3", + "#B1D6F2", + "#ADD4F1", + "#A9D1F0", + "#A4CFF0", + "#A0CDEF", + "#9CCAEE", + "#97C8EE", + "#93C6ED", + "#8FC4EC", + "#8AC1EB", + "#86BFEB", + "#82BDEA", + "#7DBAE9", + "#79B8E8", + "#75B6E8", + "#70B3E7", + "#6CB1E6", + "#68AFE5", + "#63ADE5", + "#5FAAE4", + "#5BA8E3", + "#56A6E3", + "#52A3E2", + "#4EA1E1", + "#499FE0", + "#459DE0", + "#419ADF", + "#3D98DE", + "#3896DD", + "#3493DD", + "#3091DC", + "#2B8FDB", + "#278DDB", + "#238ADA", + "#1E88D9", + "#1A86D8", + "#1683D8", + "#1181D7", + "#0D7FD6", + "#097DD5", + "#047AD5", + "#0078D4", + "#0075CF", + "#0072C9", + "#006FC4", + "#006CBE", + "#0069B9", + "#0066B4", + "#0063AE", + "#0060A9", + "#005CA3", + "#00599E", + "#005699", + "#005393", + "#00508E", + "#004D88", + "#004A83", + "#00477D", + "#004478", + "#004173", + "#003E6D", + "#003B68", + "#003862", + "#00355D", + "#003258", + "#002F52", + "#002B4D", + "#002847", + "#002542", + "#00223C", + "#001F36", + "#001B30", + "#00182B", + "#001525", + "#00121F", + "#000000" ]; From 9c7eaf1d40bf4a69ba6219c3ec58e8462fb0b137 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Mon, 17 May 2021 19:23:52 -0700 Subject: [PATCH 03/91] (web-components) create recipes and update component styles to leverage tokens (#18226) * add design tokens * update accordion and accordiioin item to use tokens * update badge with tokens * update breadcrumb and breadcrumb item to use tokens * add button tokens and add elevated corner radius token * update card with elevated corner radius token * update checkbox to use tokens * update combobox to use tokens * update data grid to use tokens * update dialog to use tokens * update divider to use tokens * update flipper to use tokens * update listbox and listbox option to use tokens * update menu and menu item to use tokens * update number field to use tokens * update progress and progress ring to use tokens * update radio and radio group to use tokens * update select styles to use tokens * update skeleton to use tokens * update slider and slider label to use tokens * update button pattern to use tokens * update base button styles to use tokens * update input fill state styles * update switch to use tokens * update tabs to use tokens * update text area to use tokens * update text field to use tokens * add neutral contrast fill recipe and algo * update tooltip to leverage tokens * update tree view to use tokens * update API report * update default luminance to light mode * update outlineWidth tokens * update storybook * update default token values and register fluent name * fix eslint and update to use findResponsibleContainer * Change files * disable disallowedChangeTypes for beachball major versioning * fix broken stories --- ...-88856bf4-40e5-4e82-88cb-f42637e099f9.json | 7 + packages/web-components/.storybook/manager.js | 1 + packages/web-components/.storybook/preview.js | 7 + packages/web-components/api-extractor.json | 2 +- packages/web-components/docs/api-report.md | 20 +- packages/web-components/package.json | 10 +- .../accordion-item/accordion-item.styles.ts | 60 +- .../src/accordion/accordion.styles.ts | 21 +- .../src/anchor/anchor.styles.ts | 4 +- .../web-components/src/badge/badge.styles.ts | 42 +- .../breadcrumb-item/breadcrumb-item.styles.ts | 49 +- .../src/breadcrumb/breadcrumb.styles.ts | 7 +- .../src/button/button.styles.ts | 242 +- .../web-components/src/card/card.styles.ts | 6 +- .../src/checkbox/checkbox.styles.ts | 79 +- .../recipes/neutral-contrast-fill.ts | 37 + .../src/color/neutral-contrast-fill.spec.ts | 30 + .../src/combobox/combobox.styles.ts | 11 +- .../src/data-grid/data-grid-cell.styles.ts | 32 +- .../src/data-grid/data-grid-row.styles.ts | 8 +- packages/web-components/src/design-tokens.ts | 571 + .../src/dialog/dialog.styles.ts | 5 +- .../src/divider/divider.styles.ts | 8 +- .../src/flipper/flipper.styles.ts | 50 +- packages/web-components/src/index-rollup.ts | 6 +- .../listbox-option/listbox-option.styles.ts | 91 +- .../src/listbox/listbox.styles.ts | 32 +- .../src/menu-item/menu-item.styles.ts | 61 +- .../web-components/src/menu/menu.styles.ts | 26 +- .../src/number-field/number-field.styles.ts | 176 +- .../progress-ring/progress-ring.styles.ts | 21 +- .../src/progress/progress/progress.styles.ts | 39 +- .../src/radio-group/radio-group.styles.ts | 3 +- .../web-components/src/radio/radio.styles.ts | 65 +- .../src/select/select.styles.ts | 123 +- .../src/skeleton/skeleton.styles.ts | 8 +- .../src/slider-label/slider-label.styles.ts | 14 +- .../src/slider/fixtures/slider.html | 454 +- .../src/slider/slider.styles.ts | 56 +- .../src/styles/patterns/button.ts | 165 +- .../src/styles/patterns/input.ts | 9 +- .../src/switch/switch.styles.ts | 114 +- .../src/tabs/tab-panel/tab-panel.styles.ts | 10 +- .../web-components/src/tabs/tab/tab.styles.ts | 59 +- .../web-components/src/tabs/tabs.styles.ts | 27 +- .../src/text-area/text-area.styles.ts | 124 +- .../src/text-field/text-field.styles.ts | 160 +- .../src/tooltip/fixtures/tooltip.html | 56 +- packages/web-components/src/tooltip/index.ts | 21 +- .../src/tooltip/tooltip.stories.ts | 2 +- .../src/tooltip/tooltip.styles.ts | 55 +- .../src/tree-item/tree-item.styles.ts | 104 +- packages/web-components/tsconfig.json | 4 +- yarn.lock | 10803 +++++++--------- 54 files changed, 6843 insertions(+), 7354 deletions(-) create mode 100644 change/@fluentui-web-components-88856bf4-40e5-4e82-88cb-f42637e099f9.json create mode 100644 packages/web-components/.storybook/preview.js create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts create mode 100644 packages/web-components/src/color/neutral-contrast-fill.spec.ts create mode 100644 packages/web-components/src/design-tokens.ts diff --git a/change/@fluentui-web-components-88856bf4-40e5-4e82-88cb-f42637e099f9.json b/change/@fluentui-web-components-88856bf4-40e5-4e82-88cb-f42637e099f9.json new file mode 100644 index 00000000000000..caeaac29a3e3e9 --- /dev/null +++ b/change/@fluentui-web-components-88856bf4-40e5-4e82-88cb-f42637e099f9.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "create recipes and tokens on DI and update components to leverage tokens", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/.storybook/manager.js b/packages/web-components/.storybook/manager.js index 6d6534f28e6378..fdc93023b9026b 100644 --- a/packages/web-components/.storybook/manager.js +++ b/packages/web-components/.storybook/manager.js @@ -2,5 +2,6 @@ import { addons } from '@storybook/addons'; import theme from './theme'; addons.setConfig({ + enableShortcuts: false, theme, }); diff --git a/packages/web-components/.storybook/preview.js b/packages/web-components/.storybook/preview.js new file mode 100644 index 00000000000000..b491b2de6423dc --- /dev/null +++ b/packages/web-components/.storybook/preview.js @@ -0,0 +1,7 @@ +import * as Fluent from '../src/index-rollup'; + +Fluent; + +export const parameters = { + layout: 'fullscreen', +}; diff --git a/packages/web-components/api-extractor.json b/packages/web-components/api-extractor.json index 651760211e6f9f..be1ce054295832 100644 --- a/packages/web-components/api-extractor.json +++ b/packages/web-components/api-extractor.json @@ -11,7 +11,7 @@ "docModel": { "enabled": true, - "apiJsonFilePath": "dist/fast-components-msft.api.json" + "apiJsonFilePath": "dist/fluent-web-components.api.json" }, "dtsRollup": { diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 8280e4d2b30c50..7368498d9d1a4e 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -44,7 +44,7 @@ import { TabPanel } from '@microsoft/fast-foundation'; import { Tabs } from '@microsoft/fast-foundation'; import { TextArea as TextArea_2 } from '@microsoft/fast-foundation'; import { TextField as TextField_2 } from '@microsoft/fast-foundation'; -import { Tooltip } from '@microsoft/fast-foundation'; +import { Tooltip as Tooltip_2 } from '@microsoft/fast-foundation'; import { TreeItem } from '@microsoft/fast-foundation'; import { TreeView } from '@microsoft/fast-foundation'; @@ -260,10 +260,10 @@ export type BadgeAppearance = 'accent' | 'lightweight' | 'neutral' | string; // @public export const badgeStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -// Warning: (ae-internal-missing-underscore) The name "BaseButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal +// Warning: (ae-internal-missing-underscore) The name "baseButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const BaseButtonStyles: ElementStyles; +export const baseButtonStyles: (context: any, definition: any) => ElementStyles; // @public export const breadcrumbItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -469,10 +469,10 @@ export const dividerStyles: (context: any, definition: any) => import("@microsof // @public export const elevation: string; -// Warning: (ae-internal-missing-underscore) The name "FillStateStyles" should be prefixed with an underscore because the declaration is marked as @internal +// Warning: (ae-internal-missing-underscore) The name "fillStateStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const FillStateStyles: ElementStyles; +export const fillStateStyles: (context: any, definition: any) => ElementStyles; // @public export const flipperStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -1095,6 +1095,8 @@ export const fluentTextField: (overrideDefinition?: import("@microsoft/fast-foun }; }, typeof TextField>; +// Warning: (ae-incompatible-release-tags) The symbol "fluentTooltip" is marked as @public, but its signature references "Tooltip" which is marked as @internal +// // @public export const fluentTooltip: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ baseName: string; @@ -1715,6 +1717,14 @@ export type TextFieldAppearance = 'filled' | 'outline'; // @public export const textFieldStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +// Warning: (ae-internal-missing-underscore) The name "Tooltip" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export class Tooltip extends Tooltip_2 { + // (undocumented) + connectedCallback(): void; +} + // @public export const treeItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; diff --git a/packages/web-components/package.json b/packages/web-components/package.json index 1c8d8d372918f3..cc343009601cde 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -18,6 +18,9 @@ "main": "dist/esm/index.js", "types": "dist/web-components.d.ts", "unpkg": "dist/web-components.min.js", + "beachball": { + "disallowedChangeTypes": [] + }, "scripts": { "clean": "node ./build/clean.js dist", "doc": "api-extractor run --local", @@ -49,10 +52,9 @@ "devDependencies": { "@microsoft/eslint-config-fast-dna": "^1.2.0", "@microsoft/api-extractor": "7.7.1", - "@storybook/addons": "^5.3.8", - "@storybook/cli": "^5.3.8", - "@storybook/html": "^5.3.8", - "@storybook/theming": "^5.3.8", + "@storybook/addons": "^6.1.17", + "@storybook/html": "^6.1.17", + "@storybook/theming": "^6.1.17", "@types/chai": "^4.2.11", "@types/chai-spies": "^1.0.1", "@types/karma": "^5.0.0", diff --git a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts index c706422d47359f..69fcdc73ba1b5a 100644 --- a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts +++ b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts @@ -2,30 +2,34 @@ import { css } from '@microsoft/fast-element'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { - accentFillRestBehavior, - neutralDividerRestBehavior, - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundFocusBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, -} from '../../styles/'; + accentFillRest, + bodyFont, + density, + designUnit, + focusOutlineWidth, + neutralDivider, + neutralFocus, + neutralForegroundRest, + outlineWidth, + typeRampMinus1FontSize, + typeRampMinus1LineHeight, +} from '../../design-tokens'; import { heightNumber } from '../../styles/size'; export const accordionItemStyles = (context, definition) => css` ${display('flex')} :host { box-sizing: border-box; - font-family: var(--body-font); + font-family: ${bodyFont}; flex-direction: column; - font-size: var(--type-ramp-minus-1-font-size); - line-height: var(--type-ramp-minus-1-line-height); - border-bottom: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; + font-size: ${typeRampMinus1FontSize}; + line-height: ${typeRampMinus1LineHeight}; + border-bottom: calc(${outlineWidth} * 1px) solid ${neutralDivider}; } .region { display: none; - padding: calc((6 + (var(--design-unit) * 2 * var(--density))) * 1px); + padding: calc((6 + (${designUnit} * 2 * ${density})) * 1px); } .heading { @@ -42,20 +46,17 @@ export const accordionItemStyles = (context, definition) => grid-column: 2; grid-row: 1; outline: none; - padding: 0 calc((6 + (var(--design-unit) * 2 * var(--density))) * 1px); + padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); text-align: left; height: calc(${heightNumber} * 1px); - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; font-family: inherit; } - .button:hover { - color: ${neutralForegroundHoverBehavior.var}; - } - + .button:hover, .button:active { - color: ${neutralForegroundActiveBehavior.var}; + color: ${neutralForegroundRest}; } .button::before { @@ -71,9 +72,9 @@ export const accordionItemStyles = (context, definition) => .button:${focusVisible}::before { outline: none; - border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) - ${neutralFocusBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) + ${neutralFocus}; } :host(.expanded) .region { @@ -87,7 +88,7 @@ export const accordionItemStyles = (context, definition) => grid-column: 4; z-index: 2; pointer-events: none; - fill: ${accentFillRestBehavior.var}; + fill: ${accentFillRest}; } slot[name="collapsed-icon"] { @@ -109,7 +110,7 @@ export const accordionItemStyles = (context, definition) => .start { display: flex; align-items: center; - padding-inline-start: calc(var(--design-unit) * 1px); + padding-inline-start: calc(${designUnit} * 1px); justify-content: center; grid-column: 1; z-index: 2; @@ -123,18 +124,11 @@ export const accordionItemStyles = (context, definition) => z-index: 2; } `.withBehaviors( - accentFillRestBehavior, - neutralDividerRestBehavior, - neutralForegroundActiveBehavior, - neutralForegroundFocusBehavior, - neutralForegroundRestBehavior, - neutralForegroundHoverBehavior, - neutralFocusBehavior, forcedColorsStylesheetBehavior( css` .button:${focusVisible}::before { border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${SystemColors.Highlight}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${SystemColors.Highlight}; } .icon { fill: ${SystemColors.ButtonText}; diff --git a/packages/web-components/src/accordion/accordion.styles.ts b/packages/web-components/src/accordion/accordion.styles.ts index 7291bea90b4d72..a60a11b93eb961 100644 --- a/packages/web-components/src/accordion/accordion.styles.ts +++ b/packages/web-components/src/accordion/accordion.styles.ts @@ -1,16 +1,23 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { accentFillRestBehavior, neutralDividerRestBehavior, neutralForegroundRestBehavior } from '../styles/'; +import { + bodyFont, + neutralDivider, + neutralForegroundRest, + outlineWidth, + typeRampMinus1FontSize, + typeRampMinus1LineHeight, +} from '../design-tokens'; export const accordionStyles = (context, definition) => css` ${display('flex')} :host { box-sizing: border-box; flex-direction: column; - font-family: var(--body-font); - font-size: var(--type-ramp-minus-1-font-size); - line-height: var(--type-ramp-minus-1-line-height); - color: ${neutralForegroundRestBehavior.var}; - border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; + font-family: ${bodyFont}; + font-size: ${typeRampMinus1FontSize}; + line-height: ${typeRampMinus1LineHeight}; + color: ${neutralForegroundRest}; + border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; } - `.withBehaviors(accentFillRestBehavior, neutralDividerRestBehavior, neutralForegroundRestBehavior); + `; diff --git a/packages/web-components/src/anchor/anchor.styles.ts b/packages/web-components/src/anchor/anchor.styles.ts index d8acd25b415da3..19168fb4ea2789 100644 --- a/packages/web-components/src/anchor/anchor.styles.ts +++ b/packages/web-components/src/anchor/anchor.styles.ts @@ -1,7 +1,7 @@ import { css } from '@microsoft/fast-element'; import { AccentButtonStyles, - BaseButtonStyles, + baseButtonStyles, HypertextStyles, LightweightButtonStyles, OutlineButtonStyles, @@ -11,7 +11,7 @@ import { appearanceBehavior } from '../utilities/behaviors'; export const anchorStyles = (context, definition) => css` - ${BaseButtonStyles} + ${baseButtonStyles(context, definition)} `.withBehaviors( appearanceBehavior('accent', AccentButtonStyles), appearanceBehavior('hypertext', HypertextStyles), diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index d8050a1a1e54f8..9072d2d1fcce0f 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -1,44 +1,44 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { - accentFillRestBehavior, - accentForegroundCutRestBehavior, - neutralFillRestBehavior, - neutralForegroundRestBehavior, -} from '../styles'; + accentForegroundRest, + bodyFont, + cornerRadius, + designUnit, + neutralForegroundRest, + typeRampMinus1FontSize, + typeRampMinus1LineHeight, + neutralFillRest, + accentForegroundCut, +} from '../design-tokens'; export const badgeStyles = (context, definition) => css` ${display('inline-block')} :host { box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-minus-1-font-size); - line-height: var(--type-ramp-minus-1-height); + font-family: ${bodyFont}; + font-size: ${typeRampMinus1FontSize}; + line-height: ${typeRampMinus1LineHeight}; } .control { - border-radius: calc(var(--corner-radius) * 1px); - padding: calc(var(--design-unit) * 0.5px) calc(var(--design-unit) * 1px); + border-radius: calc(${cornerRadius} * 1px); + padding: calc(${designUnit} * 0.5px) calc(${designUnit} * 1px); } :host(.lightweight) .control { background: transparent; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; font-weight: 600; } :host(.accent) .control { - background: ${accentFillRestBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + background: ${accentForegroundRest}; + color: ${accentForegroundCut}; } :host(.neutral) .control { - background: ${neutralFillRestBehavior.var}; - color: ${neutralForegroundRestBehavior.var}; + background: ${neutralFillRest}; + color: ${neutralForegroundRest}; } - `.withBehaviors( - accentFillRestBehavior, - accentForegroundCutRestBehavior, - neutralFillRestBehavior, - neutralForegroundRestBehavior, - ); + `; diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts index 9e297383f9b7d2..ce1edb064b1902 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts @@ -2,12 +2,17 @@ import { css } from '@microsoft/fast-element'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { - accentForegroundActiveBehavior, - accentForegroundHoverBehavior, - accentForegroundRestBehavior, - heightNumber, - neutralForegroundRestBehavior, -} from '../styles/index'; + accentForegroundActive, + accentForegroundHover, + accentForegroundRest, + bodyFont, + focusOutlineWidth, + neutralForegroundRest, + outlineWidth, + typeRampBaseFontSize, + typeRampBaseLineHeight, +} from '../design-tokens'; +import { heightNumber } from '../styles/index'; export const breadcrumbItemStyles = (context, definition) => css` @@ -15,9 +20,9 @@ export const breadcrumbItemStyles = (context, definition) => background: transparent; box-sizing: border-box; fill: currentcolor; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; min-width: calc(${heightNumber} * 1px); outline: none; } @@ -30,7 +35,7 @@ export const breadcrumbItemStyles = (context, definition) => .control { align-items: center; box-sizing: border-box; - color: ${accentForegroundRestBehavior.var}; + color: ${accentForegroundRest}; cursor: pointer; display: flex; fill: inherit; @@ -40,11 +45,11 @@ export const breadcrumbItemStyles = (context, definition) => } .control:hover { - color: ${accentForegroundHoverBehavior.var}; + color: ${accentForegroundHover}; } .control:active { - color: ${accentForegroundActiveBehavior.var}; + color: ${accentForegroundActive}; } .control .content { @@ -54,7 +59,7 @@ export const breadcrumbItemStyles = (context, definition) => .control .content::before { content: ""; display: block; - height: calc(var(--outline-width) * 1px); + height: calc(${outlineWidth} * 1px); left: 0; position: absolute; right: 0; @@ -63,28 +68,28 @@ export const breadcrumbItemStyles = (context, definition) => } .control:hover .content::before { - background: ${accentForegroundHoverBehavior.var}; + background: ${accentForegroundHover}; } .control:active .content::before { - background: ${accentForegroundActiveBehavior.var}; + background: ${accentForegroundActive}; } .control:${focusVisible} .content::before { - background: ${neutralForegroundRestBehavior.var}; - height: calc(var(--focus-outline-width) * 1px); + background: ${neutralForegroundRest}; + height: calc(${focusOutlineWidth} * 1px); } :host(:not([href])), :host([aria-current]) .control { font-weight: 600; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; fill: currentcolor; cursor: default; } :host([aria-current]) .control:hover .content::before { - background: ${neutralForegroundRestBehavior.var}; + background: ${neutralForegroundRest}; } .start { @@ -99,14 +104,10 @@ export const breadcrumbItemStyles = (context, definition) => .separator { display: flex; - fill: ${neutralForegroundRestBehavior.var}; + fill: ${neutralForegroundRest}; margin: 0 6px; } `.withBehaviors( - accentForegroundActiveBehavior, - accentForegroundHoverBehavior, - accentForegroundRestBehavior, - neutralForegroundRestBehavior, forcedColorsStylesheetBehavior( css` :host(:not([href])) { diff --git a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts index b204d505d02dd7..f9989ef7ea7c5f 100644 --- a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts +++ b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts @@ -1,12 +1,13 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; +import { bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight } from '../design-tokens'; export const breadcrumbStyles = (context, definition) => css` ${display('inline-block')} :host { box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .list { diff --git a/packages/web-components/src/button/button.styles.ts b/packages/web-components/src/button/button.styles.ts index 92857bc9b54928..18e6b7414656da 100644 --- a/packages/web-components/src/button/button.styles.ts +++ b/packages/web-components/src/button/button.styles.ts @@ -3,144 +3,148 @@ import { disabledCursor, forcedColorsStylesheetBehavior } from '@microsoft/fast- import { SystemColors } from '@microsoft/fast-web-utilities'; import { AccentButtonStyles, - accentFillRestBehavior, - accentForegroundRestBehavior, - BaseButtonStyles, + baseButtonStyles, LightweightButtonStyles, - neutralFillRestBehavior, - neutralFillStealthRestBehavior, - neutralOutlineRestBehavior, OutlineButtonStyles, StealthButtonStyles, } from '../styles/'; import { appearanceBehavior } from '../utilities/behaviors'; +import { + disabledOpacity, + neutralFillRest, + accentFillRest, + accentForegroundRest, + neutralOutlineRest, + neutralFillStealthRest, +} from '../design-tokens'; -export const ButtonStyles = (context, definition) => css` - :host([disabled]), - :host([disabled]:hover), - :host([disabled]:active) { - opacity: var(--disabled-opacity); - background-color: ${neutralFillRestBehavior.var}; - cursor: ${disabledCursor}; - } +export const buttonStyles = (context, definition) => + css` + :host([disabled]), + :host([disabled]:hover), + :host([disabled]:active) { + opacity: ${disabledOpacity}; + background-color: ${neutralFillRest}; + cursor: ${disabledCursor}; + } - ${BaseButtonStyles} -`.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host([disabled]), - :host([disabled]:hover), - :host([disabled]:active), - :host([disabled]) .control, - :host([disabled]) .control:hover, - :host([appearance='neutral'][disabled]:hover) .control { - forced-color-adjust: none; - background-color: ${SystemColors.ButtonFace}; - border-color: ${SystemColors.GrayText}; - color: ${SystemColors.GrayText}; - opacity: 1; - } - `, - ), - appearanceBehavior( - 'accent', - css` - :host([appearance='accent'][disabled]), - :host([appearance='accent'][disabled]:hover), - :host([appearance='accent'][disabled]:active) { - background: ${accentFillRestBehavior.var}; - } + ${baseButtonStyles(context, definition)} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([disabled]), + :host([disabled]:hover), + :host([disabled]:active), + :host([disabled]) .control, + :host([disabled]) .control:hover, + :host([appearance='neutral'][disabled]:hover) .control { + forced-color-adjust: none; + background-color: ${SystemColors.ButtonFace}; + border-color: ${SystemColors.GrayText}; + color: ${SystemColors.GrayText}; + opacity: 1; + } + `, + ), + appearanceBehavior( + 'accent', + css` + :host([appearance='accent'][disabled]), + :host([appearance='accent'][disabled]:hover), + :host([appearance='accent'][disabled]:active) { + background: ${accentFillRest}; + } - ${AccentButtonStyles} - `.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host([appearance='accent'][disabled]) .control, - :host([appearance='accent'][disabled]) .control:hover { - background: ${SystemColors.ButtonFace}; - border-color: ${SystemColors.GrayText}; - color: ${SystemColors.GrayText}; - } - `, + ${AccentButtonStyles} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='accent'][disabled]) .control, + :host([appearance='accent'][disabled]) .control:hover { + background: ${SystemColors.ButtonFace}; + border-color: ${SystemColors.GrayText}; + color: ${SystemColors.GrayText}; + } + `, + ), ), ), - ), - appearanceBehavior( - 'lightweight', - css` - :host([appearance='lightweight'][disabled]:hover), - :host([appearance='lightweight'][disabled]:active) { - background-color: transparent; - color: ${accentForegroundRestBehavior.var}; - } + appearanceBehavior( + 'lightweight', + css` + :host([appearance='lightweight'][disabled]:hover), + :host([appearance='lightweight'][disabled]:active) { + background-color: transparent; + color: ${accentForegroundRest}; + } - :host([appearance='lightweight'][disabled]) .content::before, - :host([appearance='lightweight'][disabled]:hover) .content::before, - :host([appearance='lightweight'][disabled]:active) .content::before { - background: transparent; - } + :host([appearance='lightweight'][disabled]) .content::before, + :host([appearance='lightweight'][disabled]:hover) .content::before, + :host([appearance='lightweight'][disabled]:active) .content::before { + background: transparent; + } - ${LightweightButtonStyles} - `.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host([appearance='lightweight'][disabled]) .control { - forced-color-adjust: none; - color: ${SystemColors.GrayText}; - } + ${LightweightButtonStyles} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='lightweight'][disabled]) .control { + forced-color-adjust: none; + color: ${SystemColors.GrayText}; + } - :host([appearance='lightweight'][disabled]) .control:hover .content::before { - background: none; - } - `, + :host([appearance='lightweight'][disabled]) .control:hover .content::before { + background: none; + } + `, + ), ), ), - ), - appearanceBehavior( - 'outline', - css` - :host([appearance='outline'][disabled]:hover), - :host([appearance='outline'][disabled]:active) { - background: transparent; - border-color: ${neutralOutlineRestBehavior.var}; - } + appearanceBehavior( + 'outline', + css` + :host([appearance='outline'][disabled]:hover), + :host([appearance='outline'][disabled]:active) { + background: transparent; + border-color: ${neutralOutlineRest}; + } - ${OutlineButtonStyles} - `.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host([appearance='outline'][disabled]) .control { - border-color: ${SystemColors.GrayText}; - } - `, + ${OutlineButtonStyles} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='outline'][disabled]) .control { + border-color: ${SystemColors.GrayText}; + } + `, + ), ), ), - ), - appearanceBehavior( - 'stealth', - css` - :host([appearance='stealth'][disabled]), - :host([appearance='stealth'][disabled]:hover), - :host([appearance='stealth'][disabled]:active) { - background: ${neutralFillStealthRestBehavior.var}; - } + appearanceBehavior( + 'stealth', + css` + :host([appearance='stealth'][disabled]), + :host([appearance='stealth'][disabled]:hover), + :host([appearance='stealth'][disabled]:active) { + background: ${neutralFillStealthRest}; + } - ${StealthButtonStyles} - `.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host([appearance='stealth'][disabled]), - :host([appearance='stealth'][disabled]:hover) { - background: ${SystemColors.ButtonFace}; - } + ${StealthButtonStyles} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='stealth'][disabled]), + :host([appearance='stealth'][disabled]:hover) { + background: ${SystemColors.ButtonFace}; + } - :host([appearance='stealth'][disabled]) .control { - background: ${SystemColors.ButtonFace}; - border-color: transparent; - color: ${SystemColors.GrayText}; - } - `, + :host([appearance='stealth'][disabled]) .control { + background: ${SystemColors.ButtonFace}; + border-color: transparent; + color: ${SystemColors.GrayText}; + } + `, + ), ), ), - ), -); + ); diff --git a/packages/web-components/src/card/card.styles.ts b/packages/web-components/src/card/card.styles.ts index 6e5749a6c361ba..919ca0c8031d11 100644 --- a/packages/web-components/src/card/card.styles.ts +++ b/packages/web-components/src/card/card.styles.ts @@ -2,7 +2,8 @@ import { css } from '@microsoft/fast-element'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles'; -import { neutralFillCardRestBehavior } from '../styles/index'; +import { elevatedCornerRadius } from "../design-tokens"; + export const CardStyles = css` ${display('block')} :host { --elevation: 4; @@ -11,7 +12,7 @@ export const CardStyles = css` height: var(--card-height, 100%); width: var(--card-width, 100%); box-sizing: border-box; - border-radius: calc(var(--elevated-corner-radius) * 1px); + border-radius: calc(${elevatedCornerRadius} * 1px); ${elevation} } @@ -27,7 +28,6 @@ export const CardStyles = css` content-visibility: auto; } `.withBehaviors( - neutralFillCardRestBehavior, forcedColorsStylesheetBehavior( css` :host { diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index d673bb545cf995..e854aa6a594fa1 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -1,24 +1,31 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; +import { heightNumber } from '../styles'; import { - heightNumber, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + designUnit, + cornerRadius, + outlineWidth, + neutralOutlineRest, + neutralFillInputRest, + bodyFont, + neutralForegroundRest, + typeRampBaseFontSize, + typeRampBaseLineHeight, + neutralFillInputHover, + neutralOutlineHover, + neutralFillInputActive, + neutralOutlineActive, + neutralFocus, + disabledOpacity, +} from '../design-tokens'; export const checkboxStyles = (context, definition) => css` ${display('inline-flex')} :host { align-items: center; outline: none; - margin: calc(var(--design-unit) * 1px) 0; + margin: calc(${designUnit} * 1px) 0; ${ /* * Chromium likes to select label text or the default slot when @@ -29,12 +36,12 @@ export const checkboxStyles = (context, definition) => .control { position: relative; - width: calc((${heightNumber} / 2 + var(--design-unit)) * 1px); - height: calc((${heightNumber} / 2 + var(--design-unit)) * 1px); + width: calc((${heightNumber} / 2 + ${designUnit}) * 1px); + height: calc((${heightNumber} / 2 + ${designUnit}) * 1px); box-sizing: border-box; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; - background: ${neutralFillInputRestBehavior.var}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + background: ${neutralFillInputRest}; outline: none; cursor: pointer; } @@ -45,29 +52,29 @@ export const checkboxStyles = (context, definition) => } .label { - font-family: var(--body-font); - color: ${neutralForegroundRestBehavior.var}; + font-family: ${bodyFont}; + color: ${neutralForegroundRest}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' - } padding-inline-start: calc(var(--design-unit) * 2px + 2px); - margin-inline-end: calc(var(--design-unit) * 2px + 2px); + } padding-inline-start: calc(${designUnit} * 2px + 2px); + margin-inline-end: calc(${designUnit} * 2px + 2px); cursor: pointer; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .checked-indicator { width: 100%; height: 100%; display: block; - fill: ${neutralForegroundRestBehavior.var}; + fill: ${neutralForegroundRest}; opacity: 0; pointer-events: none; } .indeterminate-indicator { - border-radius: calc(var(--corner-radius) * 1px); - background: ${neutralForegroundRestBehavior.var}; + border-radius: calc(${cornerRadius} * 1px); + background: ${neutralForegroundRest}; position: absolute; top: 50%; left: 50%; @@ -78,18 +85,18 @@ export const checkboxStyles = (context, definition) => } :host(:enabled) .control:hover { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; } :host(:enabled) .control:active { - background: ${neutralFillInputActiveBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background: ${neutralFillInputActive}; + border-color: ${neutralOutlineActive}; } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocusBehavior.var}; - border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + border-color: ${neutralFocus}; } :host(.disabled) .label, @@ -105,17 +112,9 @@ export const checkboxStyles = (context, definition) => } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } `.withBehaviors( - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, forcedColorsStylesheetBehavior( css` .control { diff --git a/packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts new file mode 100644 index 00000000000000..a6db7f346b22d4 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts @@ -0,0 +1,37 @@ +import { PaletteRGB } from '../palette'; +import { Swatch } from '../swatch'; +import { directionByIsDark } from '../utilities/direction-by-is-dark'; + +/** + * @internal + */ +export function neutralContrastFill( + palette: PaletteRGB, + reference: Swatch, + restDelta: number, + hoverDelta: number, + activeDelta: number, + focusDelta: number, +) { + const direction = directionByIsDark(reference); + const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 14)); + const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); + const indexOneIsRest = direction === 1 ? restDelta < hoverDelta : direction * restDelta > direction * hoverDelta; + let restIndex: number; + let hoverIndex: number; + + if (indexOneIsRest) { + restIndex = accessibleIndex; + hoverIndex = accessibleIndex2; + } else { + restIndex = accessibleIndex2; + hoverIndex = accessibleIndex; + } + + return { + rest: palette.get(restIndex), + hover: palette.get(hoverIndex), + active: palette.get(restIndex + direction * activeDelta), + focus: palette.get(restIndex + direction * focusDelta), + }; +} diff --git a/packages/web-components/src/color/neutral-contrast-fill.spec.ts b/packages/web-components/src/color/neutral-contrast-fill.spec.ts new file mode 100644 index 00000000000000..a06338284288fb --- /dev/null +++ b/packages/web-components/src/color/neutral-contrast-fill.spec.ts @@ -0,0 +1,30 @@ +import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { expect } from "chai"; +import { PaletteRGB } from "../color-vNext/palette"; +import { neutralContrastFill as neutralContrastFillNew } from "../color-vNext/recipes/neutral-contrast-fill"; +import { SwatchRGB } from "../color-vNext/swatch"; +import { DesignSystemDefaults } from "../fluent-design-system"; +import { neutralBaseColor } from "./color-constants"; +import { neutralContrastFill } from "./neutral-contrast-fill"; + +describe("ensure parity between old and new recipe implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + palette.swatches.forEach(( newSwatch, index ) => { + const { neutralContrastFillHoverDelta, neutralContrastFillActiveDelta, neutralContrastFillFocusDelta} = DesignSystemDefaults; + const oldValues = neutralContrastFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); + const newValues = neutralContrastFillNew( + palette, + newSwatch, + 0, + neutralContrastFillHoverDelta, + neutralContrastFillActiveDelta, + neutralContrastFillFocusDelta, + ); + it(`should be the same for ${newSwatch}`, () => { + for (let key in oldValues) { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) + } + }); + }) +}) diff --git a/packages/web-components/src/combobox/combobox.styles.ts b/packages/web-components/src/combobox/combobox.styles.ts index 2b8e2f1023d97a..dc5a327f70b74f 100644 --- a/packages/web-components/src/combobox/combobox.styles.ts +++ b/packages/web-components/src/combobox/combobox.styles.ts @@ -1,7 +1,8 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, focusVisible } from '@microsoft/fast-foundation'; -import { SelectFilledStyles, selectStyles } from '../select/select.styles'; +import { selectFilledStyles, selectStyles } from '../select/select.styles'; import { appearanceBehavior } from '../utilities/behaviors'; +import { typeRampBaseFontSize, typeRampBaseLineHeight, outlineWidth } from '../design-tokens'; export const comboboxStyles = (context, definition) => css` @@ -26,9 +27,9 @@ export const comboboxStyles = (context, definition) => background: transparent; border: none; color: inherit; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - height: calc(100% - (var(--outline-width) * 1px)); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + height: calc(100% - ${outlineWidth} * 1px)); margin: auto 0; width: 100%; } @@ -39,4 +40,4 @@ export const comboboxStyles = (context, definition) => .selected-value:active { outline: none; } -`.withBehaviors(appearanceBehavior('filled', SelectFilledStyles)); +`.withBehaviors(appearanceBehavior('filled', selectFilledStyles(context, definition))); diff --git a/packages/web-components/src/data-grid/data-grid-cell.styles.ts b/packages/web-components/src/data-grid/data-grid-cell.styles.ts index 6485a8431ad224..c95260883acadf 100644 --- a/packages/web-components/src/data-grid/data-grid-cell.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-cell.styles.ts @@ -1,22 +1,31 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { neutralFocusBehavior, neutralForegroundActiveBehavior, neutralForegroundRestBehavior } from '../styles'; +import { + bodyFont, + cornerRadius, + designUnit, + neutralFocus, + neutralForegroundRest, + outlineWidth, + typeRampBaseFontSize, + typeRampBaseLineHeight, +} from '../design-tokens'; export const dataGridCellStyles = (context, definition) => css` :host { - padding: calc(var(--design-unit) * 1px) calc(var(--design-unit) * 3px); - color: ${neutralForegroundRestBehavior.var}; + padding: calc(${designUnit} * 1px) calc(${designUnit} * 3px); + color: ${neutralForegroundRest}; box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; font-weight: 400; - border: transparent calc(var(--outline-width) * 1px) solid; + border: transparent calc(${outlineWidth} * 1px) solid; overflow: hidden; white-space: nowrap; - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); } :host(.column-header) { @@ -24,14 +33,11 @@ export const dataGridCellStyles = (context, definition) => } :host(:${focusVisible}) { - border: ${neutralFocusBehavior.var} calc(var(--outline-width) * 1px) solid; - color: ${neutralForegroundActiveBehavior.var}; + border: ${neutralFocus} calc(${outlineWidth} * 1px) solid; + color: ${neutralForegroundRest}; } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundRestBehavior, forcedColorsStylesheetBehavior( css` :host { diff --git a/packages/web-components/src/data-grid/data-grid-row.styles.ts b/packages/web-components/src/data-grid/data-grid-row.styles.ts index 0c48475697a039..83e29e5bab857f 100644 --- a/packages/web-components/src/data-grid/data-grid-row.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-row.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { neutralDividerRestBehavior, neutralFillRestBehavior } from '../styles'; +import { neutralFillRest, outlineWidth, neutralDivider } from '../design-tokens'; export const dataGridRowStyles = (context, defintion) => css` @@ -9,20 +9,18 @@ export const dataGridRowStyles = (context, defintion) => padding: 1px 0; box-sizing: border-box; width: 100%; - border-bottom: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); + border-bottom: calc(${outlineWidth} * 1px) solid ${neutralDivider}; } :host(.header) { } :host(.sticky-header) { - background: ${neutralFillRestBehavior.var}; + background: ${neutralFillRest}; position: sticky; top: 0; } `.withBehaviors( - neutralDividerRestBehavior, - neutralFillRestBehavior, forcedColorsStylesheetBehavior( css` :host { diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts new file mode 100644 index 00000000000000..21fcd66e451b1d --- /dev/null +++ b/packages/web-components/src/design-tokens.ts @@ -0,0 +1,571 @@ +import { DesignToken, DI } from '@microsoft/fast-foundation'; +import { Direction } from '@microsoft/fast-web-utilities'; +import { PaletteRGB } from './color-vNext/palette'; +import { accentFill as accentFillAlgorithm } from './color-vNext/recipes/accent-fill'; +import { accentForeground as accentForegroundAlgorithm } from './color-vNext/recipes/accent-foreground'; +import { accentForegroundCut as accentForegroundCutAlgorithm } from './color-vNext/recipes/accent-foreground-cut'; +import { neutralContrastFill as neutralContrastFillAlgorithm } from './color-vNext/recipes/neutral-contrast-fill'; +import { neutralDivider as neutralDividerAlgorithm } from './color-vNext/recipes/neutral-divider'; +import { SwatchRGB } from './color-vNext/swatch'; +import { neutralFillCard as neutralFillCardAlgorithm } from './color-vNext/recipes/neutral-fill-card'; +import { neutralFillInput as NeutralFillInputAlgorithm } from './color-vNext/recipes/neutral-fill-input'; +import { neutralFillStealth as neutralFillStealthAlgorithm } from './color-vNext/recipes/neutral-fill-stealth'; +import { neutralFillToggle as neutralFillToggleAlgorithm } from './color-vNext/recipes/neutral-fill-toggle'; +import { neutralFill as neutralFillAlgorithm } from './color-vNext/recipes/neutral-fill'; +import { neutralFocus as neutralFocusAlgorithm } from './color-vNext/recipes/neutral-focus'; +import { neutralFocusInnerAccent as neutralFocusInnerAccentAlgorithm } from './color-vNext/recipes/neutral-focus-inner-accent'; +import { neutralOutline as NeutralOutlineAlgorithm } from './color-vNext/recipes/neutral-outline'; +import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color-vNext/recipes/neutral-foreground-hint'; +import { neutralForeground as neutralForegroundAlgorithm } from './color-vNext/recipes/neutral-foreground'; +import { neutralLayerFloating as neutralLayerFloatingAlgorithm } from './color-vNext/recipes/neutral-layer-floating'; +import { neutralLayerL1 as neutralLayerL1Algorithm } from './color-vNext/recipes/neutral-layer-L1'; +import { neutralLayerL2 as neutralLayerL2Algorithm } from './color-vNext/recipes/neutral-layer-L2'; +import { neutralLayerL3 as neutralLayerL3Algorithm } from './color-vNext/recipes/neutral-layer-L3'; +import { neutralLayerL4 as neutralLayerL4Algorithm } from './color-vNext/recipes/neutral-layer-L4'; +import { accentBase, middleGrey } from './color-vNext/utilities/color-constants'; +import { StandardLuminance } from './color'; + +const { create } = DesignToken; + +export const accentFillRestDelta = create('accent-fill-rest-delta').withDefault(0); +export const accentFillHoverDelta = create('accent-fill-hover-delta').withDefault(4); +export const accentFillActiveDelta = create('accent-fill-active-delta').withDefault(-5); +export const accentFillFocusDelta = create('accent-fill-focus-delta').withDefault(0); +export const accentFillSelectedDelta = create('accent-fill-selected-delta').withDefault(12); + +export const accentForegroundRestDelta = create('accent-foreground-rest-delta').withDefault(0); +export const accentForegroundHoverDelta = create('accent-foreground-hover-delta').withDefault(6); +export const accentForegroundActiveDelta = create('accent-foreground-active-delta').withDefault(-4); +export const accentForegroundFocusDelta = create('accent-foreground-focus-delta').withDefault(0); + +export const bodyFont = create('body-font').withDefault('Segoe UI, sans-serif'); +export const baseHeightMultiplier = create('base-height-multiplier').withDefault(8); +export const baseHorizontalSpacingMultiplier = create('base-horizontal-spacing-multiplier').withDefault(3); +export const baseLayerLuminance = create('base-layer-luminance').withDefault(StandardLuminance.LightMode); +export const cornerRadius = create('corner-radius').withDefault(2); +export const density = create('density').withDefault(0); +export const designUnit = create('design-unit').withDefault(4); +export const direction = create('direction').withDefault(Direction.ltr); +export const disabledOpacity = create('disabled-opacity').withDefault(0.3); +export const elevatedCornerRadius = create('elevated-corner-radius').withDefault(4); +export const focusOutlineWidth = create('focus-outline-width').withDefault(2); + +export const neutralContrastFillRestDelta = create('neutral-contrast-fill-rest-delta').withDefault(0); +export const neutralContrastFillHoverDelta = create('neutral-contrast-fill-hover-delta').withDefault(-3); +export const neutralContrastFillActiveDelta = create('neutral-contrast-fill-active-delta').withDefault(7); +export const neutralContrastFillFocusDelta = create('neutral-contrast-fill-focus-delta').withDefault(0); + +export const neutralDividerRestDelta = create('neutral-divider-rest-delta').withDefault(8); + +export const neutralFillActiveDelta = create('neutral-fill-active-delta').withDefault(5); +export const neutralFillCardDelta = create('neutral-fill-card-delta').withDefault(3); +export const neutralFillFocusDelta = create('neutral-fill-focus-delta').withDefault(0); +export const neutralFillHoverDelta = create('neutral-fill-hover-delta').withDefault(10); +export const neutralFillInputActiveDelta = create('neutral-fill-input-active-delta').withDefault(0); +export const neutralFillInputFocusDelta = create('neutral-fill-input-focus-delta').withDefault(0); +export const neutralFillInputHoverDelta = create('neutral-fill-input-hover-delta').withDefault(0); +export const neutralFillInputRestDelta = create('neutral-fill-input-rest-delta').withDefault(0); +export const neutralFillInputSelectedDelta = create('neutral-fill-input-selected-delta').withDefault(0); +export const neutralFillRestDelta = create('neutral-fill-rest-delta').withDefault(7); +export const neutralFillSelectedDelta = create('neutral-fill-selected-delta').withDefault(7); +export const neutralFillStealthActiveDelta = create('neutral-fill-stealth-active-delta').withDefault(3); +export const neutralFillStealthFocusDelta = create('neutral-fill-stealth-focus-delta').withDefault(0); +export const neutralFillStealthHoverDelta = create('neutral-fill-stealth-hover-delta').withDefault(5); +export const neutralFillStealthRestDelta = create('neutral-fill-stealth-rest-delta').withDefault(0); +export const neutralFillStealthSelectedDelta = create('neutral-fill-stealth-selected-delta').withDefault(7); +export const neutralFillToggleRestDelta = create('neutral-fill-toggle-rest-delta').withDefault(0); +export const neutralFillToggleActiveDelta = create('neutral-fill-toggle-active-delta').withDefault(-5); +export const neutralFillToggleFocusDelta = create('neutral-fill-toggle-focus-delta').withDefault(0); +export const neutralFillToggleHoverDelta = create('neutral-fill-toggle-hover-delta').withDefault(8); +export const neutralForegroundActiveDelta = create('neutral-foreground-active-delta').withDefault(0); +export const neutralForegroundFocusDelta = create('neutral-foreground-focus-delta').withDefault(0); +export const neutralForegroundHoverDelta = create('neutral-foreground-hover-delta').withDefault(0); +export const neutralOutlineActiveDelta = create('neutral-outline-active-delta').withDefault(16); +export const neutralOutlineFocusDelta = create('neutral-outline-focus-delta').withDefault(25); +export const neutralOutlineHoverDelta = create('neutral-outline-hover-delta').withDefault(40); +export const neutralOutlineRestDelta = create('neutral-outline-rest-delta').withDefault(25); +export const outlineWidth = create('outline-width').withDefault(1); +export const typeRampBaseFontSize = create('type-ramp-base-font-size').withDefault('14px'); +export const typeRampBaseLineHeight = create('type-ramp-base-line-height').withDefault('20px'); +export const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('12px'); +export const typeRampMinus1LineHeight = create('type-ramp-minus1-line-height').withDefault('16px'); +export const typeRampMinus2FontSize = create('type-ramp-minus2-font-size').withDefault('10px'); +export const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('16px'); +export const typeRampPlus1FontSize = create('type-ramp-plus1-font-size').withDefault('16px'); +export const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('24px'); +export const typeRampPlus2FontSize = create('type-ramp-plus2-font-size').withDefault('20px'); +export const typeRampPlus2LineHeight = create('type-ramp-plus2-line-height').withDefault('28px'); +export const typeRampPlus3FontSize = create('type-ramp-plus3-font-size').withDefault('28px'); +export const typeRampPlus3LineHeight = create('type-ramp-plus3-line-height').withDefault('36px'); +export const typeRampPlus4FontSize = create('type-ramp-plus4-font-size').withDefault('34px'); +export const typeRampPlus4LineHeight = create('type-ramp-plus4-line-height').withDefault('44px'); +export const typeRampPlus5FontSize = create('type-ramp-plus5-font-size').withDefault('46px'); +export const typeRampPlus5LineHeight = create('type-ramp-plus5-line-height').withDefault('56px'); +export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size').withDefault('60px'); +export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('72px'); + +export const neutralPalette = create('neutral-palette').withDefault(PaletteRGB.create(middleGrey)); +export const accentPalette = create('accent-palette').withDefault(PaletteRGB.create(accentBase)); +export const fillColor = create('fill-color').withDefault(element => { + const palette = neutralPalette.getValueFor(element); + return palette.get(0); +}); + +enum ContrastTarget { + normal = 4.5, + large = 7, +} + +// Accent Foreground Cut +const accentForegroundCutByContrast = (contrast: number) => (element: HTMLElement) => + accentForegroundCutAlgorithm(accentPalette.getValueFor(element).source, contrast); +export const AccentForegroundCut = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'accent-foreground-cut', + builder => builder.instance((element: HTMLElement) => accentForegroundCutByContrast(ContrastTarget.normal)(element)), +); +export const AccentForegroundCutLarge = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'accent-foreground-cut-large', + builder => builder.instance((element: HTMLElement) => accentForegroundCutByContrast(ContrastTarget.large)(element)), +); + +export const accentForegroundCut = create('accent-foreground-cut').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentForegroundCut)(element); +}); +export const accentForegroundCutLarge = create('accent-foreground-cut-large').withDefault( + (element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentForegroundCutLarge)(element); + }, +); + +// Accent Fill +const accentFillByContrast = (contrast: number) => (element: HTMLElement, fill?: SwatchRGB) => { + return accentFillAlgorithm( + accentPalette.getValueFor(element), + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + accentForegroundCut.getValueFor(element), + contrast, + accentFillHoverDelta.getValueFor(element), + accentFillActiveDelta.getValueFor(element), + accentFillFocusDelta.getValueFor(element), + accentFillSelectedDelta.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + ); +}; +export const AccentFill = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('accent-fill', builder => builder.instance(accentFillByContrast(ContrastTarget.normal))); + +export const accentFillRest = create('accent-fill-rest').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentFill)(element).rest; +}); +export const accentFillHover = create('accent-fill-hover').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentFill)(element).hover; +}); +export const accentFillActive = create('accent-fill-active').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentFill)(element).active; +}); +export const accentFillFocus = create('accent-fill-focus').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentFill)(element).focus; +}); +export const accentFillSelected = create('accent-fill-selected').withDefault((element: HTMLElement) => { + return DI.findResponsibleContainer(element).get(AccentFill)(element).selected; +}); + +const accentForegroundByContrast = (contrast: number) => (element: HTMLElement) => { + return accentForegroundAlgorithm( + accentPalette.getValueFor(element), + fillColor.getValueFor(element), + contrast, + accentForegroundRestDelta.getValueFor(element), + accentForegroundHoverDelta.getValueFor(element), + accentForegroundActiveDelta.getValueFor(element), + accentForegroundFocusDelta.getValueFor(element), + ); +}; + +/** + * Accent Foreground + */ +export const AccentForeground = DI.createInterface< + (element: HTMLElement) => ReturnType +>('accent-foreground', builder => builder.instance(accentForegroundByContrast(ContrastTarget.normal))); + +export const accentForegroundRest = create('accent-foreground-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).rest, +); + +export const accentForegroundHover = create('accent-foreground-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).hover, +); +export const accentForegroundActive = create('accent-foreground-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).active, +); +export const accentForegroundFocus = create('accent-foreground-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).focus, +); + +// Neutral Divider +export const NeutralDivider = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-divider', builder => + builder.instance((element: HTMLElement) => + neutralDividerAlgorithm( + neutralPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralDividerRestDelta.getValueFor(element), + ), + ), +); +export const neutralDivider = create('neutral-divider').withDefault(element => + DI.findResponsibleContainer(element).get(NeutralDivider)(element), +); + +// Neutral Fill Card +export const NeutralFillCard = DI.createInterface<(element: HTMLElement, fill?: SwatchRGB) => SwatchRGB>( + 'neutral-fill-card', + builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => + neutralFillCardAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralFillCardDelta.getValueFor(element), + ), + ), +); +export const neutralFillCard = create('neutral-fill-card').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralFillCard)(element), +); + +// Neutral Contrast Fill +export const NeutralContrastFill = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-contrast-fill', builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => + neutralContrastFillAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralContrastFillRestDelta.getValueFor(element), + neutralContrastFillHoverDelta.getValueFor(element), + neutralContrastFillActiveDelta.getValueFor(element), + neutralContrastFillFocusDelta.getValueFor(element), + ), + ), +); + +export const neutralContrastFillRest = create('neutral-contrast-fill-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).rest, +); + +export const neutralContrastFillHover = create('neutral-contrast-fill-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).hover, +); + +export const neutralContrastFillActive = create('neutral-contrast-fill-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).active, +); + +export const neutralContrastFillFocus = create('neutral-contrast-fill-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).focus, +); + +// Neutral Fill Input +export const NeutralFillInput = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill-input', builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => { + return NeutralFillInputAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralFillInputRestDelta.getValueFor(element), + neutralFillInputHoverDelta.getValueFor(element), + neutralFillInputActiveDelta.getValueFor(element), + neutralFillInputFocusDelta.getValueFor(element), + neutralFillInputSelectedDelta.getValueFor(element), + ); + }), +); + +export const neutralFillInputRest = create('neutral-fill-input-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).rest, +); +export const neutralFillInputHover = create('neutral-fill-input-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).hover, +); + +export const neutralFillInputFocus = create('neutral-fill-input-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).focus, +); +export const neutralFillInputActive = create('neutral-fill-input-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).active, +); +export const neutralFillInputSelected = create('neutral-fill-input-selected').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).selected, +); + +// Neutral Fill Stealth +export const NeutralFillStealth = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill-stealth', builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => + neutralFillStealthAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralFillStealthRestDelta.getValueFor(element), + neutralFillStealthHoverDelta.getValueFor(element), + neutralFillStealthActiveDelta.getValueFor(element), + neutralFillStealthFocusDelta.getValueFor(element), + neutralFillStealthSelectedDelta.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + neutralFillFocusDelta.getValueFor(element), + ), + ), +); + +export const neutralFillStealthRest = create('neutral-fill-stealth-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).rest, +); + +export const neutralFillStealthHover = create('neutral-fill-stealth-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).hover, +); + +export const neutralFillStealthActive = create('neutral-fill-stealth-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).active, +); +export const neutralFillStealthFocus = create('neutral-fill-stealth-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).focus, +); +export const neutralFillStealthSelected = create('neutral-fill-stealth-selected').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).selected, +); + +// Neutral Fill Toggle +// TODO: none of these are actually used, do we need them? +export const NeutralFillToggle = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill-toggle', builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => + neutralFillToggleAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralFillToggleRestDelta.getValueFor(element), + neutralFillToggleHoverDelta.getValueFor(element), + neutralFillToggleActiveDelta.getValueFor(element), + neutralFillToggleFocusDelta.getValueFor(element), + ), + ), +); + +export const neutralFillToggleRest = create('neutral-fill-toggle-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).rest, +); + +export const neutralFillToggleHover = create('neutral-fill-toggle-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).hover, +); + +export const neutralFillToggleActive = create('neutral-fill-toggle-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).active, +); + +export const neutralFillToggleFocus = create('neutral-fill-toggle-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).focus, +); +// Neutral Fill +export const NeutralFill = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill', builder => + builder.instance((element: HTMLElement, fill?: SwatchRGB) => + neutralFillAlgorithm( + neutralPalette.getValueFor(element), + fill || fillColor.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + neutralFillFocusDelta.getValueFor(element), + neutralFillSelectedDelta.getValueFor(element), + ), + ), +); +export const neutralFillRest = create('neutral-fill-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).rest, +); +export const neutralFillHover = create('neutral-fill-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).hover, +); +export const neutralFillActive = create('neutral-fill-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).active, +); +export const neutralFillFocus = create('neutral-fill-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).focus, +); +export const neutralFillSelected = create('neutral-fill-selected').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).selected, +); + +// Neutral Focus +export const NeutralFocus = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-focus', builder => + builder.instance((element: HTMLElement) => + neutralFocusAlgorithm(accentPalette.getValueFor(element), fillColor.getValueFor(element)), + ), +); +export const neutralFocus = create('neutral-focus').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralFocus)(element), +); + +// Neutral Focus Inner Accent +export const NeutralFocusInnerAccent = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'neutral-focus-inner-accent', + builder => + builder.instance((element: HTMLElement) => + neutralFocusInnerAccentAlgorithm( + accentPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralFocus.getValueFor(element), + ), + ), +); + +export const neutralFocusInnerAccent = create( + 'neutral-focus-inner-accent', +).withDefault((element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFocusInnerAccent)(element)); + +// Neutral Foreground Hint +export const NeutralForegroundHint = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'neutral-foreground-hint', + builder => + builder.instance((element: HTMLElement) => + neutralForegroundHintAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), + ), +); + +export const neutralForegroundHint = create('neutral-foreground-hint').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralForegroundHint)(element), +); + +// Neutral Foreground +export const NeutralForeground = DI.createInterface< + (element: HTMLElement) => ReturnType +>('neutral-foreground', builder => + builder.instance((element: HTMLElement) => + neutralForegroundAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), + ), +); + +export const neutralForegroundRest = create('neutral-foreground-rest').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralForeground)(element), +); + +// Neutral Outline +export const NeutralOutline = DI.createInterface<(element: HTMLElement) => ReturnType>( + 'neutral-outline', + builder => + builder.instance((element: HTMLElement) => + NeutralOutlineAlgorithm( + neutralPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralOutlineRestDelta.getValueFor(element), + neutralOutlineHoverDelta.getValueFor(element), + neutralOutlineActiveDelta.getValueFor(element), + neutralOutlineFocusDelta.getValueFor(element), + ), + ), +); + +export const neutralOutlineRest = create('neutral-outline-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).rest, +); +export const neutralOutlineHover = create('neutral-outline-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).hover, +); +export const neutralOutlineActive = create('neutral-outline-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).active, +); +export const neutralOutlineFocus = create('neutral-outline-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).focus, +); + +// Neutral Layer Floating +export const NeutralLayerFloating = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'neutral-layer-floating', + builder => + builder.instance((element: HTMLElement) => + neutralLayerFloatingAlgorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillCardDelta.getValueFor(element), + ), + ), +); + +export const neutralLayerFloating = create('neutral-layer-floating').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralLayerFloating)(element), +); + +// Neutral Layer L1 +export const NeutralLayerL1 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L1', builder => + builder.instance((element: HTMLElement) => + neutralLayerL1Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element)), + ), +); + +export const neutralLayerL1 = create('neutral-layer-L1').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralLayerL1)(element), +); + +// Neutral Layer L2 +export const NeutralLayerL2 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L2', builder => + builder.instance((element: HTMLElement) => + neutralLayerL2Algorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillCardDelta.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + ), + ), +); + +export const neutralLayerL2 = create('neutral-layer-L2').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralLayerL2)(element), +); + +// Neutral Layer L3 +export const NeutralLayerL3 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L3', builder => + builder.instance((element: HTMLElement) => + neutralLayerL3Algorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillCardDelta.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + ), + ), +); + +export const neutralLayerL3 = create('neutral-layer-L3').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralLayerL3)(element), +); + +// Neutral Layer L4 +export const NeutralLayerL4 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L4', builder => + builder.instance((element: HTMLElement) => + neutralLayerL4Algorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillCardDelta.getValueFor(element), + neutralFillRestDelta.getValueFor(element), + neutralFillHoverDelta.getValueFor(element), + neutralFillActiveDelta.getValueFor(element), + ), + ), +); + +export const neutralLayerL4 = create('neutral-layer-L4').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(NeutralLayerL4)(element), +); diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index 88b38b9245078e..ac2e513684913f 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,5 +1,6 @@ import { css } from '@microsoft/fast-element'; import { elevation } from '../styles'; +import { elevatedCornerRadius, outlineWidth } from '../design-tokens'; export const dialogStyles = (context, definition) => css` :host([hidden]) { @@ -38,11 +39,11 @@ export const dialogStyles = (context, definition) => css` ${elevation} margin-top: auto; margin-bottom: auto; - border-radius: calc(var(--elevated-corner-radius) * 1px); + border-radius: calc(${elevatedCornerRadius} * 1px); width: var(--dialog-width); height: var(--dialog-height); background: var(--background-color); z-index: 1; - border: calc(var(--outline-width) * 1px) solid transparent; + border: calc(${outlineWidth} * 1px) solid transparent; } `; diff --git a/packages/web-components/src/divider/divider.styles.ts b/packages/web-components/src/divider/divider.styles.ts index c9f2a87ca47085..16742c69fcc110 100644 --- a/packages/web-components/src/divider/divider.styles.ts +++ b/packages/web-components/src/divider/divider.styles.ts @@ -1,14 +1,14 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { neutralDividerRestBehavior } from '../styles'; +import { designUnit, neutralDivider, outlineWidth } from '../design-tokens'; export const dividerStyles = (context, definition) => css` ${display('block')} :host { box-sizing: content-box; height: 0; - margin: calc(var(--design-unit) * 1px) 0; + margin: calc(${designUnit} * 1px) 0; border: none; - border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var}; + border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; } - `.withBehaviors(neutralDividerRestBehavior); + `; diff --git a/packages/web-components/src/flipper/flipper.styles.ts b/packages/web-components/src/flipper/flipper.styles.ts index bf9db267c0820a..ad865a9228aff3 100644 --- a/packages/web-components/src/flipper/flipper.styles.ts +++ b/packages/web-components/src/flipper/flipper.styles.ts @@ -1,17 +1,19 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; +import { heightNumber } from '../styles'; import { - heightNumber, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + neutralForegroundRest, + neutralFillStealthRest, + neutralOutlineRest, + disabledOpacity, + neutralFillStealthHover, + neutralOutlineHover, + neutralFocus, + neutralFillStealthActive, + neutralOutlineActive, + outlineWidth, +} from '../design-tokens'; export const flipperStyles = (context, definition) => css` @@ -23,7 +25,7 @@ export const flipperStyles = (context, definition) => margin: 0; position: relative; fill: currentcolor; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; background: transparent; border: none; outline: none; @@ -33,8 +35,8 @@ export const flipperStyles = (context, definition) => :host::before { content: ""; opacity: 0.8; - background: ${neutralFillStealthRestBehavior.var}; - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + background: ${neutralFillStealthRest}; + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; border-radius: 50%; position: absolute; top: 0; @@ -55,7 +57,7 @@ export const flipperStyles = (context, definition) => } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; cursor: ${disabledCursor}; } @@ -64,8 +66,8 @@ export const flipperStyles = (context, definition) => } :host(:hover)::before { - background: ${neutralFillStealthHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillStealthHover}; + border-color: ${neutralOutlineHover}; } :host(:${focusVisible}) { @@ -73,27 +75,19 @@ export const flipperStyles = (context, definition) => } :host(:${focusVisible})::before { - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; - border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 1px ${neutralFocus} inset; + border-color: ${neutralFocus}; } :host(:active)::before { - background: ${neutralFillStealthActiveBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background: ${neutralFillStealthActive}; + border-color: ${neutralOutlineActive}; } :host::-moz-focus-inner { border: 0; } `.withBehaviors( - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, forcedColorsStylesheetBehavior( css` :host { diff --git a/packages/web-components/src/index-rollup.ts b/packages/web-components/src/index-rollup.ts index 90e6d0a09f594d..022cf16b8c125e 100644 --- a/packages/web-components/src/index-rollup.ts +++ b/packages/web-components/src/index-rollup.ts @@ -8,6 +8,6 @@ export * from './index'; /** * TODO rename this to FluentDesignSystem when {@link @FluentDesignSystem} interface is removed. */ -export const fluentDesignSystem = DesignSystem.getOrCreate().register( - ...Object.values(fluentComponents).map(definition => definition()), -); +export const fluentDesignSystem = DesignSystem.getOrCreate() + .withPrefix('fluent') + .register(...Object.values(fluentComponents).map(definition => definition())); diff --git a/packages/web-components/src/listbox-option/listbox-option.styles.ts b/packages/web-components/src/listbox-option/listbox-option.styles.ts index 1a672dff12b775..94a30c256c4a1b 100644 --- a/packages/web-components/src/listbox-option/listbox-option.styles.ts +++ b/packages/web-components/src/listbox-option/listbox-option.styles.ts @@ -1,75 +1,77 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillSelectedBehavior, - accentForegroundCutRestBehavior, - neutralFillHoverBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFillStealthSelectedBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralLayerL1Behavior, -} from '../styles'; import { heightNumber } from '../styles/size'; +import { + bodyFont, + cornerRadius, + focusOutlineWidth, + neutralForegroundRest, + typeRampBaseFontSize, + typeRampBaseLineHeight, + designUnit, + neutralFocusInnerAccent, + neutralFocus, + accentFillHover, + accentForegroundCut, + accentFillActive, + neutralFillHover, + neutralFillActive, + disabledOpacity, +} from '../design-tokens'; export const optionStyles = (context, definition) => css` ${display('inline-flex')} :host { - font-family: var(--body-font); - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--focus-outline-width) * 1px) solid transparent; + font-family: ${bodyFont}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${focusOutlineWidth} * 1px) solid transparent; box-sizing: border-box; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; fill: currentcolor; - font-size: var(--type-ramp-base-font-size); + font-size: ${typeRampBaseFontSize}; height: calc(${heightNumber} * 1px); - line-height: var(--type-ramp-base-line-height); - margin: 0 calc(var(--design-unit) * 1px); + line-height: ${typeRampBaseLineHeight}; + margin: 0 calc(${designUnit} * 1px); outline: none; overflow: hidden; align-items: center; - padding: 0 calc(var(--design-unit) * 2.25px); + padding: 0 calc(${designUnit} * 2.25px); user-select: none; white-space: nowrap; } :host(:${focusVisible}) { - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccentBehavior.var}; - border-color: ${neutralFocusBehavior.var}; - background: ${accentFillHoverBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${neutralFocusInnerAccent}; + border-color: ${neutralFocus}; + background: ${accentFillHover}; + color: ${accentForegroundCut}; } :host([aria-selected="true"]) { - background: ${accentFillHoverBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + background: ${accentFillHover}; + color: ${accentForegroundCut}; } :host(:active) { - background: ${accentFillActiveBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + background: ${accentFillActive}; + color: ${accentForegroundCut}; } :host(:not([aria-selected="true"]):hover) { - background: ${neutralFillHoverBehavior.var}; - color: ${neutralForegroundHoverBehavior.var}; + background: ${neutralFillHover}; + color: ${neutralForegroundRest}}; } :host(:not([aria-selected="true"]):active) { - background: ${neutralFillHoverBehavior.var}; - color: ${neutralForegroundHoverBehavior.var}; + background: ${neutralFillActive}; + color: ${neutralForegroundRest}}; } :host([disabled]) { cursor: ${disabledCursor}; - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } :host([disabled]:hover) { @@ -91,8 +93,8 @@ export const optionStyles = (context, definition) => ::slotted(svg) { ${/* Glyph size and margin-left is temporary - replace when adaptive typography is figured out */ ''} - height: calc(var(--design-unit) * 4px); - width: calc(var(--design-unit) * 4px); + height: calc(${designUnit} * 4px); + width: calc(${designUnit} * 4px); } ::slotted([slot="end"]) { @@ -104,10 +106,6 @@ export const optionStyles = (context, definition) => } `.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillSelectedBehavior, - accentForegroundCutRestBehavior, forcedColorsStylesheetBehavior( css` :host { @@ -131,13 +129,4 @@ export const optionStyles = (context, definition) => } `, ), - neutralFillHoverBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFillStealthSelectedBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralLayerL1Behavior, ); diff --git a/packages/web-components/src/listbox/listbox.styles.ts b/packages/web-components/src/listbox/listbox.styles.ts index b07ce0db0ff663..6cdd20c1ddef57 100644 --- a/packages/web-components/src/listbox/listbox.styles.ts +++ b/packages/web-components/src/listbox/listbox.styles.ts @@ -2,26 +2,29 @@ import { css } from '@microsoft/fast-element'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { - neutralFocusBehavior, - neutralLayerFloatingBehavior, - neutralOutlineFocusBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + neutralLayerFloating, + neutralOutlineRest, + neutralFocus, + outlineWidth, + cornerRadius, + designUnit, + focusOutlineWidth, +} from '../design-tokens'; export const listboxStyles = (context, definition) => css` ${display('inline-flex')} :host { - background: ${neutralLayerFloatingBehavior.var}; - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); + background: ${neutralLayerFloating}; + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border-radius: calc(${cornerRadius} * 1px); box-sizing: border-box; flex-direction: column; - padding: calc(var(--design-unit) * 1px) 0; + padding: calc(${designUnit} * 1px) 0; } :host(:focus-within:not([disabled])) { - border-color: ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; + border-color: ${neutralFocus}; + box-shadow: 0 0 0 1px ${neutralFocus} inset; } `.withBehaviors( forcedColorsStylesheetBehavior( @@ -29,7 +32,7 @@ export const listboxStyles = (context, definition) => :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } @@ -37,7 +40,7 @@ export const listboxStyles = (context, definition) => :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } @@ -51,7 +54,4 @@ export const listboxStyles = (context, definition) => } `, ), - neutralLayerFloatingBehavior, - neutralOutlineRestBehavior, - neutralOutlineFocusBehavior, ); diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index a7a783854e0243..835c13fd2ac4a7 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -1,14 +1,20 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; +import { heightNumber } from '../styles/index'; import { - heightNumber, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, -} from '../styles/index'; + designUnit, + neutralForegroundRest, + bodyFont, + typeRampBaseFontSize, + typeRampBaseLineHeight, + cornerRadius, + outlineWidth, + neutralFocus, + neutralFillStealthHover, + neutralFillStealthActive, + disabledOpacity, +} from '../design-tokens'; export const menuItemStyles = (context, definition) => css` @@ -21,35 +27,35 @@ export const menuItemStyles = (context, definition) => justify-items: center; align-items: center; padding: 0; - margin: 0 calc(var(--design-unit) * 1px); + margin: 0 calc(${designUnit} * 1px); white-space: nowrap; overflow: hidden; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; fill: currentcolor; cursor: pointer; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid transparent; + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid transparent; } :host(:${focusVisible}) { - border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; + box-shadow: 0 0 0 calc((${outlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; } :host(:hover) { - background: ${neutralFillStealthHoverBehavior.var}; + background: ${neutralFillStealthHover}; } :host(:active) { - background: ${neutralFillStealthActiveBehavior.var}; + background: ${neutralFillStealthActive}; } :host(.disabled) { cursor: ${disabledCursor}; - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } :host(.disabled:hover) .start, @@ -82,7 +88,7 @@ export const menuItemStyles = (context, definition) => :host(:active) .start, :host(:active) .end, :host(:active)::slotted(svg) { - fill: ${neutralForegroundRestBehavior.var}; + fill: ${neutralForegroundRest}; } @@ -129,13 +135,13 @@ export const menuItemStyles = (context, definition) => width: 20px; height: 20px; box-sizing: border-box; - border: calc(var(--outline-width) * 1px) solid ${neutralForegroundRestBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralForegroundRest}; outline: none; margin-inline-start: 10px; } :host .checkbox { - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); } :host .radio { @@ -154,7 +160,7 @@ export const menuItemStyles = (context, definition) => width: 100%; height: 100%; display: block; - fill: ${neutralForegroundRestBehavior.var}; + fill: ${neutralForegroundRest}; pointer-events: none; } @@ -166,7 +172,7 @@ export const menuItemStyles = (context, definition) => bottom: 4px; border-radius: 999px; display: block; - background: ${neutralForegroundRestBehavior.var}; + background: ${neutralForegroundRest}; pointer-events: none; } @@ -175,11 +181,6 @@ export const menuItemStyles = (context, definition) => pointer-events: none; } `.withBehaviors( - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, forcedColorsStylesheetBehavior( css` :host { @@ -203,7 +204,7 @@ export const menuItemStyles = (context, definition) => :host(:${focusVisible}) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${outlineWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } diff --git a/packages/web-components/src/menu/menu.styles.ts b/packages/web-components/src/menu/menu.styles.ts index bbebe486c6539d..509f1ead795a97 100644 --- a/packages/web-components/src/menu/menu.styles.ts +++ b/packages/web-components/src/menu/menu.styles.ts @@ -1,25 +1,33 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { elevation, neutralDividerRestBehavior, neutralLayerFloatingBehavior } from '../styles/index'; +import { elevation } from '../styles/index'; +import { + neutralLayerFloating, + outlineWidth, + elevatedCornerRadius, + cornerRadius, + designUnit, + neutralDivider, +} from '../design-tokens'; export const menuStyles = (context, definition) => css` ${display('block')} :host { --elevation: 11; - background: ${neutralLayerFloatingBehavior.var}; - border: calc(var(--outline-width) * 1px) solid transparent; - border-radius: var(--elevated-corner-radius); + background: ${neutralLayerFloating}; + border: calc(${outlineWidth} * 1px) solid transparent; + border-radius: ${elevatedCornerRadius}; ${elevation} margin: 0; - border-radius: calc(var(--corner-radius) * 1px); - padding: calc(var(--design-unit) * 1px) 0; + border-radius: calc(${cornerRadius} * 1px); + padding: calc(${designUnit} * 1px) 0; max-width: 368px; min-width: 64px; } :host([slot='submenu']) { width: max-content; - margin: 0 calc(var(--design-unit) * 1px); + margin: 0 calc(${designUnit} * 1px); } ::slotted(hr) { @@ -27,6 +35,6 @@ export const menuStyles = (context, definition) => height: 0; margin: 0; border: none; - border-top: calc(var(--outline-width) * 1px) solid var(--neutral-divider-rest); + border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; } - `.withBehaviors(neutralLayerFloatingBehavior, neutralDividerRestBehavior); + `; diff --git a/packages/web-components/src/number-field/number-field.styles.ts b/packages/web-components/src/number-field/number-field.styles.ts index 4a95d22cb26fe3..d01cb48638b4d5 100644 --- a/packages/web-components/src/number-field/number-field.styles.ts +++ b/packages/web-components/src/number-field/number-field.styles.ts @@ -1,75 +1,78 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - accentFillRestBehavior, - FillStateStyles, - heightNumber, - neutralFillHoverBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles/index'; +import { fillStateStyles, heightNumber } from '../styles/index'; import { appearanceBehavior } from '../utilities/behaviors'; +import { + neutralFillRest, + neutralFillHover, + neutralForegroundRest, + neutralFillInputRest, + neutralOutlineRest, + cornerRadius, + outlineWidth, + designUnit, + typeRampBaseFontSize, + typeRampBaseLineHeight, + neutralFillInputHover, + neutralFillInputActive, + neutralOutlineHover, + neutralOutlineActive, + neutralFocus, + disabledOpacity, + bodyFont, +} from '../design-tokens'; -export const NumberFieldFilledStyles = css` - :host([appearance='filled']) .root { - background: ${neutralFillRestBehavior.var}; - border-color: transparent; - } +export const numberFieldFilledStyles = (context, definition) => + css` + :host([appearance='filled']) .root { + background: ${neutralFillRest}; + border-color: transparent; + } - :host([appearance='filled']:hover:not([disabled])) .root { - background: ${neutralFillHoverBehavior.var}; - border-color: transparent; - } + :host([appearance='filled']:hover:not([disabled])) .root { + background: ${neutralFillHover}; + border-color: transparent; + } - :host([appearance='filled']:focus-within:not([disabled])) .root { - border-color: transparent; - box-shadow: none; - } - ${FillStateStyles} -`.withBehaviors( - accentFillRestBehavior, - neutralFillHoverBehavior, - neutralFillRestBehavior, - neutralOutlineRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host([appearance='filled']) .root, - :host([appearance='filled']:hover:not([disabled])) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:active:not([disabled])) .root, - :host([appearance='filled']:focus-within:not([disabled])) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:not([disabled]):active)::after, - :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { - border-bottom-color: ${SystemColors.Highlight}; - } - :host([appearance='filled'][disabled]) .root { - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - :host([appearance='filled'][disabled]) .root { - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - `, - ), -); + :host([appearance='filled']:focus-within:not([disabled])) .root { + border-color: transparent; + box-shadow: none; + } + ${fillStateStyles(context, definition)} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='filled']) .root, + :host([appearance='filled']:hover:not([disabled])) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:active:not([disabled])) .root, + :host([appearance='filled']:focus-within:not([disabled])) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:not([disabled]):active)::after, + :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { + border-bottom-color: ${SystemColors.Highlight}; + } + :host([appearance='filled'][disabled]) .root { + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + :host([appearance='filled'][disabled]) .root { + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + `, + ), + ); export const numberFieldStyles = (context, definition) => css` ${display('inline-block')} :host { - font-family: var(--body-font); + font-family: ${bodyFont}; outline: none; user-select: none; position: relative; @@ -80,10 +83,10 @@ export const numberFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForegroundRestBehavior.var}; - background: ${neutralFillInputRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + color: ${neutralForegroundRest}; + background: ${neutralFillInputRest}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; height: calc(${heightNumber} * 1px); } @@ -98,9 +101,9 @@ export const numberFieldStyles = (context, definition) => margin-top: auto; margin-bottom: auto; border: none; - padding: 0 calc(var(--design-unit) * 2px + 1px); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + padding: 0 calc(${designUnit} * 2px + 1px); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .control:hover, @@ -116,10 +119,10 @@ export const numberFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; margin-bottom: 4px; } @@ -148,11 +151,11 @@ export const numberFieldStyles = (context, definition) => } .step-up:before { - border-bottom-color: ${neutralForegroundRestBehavior.var}; + border-bottom-color: ${neutralForegroundRest}; } .step-down:before { - border-top-color: ${neutralForegroundRestBehavior.var}; + border-top-color: ${neutralForegroundRest}; } ::slotted(svg) { @@ -174,18 +177,18 @@ export const numberFieldStyles = (context, definition) => } :host(:hover:not([disabled])) .root { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; } :host(:active:not([disabled])) .root { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background: ${neutralFillInputActive}; + border-color: ${neutralOutlineActive}; } :host(:focus-within:not([disabled])) .root { - border-color: ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; + border-color: ${neutralFocus}; + box-shadow: 0 0 0 1px ${neutralFocus} inset; } :host(:hover:not([disabled])) .controls, @@ -201,23 +204,14 @@ export const numberFieldStyles = (context, definition) => } :host([disabled]) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } :host([disabled]) .control { - border-color: ${neutralOutlineRestBehavior.var}; + border-color: ${neutralOutlineRest}; } `.withBehaviors( - appearanceBehavior('filled', NumberFieldFilledStyles), - neutralFillHoverBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, + appearanceBehavior('filled', numberFieldFilledStyles(context, definition)), forcedColorsStylesheetBehavior( css` .root { diff --git a/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts b/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts index 941015803422a9..15ab500c79b752 100644 --- a/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts +++ b/packages/web-components/src/progress/progress-ring/progress-ring.styles.ts @@ -1,12 +1,8 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { - accentForegroundRestBehavior, - heightNumber, - neutralFillRestBehavior, - neutralForegroundHintBehavior, -} from '../../styles'; +import { heightNumber } from '../../styles'; +import { neutralFillRest, accentForegroundRest, neutralForegroundHint } from '../../design-tokens'; export const progressRingStyles = (context, definition) => css` @@ -24,13 +20,13 @@ export const progressRingStyles = (context, definition) => } .background { - stroke: ${neutralFillRestBehavior.var}; + stroke: ${neutralFillRest}; fill: none; stroke-width: 2px; } .determinate { - stroke: ${accentForegroundRestBehavior.var}; + stroke: ${accentForegroundRest}; fill: none; stroke-width: 2px; stroke-linecap: round; @@ -40,7 +36,7 @@ export const progressRingStyles = (context, definition) => } .indeterminate-indicator-1 { - stroke: ${accentForegroundRestBehavior.var}; + stroke: ${accentForegroundRest}; fill: none; stroke-width: 2px; stroke-linecap: round; @@ -52,11 +48,11 @@ export const progressRingStyles = (context, definition) => :host(.paused) .indeterminate-indicator-1 { animation-play-state: paused; - stroke: ${neutralFillRestBehavior.var}; + stroke: ${neutralFillRest}; } :host(.paused) .determinate { - stroke: ${neutralForegroundHintBehavior.var}; + stroke: ${neutralForegroundHint}; } @keyframes spin-infinite { @@ -74,9 +70,6 @@ export const progressRingStyles = (context, definition) => } } `.withBehaviors( - accentForegroundRestBehavior, - neutralFillRestBehavior, - neutralForegroundHintBehavior, forcedColorsStylesheetBehavior( css` .indeterminate-indicator-1, diff --git a/packages/web-components/src/progress/progress/progress.styles.ts b/packages/web-components/src/progress/progress/progress.styles.ts index 69d94a98891de0..f7f2874a831ea5 100644 --- a/packages/web-components/src/progress/progress/progress.styles.ts +++ b/packages/web-components/src/progress/progress/progress.styles.ts @@ -1,20 +1,26 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { accentForegroundRestBehavior, neutralFillRestBehavior, neutralForegroundHintBehavior } from '../../styles'; +import { + designUnit, + neutralFillRest, + accentForegroundRest, + neutralForegroundHint, + outlineWidth, +} from '../../design-tokens'; export const progressStyles = (context, definition) => css` ${display('flex')} :host { align-items: center; outline: none; - height: calc(var(--design-unit) * 1px); - margin: calc(var(--design-unit) * 1px) 0; + height: calc(${designUnit} * 1px); + margin: calc(${designUnit} * 1px) 0; } .progress { - background-color: ${neutralFillRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); + background-color: ${neutralFillRest}; + border-radius: calc(${designUnit} * 1px); width: 100%; height: 100%; display: flex; @@ -23,8 +29,8 @@ export const progressStyles = (context, definition) => } .determinate { - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); + background-color: ${accentForegroundRest}; + border-radius: calc(${designUnit} * 1px); height: 100%; transition: all 0.2s ease-in-out; display: flex; @@ -32,7 +38,7 @@ export const progressStyles = (context, definition) => .indeterminate { height: 100%; - border-radius: calc(var(--design-unit) * 1px); + border-radius: calc(${designUnit} * 1px); display: flex; width: 100%; position: relative; @@ -43,8 +49,8 @@ export const progressStyles = (context, definition) => position: absolute; opacity: 0; height: 100%; - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); + background-color: ${accentForegroundRest}; + border-radius: calc(${designUnit} * 1px); animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); width: 40%; animation: indeterminate-1 2s infinite; @@ -54,8 +60,8 @@ export const progressStyles = (context, definition) => position: absolute; opacity: 0; height: 100%; - background-color: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--design-unit) * 1px); + background-color: ${accentForegroundRest}; + border-radius: calc(${designUnit} * 1px); animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1); width: 60%; animation: indeterminate-2 2s infinite; @@ -64,11 +70,11 @@ export const progressStyles = (context, definition) => :host(.paused) .indeterminate-indicator-1, :host(.paused) .indeterminate-indicator-2 { animation-play-state: paused; - background-color: ${neutralFillRestBehavior.var}; + background-color: $[neutralFillRest}; } :host(.paused) .determinate { - background-color: ${neutralForegroundHintBehavior.var}; + background-color: ${neutralForegroundHint}; } @keyframes indeterminate-1 { @@ -107,9 +113,6 @@ export const progressStyles = (context, definition) => } } `.withBehaviors( - accentForegroundRestBehavior, - neutralFillRestBehavior, - neutralForegroundHintBehavior, forcedColorsStylesheetBehavior( css` .indeterminate-indicator-1, @@ -120,7 +123,7 @@ export const progressStyles = (context, definition) => } .progress { background-color: ${SystemColors.Field}; - border: calc(var(--outline-width) * 1px) solid ${SystemColors.FieldText}; + border: calc(${outlineWidth} * 1px) solid ${SystemColors.FieldText}; } :host(.paused) .indeterminate-indicator-1, .indeterminate-indicator-2 { diff --git a/packages/web-components/src/radio-group/radio-group.styles.ts b/packages/web-components/src/radio-group/radio-group.styles.ts index 611935b04442ee..47f61b936fcbde 100644 --- a/packages/web-components/src/radio-group/radio-group.styles.ts +++ b/packages/web-components/src/radio-group/radio-group.styles.ts @@ -1,10 +1,11 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; +import { designUnit } from '../design-tokens'; export const radioGroupStyles = (context, definition) => css` ${display('flex')} :host { align-items: flex-start; - margin: calc(var(--design-unit) * 1px) 0; + margin: calc(${designUnit} * 1px) 0; flex-direction: column; } diff --git a/packages/web-components/src/radio/radio.styles.ts b/packages/web-components/src/radio/radio.styles.ts index 4eb485a68ec8ef..137307023dd2fc 100644 --- a/packages/web-components/src/radio/radio.styles.ts +++ b/packages/web-components/src/radio/radio.styles.ts @@ -1,26 +1,28 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { heightNumber } from '../styles'; import { - heightNumber, - neutralFillActiveBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + designUnit, + outlineWidth, + neutralOutlineRest, + neutralFillInputRest, + neutralForegroundRest, + neutralFillInputHover, + neutralOutlineHover, + neutralFillInputActive, + neutralOutlineActive, + neutralFocus, + disabledOpacity, +} from '../design-tokens'; export const radioStyles = (context, definition) => css` ${display('inline-flex')} :host { - --input-size: calc((${heightNumber} / 2) + var(--design-unit)); + --input-size: calc((${heightNumber} / 2) + ${designUnit}); align-items: center; outline: none; - margin: calc(var(--design-unit) * 1px) 0; + margin: calc(${designUnit} * 1px) 0; ${ /* * Chromium likes to select label text or the default slot when @@ -38,8 +40,8 @@ export const radioStyles = (context, definition) => height: calc(var(--input-size) * 1px); box-sizing: border-box; border-radius: 50%; - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; - background: ${neutralFillInputRestBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + background: ${neutralFillInputRest}; outline: none; cursor: pointer; } @@ -51,11 +53,11 @@ export const radioStyles = (context, definition) => .label { font-family: var(--body-font); - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' - } padding-inline-start: calc(var(--design-unit) * 2px + 2px); - margin-inline-end: calc(var(--design-unit) * 2px + 2px); + } padding-inline-start: calc(${designUnit} * 2px + 2px); + margin-inline-end: calc(${designUnit} * 2px + 2px); cursor: pointer; font-size: var(--type-ramp-base-font-size); line-height: var(--type-ramp-base-line-height); @@ -73,25 +75,25 @@ export const radioStyles = (context, definition) => bottom: 5px; border-radius: 50%; display: inline-block; - background: ${neutralForegroundRestBehavior.var}; - fill: ${neutralForegroundRestBehavior.var}; + background: ${neutralForegroundRest}; + fill: ${neutralForegroundRest}; opacity: 0; pointer-events: none; } :host(:enabled) .control:hover{ - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color:${neutralOutlineHover}; } :host(:enabled) .control:active { - background: ${neutralFillInputActiveBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background:${neutralFillInputActive}; + border-color: ${neutralOutlineActive}; } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocusBehavior.var}; - border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + border-color: ${neutralFocus}; } :host(.disabled) .label, @@ -106,18 +108,9 @@ export const radioStyles = (context, definition) => } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } `.withBehaviors( - neutralFillActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, - neutralFillInputActiveBehavior, forcedColorsStylesheetBehavior( css` .control { diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index 562990c9879b43..a9bbc22bf3104d 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -2,51 +2,58 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles/elevation'; -import { - accentFillHoverBehavior, - accentForegroundCutRestBehavior, - neutralFillHoverBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundRestBehavior, - neutralLayerFloatingBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; import { heightNumber } from '../styles/size'; import { appearanceBehavior } from '../utilities/behaviors'; - -export const SelectFilledStyles = css` +import { + neutralFillRest, + neutralFillHover, + neutralFocus, + neutralFillInputRest, + neutralOutlineRest, + neutralForegroundRest, + neutralLayerFloating, + outlineWidth, + cornerRadius, + designUnit, + typeRampBaseFontSize, + typeRampBaseLineHeight, + neutralFillInputHover, + neutralOutlineHover, + neutralFocusInnerAccent, + accentFillHover, + accentForegroundCut, + disabledOpacity, + neutralFillStealthRest, + neutralFillInputActive, + neutralOutlineActive, + bodyFont, +} from '../design-tokens'; + +export const selectFilledStyles = (context, definition) => css` :host([appearance="filled"]) { - background: ${neutralFillRestBehavior.var}; + background: ${neutralFillRest}; border-color: transparent; } :host([appearance="filled"]:hover:not([disabled])) { - background: ${neutralFillHoverBehavior.var}; + background: ${neutralFillHover}; border-color: transparent; } :host([appearance="filled"]:${focusVisible}) { - border-color: ${neutralFocusBehavior.var}; + border-color: ${neutralFocus}; } -`.withBehaviors(neutralFillHoverBehavior, neutralFillRestBehavior, neutralFocusBehavior); +`; export const selectStyles = (context, definition) => css` ${display('inline-flex')} :host { --elevation: 14; - background: ${neutralFillInputRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + background: ${neutralFillInputRest}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; box-sizing: border-box; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; contain: contents; height: calc(${heightNumber} * 1px); position: relative; @@ -56,14 +63,14 @@ export const selectStyles = (context, definition) => .listbox { ${elevation} - background: ${neutralLayerFloatingBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); + background: ${neutralLayerFloating}; + border-radius: calc(${cornerRadius} * 1px); box-sizing: border-box; display: inline-flex; flex-direction: column; left: 0; max-height: calc(var(--max-height) - (${heightNumber} * 1px)); - padding: calc(var(--design-unit) * 1px) 0; + padding: calc(${designUnit} * 1px) 0; overflow-y: auto; position: absolute; width: 100%; @@ -80,17 +87,17 @@ export const selectStyles = (context, definition) => box-sizing: border-box; cursor: pointer; display: flex; - font-size: var(--type-ramp-base-font-size); + font-size: ${typeRampBaseFontSize}; font: inherit; - line-height: var(--type-ramp-base-line-height); + line-height: ${typeRampBaseLineHeight}; min-height: calc(${heightNumber} * 1px); - padding: 0 calc(var(--design-unit) * 2.25px); + padding: 0 calc(${designUnit} * 2.25px); width: 100%; } :host(:not([disabled]):hover) { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; } :host(:focus) { @@ -98,28 +105,28 @@ export const selectStyles = (context, definition) => } :host(:${focusVisible}) { - border-color: ${neutralFocusBehavior.var}; + border-color: ${neutralFocus}; outline: none; box-shadow: - 0 0 0 1px inset ${neutralFocusBehavior.var}; + 0 0 0 1px inset ${neutralFocus}; } :host([open]:${focusVisible}) { - border-color: ${neutralOutlineRestBehavior.var}; + border-color: ${neutralOutlineRest}; outline: none; box-shadow: none; } :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]:not([disabled])) { - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccentBehavior.var}; - border-color: ${neutralFocusBehavior.var}; - background: ${accentFillHoverBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccent}; + border-color: ${neutralFocus}; + background: ${accentFillHover}; + color: ${accentForegroundCut}; } :host([disabled]) { cursor: ${disabledCursor}; - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } :host([disabled]) .control { @@ -127,14 +134,14 @@ export const selectStyles = (context, definition) => } :host([disabled]:hover) { - background: ${neutralFillStealthRestBehavior.var}; - color: ${neutralForegroundRestBehavior.var}; + background: ${neutralFillStealthRest}; + color: ${neutralForegroundRest}; fill: currentcolor; } :host(:not([disabled])) .control:active { - background: ${neutralFillInputActiveBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background: ${neutralFillInputActive}; + border-color: ${neutralOutlineActive}; } :host([open][position="above"]) .listbox, @@ -160,7 +167,7 @@ export const selectStyles = (context, definition) => } .selected-value { - font-family: var(--body-font); + font-family: ${bodyFont}; flex: 1 1 auto; text-align: start; } @@ -193,8 +200,8 @@ export const selectStyles = (context, definition) => ${`` /* Glyph size is temporary - replace when glyph-size var is added */} fill: currentcolor; height: 1em; - min-height: calc(var(--design-unit) * 4px); - min-width: calc(var(--design-unit) * 4px); + min-height: calc(${designUnit} * 4px); + min-width: calc(${designUnit} * 4px); width: 1em; } @@ -202,12 +209,7 @@ export const selectStyles = (context, definition) => flex: 0 0 auto; } `.withBehaviors( - appearanceBehavior('filled', SelectFilledStyles), - accentFillHoverBehavior, - accentForegroundCutRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, + appearanceBehavior('filled', selectFilledStyles(context, definition)), forcedColorsStylesheetBehavior( css` :host([disabled]) { @@ -263,13 +265,4 @@ export const selectStyles = (context, definition) => } `, ), - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundRestBehavior, - neutralLayerFloatingBehavior, - neutralOutlineRestBehavior, ); diff --git a/packages/web-components/src/skeleton/skeleton.styles.ts b/packages/web-components/src/skeleton/skeleton.styles.ts index ff1b368f3c60fb..90eb47f25f6931 100644 --- a/packages/web-components/src/skeleton/skeleton.styles.ts +++ b/packages/web-components/src/skeleton/skeleton.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { neutralFillRestBehavior } from '../styles'; +import { cornerRadius, neutralFillRest } from '../design-tokens'; export const skeletonStyles = (context, definition) => css` @@ -20,7 +20,7 @@ export const skeletonStyles = (context, definition) => } :host(.rect) { - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); } :host(.circle) { @@ -47,7 +47,7 @@ export const skeletonStyles = (context, definition) => background-image: var(--skeleton-animation-gradient, var(--skeleton-animation-gradient-default)); background-size: 0px 0px / 90% 100%; background-repeat: no-repeat; - background-color: var(--skeleton-animation-fill, ${neutralFillRestBehavior.var}); + background-color: var(--skeleton-animation-fill, ${neutralFillRest}); animation: shimmer 2s infinite; animation-timing-function: var(--skeleton-animation-timing, var(--skeleton-timing-default)); animation-direction: normal; @@ -71,4 +71,4 @@ export const skeletonStyles = (context, definition) => transform: translateX(100%); } } - `.withBehaviors(neutralFillRestBehavior); + `; diff --git a/packages/web-components/src/slider-label/slider-label.styles.ts b/packages/web-components/src/slider-label/slider-label.styles.ts index 76f610a44e1c99..632ee9a7e1e175 100644 --- a/packages/web-components/src/slider-label/slider-label.styles.ts +++ b/packages/web-components/src/slider-label/slider-label.styles.ts @@ -1,12 +1,13 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { heightNumber, neutralOutlineRestBehavior } from '../styles'; +import { heightNumber } from '../styles'; +import { bodyFont, neutralOutlineRest, designUnit, disabledOpacity } from '../design-tokens'; export const sliderLabelStyles = (context, definition) => css` ${display('block')} :host { - font-family: var(--body-font); + font-family: ${bodyFont}; } .root { position: absolute; @@ -44,9 +45,9 @@ export const sliderLabelStyles = (context, definition) => margin: 2px 0; } .mark { - width: calc((var(--design-unit) / 2) * 1px); + width: calc((${designUnit} / 2) * 1px); height: calc(${heightNumber} * 0.25 * 1px); - background: ${neutralOutlineRestBehavior.var}; + background: ${neutralOutlineRest}; justify-self: center; } :host(.vertical) .mark { @@ -54,14 +55,13 @@ export const sliderLabelStyles = (context, definition) => align-self: center; } :host(.vertical) .label { - margin-left: calc((var(--design-unit) / 2) * 2px); + margin-left: calc((${designUnit} / 2) * 2px); align-self: center; } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } `.withBehaviors( - neutralOutlineRestBehavior, forcedColorsStylesheetBehavior( css` .mark { diff --git a/packages/web-components/src/slider/fixtures/slider.html b/packages/web-components/src/slider/fixtures/slider.html index bb9fe3d8376bde..cba91876069be9 100644 --- a/packages/web-components/src/slider/fixtures/slider.html +++ b/packages/web-components/src/slider/fixtures/slider.html @@ -1,14 +1,27 @@ -
-

Toggle orientation

-
+
+

Toggle orientation

+
- + + 0℃ @@ -23,213 +36,276 @@

Toggle orientation

-

Vertical

-
- - - 0℃ + +

Defaults

+ + + +

horizontal with left offset

+ + + +

Vertical with top offset

+ + + +

Negative positions

+ + + -3 + + + -2 + + + -1 + + + 0 + + + 1 + + + 2 + + + 3 + + + + +

Min value greater than 0

+
+ + + 5 + + 15 + + +
+ + +

Text labels

+
+ + 10℃ 90℃ - - 100℃ - +
- -

Defaults

- - - -

Text labels

-
- - + +

Custom labels (rtl)

+
+ +
+ - 10℃ + 10 + + + 20 - - 90℃ + + 40 + + + 60 + + + 80
+
- -

Custom labels and rtl support

-
- -
- - - 10 - - - 20 - - - 40 - - - 60 - - - 80 - - -
-
+ +

Custom thumb

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + + + - -

Custom thumb

- - - 0 - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 - - - 90 - - - 100 - - + +

Vertical

+ + + 0℃ + + + 10℃ + + + 90℃ + + + 100℃ + + + + +

Custom labels and thumb, hide marks on labels

+ + + - - - -

- Custom labels and thumb and hidden marks on labels -

- - - - - - - - 50 - - - - Clock Icon - - - - + + + 50 + + + + Clock Icon - + + + + +
- -

Disabled

- - - 0 - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 - - - 90 - - - 100 - - - -

Read Only

- - - 0 - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 - - - 90 - - - 100 - - -
+ +

Disabled

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + +

Read Only

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + +
diff --git a/packages/web-components/src/slider/slider.styles.ts b/packages/web-components/src/slider/slider.styles.ts index 55a2af8479314b..71c7bd2c438b45 100644 --- a/packages/web-components/src/slider/slider.styles.ts +++ b/packages/web-components/src/slider/slider.styles.ts @@ -1,29 +1,32 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { heightNumber } from '../styles'; import { - heightNumber, - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + designUnit, + cornerRadius, + neutralFocus, + neutralForegroundRest, + neutralOutlineHover, + neutralOutlineActive, + density, + neutralOutlineRest, + disabledOpacity, +} from '../design-tokens'; export const sliderStyles = (context, defintion) => css` ${display('inline-grid')} :host { --thumb-size: calc(${heightNumber} * 0.5); --thumb-translate: calc(var(--thumb-size) * 0.5); - --track-overhang: calc((var(--design-unit) / 2) * -1); - --track-width: var(--design-unit); + --track-overhang: calc((${designUnit} / 2) * -1); + --track-width: ${designUnit}; align-items: center; width: 100%; - margin: calc(var(--design-unit) * 1px) 0; + margin: calc(${designUnit} * 1px) 0; user-select: none; box-sizing: border-box; - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); outline: none; cursor: pointer; } @@ -41,7 +44,7 @@ export const sliderStyles = (context, defintion) => grid-template-columns: calc(var(--thumb-size) * 1px) 1fr; } :host(:${focusVisible}) .thumb-cursor { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; } .thumb-container { position: absolute; @@ -53,15 +56,16 @@ export const sliderStyles = (context, defintion) => border: none; width: calc(var(--thumb-size) * 1px); height: calc(var(--thumb-size) * 1px); - background: ${neutralForegroundRestBehavior.var}; + background: ${neutralForegroundRest}; border-radius: 50%; } .thumb-cursor:hover { - background: ${neutralForegroundHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralForegroundRest};; + border-color: ${neutralOutlineHover}; } .thumb-cursor:active { - background: ${neutralForegroundActiveBehavior.var}; + background: ${neutralForegroundRest}; + border-color: ${neutralOutlineActive}; } :host(.horizontal) .thumb-container { transform: translateX(calc(var(--thumb-translate) * 1px)); @@ -76,38 +80,32 @@ export const sliderStyles = (context, defintion) => right: calc(var(--track-overhang) * 1px); left: calc(var(--track-overhang) * 1px); align-self: start; - margin-top: calc((var(--design-unit) + calc(var(--density) + 2)) * 1px); + margin-top: calc((${designUnit} + calc(${density} + 2)) * 1px); height: calc(var(--track-width) * 1px); } :host(.vertical) .track { top: calc(var(--track-overhang) * 1px); bottom: calc(var(--track-overhang) * 1px); - margin-inline-start: calc((var(--design-unit) + calc(var(--density) + 2)) * 1px); + margin-inline-start: calc((${designUnit} + calc(${density} + 2)) * 1px); width: calc(var(--track-width) * 1px); height: 100%; } .track { - background: ${neutralOutlineRestBehavior.var}; + background: ${neutralOutlineRest}; position: absolute; } :host(.vertical) { height: 100%; - min-height: calc(var(--design-unit) * 60px); - min-width: calc(var(--design-unit) * 20px); + min-height: calc(${designUnit} * 60px); + min-width: calc(${designUnit} * 20px); } :host(.disabled), :host(.readonly) { cursor: ${disabledCursor}; } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, forcedColorsStylesheetBehavior( css` .thumb-cursor { diff --git a/packages/web-components/src/styles/patterns/button.ts b/packages/web-components/src/styles/patterns/button.ts index 8e56aa0568e840..5de2d0805d03cf 100644 --- a/packages/web-components/src/styles/patterns/button.ts +++ b/packages/web-components/src/styles/patterns/button.ts @@ -3,41 +3,50 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { heightNumber } from '../size'; import { - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - accentForegroundActiveBehavior, - accentForegroundCutRestBehavior, - accentForegroundHoverBehavior, - accentForegroundRestBehavior, - neutralFillActiveBehavior, - neutralFillHoverBehavior, - neutralFillRestBehavior, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../behaviors'; + neutralFillRest, + neutralForegroundRest, + typeRampBaseFontSize, + typeRampBaseLineHeight, + cornerRadius, + designUnit, + density, + outlineWidth, + neutralFillHover, + neutralFillActive, + neutralFocus, + focusOutlineWidth, + accentFillRest, + accentForegroundCut, + accentFillHover, + accentFillActive, + neutralFocusInnerAccent, + accentForegroundRest, + accentForegroundHover, + accentForegroundActive, + neutralOutlineRest, + neutralOutlineHover, + neutralOutlineActive, + neutralFillStealthRest, + neutralFillStealthHover, + neutralFillStealthActive, + bodyFont, +} from '../../design-tokens'; /** * @internal */ -export const BaseButtonStyles: ElementStyles = css` +export const baseButtonStyles = (context, definition) => + css` ${display('inline-flex')} :host { - font-family: var(--body-font); + font-family: ${bodyFont}; outline: none; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; height: calc(${heightNumber} * 1px); min-width: calc(${heightNumber} * 1px); - background-color: ${neutralFillRestBehavior.var}; - color: ${neutralForegroundRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); + background-color: ${neutralFillRest}; + color: ${neutralForegroundRest}; + border-radius: calc(${cornerRadius} * 1px); fill: currentcolor; cursor: pointer; } @@ -50,11 +59,11 @@ export const BaseButtonStyles: ElementStyles = css` display: inline-flex; justify-content: center; align-items: center; - padding: 0 calc((10 + (var(--design-unit) * 2 * var(--density))) * 1px); + padding: 0 calc((10 + (${designUnit} * 2 * ${density})) * 1px); white-space: nowrap; outline: none; text-decoration: none; - border: calc(var(--outline-width) * 1px) solid transparent; + border: calc(${outlineWidth} * 1px) solid transparent; color: inherit; border-radius: inherit; fill: inherit; @@ -74,16 +83,16 @@ export const BaseButtonStyles: ElementStyles = css` } :host(:hover) { - background-color: ${neutralFillHoverBehavior.var}; + background-color: ${neutralFillHover}; } :host(:active) { - background-color: ${neutralFillActiveBehavior.var}; + background-color: ${neutralFillActive}; } .control:${focusVisible} { - border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; } .control::-moz-focus-inner { @@ -117,13 +126,8 @@ export const BaseButtonStyles: ElementStyles = css` margin-inline-start: 11px; } `.withBehaviors( - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralFillHoverBehavior, - neutralFillActiveBehavior, - forcedColorsStylesheetBehavior( - css` + forcedColorsStylesheetBehavior( + css` :host, :host([appearance="neutral"]) .control { background-color: ${SystemColors.ButtonFace}; @@ -145,7 +149,7 @@ export const BaseButtonStyles: ElementStyles = css` forced-color-adjust: none; background-color: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${SystemColors.ButtonText}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${SystemColors.ButtonText}; color: ${SystemColors.HighlightText}; } @@ -171,35 +175,30 @@ export const BaseButtonStyles: ElementStyles = css` fill: currentcolor; } `, - ), -); + ), + ); /** * @internal */ export const AccentButtonStyles = css` :host([appearance="accent"]) { - background: ${accentFillRestBehavior.var}; - color: ${accentForegroundCutRestBehavior.var}; + background: ${accentFillRest}; + color: ${accentForegroundCut}; } :host([appearance="accent"]:hover) { - background: ${accentFillHoverBehavior.var}; + background: ${accentFillHover}; } :host([appearance="accent"]:active) .control:active { - background: ${accentFillActiveBehavior.var}; + background: ${accentFillActive}; } :host([appearance="accent"]) .control:${focusVisible} { - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccentBehavior.var}, 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var} + box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${neutralFocusInnerAccent}, 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus} } `.withBehaviors( - accentFillRestBehavior, - accentForegroundCutRestBehavior, - accentFillHoverBehavior, - accentFillActiveBehavior, - neutralFocusInnerAccentBehavior, forcedColorsStylesheetBehavior( css` :host([appearance="accent"]) .control { @@ -268,24 +267,20 @@ export const HypertextStyles = css` :host([appearance="hypertext"]) .control:link, :host([appearance="hypertext"]) .control:visited { background: transparent; - color: ${accentForegroundRestBehavior.var}; - border-bottom: calc(var(--outline-width) * 1px) solid ${accentForegroundRestBehavior.var}; + color: ${accentForegroundRest}; + border-bottom: calc(${outlineWidth} * 1px) solid ${accentForegroundRest}; } :host([appearance="hypertext"]) .control:hover { - border-bottom-color: ${accentForegroundHoverBehavior.var}; + border-bottom-color: ${accentForegroundHover}; } :host([appearance="hypertext"]) .control:active { - border-bottom-color: ${accentForegroundActiveBehavior.var}; + border-bottom-color: ${accentForegroundActive}; } :host([appearance="hypertext"]) .control:${focusVisible} { - border-bottom: calc(var(--focus-outline-width) * 1px) solid ${neutralFocusBehavior.var}; - margin-bottom: calc(calc(var(--outline-width) - var(--focus-outline-width)) * 1px); + border-bottom: calc(${focusOutlineWidth} * 1px) solid ${neutralFocus}; + margin-bottom: calc(calc(${outlineWidth} - ${focusOutlineWidth}) * 1px); } `.withBehaviors( - accentForegroundRestBehavior, - accentForegroundHoverBehavior, - accentForegroundActiveBehavior, - neutralFocusBehavior, forcedColorsStylesheetBehavior( css` :host([appearance="hypertext"]) .control:${focusVisible} { @@ -302,7 +297,7 @@ export const HypertextStyles = css` export const LightweightButtonStyles = css` :host([appearance="lightweight"]) { background: transparent; - color: ${accentForegroundRestBehavior.var}; + color: ${accentForegroundRest}; } :host([appearance="lightweight"]) .control { @@ -314,11 +309,11 @@ export const LightweightButtonStyles = css` } :host([appearance="lightweight"]:hover) { - color: ${accentForegroundHoverBehavior.var}; + color: ${accentForegroundHover}; } :host([appearance="lightweight"]:active) { - color: ${accentForegroundActiveBehavior.var}; + color: ${accentForegroundActive}; } :host([appearance="lightweight"]) .content { @@ -328,30 +323,25 @@ export const LightweightButtonStyles = css` :host([appearance="lightweight"]) .content::before { content: ""; display: block; - height: calc(var(--outline-width) * 1px); + height: calc(${outlineWidth} * 1px); position: absolute; top: calc(1em + 3px); width: 100%; } :host([appearance="lightweight"]:hover) .content::before { - background: ${accentForegroundHoverBehavior.var}; + background: ${accentForegroundHover}; } :host([appearance="lightweight"]:active) .content::before { - background: ${accentForegroundActiveBehavior.var}; + background: ${accentForegroundActive}; } :host([appearance="lightweight"]) .control:${focusVisible} .content::before { - background: ${neutralForegroundRestBehavior.var}; - height: calc(var(--focus-outline-width) * 1px); + background: ${neutralForegroundRest}; + height: calc(${focusOutlineWidth} * 1px); } `.withBehaviors( - accentForegroundRestBehavior, - accentForegroundHoverBehavior, - accentForegroundActiveBehavior, - accentForegroundHoverBehavior, - neutralForegroundRestBehavior, forcedColorsStylesheetBehavior( css` :host([appearance="lightweight"]) { @@ -389,15 +379,15 @@ export const LightweightButtonStyles = css` export const OutlineButtonStyles = css` :host([appearance="outline"]) { background: transparent; - border-color: ${neutralOutlineRestBehavior.var}; + border-color: ${neutralOutlineRest}; } :host([appearance="outline"]:hover) { - border-color: ${neutralOutlineHoverBehavior.var}; + border-color: ${neutralOutlineHover}; } :host([appearance="outline"]:active) { - border-color: ${neutralOutlineActiveBehavior.var}; + border-color: ${neutralOutlineActive}; } :host([appearance="outline"]) .control { @@ -405,14 +395,10 @@ export const OutlineButtonStyles = css` } :host([appearance="outline"]) .control:${focusVisible} { - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var}; - border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; + border-color: ${neutralFocus}; } `.withBehaviors( - neutralOutlineRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineActiveBehavior, - neutralFocusBehavior, forcedColorsStylesheetBehavior( css` :host([appearance='outline']) { @@ -430,20 +416,17 @@ export const OutlineButtonStyles = css` */ export const StealthButtonStyles = css` :host([appearance='stealth']) { - background: ${neutralFillStealthRestBehavior.var}; + background: ${neutralFillStealthRest}; } :host([appearance='stealth']:hover) { - background: ${neutralFillStealthHoverBehavior.var}; + background: ${neutralFillStealthHover}; } :host([appearance='stealth']:active) { - background: ${neutralFillStealthActiveBehavior.var}; + background: ${neutralFillStealthActive}; } `.withBehaviors( - neutralFillStealthRestBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthActiveBehavior, forcedColorsStylesheetBehavior( css` :host([appearance="stealth"]), diff --git a/packages/web-components/src/styles/patterns/input.ts b/packages/web-components/src/styles/patterns/input.ts index 0774701ce27ee4..b55798d3b565fa 100644 --- a/packages/web-components/src/styles/patterns/input.ts +++ b/packages/web-components/src/styles/patterns/input.ts @@ -1,18 +1,19 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { accentFillRestBehavior } from '../behaviors'; +import { focusOutlineWidth, accentFillRest, cornerRadius } from '../../design-tokens'; /** * @internal */ -export const FillStateStyles: ElementStyles = css` +export const fillStateStyles = (context, definition) => css` :host([appearance='filled']:not(.disabled):active)::after, :host([appearance='filled']:not(.disabled):focus-within:not(:active))::after { content: ''; position: absolute; bottom: 0; - border-bottom: calc(var(--focus-outline-width) * 1px) solid ${accentFillRestBehavior.var}; - border-bottom-left-radius: calc(var(--corner-radius) * 1px); - border-bottom-right-radius: calc(var(--corner-radius) * 1px); + border-bottom: calc(${focusOutlineWidth} * 1px) solid ${accentFillRest}; + border-bottom-left-radius: calc(${cornerRadius} * 1px); + border-bottom-right-radius: calc(${cornerRadius} * 1px); z-index: 2; transition: all 300ms cubic-bezier(0.1, 0.9, 0.2, 1); } diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index 9f192c5dd74c11..7d685097a5c238 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -7,21 +7,27 @@ import { focusVisible, forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation'; +import { heightNumber } from '../styles'; import { - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - accentForegroundCutRestBehavior, - heightNumber, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; + bodyFont, + designUnit, + disabledOpacity, + neutralFillInputRest, + neutralOutlineRest, + neutralFillInputHover, + neutralOutlineHover, + neutralFillInputActive, + neutralOutlineActive, + neutralFocus, + neutralForegroundRest, + outlineWidth, + accentForegroundCut, + accentFillRest, + accentFillHover, + accentFillActive, + typeRampBaseFontSize, + typeRampBaseLineHeight, +} from '../design-tokens'; export const switchStyles = (context, defintiion) => css` @@ -32,8 +38,8 @@ export const switchStyles = (context, defintiion) => ${display('inline-flex')} :host { align-items: center; outline: none; - font-family: var(--body-font); - margin: calc(var(--design-unit) * 1px) 0; + font-family: ${bodyFont}; + margin: calc(${designUnit} * 1px) 0; ${ /* * Chromium likes to select label text or the default slot when @@ -43,7 +49,7 @@ export const switchStyles = (context, defintiion) => } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } :host(.disabled) .label, @@ -57,44 +63,44 @@ export const switchStyles = (context, defintiion) => position: relative; outline: none; box-sizing: border-box; - width: calc(((${heightNumber} / 2) + var(--design-unit)) * 2px); - height: calc(((${heightNumber} / 2) + var(--design-unit)) * 1px); - background: ${neutralFillInputRestBehavior.var}; + width: calc(((${heightNumber} / 2) + ${designUnit}) * 2px); + height: calc(((${heightNumber} / 2) + ${designUnit}) * 1px); + background: ${neutralFillInputRest}; border-radius: calc(${heightNumber} * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; } :host(:enabled) .switch:hover { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; cursor: pointer; } :host(:enabled) .switch:active { - background: ${neutralFillInputActiveBehavior.var}; - border-color: ${neutralOutlineActiveBehavior.var}; + background: ${neutralFillInputActive}; + border-color: ${neutralOutlineActive}; } :host(:${focusVisible}) .switch { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocusBehavior.var}; - border-color: ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + border-color: ${neutralFocus}; } .checked-indicator { position: absolute; - height: calc((${heightNumber} - (var(--design-unit) * 5.5)) * 1px); - width: calc((${heightNumber} - (var(--design-unit) * 5.5)) * 1px); - top: calc(var(--design-unit) * 1px); - background: ${neutralForegroundRestBehavior.var}; + height: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); + width: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); + top: calc(${designUnit} * 1px); + background: ${neutralForegroundRest}; border-radius: 50%; transition: all 0.2s ease-in-out; } .status-message { - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .label__hidden { @@ -103,37 +109,37 @@ export const switchStyles = (context, defintiion) => } .label { - color: ${neutralForegroundRestBehavior.var}; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - margin-inline-end: calc(var(--design-unit) * 2px + 2px); + color: ${neutralForegroundRest}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + margin-inline-end: calc(${designUnit} * 2px + 2px); cursor: pointer; } ::slotted(*) { ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' - } margin-inline-start: calc(var(--design-unit) * 2px + 2px); + } margin-inline-start: calc(${designUnit} * 2px + 2px); } :host([aria-checked="true"]) .checked-indicator { - background: ${accentForegroundCutRestBehavior.var}; + background: ${accentForegroundCut}; } :host([aria-checked="true"]) .switch { - background: ${accentFillRestBehavior.var}; + background: ${accentFillRest}; } :host([aria-checked="true"]:enabled) .switch:hover { - background: ${accentFillHoverBehavior.var}; + background: ${accentFillHover}; } :host([aria-checked="true"]:enabled) .switch:active { - background: ${accentFillActiveBehavior.var}; + background: ${accentFillActive}; } :host([aria-checked="true"]:${focusVisible}:enabled) .switch { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocusBehavior.var}; + box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; border-color: transparent; } @@ -153,35 +159,23 @@ export const switchStyles = (context, defintiion) => display: block; } `.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - accentForegroundCutRestBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineActiveBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, new DirectionalStyleSheetBehavior( css` .checked-indicator { - left: calc(var(--design-unit) * 1px); + left: calc(${designUnit} * 1px); } :host([aria-checked='true']) .checked-indicator { - left: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); + left: calc((((${heightNumber} / 2) + ${designUnit}) + ${designUnit}) * 1px); } `, css` .checked-indicator { - right: calc(var(--design-unit) * 1px); + right: calc(${designUnit} * 1px); } :host([aria-checked='true']) .checked-indicator { - right: calc((((${heightNumber} / 2) + var(--design-unit)) + var(--design-unit)) * 1px); + right: calc((((${heightNumber} / 2) + ${designUnit}) + ${designUnit}) * 1px); } `, ), diff --git a/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts b/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts index caa6d7cb20820d..a076698dc35791 100644 --- a/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts +++ b/packages/web-components/src/tabs/tab-panel/tab-panel.styles.ts @@ -1,14 +1,14 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; +import { bodyFont, typeRampMinus1FontSize, designUnit, density, typeRampMinus1LineHeight } from '../../design-tokens'; export const tabPanelStyles = (context, definition) => css` ${display('flex')} :host { box-sizing: border-box; - font-family: var(--body-font); - ${/* Font size, weight, and line height are temporary - - replace when adaptive typography is figured out */ ''} font-size: 12px; + font-family: ${bodyFont}; + font-size: ${typeRampMinus1FontSize}; font-weight: 400; - line-height: 18px; - padding: 0 calc((6 + (var(--design-unit) * 2 * var(--density))) * 1px); + line-height: ${typeRampMinus1LineHeight}; + padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); } `; diff --git a/packages/web-components/src/tabs/tab/tab.styles.ts b/packages/web-components/src/tabs/tab/tab.styles.ts index 4708df00c56bf0..dc40ae5fed94d0 100644 --- a/packages/web-components/src/tabs/tab/tab.styles.ts +++ b/packages/web-components/src/tabs/tab/tab.styles.ts @@ -1,30 +1,33 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { heightNumber } from '../../styles'; import { - heightNumber, - neutralFocusBehavior, - neutralForegroundActiveBehavior, - neutralForegroundHoverBehavior, - neutralForegroundRestBehavior, -} from '../../styles'; + typeRampMinus1FontSize, + typeRampMinus1LineHeight, + bodyFont, + designUnit, + density, + neutralForegroundRest, + cornerRadius, + outlineWidth, + neutralFocus, + focusOutlineWidth, +} from '../../design-tokens'; export const tabStyles = (context, definition) => css` ${display('inline-flex')} :host { box-sizing: border-box; - font-family: var(--body-font); - ${ - /* Font size, weight, and line height are temporary - - replace when adaptive typography is figured out */ '' - } font-size: 12px; + font-family: ${bodyFont}; + font-size: ${typeRampMinus1FontSize}; font-weight: 400; - line-height: 18px; + line-height: ${typeRampMinus1LineHeight}; height: calc(${heightNumber} * 1px); - padding: 0 calc((6 + (var(--design-unit) * 2 * var(--density))) * 1px); - color: ${neutralForegroundRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid transparent; + padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); + color: ${neutralForegroundRest}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid transparent; align-items: center; justify-content: center; grid-row: 1; @@ -35,19 +38,16 @@ export const tabStyles = (context, definition) => z-index: 2; } - :host(:hover) { - color: ${neutralForegroundHoverBehavior.var}; - } - + :host(:hover), :host(:active) { - color: ${neutralForegroundActiveBehavior.var}; + color: ${neutralForegroundRest}; } :host(:${focusVisible}) { outline: none; - border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) - ${neutralFocusBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) + ${neutralFocus}; } :host(:focus) { @@ -63,21 +63,14 @@ export const tabStyles = (context, definition) => z-index: 2; } - :host(.vertical:hover) { - color: ${neutralForegroundHoverBehavior.var}; - } - + :host(.vertical:hover), :host(.vertical:active) { - color: ${neutralForegroundActiveBehavior.var}; + color: ${neutralForegroundRest}; } :host(.vertical:hover[aria-selected="true"]) { } `.withBehaviors( - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralForegroundHoverBehavior, - neutralForegroundActiveBehavior, forcedColorsStylesheetBehavior( css` :host { diff --git a/packages/web-components/src/tabs/tabs.styles.ts b/packages/web-components/src/tabs/tabs.styles.ts index 311c77696c61c9..5640fdcbb30735 100644 --- a/packages/web-components/src/tabs/tabs.styles.ts +++ b/packages/web-components/src/tabs/tabs.styles.ts @@ -1,16 +1,23 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { accentFillRestBehavior, neutralForegroundRestBehavior } from '../styles'; +import { + bodyFont, + typeRampBaseFontSize, + typeRampBaseLineHeight, + cornerRadius, + accentFillRest, + neutralForegroundRest, +} from '../design-tokens'; export const tabsStyles = (context, definition) => css` ${display('grid')} :host { box-sizing: border-box; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - color: ${neutralForegroundRestBehavior.var}; + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + color: ${neutralForegroundRest}; grid-template-columns: auto 1fr auto; grid-template-rows: auto 1fr; } @@ -34,9 +41,9 @@ export const tabsStyles = (context, definition) => grid-column: 1; width: 20px; height: 3px; - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); justify-self: center; - background: ${accentFillRestBehavior.var}; + background: ${accentFillRest}; } .activeIndicatorTransition { @@ -82,17 +89,15 @@ export const tabsStyles = (context, definition) => grid-row: 1; width: 3px; height: 20px; - border-radius: calc(var(--corner-radius) * 1px); + border-radius: calc(${cornerRadius} * 1px); align-self: center; - background: ${accentFillRestBehavior.var}; + background: ${accentFillRest}; } :host(.vertical) .activeIndicatorTransition { transition: transform 0.2s linear; } `.withBehaviors( - accentFillRestBehavior, - neutralForegroundRestBehavior, forcedColorsStylesheetBehavior( css` .activeIndicator, diff --git a/packages/web-components/src/text-area/text-area.styles.ts b/packages/web-components/src/text-area/text-area.styles.ts index 0b0c156640f9a1..075a217845f4b2 100644 --- a/packages/web-components/src/text-area/text-area.styles.ts +++ b/packages/web-components/src/text-area/text-area.styles.ts @@ -1,55 +1,55 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - accentFillRestBehavior, - FillStateStyles, - heightNumber, - neutralFillHoverBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; +import { fillStateStyles, heightNumber } from '../styles'; import { appearanceBehavior } from '../utilities/behaviors'; +import { + neutralFillRest, + neutralFillHover, + neutralForegroundRest, + neutralFillInputRest, + neutralOutlineRest, + neutralFillInputHover, + neutralOutlineHover, + neutralFocus, + outlineWidth, + typeRampBaseFontSize, + typeRampBaseLineHeight, + designUnit, +} from '../design-tokens'; -export const TextAreaFilledStyles = css` - :host([appearance='filled']) .control { - background: ${neutralFillRestBehavior.var}; - border-color: transparent; - } +export const textAreaFilledStyles = (context, definition) => + css` + :host([appearance='filled']) .control { + background: ${neutralFillRest}; + border-color: transparent; + } - :host([appearance='filled']:hover:not([disabled])) .control { - background: ${neutralFillHoverBehavior.var}; - border-color: transparent; - } + :host([appearance='filled']:hover:not([disabled])) .control { + background: ${neutralFillHover}; + border-color: transparent; + } - :host([appearance='filled']:focus-within:not([disabled])) .control { - border-color: transparent; - box-shadow: none; - } - ${FillStateStyles} -`.withBehaviors( - accentFillRestBehavior, - neutralFillHoverBehavior, - neutralFillRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host([appearance='filled']:hover:not([disabled])) .control, - :host([appearance='filled']:focus-within:not([disabled])) .control { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:not([disabled]):active)::after, - :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { - border-bottom-color: ${SystemColors.Highlight}; - } - `, - ), -); + :host([appearance='filled']:focus-within:not([disabled])) .control { + border-color: transparent; + box-shadow: none; + } + ${fillStateStyles(context, definition)} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='filled']:hover:not([disabled])) .control, + :host([appearance='filled']:focus-within:not([disabled])) .control { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:not([disabled]):active)::after, + :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { + border-bottom-color: ${SystemColors.Highlight}; + } + `, + ), + ); export const textAreaStyles = (context, definition) => css` @@ -65,22 +65,22 @@ export const textAreaStyles = (context, definition) => .control { box-sizing: border-box; position: relative; - color: ${neutralForegroundRestBehavior.var}; - background: ${neutralFillInputRestBehavior.var}; + color: ${neutralForegroundRest}; + background: ${neutralFillInputRest}; border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; height: calc(${heightNumber} * 2px); font: inherit; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); - padding: calc(var(--design-unit) * 1.5px) calc(var(--design-unit) * 2px + 1px); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + padding: calc(${designUnit}} * 1.5px) calc(${designUnit}} * 2px + 1px); width: 100%; resize: none; } .control:hover:enabled { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; } .control:hover, @@ -91,8 +91,8 @@ export const textAreaStyles = (context, definition) => } :host(:focus-within) .control { - border-color: ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; + border-color: ${neutralFocus}; + box-shadow: 0 0 0 1px ${neutralFocus} inset; } :host(.resize-both) .control { @@ -114,10 +114,10 @@ export const textAreaStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; - $font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + $font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; margin-bottom: 4px; } @@ -131,13 +131,7 @@ export const textAreaStyles = (context, definition) => opacity: var(--disabled-opacity); } `.withBehaviors( - appearanceBehavior('filled', TextAreaFilledStyles), - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, + appearanceBehavior('filled', textAreaFilledStyles(context, definition)), forcedColorsStylesheetBehavior( css` :host([disabled]) { diff --git a/packages/web-components/src/text-field/text-field.styles.ts b/packages/web-components/src/text-field/text-field.styles.ts index 85dadbd74652b7..f60d3619f8ba80 100644 --- a/packages/web-components/src/text-field/text-field.styles.ts +++ b/packages/web-components/src/text-field/text-field.styles.ts @@ -1,72 +1,74 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - accentFillRestBehavior, - FillStateStyles, - heightNumber, - neutralFillHoverBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, -} from '../styles'; +import { fillStateStyles, heightNumber } from '../styles'; import { appearanceBehavior } from '../utilities/behaviors'; +import { + neutralFillRest, + neutralFillHover, + bodyFont, + neutralForegroundRest, + neutralFillInputRest, + cornerRadius, + outlineWidth, + neutralOutlineRest, + typeRampBaseFontSize, + typeRampBaseLineHeight, + neutralFillInputHover, + neutralOutlineHover, + neutralFocus, + disabledOpacity, +} from '../design-tokens'; + +export const textFieldFilledStyles = (context, definition) => + css` + :host([appearance='filled']) .root { + background: ${neutralFillRest}; + border-color: transparent; + } -export const TextFieldFilledStyles = css` - :host([appearance='filled']) .root { - background: ${neutralFillRestBehavior.var}; - border-color: transparent; - } - - :host([appearance='filled']:hover:not(.disabled)) .root { - background: ${neutralFillHoverBehavior.var}; - border-color: transparent; - } - - :host([appearance='filled']:focus-within:not(.disabled)) .root { - border-color: transparent; - box-shadow: none; - } - ${FillStateStyles} -`.withBehaviors( - accentFillRestBehavior, - neutralFillHoverBehavior, - neutralFillRestBehavior, - forcedColorsStylesheetBehavior( - css` - :host([appearance='filled']) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:hover:not([disabled])) .root, - :host([appearance='filled']:focus-within:not([disabled])) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:active:not([disabled])) .root { - background: ${SystemColors.Field}; - border-color: ${SystemColors.FieldText}; - } - :host([appearance='filled']:not([disabled]):active)::after, - :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { - border-bottom-color: ${SystemColors.Highlight}; - } - :host([appearance='filled'][disabled]) .root { - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - `, - ), -); + :host([appearance='filled']:hover:not(.disabled)) .root { + background: ${neutralFillHover}; + border-color: transparent; + } + + :host([appearance='filled']:focus-within:not(.disabled)) .root { + border-color: transparent; + box-shadow: none; + } + ${fillStateStyles(context, definition)} + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host([appearance='filled']) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:hover:not([disabled])) .root, + :host([appearance='filled']:focus-within:not([disabled])) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:active:not([disabled])) .root { + background: ${SystemColors.Field}; + border-color: ${SystemColors.FieldText}; + } + :host([appearance='filled']:not([disabled]):active)::after, + :host([appearance='filled']:not([disabled]):focus-within:not(:active))::after { + border-bottom-color: ${SystemColors.Highlight}; + } + :host([appearance='filled'][disabled]) .root { + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + `, + ), + ); export const textFieldStyles = (context, definition) => css` ${display('inline-block')} :host { - font-family: var(--body-font); + font-family: ${bodyFont}; outline: none; user-select: none; position: relative; @@ -77,10 +79,10 @@ export const textFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForegroundRestBehavior.var}; - background: ${neutralFillInputRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid ${neutralOutlineRestBehavior.var}; + color: ${neutralForegroundRest}; + background: ${neutralFillInputRest}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; height: calc(${heightNumber} * 1px); } @@ -94,10 +96,10 @@ export const textFieldStyles = (context, definition) => margin-bottom: auto; border: none; padding: 0 calc(var(--design-unit) * 2px + 1px); - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; font-family: inherit; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .control:hover, @@ -109,10 +111,10 @@ export const textFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRestBehavior.var}; + color: ${neutralForegroundRest}; cursor: pointer; - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; margin-bottom: 4px; } @@ -143,13 +145,13 @@ export const textFieldStyles = (context, definition) => } :host(:hover:not(.disabled)) .root { - background: ${neutralFillInputHoverBehavior.var}; - border-color: ${neutralOutlineHoverBehavior.var}; + background: ${neutralFillInputHover}; + border-color: ${neutralOutlineHover}; } :host(:focus-within:not(.disabled)) .root { - border-color: ${neutralFocusBehavior.var}; - box-shadow: 0 0 0 1px ${neutralFocusBehavior.var} inset; + border-color: ${neutralFocus}; + box-shadow: 0 0 0 1px ${neutralFocus} inset; } :host(.disabled) .label, @@ -160,16 +162,10 @@ export const textFieldStyles = (context, definition) => } :host(.disabled) { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; } `.withBehaviors( - appearanceBehavior('filled', TextFieldFilledStyles), - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineHoverBehavior, - neutralOutlineRestBehavior, + appearanceBehavior('filled', textFieldFilledStyles(context, definition)), forcedColorsStylesheetBehavior( css` .root { diff --git a/packages/web-components/src/tooltip/fixtures/tooltip.html b/packages/web-components/src/tooltip/fixtures/tooltip.html index bc0cc3e83cd894..9d65291fd561c0 100644 --- a/packages/web-components/src/tooltip/fixtures/tooltip.html +++ b/packages/web-components/src/tooltip/fixtures/tooltip.html @@ -6,15 +6,30 @@

Default

Helpful text is helpful - - Always visible - - anchor
+

Show/Hide

+
+ + Always visible + + + Always visible + + + Always visible + + + Always visible + + + Toggle tooltips + +
+

Top

@@ -59,6 +74,39 @@

Left

+

in a flex container

+
+
+
+ + anchor + +
+
+ + Helpful text is helpful + + + Helpful text is helpful + + + Helpful text is helpful + + + Helpful text is helpful + +
+

Switch anchors

diff --git a/packages/web-components/src/tooltip/index.ts b/packages/web-components/src/tooltip/index.ts index 6d410a0b95c41f..536817febfed05 100644 --- a/packages/web-components/src/tooltip/index.ts +++ b/packages/web-components/src/tooltip/index.ts @@ -1,6 +1,25 @@ -import { tooltipTemplate as template, Tooltip } from '@microsoft/fast-foundation'; +import { DI, Tooltip as FoundationTooltip, tooltipTemplate as template } from '@microsoft/fast-foundation'; +import { fillColor, NeutralContrastFill } from '../design-tokens'; import { tooltipStyles as styles } from './tooltip.styles'; +/** + * The Fluent tooltip class + * @internal + */ +export class Tooltip extends FoundationTooltip { + /** + * @internal + */ + public connectedCallback(): void { + super.connectedCallback(); + + const recipe = DI.findResponsibleContainer(this.parentElement!).get(NeutralContrastFill); + const parentFill = fillColor.getValueFor(this.parentElement!); + + fillColor.setValueFor(this, (target: HTMLElement) => recipe(target, parentFill).rest); + } +} + /** * The Fluent Tooltip Custom Element. Implements {@link @microsoft/fast-foundation#Tooltip}, * {@link @microsoft/fast-foundation#tooltipTemplate} diff --git a/packages/web-components/src/tooltip/tooltip.stories.ts b/packages/web-components/src/tooltip/tooltip.stories.ts index 420332cab70a49..95bd4ae20483c2 100644 --- a/packages/web-components/src/tooltip/tooltip.stories.ts +++ b/packages/web-components/src/tooltip/tooltip.stories.ts @@ -23,7 +23,7 @@ function onAnchorMouseEnter(e: MouseEvent): void { addons.getChannel().addListener(STORY_RENDERED, (name: string) => { if (name.toLowerCase().startsWith('tooltip')) { - document.querySelectorAll('fast-button[id^=anchor-anchor-switch]').forEach((el: HTMLElement) => { + document.querySelectorAll('fluent-button[id^=anchor-anchor-switch]').forEach((el: HTMLElement) => { el.addEventListener('mouseenter', onAnchorMouseEnter); }); diff --git a/packages/web-components/src/tooltip/tooltip.styles.ts b/packages/web-components/src/tooltip/tooltip.styles.ts index 2ba9eccd841cd2..4e0a0e2d24704b 100644 --- a/packages/web-components/src/tooltip/tooltip.styles.ts +++ b/packages/web-components/src/tooltip/tooltip.styles.ts @@ -1,21 +1,15 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { elevation } from '../styles/index'; import { - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - elevation, - neutralContrastFillRestBehavior, - neutralContrastForegroundRestBehavior, - neutralFillHoverBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineRestBehavior, -} from '../styles/index'; + cornerRadius, + outlineWidth, + neutralContrastFillRest, + neutralForegroundRest, + bodyFont, + typeRampBaseFontSize, + typeRampBaseLineHeight, +} from '../design-tokens'; export const tooltipStyles = (context, definition) => css` @@ -31,16 +25,16 @@ export const tooltipStyles = (context, definition) => .tooltip { box-sizing: border-box; - border-radius: calc(var(--corner-radius) * 1px); - border: calc(var(--outline-width) * 1px) solid transparent; - background: ${neutralContrastFillRestBehavior.var}; - color: ${neutralContrastForegroundRestBehavior.var}; + border-radius: calc(${cornerRadius} * 1px); + border: calc(${outlineWidth} * 1px) solid transparent; + background: ${neutralContrastFillRest}; + color: ${neutralForegroundRest}; padding: 4px 12px; height: fit-content; width: fit-content; - font-family: var(--body-font); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; white-space: nowrap; ${elevation} } @@ -65,8 +59,8 @@ export const tooltipStyles = (context, definition) => content: ''; width: 12px; height: 12px; - background: ${neutralForegroundRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); + background: ${neutralForegroundRest}; + border-radius: calc(${cornerRadius} * 1px); position: absolute; } @@ -110,19 +104,6 @@ export const tooltipStyles = (context, definition) => margin-left: 12px; } `.withBehaviors( - accentFillActiveBehavior, - accentFillHoverBehavior, - accentFillRestBehavior, - neutralContrastFillRestBehavior, - neutralContrastForegroundRestBehavior, - neutralFillHoverBehavior, - neutralFillInputActiveBehavior, - neutralFillInputHoverBehavior, - neutralFillInputRestBehavior, - neutralFillRestBehavior, - neutralFocusBehavior, - neutralForegroundRestBehavior, - neutralOutlineRestBehavior, forcedColorsStylesheetBehavior( css` :host([disabled]) { diff --git a/packages/web-components/src/tree-item/tree-item.styles.ts b/packages/web-components/src/tree-item/tree-item.styles.ts index d4925ccf4c5ced..7f44f0db51b7d1 100644 --- a/packages/web-components/src/tree-item/tree-item.styles.ts +++ b/packages/web-components/src/tree-item/tree-item.styles.ts @@ -8,21 +8,33 @@ import { forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { neutralFillStealthHover, neutralFillStealthSelected } from '../color'; import { - accentForegroundRestBehavior, - heightNumber, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFillStealthSelectedBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundActiveBehavior, - neutralForegroundRestBehavior, -} from '../styles/index'; + neutralFillStealthHover as neutralFillStealthHoverOld, + neutralFillStealthActive as neutralFillStealthActiveOld, + neutralFillStealthSelected as neutralFillStealthSelectedOld, +} from '../color'; +import { heightNumber } from '../styles/index'; import { FluentDesignSystemProvider } from '../design-system-provider/index'; +import { + focusOutlineWidth, + baseHeightMultiplier, + designUnit, + density, + neutralForegroundRest, + neutralFillStealthRest, + bodyFont, + neutralFocus, + typeRampBaseFontSize, + typeRampBaseLineHeight, + disabledOpacity, + accentForegroundRest, + cornerRadius, + outlineWidth, + neutralFillStealthHover, + neutralFillStealthActive, + neutralFillStealthSelected, +} from '../design-tokens'; const ltr = css` .expand-collapse-glyph { @@ -32,7 +44,7 @@ const ltr = css` left: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px)); } :host([selected])::after { - left: calc(var(--focus-outline-width) * 1px); + left: calc(${focusOutlineWidth} * 1px); } :host([expanded]) > .positioning-region .expand-collapse-glyph { transform: rotate(0deg); @@ -47,25 +59,26 @@ const rtl = css` right: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px)); } :host([selected])::after { - right: calc(var(--focus-outline-width) * 1px); + right: calc(${focusOutlineWidth} * 1px); } :host([expanded]) > .positioning-region .expand-collapse-glyph { transform: rotate(90deg); } `; -export const expandCollapseButtonSize = - '((var(--base-height-multiplier) / 2) * var(--design-unit)) + ((var(--design-unit) * var(--density)) / 2)'; +// TODO: Update to be CSS Partial +export const expandCollapseButtonSize = css`((${baseHeightMultiplier} / 2) * ${designUnit}) + ((${designUnit} * ${density}) / 2)`; +// TODO: Update for DI const expandCollapseHoverBehavior = cssCustomPropertyBehaviorFactory( 'neutral-stealth-hover-over-hover', - x => neutralFillStealthHover(neutralFillStealthHover)(x), + x => neutralFillStealthHoverOld(neutralFillStealthHoverOld)(x), FluentDesignSystemProvider.findProvider, ); - +// TODO: Update for DI const selectedExpandCollapseHoverBehavior = cssCustomPropertyBehaviorFactory( 'neutral-stealth-hover-over-selected', - x => neutralFillStealthHover(neutralFillStealthSelected)(x), + x => neutralFillStealthHoverOld(neutralFillStealthSelectedOld)(x), FluentDesignSystemProvider.findProvider, ); @@ -75,10 +88,10 @@ export const treeItemStyles = (context, definition) => contain: content; position: relative; outline: none; - color: ${neutralForegroundRestBehavior.var}; - background: ${neutralFillStealthRestBehavior.var}; + color: ${neutralForegroundRest}; + background: ${neutralFillStealthRest}; cursor: pointer; - font-family: var(--body-font); + font-family: ${bodyFont}; --expand-collapse-button-size: calc(${heightNumber} * 1px); --tree-item-nested-width: 0; } @@ -92,16 +105,16 @@ export const treeItemStyles = (context, definition) => } :host(:${focusVisible}) .positioning-region { - border: ${neutralFocusBehavior.var} calc(var(--outline-width) * 1px) solid; - border-radius: calc(var(--corner-radius) * 1px); - color: ${neutralForegroundActiveBehavior.var}; + border: ${neutralFocus} calc(${outlineWidth} * 1px) solid; + border-radius: calc(${cornerRadius} * 1px); + color: ${neutralForegroundRest}; } .positioning-region { display: flex; position: relative; box-sizing: border-box; - border: transparent calc(var(--outline-width) * 1px) solid; + border: transparent calc(${outlineWidth} * 1px) solid; height: calc((${heightNumber} + 1) * 1px); } @@ -113,11 +126,11 @@ export const treeItemStyles = (context, definition) => } .positioning-region:hover { - background: ${neutralFillStealthHoverBehavior.var}; + background: ${neutralFillStealthHover}; } .positioning-region:active { - background: ${neutralFillStealthActiveBehavior.var}; + background: ${neutralFillStealthActive}; } .content-region { @@ -126,9 +139,9 @@ export const treeItemStyles = (context, definition) => white-space: nowrap; width: 100%; height: calc(${heightNumber} * 1px); - margin-inline-start: calc(var(--design-unit) * 2px + 8px); - font-size: var(--type-ramp-base-font-size); - line-height: var(--type-ramp-base-line-height); + margin-inline-start: calc(${designUnit} * 2px + 8px); + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; font-weight: 400; } @@ -137,7 +150,7 @@ export const treeItemStyles = (context, definition) => ${ /* Font size should be based off calc(1em + (design-unit + glyph-size-number) * 1px) - update when density story is figured out */ '' - } font-size: calc(1em + (var(--design-unit) + 16) * 1px); + } font-size: calc(1em + (${designUnit} + 16) * 1px); } .expand-collapse-button { @@ -147,8 +160,8 @@ export const treeItemStyles = (context, definition) => ${ /* Width and Height should be based off calc(glyph-size-number + (design-unit * 4) * 1px) - update when density story is figured out */ '' - } width: calc((${expandCollapseButtonSize} + (var(--design-unit) * 2)) * 1px); - height: calc((${expandCollapseButtonSize} + (var(--design-unit) * 2)) * 1px); + } width: calc((${expandCollapseButtonSize} + (${designUnit} * 2)) * 1px); + height: calc((${expandCollapseButtonSize} + (${designUnit} * 2)) * 1px); padding: 0; display: flex; justify-content: center; @@ -164,7 +177,7 @@ export const treeItemStyles = (context, definition) => transition: transform 0.1s linear; ${/* transform needs to be localized */ ''} transform: rotate(-45deg); pointer-events: none; - fill: ${neutralForegroundRestBehavior.var}; + fill: ${neutralForegroundRest}; } .start, .end { @@ -181,13 +194,13 @@ export const treeItemStyles = (context, definition) => .start { ${ /* need to swap out once we understand how horizontalSpacing will work */ '' - } margin-inline-end: calc(var(--design-unit) * 2px + 2px); + } margin-inline-end: calc(${designUnit} * 2px + 2px); } .end { ${ /* need to swap out once we understand how horizontalSpacing will work */ '' - } margin-inline-start: calc(var(--design-unit) * 2px + 2px); + } margin-inline-start: calc(${designUnit} * 2px + 2px); } :host(.expanded) > .positioning-region .expand-collapse-glyph { @@ -199,7 +212,7 @@ export const treeItemStyles = (context, definition) => } :host([disabled]) .content-region { - opacity: var(--disabled-opacity); + opacity: ${disabledOpacity}; cursor: ${disabledCursor}; } @@ -217,7 +230,7 @@ export const treeItemStyles = (context, definition) => } :host([selected]) .positioning-region { - background: ${neutralFillStealthSelectedBehavior.var}; + background: ${neutralFillStealthSelected}; } :host([selected]) .expand-collapse-button:hover { @@ -234,8 +247,8 @@ export const treeItemStyles = (context, definition) => ${ /* The french fry background needs to be calculated based on the selected background state for this control. We currently have no way of chaning that, so setting to accent-foreground-rest for the time being */ '' - } background: ${accentForegroundRestBehavior.var}; - border-radius: calc(var(--corner-radius) * 1px); + } background: ${accentForegroundRest}; + border-radius: calc(${cornerRadius} * 1px); } ::slotted(fluent-tree-item) { @@ -243,16 +256,7 @@ export const treeItemStyles = (context, definition) => --expand-collapse-button-nested-width: calc(${heightNumber} * -1px); } `.withBehaviors( - accentForegroundRestBehavior, expandCollapseHoverBehavior, - neutralFillStealthSelectedBehavior, - neutralFillStealthActiveBehavior, - neutralFillStealthHoverBehavior, - neutralFillStealthRestBehavior, - neutralFocusBehavior, - neutralFocusInnerAccentBehavior, - neutralForegroundActiveBehavior, - neutralForegroundRestBehavior, selectedExpandCollapseHoverBehavior, new DirectionalStyleSheetBehavior(ltr, rtl), forcedColorsStylesheetBehavior( diff --git a/packages/web-components/tsconfig.json b/packages/web-components/tsconfig.json index 9c9d73d05a2880..1145782b8fde3c 100644 --- a/packages/web-components/tsconfig.json +++ b/packages/web-components/tsconfig.json @@ -11,8 +11,8 @@ "module": "ESNext", "allowJs": true, "importHelpers": true, - "types": ["mocha", "webpack-env"], - "lib": ["DOM", "ES2015"] + "types": ["node", "mocha", "webpack-env"], + "lib": ["DOM", "ES2015", "ES2016.Array.Include"] }, "include": ["src"] } diff --git a/yarn.lock b/yarn.lock index 5cc76cbb79bb21..d4c7fd46da4e52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,65 +24,73 @@ rxjs "6.6.7" "@azure/abort-controller@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.0.1.tgz#8510935b25ac051e58920300e9d7b511ca6e656a" - integrity sha512-wP2Jw6uPp8DEDy0n4KNidvwzDjyVV2xnycEIq7nPzj1rHyb/r+t3OPeNT1INZePP2wy5ZqlwyuyOMTi0ePyY1A== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.0.4.tgz#fd3c4d46c8ed67aace42498c8e2270960250eafd" + integrity sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw== dependencies: - tslib "^1.9.3" + tslib "^2.0.0" "@azure/core-asynciterator-polyfill@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.0.tgz#dcccebb88406e5c76e0e1d52e8cc4c43a68b3ee7" integrity sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg== -"@azure/core-auth@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.1.2.tgz#0e47dbe3f799a698d61535f92d1b7ec956c14360" - integrity sha512-IUbP/f3v96dpHgXUwsAjUwDzjlUjawyUhWhGKKB6Qxy+iqppC/pVBPyc6kdpyTe7H30HN+4H3f0lar7Wp9Hx6A== +"@azure/core-auth@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.3.0.tgz#0d55517cf0650aefe755669aca8a2f3724fcf536" + integrity sha512-kSDSZBL6c0CYdhb+7KuutnKGf2geeT+bCJAgccB0DD7wmNJSsQPcF7TcuoZX83B7VK4tLz/u+8sOO/CnCsYp8A== dependencies: "@azure/abort-controller" "^1.0.0" - "@azure/core-tracing" "1.0.0-preview.8" - "@opentelemetry/api" "^0.6.1" - tslib "^1.10.0" + tslib "^2.0.0" -"@azure/core-http@^1.1.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-1.1.3.tgz#8cdff20e3ce65dbe726bfdd46889c30fc2e07c6d" - integrity sha512-GysW3+BRVV4L9cs3GsuCbnlyibrQU6hh5mcJ7hlnk7tdUBzWybUvJ8/P/nHX49PgwRmi81pD5v1ht2jF0IzxAQ== +"@azure/core-http@^1.1.1", "@azure/core-http@^1.2.0": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-1.2.5.tgz#de1e96482bdeb6ab361d2a088942804d33278e01" + integrity sha512-SjjjqaO9emyn+XM0Qyzt5RsgddOIpGAfhWH6+d8X6/HbhFrtvXLJIz85EMoIO+T4rX3ISStik9MD5LMW9IZg4A== dependencies: "@azure/abort-controller" "^1.0.0" - "@azure/core-auth" "^1.1.2" - "@azure/core-tracing" "1.0.0-preview.8" + "@azure/core-asynciterator-polyfill" "^1.0.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-tracing" "1.0.0-preview.11" "@azure/logger" "^1.0.0" - "@opentelemetry/api" "^0.6.1" "@types/node-fetch" "^2.5.0" "@types/tunnel" "^0.0.1" form-data "^3.0.0" node-fetch "^2.6.0" process "^0.11.10" tough-cookie "^4.0.0" - tslib "^1.10.0" + tslib "^2.0.0" tunnel "^0.0.6" - uuid "^8.1.0" + uuid "^8.3.0" xml2js "^0.4.19" "@azure/core-lro@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-1.0.2.tgz#b7b51ff7b84910b7eb152a706b0531d020864f31" - integrity sha512-Yr0JD7GKryOmbcb5wHCQoQ4KCcH5QJWRNorofid+UvudLaxnbCfvKh/cUfQsGUqRjO9L/Bw4X7FP824DcHdMxw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-1.0.5.tgz#856a2cb6a9bec739ee9cde33a27cc28f81ac0522" + integrity sha512-0EFCFZxARrIoLWMIRt4vuqconRVIO2Iin7nFBfJiYCCbKp5eEmxutNk8uqudPmG0XFl5YqlVh68/al/vbE5OOg== dependencies: "@azure/abort-controller" "^1.0.0" - "@azure/core-http" "^1.1.1" + "@azure/core-http" "^1.2.0" + "@azure/core-tracing" "1.0.0-preview.11" events "^3.0.0" - tslib "^1.10.0" + tslib "^2.0.0" "@azure/core-paging@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.1.1.tgz#9639d2d5b6631d481d81040504e0e26c003f47b1" - integrity sha512-hqEJBEGKan4YdOaL9ZG/GRG6PXaFd/Wb3SSjQW4LWotZzgl6xqG00h6wmkrpd2NNkbBkD1erLHBO3lPHApv+iQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.1.3.tgz#3587c9898a0530cacb64bab216d7318468aa5efc" + integrity sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A== dependencies: "@azure/core-asynciterator-polyfill" "^1.0.0" +"@azure/core-tracing@1.0.0-preview.11": + version "1.0.0-preview.11" + resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.11.tgz#bdfb2ba73cd6c39b7d6c207b9522eb98e08b4ddd" + integrity sha512-frF0pJc9HTmKncVokhBxCqipjbql02DThQ1ZJ9wLi7SDMLdPAFyDI5xZNzX5guLz+/DtPkY+SGK2li9FIXqshQ== + dependencies: + "@opencensus/web-types" "0.0.7" + "@opentelemetry/api" "1.0.0-rc.0" + tslib "^2.0.0" + "@azure/core-tracing@1.0.0-preview.8": version "1.0.0-preview.8" resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.8.tgz#1e0ff857e855edb774ffd33476003c27b5bb2705" @@ -93,11 +101,11 @@ tslib "^1.10.0" "@azure/logger@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.0.tgz#48b371dfb34288c8797e5c104f6c4fb45bf1772c" - integrity sha512-g2qLDgvmhyIxR3JVS8N67CyIOeFRKQlX/llxYJQr1OSGQqM3HTpVP8MjmjcEKbL/OIt2N9C9UFaNQuKOw1laOA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.2.tgz#ad2d06478eeda7835f53def7e4566981b47d9787" + integrity sha512-YZNjNV0vL3nN2nedmcjQBcpCTo3oqceXmgiQtEm6fLpucjRZyQKAQruhCmCpRlB1iykqKJJ/Y8CDmT5rIE6IJw== dependencies: - tslib "^1.9.3" + tslib "^2.0.0" "@azure/storage-blob@12.1.2": version "12.1.2" @@ -114,6 +122,13 @@ events "^3.0.0" tslib "^1.10.0" +"@babel/code-frame@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -121,13 +136,6 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - "@babel/code-frame@7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" @@ -147,7 +155,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== -"@babel/core@7.12.16", "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.10.4", "@babel/core@^7.12.3", "@babel/core@^7.4.5", "@babel/core@^7.7.5": +"@babel/core@7.12.16": version "7.12.16" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.16.tgz#8c6ba456b23b680a6493ddcfcd9d3c3ad51cab7c" integrity sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw== @@ -168,23 +176,24 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@7.8.0": - version "7.8.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.0.tgz#fd273d4faf69cc20ee3ccfd32d42df916bb4a15c" - integrity sha512-3rqPi/bv/Xfu2YzHvBz4XqMI1fKVwnhntPA1/fjoECrSjrhbOCxlTrbVu5gUtr8zkxW+RpkDOa/HCW93gzS2Dw== - dependencies: - "@babel/code-frame" "^7.8.0" - "@babel/generator" "^7.8.0" - "@babel/helpers" "^7.8.0" - "@babel/parser" "^7.8.0" - "@babel/template" "^7.8.0" - "@babel/traverse" "^7.8.0" - "@babel/types" "^7.8.0" +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" - json5 "^2.1.0" - lodash "^4.17.13" + json5 "^2.1.2" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -322,10 +331,10 @@ dependencies: "@babel/types" "^7.14.5" -"@babel/helper-plugin-utils@7.8.0": - version "7.8.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz#59ec882d43c21c544ccb51decaecb306b34a8231" - integrity sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA== +"@babel/helper-plugin-utils@7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" @@ -392,14 +401,14 @@ "@babel/traverse" "^7.14.5" "@babel/types" "^7.14.5" -"@babel/helpers@^7.12.13", "@babel/helpers@^7.8.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47" - integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ== +"@babel/helpers@^7.12.13", "@babel/helpers@^7.12.5", "@babel/helpers@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" + integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== dependencies: "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" "@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5", "@babel/highlight@^7.8.3": version "7.14.5" @@ -450,13 +459,22 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.13.tgz#d4c89b40c2b7a526b0d394de4f4def36191e413e" - integrity sha512-x2aOr5w4ARJoYHFKoG2iEUL/Xe99JAJXjAasHijXp3/KgaetJXGE62SmHgsW3Tia/XUT5AxF2YC0F+JyhPY/0Q== +"@babel/plugin-proposal-class-static-block@^7.14.3": + version "7.14.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz#5a527e2cae4a4753119c3a3e7f64ecae8ccf1360" + integrity sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.14.3" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-class-static-block" "^7.12.13" + +"@babel/plugin-proposal-decorators@^7.12.12", "@babel/plugin-proposal-decorators@^7.8.3": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.2.tgz#e68c3c5e4a6a08834456568256fc3e71b93590cf" + integrity sha512-LauAqDd/VjQDtae58QgBcEOE42NNP+jB2OE+XeC3KBI/E+BhhRjtr5viCIrj1hmu1YvrguLipIPRJZmS5yUcFw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.2" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-syntax-decorators" "^7.12.13" "@babel/plugin-proposal-dynamic-import@^7.14.5": @@ -467,7 +485,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-default-from@^7.8.3": +"@babel/plugin-proposal-export-default-from@^7.12.1", "@babel/plugin-proposal-export-default-from@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz#f110284108a9b2b96f01b15b3be9e54c2610a989" integrity sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA== @@ -515,13 +533,14 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@7.8.0": - version "7.8.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.0.tgz#ca8ac673d32db774c2154a4c7517fd46ec45e9cf" - integrity sha512-SjJ2ZXCylpWC+5DTES0/pbpNmw/FnjU/3dF068xF0DU9aN+oOKah+3MCSFcb4pnZ9IwmxfOy4KnbGJSQR+hAZA== +"@babel/plugin-proposal-object-rest-spread@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.14.7", "@babel/plugin-proposal-object-rest-spread@^7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.9.6": version "7.14.7" @@ -626,12 +645,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" - integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ== +"@babel/plugin-syntax-flow@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" + integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" @@ -640,12 +659,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.8.0": - version "7.8.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.0.tgz#657a0306e2c74de84e0dcf8b6cb024ed990224fc" - integrity sha512-zLDUckAuKeOtxJhfNE0TlR7iEApb2u7EYRlh5cxKzq6A5VzUbYEdyJGJlug41jDbjRbHTtsLKZUnUcy/8V3xZw== +"@babel/plugin-syntax-jsx@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx@^7.12.13": version "7.12.13" @@ -804,13 +823,13 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-flow-strip-types@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788" - integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ== +"@babel/plugin-transform-flow-strip-types@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3" + integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.10.4" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-flow" "^7.12.13" "@babel/plugin-transform-for-of@^7.14.5", "@babel/plugin-transform-for-of@^7.9.0": version "7.14.5" @@ -915,26 +934,26 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.13.tgz#f8ee56888545d53d80f766b3cc1563ab2c241f92" - integrity sha512-qmzKVTn46Upvtxv8LQoQ8mTCdUC83AOVQIQm57e9oekLT5cmK9GOMOfcWhe8jMNx4UJXn/UDhVZ/7lGofVNeDQ== +"@babel/plugin-transform-react-constant-elements@^7.12.1": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz#0208b1d942bf939cd4f7aa5b255d42602aa4a920" + integrity sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-react-display-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" - integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== + version "7.14.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz#2e854544d42ab3bb9c21f84e153d62e800fbd593" + integrity sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" -"@babel/plugin-transform-react-jsx-development@^7.12.12": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.16.tgz#af187e749d123b54ae49bc7e034057a0c1d4d568" - integrity sha512-GOp5SkMC4zhHwLbOSYhF+WpIZSf5bGzaKQTT9jWkemJRDM/CE6FtPydXjEYO3pHcna2Zjvg4mQ1lfjOR/4jsaQ== +"@babel/plugin-transform-react-jsx-development@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" + integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ== dependencies: - "@babel/plugin-transform-react-jsx" "^7.12.16" + "@babel/plugin-transform-react-jsx" "^7.12.17" "@babel/plugin-transform-react-jsx@^7.12.13", "@babel/plugin-transform-react-jsx@^7.12.16", "@babel/plugin-transform-react-jsx@^7.3.0": version "7.12.17" @@ -1017,13 +1036,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typescript@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.16.tgz#3f30b829bdd15683f71c32fa31330c2af8c1b732" - integrity sha512-88hep+B6dtDOiEqtRzwHp2TYO+CN8nbAV3eh5OpBGPsedug9J6y1JwLKzXRIGGQZDC8NlpxpQMIIxcfIW96Wgw== +"@babel/plugin-transform-typescript@^7.13.0": + version "7.14.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.4.tgz#1c48829fa6d5f2de646060cd08abb6cda4b521a7" + integrity sha512-WYdcGNEO7mCCZ2XzRlxwGj3PgeAr50ifkofOUC/+IN/GzKLB+biDPVBUAQN2C/dVZTvEXCp80kfQ1FFZPrwykQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.16" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.14.4" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-syntax-typescript" "^7.12.13" "@babel/plugin-transform-unicode-escapes@^7.14.5": @@ -1042,9 +1061,9 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/polyfill@^7.0.0", "@babel/polyfill@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.10.4.tgz#915e5bfe61490ac0199008e35ca9d7d151a8e45a" - integrity sha512-8BYcnVqQ5kMD2HXoHInBH7H1b/uP3KdnwCYXOqFnXqguOyuu443WXusbIUbWEfY3Z0Txk0M1uG/8YuAMhNl6zg== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" + integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== dependencies: core-js "^2.6.5" regenerator-runtime "^0.13.4" @@ -1129,12 +1148,13 @@ semver "^6.3.0" "@babel/preset-flow@^7.0.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" - integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g== + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.13.13.tgz#a61a1c149b3f77589d795287744393444d5cdd9e" + integrity sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-flow-strip-types" "^7.10.4" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-flow-strip-types" "^7.13.0" "@babel/preset-modules@^0.1.4": version "0.1.4" @@ -1147,56 +1167,57 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.10.4", "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.13.tgz#5f911b2eb24277fa686820d5bd81cad9a0602a0a" - integrity sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA== +"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.10.4", "@babel/preset-react@^7.12.10", "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.8.3": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761" + integrity sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" "@babel/plugin-transform-react-display-name" "^7.12.13" - "@babel/plugin-transform-react-jsx" "^7.12.13" - "@babel/plugin-transform-react-jsx-development" "^7.12.12" + "@babel/plugin-transform-react-jsx" "^7.13.12" + "@babel/plugin-transform-react-jsx-development" "^7.12.17" "@babel/plugin-transform-react-pure-annotations" "^7.12.1" -"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.10.4", "@babel/preset-typescript@^7.9.0": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.16.tgz#b2080ce20b7095c049db2a0410f1e39bc892f7ca" - integrity sha512-IrYNrpDSuQfNHeqh7gsJsO35xTGyAyGkI1VxOpBEADFtxCqZ77a1RHbJqM3YJhroj7qMkNMkNtcw0lqeZUrzow== +"@babel/preset-typescript@^7.10.4", "@babel/preset-typescript@^7.12.7", "@babel/preset-typescript@^7.9.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz#ab107e5f050609d806fbb039bec553b33462c60a" + integrity sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-validator-option" "^7.12.16" - "@babel/plugin-transform-typescript" "^7.12.16" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-typescript" "^7.13.0" -"@babel/register@^7.0.0", "@babel/register@^7.10.4", "@babel/register@^7.10.5": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.13.tgz#e9cb57618264f2944634da941ba9755088ef9ec5" - integrity sha512-fnCeRXj970S9seY+973oPALQg61TRvAaW0nRDe1f4ytKqM3fZgsNXewTZWmqZedg74LFIRpg/11dsrPZZvYs2g== +"@babel/register@^7.10.4", "@babel/register@^7.10.5", "@babel/register@^7.12.1": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.13.16.tgz#ae3ab0b55c8ec28763877383c454f01521d9a53d" + integrity sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg== dependencies: + clone-deep "^4.0.1" find-cache-dir "^2.0.0" - lodash "^4.17.19" make-dir "^2.1.0" pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.7.4", "@babel/runtime-corejs3@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.13.tgz#53d09813b7c20d616caf258e9325550ff701c039" - integrity sha512-8fSpqYRETHATtNitsCXq8QQbKJP31/KnDl2Wz2Vtui9nKzjss2ysuZtyVsWjBtvkeEFo346gkwjYPab1hvrXkQ== +"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.9.2": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66" + integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg== dependencies: core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.10.4", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" - integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== dependencies: regenerator-runtime "^0.13.4" "@babel/standalone@^7.10.4", "@babel/standalone@^7.4.5": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.10.4.tgz#63b9e211bee42e8ba8dfc1c0b68a856150e37bf2" - integrity sha512-Cgnx+Z7dYqQrz42GPGzDFTph8n15NogWuR9OpocOVlRZQoRw4q+OmudevYAd6CjOVjGu6PgvJwojxCE34cfXPg== + version "7.14.4" + resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.14.4.tgz#b50522a9119bea33f0d8e13e7f7d51274fad0530" + integrity sha512-oBvBtSdACtNeH2YAg2kyZhfbqfKQK7lgudfHo8IC03JiBrfuvvMlfkBaSrqxrpf9DmUCZJnDZH3uLNVN5QoXog== "@babel/template@>=7", "@babel/template@^7.12.13", "@babel/template@^7.14.5", "@babel/template@^7.4.0", "@babel/template@^7.8.0": version "7.14.5" @@ -1235,22 +1256,27 @@ resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw== -"@charlietango/use-client-hydrated@^1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@charlietango/use-client-hydrated/-/use-client-hydrated-1.8.2.tgz#7066f4c9966233dcb3dcc755351570e62b101a4f" - integrity sha512-Wlr6MvlCvmPVwAW8Hc/UZaAnNAKfRs2h3vkOFMFSqhaiQp+zix/ZQd+LhoY4iRGJNMhtNuOnht1ShOAz4odTIQ== +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@charlietango/use-client-hydrated@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@charlietango/use-client-hydrated/-/use-client-hydrated-1.9.0.tgz#e348536f1a3a8fbd66f77e6ac97018a5f5e456dd" + integrity sha512-QLM2B+B9jTl9UGZ03IMHC6G7JZRCD71G8iWG92i2WUTnYylsYjccfECIxAR+KcCVU6te8w0DxcHx/n6cMNDbpA== "@charlietango/use-script@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@charlietango/use-script/-/use-script-2.1.1.tgz#c72c11bd20525e79a0fb711fab2bc0701918db54" - integrity sha512-g6sbWV4Vg0eqbhL1z90dO3ZsMrF0EHWCw0//M4iE9OwJf9r7x0y7a+KcPb2+Myu96tT35NsmNnIeww4rSG95jQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/@charlietango/use-script/-/use-script-2.2.0.tgz#6aaa06e5f245e295048dc79bbc43f5141c2c804a" + integrity sha512-TVmovh1l5Ye0HfXwvbcJdpxdR6TdjaeVfJCDDv4xD+/1u6+cuIDnEWCjT4e69Jim3nqNsGXbw4Ds8+y0nxBM6g== dependencies: - "@charlietango/use-client-hydrated" "^1.8.2" + "@charlietango/use-client-hydrated" "^1.9.0" "@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" @@ -1305,22 +1331,14 @@ lodash.once "^4.1.1" "@discoveryjs/json-ext@^0.5.0": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" - integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== - -"@dsherret/to-absolute-glob@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@dsherret/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1f6475dc8bd974cea07a2daf3864b317b1dd332c" - integrity sha1-H2R13IvZdM6gei2vOGSzF7HdMyw= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" + version "0.5.3" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" + integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== "@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": - version "10.0.27" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.27.tgz#7895db204e2c1a991ae33d51262a3a44f6737303" - integrity sha512-Zp8BEpbMunFsTcqAK4D7YTm3MvCp1SekflSLJH8lze2fCcSZ/yMkXHo8kb3t1/1Tdd3hAqf3Fb7z9VZ+FMiC9w== + version "10.0.29" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" + integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ== dependencies: "@emotion/sheet" "0.9.4" "@emotion/stylis" "0.8.5" @@ -1338,19 +1356,7 @@ "@emotion/weak-memoize" "^0.2.5" stylis "^4.0.3" -"@emotion/core@^10.0.20", "@emotion/core@^10.0.9": - version "10.0.27" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.27.tgz#7c3f78be681ab2273f3bf11ca3e2edc4a9dd1fdc" - integrity sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw== - dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/cache" "^10.0.27" - "@emotion/css" "^10.0.27" - "@emotion/serialize" "^0.11.15" - "@emotion/sheet" "0.9.4" - "@emotion/utils" "0.11.3" - -"@emotion/core@^10.1.1": +"@emotion/core@^10.0.20", "@emotion/core@^10.0.9", "@emotion/core@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3" integrity sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA== @@ -1371,24 +1377,12 @@ "@emotion/utils" "0.11.3" babel-plugin-emotion "^10.0.27" -"@emotion/hash@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.4.tgz#f14932887422c9056b15a8d222a9074a7dfa2831" - integrity sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A== - -"@emotion/hash@^0.8.0": +"@emotion/hash@0.8.0", "@emotion/hash@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== -"@emotion/is-prop-valid@0.8.6": - version "0.8.6" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.6.tgz#4757646f0a58e9dec614c47c838e7147d88c263c" - integrity sha512-mnZMho3Sq8BfzkYYRVc8ilQTnc8U02Ytp6J1AwM6taQStZ3AhsEJBX2LzhA/LJirNCwM2VtHL3VFIZ+sNJUgUQ== - dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/is-prop-valid@^0.8.6", "@emotion/is-prop-valid@^0.8.8": +"@emotion/is-prop-valid@0.8.8", "@emotion/is-prop-valid@^0.8.6", "@emotion/is-prop-valid@^0.8.8": version "0.8.8" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== @@ -1405,12 +1399,12 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== -"@emotion/serialize@^0.11.15": - version "0.11.15" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.15.tgz#9a0f5873fb458d87d4f23e034413c12ed60a705a" - integrity sha512-YE+qnrmGwyR+XB5j7Bi+0GT1JWsdcjM/d4POu+TXkcnrRs4RFCCsi3d/Ebf+wSStHqAlTT2+dfd+b9N9EO2KBg== +"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": + version "0.11.16" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad" + integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg== dependencies: - "@emotion/hash" "0.7.4" + "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" "@emotion/unitless" "0.7.5" "@emotion/utils" "0.11.3" @@ -1438,16 +1432,16 @@ integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g== "@emotion/styled-base@^10.0.27": - version "10.0.27" - resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.27.tgz#d9efa307ae4e938fcc4d0596b40b7e8bc10f7c7c" - integrity sha512-ufHM/HhE3nr309hJG9jxuFt71r6aHn7p+bwXduFxcwPFEfBIqvmZUMtZ9YxIsY61PVwK3bp4G1XhaCzy9smVvw== + version "10.0.31" + resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a" + integrity sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ== dependencies: "@babel/runtime" "^7.5.5" - "@emotion/is-prop-valid" "0.8.6" + "@emotion/is-prop-valid" "0.8.8" "@emotion/serialize" "^0.11.15" "@emotion/utils" "0.11.3" -"@emotion/styled@^10.0.17", "@emotion/styled@^10.0.23": +"@emotion/styled@^10.0.17", "@emotion/styled@^10.0.27": version "10.0.27" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf" integrity sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q== @@ -1480,15 +1474,15 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.0", "@eslint/eslintrc@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" + integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" @@ -1569,12 +1563,12 @@ unique-filename "^1.1.1" which "^1.3.1" -"@fluentui/dom-utilities@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz#b0bbab665fe726f245800bb9e7883b1ceb54248b" - integrity sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g== +"@fluentui/dom-utilities@^1.1.1", "@fluentui/dom-utilities@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz#1a53e51e1ab1d40696ae7d355a970c68d496845f" + integrity sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw== dependencies: - "@uifabric/set-version" "^7.0.23" + "@uifabric/set-version" "^7.0.24" tslib "^1.10.0" "@gulp-sourcemaps/identity-map@1.X": @@ -1596,14 +1590,13 @@ normalize-path "^2.0.1" through2 "^2.0.3" -"@iarna/cli@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" - integrity sha512-ukITQAqVs2n9HGmn3car/Ir7d3ta650iXhrG7pjr3EWdFmJuuOVWgYsu7ftsSe5VifEFFhjxVuX9+8F7L8hwcA== +"@hypnosphi/create-react-context@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" + integrity sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A== dependencies: - signal-exit "^3.0.2" - update-notifier "^2.2.0" - yargs "^8.0.2" + gud "^1.0.0" + warning "^4.0.3" "@icons/material@^0.2.4": version "0.2.4" @@ -1622,9 +1615,9 @@ resolve-from "^5.0.0" "@istanbuljs/schema@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" @@ -2279,6 +2272,15 @@ npm-package-arg "^6.1.0" write-pkg "^3.1.0" +"@lerna/package@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@lerna/package/-/package-4.0.0.tgz#1b4c259c4bcff45c876ee1d591a043aacbc0d6b7" + integrity sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q== + dependencies: + load-json-file "^6.2.0" + npm-package-arg "^8.1.0" + write-pkg "^4.0.0" + "@lerna/prerelease-id-from-version@3.16.0": version "3.16.0" resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.16.0.tgz#b24bfa789f5e1baab914d7b08baae9b7bd7d83a1" @@ -2296,7 +2298,7 @@ npmlog "^4.1.2" upath "^1.2.0" -"@lerna/project@3.21.0", "@lerna/project@^3.18.0", "@lerna/project@^3.21.0": +"@lerna/project@3.21.0", "@lerna/project@^3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.21.0.tgz#5d784d2d10c561a00f20320bcdb040997c10502d" integrity sha512-xT1mrpET2BF11CY32uypV2GPtPVm6Hgtha7D81GQP9iAitk9EccrdNjYGt5UBYASl4CIDXBRxwmTTVGfrCx82A== @@ -2314,6 +2316,24 @@ resolve-from "^4.0.0" write-json-file "^3.2.0" +"@lerna/project@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-4.0.0.tgz#ff84893935833533a74deff30c0e64ddb7f0ba6b" + integrity sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg== + dependencies: + "@lerna/package" "4.0.0" + "@lerna/validation-error" "4.0.0" + cosmiconfig "^7.0.0" + dedent "^0.7.0" + dot-prop "^6.0.1" + glob-parent "^5.1.1" + globby "^11.0.2" + load-json-file "^6.2.0" + npmlog "^4.1.2" + p-map "^4.0.0" + resolve-from "^5.0.0" + write-json-file "^4.3.0" + "@lerna/prompt@3.18.5": version "3.18.5" resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-3.18.5.tgz#628cd545f225887d060491ab95df899cfc5218a1" @@ -2461,6 +2481,13 @@ dependencies: npmlog "^4.1.2" +"@lerna/validation-error@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-4.0.0.tgz#af9d62fe8304eaa2eb9a6ba1394f9aa807026d35" + integrity sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw== + dependencies: + npmlog "^4.1.2" + "@lerna/version@3.22.1": version "3.22.1" resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.22.1.tgz#9805a9247a47ee62d6b81bd9fa5fb728b24b59e2" @@ -2563,47 +2590,48 @@ babel-plugin-transform-react-remove-prop-types "^0.4.24" "@mdx-js/loader@^1.5.1", "@mdx-js/loader@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.5.5.tgz#b658534153b3faab8f93ffc790c868dacc5b43d3" - integrity sha512-2/2WX73qj79Kv2cYk14kQsN/aypAH3RPzuNMx1gxwZjj77G0N6tzhM9WFkEDM/SXjasWep03ZmSRb9d//b2D8w== - dependencies: - "@mdx-js/mdx" "^1.5.5" - "@mdx-js/react" "^1.5.5" - loader-utils "1.2.3" - -"@mdx-js/mdx@^1.5.1", "@mdx-js/mdx@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.5.5.tgz#09dc8932af84e5baf5add2625ad0250a117c3363" - integrity sha512-Xv1lJ+VWt8giWQrqf4GdIBxl08SfepfIWAnuuIzuR+wA59SaXDvkW6XFIvl8u495OQEB1eugMvq8l2XR8ZGr1A== - dependencies: - "@babel/core" "7.8.0" - "@babel/plugin-syntax-jsx" "7.8.0" - "@babel/plugin-syntax-object-rest-spread" "7.8.0" - "@mdx-js/util" "^1.5.5" - babel-plugin-apply-mdx-type-prop "^1.5.5" - babel-plugin-extract-import-names "^1.5.5" + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.6.22.tgz#d9e8fe7f8185ff13c9c8639c048b123e30d322c4" + integrity sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q== + dependencies: + "@mdx-js/mdx" "1.6.22" + "@mdx-js/react" "1.6.22" + loader-utils "2.0.0" + +"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.5.1": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" + integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== + dependencies: + "@babel/core" "7.12.9" + "@babel/plugin-syntax-jsx" "7.12.1" + "@babel/plugin-syntax-object-rest-spread" "7.8.3" + "@mdx-js/util" "1.6.22" + babel-plugin-apply-mdx-type-prop "1.6.22" + babel-plugin-extract-import-names "1.6.22" camelcase-css "2.0.1" - detab "2.0.2" - hast-util-raw "5.0.1" + detab "2.0.4" + hast-util-raw "6.0.1" lodash.uniq "4.5.0" - mdast-util-to-hast "6.0.2" - remark-mdx "^1.5.5" - remark-parse "7.0.2" - remark-squeeze-paragraphs "3.0.4" + mdast-util-to-hast "10.0.1" + remark-footnotes "2.0.0" + remark-mdx "1.6.22" + remark-parse "8.0.3" + remark-squeeze-paragraphs "4.0.0" style-to-object "0.3.0" - unified "8.4.2" - unist-builder "1.0.4" - unist-util-visit "2.0.1" + unified "9.2.0" + unist-builder "2.0.3" + unist-util-visit "2.0.3" -"@mdx-js/react@^1.5.1", "@mdx-js/react@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.5.5.tgz#0036e65ec59521059f33292f535b9ef0d67bd0e6" - integrity sha512-Qwvri4zyU9ZbhhXsH0wfSZ/J9b8mARRTB6GSCTnyKRffO2CaQXl9oLsvRAeQSLRei/onEARc+RexH+jMeNS1rw== +"@mdx-js/react@1.6.22", "@mdx-js/react@^1.5.1", "@mdx-js/react@^1.5.5": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" + integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== -"@mdx-js/util@^1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.5.5.tgz#6f88bcb847ebd0117fc81bcd26b83220062fd881" - integrity sha512-IudQkyZuM8T1CrSX9r0ShPXCABjtEtyrV4lxQqhKAwFqw1aYpy/5LOZhitMLoJTybZPVdPotuh+zjqYy9ZOSbA== +"@mdx-js/util@1.6.22": + version "1.6.22" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== "@microsoft/api-extractor-model@7.12.1": version "7.12.1" @@ -2666,14 +2694,14 @@ typescript "^3.9.0" "@microsoft/fast-colors@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@microsoft/fast-colors/-/fast-colors-5.1.0.tgz#f62ce25a800e6b413d3aa562e8416cdc1ed9131c" - integrity sha512-u4R/sfF4SoKSAyDWJaBSDuVo4aGf1BXntlEWukC+1ubH36C6JmmdLSyyip5TQZiTqjQIy3uctcbepPi7oGI0Rw== + version "5.1.3" + resolved "https://registry.yarnpkg.com/@microsoft/fast-colors/-/fast-colors-5.1.3.tgz#5c46147401a823835a3833e3e18dae7f06016966" + integrity sha512-XDEnRYxPO5P3Jsizm4TCxLu1osS/uV3Lym6SfRhq2PxfXPTgEcdvOYDUXyV2drqebs3U5VQnOcYcJiSp73xhng== "@microsoft/fast-element@^1.0.0", "@microsoft/fast-element@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.1.0.tgz#13cafbbe42057ca370ac4219942c76613d64ff10" - integrity sha512-ihbxhKpD5U3/wUlT8CkdNQTCzRf+ukyktDipipIC5ZbLZtUa4exyaRvS8kIBKaRZK/M7OCUFaFfo2XdWD/fbpg== + version "1.4.0" + resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.4.0.tgz#761b5ebdde1a271c5f96f7c15fab9f5a2a10657f" + integrity sha512-7BC/juFc7S4HMGt/tNCP9bjwtUslheGiPM2jtIibe1bj+PO34woUfH5TxaklOT6sRStig/0fODX4R5oqY4DYLA== "@microsoft/fast-foundation@2.0.0-beta.0": version "2.0.0-beta.0" @@ -2687,23 +2715,23 @@ tslib "^1.13.0" "@microsoft/fast-web-utilities@^4.7.3": - version "4.7.3" - resolved "https://registry.yarnpkg.com/@microsoft/fast-web-utilities/-/fast-web-utilities-4.7.3.tgz#5bbea4d4b1a1e18f5b1f9eeab01bd7f149479631" - integrity sha512-vico2DeOyeeht4kLl9Z8gO9LbK2IcBlnZLuLf87Hkjcu7yLvhWrJL/KR0qmVtz42bRIx3FEMQYHi7/RkcwNF5A== + version "4.8.0" + resolved "https://registry.yarnpkg.com/@microsoft/fast-web-utilities/-/fast-web-utilities-4.8.0.tgz#a27f755669027071d8886fbe89ceaae4e69e203a" + integrity sha512-+MroMIP5yGD8mqbegqSZoIbQVjvmsQRQtn87Gc8TJk00KIfRu2x9sFAq8q5m8H61sjCRHreJ0Bq5telz09h55g== dependencies: exenv-es6 "^1.0.0" -"@microsoft/load-themed-styles@1.10.26", "@microsoft/load-themed-styles@^1.10.26": - version "1.10.26" - resolved "https://registry.yarnpkg.com/@microsoft/load-themed-styles/-/load-themed-styles-1.10.26.tgz#95673415103564e5427ca0d43f41da5cc44f29dc" - integrity sha512-N//pFTBL/iCSrMuDoLvBLpgGjlk+MgKX2kyFI3bJVb+LRozeyWCOZVRcR8aMKiYHdqwy5isu2Frp8drvWx7RbA== +"@microsoft/load-themed-styles@1.10.178", "@microsoft/load-themed-styles@^1.10.26": + version "1.10.178" + resolved "https://registry.yarnpkg.com/@microsoft/load-themed-styles/-/load-themed-styles-1.10.178.tgz#f0d0321af2e99b9c26f6e98edaac44cd25e6239a" + integrity sha512-eQvkRQshE8QYldBtc6i3GOY8SOLR1sngvK8rZBLWFZj7JORl4D3nKBOGxujNDmcwXm8gEuOvzQ+EsvHd2l6gnw== "@microsoft/loader-load-themed-styles@^1.7.205": - version "1.7.205" - resolved "https://registry.yarnpkg.com/@microsoft/loader-load-themed-styles/-/loader-load-themed-styles-1.7.205.tgz#40b62004f5c29f832b4f333030ed7ee6bf55d980" - integrity sha512-nDG4TEW2fH8ez03jz3boK3qaa/Iz7b36H6dvnwJebHCl3oCj804g4wYhPtVXzgxsLYNh0ZHeLO1tSvUYeClduw== + version "1.9.59" + resolved "https://registry.yarnpkg.com/@microsoft/loader-load-themed-styles/-/loader-load-themed-styles-1.9.59.tgz#0ec148b0db5c6d5512fe75232ca8aee0f469d651" + integrity sha512-0L7yDMxTkYD7np+KrI410+MbiVNWLLBfL1pfz9rSENqPvkDZWqgj+PBSd8YXuv7GupmD0JqaZW8f7+jhs5LvWA== dependencies: - "@microsoft/load-themed-styles" "1.10.26" + "@microsoft/load-themed-styles" "1.10.178" loader-utils "~1.1.0" "@microsoft/node-core-library@3.18.1": @@ -2720,9 +2748,9 @@ z-schema "~3.18.3" "@microsoft/task-scheduler@^2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@microsoft/task-scheduler/-/task-scheduler-2.7.0.tgz#ec08645bbf708299a2d13bfd56a1a928189cd33c" - integrity sha512-8UnOEuq7bmz8kJECSnoJmT987t5jsurSX1kMadtFRe8z6AYMuJQaW0l3pQ2gllgRjOa8LTKujRPLKGRIfJcJcw== + version "2.7.1" + resolved "https://registry.yarnpkg.com/@microsoft/task-scheduler/-/task-scheduler-2.7.1.tgz#de2ebe6edb7ed882511051301f0e6f81732d7564" + integrity sha512-xSmX7xgLTtf3LwVOW5HCEL4qrSWYCmPsVzpJ7PTBayN0KA9acScgsLYaDE6tE26N//DtDEW6mi4RteWU4XSrjA== dependencies: memory-streams "^0.1.3" p-graph "^1.1.0" @@ -2737,25 +2765,20 @@ colors "~1.2.1" "@microsoft/tsdoc-config@^0.13.4": - version "0.13.5" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.13.5.tgz#2efeb27f5e4d191b8356aa4eb09e146c0813070c" - integrity sha512-KlnIdTRnPSsU9Coz9wzDAkT8JCLopP3ec1sgsgo7trwE6QLMKRpM4hZi2uzVX897SW49Q4f439auGBcQLnZQfA== + version "0.13.9" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.13.9.tgz#d8c8e8ab79ca11dc14838090c463905ae4c1a22d" + integrity sha512-VqqZn+rT9f6XujFPFR2aN9XKF/fuir/IzKVzoxI0vXIzxysp4ee6S2jCakmlGFHEasibifFTsJr7IYmRPxfzYw== dependencies: - "@microsoft/tsdoc" "0.12.20" - ajv "~6.12.3" + "@microsoft/tsdoc" "0.12.24" + ajv "~6.12.6" jju "~1.4.0" - resolve "~1.12.0" + resolve "~1.19.0" "@microsoft/tsdoc@0.12.14": version "0.12.14" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.14.tgz#0e0810a0a174e50e22dfe8edb30599840712f22d" integrity sha512-518yewjSga1jLdiLrcmpMFlaba5P+50b0TWNFUpC+SL9Yzf0kMi57qw+bMl+rQ08cGqH1vLx4eg9YFUbZXgZ0Q== -"@microsoft/tsdoc@0.12.20": - version "0.12.20" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.20.tgz#4261285f666ee0c0378f810585dd4ec5bbfa8852" - integrity sha512-/b13m37QZYPV6nCOiqkFyvlQjlTNvAcQpgFZ6ZKIqtStJxNdqVo/frULubxMUMWi6p9Uo5f4BRlguv5ViFcL0A== - "@microsoft/tsdoc@0.12.24": version "0.12.24" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz#30728e34ebc90351dd3aff4e18d038eed2c3e098" @@ -2769,18 +2792,18 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.3" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.stat@^1.1.2": version "1.1.3" @@ -2788,66 +2811,65 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + version "1.2.7" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2" + integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== dependencies: - "@nodelib/fs.scandir" "2.1.3" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/ci-detect@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" - integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== - "@npmcli/git@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.3.tgz#41a13cc698d257c7e38a287e233dafe7354dd4ab" - integrity sha512-c/ODsV5ppjB12VDXKc6hzVNgg6ZJX/etILUn3WgF5NLAYBhQLJ3fBq6uB2jQD4OwqOzJdPT1/xA3Xh3aaWGk5w== + version "2.0.9" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.0.9.tgz#915bbfe66300e67b4da5ef765a4475ffb2ca5b6b" + integrity sha512-hTMbMryvOqGLwnmMBKs5usbPsJtyEsMsgXwJbmNrsEuQQh1LAIMDU77IoOrwkCg+NgQWl+ySlarJASwM3SutCA== dependencies: - "@npmcli/promise-spawn" "^1.1.0" + "@npmcli/promise-spawn" "^1.3.2" lru-cache "^6.0.0" - mkdirp "^1.0.3" - npm-pick-manifest "^6.0.0" + mkdirp "^1.0.4" + npm-pick-manifest "^6.1.1" promise-inflight "^1.0.1" - promise-retry "^1.1.1" - semver "^7.3.2" - unique-filename "^1.1.1" + promise-retry "^2.0.1" + semver "^7.3.5" which "^2.0.2" -"@npmcli/installed-package-contents@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz#cc78565e55d9f14d46acf46a96f70934e516fa3d" - integrity sha512-aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A== +"@npmcli/installed-package-contents@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== dependencies: npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" - read-package-json-fast "^1.1.1" - readdir-scoped-modules "^1.1.0" "@npmcli/move-file@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" - integrity sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: mkdirp "^1.0.4" + rimraf "^3.0.2" -"@npmcli/promise-spawn@^1.1.0", "@npmcli/promise-spawn@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.2.0.tgz#167d70b926f771c8bd8b9183bfc8b5aec29d7e45" - integrity sha512-nFtqjVETliApiRdjbYwKwhlSHx2ZMagyj5b9YbNt0BWeeOVxJd47ZVE2u16vxDHyTOZvk+YLV7INwfAE9a2uow== +"@npmcli/node-gyp@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" + integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== + +"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^1.3.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.3.1.tgz#dc8934646634338b99898614ce083dabcd14edf3" - integrity sha512-9Ea57XJjNLtBFRAaiKqqdoqRrL2QkM0vvCbMjPecljhog5IHupStPtZULbl0CoGN00N3lhLWJ4PaIEC0MGjqJw== +"@npmcli/run-script@^1.8.2": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.5.tgz#f250a0c5e1a08a792d775a315d0ff42fc3a51e1d" + integrity sha512-NQspusBCpTjNwNRFMtz2C5MxoxyzlbuJ4YEhxAKrIonTiirKDtatsZictx9RgamQIx6+QuHMNmPl0wQdoESs9A== dependencies: - "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/node-gyp" "^1.0.2" + "@npmcli/promise-spawn" "^1.3.2" infer-owner "^1.0.4" - node-gyp "^6.1.0" - read-package-json-fast "^1.1.3" + node-gyp "^7.1.0" + read-package-json-fast "^2.0.1" "@nrwl/cli@12.1.0": version "12.1.0" @@ -2967,20 +2989,25 @@ yargs-parser "20.0.0" "@octokit/auth-token@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.0.tgz#b64178975218b99e4dfe948253f0673cbbb59d9f" - integrity sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg== + version "2.4.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" + integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== dependencies: - "@octokit/types" "^2.0.0" + "@octokit/types" "^6.0.3" -"@octokit/endpoint@^5.5.0": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.2.tgz#ed19d01fe85ac58bc2b774661658f9e5429b8164" - integrity sha512-ICDcRA0C2vtTZZGud1nXRrBLXZqFayodXAKZfo3dkdcLNqcHsgaz3YSTupbURusYeucSVRjjG+RTcQhx6HPPcg== +"@octokit/endpoint@^6.0.1": + version "6.0.11" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.11.tgz#082adc2aebca6dcefa1fb383f5efb3ed081949d1" + integrity sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ== dependencies: - "@octokit/types" "^2.0.0" - is-plain-object "^3.0.0" - universal-user-agent "^4.0.0" + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^7.2.3": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.3.0.tgz#1d9ed79828513c57a95e6360b7c9b4749503e79d" + integrity sha512-o00X2FCLiEeXZkm1Ab5nvPUdVOlrpediwWZkpizUJ/xtZQsJ4FiQ2RB/dJEmb0Nk+NIz7zyDePcSCu/Y/0M3Ew== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -2995,9 +3022,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-request-log@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" - integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d" + integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" @@ -3007,27 +3034,35 @@ "@octokit/types" "^2.0.1" deprecation "^2.3.1" -"@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.0.4.tgz#15e1dc22123ba4a9a4391914d80ec1e5303a23be" - integrity sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig== +"@octokit/request-error@^1.0.2": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" + integrity sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA== dependencies: + "@octokit/types" "^2.0.0" deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.2.0": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120" - integrity sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg== +"@octokit/request-error@^2.0.0": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143" + integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== dependencies: - "@octokit/endpoint" "^5.5.0" - "@octokit/request-error" "^1.0.1" - "@octokit/types" "^2.0.0" + "@octokit/types" "^6.0.3" deprecation "^2.0.0" - is-plain-object "^3.0.0" - node-fetch "^2.3.0" once "^1.4.0" - universal-user-agent "^4.0.0" + +"@octokit/request@^5.2.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.5.0.tgz#6588c532255b8e71886cefa0d2b64b4ad73bf18c" + integrity sha512-jxbMLQdQ3heFMZUaTLSCqcKs2oAHEYh7SnLLXyxbZmlULExZ/RXai7QUWWFKowcGGPlCZuKTZg0gSKHWrfYEoQ== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + universal-user-agent "^6.0.0" "@octokit/rest@^15.12.1": version "15.18.3" @@ -3044,29 +3079,7 @@ universal-user-agent "^2.0.0" url-template "^2.0.8" -"@octokit/rest@^16.28.2", "@octokit/rest@^16.43.1": - version "16.43.1" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.1.tgz#3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b" - integrity sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw== - dependencies: - "@octokit/auth-token" "^2.4.0" - "@octokit/plugin-paginate-rest" "^1.1.1" - "@octokit/plugin-request-log" "^1.0.0" - "@octokit/plugin-rest-endpoint-methods" "2.4.0" - "@octokit/request" "^5.2.0" - "@octokit/request-error" "^1.0.2" - atob-lite "^2.0.0" - before-after-hook "^2.0.0" - btoa-lite "^1.0.0" - deprecation "^2.0.0" - lodash.get "^4.4.2" - lodash.set "^4.3.2" - lodash.uniq "^4.5.0" - octokit-pagination-methods "^1.1.0" - once "^1.4.0" - universal-user-agent "^4.0.0" - -"@octokit/rest@^16.28.4": +"@octokit/rest@^16.28.2", "@octokit/rest@^16.28.4", "@octokit/rest@^16.43.1": version "16.43.2" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ== @@ -3089,17 +3102,29 @@ universal-user-agent "^4.0.0" "@octokit/types@^2.0.0", "@octokit/types@^2.0.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.1.1.tgz#77e80d1b663c5f1f829e5377b728fa3c4fe5a97d" - integrity sha512-89LOYH+d/vsbDX785NOfLxTW88GjNd0lWRz1DVPVsZgg9Yett5O+3MOvwo7iHgvUwbFz0mf/yPIjBkUbs4kxoQ== + version "2.16.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.16.2.tgz#4c5f8da3c6fecf3da1811aef678fda03edac35d2" + integrity sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q== dependencies: "@types/node" ">= 8" +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": + version "6.16.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.2.tgz#62242e0565a3eb99ca2fd376283fe78b4ea057b4" + integrity sha512-wWPSynU4oLy3i4KGyk+J1BLwRKyoeW2TwRHgwbDz17WtVFzSK2GOErGliruIx8c+MaYtHSYTx36DSmLNoNbtgA== + dependencies: + "@octokit/openapi-types" "^7.2.3" + "@opencensus/web-types@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@opencensus/web-types/-/web-types-0.0.7.tgz#4426de1fe5aa8f624db395d2152b902874f0570a" integrity sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g== +"@opentelemetry/api@1.0.0-rc.0": + version "1.0.0-rc.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.0-rc.0.tgz#0c7c3f5e1285f99cedb563d74ad1adb9822b5144" + integrity sha512-iXKByCMfrlO5S6Oh97BuM56tM2cIBB0XsL/vWF/AtJrJEKx4MC/Xdu0xDsGXMGcNWpqF7ujMsjjnp0+UHBwnDQ== + "@opentelemetry/api@^0.6.1": version "0.6.1" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.6.1.tgz#a00b504801f408230b9ad719716fe91ad888c642" @@ -3112,67 +3137,77 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.6.1.tgz#b260e454ee4f9635ea024fc83be225e397f15363" integrity sha512-5bHhlTBBq82ti3qPT15TRxkYTFPPQWbnkkQkmHPtqiS1XcTB69cEKd3Jm7Cfi/vkPoyxapmePE9tyA7EzLt8SQ== -"@pnpm/constants@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@pnpm/constants/-/constants-4.0.0.tgz#080a5928a4c013ead4bc157af6abf6ab6c49df88" - integrity sha512-gu7VsmfA+vReDmwggJQWOt1avlbhoHf2SHX4thA3Dug66rNxGCEP5tmkO0RS+VYojE5L23mVbJMwO/YD76OWyw== +"@pnpm/constants@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/constants/-/constants-4.1.0.tgz#94d10416d4f78cf9adf77031360caf588ba4b8fb" + integrity sha512-kH6+y0IMPExiUnwk+BTXvaPSIp3SlBxTXK7JeW8hopJ2B8EVIwFOWLdXK85sJpr4+jxbtEn2spzLRx6Rcfh7xQ== -"@pnpm/error@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@pnpm/error/-/error-1.2.0.tgz#2433edbf6463087ed51cbd9b2f2f55ad3d0759f9" - integrity sha512-8UHiB7ONHFl9B+jCK9mn9SEuEgtqqsOKlN7YANF8/GvRXQhxpSGPJZCBrv3DOCQ9Y5pqEkCd2vc8XYMBtQYIpg== +"@pnpm/error@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@pnpm/error/-/error-1.4.0.tgz#6a3ce98a2e3f1b0614debaddd33a6c6597b493f3" + integrity sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA== "@pnpm/lockfile-file@^3.0.7": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@pnpm/lockfile-file/-/lockfile-file-3.0.11.tgz#5f6cd09f3976bc211ef718f9f10f143b305f318d" - integrity sha512-aRksjWnZ2lRhTnuCeAtSa7ZLN7H8ZzqPBkCuK8zoNQFRAuVUDy7oEp44457tsXgorv/bIYY0GZJydqayVRi/gg== - dependencies: - "@pnpm/constants" "4.0.0" - "@pnpm/error" "1.2.0" - "@pnpm/lockfile-types" "2.0.1" - "@pnpm/types" "6.2.0" + version "3.2.1" + resolved "https://registry.yarnpkg.com/@pnpm/lockfile-file/-/lockfile-file-3.2.1.tgz#b52a3c837f005e88cbecf8e7efc99409a7ba20fa" + integrity sha512-2fi4XHW8OBv9KsG9G33bKw2Lb2zHRP2g7kbt61p+ha/XHW9lRwS+Br5d1AmhbXTwgitKqXvQL4zf0B8exhiZSA== + dependencies: + "@pnpm/constants" "4.1.0" + "@pnpm/error" "1.4.0" + "@pnpm/lockfile-types" "2.2.0" + "@pnpm/merge-lockfile-changes" "1.0.1" + "@pnpm/types" "6.4.0" "@zkochan/rimraf" "^1.0.0" - js-yaml "^3.14.0" + js-yaml "^4.0.0" mz "^2.7.0" normalize-path "^3.0.0" - ramda "^0.27.0" - read-yaml-file "^2.0.0" - write-file-atomic "^2.4.3" + ramda "^0.27.1" + strip-bom "^4.0.0" + write-file-atomic "^3.0.3" -"@pnpm/lockfile-types@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@pnpm/lockfile-types/-/lockfile-types-2.0.1.tgz#3d12d76308354b1bdff8a31d30f1fd38cc28c396" - integrity sha512-ORh9pSjUj0LfyiLZsk7c/MICkVDDPZHJe8msL/F6VcUg/InMLRGRiBTSAUbq3lUNVMEzWiFClaO1NNuOFvvB+Q== +"@pnpm/lockfile-types@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@pnpm/lockfile-types/-/lockfile-types-2.2.0.tgz#5ccbd763c3a3e0c81da1cc42a80780eaecab04a8" + integrity sha512-JO+MeNdc6lKaAjUqtMSx0V2+NkGtPWIJsyXrNrGhzzazgVdr6kxJUZnuBQQ8SZUyxVAOjoTBZTOxoHcFuSfkTg== "@pnpm/logger@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@pnpm/logger/-/logger-3.2.2.tgz#ba7482d9d908bf962790688d9fd6fbd8f1b7547b" - integrity sha512-/hQK/HSxnqPavF/Wc1YanCtcrYnpLVEqv3fcHJ5SQmKbcaoIVHeUnBsI2Ep6JZiTTYxCfkzRw9c6mr9sn3Uk3w== + version "3.2.3" + resolved "https://registry.yarnpkg.com/@pnpm/logger/-/logger-3.2.3.tgz#9426f153126f312a3069c9d9e8cb50bc692ceeb7" + integrity sha512-/nZCAUeKwlv1MldtOHSPDm5SuXBy4L4SoS30gYn9ti2N5XlUrVoXDE8Hq8EYfl+Knb1GQEDz04KjfFEDVsAsvg== dependencies: - bole "3" + bole "npm:@zkochan/bole@^3.0.4" ndjson "^1.5.0" -"@pnpm/types@6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@pnpm/types/-/types-6.2.0.tgz#8ef1ecfddaa6b5c67faef61435e04eab947304a5" - integrity sha512-UQIu6DzsMo0H/wA5zKga3WpMyq38daFmAgvcz/QtttMkZsI75tH4J/ZGIKMGMj1wXgfp+2rGpbcr/Lv9kbMIrw== +"@pnpm/merge-lockfile-changes@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@pnpm/merge-lockfile-changes/-/merge-lockfile-changes-1.0.1.tgz#cf2fdb588cbe4fcccf669459c3f5dbdb1d55584f" + integrity sha512-eJg3mBAoIEp5jtf/WKZ+MO0ZFpLmBZ9oYzGn166EZX7wAiSvDNxWGnfJ2tc2YeIBd6kb7OC1OoTybm7gtR6D9g== + dependencies: + "@pnpm/lockfile-types" "2.2.0" + ramda "^0.27.1" + semver "^7.3.4" -"@polka/url@^1.0.0-next.9": - version "1.0.0-next.11" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.11.tgz#aeb16f50649a91af79dbe36574b66d0f9e4d9f71" - integrity sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== +"@pnpm/types@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@pnpm/types/-/types-6.4.0.tgz#312c3bf0b43b003508cb21bd3815406ea0f3b669" + integrity sha512-nco4+4sZqNHn60Y4VE/fbtlShCBqipyUO+nKRPvDHqLrecMW9pzHWMVRxk4nrMRoeowj3q0rX3GYRBa8lsHTAg== -"@popperjs/core@^2.5.4": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.7.0.tgz#5f7760965170f7f1e2910d2498c5be88b47a2a8c" - integrity sha512-V3WyEc8ZyAuOQ2fpFuTuYYOd2tV4NePeSdxaHYgYAOs7ERLxlcFi2XsmgI5LJFdAUmJKXsg8jaIiVTkTHQygQw== +"@polka/url@^1.0.0-next.15": + version "1.0.0-next.15" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.15.tgz#6a9d143f7f4f49db2d782f9e1c8839a29b43ae23" + integrity sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA== + +"@popperjs/core@^2.5.4", "@popperjs/core@^2.6.0": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353" + integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q== "@popperjs/core@~2.4.3": version "2.4.4" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398" integrity sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg== -"@reach/router@^1.2.1", "@reach/router@^1.3.3": +"@reach/router@^1.2.1", "@reach/router@^1.3.3", "@reach/router@^1.3.4": version "1.3.4" resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.4.tgz#d2574b19370a70c80480ed91f3da840136d10f8c" integrity sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA== @@ -3182,7 +3217,7 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@rollup/pluginutils@^3.0.8": +"@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== @@ -3191,19 +3226,6 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.24.4": - version "3.24.4" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.24.4.tgz#0ec278329e1b0db7d9eda077583f41c37722daf7" - integrity sha512-h8XQjpI78o5Mq7mJKX/rSfV9R02CJXBzxgqQ4EnptUP1StZ/BvyzwAp5VHvvNoJKXlFgqJwwOt8TE4d7bHGLgg== - dependencies: - "@types/node" "10.17.13" - colors "~1.2.1" - fs-extra "~7.0.1" - jju "~1.4.0" - semver "~5.3.0" - timsort "~0.3.0" - z-schema "~3.18.3" - "@rushstack/node-core-library@3.35.2": version "3.35.2" resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.35.2.tgz#21ca879b5051a5ebafa952fafcd648a07a142bcb" @@ -3219,20 +3241,13 @@ timsort "~0.3.0" z-schema "~3.18.3" -"@rushstack/package-deps-hash@^2.4.109": +"@rushstack/package-deps-hash@^2.4.109", "@rushstack/package-deps-hash@^2.4.48": version "2.4.110" resolved "https://registry.yarnpkg.com/@rushstack/package-deps-hash/-/package-deps-hash-2.4.110.tgz#e1016af0d1bf3a03f44ab79fcde0057b58c82ebd" integrity sha512-6PJaruKZJ7xCcs80F5yv9fedsZIvB5iSpWG7mkXLeMDVEJVM5vqyHs22YbqVb5UeALA3Q2Dyzaj++QIDng2DVQ== dependencies: "@rushstack/node-core-library" "3.35.2" -"@rushstack/package-deps-hash@^2.4.22": - version "2.4.28" - resolved "https://registry.yarnpkg.com/@rushstack/package-deps-hash/-/package-deps-hash-2.4.28.tgz#0d0764773fac6bcfe14b0c29c970c662d483976b" - integrity sha512-GWLfEQAjbLLloR/ZXw/N2mTpDlrl6sthBxdVF6IRHkFwz/AhlXrM83mEAyqxfA5wgWoxAOcsNWAMvf4qEgIJIw== - dependencies: - "@rushstack/node-core-library" "3.24.4" - "@rushstack/rig-package@0.2.9": version "0.2.9" resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.2.9.tgz#57ef94e7f7703b18e275b603d3f59a1a16580716" @@ -3259,25 +3274,15 @@ dependencies: any-observable "^0.3.0" -"@scarf/scarf@^1.0.4": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.0.5.tgz#accee0bce88a9047672f7c8faf3cada59c996b81" - integrity sha512-9WKaGVpQH905Aqkk+BczFEeLQxS07rl04afFRPUG9IcSlOwmo5EVVuuNu0d4M9LMYucObvK0LoAe+5HfMW2QhQ== - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - "@sindresorhus/is@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== "@sindresorhus/is@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" - integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.1.tgz#d26729db850fa327b7cacc5522252194404226f5" + integrity sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g== "@storybook/addon-a11y@6.0.28": version "6.0.28" @@ -3491,19 +3496,6 @@ prop-types "^15.7.2" regenerator-runtime "^0.13.3" -"@storybook/addons@5.3.8", "@storybook/addons@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.8.tgz#62d62bafd4a73195f617e39f3c61ec7e7837b1ee" - integrity sha512-670QGxDuS4ZkQa7SEAGgcFaO3WvedEVJaRAoCMs0AKP+sllrbph77oCm6W0NjM6bMGwhsKc8/ownOoAbec+haw== - dependencies: - "@storybook/api" "5.3.8" - "@storybook/channels" "5.3.8" - "@storybook/client-logger" "5.3.8" - "@storybook/core-events" "5.3.8" - core-js "^3.0.1" - global "^4.3.2" - util-deprecate "^1.0.2" - "@storybook/addons@6.0.0-alpha.2": version "6.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.0.0-alpha.2.tgz#0448ec19b50ed8fba578b096e486bd7ebc48f6e4" @@ -3532,47 +3524,21 @@ global "^4.3.2" regenerator-runtime "^0.13.3" -"@storybook/addons@^6.1.11": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.1.18.tgz#b953f355350376808914f015b689dbda4e20b864" - integrity sha512-sI/ifk3RLswItRUejt4tCi3IMS9oBUd2NK4Kns1PF+x4NIry/yuOeE/de3Dz5tPjJhg9jJuBDLhxEaqRFq3Uzg== - dependencies: - "@storybook/api" "6.1.18" - "@storybook/channels" "6.1.18" - "@storybook/client-logger" "6.1.18" - "@storybook/core-events" "6.1.18" - "@storybook/router" "6.1.18" - "@storybook/theming" "6.1.18" - core-js "^3.0.1" - global "^4.3.2" +"@storybook/addons@6.2.9", "@storybook/addons@^6.1.11", "@storybook/addons@^6.1.17": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.2.9.tgz#b7ba2b9f0e15b852c7d6b57d04fb0a493c57477c" + integrity sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ== + dependencies: + "@storybook/api" "6.2.9" + "@storybook/channels" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/core-events" "6.2.9" + "@storybook/router" "6.2.9" + "@storybook/theming" "6.2.9" + core-js "^3.8.2" + global "^4.4.0" regenerator-runtime "^0.13.7" -"@storybook/api@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.8.tgz#5f887911c87d1e6e1d8c12106c17f05377c6544b" - integrity sha512-Pso860gtyRc8HJ0dUkprZBSPHNrQj2zpX+C2a4TdpXgM/IW8cDQaZ4JW8ShkxxT1upKTQzVKAuogh4uWfKCJVA== - dependencies: - "@reach/router" "^1.2.1" - "@storybook/channels" "5.3.8" - "@storybook/client-logger" "5.3.8" - "@storybook/core-events" "5.3.8" - "@storybook/csf" "0.0.1" - "@storybook/router" "5.3.8" - "@storybook/theming" "5.3.8" - "@types/reach__router" "^1.2.3" - core-js "^3.0.1" - fast-deep-equal "^2.0.1" - global "^4.3.2" - lodash "^4.17.15" - memoizerific "^1.11.3" - prop-types "^15.6.2" - react "^16.8.3" - semver "^6.0.0" - shallow-equal "^1.1.0" - store2 "^2.7.1" - telejson "^3.2.0" - util-deprecate "^1.0.2" - "@storybook/api@6.0.0-alpha.2": version "6.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.0.0-alpha.2.tgz#de097ec556fd9e304bad0a5bd3ca0e7ca684e750" @@ -3625,41 +3591,107 @@ ts-dedent "^1.1.1" util-deprecate "^1.0.2" -"@storybook/api@6.1.18", "@storybook/api@^6.1.11": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.1.18.tgz#289d9907ed36a0c2af933c871a36a72acd911c43" - integrity sha512-VfntmrMEijkbdNDncpr9bv2RXVn12hCui1YcK3S6bCXnMi/OFp6aO5+jrb/GZqqZzLeVK005N1HTE2Ivq1IBJg== +"@storybook/api@6.2.9", "@storybook/api@^6.1.11": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.2.9.tgz#a9b46569192ad5d8da6435c9d63dc4b0c8463b51" + integrity sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ== dependencies: - "@reach/router" "^1.3.3" - "@storybook/channels" "6.1.18" - "@storybook/client-logger" "6.1.18" - "@storybook/core-events" "6.1.18" + "@reach/router" "^1.3.4" + "@storybook/channels" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/core-events" "6.2.9" "@storybook/csf" "0.0.1" - "@storybook/router" "6.1.18" + "@storybook/router" "6.2.9" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.1.18" + "@storybook/theming" "6.2.9" "@types/reach__router" "^1.3.7" - core-js "^3.0.1" - fast-deep-equal "^3.1.1" - global "^4.3.2" - lodash "^4.17.15" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" memoizerific "^1.11.3" + qs "^6.10.0" regenerator-runtime "^0.13.7" - store2 "^2.7.1" - telejson "^5.0.2" + store2 "^2.12.0" + telejson "^5.1.0" ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/channel-postmessage@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.8.tgz#76544f1fd276338df9f427eec11d3ec12de86215" - integrity sha512-dnWD39+ABBy4bkXIUnlgo9CArfWfQ9D3xYykY8GXLlNMIVlAQBqPmBIHrd05ly7Z1CDjh0WY7dLK7vNG5nZm6A== - dependencies: - "@storybook/channels" "5.3.8" - "@storybook/client-logger" "5.3.8" - core-js "^3.0.1" - global "^4.3.2" - telejson "^3.2.0" +"@storybook/builder-webpack4@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.2.9.tgz#dddff0b1b4590a7ba088ce13e7cc42e482f6455d" + integrity sha512-swECic1huVdj+B+iRJIQ8ds59HuPVE4fmhI+j/nhw0CQCsgAEKqDlOQVYEimW6nZX8GO4WxNm6tiiRzxixejbw== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-decorators" "^7.12.12" + "@babel/plugin-proposal-export-default-from" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.12" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/preset-env" "^7.12.11" + "@babel/preset-react" "^7.12.10" + "@babel/preset-typescript" "^7.12.7" + "@storybook/addons" "6.2.9" + "@storybook/api" "6.2.9" + "@storybook/channel-postmessage" "6.2.9" + "@storybook/channels" "6.2.9" + "@storybook/client-api" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/components" "6.2.9" + "@storybook/core-common" "6.2.9" + "@storybook/core-events" "6.2.9" + "@storybook/node-logger" "6.2.9" + "@storybook/router" "6.2.9" + "@storybook/semver" "^7.3.2" + "@storybook/theming" "6.2.9" + "@storybook/ui" "6.2.9" + "@types/node" "^14.0.10" + "@types/webpack" "^4.41.26" + autoprefixer "^9.8.6" + babel-loader "^8.2.2" + babel-plugin-macros "^2.8.0" + babel-plugin-polyfill-corejs3 "^0.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + core-js "^3.8.2" + css-loader "^3.6.0" + dotenv-webpack "^1.8.0" + file-loader "^6.2.0" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^4.1.6" + fs-extra "^9.0.1" + glob "^7.1.6" + glob-promise "^3.4.0" + global "^4.4.0" + html-webpack-plugin "^4.0.0" + pnp-webpack-plugin "1.6.4" + postcss "^7.0.35" + postcss-flexbugs-fixes "^4.2.1" + postcss-loader "^4.2.0" + raw-loader "^4.0.2" + react-dev-utils "^11.0.3" + stable "^0.1.8" + style-loader "^1.3.0" + terser-webpack-plugin "^3.1.0" + ts-dedent "^2.0.0" + url-loader "^4.1.1" + util-deprecate "^1.0.2" + webpack "4" + webpack-dev-middleware "^3.7.3" + webpack-filter-warnings-plugin "^1.2.1" + webpack-hot-middleware "^2.25.0" + webpack-virtual-modules "^0.2.2" "@storybook/channel-postmessage@6.0.28": version "6.0.28" @@ -3674,12 +3706,18 @@ qs "^6.6.0" telejson "^5.0.2" -"@storybook/channels@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.8.tgz#778696b791e49c19b8de95c4bfb0ebb363745059" - integrity sha512-nYcBRUE5k855saNqTRU8X2p6QEDE28T05rinJTC2IOZA+iemrZNSobe56lAXBuNZk4vQFuJQb0Caxuu9o4+ADw== +"@storybook/channel-postmessage@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.2.9.tgz#ad85573e0a5d6f0cde3504f168d87a73cb0b6269" + integrity sha512-OqV+gLeeCHR0KExsIz0B7gD17Cjd9D+I75qnBsLWM9inWO5kc/WZ5svw8Bvjlcm6snWpvxUaT8L+svuqcPSmww== dependencies: - core-js "^3.0.1" + "@storybook/channels" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/core-events" "6.2.9" + core-js "^3.8.2" + global "^4.4.0" + qs "^6.10.0" + telejson "^5.1.0" "@storybook/channels@6.0.0-alpha.2": version "6.0.0-alpha.2" @@ -3697,64 +3735,15 @@ ts-dedent "^1.1.1" util-deprecate "^1.0.2" -"@storybook/channels@6.1.18", "@storybook/channels@^6.1.11": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.1.18.tgz#834cafb45e91d39c99160dbaa2ac74720bbaef5a" - integrity sha512-XMuHD15B7SWpUJgaTP/6Axa66bykObN1YBcyZ2mOqBVQK4DVf51yI/zp/4ZndgE/MxG5uqVWuOEDOJvSAENREw== +"@storybook/channels@6.2.9", "@storybook/channels@^6.1.11": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.2.9.tgz#a9fd7f25102cbec15fb56f76abf891b7b214e9de" + integrity sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg== dependencies: - core-js "^3.0.1" + core-js "^3.8.2" ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/cli@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-5.3.8.tgz#f96d069a606cff97835f98a88063adb19bf1f712" - integrity sha512-oKXb13jBDHSfIwGrRkbt6XERfFy96uowFr1YFzlU1mkL5xpOUZX7RTD2vYB8n9pPACS9L7XHlRx7LW0Th0eQgA== - dependencies: - "@babel/core" "^7.4.5" - "@babel/preset-env" "^7.4.5" - "@storybook/codemod" "5.3.8" - chalk "^3.0.0" - commander "^4.0.1" - core-js "^3.0.1" - cross-spawn "^7.0.0" - didyoumean "^1.2.1" - envinfo "^7.5.0" - esm "3.2.25" - find-up "^4.1.0" - fs-extra "^8.0.1" - inquirer "^7.0.0" - jscodeshift "^0.6.3" - json5 "^2.1.1" - pkg-add-deps "^0.1.0" - semver "^6.0.0" - shelljs "^0.8.3" - strip-json-comments "^3.0.1" - update-notifier "^3.0.0" - -"@storybook/client-api@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.8.tgz#e2e461e915c5e5796638efb3913d59411a9012d4" - integrity sha512-jPdkPuTBQ7uLTAAcaB9m84o+pJDQy3N3zPuSkt8SFz3LdJS0WJESsaPqxUV1BL0Lzr8Y2wumjKwVgQLumhUmvA== - dependencies: - "@storybook/addons" "5.3.8" - "@storybook/channel-postmessage" "5.3.8" - "@storybook/channels" "5.3.8" - "@storybook/client-logger" "5.3.8" - "@storybook/core-events" "5.3.8" - "@storybook/csf" "0.0.1" - "@types/webpack-env" "^1.15.0" - core-js "^3.0.1" - eventemitter3 "^4.0.0" - global "^4.3.2" - is-plain-object "^3.0.0" - lodash "^4.17.15" - memoizerific "^1.11.3" - qs "^6.6.0" - stable "^0.1.8" - ts-dedent "^1.1.0" - util-deprecate "^1.0.2" - "@storybook/client-api@6.0.28": version "6.0.28" resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.0.28.tgz#789e1dd85e5bfed8580035bbefe1871359bac8fc" @@ -3778,12 +3767,29 @@ ts-dedent "^1.1.1" util-deprecate "^1.0.2" -"@storybook/client-logger@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.8.tgz#2e846eb43c42e9602a2cf619c0f3ea7381e312b3" - integrity sha512-OaWVBwGcvQq2rArSNn+s/ePWWETwal5JQn00D6feWNxqprUkUb3aE6Ao/jgBcW/g3lDAQivT7wYwhP33tkx91w== +"@storybook/client-api@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.2.9.tgz#f0bb44e9b2692adfbf30d7ff751c6dd44bcfe1ce" + integrity sha512-aLvEUVkbvv6Qo/2mF4rFCecdqi2CGOUDdsV1a6EFIVS/9gXFdpirsOwKHo9qNjacGdWPlBYGCUcbrw+DvNaSFA== dependencies: - core-js "^3.0.1" + "@storybook/addons" "6.2.9" + "@storybook/channel-postmessage" "6.2.9" + "@storybook/channels" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/core-events" "6.2.9" + "@storybook/csf" "0.0.1" + "@types/qs" "^6.9.5" + "@types/webpack-env" "^1.16.0" + core-js "^3.8.2" + global "^4.4.0" + lodash "^4.17.20" + memoizerific "^1.11.3" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + stable "^0.1.8" + store2 "^2.12.0" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" "@storybook/client-logger@6.0.0-alpha.2": version "6.0.0-alpha.2" @@ -3800,58 +3806,13 @@ core-js "^3.0.1" global "^4.3.2" -"@storybook/client-logger@6.1.18": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.1.18.tgz#36c7e33090e70bc274e1a39ef5ebbfe31c886f6a" - integrity sha512-o+lXoi61SLgNbDGrfDJsUdkbc2eDzNL1DMkSenksis7kiblOsBzO+7S0UiguyQ/gku2wYyksGx71A/TzE5JsgQ== - dependencies: - core-js "^3.0.1" - global "^4.3.2" - -"@storybook/codemod@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-5.3.8.tgz#7a659ce06cf33fff819c69cdde741bc43d55cb69" - integrity sha512-Oexvmpa/gU0N+OVVpE09sQs6J3jRVbYwR+Q+i38+U9MySykgsdwyOHOeSSDbhWiqBtAvacrmfT4l/ZRKcXY1Fw== +"@storybook/client-logger@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.2.9.tgz#77c1ea39684ad2a2cf6836051b381fc5b354e132" + integrity sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg== dependencies: - "@mdx-js/mdx" "^1.5.1" - "@storybook/csf" "0.0.1" - "@storybook/node-logger" "5.3.8" - core-js "^3.0.1" - cross-spawn "^7.0.0" - globby "^11.0.0" - jest-specific-snapshot "^2.0.0" - jscodeshift "^0.7.0" - lodash "^4.17.15" - prettier "^1.16.4" - recast "^0.16.1" - regenerator-runtime "^0.13.3" - -"@storybook/components@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.8.tgz#1d21a02ea0058fa8ee20d44248550f9f5b500114" - integrity sha512-V8ByPSGruChH0CeTFrABGWmY8EfFOukbYSH+Rul/AG2+xg7l0Mx8LJIeq63Yc3XAvAeRyvbwf1rLe3F5l4/QZA== - dependencies: - "@storybook/client-logger" "5.3.8" - "@storybook/theming" "5.3.8" - "@types/react-syntax-highlighter" "11.0.2" - "@types/react-textarea-autosize" "^4.3.3" - core-js "^3.0.1" - global "^4.3.2" - lodash "^4.17.15" - markdown-to-jsx "^6.9.1" - memoizerific "^1.11.3" - polished "^3.3.1" - popper.js "^1.14.7" - prop-types "^15.7.2" - react "^16.8.3" - react-dom "^16.8.3" - react-focus-lock "^2.1.0" - react-helmet-async "^1.0.2" - react-popper-tooltip "^2.8.3" - react-syntax-highlighter "^11.0.2" - react-textarea-autosize "^7.1.0" - simplebar-react "^1.0.0-alpha.6" - ts-dedent "^1.1.0" + core-js "^3.8.2" + global "^4.4.0" "@storybook/components@6.0.0-alpha.2": version "6.0.0-alpha.2" @@ -3907,38 +3868,111 @@ react-textarea-autosize "^8.1.1" ts-dedent "^1.1.1" -"@storybook/components@^6.1.0": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.1.18.tgz#23ab5a7d735bd8e09cad2e487f8636aa099998a9" - integrity sha512-YUF/JpkZ6ghcxm26V6zOXl4iS2OOhNhfCp1CxVBu+71k78nziOQdxBmT0aG0LXzZ+WSF8pMiXzvBTrei+YTxyg== +"@storybook/components@6.2.9", "@storybook/components@^6.1.0": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.2.9.tgz#7189f9715b05720fe083ae8ad014849f14e98e73" + integrity sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag== dependencies: - "@popperjs/core" "^2.5.4" - "@storybook/client-logger" "6.1.18" + "@popperjs/core" "^2.6.0" + "@storybook/client-logger" "6.2.9" "@storybook/csf" "0.0.1" - "@storybook/theming" "6.1.18" - "@types/overlayscrollbars" "^1.9.0" - "@types/react-color" "^3.0.1" - "@types/react-syntax-highlighter" "11.0.4" - core-js "^3.0.1" - fast-deep-equal "^3.1.1" - global "^4.3.2" - lodash "^4.17.15" - markdown-to-jsx "^6.11.4" + "@storybook/theming" "6.2.9" + "@types/color-convert" "^2.0.0" + "@types/overlayscrollbars" "^1.12.0" + "@types/react-syntax-highlighter" "11.0.5" + color-convert "^2.0.1" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" + markdown-to-jsx "^7.1.0" memoizerific "^1.11.3" - overlayscrollbars "^1.10.2" - polished "^3.4.4" - react-color "^2.17.0" + overlayscrollbars "^1.13.1" + polished "^4.0.5" + prop-types "^15.7.2" + react-colorful "^5.0.1" react-popper-tooltip "^3.1.1" - react-syntax-highlighter "^13.5.0" - react-textarea-autosize "^8.1.1" + react-syntax-highlighter "^13.5.3" + react-textarea-autosize "^8.3.0" + regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" + util-deprecate "^1.0.2" -"@storybook/core-events@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.8.tgz#2cc85c8109e4734298b3e1f5919c764d6abbf2f4" - integrity sha512-2GGjZj+AM4OpxU7qI2ixBeek3eigMzlyvQnDpe7cZlWDzNPNvWTspiSyQScFrtD1XV/vJTHdgDBpGb3uNHz7Eg== +"@storybook/core-client@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.2.9.tgz#3f611947e64dee0a297e512ff974087bc52c1877" + integrity sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA== dependencies: - core-js "^3.0.1" + "@storybook/addons" "6.2.9" + "@storybook/channel-postmessage" "6.2.9" + "@storybook/client-api" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/core-events" "6.2.9" + "@storybook/csf" "0.0.1" + "@storybook/ui" "6.2.9" + ansi-to-html "^0.6.11" + core-js "^3.8.2" + global "^4.4.0" + lodash "^4.17.20" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + ts-dedent "^2.0.0" + unfetch "^4.2.0" + util-deprecate "^1.0.2" + +"@storybook/core-common@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.2.9.tgz#54f8e005733d39c4cb90eec7c17f9ca4dcbeec5f" + integrity sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-decorators" "^7.12.12" + "@babel/plugin-proposal-export-default-from" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.12" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/preset-env" "^7.12.11" + "@babel/preset-react" "^7.12.10" + "@babel/preset-typescript" "^7.12.7" + "@babel/register" "^7.12.1" + "@storybook/node-logger" "6.2.9" + "@storybook/semver" "^7.3.2" + "@types/glob-base" "^0.3.0" + "@types/micromatch" "^4.0.1" + "@types/node" "^14.0.10" + "@types/pretty-hrtime" "^1.0.0" + babel-loader "^8.2.2" + babel-plugin-macros "^3.0.1" + babel-plugin-polyfill-corejs3 "^0.1.0" + chalk "^4.1.0" + core-js "^3.8.2" + express "^4.17.1" + file-system-cache "^1.0.5" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.0.4" + glob "^7.1.6" + glob-base "^0.3.0" + interpret "^2.2.0" + json5 "^2.1.3" + lazy-universal-dotenv "^3.0.1" + micromatch "^4.0.2" + pkg-dir "^5.0.0" + pretty-hrtime "^1.0.3" + resolve-from "^5.0.0" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + webpack "4" "@storybook/core-events@6.0.0-alpha.2": version "6.0.0-alpha.2" @@ -3954,91 +3988,71 @@ dependencies: core-js "^3.0.1" -"@storybook/core-events@6.1.18", "@storybook/core-events@^6.1.11": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.1.18.tgz#6417eb25d36d7e26b990552dc1d3c4db1679e0d4" - integrity sha512-FdhDTsL8u9759jJ4nDthen5x8+mpmdMXIXat1HYL1RNgjXZFRUiwcWha8ELQFVTgpjJ9U5ZTF8C5B0B1W47Etw== - dependencies: - core-js "^3.0.1" - -"@storybook/core@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.3.8.tgz#7748875afdddc9fb0ca24d0b712cc9c25fcaad9d" - integrity sha512-srMeSseUrSmh4pTe9DBD7IdFcLZoIm5r2cnH0nzPNpbrCknegW1LLLuVmSz8wLjobIrU/GYs6AO0VxKDnnbXuw== - dependencies: - "@babel/plugin-proposal-class-properties" "^7.7.0" - "@babel/plugin-proposal-object-rest-spread" "^7.6.2" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-transform-react-constant-elements" "^7.2.0" - "@babel/preset-env" "^7.4.5" - "@storybook/addons" "5.3.8" - "@storybook/channel-postmessage" "5.3.8" - "@storybook/client-api" "5.3.8" - "@storybook/client-logger" "5.3.8" - "@storybook/core-events" "5.3.8" - "@storybook/csf" "0.0.1" - "@storybook/node-logger" "5.3.8" - "@storybook/router" "5.3.8" - "@storybook/theming" "5.3.8" - "@storybook/ui" "5.3.8" +"@storybook/core-events@6.2.9", "@storybook/core-events@^6.1.11": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.2.9.tgz#4f12947cd15d1eb3c4109923657c012feef521cd" + integrity sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ== + dependencies: + core-js "^3.8.2" + +"@storybook/core-server@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.2.9.tgz#da8b7f043ff59ee6cd2e8631ba8d0f954fdc265a" + integrity sha512-DzihO73pj1Ro0Y4tq9hjw2mLMUYeSRPrx7CndCOBxcTHCKQ8Kd7Dee3wJ49t5/19V7TW1+4lYR59GAy73FeOAQ== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/preset-react" "^7.12.10" + "@storybook/addons" "6.2.9" + "@storybook/builder-webpack4" "6.2.9" + "@storybook/core-client" "6.2.9" + "@storybook/core-common" "6.2.9" + "@storybook/node-logger" "6.2.9" + "@storybook/semver" "^7.3.2" + "@storybook/theming" "6.2.9" + "@storybook/ui" "6.2.9" + "@types/node" "^14.0.10" + "@types/node-fetch" "^2.5.7" + "@types/pretty-hrtime" "^1.0.0" + "@types/webpack" "^4.41.26" airbnb-js-shims "^2.2.1" - ansi-to-html "^0.6.11" - autoprefixer "^9.7.2" - babel-plugin-add-react-displayname "^0.0.5" - babel-plugin-emotion "^10.0.20" - babel-plugin-macros "^2.7.0" - babel-preset-minify "^0.5.0 || 0.6.0-alpha.5" - boxen "^4.1.0" - case-sensitive-paths-webpack-plugin "^2.2.0" - chalk "^3.0.0" - cli-table3 "0.5.1" - commander "^4.0.1" - core-js "^3.0.1" - corejs-upgrade-webpack-plugin "^2.2.0" - css-loader "^3.0.0" + babel-loader "^8.2.2" + better-opn "^2.1.1" + boxen "^4.2.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + chalk "^4.1.0" + cli-table3 "0.6.0" + commander "^6.2.1" + core-js "^3.8.2" + cpy "^8.1.1" + css-loader "^3.6.0" detect-port "^1.3.0" - dotenv-webpack "^1.7.0" - ejs "^2.7.4" - express "^4.17.0" - file-loader "^4.2.0" + dotenv-webpack "^1.8.0" + express "^4.17.1" + file-loader "^6.2.0" file-system-cache "^1.0.5" - find-cache-dir "^3.0.0" - find-up "^4.1.0" - fs-extra "^8.0.1" - glob-base "^0.3.0" - global "^4.3.2" - html-webpack-plugin "^4.0.0-beta.2" - inquirer "^7.0.0" - interpret "^2.0.0" + find-up "^5.0.0" + fs-extra "^9.0.1" + global "^4.4.0" + html-webpack-plugin "^4.0.0" ip "^1.1.5" - json5 "^2.1.1" - lazy-universal-dotenv "^3.0.1" - micromatch "^4.0.2" - node-fetch "^2.6.0" - open "^7.0.0" - pnp-webpack-plugin "1.5.0" - postcss-flexbugs-fixes "^4.1.0" - postcss-loader "^3.0.0" + node-fetch "^2.6.1" + pnp-webpack-plugin "1.6.4" pretty-hrtime "^1.0.3" - qs "^6.6.0" - raw-loader "^3.1.0" - react-dev-utils "^9.0.0" - regenerator-runtime "^0.13.3" - resolve "^1.11.0" + prompts "^2.4.0" + read-pkg-up "^7.0.1" + regenerator-runtime "^0.13.7" resolve-from "^5.0.0" - semver "^6.0.0" serve-favicon "^2.5.0" - shelljs "^0.8.3" - style-loader "^1.0.0" - terser-webpack-plugin "^2.1.2" - ts-dedent "^1.1.0" - unfetch "^4.1.0" - url-loader "^2.0.1" + style-loader "^1.3.0" + telejson "^5.1.0" + terser-webpack-plugin "^3.1.0" + ts-dedent "^2.0.0" + url-loader "^4.1.1" util-deprecate "^1.0.2" - webpack "^4.33.0" - webpack-dev-middleware "^3.7.0" - webpack-hot-middleware "^2.25.0" - webpack-virtual-modules "^0.2.0" + webpack "4" + webpack-dev-middleware "^3.7.3" + webpack-virtual-modules "^0.2.2" "@storybook/core@6.0.28": version "6.0.28" @@ -4143,6 +4157,14 @@ webpack-hot-middleware "^2.25.0" webpack-virtual-modules "^0.2.2" +"@storybook/core@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.2.9.tgz#e32e72b3bdb44384f5f0ff93ad1a483acd033b4b" + integrity sha512-pzbyjWvj0t8m0kR2pC9GQne4sZn7Y/zfcbm6/31CL+yhzOQjfJEj3n4ZFUlxikXqQJPg1aWfypfyaeaLL0QyuA== + dependencies: + "@storybook/core-client" "6.2.9" + "@storybook/core-server" "6.2.9" + "@storybook/csf@0.0.1": version "0.0.1" resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6" @@ -4150,31 +4172,24 @@ dependencies: lodash "^4.17.15" -"@storybook/html@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/html/-/html-5.3.8.tgz#42e86c9c3468e70d365cee965773f8df8c2d039d" - integrity sha512-kTxHksT2mvk6UUF1hOTw/rL503yC4SbMnu87QGX3xUmhligtDGQron1Bu3Uav+FVDeoFPOmRC3iL3tNZw+StPg== - dependencies: - "@storybook/addons" "5.3.8" - "@storybook/core" "5.3.8" - "@types/webpack-env" "^1.15.0" - core-js "^3.0.1" - global "^4.3.2" - html-loader "^0.5.5" - regenerator-runtime "^0.13.3" - ts-dedent "^1.1.0" - -"@storybook/node-logger@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.3.8.tgz#dd6bfba5532adece7e387457ed8077edde008a20" - integrity sha512-/UL3fOWRRAR7zMP+66Bqn3wJPkzj5AtnBDHqqkhzFM/sqMn+fvJUXqxNm9C3+CVG1RtgFQ9qLPyb16LZ596a6A== - dependencies: - "@types/npmlog" "^4.1.2" - chalk "^3.0.0" - core-js "^3.0.1" - npmlog "^4.1.2" - pretty-hrtime "^1.0.3" - regenerator-runtime "^0.13.3" +"@storybook/html@^6.1.17": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/html/-/html-6.2.9.tgz#31b29cce9f9e093d76c07f286ad187b9acb2199a" + integrity sha512-JGi+qw4Vevy8V+dKVno2Xmdaav9p3pVtxcaO8DwwVVIt8gaqwSExmCMTaG+s5hjtW8o6Wy4wnvEPUKO+Gmolww== + dependencies: + "@storybook/addons" "6.2.9" + "@storybook/client-api" "6.2.9" + "@storybook/core" "6.2.9" + "@storybook/core-common" "6.2.9" + "@types/webpack-env" "^1.16.0" + core-js "^3.8.2" + global "^4.4.0" + html-loader "^1.3.2" + react "16.14.0" + react-dom "16.14.0" + read-pkg-up "^7.0.1" + regenerator-runtime "^0.13.7" + ts-dedent "^2.0.0" "@storybook/node-logger@6.0.28": version "6.0.28" @@ -4187,6 +4202,17 @@ npmlog "^4.1.2" pretty-hrtime "^1.0.3" +"@storybook/node-logger@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.2.9.tgz#c67d8d7684514b8d00207502e8a9adda0ee750e5" + integrity sha512-ryRBChWZf1A5hOVONErJZosS25IdMweoMVFAUAcj91iC0ynoSA6YL2jmoE71jQchxEXEgkDeRkX9lR/GlqFGZQ== + dependencies: + "@types/npmlog" "^4.1.2" + chalk "^4.1.0" + core-js "^3.8.2" + npmlog "^4.1.2" + pretty-hrtime "^1.0.3" + "@storybook/postinstall@6.0.28": version "6.0.28" resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.0.28.tgz#b793b25994147f4fc0271e264ccf358a47fb2caa" @@ -4220,21 +4246,6 @@ ts-dedent "^1.1.1" webpack "^4.43.0" -"@storybook/router@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.8.tgz#91eb8822e0aa6c5b59d2db1b52b88010d9800cc3" - integrity sha512-QYVYq1tbFwABEU3pxiEO4bSO+NJJX37LazN/j59QQkz8Tf9r5V9eMNxqVu5IeY3Gi0dQazLM1ghveNU4zb5MCg== - dependencies: - "@reach/router" "^1.2.1" - "@storybook/csf" "0.0.1" - "@types/reach__router" "^1.2.3" - core-js "^3.0.1" - global "^4.3.2" - lodash "^4.17.15" - memoizerific "^1.11.3" - qs "^6.6.0" - util-deprecate "^1.0.2" - "@storybook/router@6.0.0-alpha.2": version "6.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.0.0-alpha.2.tgz#662cfb463522d241deb30a33e453ca17db9b2b81" @@ -4262,17 +4273,21 @@ memoizerific "^1.11.3" qs "^6.6.0" -"@storybook/router@6.1.18": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.1.18.tgz#e9ed563bd06f4a2a746709415f0c20d116b4cac5" - integrity sha512-eY8snYjAESgDdC4sZFJIZ6FTJU4hY1oRqk24nTxhUiEV7U7JAqcXPpz+kaoiAoXnB+H9vXh5MADs9pXS654pBw== +"@storybook/router@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.2.9.tgz#547543031dd8330870bb6b473dcf7e51982e841c" + integrity sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg== dependencies: - "@reach/router" "^1.3.3" + "@reach/router" "^1.3.4" + "@storybook/client-logger" "6.2.9" "@types/reach__router" "^1.3.7" - core-js "^3.0.1" - global "^4.3.2" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.20" memoizerific "^1.11.3" - qs "^6.6.0" + qs "^6.10.0" + ts-dedent "^2.0.0" "@storybook/semver@^7.3.2": version "7.3.2" @@ -4298,24 +4313,6 @@ prettier "~2.0.5" regenerator-runtime "^0.13.3" -"@storybook/theming@5.3.8", "@storybook/theming@^5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.8.tgz#7c0cb31e65c9da690dab50a99996f3e7c106ce97" - integrity sha512-W3LDFoLg7wnBnqz1GB6EZpTOdFvNObwyKV2vDjY2YNFPc2TN/w4LAQA+4Lgh3Py0O1j1v3796QwOgui+i1W0pw== - dependencies: - "@emotion/core" "^10.0.20" - "@emotion/styled" "^10.0.17" - "@storybook/client-logger" "5.3.8" - core-js "^3.0.1" - deep-object-diff "^1.1.0" - emotion-theming "^10.0.19" - global "^4.3.2" - memoizerific "^1.11.3" - polished "^3.3.1" - prop-types "^15.7.2" - resolve-from "^5.0.0" - ts-dedent "^1.1.0" - "@storybook/theming@6.0.0-alpha.2": version "6.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.0.0-alpha.2.tgz#7fc3864e0e407e9bccad7c635906384c3d6fbf4b" @@ -4353,64 +4350,24 @@ resolve-from "^5.0.0" ts-dedent "^1.1.1" -"@storybook/theming@6.1.18", "@storybook/theming@^6.1.11": - version "6.1.18" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.1.18.tgz#a2aa08a52d589ce9662b9e789506ffa42d97da24" - integrity sha512-q97mKSLLnB2LmjzKiNpip7jvvrVPDi+bnYoUCWCt04zuXiaIVU8Bu4i0Y/w3Y3bHqfRbae3gZErFr89Z+f77vA== +"@storybook/theming@6.2.9", "@storybook/theming@^6.1.11", "@storybook/theming@^6.1.17": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.2.9.tgz#16bf40180861f222c7ed1d80abd5d1e3cb315660" + integrity sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA== dependencies: "@emotion/core" "^10.1.1" "@emotion/is-prop-valid" "^0.8.6" - "@emotion/styled" "^10.0.23" - "@storybook/client-logger" "6.1.18" - core-js "^3.0.1" + "@emotion/styled" "^10.0.27" + "@storybook/client-logger" "6.2.9" + core-js "^3.8.2" deep-object-diff "^1.1.0" - emotion-theming "^10.0.19" - global "^4.3.2" + emotion-theming "^10.0.27" + global "^4.4.0" memoizerific "^1.11.3" - polished "^3.4.4" + polished "^4.0.5" resolve-from "^5.0.0" ts-dedent "^2.0.0" -"@storybook/ui@5.3.8": - version "5.3.8" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.3.8.tgz#b2e314882b2fdda64425a24b12162f070320193e" - integrity sha512-S/Zf1BHuPGsh+RXV20IFS+FUNVQy/3x44Qr1sqwP1ehUUPXq2giosDXW6OV9gaKsUYEGhywRwDKTUlN8MkI4Jg== - dependencies: - "@emotion/core" "^10.0.20" - "@storybook/addons" "5.3.8" - "@storybook/api" "5.3.8" - "@storybook/channels" "5.3.8" - "@storybook/client-logger" "5.3.8" - "@storybook/components" "5.3.8" - "@storybook/core-events" "5.3.8" - "@storybook/router" "5.3.8" - "@storybook/theming" "5.3.8" - copy-to-clipboard "^3.0.8" - core-js "^3.0.1" - core-js-pure "^3.0.1" - emotion-theming "^10.0.19" - fast-deep-equal "^2.0.1" - fuse.js "^3.4.6" - global "^4.3.2" - lodash "^4.17.15" - markdown-to-jsx "^6.9.3" - memoizerific "^1.11.3" - polished "^3.3.1" - prop-types "^15.7.2" - qs "^6.6.0" - react "^16.8.3" - react-dom "^16.8.3" - react-draggable "^4.0.3" - react-helmet-async "^1.0.2" - react-hotkeys "2.0.0" - react-sizeme "^2.6.7" - regenerator-runtime "^0.13.2" - resolve-from "^5.0.0" - semver "^6.0.0" - store2 "^2.7.1" - telejson "^3.2.0" - util-deprecate "^1.0.2" - "@storybook/ui@6.0.28": version "6.0.28" resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.0.28.tgz#9b07d11c648b26d9fe20db0436bfbb65634a1930" @@ -4448,6 +4405,41 @@ resolve-from "^5.0.0" store2 "^2.7.1" +"@storybook/ui@6.2.9": + version "6.2.9" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.2.9.tgz#25cdf7ae2ef38ab337570c2377fda1da999792e7" + integrity sha512-jq2xmw3reIqik/6ibUSbNKGR+Xvr9wkAEwexiOl+5WQ5BeYJpw4dmDmsFQf+SQuWaSEUUPolbzkakRQM778Kdg== + dependencies: + "@emotion/core" "^10.1.1" + "@storybook/addons" "6.2.9" + "@storybook/api" "6.2.9" + "@storybook/channels" "6.2.9" + "@storybook/client-logger" "6.2.9" + "@storybook/components" "6.2.9" + "@storybook/core-events" "6.2.9" + "@storybook/router" "6.2.9" + "@storybook/semver" "^7.3.2" + "@storybook/theming" "6.2.9" + "@types/markdown-to-jsx" "^6.11.3" + copy-to-clipboard "^3.3.1" + core-js "^3.8.2" + core-js-pure "^3.8.2" + downshift "^6.0.15" + emotion-theming "^10.0.27" + fuse.js "^3.6.1" + global "^4.4.0" + lodash "^4.17.20" + markdown-to-jsx "^6.11.4" + memoizerific "^1.11.3" + polished "^4.0.5" + qs "^6.10.0" + react-draggable "^4.4.3" + react-helmet-async "^1.0.7" + react-sizeme "^3.0.1" + regenerator-runtime "^0.13.7" + resolve-from "^5.0.0" + store2 "^2.12.0" + "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" @@ -4551,13 +4543,6 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - "@szmarczak/http-timer@^4.0.5": version "4.0.5" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" @@ -4576,7 +4561,7 @@ dom-accessibility-api "^0.5.1" pretty-format "^25.5.0" -"@testing-library/jest-dom@5.11.9", "@testing-library/jest-dom@^5.11.2": +"@testing-library/jest-dom@5.11.9": version "5.11.9" resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz#e6b3cd687021f89f261bd53cbe367041fbd3e975" integrity sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ== @@ -4590,6 +4575,20 @@ lodash "^4.17.15" redent "^3.0.0" +"@testing-library/jest-dom@^5.11.2": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.13.0.tgz#0a365684e2c1159f857f5915be50089fc5657df0" + integrity sha512-+jXXTn8GjRnZkJfzG/tqK/2Q7dGlBInR412WE7Aml7CT3wdSpx5dMQC0HOwVQoZ3cNTmQUy8fCVGUV/Zhoyvcw== + dependencies: + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^4.2.2" + chalk "^3.0.0" + css "^3.0.0" + css.escape "^1.5.1" + lodash "^4.17.15" + redent "^3.0.0" + "@testing-library/react-hooks@5.0.3": version "5.0.3" resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-5.0.3.tgz#dd0d2048817b013b266d35ca45e3ea48a19fd87e" @@ -4633,21 +4632,15 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@ts-morph/common@~0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.8.1.tgz#7be0a0048eb906cb3ddf6506bef06c3cd1a1e3ba" - integrity sha512-3TC91LfCKCNCW7zYpegoMnMa9VigXtZHQererUM9pCvZKN3ust3ioLA0kfX+UHSzIGln+UYYiRzfOsv0QoiUng== +"@ts-morph/common@~0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.9.2.tgz#fc63ed4f8d3a45e4ed6849fe20a57f4f2baecc5d" + integrity sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g== dependencies: - "@dsherret/to-absolute-glob" "^2.0.2" fast-glob "^3.2.5" - is-negated-glob "^1.0.0" + minimatch "^3.0.4" mkdirp "^1.0.4" - multimatch "^5.0.0" - -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + path-browserify "^1.0.1" "@types/argparse@1.0.33": version "1.0.33" @@ -4684,31 +4677,31 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" - integrity sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw== + version "7.11.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== dependencies: "@babel/types" "^7.3.0" "@types/body-parser@*": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.1.tgz#18fcf61768fb5c30ccc508c21d6fd2e8b3bf7897" - integrity sha512-RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w== + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== dependencies: "@types/connect" "*" "@types/node" "*" @@ -4735,41 +4728,38 @@ dependencies: "@types/chai" "*" -"@types/chai@*": - version "4.2.14" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.14.tgz#44d2dd0b5de6185089375d976b4ec5caf6861193" - integrity sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ== - -"@types/chai@^4.2.11": - version "4.2.12" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.12.tgz#6160ae454cd89dae05adc3bb97997f488b608201" - integrity sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ== +"@types/chai@*", "@types/chai@^4.2.11": + version "4.2.18" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.18.tgz#0c8e298dbff8205e2266606c1ea5fbdba29b46e4" + integrity sha512-rS27+EkB/RE1Iz3u0XtVL5q36MGDWbgYe7zWiodyKNUnthxY0rukK5V36eiUCtCisB7NN8zKYH6DO2M37qxFEQ== "@types/cheerio@*": - version "0.22.11" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.11.tgz#61c0facf9636d14ba5f77fc65ed8913aa845d717" - integrity sha512-x0X3kPbholdJZng9wDMhb2swvUi3UYRNAuWAmIPIWlfgAJZp//cql/qblE7181Mg7SjWVwq6ldCPCLn5AY/e7w== + version "0.22.29" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.29.tgz#7115e9688bfc9e2f2730327c674b3d6a7e753e09" + integrity sha512-rNX1PsrDPxiNiyLnRKiW2NXHJFHqx0Fl3J2WsZq0MTBspa/FgwlqhXJE2crIcc+/2IglLHtSWw7g053oUR8fOg== dependencies: "@types/node" "*" "@types/classnames@^2.2.9": - version "2.2.9" - resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.9.tgz#d868b6febb02666330410fe7f58f3c4b8258be7b" - integrity sha512-MNl+rT5UmZeilaPxAVs6YaPC2m6aA8rofviZbhbxpPpl61uKodfdQVsBtgJGTqGizEf02oW3tsVe7FYB8kK14A== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== + dependencies: + classnames "*" "@types/color-check@0.0.0": version "0.0.0" resolved "https://registry.yarnpkg.com/@types/color-check/-/color-check-0.0.0.tgz#873335a4a588210f48e09fabc01335bcea7e6f82" integrity sha512-ZAm8KesT3hIm6I1vb5EbwD2C4f5XYawZjpE1UGlpfbMFOmLtBpYcZP0duGnsZY/6wzvw1y8MTofRqFzpzU2uOg== -"@types/color-convert@*": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d" - integrity sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg== +"@types/color-convert@*", "@types/color-convert@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-2.0.0.tgz#8f5ee6b9e863dcbee5703f5a517ffb13d3ea4e22" + integrity sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ== dependencies: "@types/color-name" "*" -"@types/color-name@*", "@types/color-name@^1.1.1": +"@types/color-name@*": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== @@ -4782,9 +4772,9 @@ "@types/color-convert" "*" "@types/connect@*": - version "3.4.33" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" - integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== dependencies: "@types/node" "*" @@ -4808,14 +4798,14 @@ "@types/d3-selection" "*" "@types/d3-format@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-1.3.1.tgz#35bf88264bd6bcda39251165bb827f67879c4384" - integrity sha512-KAWvReOKMDreaAwOjdfQMm0HjcUMlQG47GwqdVKgmm20vTd2pucj0a70c3gUSHrnsmo6H2AMrkBsZU2UhJLq8A== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-1.4.1.tgz#1e657a219e4b1e3931508a610d570bdec8ecdd9d" + integrity sha512-ss9G2snEKmp2In5Z3T0Jpqv8QaDBc2xHltBw83KjnV5B5w+Iwphbvq5ph/Xnu4d03fmmsdt+o1aWch379rxIbA== -"@types/d3-path@*": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.8.tgz#48e6945a8ff43ee0a1ce85c8cfa2337de85c7c79" - integrity sha512-AZGHWslq/oApTAHu9+yH/Bnk63y9oFOMROtqPAtxl5uB6qm1x2lueWdVEjsjjV3Qc2+QfuzKIwIR5MvVBakfzA== +"@types/d3-path@^1": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.9.tgz#73526b150d14cd96e701597cbf346cfd1fd4a58c" + integrity sha512-NaIeSIBiFgSC6IGUBjZWcscUJEq7vpVu7KthHN8eieTV9d9MqkSOZLH4chq1PmcKy06PNe3axLeKmRIyxJ+PZQ== "@types/d3-scale@2.0.0": version "2.0.0" @@ -4824,27 +4814,32 @@ dependencies: "@types/d3-time" "*" -"@types/d3-selection@*", "@types/d3-selection@1.4.1": +"@types/d3-selection@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-2.0.0.tgz#59df94a8e47ed1050a337d4ffb4d4d213aa590a8" + integrity sha512-EF0lWZ4tg7oDFg4YQFlbOU3936e3a9UmoQ2IXlBy1+cv2c2Pv7knhKUzGlH5Hq2sF/KeDTH1amiRPey2rrLMQA== + +"@types/d3-selection@1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-1.4.1.tgz#fa1f8710a6b5d7cfe5c6caa61d161be7cae4a022" integrity sha512-bv8IfFYo/xG6dxri9OwDnK3yCagYPeRIjTlrcdYJSx+FDWlCeBDepIHUpqROmhPtZ53jyna0aUajZRk0I3rXNA== "@types/d3-shape@^1.2.3": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-1.3.1.tgz#1b4f92b7efd7306fe2474dc6ee94c0f0ed2e6ab6" - integrity sha512-usqdvUvPJ7AJNwpd2drOzRKs1ELie53p2m2GnPKr076/ADM579jVTJ5dPsoZ5E/CMNWk8lvPWYQSvilpp6jjwg== + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-1.3.5.tgz#c0164c1be1429473016f855871d487f806c4e968" + integrity sha512-aPEax03owTAKynoK8ZkmkZEDZvvT4Y5pWgii4Jp4oQt0gH45j6siDl9gNDVC5kl64XHN2goN9jbYoHK88tFAcA== dependencies: - "@types/d3-path" "*" + "@types/d3-path" "^1" "@types/d3-time-format@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-2.1.1.tgz#dd2c79ec4575f1355484ab6b10407824668eba42" - integrity sha512-tJSyXta8ZyJ52wDDHA96JEsvkbL6jl7wowGmuf45+fAkj5Y+SQOnz0N7/H68OWmPshPsAaWMQh+GAws44IzH3g== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-2.3.1.tgz#87a30e4513b9d1d53b920327a361f87255bf3372" + integrity sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA== "@types/d3-time@*": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-1.0.10.tgz#d338c7feac93a98a32aac875d1100f92c7b61f4f" - integrity sha512-aKf62rRQafDQmSiv1NylKhIMmznsjRN+MnXRXTqHoqm0U/UZzVpdrtRnSIfdiLS616OuC1soYeX1dBg2n1u8Xw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-2.1.0.tgz#95708e5c92b199959806fd2116eeb3dfa0e9661c" + integrity sha512-qVCiT93utxN0cawScyQuNx8H82vBvZXSClZfgOu3l3dRRlRO6FjKEZlaPgXG9XUFjIAOsA4kAJY101vobHeJLQ== "@types/deep-assign@^0.1.1": version "0.1.1" @@ -4863,7 +4858,15 @@ dependencies: "@types/enzyme" "*" -"@types/enzyme@*", "@types/enzyme@3.10.3": +"@types/enzyme@*": + version "3.10.8" + resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.8.tgz#ad7ac9d3af3de6fd0673773123fafbc63db50d42" + integrity sha512-vlOuzqsTHxog6PV79+tvOHFb6hq4QZKMq1lLD9MaWD1oec2lHTKndn76XOpSwCA0oFTaIbKVPrgM3k78Jjd16g== + dependencies: + "@types/cheerio" "*" + "@types/react" "*" + +"@types/enzyme@3.10.3": version "3.10.3" resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.3.tgz#02b6c5ac7d0472005944a652e79045e2f6c66804" integrity sha512-f/Kcb84sZOSZiBPCkr4He9/cpuSLcKRyQaEE20Q30Prx0Dn6wcyMAWI0yofL6yvd9Ht9G7EVkQeRqK0n5w8ILw== @@ -4884,7 +4887,15 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*", "@types/eslint@7.2.10": +"@types/eslint@*": + version "7.2.13" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.13.tgz#e0ca7219ba5ded402062ad6f926d491ebb29dd53" + integrity sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/eslint@7.2.10": version "7.2.10" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.10.tgz#4b7a9368d46c0f8cd5408c23288a59aa2394d917" integrity sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ== @@ -4892,7 +4903,12 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@0.0.39": +"@types/estree@*": + version "0.0.48" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74" + integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew== + +"@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== @@ -4902,6 +4918,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== +"@types/estree@^0.0.47": + version "0.0.47" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" + integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -4912,32 +4933,39 @@ resolved "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5" integrity sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== -"@types/express-serve-static-core@*": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz#f6f41fa35d42e79dbf6610eccbb2637e6008a0cf" - integrity sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg== +"@types/express-serve-static-core@^4.17.18": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.21.tgz#a427278e106bca77b83ad85221eae709a3414d42" + integrity sha512-gwCiEZqW6f7EoR8TTEfalyEhb1zA5jQJnRngr97+3pzMaO1RKoI1w2bw07TK72renMUVWcWS5mLI6rk1NqN0nA== dependencies: "@types/node" "*" + "@types/qs" "*" "@types/range-parser" "*" "@types/express@^4.16.1": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c" - integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA== + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.12.tgz#4bc1bf3cd0cfe6d3f6f2853648b40db7d54de350" + integrity sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" "@types/serve-static" "*" "@types/faker@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/faker/-/faker-4.1.9.tgz#5539f331eb66fc40f06ad307e52ed83f2a3fe1bb" - integrity sha512-4ZFqA3CEXB6MgT8sDV8E5LhW+O9ndONsHeQXMbEwfOsjoQ4UXKqTJKru+BjDBUfobYEpQz1WYF9/uzQsvbY2wA== + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/faker/-/faker-4.1.12.tgz#065d37343677df1aa757c622650bd14666c42602" + integrity sha512-0MEyzJrLLs1WaOCx9ULK6FzdCSj2EuxdSP9kvuxxdBEGujZYUOZ4vkPXdgu3dhyg/pOdn7VCatelYX7k0YShlA== + +"@types/fined@*": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/fined/-/fined-1.1.2.tgz#05d2b9f93d144855c97c18c9675f424ed01400c4" + integrity sha512-hzzTS+X9EqDhx4vwdch/DOZci/bfh5J6Nyz8lqvyfBg2ROx2fPafX+LpDfpVgSvQKj0EYkwTYpBO3z2etwbkOw== "@types/fs-extra@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.0.1.tgz#a2378d6e7e8afea1564e44aafa2e207dadf77686" - integrity sha512-J00cVDALmi/hJOYsunyT52Hva5TnJeKP5yd1r+mH/ZU0mbYZflR0Z5kw5kITtKTRYMhm1JMClOFYdHnQszEvqw== + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.1.tgz#1e49f22d09aa46e19b51c0b013cb63d0d923a068" + integrity sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w== dependencies: "@types/node" "*" @@ -4954,7 +4982,15 @@ "@types/glob" "*" "@types/node" "*" -"@types/glob@*", "@types/glob@7.1.1", "@types/glob@^7.1.1": +"@types/glob@*", "@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/glob@7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== @@ -5001,9 +5037,9 @@ "@types/node" "*" "@types/gulp-util@*", "@types/gulp-util@^3.0.34": - version "3.0.34" - resolved "https://registry.yarnpkg.com/@types/gulp-util/-/gulp-util-3.0.34.tgz#d1291ebf706d93f46eb8df11344bbfd96247697e" - integrity sha512-E06WN1OfqL5UsMwJ1T7ClgnaXgaPipb7Ee8euMc3KRHLNqxdvWrDir9KA6uevgzBgT7XbjgmzZA2pkzDqBBX7A== + version "3.0.35" + resolved "https://registry.yarnpkg.com/@types/gulp-util/-/gulp-util-3.0.35.tgz#f6f202bad70142481cc474b065899cb3f24d58e8" + integrity sha512-ymTR/yxpDt7lpEyVC3jOm/RhbDJeZ85MPLdtmvrdGGz9eqwGbTxvsc1I1NdMiNASKdteuIDN0vqEyuWRx8t2aw== dependencies: "@types/node" "*" "@types/through2" "*" @@ -5011,13 +5047,13 @@ chalk "^2.2.0" "@types/gulp@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.6.tgz#68fe0e1f0ff3657cfca46fb564806b744a1bf899" - integrity sha512-0E8/iV/7FKWyQWSmi7jnUvgXXgaw+pfAzEB06Xu+l0iXVJppLbpOye5z7E2klw5akXd+8kPtYuk65YBcZPM4ow== + version "4.0.8" + resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.8.tgz#a5e43764d400b9818dc79b5ffa86e22a94521037" + integrity sha512-RIhiptRwikdFMICikX+Kn8duKR4R7yO2CKMhkcIfvUwZ3UJSjHlvhHDJ2DsurJWETePqdjteO9MLRtObuCt7Sw== dependencies: "@types/undertaker" "*" "@types/vinyl-fs" "*" - chokidar "^2.1.2" + chokidar "^3.3.1" "@types/handlebars@^4.1.0": version "4.1.0" @@ -5034,24 +5070,24 @@ "@types/unist" "*" "@types/history@*": - version "4.7.4" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.4.tgz#06cbceb0ace6a342a9aafcb655a688cf38f6150d" - integrity sha512-+o2igcuZA3xtOoFH56s+MCZVidwlJNcJID57DSCyawS2i910yG9vkwehCjJNZ6ImhCR5S9DbvIJKyYHcMyOfMw== + version "4.7.8" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934" + integrity sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA== "@types/html-minifier-terser@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" - integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" + integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== "@types/http-cache-semantics@*": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== -"@types/http-proxy@^1.17.4": - version "1.17.5" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.5.tgz#c203c5e6e9dc6820d27a40eb1e511c70a220423d" - integrity sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q== +"@types/http-proxy@^1.17.5": + version "1.17.6" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.6.tgz#62dc3fade227d6ac2862c8f19ee0da9da9fd8616" + integrity sha512-+qsjqR75S/ib0ig0R9WN+CDoZeOBU6F2XLewgC4KVgdXiNHiKKHFEMRHOrs5PbYE97D5vataw5wPj4KLYfUkuQ== dependencies: "@types/node" "*" @@ -5071,35 +5107,42 @@ "@types/through" "*" rxjs "^6.4.0" +"@types/interpret@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/interpret/-/interpret-1.1.1.tgz#b1bf85b0420e2414b989ce237658ad20dc03719b" + integrity sha512-HZ4d0m2Ebl8DmrOdYZHgYyipj/8Ftq1/ssB/oQR7fqfUrwtTP7IW3BDi2V445nhPBLzZjEkApaPVp83moSCXlA== + dependencies: + "@types/node" "*" + "@types/is-function@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/is-function/-/is-function-1.0.0.tgz#1b0b819b1636c7baf0d6785d030d12edf70c3e83" integrity sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w== -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" @@ -5111,7 +5154,15 @@ "@types/jest" "*" axe-core "^3.0.3" -"@types/jest@*", "@types/jest@24.9.1": +"@types/jest@*": + version "26.0.23" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7" + integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/jest@24.9.1": version "24.9.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== @@ -5123,15 +5174,10 @@ resolved "https://registry.yarnpkg.com/@types/jju/-/jju-1.4.1.tgz#0a39f5f8e84fec46150a7b9ca985c3f89ad98e9f" integrity sha512-LFt+YA7Lv2IZROMwokZKiPNORAV5N3huMs3IKnzlE430HWhWYZ8b+78HiwJXJJP1V2IEjinyJURuRJfGoaFSIA== -"@types/json-schema@*", "@types/json-schema@^7.0.3": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== - -"@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== "@types/json5@^0.0.29": version "0.0.29" @@ -5139,9 +5185,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/karma@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/karma/-/karma-5.0.0.tgz#6750ffc633c0fbc63dfb725146f198e8c3afcd08" - integrity sha512-5quuLnxdJWkzJCEwFatOClM6O7EkeDWfXltGySb01LQnBVjtbLzIky9JLW0IKt+JfzurUjwj7b7Sb/Omsx4QYA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/karma/-/karma-5.0.1.tgz#daed1314723c4fa5eeef5275568d78f161733d0a" + integrity sha512-zSaPZ+ABVx/DQ5imAQZUITgLy19H0aAogknHU67JuDi2PvaXGjYBevFakkDtooBvr7dMsq/YD9vtOxMcSHWnxw== dependencies: "@types/node" "*" log4js "^4.0.0" @@ -5158,6 +5204,15 @@ resolved "https://registry.yarnpkg.com/@types/lerna-alias/-/lerna-alias-3.0.0.tgz#e4d70f75bad9f5a7b697f76b7d7b3fa97aa57844" integrity sha512-EfwEzSWxAxrZgUJT5sECi4RPFCIgOm/K9e5EWXp2hR9H6wzV1QIBgjGtGEl/OpOCcglNWzmqrVRX/qjvNwli9Q== +"@types/liftoff@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@types/liftoff/-/liftoff-2.5.0.tgz#aa5f030ae0952d1b86225f3e9f27f6d5b69714aa" + integrity sha512-1jsThE//wKDK+hYM+NJqswI+K9lfR0YNMctteOxAzk/aemI0rQsVDk6Dia0zkPfBWFTh+hiDmrGQXqP1tyM+eg== + dependencies: + "@types/fined" "*" + "@types/interpret" "*" + "@types/node" "*" + "@types/loader-utils@1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@types/loader-utils/-/loader-utils-1.1.3.tgz#82b9163f2ead596c68a8c03e450fbd6e089df401" @@ -5167,9 +5222,9 @@ "@types/webpack" "*" "@types/lodash@^4.14.149": - version "4.14.149" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" - integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== + version "4.14.170" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6" + integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== "@types/markdown-to-jsx@6.11.0": version "6.11.0" @@ -5178,13 +5233,20 @@ dependencies: "@types/react" "*" -"@types/markdown-to-jsx@^6.11.0": +"@types/markdown-to-jsx@^6.11.0", "@types/markdown-to-jsx@^6.11.3": version "6.11.3" resolved "https://registry.yarnpkg.com/@types/markdown-to-jsx/-/markdown-to-jsx-6.11.3.tgz#cdd1619308fecbc8be7e6a26f3751260249b020e" integrity sha512-30nFYpceM/ZEvhGiqWjm5quLUxNeld0HCzJEXMZZDpq53FPkS85mTwkWtCXzCqq8s5JYLgM5W392a02xn8Bdaw== dependencies: "@types/react" "*" +"@types/mdast@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" + integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== + dependencies: + "@types/unist" "*" + "@types/micromatch@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7" @@ -5192,15 +5254,15 @@ dependencies: "@types/braces" "*" -"@types/mime@*": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" - integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*", "@types/minimatch@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== "@types/minimist@^1.2.0": version "1.2.1" @@ -5212,42 +5274,54 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce" integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w== -"@types/node-fetch@^2.5.0", "@types/node-fetch@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== +"@types/node-fetch@^2.5.0", "@types/node-fetch@^2.5.4", "@types/node-fetch@^2.5.7": + version "2.5.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== dependencies: "@types/node" "*" form-data "^3.0.0" -"@types/node-fetch@^2.5.4": - version "2.5.8" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.8.tgz#e199c835d234c7eb0846f6618012e558544ee2fb" - integrity sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@10.17.55", "@types/node@>= 8", "@types/node@^10.12.18": - version "10.17.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.55.tgz#a147f282edec679b894d4694edb5abeb595fecbd" - integrity sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg== +"@types/node@*", "@types/node@>= 8": + version "15.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d" + integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== "@types/node@10.17.13": version "10.17.13" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== +"@types/node@10.17.55": + version "10.17.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.55.tgz#a147f282edec679b894d4694edb5abeb595fecbd" + integrity sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg== + "@types/node@12.12.50": version "12.12.50" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.50.tgz#e9b2e85fafc15f2a8aa8fdd41091b983da5fd6ee" integrity sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w== -"@types/node@8.10.54", "@types/node@^8.0.19": +"@types/node@8.10.54": version "8.10.54" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.54.tgz#1c88eb253ac1210f1a5876953fb70f7cc4928402" integrity sha512-kaYyLYf6ICn6/isAyD4K1MyWWd5Q3JgH6bnMN089LUx88+s4W8GvK9Q6JMBVu5vsFFp7pMdSxdKmlBXwH/VFRg== +"@types/node@^10.12.18": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^14.0.10": + version "14.17.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz#6d327abaa4be34a74e421ed6409a0ae2f47f4c3d" + integrity sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw== + +"@types/node@^8.0.19": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -5263,7 +5337,7 @@ resolved "https://registry.yarnpkg.com/@types/object-fit-images/-/object-fit-images-3.2.0.tgz#ffa0b3243ade3b89a2b12a08e92dbbea75b825f4" integrity sha512-ordonpqL1HiYEHDIGxDo/MvyDvGZiNmPpw9bYxys7TXPcCN5WBejOR1Mj/KPCPyjMeaXyLQu7JP5tVi4GBRoWA== -"@types/overlayscrollbars@^1.9.0": +"@types/overlayscrollbars@^1.12.0", "@types/overlayscrollbars@^1.9.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@types/overlayscrollbars/-/overlayscrollbars-1.12.0.tgz#98456caceca8ad73bd5bb572632a585074e70764" integrity sha512-h/pScHNKi4mb+TrJGDon8Yb06ujFG0mSg12wIO0sWMUF3dQIe2ExRRdNRviaNt9IjxIiOfnRr7FsQAdHwK4sMg== @@ -5273,12 +5347,27 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/parse5@^5.0.0": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + "@types/prettier@*", "@types/prettier@2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== -"@types/prop-types@*", "@types/prop-types@15.7.1": +"@types/pretty-hrtime@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz#c5a2d644a135e988b2932f99737e67b3c62528d0" + integrity sha512-xl+5r2rcrxdLViAYkkiLMYsoUs3qEyrAnHFyEzYysgRxdVp3WbhysxIvJIxZp9FvZ2CYezh0TaHZorivH+voOQ== + +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + +"@types/prop-types@15.7.1": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== @@ -5291,32 +5380,24 @@ "@types/node" "*" "@types/q@^1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== -"@types/qs@^6.9.0": - version "6.9.5" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" - integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== +"@types/qs@*", "@types/qs@^6.9.0", "@types/qs@^6.9.5": + version "6.9.6" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" + integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== "@types/range-parser@*": version "1.2.3" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/reach__router@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.6.tgz#b14cf1adbd1a365d204bbf6605cd9dd7b8816c87" - integrity sha512-Oh5DAVr/L2svBvubw6QEFpXGu295Y406BPs4i9t1n2pp7M+q3pmCmhzb9oZV5wncR41KCD3NHl1Yhi7uKnTPsA== - dependencies: - "@types/history" "*" - "@types/react" "*" - -"@types/reach__router@^1.3.5", "@types/reach__router@^1.3.7": - version "1.3.7" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.7.tgz#de8ab374259ae7f7499fc1373b9697a5f3cd6428" - integrity sha512-cyBEb8Ef3SJNH5NYEIDGPoMMmYUxROatuxbICusVRQIqZUB85UCt6R2Ok60tKS/TABJsJYaHyNTW3kqbpxlMjg== +"@types/reach__router@^1.2.3", "@types/reach__router@^1.3.5", "@types/reach__router@^1.3.7": + version "1.3.8" + resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.8.tgz#7b8607abf13704f918a9543257bcb7ec63028bfa" + integrity sha512-cjjT0FPdwuvhLWpCDt2WCh4sdBqNzJe3XhxXmRQGsY3IvT58M8sE4E7A0QaFYuJs3ar+McSJTiJxdYKWAXbBhw== dependencies: "@types/react" "*" @@ -5328,16 +5409,17 @@ "@types/react" "*" "@types/react-color@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.1.tgz#5433e2f503ea0e0831cbc6fd0c20f8157d93add0" - integrity sha512-J6mYm43Sid9y+OjZ7NDfJ2VVkeeuTPNVImNFITgQNXodHteKfl/t/5pAR5Z9buodZ2tCctsZjgiMlQOpfntakw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.4.tgz#c63daf012ad067ac0127bdd86725f079d02082bd" + integrity sha512-EswbYJDF1kkrx93/YU+BbBtb46CCtDMvTiGmcOa/c5PETnwTiSWoseJ1oSWeRl/4rUXkhME9bVURvvPg0W5YQw== dependencies: "@types/react" "*" + "@types/reactcss" "*" "@types/react-custom-scrollbars@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/react-custom-scrollbars/-/react-custom-scrollbars-4.0.5.tgz#8629b4b3164914d27df7cb0ca0a086c0ad406389" - integrity sha512-Qdotjy9wbf9nrNRzGj0bFDlhYIvjMxwrxHR0V1zUSc2cqb74a8ujLWTfIQ6JBSUx+3hY74+tHgEOthRJLEMyKw== + version "4.0.7" + resolved "https://registry.yarnpkg.com/@types/react-custom-scrollbars/-/react-custom-scrollbars-4.0.7.tgz#b1312ec749fcf4a01fee7466508501e072ede7ea" + integrity sha512-4QPZdwd+wmzWq9TyNSA/4MZFYvlQn1GlEFFkpFx8VSs13gR/L+hQne0vFnbzwlQmGG7OksthkoVpYxWJjzz95w== dependencies: "@types/react" "*" @@ -5356,36 +5438,29 @@ "@types/react" "*" "@types/react-is@^16.7.1": - version "16.7.1" - resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-16.7.1.tgz#d3f1c68c358c00ce116b55ef5410cf486dd08539" - integrity sha512-dMLFD2cCsxtDgMkTydQCM0PxDq8vwc6uN5M/jRktDfYvH3nQj6pjC9OrCXS2lKlYoYTNJorI/dI8x9dpLshexQ== + version "16.7.2" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-16.7.2.tgz#8c2862013d00d741be189ceb71da8e8d21e8fa7d" + integrity sha512-rdQUu9J+RUz4Vcr768UyTzv+fZGzKBy1/PPhaxTfzAfaHSW4+b0olA6czXLZv7PO7/ktbHu41kcpAG7Z46kvDQ== dependencies: - "@types/react" "*" + "@types/react" "^16" "@types/react-router-dom@^5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.5.tgz#7c334a2ea785dbad2b2dcdd83d2cf3d9973da090" - integrity sha512-ArBM4B1g3BWLGbaGvwBGO75GNFbLDUthrDojV2vHLih/Tq8M+tgvY1DSwkuNrPSwdp/GUL93WSEpTZs8nVyJLw== + version "5.1.7" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" + integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== dependencies: "@types/history" "*" "@types/react" "*" "@types/react-router" "*" "@types/react-router@*": - version "5.1.4" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.4.tgz#7d70bd905543cb6bcbdcc6bd98902332054f31a6" - integrity sha512-PZtnBuyfL07sqCJvGg3z+0+kt6fobc/xmle08jBiezLS8FrmGeiGkJnuxL/8Zgy9L83ypUhniV5atZn/L8n9MQ== + version "5.1.15" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.15.tgz#c1069e0da4617fd315e381b56b18b89490e14e2a" + integrity sha512-z3UlMG/x91SFEVmmvykk9FLTliDvfdIUky4k2rCfXWQ0NKbrP8o9BTCaCTPuYsB8gDkUnUmkcA2vYlm2DR+HAA== dependencies: "@types/history" "*" "@types/react" "*" -"@types/react-syntax-highlighter@11.0.2": - version "11.0.2" - resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz#a2e3ff657d7c47813f80ca930f3d959c31ec51e3" - integrity sha512-iMNcixH8330f2dq0RY+VOXCP8JFehgmOhLOtnO85Ty+qu0fHXJNEqWx5VuFv8v0aEq0U/N9d/k1yvA+c6PEmPw== - dependencies: - "@types/react" "*" - "@types/react-syntax-highlighter@11.0.4": version "11.0.4" resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz#d86d17697db62f98046874f62fdb3e53a0bbc4cd" @@ -5393,6 +5468,13 @@ dependencies: "@types/react" "*" +"@types/react-syntax-highlighter@11.0.5": + version "11.0.5" + resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz#0d546261b4021e1f9d85b50401c0a42acb106087" + integrity sha512-VIOi9i2Oj5XsmWWoB72p3KlZoEbdRAcechJa8Ztebw7bDl2YmR+odxIqhtJGp1q2EozHs02US+gzxJ9nuf56qg== + dependencies: + "@types/react" "*" + "@types/react-syntax-highlighter@^10.2.1": version "10.2.1" resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-10.2.1.tgz#b0f75c22cbe7d12104581648348d91d3cd7f13fa" @@ -5401,25 +5483,25 @@ "@types/react" "*" "@types/react-table@^7.0.19": - version "7.0.19" - resolved "https://registry.yarnpkg.com/@types/react-table/-/react-table-7.0.19.tgz#a70603ac0ffdeaf399fc6919aacb32fc42e9dd40" - integrity sha512-RYyEY7Yry6F2JsKhHeFsGdzuFF1hMqBStQrrazDzpBl4m/ECGHJxFVQjLBRzRwK+47ZKNPm79f7qEpHirbiCLA== + version "7.7.1" + resolved "https://registry.yarnpkg.com/@types/react-table/-/react-table-7.7.1.tgz#cac73133fc185e152e31435f8e6fce89ab868661" + integrity sha512-oed13swLIS4Ffyo4jAjl9lGbYMaY0uavKoI9GNMvf2R6vh8JfpRUpizQ90X1VI4WrhfaMb/HMsN7TTBvkGOQXQ== dependencies: "@types/react" "*" "@types/react-test-renderer@>=16.9.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-17.0.0.tgz#9be47b375eeb906fced37049e67284a438d56620" - integrity sha512-nvw+F81OmyzpyIE1S0xWpLonLUZCMewslPuA8BtjSKc5XEbn8zEQBXS7KuOLHTNnSOEM2Pum50gHOoZ62tqTRg== + version "17.0.1" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz#3120f7d1c157fba9df0118dae20cb0297ee0e06b" + integrity sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw== dependencies: "@types/react" "*" "@types/react-test-renderer@^16.0.0": - version "16.8.2" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.8.2.tgz#ad544b5571ebfc5f182c320376f1431a2b725c5e" - integrity sha512-cm42QR9S9V3aOxLh7Fh7PUqQ8oSfSdnSni30T7TiTmlKvE6aUlo+LhQAzjnZBPriD9vYmgG8MXI8UDK4Nfb7gg== + version "16.9.5" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.9.5.tgz#edab67da470f7c3e997f58d55dcfe2643cc30a68" + integrity sha512-C4cN7C2uSSGOYelp2XfdtJb5TsCP+QiZ+0Bm4U3ZfUswN8oN9O/l86XO/OvBSFCmWY7w75fzsQvZ50eGkFN34A== dependencies: - "@types/react" "*" + "@types/react" "^16" "@types/react-textarea-autosize@^4.3.3": version "4.3.5" @@ -5429,17 +5511,17 @@ "@types/react" "*" "@types/react-virtualized@^9.21.8": - version "9.21.8" - resolved "https://registry.yarnpkg.com/@types/react-virtualized/-/react-virtualized-9.21.8.tgz#dc0150a75fd6e42f33729886463ece04d03367ea" - integrity sha512-7fZoA0Azd2jLIE9XC37fMZgMqaJe3o3pfzGjvrzphoKjBCdT4oNl6wikvo4dDMESDnpkZ8DvVTc7aSe4DW86Ew== + version "9.21.11" + resolved "https://registry.yarnpkg.com/@types/react-virtualized/-/react-virtualized-9.21.11.tgz#8eb60ed12ef0b2625769819f9fd10ad4bb1bdce0" + integrity sha512-ngNe2AY/2CHuZQstOS0Jo5jnSjeyKTdSgqrXCQEltRMXLp9rwPUpJdgkoWzES6wn427Z8zo8dkBN8Sx7hlRmig== dependencies: "@types/prop-types" "*" "@types/react" "*" "@types/react-window@^1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.2.tgz#a5a6b2762ce73ffaab7911ee1397cf645f2459fe" - integrity sha512-gP1xam68Wc4ZTAee++zx6pTdDAH08rAkQrWm4B4F/y6hhmlT9Mgx2q8lTCXnrPHXsr15XjRN9+K2DLKcz44qEQ== + version "1.8.3" + resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.3.tgz#14f74b144b4e3df9421eb31182dc580b7ccc7617" + integrity sha512-Xf+IR2Zyiyh/6z1CM8kv1aQba3S3X/hBXt4tH+T9bDSIGwFhle0GZFZGTSU8nw2cUT3UNbCHDjhxVQVZPtE8cA== dependencies: "@types/react" "*" @@ -5451,6 +5533,13 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/reactcss@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.3.tgz#af28ae11bbb277978b99d04d1eedfd068ca71834" + integrity sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA== + dependencies: + "@types/react" "*" + "@types/read-pkg-up@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@types/read-pkg-up/-/read-pkg-up-6.0.0.tgz#7926c93cf14d906e9829a859e790323d0f338684" @@ -5477,10 +5566,10 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== -"@types/sarif@2.1.1", "@types/sarif@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/sarif/-/sarif-2.1.1.tgz#d398d201eade0a88958dffdd13ca88f7a37546df" - integrity sha512-OI9w+yqOhvT3Z9tF/4d+YVFbdYojotHMRfuKrVtAzeKu3L0kBiK6CnHADkNrfSeVOgkIMeg8OqIQFfcsm7HgCg== +"@types/sarif@>=2.1.1 <=2.1.4", "@types/sarif@^2.1.1": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@types/sarif/-/sarif-2.1.3.tgz#1f9c16033f1461536ac014284920350109614c02" + integrity sha512-zf+EoIplTkQW2TV2mwtJtlI0g540Z3Rs9tX9JqRAtyjnDCqkP+eMTgWCj3PGNbQpi+WXAjvC3Ou/dvvX2sLK4w== "@types/scheduler@^0.16.1": version "0.16.1" @@ -5493,12 +5582,12 @@ integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== "@types/serve-static@*": - version "1.13.3" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1" - integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g== + version "1.13.9" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" + integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" + "@types/mime" "^1" + "@types/node" "*" "@types/simulant@^0.2.0": version "0.2.0" @@ -5511,9 +5600,9 @@ integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== "@types/sizzle@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + version "2.3.3" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" + integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== "@types/source-list-map@*": version "0.1.2" @@ -5530,27 +5619,22 @@ resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.0.0.tgz#ad0f07d60dd7291676d968498fa21d6b9bb1afe8" integrity sha512-DB1wPXVDfTTyLO9tr4wTeAptinTGd+EemFDDJTdCfsLedYXuF1mRWpJtU74Rucqx7N7HecBmMwEERbPpLt1tGA== -"@types/tapable@*": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" - integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ== - -"@types/tapable@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" + integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== "@types/testing-library__jest-dom@^5.9.1": - version "5.9.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0" - integrity sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ== + version "5.13.0" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.13.0.tgz#b6bd9b57f88c87766eed43a4f0ec91c2b621576e" + integrity sha512-tfjY4Fzzwg1wSU31MWaIH8rzJ2WPtQtUNnZ0wcZwzzhWWRa63Jb1fB7tl79fGX7PUL/4ZHjKs+tcY5BZ8nfNyg== dependencies: "@types/jest" "*" "@types/through2@*": - version "2.0.34" - resolved "https://registry.yarnpkg.com/@types/through2/-/through2-2.0.34.tgz#9c2a259a238dace2a05a2f8e94b786961bc27ac4" - integrity sha512-nhRG8+RuG/L+0fAZBQYaRflXKjTrHOKH8MFTChnf+dNVMxA3wHYYrfj0tztK0W51ABXjGfRCDc0vRkecCOrsow== + version "2.0.36" + resolved "https://registry.yarnpkg.com/@types/through2/-/through2-2.0.36.tgz#35fda0db635827d44c0e08e2c94653e647574a00" + integrity sha512-vuifQksQHJXhV9McpVsXKuhnf3lsoX70PnhcqIAbs9dqLH2NgrGz0DzZPDY3+Yh6eaRqcE1gnCQ6QhBn1/PT5A== dependencies: "@types/node" "*" @@ -5574,9 +5658,9 @@ "@types/node" "*" "@types/uglify-js@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082" - integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ== + version "3.13.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124" + integrity sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q== dependencies: source-map "^0.6.1" @@ -5586,13 +5670,15 @@ integrity sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ== "@types/undertaker@*": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/undertaker/-/undertaker-1.2.2.tgz#927da24d0d3279830af96386862b035e040ead74" - integrity sha512-j4iepCSuY2JGW/hShVtUBagic0klYNFIXP7VweavnYnNC2EjiKxJFeaS9uaJmAT0ty9sQSqTS1aagWMZMV0HyA== + version "1.2.6" + resolved "https://registry.yarnpkg.com/@types/undertaker/-/undertaker-1.2.6.tgz#b7d38c7b19c55a2bdfa6bc8ce36f6349faca410a" + integrity sha512-sG5MRcsWRokQXtj94uCqPxReXldm4ZvXif34YthgHEpzipcBAFTg+4IoWFcvdA0hGM1KdpPj2efdzcD2pETqQA== dependencies: + "@types/node" "*" "@types/undertaker-registry" "*" + async-done "~1.3.2" -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== @@ -5622,88 +5708,62 @@ "@types/connect" "*" "@types/webpack" "*" -"@types/webpack-env@1.16.0", "@types/webpack-env@^1.15.2": +"@types/webpack-env@1.16.0", "@types/webpack-env@^1.15.2", "@types/webpack-env@^1.16.0": version "1.16.0" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.0.tgz#8c0a9435dfa7b3b1be76562f3070efb3f92637b4" integrity sha512-Fx+NpfOO0CpeYX2g9bkvX8O5qh9wrU1sOF4g8sft4Mu7z+qfe387YlyY8w8daDyDsKY5vUxM0yxkAYnbkRbZEw== -"@types/webpack-env@^1.15.0": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.1.tgz#c8e84705e08eed430b5e15b39c65b0944e4d1422" - integrity sha512-eWN5ElDTeBc5lRDh95SqA8x18D0ll2pWudU3uWiyfsRmIZcmUXpEsxPU+7+BsdCrO2vfLRC629u/MmjbmF+2tA== - "@types/webpack-sources@*": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-1.4.0.tgz#e58f1f05f87d39a5c64cf85705bdbdbb94d4d57e" - integrity sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" + integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack-sources@^0.1.5": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.6.tgz#3d21dfc2ec0ad0c77758e79362426a9ba7d7cbcb" - integrity sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ== + version "0.1.8" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.8.tgz#078d75410435993ec8a0a2855e88706f3f751f81" + integrity sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.6.1" "@types/webpack@*": - version "4.4.34" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.34.tgz#e5f88b9a795da11683b4ec4a07d1c2b023b19810" - integrity sha512-GnEBgjHsfO1M7DIQ0dAupSofcmDItE3Zsu3reK8SQpl/6N0rtUQxUmQzVFAS5ou/FGjsYKjXAWfItLZ0kNFTfQ== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - source-map "^0.6.0" - -"@types/webpack@^4.4.31": - version "4.41.25" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" - integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== + version "5.28.0" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" + integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== dependencies: - "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" + tapable "^2.2.0" + webpack "^5" -"@types/webpack@^4.41.8": - version "4.41.17" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.17.tgz#0a69005e644d657c85b7d6ec1c826a71bebd1c93" - integrity sha512-6FfeCidTSHozwKI67gIVQQ5Mp0g4X96c2IXxX75hYEQJwST/i6NyZexP//zzMOBb+wG9jJ7oO8fk9yObP2HWAw== +"@types/webpack@^4.4.31", "@types/webpack@^4.41.26", "@types/webpack@^4.41.8": + version "4.41.29" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.29.tgz#2e66c1de8223c440366469415c50a47d97625773" + integrity sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q== dependencies: - "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" + "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" + anymatch "^3.0.0" source-map "^0.6.0" "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@13.0.11": +"@types/yargs@13.0.11", "@types/yargs@^13.0.0": version "13.0.11" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" integrity sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ== dependencies: "@types/yargs-parser" "*" -"@types/yargs@^13.0.0": - version "13.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" - integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== - dependencies: - "@types/yargs-parser" "*" - "@types/yargs@^15.0.0": version "15.0.13" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" @@ -5781,29 +5841,29 @@ "@typescript-eslint/types" "4.22.0" eslint-visitor-keys "^2.0.0" -"@uifabric/merge-styles@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz#446b3da48ce9925d1649edd0fc232221974b00c9" - integrity sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A== +"@uifabric/merge-styles@^7.19.2": + version "7.19.2" + resolved "https://registry.yarnpkg.com/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz#e020adc2f9b238f0feb855274dfeedaf6d5822a7" + integrity sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g== dependencies: - "@uifabric/set-version" "^7.0.23" + "@uifabric/set-version" "^7.0.24" tslib "^1.10.0" -"@uifabric/set-version@^7.0.23": - version "7.0.23" - resolved "https://registry.yarnpkg.com/@uifabric/set-version/-/set-version-7.0.23.tgz#bfe10b6ba17a2518704cca856bdba8adbc11ffb0" - integrity sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA== +"@uifabric/set-version@^7.0.24": + version "7.0.24" + resolved "https://registry.yarnpkg.com/@uifabric/set-version/-/set-version-7.0.24.tgz#8c67d8f1d67c1636a170efa8b622132da2d294a9" + integrity sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg== dependencies: tslib "^1.10.0" "@uifabric/utilities@^7.32.3": - version "7.32.4" - resolved "https://registry.yarnpkg.com/@uifabric/utilities/-/utilities-7.32.4.tgz#6e784c29101742196da69d0b60e63cf193c10c71" - integrity sha512-IKZc03uyfTrgcCGSPAUWfFl9CyxzpSrxrYwAuO4NgDEySdOlkYBRwsRUh6UwWfM+sJdhg7Y3nupzNU3VSC/arg== + version "7.33.5" + resolved "https://registry.yarnpkg.com/@uifabric/utilities/-/utilities-7.33.5.tgz#4e7ed4bab725c054005e9ac37b0f01d743089be4" + integrity sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ== dependencies: - "@fluentui/dom-utilities" "^1.1.1" - "@uifabric/merge-styles" "^7.19.1" - "@uifabric/set-version" "^7.0.23" + "@fluentui/dom-utilities" "^1.1.2" + "@uifabric/merge-styles" "^7.19.2" + "@uifabric/set-version" "^7.0.24" prop-types "^15.7.2" tslib "^1.10.0" @@ -6220,16 +6280,16 @@ "@xtuc/long" "4.2.2" "@webpack-cli/info@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.1.tgz#af98311f983d0b9fce7284cfcf1acaf1e9f4879c" - integrity sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" + integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== dependencies: envinfo "^7.7.3" "@webpack-cli/serve@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.1.tgz#7513d7a769e3f97958de799b5b49874425ae3396" - integrity sha512-Zj1z6AyS+vqV6Hfi7ngCjFGdHV5EwZNIHo6QfFTNe9PyW+zBU1zJ9BiOW1pmUEq950RC4+Dym6flyA/61/vhyw== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.1.tgz#b5fde2f0f79c1e120307c415a4c1d5eb15a6f278" + integrity sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw== "@webpack-contrib/schema-utils@^1.0.0-beta.0": version "1.0.0-beta.0" @@ -6275,13 +6335,11 @@ mz "^2.5.0" "@zkochan/rimraf@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@zkochan/rimraf/-/rimraf-1.0.0.tgz#e633952d921665cbdf991b567e703d61e5c37c45" - integrity sha512-uWMEF7fdc6C3VGTaW6Z9G9rYS41ulS0Lz+a3lGlDGji42kI6FSVVLI9s8bZ4ZR4l4Hs28MJHHVN8cOqvNlN86w== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@zkochan/rimraf/-/rimraf-1.0.1.tgz#60bf82d813dc4e1953c04c740a4f3c308bd5704a" + integrity sha512-GIbPASozv6Pcn68adkbBCSjzut/JkCVzF7rSnWP7VSzD9Yi896Dl09OhGaXPiGWH3CxJrfSEcgutYieFIrrbrg== dependencies: - "@types/glob" "*" - "@types/node" "*" - rimraf "^3.0.0" + rimraf "^3.0.2" JSONStream@^1.0.4, JSONStream@^1.3.4: version "1.3.5" @@ -6291,17 +6349,17 @@ JSONStream@^1.0.4, JSONStream@^1.3.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.0, abab@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== - -abab@^2.0.5: +abab@^2.0.0, abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== -abbrev@1, abbrev@1.0.x: +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= @@ -6343,9 +6401,9 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: negotiator "0.6.2" acorn-globals@^4.1.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" - integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ== + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" @@ -6364,9 +6422,9 @@ acorn-jsx@^5.1.0, acorn-jsx@^5.3.1: integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== acorn-walk@^7.0.0, acorn-walk@^7.1.1: version "7.2.0" @@ -6374,9 +6432,9 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.1.tgz#d265d35db6940a656c715806a448456ee4fa3b7f" - integrity sha512-zn/7dYtoTVkG4EoMU55QlQU4F+m+T7Kren6Vj3C2DapWPnakG/DL9Ns5aPAPW5Ixd3uxXrV/BoMKKVFIazPcdg== + version "8.1.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.0.tgz#d3c6a9faf00987a5e2b9bdb506c2aa76cd707f83" + integrity sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg== acorn@5.X, acorn@^5.0.3, acorn@^5.5.3: version "5.7.4" @@ -6384,19 +6442,19 @@ acorn@5.X, acorn@^5.0.3, acorn@^5.5.3: integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== acorn@^6.0.1, acorn@^6.2.1, acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354" - integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ== +acorn@^8.0.4, acorn@^8.2.1, acorn@^8.2.4: + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88" + integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw== add-px-to-style@1.0.0: version "1.0.0" @@ -6421,9 +6479,9 @@ agent-base@4, agent-base@^4.3.0: es6-promisify "^5.0.0" agent-base@6: - version "6.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -6441,19 +6499,19 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" -agentkeepalive@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.3.tgz#360a09d743a1f4fde749f9ba07caa6575d08259a" - integrity sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg== +agentkeepalive@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== dependencies: debug "^4.1.0" depd "^1.1.2" humanize-ms "^1.2.1" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" @@ -6481,21 +6539,20 @@ airbnb-js-shims@^2.2.1: string.prototype.padstart "^3.0.0" symbol.prototype.description "^1.0.0" -airbnb-prop-types@^2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz#5287820043af1eb469f5b0af0d6f70da6c52aaef" - integrity sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA== +airbnb-prop-types@^2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz#b96274cefa1abb14f623f804173ee97c13971dc2" + integrity sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg== dependencies: - array.prototype.find "^2.1.0" - function.prototype.name "^1.1.1" - has "^1.0.3" - is-regex "^1.0.4" - object-is "^1.0.1" + array.prototype.find "^2.1.1" + function.prototype.name "^1.1.2" + is-regex "^1.1.0" + object-is "^1.1.2" object.assign "^4.1.0" - object.entries "^1.1.0" + object.entries "^1.1.2" prop-types "^15.7.2" prop-types-exact "^1.2.0" - react-is "^16.9.0" + react-is "^16.13.1" ajv-errors@^1.0.0: version "1.0.1" @@ -6509,22 +6566,12 @@ ajv-formats@2.0.2: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== - -ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv-keywords@^3.5.2: +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@8.2.0, ajv@^8.0.1: +ajv@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602" integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA== @@ -6562,7 +6609,7 @@ ajv@^5.0.0, ajv@^5.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5, ajv@~6.12.3: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -6572,10 +6619,10 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b" - integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ== +ajv@^8.0.0, ajv@^8.0.1: + version "8.6.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720" + integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -6620,7 +6667,7 @@ ansi-colors@^1.0.1: dependencies: ansi-wrap "^0.1.0" -ansi-colors@^3.0.0, ansi-colors@^3.2.1: +ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== @@ -6643,11 +6690,11 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - type-fest "^0.11.0" + type-fest "^0.21.3" ansi-gray@^0.1.1: version "0.1.1" @@ -6701,19 +6748,18 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" ansi-to-html@^0.6.11: - version "0.6.13" - resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.13.tgz#c72eae8b63e5ca0643aab11bfc6e6f2217425833" - integrity sha512-Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw== + version "0.6.15" + resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" + integrity sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ== dependencies: - entities "^1.1.2" + entities "^2.0.0" ansi-wrap@0.1.0, ansi-wrap@^0.1.0: version "0.1.0" @@ -6743,10 +6789,10 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -6763,12 +6809,12 @@ append-buffer@^1.0.2: dependencies: buffer-equal "^1.0.0" -aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -"aproba@^1.1.2 || 2", aproba@^2.0.0: +aproba@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== @@ -6810,13 +6856,10 @@ argparse@^1.0.7, argparse@~1.0.9: dependencies: sprintf-js "~1.0.2" -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== aria-query@^4.2.2: version "4.2.2" @@ -6893,11 +6936,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" - integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= - array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -6918,21 +6956,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== +array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" is-string "^1.0.5" array-initial@^1.0.0: @@ -6991,31 +7023,55 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.find@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" - integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg== +array.prototype.filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz#24d63e38983cdc6bf023a3c574b2f2a3f384c301" + integrity sha512-TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.13.0" + es-abstract "^1.18.0" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.5" -array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== +array.prototype.find@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c" + integrity sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.17.4" -array.prototype.flatmap@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== +array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" +array.prototype.map@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.3.tgz#1609623618d3d84134a37d4a220030c2bd18420b" + integrity sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.5" + arraybuffer.slice@~0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" @@ -7036,14 +7092,15 @@ asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -7085,31 +7142,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: +ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= -ast-types@0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" - integrity sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw== - -ast-types@0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== - -ast-types@0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" - integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= - -ast-types@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" - integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== - ast-types@^0.14.2: version "0.14.2" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" @@ -7127,7 +7164,7 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-done@^1.2.0, async-done@^1.2.2: +async-done@^1.2.0, async-done@^1.2.2, async-done@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== @@ -7148,9 +7185,9 @@ async-foreach@^0.1.3: integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-settle@^1.0.0: version "1.0.0" @@ -7164,19 +7201,12 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@1.x, async@^1.5.2: +async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.1.4, async@^2.3.0, async@^2.6.1, async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== - dependencies: - lodash "^4.17.11" - -async@^2.5.0: +async@^2.3.0, async@^2.5.0, async@^2.6.1, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -7203,42 +7233,40 @@ atob-lite@^2.0.0: resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= -atob@^2.1.1, atob@^2.1.2: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.1.tgz#ce96870df6ddd9ba4c9bbba56c54b9ef4b00a962" - integrity sha512-dwP0UjyYvROUvtU+boBx8ff5pPWami1NGTrJs9YUsS/oZVbRAcdNHOOuXSA1fc46tgKqe072cVaKD69rvCc3QQ== + version "10.2.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.6.tgz#aadd9ec34e1c98d403e01950038049f0eb252949" + integrity sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg== dependencies: - browserslist "^4.16.1" - caniuse-lite "^1.0.30001173" - colorette "^1.2.1" - fraction.js "^4.0.13" + browserslist "^4.16.6" + caniuse-lite "^1.0.30001230" + colorette "^1.2.2" + fraction.js "^4.1.1" normalize-range "^0.1.2" postcss-value-parser "^4.1.0" -autoprefixer@^9.7.2: - version "9.7.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4" - integrity sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ== +autoprefixer@^9.7.2, autoprefixer@^9.8.6: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^4.11.1" - caniuse-lite "^1.0.30001039" - chalk "^2.4.2" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.27" - postcss-value-parser "^4.0.3" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" available-typed-arrays@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" - integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== - dependencies: - array-filter "^1.0.0" + version "1.0.4" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" + integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== aws-sign2@~0.7.0: version "0.7.0" @@ -7246,11 +7274,11 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.6.0, aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@3.4.1, axe-core@^3.1.2, axe-core@^3.2.2: +axe-core@3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.4.1.tgz#e42623918bb85b5ef674633852cb9029db0309c5" integrity sha512-+EhIdwR0hF6aeMx46gFDUy6qyCfsL0DmBrV3Z+LxYbsOd8e1zBaPHa3f9Rbjsz2dEwSBkLw6TwML/CAIIAqRpw== @@ -7260,25 +7288,31 @@ axe-core@3.5.0: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.0.tgz#161b17fc6ce07a5470ff179e0703957c422b2220" integrity sha512-wJqOIreoFiGjvZ1UZvGLAUs8H3QQ3cS833+6ctFcCdr/xFd5oB66mmwGWnwQlBXFFaefRt+KR+m2dY9em2RxVg== -axe-core@^3.0.3, axe-core@^3.5.2: +axe-core@^3.0.3, axe-core@^3.5.2, axe-core@^3.5.3: version "3.5.5" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227" integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q== +"axe-core@^3.2.2 || ^4.0.0", axe-core@^4.0.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.2.tgz#0c987d82c8b82b4b9b7a945f1b5ef0d8fed586ed" + integrity sha512-OKRkKM4ojMEZRJ5UNJHmq9tht7cEnRnqKG6KyB/trYws00Xtkv12mHtlJ0SK7cmuNbrU8dPUova3ELTuilfBbw== + axe-puppeteer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/axe-puppeteer/-/axe-puppeteer-1.0.0.tgz#cebbeec2c65a2e0cb7d5fd1e7aef26c5f71895a4" - integrity sha512-hTF3u4mtatgTN7fsLVyVgbRdNc15ngjDcTEuqhn9A7ugqLhLCryJWp9fzqZkNlrW8awPcxugyTwLPR7mRdPZmA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/axe-puppeteer/-/axe-puppeteer-1.1.1.tgz#e95f46e069d84d388cdc9fc0630cf2b2e78b1100" + integrity sha512-bU7dt3zlXrlTmaBsudeACEkQ0O4a5LNxRCdA1Qfph4mqx/DewybPCrlyDqJlHXb/W7ZSodE1fMmC+MgRLizxuQ== dependencies: - axe-core "^3.1.2" + axe-core "^3.5.3" axe-sarif-converter@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/axe-sarif-converter/-/axe-sarif-converter-2.0.1.tgz#747c7ebdc8fcb2a7b66545bbc6db1b4fa7467856" - integrity sha512-Fd0wNxEc68K28B40KaCqSJiCnHfYRx0gmPn5aNgGaInRJQQWY9G0IRZcCF7cweHqc+1zDC1ZrkFWAQcOecVBaQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/axe-sarif-converter/-/axe-sarif-converter-2.7.0.tgz#7fc7f19aaee3d524e960371eab00a968ca5b0e71" + integrity sha512-QM7wUasHk8+5/oVm3nt7l7w4Usr/od2JbdYdcZCf0porlfqlIId+MeJXT1nLfFjrJ08Jr15xmfW5LfpasMIOUw== dependencies: - "@types/sarif" "2.1.1" - axe-core "^3.2.2" + "@types/sarif" ">=2.1.1 <=2.1.4" + axe-core "^3.2.2 || ^4.0.0" + yargs "^16.0.3" axios@0.21.1: version "0.21.1" @@ -7287,13 +7321,10 @@ axios@0.21.1: dependencies: follow-redirects "^1.10.0" -axobject-query@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.1.tgz#2a3b1271ec722d48a4cd4b3fcc20c853326a49a7" - integrity sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw== - dependencies: - "@babel/runtime" "^7.7.4" - "@babel/runtime-corejs3" "^7.7.4" +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" @@ -7304,11 +7335,6 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - babel-generator@^6.18.0: version "6.26.1" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" @@ -7371,7 +7397,7 @@ babel-jest@^24.5.0, babel-jest@^24.9.0: chalk "^2.4.2" slash "^2.0.0" -babel-loader@8.2.2, babel-loader@^8.0.6: +babel-loader@8.2.2, babel-loader@^8.0.6, babel-loader@^8.2.2: version "8.2.2" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== @@ -7407,13 +7433,13 @@ babel-plugin-annotate-pure-imports@^1.0.0-1: "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/types" "^7.10.4" -babel-plugin-apply-mdx-type-prop@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.5.5.tgz#b5f6333b445f1ec189949225f9309d67c24cf167" - integrity sha512-yaklz3xE5vFtZpPpYC9lDbTqlC6hq0CjgheiLw3i40lY8vG0DINh+HJ7rq1Gi1g0q/iihwetJ+YFGpUM4YXAGA== +babel-plugin-apply-mdx-type-prop@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" + integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== dependencies: - "@babel/helper-plugin-utils" "7.8.0" - "@mdx-js/util" "^1.5.5" + "@babel/helper-plugin-utils" "7.10.4" + "@mdx-js/util" "1.6.22" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" @@ -7423,14 +7449,14 @@ babel-plugin-dynamic-import-node@^2.3.3: object.assign "^4.1.0" babel-plugin-emotion@^10.0.20, babel-plugin-emotion@^10.0.27: - version "10.0.27" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.27.tgz#59001cf5de847c1d61f2079cd906a90a00d3184f" - integrity sha512-SUNYcT4FqhOqvwv0z1oeYhqgheU8qrceLojuHyX17ngo7WtWqN5I9l3IGHzf21Xraj465CVzF4IvOlAF+3ed0A== + version "10.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" + integrity sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA== dependencies: "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.7.4" + "@emotion/hash" "0.8.0" "@emotion/memoize" "0.7.4" - "@emotion/serialize" "^0.11.15" + "@emotion/serialize" "^0.11.16" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -7438,12 +7464,12 @@ babel-plugin-emotion@^10.0.20, babel-plugin-emotion@^10.0.27: find-root "^1.1.0" source-map "^0.5.7" -babel-plugin-extract-import-names@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.5.5.tgz#34ce3332d2802442286c9cfde6ba8198d5f5e7de" - integrity sha512-F9paxnUtO3vddyOX+vbRa8KrkuovJIFB8KmB/dEICqTUm2331LcGbjCKzZApOri4Igbk9MnYybm2fDsuPJC3vA== +babel-plugin-extract-import-names@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" + integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== dependencies: - "@babel/helper-plugin-utils" "7.8.0" + "@babel/helper-plugin-utils" "7.10.4" babel-plugin-iife-wrap-react-components@^1.0.0-5: version "1.0.0-5" @@ -7455,10 +7481,11 @@ babel-plugin-iife-wrap-react-components@^1.0.0-5: "@babel/types" "^7.10.4" babel-plugin-istanbul@^5.1.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" - integrity sha512-dySz4VJMH+dpndj0wjJ8JPs/7i1TdSPb1nRrn56/92pKOF9VKC1FMFJmMXjzlGGusnCAqujP6PBCiKq0sVA+YQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== dependencies: + "@babel/helper-plugin-utils" "^7.0.0" find-up "^3.0.0" istanbul-lib-instrument "^3.3.0" test-exclude "^5.2.3" @@ -7492,7 +7519,7 @@ babel-plugin-lodash@^3.3.4: lodash "^4.17.10" require-package-name "^2.0.1" -babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.7.0, babel-plugin-macros@^2.8.0: +babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -7501,6 +7528,15 @@ babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.7.0, babel-plugin-macros@^2.8 cosmiconfig "^6.0.0" resolve "^1.12.0" +babel-plugin-macros@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-plugin-minify-builtins@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b" @@ -7578,9 +7614,41 @@ babel-plugin-minify-type-constructors@^0.4.3: babel-helper-is-void-0 "^0.4.3" babel-plugin-named-asset-import@^0.3.1: - version "0.3.5" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.5.tgz#d3fa1a7f1f4babd4ed0785b75e2f926df0d70d0d" - integrity sha512-sGhfINU+AuMw9oFAdIn/nD5sem3pn/WgxAfDZ//Q3CnF+5uaho7C7shh2rKLk6sKE/XkfmyibghocwKdVjLIKg== + version "0.3.7" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== + +babel-plugin-polyfill-corejs2@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0" + integrity sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.5" + core-js-compat "^3.8.1" + +babel-plugin-polyfill-corejs3@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz#7424a1682ee44baec817327710b1b094e5f8f7f5" + integrity sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.9.1" + +babel-plugin-polyfill-regenerator@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" babel-plugin-polyfill-corejs2@^0.2.2: version "0.2.2" @@ -7615,10 +7683,10 @@ babel-plugin-react-docgen@^4.2.1: lodash "^4.17.15" react-docgen "^5.0.0" -"babel-plugin-styled-components@>= 1": - version "1.10.7" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz#3494e77914e9989b33cc2d7b3b29527a949d635c" - integrity sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg== +"babel-plugin-styled-components@>= 1.12.0": + version "1.12.0" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9" + integrity sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-module-imports" "^7.0.0" @@ -7631,9 +7699,9 @@ babel-plugin-syntax-jsx@^6.18.0: integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= babel-plugin-tester@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-tester/-/babel-plugin-tester-10.0.0.tgz#7ece63c50ee76cc4b486f99d6a2a4cf78c836fe5" - integrity sha512-RHlDIUtfdlFvUXHTWroyL3iz9OZnPYgcaDIUrp4ejXrzSClRx3ldJlhaOauvblJqZEPb/7HR32gLZT45lgOXFg== + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-tester/-/babel-plugin-tester-10.1.0.tgz#e099ee1d8dec538439c427a7d12aad132885757b" + integrity sha512-4P2tNaM/Mtg6ytA9YAqmgONnMYqWvdbGDuwRTpIIC9yFZGQrEHoyvDPCx+X1QALAufVb5DKieOPGj5dffiEiNg== dependencies: "@types/babel-plugin-tester" "^9.0.0" lodash.mergewith "^4.6.2" @@ -7805,74 +7873,76 @@ bach@^1.0.0, bach@^1.2.0: async-settle "^1.0.0" now-and-later "^2.0.0" -backfill-cache@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/backfill-cache/-/backfill-cache-5.1.3.tgz#4030e80c7ce14d7242ebdafee0c9bae50928f3ba" - integrity sha512-HAQTDmOQfpNKSgRCq9/DN8ok+L0aq6Q/L4blAmcAlnxJA/dGP/Oc3GBL52VOmSwCBlYn+H1g9UO8YPqKR9HIfA== +backfill-cache@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/backfill-cache/-/backfill-cache-5.2.4.tgz#4354933df98fc878aa38e137dcdcdbe78b5bdf38" + integrity sha512-5Kbm8lU1BbImlgVV53fgaxEhHnaKRjWe9KCy47e2VLP7Fy2ZYCiRLD9H7YBYTws1AfDn5QRA/y/3924j6/Cnzg== dependencies: "@azure/storage-blob" "12.1.2" - backfill-config "^6.0.0" - backfill-logger "^5.0.0" + "@rushstack/package-deps-hash" "^2.4.48" + backfill-config "^6.1.3" + backfill-logger "^5.1.3" execa "^4.0.0" + find-up "^5.0.0" fs-extra "^8.1.0" globby "^11.0.0" tar-fs "^2.1.0" -backfill-config@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/backfill-config/-/backfill-config-6.0.0.tgz#cb8e2f06f78acac9dfed661197b30b90c973f0a1" - integrity sha512-qXbR8uJSwmJMR2EqdrQxYtQOYp0+UZafEoFLI7gj2Jk725V0ijSn27TYRAGjF2r2N8Fg/yq4bEFVEKgcVEi3RQ== +backfill-config@^6.0.0, backfill-config@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/backfill-config/-/backfill-config-6.1.3.tgz#456b5f0ca0186f580c8e8902f78f9f6f5360d487" + integrity sha512-UeaufTs3hzwsaKSz0TU0rOsMUCEYghtKpSC9cPmLM303Hu+XiYhOn2FRr327OLONrLzynjSWaDf06czyPB9bOQ== dependencies: - backfill-logger "^5.0.0" - find-up "^4.0.0" + backfill-logger "^5.1.3" + find-up "^5.0.0" fs-extra "^8.1.0" pkg-dir "^4.2.0" -backfill-hasher@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/backfill-hasher/-/backfill-hasher-6.0.1.tgz#c7896e44bc08293957e9a7613277e9365d03f224" - integrity sha512-ylJE1x72/1ZE4zyVsP6DLeXjv0DHBdDGT2HBwC5gwkcZIM2EIXsKAmsYiXIu5HQKZEoaUT/kg220PKp/3/3g8w== +backfill-hasher@^6.2.4: + version "6.2.4" + resolved "https://registry.yarnpkg.com/backfill-hasher/-/backfill-hasher-6.2.4.tgz#768b07fe70af27c16844cc384325e66220a20e22" + integrity sha512-qhAJ5HR1tEVFOWBFrnsDmHmKBxjguuoCJA7O+ONOF7Iub1kqNF1AvpCL0lrSttsVUSD0945zmFziaYdmqqL2HA== dependencies: - "@rushstack/package-deps-hash" "^2.4.22" - backfill-config "^6.0.0" - backfill-logger "^5.0.0" - find-up "^4.1.0" + "@rushstack/package-deps-hash" "^2.4.48" + backfill-config "^6.1.3" + backfill-logger "^5.1.3" + find-up "^5.0.0" fs-extra "^8.1.0" - workspace-tools "^0.9.0" + workspace-tools "^0.15.0" -backfill-logger@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/backfill-logger/-/backfill-logger-5.0.0.tgz#2cb4453974c1e9a533dc36a2d4106816efe6a18c" - integrity sha512-xqvLdwOLoX376hCGBkDoksq/PMi5oKVX/+2YUlJREzmHyiLJQxZiymRWT1rqf0YQbuT/GNtVZ8/3gL9kfeZEiA== +backfill-logger@^5.0.0, backfill-logger@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/backfill-logger/-/backfill-logger-5.1.3.tgz#29d4e9d205e2f44a95336db95652d6d2973e1fb8" + integrity sha512-S1QUP+q3WWqcXWfwVt/jpi3r61CGWWJBfxGpzLPbRE8vMUw71P8sA+zYSx7M8ZI1PNZrxSA/TKq/NhoiMYXnpA== dependencies: - chalk "^3.0.0" + chalk "^4.1.1" filenamify "^4.1.0" fs-extra "^8.1.0" -backfill-utils-dotenv@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/backfill-utils-dotenv/-/backfill-utils-dotenv-5.0.0.tgz#702b4ca10ea8c60c82a1e1643f34279f5e2a6855" - integrity sha512-bxtXqKANtU/ETAgCFLt7w0nGLXPIJBFeGi8ZXfOGElM8w+Jr9muq8PsSLeK6lST10dU5i0A7L6srxNcM1sYanA== +backfill-utils-dotenv@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/backfill-utils-dotenv/-/backfill-utils-dotenv-5.1.1.tgz#eedf05badad4bd34fbac5d020f37f3ca634c9669" + integrity sha512-hSdY1pflGFf4xXXpI51bnNPr8arS3ga5tSeyeTjIdohC5IwUf+Eldz2yeSMrbqtP3PKIuxHc2RcwTJfL5jSBfg== dependencies: dotenv "^8.1.0" - find-up "^4.0.0" + find-up "^5.0.0" backfill@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/backfill/-/backfill-6.0.1.tgz#316ee8f13796683c9d3d05491fd0ddfdc1ee59c7" - integrity sha512-K49DGPZF7tI1vI/L8V2atH1gMFW5RuqSlNmipz+fW4zPK7ZMJifyaOMqVfOCvsH7pj0E9nEipCH/XSJOtD+0gA== + version "6.1.6" + resolved "https://registry.yarnpkg.com/backfill/-/backfill-6.1.6.tgz#52e2f8f80b1cd33b5bdb0f18202c11dcb54011e3" + integrity sha512-JbYlY6OkWpLFDUdGuiR4vqab/3MCzy9Pi0olN6h2wZFOn87ZG3LjN2ot26CMEezIYTbC+UonjQm/wrU163CyVg== dependencies: anymatch "^3.0.3" - backfill-cache "^5.1.3" - backfill-config "^6.0.0" - backfill-hasher "^6.0.1" - backfill-logger "^5.0.0" - backfill-utils-dotenv "^5.0.0" + backfill-cache "^5.2.4" + backfill-config "^6.1.3" + backfill-hasher "^6.2.4" + backfill-logger "^5.1.3" + backfill-utils-dotenv "^5.1.1" chokidar "^3.2.1" execa "^4.0.0" fs-extra "^8.1.0" globby "^11.0.0" - yargs "^15.0.2" + yargs "^16.1.1" backo2@1.0.2: version "1.0.2" @@ -7885,21 +7955,16 @@ bail@^1.0.0: integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-arraybuffer@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -7970,11 +8035,11 @@ before-after-hook@^1.1.0: integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== before-after-hook@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== -better-opn@^2.0.0: +better-opn@^2.0.0, better-opn@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA== @@ -7999,18 +8064,6 @@ bin-check@^4.1.0: execa "^0.7.0" executable "^4.1.0" -bin-links@^1.1.2: - version "1.1.8" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz#bd39aadab5dc4bdac222a07df5baf1af745b2228" - integrity sha512-KgmVfx+QqggqP9dA3iIc5pA4T1qEEEL+hOhOhNPaUm77OTrJoOXE/C05SJLNJe6m/2wUK7F1tDSou7n5TfCDzQ== - dependencies: - bluebird "^3.5.3" - cmd-shim "^3.0.0" - gentle-fs "^2.3.0" - graceful-fs "^4.1.15" - npm-normalize-package-bin "^1.0.0" - write-file-atomic "^2.3.0" - bin-version-check@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-4.0.0.tgz#7d819c62496991f80d893e6e02a3032361608f71" @@ -8046,9 +8099,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== binary@^0.3.0: version "0.3.0" @@ -8058,6 +8111,13 @@ binary@^0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + bl@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" @@ -8066,16 +8126,7 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" -bl@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bl@^4.1.0: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -8104,10 +8155,15 @@ bluebird@~3.4.6: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== body-parser@1.19.0, body-parser@^1.19.0: version "1.19.0" @@ -8130,10 +8186,10 @@ body-scroll-lock@^3.1.5: resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz#c1392d9217ed2c3e237fee1e910f6cdd80b7aaec" integrity sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg== -bole@3: - version "3.0.2" - resolved "https://registry.yarnpkg.com/bole/-/bole-3.0.2.tgz#bc8a483ca94049da9b837c1ad11cdfebee6e0514" - integrity sha1-vIpIPKlASdqbg3wa0Rzf6+5uBRQ= +"bole@npm:@zkochan/bole@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@zkochan/bole/-/bole-3.0.4.tgz#9df7911130328c9a46f031e271c1c278eac04a7a" + integrity sha512-3iPQz6Z7A2aiKc9cxB+I4X0nKxOagBxWAl91+ukUyJ9El+DgejYgbfd4PtzUyam+JRXXydUCkKGKiWYj8EzrGw== dependencies: fast-safe-stringify "~1.1.0" individual "~3.0.0" @@ -8173,20 +8229,6 @@ boxen@^1.2.1: term-size "^1.2.0" widest-line "^2.0.0" -boxen@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" - integrity sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^2.4.2" - cli-boxes "^2.2.0" - string-width "^3.0.0" - term-size "^1.2.0" - type-fest "^0.3.0" - widest-line "^2.0.0" - boxen@^4.1.0, boxen@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" @@ -8302,26 +8344,28 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" @@ -8340,35 +8384,26 @@ browserslist@4.10.0: node-releases "^1.1.52" pkg-up "^3.1.0" -browserslist@4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" - integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== - dependencies: - caniuse-lite "^1.0.30000989" - electron-to-chromium "^1.3.247" - node-releases "^1.1.29" - -browserslist@^4.11.1: - version "4.13.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" - integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== +browserslist@4.14.2: + version "4.14.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" + integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== dependencies: - caniuse-lite "^1.0.30001093" - electron-to-chromium "^1.3.488" - escalade "^3.0.1" - node-releases "^1.1.58" + caniuse-lite "^1.0.30001125" + electron-to-chromium "^1.3.564" + escalade "^3.0.2" + node-releases "^1.1.61" -browserslist@^4.14.5, browserslist@^4.16.1: - version "4.16.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" - integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== dependencies: - caniuse-lite "^1.0.30001173" - colorette "^1.2.1" - electron-to-chromium "^1.3.634" + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" escalade "^3.1.1" - node-releases "^1.1.69" + node-releases "^1.1.71" browserslist@^4.16.6: version "4.16.6" @@ -8388,10 +8423,10 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" @@ -8449,9 +8484,9 @@ buffer-xor@^1.0.3: integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -8479,9 +8514,9 @@ buffers@~0.1.1: integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= builtin-modules@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" - integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== builtin-status-codes@^3.0.0: version "3.0.0" @@ -8513,27 +8548,25 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.3.3: - version "11.3.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" - integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== +c8@^7.6.0: + version "7.7.2" + resolved "https://registry.yarnpkg.com/c8/-/c8-7.7.2.tgz#30ff37b8125d96cab3eb065895a0b68dbc495a0f" + integrity sha512-8AqNnUMxB3hsgYCYso2GJjlwnaNPlrEEbYbCQb7N76V1nrOgCKXiTcE3gXU18rIj0FeduPywROrIBMC7XAKApg== dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" + "@bcoe/v8-coverage" "^0.2.3" + "@istanbuljs/schema" "^0.1.2" + find-up "^5.0.0" + foreground-child "^2.0.0" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-report "^3.0.0" + istanbul-reports "^3.0.2" + rimraf "^3.0.0" + test-exclude "^6.0.0" + v8-to-istanbul "^7.1.0" + yargs "^16.2.0" + yargs-parser "^20.2.7" -cacache@^12.0.0, cacache@^12.0.3: +cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== @@ -8554,78 +8587,10 @@ cacache@^12.0.0, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - -cacache@^15.0.0, cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.0" - tar "^6.0.2" - unique-filename "^1.1.1" - -cacache@^15.0.4: - version "15.0.6" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz#65a8c580fda15b59150fb76bf3f3a8e45d583099" - integrity sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w== +cacache@^15.0.4, cacache@^15.0.5, cacache@^15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" + integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== dependencies: "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" @@ -8688,19 +8653,6 @@ cacheable-request@^2.1.1: normalize-url "2.0.1" responselike "1.0.2" -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - cacheable-request@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" @@ -8719,7 +8671,7 @@ cachedir@^2.3.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== -call-bind@^1.0.0: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -8756,7 +8708,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@3.0.x, camel-case@^3.0.0: +camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= @@ -8764,7 +8716,7 @@ camel-case@3.0.x, camel-case@^3.0.0: no-case "^2.2.0" upper-case "^1.1.1" -camel-case@^4.1.2: +camel-case@^4.1.1, camel-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== @@ -8877,10 +8829,10 @@ cardinal@^2.1.1: ansicolors "~0.3.2" redeyed "~2.1.0" -case-sensitive-paths-webpack-plugin@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== +case-sensitive-paths-webpack-plugin@^2.2.0, case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== caseless@~0.12.0: version "0.12.0" @@ -8897,10 +8849,10 @@ caw@^2.0.1: tunnel-agent "^0.6.0" url-to-options "^1.0.1" -ccount@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" - integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== chai-spies@1.0.0: version "1.0.0" @@ -8908,15 +8860,15 @@ chai-spies@1.0.0: integrity sha512-elF2ZUczBsFoP07qCfMO/zeggs8pqCf3fZGyK5+2X4AndS8jycZYID91ztD9oQ7d/0tnS963dPkd0frQEThDsg== chai@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.1.0" + pathval "^1.1.1" type-detect "^4.0.5" chainsaw@~0.1.0: @@ -8935,7 +8887,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.2.0, chalk@^2.3. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: +chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== @@ -8962,6 +8914,14 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + change-case@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e" @@ -9005,19 +8965,19 @@ change-case@^4.1.1: tslib "^2.0.3" character-entities-legacy@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" - integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" - integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-reference-invalid@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" - integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== chardet@^0.7.0: version "0.7.0" @@ -9034,19 +8994,31 @@ check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -cheerio@^1.0.0-rc.2: - version "1.0.0-rc.3" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" - integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA== +cheerio-select@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" + integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.1" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash "^4.15.0" - parse5 "^3.0.1" + css-select "^4.1.3" + css-what "^5.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.7.0" -chokidar@3.3.0, chokidar@^3.0.0: +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + +chokidar@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== @@ -9061,7 +9033,7 @@ chokidar@3.3.0, chokidar@^3.0.0: optionalDependencies: fsevents "~2.1.1" -chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.2, chokidar@^2.1.8: +chokidar@^2.0.0, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -9080,22 +9052,7 @@ chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.2, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.2.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chokidar@^3.3.0, chokidar@^3.4.1, chokidar@^3.4.3: +chokidar@^3.2.1, chokidar@^3.3.0, chokidar@^3.3.1, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3: version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== @@ -9110,25 +9067,10 @@ chokidar@^3.3.0, chokidar@^3.4.1, chokidar@^3.4.3: optionalDependencies: fsevents "~2.3.1" -chokidar@^3.4.2: - version "3.5.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.0.tgz#458a4816a415e9d3b3caa4faec2b96a6935a9e65" - integrity sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - chownr@^1.1.1, chownr@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" @@ -9144,11 +9086,9 @@ chrome-remote-interface@^0.28.2: ws "^7.2.0" chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^1.5.0: version "1.6.0" @@ -9168,11 +9108,16 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-dependency-plugin@5.2.0, circular-dependency-plugin@^5.0.2: +circular-dependency-plugin@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93" integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw== +circular-dependency-plugin@^5.0.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -9183,12 +9128,12 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5, classnames@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== +classnames@*, classnames@^2.2.5, classnames@^2.2.6: + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -clean-css@4.2.x, clean-css@^4.2.1, clean-css@^4.2.3: +clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== @@ -9214,9 +9159,9 @@ cli-boxes@^1.0.0: integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-cursor@^1.0.2: version "1.0.2" @@ -9239,26 +9184,11 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5" - integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w== - -cli-spinners@^2.5.0: +cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== -cli-table3@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - cli-table3@0.6.0, cli-table3@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" @@ -9270,20 +9200,12 @@ cli-table3@0.6.0, cli-table3@~0.6.0: colors "^1.1.2" cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + version "0.3.6" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.6.tgz#e9d6aa859c7fe636981fd3787378c2a20bce92fc" + integrity sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ== dependencies: colors "1.0.3" -cli-truncate@2.1.0, cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -9292,10 +9214,18 @@ cli-truncate@^0.2.1: slice-ansi "0.0.4" string-width "^1.0.1" +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== cli-width@^3.0.0: version "3.0.0" @@ -9303,9 +9233,9 @@ cli-width@^3.0.0: integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== clipboard@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" - integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ== + version "2.0.8" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" + integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== dependencies: good-listener "^1.2.2" select "^1.1.2" @@ -9406,18 +9336,10 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -clsx@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.0.tgz#62937c6adfea771247c34b54d320fb99624f5702" - integrity sha512-3avwM37fSK5oP6M5rQ9CNe99lwxhXDOeSWVPAOYF6OazUTgZCMb0yWlJpmdD74REy1gkEaFiub2ULv4fq9GUhA== - -cmd-shim@^3.0.0, cmd-shim@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-3.0.3.tgz#2c35238d3df37d98ecdd7d5f6b8dc6b21cadc7cb" - integrity sha512-DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA== - dependencies: - graceful-fs "^4.1.2" - mkdirp "~0.5.0" +clsx@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== co@^4.6.0: version "4.6.0" @@ -9454,7 +9376,7 @@ codesandboxer@^1.0.3: lz-string "^1.4.4" path-browserify "^1.0.0" -collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: +collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== @@ -9519,19 +9441,14 @@ color-support@^1.1.3: integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== color@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== dependencies: color-convert "^1.9.1" - color-string "^1.5.2" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + color-string "^1.5.4" -colorette@^1.2.2: +colorette@^1.2.1, colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== @@ -9572,50 +9489,40 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.5, combined delayed-stream "~1.0.0" comma-separated-tokens@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" - integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== + version "1.0.8" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== commander@2.11.x: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - commander@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== -commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.7.1, commander@^2.8.1: +commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.7.1, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.0, commander@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.0.tgz#545983a0603fe425bc672d66c9e3c89c42121a83" - integrity sha512-NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw== +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^5.0.0, commander@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^6.2.0: +commander@^6.2.0, commander@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -9633,13 +9540,13 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg= +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" - dot-prop "^3.0.0" + dot-prop "^5.1.0" component-bind@1.0.0: version "1.0.0" @@ -9662,11 +9569,11 @@ component-inherit@0.0.3: integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: - mime-db ">= 1.40.0 < 2" + mime-db ">= 1.43.0 < 2" compression@^1.7.2, compression@^1.7.4, compression@~1.7.0: version "1.7.4" @@ -9686,10 +9593,10 @@ compute-scroll-into-view@1.0.11: resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz#7ff0a57f9aeda6314132d8994cce7aeca794fecf" integrity sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A== -compute-scroll-into-view@^1.0.9: - version "1.0.13" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.13.tgz#be1b1663b0e3f56cd5f7713082549f562a3477e2" - integrity sha512-o+w9w7A98aAFi/GjK8cxSV+CdASuPa2rR5UWs3+yHkJzWqaKoBEufFNWYaXInCSmUfDCVhesG+v9MTWqOjsxFg== +compute-scroll-into-view@^1.0.17, compute-scroll-into-view@^1.0.9: + version "1.0.17" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" + integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg== concat-map@0.0.1: version "0.0.1" @@ -9717,41 +9624,29 @@ concat-stream@^2.0.0: typedarray "^0.0.6" config-chain@^1.1.11: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" proto-list "~1.2.1" configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -configstore@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" - integrity sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ== + version "3.1.5" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.5.tgz#e9af331fadc14dabd544d3e7e76dc446a09a530f" + integrity sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA== dependencies: - dot-prop "^4.1.0" + dot-prop "^4.2.1" graceful-fs "^4.1.2" make-dir "^1.0.0" unique-string "^1.0.0" write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== +confusing-browser-globals@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== connect-history-api-fallback@^1.3.0, connect-history-api-fallback@^1.6.0: version "1.6.0" @@ -9778,14 +9673,7 @@ connect@~3.6.0: parseurl "~1.3.2" utils-merge "1.0.1" -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-browserify@^1.2.0: +console-browserify@^1.1.0, console-browserify@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== @@ -9817,11 +9705,6 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - content-disposition@0.5.3, content-disposition@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -9835,25 +9718,25 @@ content-type@~1.0.4: integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== conventional-changelog-angular@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz#299fdd43df5a1f095283ac16aeedfb0a682ecab0" - integrity sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA== + version "5.0.12" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" + integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" conventional-changelog-core@^3.1.6: - version "3.2.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.2.tgz#de41e6b4a71011a18bcee58e744f6f8f0e7c29c0" - integrity sha512-cssjAKajxaOX5LNAJLB+UOcoWjAIBvXtDMedv/58G+YEmAXMNfC16mmPl0JDOuVJVfIqM0nqQiZ8UCm8IXbE0g== + version "3.2.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" + integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ== dependencies: - conventional-changelog-writer "^4.0.5" - conventional-commits-parser "^3.0.2" + conventional-changelog-writer "^4.0.6" + conventional-commits-parser "^3.0.3" dateformat "^3.0.0" get-pkg-repo "^1.0.0" git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^2.0.2" + git-semver-tags "^2.0.3" lodash "^4.2.1" normalize-package-data "^2.3.5" q "^1.5.1" @@ -9862,47 +9745,34 @@ conventional-changelog-core@^3.1.6: through2 "^3.0.0" conventional-changelog-preset-loader@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.1.1.tgz#65bb600547c56d5627d23135154bcd9a907668c4" - integrity sha512-K4avzGMLm5Xw0Ek/6eE3vdOXkqnpf9ydb68XYmCc16cJ99XMMbc2oaNMuPwAsxVK6CC1yA4/I90EhmWNj0Q6HA== + version "2.3.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== -conventional-changelog-writer@^4.0.5: - version "4.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz#24db578ac8e7c89a409ef9bba12cf3c095990148" - integrity sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag== +conventional-changelog-writer@^4.0.6: + version "4.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz#1ca7880b75aa28695ad33312a1f2366f4b12659f" + integrity sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw== dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^2.0.2" + compare-func "^2.0.0" + conventional-commits-filter "^2.0.7" dateformat "^3.0.0" - handlebars "^4.1.0" + handlebars "^4.7.6" json-stringify-safe "^5.0.1" - lodash "^4.2.1" - meow "^4.0.0" + lodash "^4.17.15" + meow "^8.0.0" semver "^6.0.0" split "^1.0.0" - through2 "^3.0.0" + through2 "^4.0.0" -conventional-commits-filter@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz#f122f89fbcd5bb81e2af2fcac0254d062d1039c1" - integrity sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ== +conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== dependencies: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz#c3f972fd4e056aa8b9b4f5f3d0e540da18bf396d" - integrity sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg== - dependencies: - JSONStream "^1.0.4" - is-text-path "^2.0.0" - lodash "^4.2.1" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^3.0.0" - trim-off-newlines "^1.0.0" - conventional-commits-parser@^3.0.3: version "3.2.1" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz#ba44f0b3b6588da2ee9fd8da508ebff50d116ce2" @@ -9930,20 +9800,13 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@1.X, convert-source-map@^1.5.0, convert-source-map@^1.7.0: +convert-source-map@1.X, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -9977,14 +9840,14 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" + each-props "^1.3.2" + is-plain-object "^5.0.0" -copy-to-clipboard@3.2.0, copy-to-clipboard@^3.0.8, copy-to-clipboard@^3.2.0: +copy-to-clipboard@3.2.0, copy-to-clipboard@^3.0.8, copy-to-clipboard@^3.2.0, copy-to-clipboard@^3.3.1: version "3.2.0" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz#d2724a3ccbfed89706fac8a894872c979ac74467" integrity sha512-eOZERzvCmxS8HWzugj4Uxl8OJxa7T2k1Gi0X5qavwydHIfuSHq2dTD09LOg/XyGq4Zpb5IsR/2OJ5lbOegz78w== @@ -10029,15 +9892,15 @@ core-js-compat@^3.14.0, core-js-compat@^3.15.0: browserslist "^4.16.6" semver "7.0.0" -core-js-pure@^3.0.0, core-js-pure@^3.0.1: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" - integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== +core-js-pure@^3.0.0, core-js-pure@^3.0.1, core-js-pure@^3.8.2: + version "3.14.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.14.0.tgz#72bcfacba74a65ffce04bf94ae91d966e80ee553" + integrity sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g== -core-js@3, core-js@^3.0.1, core-js@^3.0.4, core-js@^3.3.2, core-js@^3.6.5: - version "3.8.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" - integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== +core-js@3, core-js@^3.0.1, core-js@^3.0.4, core-js@^3.3.2, core-js@^3.6.5, core-js@^3.8.2: + version "3.14.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c" + integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA== core-js@^1.0.0: version "1.2.7" @@ -10045,23 +9908,15 @@ core-js@^1.0.0: integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= core-js@^2.4.0, core-js@^2.6.5: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -corejs-upgrade-webpack-plugin@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz#503293bf1fdcb104918eb40d0294e4776ad6923a" - integrity sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ== - dependencies: - resolve-from "^5.0.0" - webpack "^4.38.0" - cosmiconfig@7.0.0, cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" @@ -10098,11 +9953,36 @@ cosmiconfig@^6.0.0: resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cp-file@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" + integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw== + dependencies: + graceful-fs "^4.1.2" + make-dir "^3.0.0" + nested-error-stacks "^2.0.0" + p-event "^4.1.0" + +cpy@^8.1.1: + version "8.1.2" + resolved "https://registry.yarnpkg.com/cpy/-/cpy-8.1.2.tgz#e339ea54797ad23f8e3919a5cffd37bfc3f25935" + integrity sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg== + dependencies: + arrify "^2.0.1" + cp-file "^7.0.0" + globby "^9.2.0" + has-glob "^1.0.0" + junk "^3.1.0" + nested-error-stacks "^2.1.0" + p-all "^2.1.0" + p-filter "^2.1.0" + p-map "^3.0.0" "crc32@>= 0.2.2": version "0.2.2" @@ -10110,12 +9990,12 @@ cosmiconfig@^6.0.0: integrity sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo= create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" create-error-class@^3.0.0: version "3.0.2" @@ -10124,7 +10004,7 @@ create-error-class@^3.0.0: dependencies: capture-stack-trace "^1.0.0" -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -10135,7 +10015,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -10147,7 +10027,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-context@0.3.0, create-react-context@^0.3.0: +create-react-context@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== @@ -10162,17 +10042,6 @@ cross-env@^5.1.4: dependencies: cross-spawn "^6.0.5" -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" @@ -10182,6 +10051,15 @@ cross-spawn@7.0.1: shebang-command "^2.0.0" which "^2.0.1" +cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -10191,14 +10069,16 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: version "3.12.0" @@ -10228,11 +10108,11 @@ css-color-keywords@^1.0.0: integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= css-in-js-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.0.0.tgz#4379185f5cc79f9eba39b4e795c317f253ffaa40" - integrity sha512-FSdC7hZIeSmEPANOZB/VHHeaYh+MiNvqLRP7MWVck6MQs2B5KHH3XmMU9Asb/6BdwDp+JTt1q+cGgSBCuFU1GQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== dependencies: - hyphenate-style-name "^1.0.2" + hyphenate-style-name "^1.0.3" css-loader@5.0.1: version "5.0.1" @@ -10252,25 +10132,7 @@ css-loader@5.0.1: schema-utils "^3.0.0" semver "^7.3.2" -css-loader@^3.0.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" - integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.23" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.1.1" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.2" - schema-utils "^2.6.0" - -css-loader@^3.5.3: +css-loader@^3.5.3, css-loader@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== @@ -10306,16 +10168,6 @@ css-select-base-adapter@^0.1.1: resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== -css-select@^1.1.0, css-select@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - css-select@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" @@ -10326,6 +10178,17 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-selector-tokenizer@^0.7.0: version "0.7.3" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" @@ -10351,15 +10214,23 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" css-what@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" - integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^5.0.0, css-what@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== css.escape@^1.5.1: version "1.5.1" @@ -10396,11 +10267,11 @@ cssjanus@^2.0.1: integrity sha512-kAijbny3GmdOi9k+QT6DGIXqFvL96aksNlGr4Rhk9qXDZYWUojU4bRc3IHWxdaLNOqgEZHuXoe5Wl2l7dxLW5g== csso@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" - integrity sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: - css-tree "1.0.0-alpha.37" + css-tree "^1.1.2" cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0", "cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: version "0.3.8" @@ -10420,13 +10291,13 @@ cssom@^0.4.4: cssom "0.3.x" cssstyle@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077" - integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow== + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== dependencies: cssom "0.3.x" -cssstyle@^2.2.0: +cssstyle@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -10434,9 +10305,9 @@ cssstyle@^2.2.0: cssom "~0.3.6" csstype@^2.2.0, csstype@^2.5.5, csstype@^2.5.7, csstype@^2.6.7: - version "2.6.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431" - integrity sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA== + version "2.6.17" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e" + integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A== csstype@^3.0.2: version "3.0.8" @@ -10455,10 +10326,10 @@ custom-event@~1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= cypress-real-events@1.2.0: version "1.2.0" @@ -10537,9 +10408,9 @@ d3-collection@1, d3-collection@^1.0.3: integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== d3-color@1, d3-color@^1.0.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.0.tgz#89c45a995ed773b13314f06460df26d60ba0ecaf" - integrity sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" + integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== d3-contour@^1.1.0: version "1.3.2" @@ -10549,14 +10420,14 @@ d3-contour@^1.1.0: d3-array "^1.1.1" d3-format@1, d3-format@^1.2.0, d3-format@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.4.tgz#356925f28d0fd7c7983bfad593726fce46844030" - integrity sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw== + version "1.4.5" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.5.tgz#374f2ba1320e3717eb74a9356c67daee17a7edb4" + integrity sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ== d3-geo@^1.6.4: - version "1.11.9" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.9.tgz#77eaed14ba62fc2c0aef55cd2943849c866f7ae6" - integrity sha512-9edcH6J3s/Aa3KJITWqFJbyB/8q3mMlA9Fi7z6yy+FAYMnRaxmC7jBhUnsINxVWD14GmqX3DK8uk7nV6/Ekt4A== + version "1.12.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.12.1.tgz#7fc2ab7414b72e59fbcbd603e80d9adc029b035f" + integrity sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg== dependencies: d3-array "1" @@ -10578,9 +10449,9 @@ d3-interpolate@1, d3-interpolate@^1.1.4: d3-color "1" d3-path@1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8" - integrity sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA== + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== d3-sankey@^0.7.1: version "0.7.1" @@ -10629,16 +10500,16 @@ d3-shape@^1.1.0, d3-shape@^1.2.0: d3-path "1" d3-time-format@2, d3-time-format@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b" - integrity sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.3.0.tgz#107bdc028667788a8924ba040faf1fbccd5a7850" + integrity sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ== dependencies: d3-time "1" d3-time@1: - version "1.0.11" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.11.tgz#1d831a3e25cd189eb256c17770a666368762bbce" - integrity sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1" + integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA== d3-voronoi@^1.1.2: version "1.1.4" @@ -10653,10 +10524,10 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== +damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== danger@^6.0.5: version "6.1.13" @@ -10742,11 +10613,6 @@ date-format@^3.0.0: resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95" integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w== -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - dateformat@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" @@ -10758,9 +10624,9 @@ dateformat@^3.0.0: integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.9.3: - version "1.10.4" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2" - integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== + version "1.10.5" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.5.tgz#5600df4548fc2453b3f163ebb2abbe965ccfb986" + integrity sha512-BUFis41ikLz+65iH6LHQCDm4YPMj5r1YFLdupPIyM4SGcXMmtiLQ7U37i+hGS8urIuqe7I/ou3IS1jVc4nbN4g== debug-fabulous@1.X: version "1.1.0" @@ -10831,10 +10697,10 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== +decimal.js@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== decode-uri-component@^0.2.0: version "0.2.0" @@ -10895,9 +10761,9 @@ decompress-unzip@^4.0.1: yauzl "^2.4.2" decompress-zip@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.3.2.tgz#f3fa2841666abce394604f4a9e8a7085c202d464" - integrity sha512-Ab1QY4LrWMrUuo53lLnmGOby7v8ryqxJ+bKibKSiPisx+25mhut1dScVBXAYx14i/PqSrFZvR2FRRazhLbvL+g== + version "0.3.3" + resolved "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.3.3.tgz#71469aca39003e360a4044d6a6a9f64a1bef5a49" + integrity sha512-/fy1L4s+4jujqj3kNptWjilFw3E6De8U6XUFvqmh4npN3Vsypm3oT2V0bXcmbBWS+5j5tr4okYaFrOmyZkszEg== dependencies: binary "^0.3.0" graceful-fs "^4.1.3" @@ -10940,12 +10806,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-equal@^1.1.1: +deep-equal@^1.0.1, deep-equal@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== @@ -11008,15 +10869,10 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - defer-to-connect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" - integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" @@ -11119,9 +10975,9 @@ deprecation@^2.0.0, deprecation@^2.3.1: integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" @@ -11131,17 +10987,10 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detab@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz#074970d1a807b045d0258a4235df5928dd683561" - integrity sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ== - dependencies: - repeat-string "^1.5.4" - -detab@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.3.tgz#33e5dd74d230501bd69985a0d2b9a3382699a130" - integrity sha512-Up8P0clUVwq0FnFjDclzZsy9PadzRn5FFxrr47tQQvMHqyiFYVbpH8oXDzWtF0Q7pYy3l+RPmtBl+BsFF6wH0A== +detab@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" + integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== dependencies: repeat-string "^1.5.4" @@ -11162,20 +11011,25 @@ detect-indent@^5.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-newline@2.X, detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detect-port-alt@1.1.6: version "1.1.6" @@ -11206,11 +11060,6 @@ di@^0.0.1: resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - diff-match-patch@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" @@ -11221,6 +11070,11 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + diff@3.5.0, diff@^3.1.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -11299,14 +11153,6 @@ doctoc@^2.0.1: underscore "~1.12.1" update-section "~0.3.3" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -11322,11 +11168,11 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-accessibility-api@^0.5.1: - version "0.5.4" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" - integrity sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ== + version "0.5.6" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.6.tgz#3f5d43b52c7a3bd68b5fb63fa47b4e4c1fdf65a9" + integrity sha512-DplGLZd8L1lN64jlT27N9TVSESFR5STaEJvX+thCby7fuCHonfPpAlodYc3vuUYbDuDec5w8AMP7oCM5TWFsqw== -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== @@ -11342,20 +11188,13 @@ dom-css@^2.0.0: prefix-style "2.0.1" to-camel-case "1.0.0" -dom-helpers@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== - dependencies: - "@babel/runtime" "^7.1.2" - -dom-helpers@^5.0.0, dom-helpers@^5.0.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.3.tgz#7233248eb3a2d1f74aafca31e52c5299cc8ce821" - integrity sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw== +dom-helpers@^5.0.1, dom-helpers@^5.1.3: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: - "@babel/runtime" "^7.6.3" - csstype "^2.6.7" + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" dom-serialize@^2.2.1: version "2.2.1" @@ -11367,15 +11206,7 @@ dom-serialize@^2.2.1: extend "^3.0.0" void-elements "^2.0.0" -dom-serializer@0, dom-serializer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== - dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" - -dom-serializer@^0.2.1: +dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== @@ -11383,10 +11214,19 @@ dom-serializer@^0.2.1: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1, dom-serializer@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== domain-browser@^1.1.1: version "1.2.0" @@ -11403,10 +11243,10 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== domexception@^1.0.1: version "1.0.1" @@ -11429,20 +11269,19 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domhandler@^3.0, domhandler@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9" - integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw== +domhandler@^3.0.0, domhandler@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" + integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== dependencies: domelementtype "^2.0.1" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== dependencies: - dom-serializer "0" - domelementtype "1" + domelementtype "^2.2.0" domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" @@ -11452,14 +11291,14 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.0.0.tgz#15b8278e37bfa8468d157478c58c367718133c08" - integrity sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg== +domutils@^2.0.0, domutils@^2.4.2, domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" + integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== dependencies: - dom-serializer "^0.2.1" - domelementtype "^2.0.1" - domhandler "^3.0.0" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" dot-case@^2.1.0: version "2.1.1" @@ -11476,24 +11315,31 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= +dot-prop@^4.2.0, dot-prop@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== dependencies: is-obj "^1.0.0" -dot-prop@^4.1.0, dot-prop@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: - is-obj "^1.0.0" + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" dotenv-defaults@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.0.2.tgz#441cf5f067653fca4bbdce9dd3b803f6f84c585d" - integrity sha512-iXFvHtXl/hZPiFj++1hBg4lbKwGM+t/GlvELDnRtOFdjXyWP7mubkVr+eZGWG62kdsbulXAef6v/j6kiWc/xGA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz#032c024f4b5906d9990eb06d722dc74cc60ec1bd" + integrity sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q== dependencies: dotenv "^6.2.0" @@ -11502,14 +11348,14 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv-webpack@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz#4384d8c57ee6f405c296278c14a9f9167856d3a1" - integrity sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw== +dotenv-webpack@^1.7.0, dotenv-webpack@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz#7ca79cef2497dd4079d43e81e0796bc9d0f68a5e" + integrity sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg== dependencies: dotenv-defaults "^1.0.2" -dotenv@8.2.0, dotenv@^8.0.0, dotenv@^8.1.0: +dotenv@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== @@ -11519,6 +11365,11 @@ dotenv@^6.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== +dotenv@^8.0.0, dotenv@^8.1.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + dotparser@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dotparser/-/dotparser-1.0.0.tgz#32458fcfa855046705b90df929ed87a849e32304" @@ -11552,6 +11403,16 @@ downshift@5.0.5: prop-types "^15.7.2" react-is "^16.9.0" +downshift@^6.0.15: + version "6.1.3" + resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.3.tgz#e794b7805d24810968f21e81ad6bdd9f3fdc40da" + integrity sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg== + dependencies: + "@babel/runtime" "^7.13.10" + compute-scroll-into-view "^1.0.17" + prop-types "^15.7.2" + react-is "^17.0.2" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -11564,12 +11425,12 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@0.1.1, duplexer@^0.1.1: +duplexer@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= -duplexer@^0.1.2: +duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -11584,7 +11445,7 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.0: +each-props@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== @@ -11592,10 +11453,10 @@ each-props@^1.3.0: is-plain-object "^2.0.1" object.defaults "^1.1.0" -easy-stack@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" - integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= +easy-stack@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== ecc-jsbn@~0.1.1: version "0.1.2" @@ -11617,11 +11478,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - ejs@^3.1.2, ejs@^3.1.5: version "3.1.6" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" @@ -11629,20 +11485,10 @@ ejs@^3.1.2, ejs@^3.1.5: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.488: - version "1.3.496" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz#3f43d32930481d82ad3663d79658e7c59a58af0b" - integrity sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ== - -electron-to-chromium@^1.3.378: - version "1.3.666" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.666.tgz#59f3ce1e45b860a0ebe439b72664354efbb8bc62" - integrity sha512-/mP4HFQ0fKIX4sXltG6kfcoGrfNDZwCIyWbH2SIcVaa9u7Rm0HKjambiHNg5OEruicTl9s1EwbERLwxZwk19aw== - -electron-to-chromium@^1.3.634: - version "1.3.635" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.635.tgz#8d1591eeca6b257d380061a2c04f0b3cc6c9e33b" - integrity sha512-RRriZOLs9CpW6KTLmgBqyUdnY0QNqqWs0HOtuQGGEMizOTNNn1P7sGRBxARnUeLejOsgwjDyRqT3E/CSst02ZQ== +electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723: + version "1.3.749" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" + integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== electron-to-chromium@^1.3.723: version "1.3.755" @@ -11654,14 +11500,14 @@ elegant-spinner@^1.0.1: resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= -element-resize-detector@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.1.tgz#b0305194447a4863155e58f13323a0aef30851d1" - integrity sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw== +element-resize-detector@^1.2.1, element-resize-detector@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.2.tgz#bf7c3ff915957e4e62e86241ed2f9c86b078892b" + integrity sha512-+LOXRkCJc4I5WhEJxIDjhmE3raF8jtOMBDqSCgZTMz2TX3oXAX5pE2+MDeopJlGdXzP7KzPbBJaUGfNaP9HG4A== dependencies: batch-processor "1.0.0" -elliptic@^6.0.0: +elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -11679,7 +11525,7 @@ elliptic@^6.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= -emoji-regex@^7.0.1, emoji-regex@^7.0.2: +emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== @@ -11689,6 +11535,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + emoji-regex@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.3.tgz#ec79a3969b02d2ecf2b72254279bf99bc7a83932" @@ -11704,7 +11555,7 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -emotion-theming@^10.0.19: +emotion-theming@^10.0.19, emotion-theming@^10.0.27: version "10.0.27" resolved "https://registry.yarnpkg.com/emotion-theming/-/emotion-theming-10.0.27.tgz#1887baaec15199862c89b1b984b79806f2b9ab10" integrity sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw== @@ -11725,14 +11576,7 @@ encoding@^0.1.11, encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -end-of-stream@^1.4.1: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -11749,9 +11593,9 @@ endent@^2.0.1: objectorarray "^1.0.4" engine.io-client@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.0.tgz#fc1b4d9616288ce4f2daf06dcf612413dec941c7" - integrity sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA== + version "3.5.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" + integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== dependencies: component-emitter "~1.3.0" component-inherit "0.0.3" @@ -11762,7 +11606,7 @@ engine.io-client@~3.5.0: parseqs "0.0.6" parseuri "0.0.6" ws "~7.4.2" - xmlhttprequest-ssl "~1.5.4" + xmlhttprequest-ssl "~1.6.2" yeast "0.1.2" engine.io-parser@~2.2.0: @@ -11788,16 +11632,7 @@ engine.io@~3.5.0: engine.io-parser "~2.2.0" ws "~7.4.2" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -enhanced-resolve@^4.5.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== @@ -11806,22 +11641,15 @@ enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== +enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.0: + version "5.8.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" + integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381" - integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA== - dependencies: - ansi-colors "^3.2.1" - -enquirer@^2.3.6, enquirer@~2.3.6: +enquirer@^2.3.5, enquirer@^2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -11833,70 +11661,61 @@ ent@~2.2.0: resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= -entities@^1.1.1, entities@^1.1.2, entities@~1.1.1: +entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -env-paths@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== - -envinfo@^7.3.1: - version "7.7.4" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" - integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -envinfo@^7.5.0: - version "7.7.2" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.2.tgz#098f97a0e902f8141f9150553c92dbb282c4cabe" - integrity sha512-k3Eh5bKuQnZjm49/L7H4cHzs2FlL5QjbTB3JrPxoTI8aJG7hVMe4uKyJxSYH4ahseby2waUwk5OaKX/nAsaYgg== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -envinfo@^7.7.3: - version "7.7.3" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" - integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== +envinfo@^7.3.1, envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== enzyme-adapter-react-16@^1.15.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.2.tgz#b16db2f0ea424d58a808f9df86ab6212895a4501" - integrity sha512-SkvDrb8xU3lSxID8Qic9rB8pvevDbLybxPK6D/vW7PrT0s2Cl/zJYuXvsd1EBTz0q4o3iqG3FJhpYz3nUNpM2Q== + version "1.15.6" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz#fd677a658d62661ac5afd7f7f541f141f8085901" + integrity sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g== dependencies: - enzyme-adapter-utils "^1.13.0" - enzyme-shallow-equal "^1.0.1" + enzyme-adapter-utils "^1.14.0" + enzyme-shallow-equal "^1.0.4" has "^1.0.3" - object.assign "^4.1.0" - object.values "^1.1.1" + object.assign "^4.1.2" + object.values "^1.1.2" prop-types "^15.7.2" - react-is "^16.12.0" + react-is "^16.13.1" react-test-renderer "^16.0.0-0" semver "^5.7.0" -enzyme-adapter-utils@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.0.tgz#01c885dde2114b4690bf741f8dc94cee3060eb78" - integrity sha512-YuEtfQp76Lj5TG1NvtP2eGJnFKogk/zT70fyYHXK2j3v6CtuHqc8YmgH/vaiBfL8K1SgVVbQXtTcgQZFwzTVyQ== +enzyme-adapter-utils@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz#afbb0485e8033aa50c744efb5f5711e64fbf1ad0" + integrity sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg== dependencies: - airbnb-prop-types "^2.15.0" - function.prototype.name "^1.1.2" - object.assign "^4.1.0" - object.fromentries "^2.0.2" + airbnb-prop-types "^2.16.0" + function.prototype.name "^1.1.3" + has "^1.0.3" + object.assign "^4.1.2" + object.fromentries "^2.0.3" prop-types "^15.7.2" semver "^5.7.1" -enzyme-shallow-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.1.tgz#7afe03db3801c9b76de8440694096412a8d9d49e" - integrity sha512-hGA3i1so8OrYOZSM9whlkNmVHOicJpsjgTzC+wn2JMJXhq1oO4kA4bJ5MsfzSIcC71aLDKzJ6gZpIxrqt3QTAQ== +enzyme-shallow-equal@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz#b9256cb25a5f430f9bfe073a84808c1d74fced2e" + integrity sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q== dependencies: has "^1.0.3" - object-is "^1.0.2" + object-is "^1.1.2" enzyme@~3.10.0: version "3.10.0" @@ -11930,10 +11749,15 @@ err-code@^1.0.0: resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -11944,66 +11768,56 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0, es-abstract@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== +es-abstract@^1.17.0-next.0, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.18.0, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" + integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== dependencies: + call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + get-intrinsic "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" -es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-get-iterator@^1.0.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7" + integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ== dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" + call-bind "^1.0.2" + get-intrinsic "^1.1.0" has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.0" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" + is-arguments "^1.1.0" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.5" + isarray "^2.0.5" es-module-lexer@^0.3.26: version "0.3.26" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" +es-module-lexer@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" + integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== es-to-primitive@^1.2.1: version "1.2.1" @@ -12014,16 +11828,7 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: - version "0.10.50" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" - integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" - -es5-ext@^0.10.45, es5-ext@~0.10.2, es5-ext@~0.10.46: +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.53" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== @@ -12033,9 +11838,9 @@ es5-ext@^0.10.45, es5-ext@~0.10.2, es5-ext@~0.10.46: next-tick "~1.0.0" es5-shim@^4.5.13: - version "4.5.13" - resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.13.tgz#5d88062de049f8969f83783f4a4884395f21d28b" - integrity sha512-xi6hh6gsvDE0MaW4Vp1lgNEBpVcCXRWfPXj5egDvtgLz4L9MEvNwYEMdJH+JJinWkwa8c3c3o5HduV7dB/e1Hw== + version "4.5.15" + resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.15.tgz#6a26869b261854a3b045273f5583c52d390217fe" + integrity sha512-FYpuxEjMeDvU4rulKqFdukQyZSTpzhg4ScQHrAosrlVpR6GFyaw14f74yn2+4BugniIS0Frpg7TvwZocU4ZMTw== es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: version "2.0.3" @@ -12064,19 +11869,11 @@ es6-promisify@^5.0.0: es6-promise "^4.0.3" es6-shim@^0.35.5: - version "0.35.5" - resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.5.tgz#46f59dc0a84a1c5029e8ff1166ca0a902077a9ab" - integrity sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg== - -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= - dependencies: - d "1" - es5-ext "~0.10.14" + version "0.35.6" + resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.6.tgz#d10578301a83af2de58b9eadb7c2c9945f7388a0" + integrity sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA== -es6-symbol@~3.1.3: +es6-symbol@^3.1.1, es6-symbol@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== @@ -12084,15 +11881,7 @@ es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -es6-templates@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" - integrity sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ= - dependencies: - recast "~0.11.12" - through "~2.3.6" - -es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: +es6-weak-map@^2.0.1, es6-weak-map@^2.0.2, es6-weak-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== @@ -12102,12 +11891,7 @@ es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -escalade@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.1.tgz#52568a77443f6927cd0ab9c73129137533c965ed" - integrity sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA== - -escalade@^3.1.1: +escalade@^3.0.2, escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -12122,7 +11906,7 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escape-string-regexp@2.0.0: +escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== @@ -12144,7 +11928,7 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" -escodegen@^1.12.0, escodegen@^1.14.1: +escodegen@^1.12.0, escodegen@^1.9.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== @@ -12156,35 +11940,35 @@ escodegen@^1.12.0, escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -escodegen@^1.9.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" + esprima "^4.0.1" + estraverse "^5.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.1.0.tgz#2ba4592dd6843258221d9bff2b6831bd77c874e4" - integrity sha512-+XCcfGyCnbzOnktDVhwsCAx+9DmrzEmuwxyHUJpw+kqBVT744OUBrB09khgFKlK1lshVww6qXGsYPZpavoNjJw== +eslint-config-airbnb-base@^14.2.1: + version "14.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" + integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== dependencies: - confusing-browser-globals "^1.0.9" - object.assign "^4.1.0" - object.entries "^1.1.1" + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" + object.entries "^1.1.2" eslint-config-airbnb@^18.1.0: - version "18.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.1.0.tgz#724d7e93dadd2169492ff5363c5aaa779e01257d" - integrity sha512-kZFuQC/MPnH7KJp6v95xsLBf63G/w7YqdPfQ0MUanxQ7zcKUNG8j+sSY860g3NwCBOa62apw16J6pRN+AOgXzw== + version "18.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" + integrity sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg== dependencies: - eslint-config-airbnb-base "^14.1.0" - object.assign "^4.1.0" - object.entries "^1.1.1" + eslint-config-airbnb-base "^14.2.1" + object.assign "^4.1.2" + object.entries "^1.1.2" eslint-config-prettier@^8.3.0: version "8.3.0" @@ -12210,12 +11994,12 @@ eslint-import-resolver-typescript@^2.4.0: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== dependencies: - debug "^2.6.9" + debug "^3.2.7" pkg-dir "^2.0.0" eslint-plugin-deprecation@^1.2.1: @@ -12236,45 +12020,49 @@ eslint-plugin-es@4.1.0: regexpp "^3.0.0" eslint-plugin-import@^2.20.1, eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + version "2.23.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" + integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" debug "^2.6.9" - doctrine "1.5.0" + doctrine "^2.1.0" eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" has "^1.0.3" + is-core-module "^2.4.0" minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" tsconfig-paths "^3.9.0" eslint-plugin-jest@^23.13.2: - version "23.13.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.13.2.tgz#7b7993b4e09be708c696b02555083ddefd7e4cc7" - integrity sha512-qZit+moTXTyZFNDqSIR88/L3rdBlTU7CuW6XmyErD2FfHEkdoLgThkRbiQjzgYnX6rfgLx3Ci4eJmF4Ui5v1Cw== + version "23.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz#e1d69c75f639e99d836642453c4e75ed22da4099" + integrity sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw== dependencies: "@typescript-eslint/experimental-utils" "^2.5.0" eslint-plugin-jsx-a11y@^6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" - integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== dependencies: - "@babel/runtime" "^7.4.5" - aria-query "^3.0.0" - array-includes "^3.0.3" + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" ast-types-flow "^0.0.7" - axobject-query "^2.0.2" - damerau-levenshtein "^1.0.4" - emoji-regex "^7.0.2" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" has "^1.0.3" - jsx-ast-utils "^2.2.1" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" eslint-plugin-react-hooks@^4.2.0: version "4.2.0" @@ -12282,21 +12070,30 @@ eslint-plugin-react-hooks@^4.2.0: integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== eslint-plugin-react@^7.19.0, eslint-plugin-react@^7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3" - integrity sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA== + version "7.24.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" + integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== dependencies: - array-includes "^3.1.1" + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" - object.fromentries "^2.0.2" - object.values "^1.1.1" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.4" + object.fromentries "^2.0.4" + object.values "^1.1.4" prop-types "^15.7.2" - resolve "^1.15.1" - string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.5" + +eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" eslint-scope@^4.0.3: version "4.0.3" @@ -12306,22 +12103,6 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -12335,32 +12116,34 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint@7.25.0, eslint@^6.8.0, eslint@^7.1.0: - version "7.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" - integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" + integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -12369,7 +12152,7 @@ eslint@7.25.0, eslint@^6.8.0, eslint@^7.1.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -12378,11 +12161,11 @@ eslint@7.25.0, eslint@^6.8.0, eslint@^7.1.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -esm@3.2.25, esm@^3.2.25: +esm@^3.2.25: version "3.2.25" resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== @@ -12408,11 +12191,6 @@ esprima@2.7.x, esprima@^2.7.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= -esprima@^3.1.3, esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -12438,15 +12216,24 @@ estraverse@^1.9.1: integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estree-to-babel@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/estree-to-babel/-/estree-to-babel-3.2.1.tgz#82e78315275c3ca74475fdc8ac1a5103c8a75bf5" + integrity sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg== + dependencies: + "@babel/traverse" "^7.1.6" + "@babel/types" "^7.2.0" + c8 "^7.6.0" + estree-walker@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" @@ -12458,9 +12245,9 @@ estree-walker@^1.0.1: integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" @@ -12495,25 +12282,20 @@ eventemitter3@^3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== -eventemitter3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" - integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== +eventemitter3@^4.0.0, eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== +events@^3.0.0, events@^3.2.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== dependencies: original "^1.0.0" @@ -12526,9 +12308,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== execa@^0.7.0: version "0.7.0" @@ -12556,22 +12338,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^4.0.0, execa@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" - integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^4.0.2: +execa@^4.0.0, execa@^4.0.2, execa@^4.0.3, execa@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -12586,25 +12353,10 @@ execa@^4.0.2: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.0" @@ -12658,10 +12410,10 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect-more@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/expect-more/-/expect-more-0.8.0.tgz#c8f62ba254136f95ace5613e813807eadb225496" - integrity sha512-YBroZA12BvxVC7QXEPsUoafOVd0jVl37dZT/0n5w56PRA6YMJFqsofdHV4qh1FqBB7C6wuK8Hrmm5i6AacUCCw== +expect-more@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/expect-more/-/expect-more-0.8.1.tgz#2df3cf417470abe87b69ec02d3450bb191a53c47" + integrity sha512-DeSpFmqTcKPCurQ1jt2n96PGgv8EDGtbsnAGI1nDrnaeJRAQcjotF6VWcDYvenCQCZcn//wAMlEEIjYTm26kMQ== expect@^24.9.0: version "24.9.0" @@ -12761,9 +12513,9 @@ extend@^3.0.0, extend@^3.0.2, extend@~3.0.1, extend@~3.0.2: integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -12836,10 +12588,10 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^2.0.2, fast-glob@^2.2.6: version "2.2.7" @@ -12853,19 +12605,7 @@ fast-glob@^2.0.2, fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-glob@^3.2.4, fast-glob@^3.2.5: +fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.2, fast-glob@^3.2.4, fast-glob@^3.2.5: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== @@ -12882,30 +12622,25 @@ fast-json-parse@^1.0.3: resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== -fast-json-stable-stringify@2.1.0: +fast-json-stable-stringify@2.1.0, fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - fast-levenshtein@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-loops@^1.0.0, fast-loops@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.2.tgz#2ee75ba943a08a9b1ffdf9b49f133322c99bda68" - integrity sha512-ql8BgnHFryLogmmzR5O3uobe+3Zzaq6h6MWn/VtAyL9OXb51r5PSTbCm9f56fvEvMWWGjbdkr4xyhT0/vLJkKw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" + integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== fast-safe-stringify@~1.1.0: version "1.1.13" @@ -12917,45 +12652,38 @@ fastest-levenshtein@^1.0.12: resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== -fastparse@^1.1.1, fastparse@^1.1.2: +fastparse@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" - integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== dependencies: - reusify "^1.0.0" + reusify "^1.0.4" -fault@^1.0.0: +fault@^1.0.0, fault@^1.0.1, fault@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== dependencies: format "^0.2.0" -fault@^1.0.1, fault@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.3.tgz#4da88cf979b6b792b4e13c7ec836767725170b7e" - integrity sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA== - dependencies: - format "^0.2.2" - -faye-websocket@^0.11.3, faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: - bser "^2.0.0" + bser "2.1.1" fbjs@^0.8.1, fbjs@^0.8.4: version "0.8.17" @@ -12977,27 +12705,27 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -fela-bindings@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/fela-bindings/-/fela-bindings-10.6.1.tgz#7658915178ec903f8e86d608ffd22f1ca3fca232" - integrity sha512-VY6PzkVHDpVHSvefa4AnfRYuzw1jgAheU+ePof4m8je3JgkoezKDiadI7uHD0teyzJhajDZ25nr2dOt2yCuMtA== +fela-bindings@^10.8.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/fela-bindings/-/fela-bindings-10.8.2.tgz#b47d63d37bacc318196481a5d7d9904eece51744" + integrity sha512-NeZaTD8XaR2HmZKdVy0X2eTsTXeN9w/9ys0sd101djI4lD7rjfU6NroUB5YeGtOV/drehs7ufbzI/rStVUYx1g== dependencies: fast-loops "^1.0.0" - fela-dom "^10.6.1" - fela-tools "^10.6.1" + fela-dom "^10.8.2" + fela-tools "^10.8.2" react-addons-shallow-compare "^15.6.2" shallow-equal "^1.0.0" -fela-dom@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/fela-dom/-/fela-dom-10.6.1.tgz#d249a4380ab1565e73e250fe624a36329fd256a7" - integrity sha512-J/EbPv7w7GGEBwhwwohTNdBThS1CrVaO5t8eapuKg0GDUCulbpBHuL5fw1+TbpJKEL54h7GwaCV9RZKZPUOXGA== +fela-dom@^10.8.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/fela-dom/-/fela-dom-10.8.2.tgz#31b4d8d1003dee255076b1580c8cbeb9f9e0c190" + integrity sha512-6zv4X180/GT44g+Bss0t4r6zPGdg1VfQrrR4raHZLiviIBOx3QbHO2m/JAs3Hp22GF9X2jKItwyT2hGVw3c2fw== dependencies: css-in-js-utils "^3.0.0" fast-loops "^1.0.1" - fela-utils "^10.6.1" + fela-utils "^10.8.2" -fela-plugin-custom-property@^10.6.1: +fela-plugin-custom-property@^10.8.2: version "10.8.2" resolved "https://registry.yarnpkg.com/fela-plugin-custom-property/-/fela-plugin-custom-property-10.8.2.tgz#41847826be4bf4495eee5072df16228f5f8827a8" integrity sha512-SFbuMRQpetEUYwMsG0ngZrdEB7N7ytH+jsXeWt54GKhdz68XcvbAEIoc5vWSPiNVBKH47jV3+dwXjhejd5AdaQ== @@ -13022,12 +12750,12 @@ fela-plugin-fallback-value@^10.6.1: isobject "^3.0.1" fela-plugin-placeholder-prefixer@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/fela-plugin-placeholder-prefixer/-/fela-plugin-placeholder-prefixer-10.6.1.tgz#c55b27cb32c61eefeee660ebcac39c64c0de1d6b" - integrity sha512-yZcTYsjRXjNrDFeDvML5QalgeO9hHN6sqC3geAwC44GTpaw9BG22BKiuCInvzhkSYWuT+q8XSgPrW7wDwL1TRQ== + version "10.8.2" + resolved "https://registry.yarnpkg.com/fela-plugin-placeholder-prefixer/-/fela-plugin-placeholder-prefixer-10.8.2.tgz#9af6aa3d450f3b174fbbcc001db5f9fe1d49239c" + integrity sha512-5Uh1ceC03mnfZanlxb4Y4F3MJNoqcReb5lFhme9Yuh74gwFYUAFgsA/vjE2FXfJ8DG4OP69cB/JEGc5cBRtjAg== dependencies: fast-loops "^1.0.0" - fela-plugin-custom-property "^10.6.1" + fela-plugin-custom-property "^10.8.2" fela-plugin-rtl@^10.6.1: version "10.8.2" @@ -13036,17 +12764,17 @@ fela-plugin-rtl@^10.6.1: dependencies: rtl-css-js "^1.1.3" -fela-tools@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/fela-tools/-/fela-tools-10.6.1.tgz#77306a79ede0defc518c4617bba5c932d81808e0" - integrity sha512-fywHZDZPY2jQoNA+COPn5ge4rq4uFYVEeNVsT/AKW/RtQNnr18JsHoO1kbn/n4N76NJcNKP6R8OM6jOcOdLiYQ== +fela-tools@^10.6.1, fela-tools@^10.8.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/fela-tools/-/fela-tools-10.8.2.tgz#de8916173abd7d0436a6d9f726f7434209d70ee0" + integrity sha512-9HVPA7PABxCh8ybiDlhhVKuFlVeFazmhthlf5CybiFcxh6DVKDEacYsFdXSC7NGJW2i4cWACiy7pjUvOyvqhRQ== dependencies: css-in-js-utils "^3.0.0" fast-loops "^1.0.0" - fela "^10.6.1" - fela-utils "^10.6.1" + fela "^10.8.2" + fela-utils "^10.8.2" -fela-utils@^10.6.1: +fela-utils@^10.6.1, fela-utils@^10.8.2: version "10.8.2" resolved "https://registry.yarnpkg.com/fela-utils/-/fela-utils-10.8.2.tgz#b9d38e043aaf5d3d48012686ffb84e6378f24a35" integrity sha512-RmoDOIby14Zb3Xn03noLolyMC2528xcNO5KcNCaznyByd1Acq8DnvQn91Ph9nBLcLqdC1rGme5HwRcrCOHG+kA== @@ -13054,15 +12782,15 @@ fela-utils@^10.6.1: css-in-js-utils "^3.0.0" fast-loops "^1.0.0" -fela@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/fela/-/fela-10.6.1.tgz#66a8349018a5c06908deca7fc18a83b0df9d63a6" - integrity sha512-Fp07Wst/BchfJAufCF+sfeMeIsB8hq+EHObpjUMrLfXcweqRtcJ5gg+47ncYO6W/HnRi1NBUzV+fY4tnMVm+MA== +fela@^10.6.1, fela@^10.8.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/fela/-/fela-10.8.2.tgz#f72ffad692f425489abf7ddc7c840b584c098ec7" + integrity sha512-rdF2h6U9gBhLged2WpOE43zqDG3f9rV7PNmcCoTuMIoKZqN0tYsc71nJRS7aNQtk+kRB5VsvMpoK0JGbs4s0qA== dependencies: css-in-js-utils "^3.0.0" csstype "^2.5.5" fast-loops "^1.0.0" - fela-utils "^10.6.1" + fela-utils "^10.8.2" isobject "^3.0.1" figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: @@ -13085,7 +12813,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0, figures@^3.2.0: +figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -13099,7 +12827,7 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@6.2.0, file-loader@^6.0.0: +file-loader@6.2.0, file-loader@^6.0.0, file-loader@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -13107,14 +12835,6 @@ file-loader@6.2.0, file-loader@^6.0.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -file-loader@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - file-system-cache@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.0.5.tgz#84259b36a2bbb8d3d6eb1021d3132ffe64cfff4f" @@ -13149,6 +12869,11 @@ file-type@^8.1.0: resolved "https://registry.yarnpkg.com/file-type/-/file-type-8.1.0.tgz#244f3b7ef641bbe0cca196c7276e4b332399f68c" integrity sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ== +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filelist@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" @@ -13171,29 +12896,34 @@ filenamify@^2.0.0: trim-repeated "^1.0.0" filenamify@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.1.0.tgz#54d110810ae74eebfe115c1b995bd07e03cf2184" - integrity sha512-KQV/uJDI9VQgN7sHH1Zbk6+42cD6mnQ2HONzkXUfPJ+K2FC8GZ1dpewbbHw0Sz8Tf5k3EVdHVayM4DoAwWlmtg== + version "4.3.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" + integrity sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg== dependencies: filename-reserved-regex "^2.0.0" strip-outer "^1.0.1" trim-repeated "^1.0.0" -filesize@3.6.1, filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - filesize@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== -filesize@^6.1.0: +filesize@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + +filesize@^6.1.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.3.0.tgz#dff53cfb3f104c9e422f346d53be8dbcc971bf11" + integrity sha512-ytx0ruGpDHKWVoiui6+BY/QMNngtDQ/pJaFwfBpQif0J63+E8DLdFyqS3NkKQn7vIruUEpoGD9JUJSg7Kp+I0g== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -13216,6 +12946,16 @@ filter-console@^0.1.1: resolved "https://registry.yarnpkg.com/filter-console/-/filter-console-0.1.1.tgz#6242be28982bba7415bcc6db74a79f4a294fa67c" integrity sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg== +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs= + +filter-obj@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-2.0.2.tgz#fff662368e505d69826abb113f0f6a98f56e9d5f" + integrity sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg== + finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -13251,7 +12991,7 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.0.0, find-cache-dir@^3.2.0, find-cache-dir@^3.3.1: +find-cache-dir@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== @@ -13265,11 +13005,6 @@ find-free-port@~2.0.0: resolved "https://registry.yarnpkg.com/find-free-port/-/find-free-port-2.0.0.tgz#4b22e5f6579eb1a38c41ac6bcb3efed1b6da9b1b" integrity sha1-SyLl9leesaOMQaxryz7+0bbamxs= -find-npm-prefix@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" - integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== - find-root@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -13305,6 +13040,14 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-versions@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" @@ -13384,9 +13127,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + version "4.1.1" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.1.tgz#a392059cc382881ff98642f5da4dde0a959f309b" + integrity sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA== dependencies: is-buffer "~2.0.3" @@ -13395,7 +13138,7 @@ flat@^5.0.2: resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^2.0.0, flatted@^2.0.1, flatted@^2.0.2: +flatted@^2.0.0, flatted@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== @@ -13405,11 +13148,6 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flow-parser@0.*: - version "0.130.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.130.0.tgz#c151001049cb10180cd205e2a0a9bb87630066eb" - integrity sha512-h9NATB7QsKhj2ucgEH2XzB7p+5ubk8IZX5u/qHkN+oyQoECi1diq6mYfIuYBOyL35f3AhJf/YDkBYQBTqqYK+w== - flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -13418,22 +13156,24 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" -focus-lock@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.6.6.tgz#98119a755a38cfdbeda0280eaa77e307eee850c7" - integrity sha512-Dx69IXGCq1qsUExWuG+5wkiMqVM/zGx/reXSJSLogECwp3x6KeNQZ+NAetgxEFpnC41rD8U3+jRCW68+LNzdtw== - -follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== +focus-lock@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.9.1.tgz#e8ec7d4821631112193ae09258107f531588da01" + integrity sha512-/2Nj60Cps6yOLSO+CkVbeSKfwfns5XbX6HOedIK9PdzODP04N9c3xqOcPXayN0WsT9YjJvAnXmI0NdqNIDf5Kw== dependencies: - debug "^3.2.6" + tslib "^2.0.3" -follow-redirects@^1.10.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe" - integrity sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg== +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" @@ -13452,25 +13192,19 @@ foreach@^2.0.5: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" - integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - fork-ts-checker-webpack-plugin@3.1.1, fork-ts-checker-webpack-plugin@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" @@ -13485,7 +13219,7 @@ fork-ts-checker-webpack-plugin@3.1.1, fork-ts-checker-webpack-plugin@^3.1.1: tapable "^1.0.0" worker-rpc "^0.1.0" -fork-ts-checker-webpack-plugin@^4.1.4: +fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.1.4, fork-ts-checker-webpack-plugin@^4.1.6: version "4.1.6" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== @@ -13498,10 +13232,10 @@ fork-ts-checker-webpack-plugin@^4.1.4: tapable "^1.0.0" worker-rpc "^0.1.0" -fork-ts-checker-webpack-plugin@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.1.0.tgz#7581a6ccd7cbbed9ecce3de64fb1f599d7a2990b" - integrity sha512-xLNufWQ1dfQUdZe48TGQlER/0OkcMnUB6lfbN9Tt13wsYyo+2DwcCbnOaPBo1PoFow/WL8pJPktGIdbJaHxAnw== +fork-ts-checker-webpack-plugin@^6.0.4, fork-ts-checker-webpack-plugin@^6.1.0: + version "6.2.10" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz#800ab1fa523c76011a3413bc4e7815e45b63e826" + integrity sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ== dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -13510,6 +13244,7 @@ fork-ts-checker-webpack-plugin@^6.1.0: cosmiconfig "^6.0.0" deepmerge "^4.2.2" fs-extra "^9.0.0" + glob "^7.1.6" memfs "^3.1.2" minimatch "^3.0.4" schema-utils "2.7.0" @@ -13526,9 +13261,9 @@ form-data@^2.3.2: mime-types "^2.1.12" form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -13543,7 +13278,7 @@ form-data@~2.3.1, form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -format@^0.2.0, format@^0.2.2: +format@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs= @@ -13561,15 +13296,15 @@ formik@2.2.6: tiny-warning "^1.0.2" tslib "^1.10.0" -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.0.13: - version "4.0.13" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe" - integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== +fraction.js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff" + integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== fragment-cache@^0.2.1: version "0.2.1" @@ -13601,7 +13336,7 @@ fs-exists-sync@^0.1.0: resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= -fs-extra@8.1.0, fs-extra@^8.0.0, fs-extra@^8.1.0: +fs-extra@8.1.0, fs-extra@^8.0.0, fs-extra@^8.0.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -13610,15 +13345,15 @@ fs-extra@8.1.0, fs-extra@^8.0.0, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@9.0.1, fs-extra@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== +fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" - universalify "^1.0.0" + universalify "^2.0.0" fs-extra@^0.30.0: version "0.30.0" @@ -13649,31 +13384,12 @@ fs-extra@^7.0.1, fs-extra@~7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" - integrity sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1, fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - minipass "^2.2.1" + minipass "^2.6.0" fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" @@ -13690,25 +13406,11 @@ fs-mkdirp-stream@^1.0.0: graceful-fs "^4.1.11" through2 "^2.0.3" -fs-monkey@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.1.tgz#4a82f36944365e619f4454d9fff106553067b781" - integrity sha512-fcSa+wyTqZa46iWweI7/ZiUfegOZl0SG8+dltIwFXo7+zYU9J9kpS3NB6pZcSlJdhvIwp81Adx2XhZorncxiaA== - fs-monkey@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== -fs-vacuum@^1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" - integrity sha1-t2Kb7AekAxolSP35n17PHMizHjY= - dependencies: - graceful-fs "^4.1.2" - path-is-inside "^1.0.1" - rimraf "^2.5.2" - fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -13725,65 +13427,47 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" -fsevents@^2.1.2: +fsevents@^2.1.2, fsevents@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@~2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -fsevents@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== - -function-bind@^1.0.2, function-bind@^1.1.1: +function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -function.prototype.name@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - is-callable "^1.1.3" - -function.prototype.name@^1.1.1, function.prototype.name@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz#5cdf79d7c05db401591dfde83e3b70c5123e9a45" - integrity sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg== +function.prototype.name@^1.1.0, function.prototype.name@^1.1.2, function.prototype.name@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.4.tgz#e4ea839b9d3672ae99d0efd9f38d9191c5eaac83" + integrity sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - functions-have-names "^1.2.0" + es-abstract "^1.18.0-next.2" + functions-have-names "^1.2.2" functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -functions-have-names@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91" - integrity sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA== - -fuse.js@^3.4.6: - version "3.4.6" - resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.6.tgz#545c3411fed88bf2e27c457cab6e73e7af697a45" - integrity sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg== +functions-have-names@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21" + integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== fuse.js@^3.6.1: version "3.6.1" @@ -13823,27 +13507,10 @@ genfun@^5.0.0: resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -gentle-fs@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz#11201bf66c18f930ddca72cf69460bdfa05727b1" - integrity sha512-OlwBBwqCFPcjm33rF2BjW+Pr6/ll2741l+xooiwTCeaX2CA1ZuclavyMBe0/KlR21/XGsgY6hzEQZ15BdNa13Q== - dependencies: - aproba "^1.1.2" - chownr "^1.1.2" - cmd-shim "^3.0.3" - fs-vacuum "^1.2.10" - graceful-fs "^4.1.11" - iferr "^0.1.5" - infer-owner "^1.0.4" - mkdirp "^0.5.1" - path-is-inside "^1.0.2" - read-cmd-shim "^1.0.1" - slide "^1.1.6" +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^1.0.1: version "1.0.3" @@ -13860,10 +13527,10 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" - integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -13877,9 +13544,9 @@ get-lerna-packages@^0.1.1: glob "^7.1.2" get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" @@ -13940,16 +13607,16 @@ get-stream@^4.0.0, get-stream@^4.1.0: pump "^3.0.0" get-stream@^5.0.0, get-stream@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" @@ -13995,16 +13662,8 @@ git-remote-origin-url@^2.0.0: resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.2.tgz#f506ec07caade191ac0c8d5a21bdb8131b4934e3" - integrity sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w== - dependencies: - meow "^4.0.0" - semver "^5.5.0" + gitconfiglocal "^1.0.0" + pify "^2.3.0" git-semver-tags@^2.0.3: version "2.0.3" @@ -14015,17 +13674,17 @@ git-semver-tags@^2.0.3: semver "^6.0.0" git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" + integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== dependencies: is-ssh "^1.3.0" parse-url "^5.0.0" git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== + version "11.4.4" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.4.4.tgz#5d747debc2469c17bc385719f7d0427802d83d77" + integrity sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw== dependencies: git-up "^4.0.0" @@ -14066,10 +13725,10 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -14106,16 +13765,17 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob-watcher@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" - integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== +glob-watcher@^5.0.3, glob-watcher@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== dependencies: anymatch "^2.0.0" async-done "^1.2.0" chokidar "^2.0.0" is-negated-glob "^1.0.0" just-debounce "^1.0.0" + normalize-path "^3.0.0" object.defaults "^1.1.0" glob@7.1.3: @@ -14142,7 +13802,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: +glob@7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -14165,6 +13825,18 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -14228,17 +13900,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13" - integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== +globals@^13.6.0, globals@^13.9.0: + version "13.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" + integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== dependencies: type-fest "^0.20.2" @@ -14248,26 +13913,34 @@ globals@^9.18.0: integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== globalthis@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.0.tgz#c5fb98213a9b4595f59cf3e7074f141b4169daae" - integrity sha512-vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - object-keys "^1.0.12" + define-properties "^1.1.3" -globby@*, globby@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== +globby@*, globby@^11.0.0, globby@^11.0.1, globby@^11.0.2, globby@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== dependencies: - "@types/glob" "^7.1.1" array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" slash "^3.0.0" globby@8.0.2: @@ -14283,16 +13956,18 @@ globby@8.0.2: pify "^3.0.0" slash "^1.0.0" -globby@^11.0.0, globby@^11.0.1, globby@^11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== dependencies: + "@types/glob" "^7.1.1" array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" slash "^3.0.0" globby@^6.1.0: @@ -14321,9 +13996,9 @@ globby@^9.2.0: slash "^2.0.0" globule@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" - integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== dependencies: glob "~7.1.1" lodash "~4.17.10" @@ -14344,9 +14019,9 @@ good-listener@^1.2.2: delegate "^3.1.2" got@^11.7.0: - version "11.8.1" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.1.tgz#df04adfaf2e782babb3daabc79139feec2f7e85d" - integrity sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q== + version "11.8.2" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599" + integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ== dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" @@ -14400,38 +14075,11 @@ got@^8.3.1: url-parse-lax "^3.0.0" url-to-options "^1.0.1" -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graceful-fs@^4.1.10: +graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.3, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -14483,9 +14131,9 @@ gulp-cache@^1.0.2: vinyl "^2.2.0" gulp-cli@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" - integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== dependencies: ansi-colors "^1.0.1" archy "^1.0.0" @@ -14495,7 +14143,7 @@ gulp-cli@^2.2.0: copy-props "^2.0.1" fancy-log "^1.3.2" gulplog "^1.0.0" - interpret "^1.1.0" + interpret "^1.4.0" isobject "^3.0.1" liftoff "^3.1.0" matchdep "^2.0.0" @@ -14503,7 +14151,7 @@ gulp-cli@^2.2.0: pretty-hrtime "^1.0.0" replace-homedir "^1.0.0" semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.0.1" + v8flags "^3.2.0" yargs "^7.1.0" gulp-remember@^1.0.1: @@ -14602,11 +14250,11 @@ halcyon@^0.19.1: integrity sha1-86aN7DydyKJ8Ot5pbol+GxSfCKc= handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -handlebars@*, handlebars@^4.0.1, handlebars@^4.1.0, handlebars@^4.4.3, handlebars@^4.7.6: +handlebars@*, handlebars@^4.0.1, handlebars@^4.4.3, handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -14632,11 +14280,11 @@ har-validator@~5.0.3: har-schema "^2.0.0" har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" hard-rejection@^2.1.0: @@ -14651,6 +14299,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-binary2@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" @@ -14683,6 +14336,13 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" + integrity sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc= + dependencies: + is-glob "^3.0.0" + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -14695,10 +14355,10 @@ has-symbol-support-x@^1.4.1: resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-to-string-tag-x@^1.2.0: version "1.4.1" @@ -14743,12 +14403,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -14756,12 +14411,13 @@ has@^1.0.1, has@^1.0.3: function-bind "^1.1.1" hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" @@ -14771,72 +14427,71 @@ hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hast-to-hyperscript@^7.0.0: - version "7.0.4" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-7.0.4.tgz#7c4c037d9a8ea19b0a3fdb676a26448ad922353d" - integrity sha512-vmwriQ2H0RPS9ho4Kkbf3n3lY436QKLq6VaGA1pzBh36hBi3tm1DO9bR+kaJIbpT10UqaANDkMjxvjVfr+cnOA== +hast-to-hyperscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: + "@types/unist" "^2.0.3" comma-separated-tokens "^1.0.0" property-information "^5.3.0" space-separated-tokens "^1.0.0" - style-to-object "^0.2.1" - unist-util-is "^3.0.0" - web-namespaces "^1.1.2" + style-to-object "^0.3.0" + unist-util-is "^4.0.0" + web-namespaces "^1.0.0" -hast-util-from-parse5@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.2.tgz#afeadc6aab41e6acfe038645bbefd4005c56a475" - integrity sha512-YXFjoRS7ES7PEoLx6uihtSfKTO1s3z/tzGiV5cVpsUiihduogFXubNRCzTIW3yOOGO1nws9CxPq4MbwD39Uo+w== +hast-util-from-parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: - ccount "^1.0.3" - hastscript "^5.0.0" + "@types/parse5" "^5.0.0" + hastscript "^6.0.0" property-information "^5.0.0" - web-namespaces "^1.1.2" - xtend "^4.0.1" + vfile "^4.0.0" + vfile-location "^3.2.0" + web-namespaces "^1.0.0" hast-util-parse-selector@^2.0.0: version "2.2.5" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== -hast-util-parse-selector@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" - integrity sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw== - -hast-util-raw@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-5.0.1.tgz#b39539cf4b9f7ccdc131f72a583502a7911b99ee" - integrity sha512-iHo7G6BjRc/GU1Yun5CIEXjil0wVnIbz11C6k0JdDichSDMtYi2+NNtk6YN7EOP0JfPstX30d3pRLfaJv5CkdA== +hast-util-raw@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" + integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== dependencies: - hast-util-from-parse5 "^5.0.0" - hast-util-to-parse5 "^5.0.0" - html-void-elements "^1.0.1" - parse5 "^5.0.0" + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^6.0.0" + hast-util-to-parse5 "^6.0.0" + html-void-elements "^1.0.0" + parse5 "^6.0.0" unist-util-position "^3.0.0" + vfile "^4.0.0" web-namespaces "^1.0.0" - xtend "^4.0.1" + xtend "^4.0.0" zwitch "^1.0.0" -hast-util-to-parse5@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-5.1.1.tgz#cabf2dbe9ed988a5128fc708457b37cdf535a2e8" - integrity sha512-ivCeAd5FCXr7bapJIVsWMnx/EmbjkkW2TU2hd1prq+jGwiaUoK+FcpjyPNwsC5ogzCwWO669tOqIovGeLc/ntg== +hast-util-to-parse5@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" + integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== dependencies: - hast-to-hyperscript "^7.0.0" + hast-to-hyperscript "^9.0.0" property-information "^5.0.0" web-namespaces "^1.0.0" - xtend "^4.0.1" + xtend "^4.0.0" zwitch "^1.0.0" hastscript@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.0.tgz#a19b3cca6a26a2bcd0f1b1eac574af9427c1c7df" - integrity sha512-7mOQX5VfVs/gmrOGlN8/EDfp1GqV6P3gTNVt+KnX4gbYhpASTM8bklFdFQCbFRAadURXAmw0R1QQdBdqp7jswQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a" + integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ== dependencies: comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.2.0" - property-information "^5.0.1" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" space-separated-tokens "^1.0.0" hastscript@^6.0.0: @@ -14850,7 +14505,7 @@ hastscript@^6.0.0: property-information "^5.0.0" space-separated-tokens "^1.0.0" -he@1.2.0, he@1.2.x, he@^1.2.0: +he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -14871,10 +14526,10 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" -highlight.js@^10.1.1, highlight.js@~10.6.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.6.0.tgz#0073aa71d566906965ba6e1b7be7b2682f5e18b6" - integrity sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ== +highlight.js@^10.1.1, highlight.js@~10.7.0: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== highlight.js@~9.13.0: version "9.13.1" @@ -14917,20 +14572,13 @@ hoek@6.x.x: resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== -hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0: +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" -hoist-non-react-statics@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f" - integrity sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw== - dependencies: - react-is "^16.7.0" - homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -14961,11 +14609,12 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-element-map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592" - integrity sha512-BZSfdEm6n706/lBfXKWa4frZRZcT5k1cOusw95ijZsHlI+GdgY0v95h6IzO3iIDf2ROwq570YTwqNPqHcNMozw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.3.1.tgz#44b2cbcfa7be7aa4ff59779e47e51012e1c73c08" + integrity sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg== dependencies: - array-filter "^1.0.0" + array.prototype.filter "^1.0.0" + call-bind "^1.0.2" html-encoding-sniffer@^1.0.2: version "1.0.2" @@ -14981,57 +14630,38 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= - -html-entities@^1.3.1: +html-entities@^1.2.0, html-entities@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== html-escaper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" - integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-loader@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" - integrity sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog== +html-loader@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.3.2.tgz#5a72ebba420d337083497c9aba7866c9e1aee340" + integrity sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA== dependencies: - es6-templates "^0.2.3" - fastparse "^1.1.1" - html-minifier "^3.5.8" - loader-utils "^1.1.0" - object-assign "^4.1.1" + html-minifier-terser "^5.1.1" + htmlparser2 "^4.1.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" -html-minifier-terser@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz#0e67a0b062ae1dd0719fc73199479298f807ae16" - integrity sha512-VAaitmbBuHaPKv9bj47XKypRhgDxT/cDLvsPiiF7w+omrN3K0eQhpigV9Z1ilrmHa9e0rOYcD6R/+LCDADGcnQ== +html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== dependencies: - camel-case "^3.0.0" - clean-css "^4.2.1" - commander "^4.0.0" + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" he "^1.2.0" - param-case "^2.1.1" + param-case "^3.0.3" relateurl "^0.2.7" - terser "^4.3.9" - -html-minifier@^3.5.8: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" + terser "^4.6.3" html-tags@^3.1.0: version "3.1.0" @@ -15039,16 +14669,16 @@ html-tags@^3.1.0: integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== html-to-react@^1.3.4: - version "1.4.2" - resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.2.tgz#7b628ab56cd63a52f2d0b79d0fa838a51f088a57" - integrity sha512-TdTfxd95sRCo6QL8admCkE7mvNNrXtGoVr1dyS+7uvc8XCqAymnf/6ckclvnVbQNUo2Nh21VPwtfEHd0khiV7g== + version "1.4.5" + resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.5.tgz#59091c11021d1ef315ef738460abb6a4a41fe1ce" + integrity sha512-KONZUDFPg5OodWaQu2ymfkDmU0JA7zB1iPfvyHehTmMUZnk0DS7/TyCMTzsLH6b4BvxX15g88qZCXFhJWktsmA== dependencies: - domhandler "^3.0" - htmlparser2 "^4.0" + domhandler "^3.3.0" + htmlparser2 "^5.0" lodash.camelcase "^4.3.0" - ramda "^0.26" + ramda "^0.27.1" -html-void-elements@^1.0.1: +html-void-elements@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== @@ -15065,25 +14695,10 @@ html-webpack-plugin@5.1.0: pretty-error "^2.1.1" tapable "^2.0.0" -html-webpack-plugin@^4.0.0-beta.2: - version "4.3.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd" - integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -html-webpack-plugin@^4.2.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz#40aaf1b5cb78f2f23a83333999625c20929cda65" - integrity sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg== +html-webpack-plugin@^4.0.0, html-webpack-plugin@^4.2.1: + version "4.5.2" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" + integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== dependencies: "@types/html-minifier-terser" "^5.0.0" "@types/tapable" "^1.0.5" @@ -15095,7 +14710,7 @@ html-webpack-plugin@^4.2.1: tapable "^1.1.3" util.promisify "1.0.0" -"htmlparser2@>= 3.7.3 < 4.0.0", htmlparser2@^3.3.0, htmlparser2@^3.9.1: +"htmlparser2@>= 3.7.3 < 4.0.0": version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -15107,10 +14722,10 @@ html-webpack-plugin@^4.2.1: inherits "^2.0.1" readable-stream "^3.1.1" -htmlparser2@^4.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.0.0.tgz#6034658db65b7713a572a9ebf79f650832dceec8" - integrity sha512-cChwXn5Vam57fyXajDtPXL1wTYc8JtLbr2TN76FYu05itVVVealxLowe2B3IEznJG4p9HAYn/0tJaRlGuEglFQ== +htmlparser2@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" + integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== dependencies: domelementtype "^2.0.1" domhandler "^3.0.0" @@ -15142,7 +14757,7 @@ http-cache-semantics@3.8.1, http-cache-semantics@^3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== -http-cache-semantics@^4.0.0, http-cache-semantics@^4.0.4: +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== @@ -15184,11 +14799,6 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -"http-parser-js@>=0.4.0 <0.4.11": - version "0.4.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" - integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= - http-parser-js@>=0.5.1: version "0.5.3" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" @@ -15212,14 +14822,14 @@ http-proxy-agent@^4.0.1: debug "4" http-proxy-middleware@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.0.6.tgz#0618557722f450375d3796d701a8ac5407b3b94e" - integrity sha512-NyL6ZB6cVni7pl+/IT2W0ni5ME00xR0sN27AQZZrpKn1b+qRh+mLbBxIq9Cq1oGfmTc7BUq4HB77mxwCaxAYNg== + version "1.3.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz#43700d6d9eecb7419bf086a128d0f7205d9eb665" + integrity sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg== dependencies: - "@types/http-proxy" "^1.17.4" + "@types/http-proxy" "^1.17.5" http-proxy "^1.18.1" is-glob "^4.0.1" - lodash "^4.17.20" + is-plain-obj "^3.0.0" micromatch "^4.0.2" http-proxy@^1.18.1, http-proxy@~1.18.1: @@ -15241,9 +14851,9 @@ http-signature@~1.2.0: sshpk "^1.7.0" http2-wrapper@^1.0.0-beta.5.2: - version "1.0.0-beta.5.2" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" - integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== dependencies: quick-lru "^5.1.1" resolve-alpn "^1.0.0" @@ -15291,12 +14901,12 @@ hyperlinker@^1.0.0: resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== -hyphenate-style-name@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48" - integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ== +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -15304,9 +14914,9 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -15343,14 +14953,14 @@ ignore-loader@^0.1.2: integrity sha1-2B8kA3bQuk8Nd4lyw60lh0EXpGM= ignore-not-found-export-webpack-plugin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-not-found-export-webpack-plugin/-/ignore-not-found-export-webpack-plugin-1.0.1.tgz#9227691ea6a7478843563fede883e45c89297dc9" - integrity sha512-rVGtZt7wHdigYMlu3B/YHj9GHvutG7dG1D98UEgAY7sr3vj9Q8cQbqUTS9hDseFRkn8yzl9qvuuIRc4wncHsWg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/ignore-not-found-export-webpack-plugin/-/ignore-not-found-export-webpack-plugin-1.0.2.tgz#53c14198a45f05be306af4cb273890a3edf145c8" + integrity sha512-CeMqul+L7fEEc59NpQhzr5sh/LRjbMW4cYmMUJWdCm3dYyWF8Big6qea0YSBHQvajKfrnKTcARmwzd9rTp+50w== ignore-walk@^3.0.1, ignore-walk@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" @@ -15374,11 +14984,16 @@ immer@1.10.0: resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== -immer@^8.0.1: +immer@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== +immer@^8.0.1: + version "8.0.4" + resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.4.tgz#3a21605a4e2dded852fb2afd208ad50969737b7a" + integrity sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ== + immutability-helper@~2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.8.1.tgz#3c5ec05fcd83676bfae7146f319595243ad904f4" @@ -15402,9 +15017,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -15479,11 +15094,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -15556,25 +15166,6 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -inquirer@6.5.0, inquirer@^6.2.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - inquirer@7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" @@ -15594,7 +15185,26 @@ inquirer@7.0.4: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^7.0.0, inquirer@^7.3.3: +inquirer@^6.2.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.0, inquirer@^7.1.0, inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== @@ -15623,26 +15233,21 @@ internal-ip@^6.2.0: is-ip "^3.1.0" p-event "^4.2.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" - -interpret@^1.0.0, interpret@^1.0.1, interpret@^1.1.0, interpret@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + side-channel "^1.0.4" -interpret@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.0.0.tgz#b783ffac0b8371503e9ab39561df223286aa5433" - integrity sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA== +interpret@^1.0.0, interpret@^1.0.1, interpret@^1.2.0, interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -interpret@^2.2.0: +interpret@^2.0.0, interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== @@ -15672,11 +15277,6 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - ip-regex@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" @@ -15687,12 +15287,7 @@ ip@1.1.5, ip@^1.1.0, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@^1.9.1: +ipaddr.js@1.9.1, ipaddr.js@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -15724,23 +15319,25 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-alphabetical@1.0.3, is-alphabetical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" - integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphanumerical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" - integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== +is-arguments@^1.0.4, is-arguments@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -15752,6 +15349,11 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -15766,10 +15368,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93" - integrity sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M= +is-boolean-object@^1.0.0, is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + dependencies: + call-bind "^1.0.2" is-buffer@^1.1.4, is-buffer@^1.1.5: version "1.1.6" @@ -15777,19 +15381,14 @@ is-buffer@^1.1.4, is-buffer@^1.1.5: integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.0, is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== is-ci@^1.0.10: version "1.2.1" @@ -15805,17 +15404,10 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== +is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== dependencies: has "^1.0.3" @@ -15834,14 +15426,14 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== is-decimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" - integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-descriptor@^0.1.0: version "0.1.6" @@ -15867,9 +15459,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-dom@^1.0.0: version "1.1.0" @@ -15902,11 +15494,9 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== is-fullwidth-code-point@^1.0.0: version "1.0.0" @@ -15925,12 +15515,7 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-function@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" - integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= - -is-function@^1.0.2: +is-function@^1.0.1, is-function@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== @@ -15941,9 +15526,9 @@ is-generator-fn@^2.0.0: integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" - integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c" + integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== is-glob@^2.0.0: version "2.0.1" @@ -15952,7 +15537,7 @@ is-glob@^2.0.0: dependencies: is-extglob "^1.0.0" -is-glob@^3.1.0: +is-glob@^3.0.0, is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= @@ -15967,9 +15552,9 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" - integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-installed-globally@^0.1.0: version "0.1.0" @@ -16011,6 +15596,11 @@ is-lower-case@^1.1.0: dependencies: lower-case "^1.1.0" +is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -16034,7 +15624,7 @@ is-negated-glob@^1.0.0: resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= -is-negative-zero@^2.0.0: +is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== @@ -16044,15 +15634,10 @@ is-npm@^1.0.0: resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= -is-npm@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" - integrity sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA== - -is-number-object@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" - integrity sha1-8mWrian0RQNO9q/xWo8AsA9VF5k= +is-number-object@^1.0.3, is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== is-number@^3.0.0: version "3.0.0" @@ -16076,10 +15661,15 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== is-observable@^1.1.0: version "1.1.0" @@ -16115,9 +15705,9 @@ is-path-inside@^2.1.0: path-is-inside "^1.0.2" is-path-inside@^3.0.1, is-path-inside@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" @@ -16129,12 +15719,10 @@ is-plain-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-object@3.0.0, is-plain-object@^3.0.0: +is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" - integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== - dependencies: - isobject "^4.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-object@3.0.1: version "3.0.1" @@ -16148,17 +15736,17 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-promise@^2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-promise@^2.1.0: +is-promise@^2.1.0, is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== @@ -16175,19 +15763,13 @@ is-reference@^1.1.2: dependencies: "@types/estree" "*" -is-regex@^1.0.4, is-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== +is-regex@^1.0.4, is-regex@^1.1.0, is-regex@^1.1.2, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== dependencies: - has-symbols "^1.0.1" + call-bind "^1.0.2" + has-symbols "^1.0.2" is-regexp@^1.0.0: version "1.0.0" @@ -16211,10 +15793,15 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== + version "1.3.3" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" + integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== dependencies: protocols "^1.1.0" @@ -16228,34 +15815,22 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-string@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64" - integrity sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ= - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.4, is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-text-path@^1.0.1: version "1.0.1" @@ -16264,21 +15839,14 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-text-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" - integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== - dependencies: - text-extensions "^2.0.0" - is-typed-array@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.4.tgz#1f66f34a283a3c94a4335434661ca53fff801120" - integrity sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA== + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" + integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== dependencies: available-typed-arrays "^1.0.2" - call-bind "^1.0.0" - es-abstract "^1.18.0-next.1" + call-bind "^1.0.2" + es-abstract "^1.18.0-next.2" foreach "^2.0.5" has-symbols "^1.0.1" @@ -16341,23 +15909,13 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -is-wsl@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== - -is-wsl@^2.1.1: +is-wsl@^2.1.0, is-wsl@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -16373,10 +15931,15 @@ isarray@2.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isbinaryfile@^4.0.2, isbinaryfile@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" - integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== + version "4.0.8" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" + integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== isemail@3.x.x: version "3.2.0" @@ -16570,6 +16133,19 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +iterate-iterator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" + integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== + +iterate-value@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== + dependencies: + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" + jake@^10.6.1: version "10.8.2" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" @@ -16651,10 +16227,20 @@ jest-diff@^24.3.0, jest-diff@^24.8.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== dependencies: detect-newline "^2.1.0" @@ -16692,12 +16278,12 @@ jest-environment-node@^24.9.0: jest-mock "^24.9.0" jest-util "^24.9.0" -jest-fela-bindings@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/jest-fela-bindings/-/jest-fela-bindings-10.6.1.tgz#7813de822e8d50b2b58478716e7821fbf727e725" - integrity sha512-vHDmx12nUAKVKGKnak8TsBhT8cKE081cqBFhDLCQ0kuQCcPWeJKBJ9kxkshCNoreg/HCi7e/qFvNEg4NZ39SYQ== +jest-fela-bindings@^10.8.2: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jest-fela-bindings/-/jest-fela-bindings-10.8.2.tgz#3540ccf463e4e317e05d41d8e30208305e9cc1ec" + integrity sha512-evNbxaA3BD71Zz1Dcqj/DIyWCr1yjdgYnhFIVfwo02rDckfxA+hE7/vQ1KhiD1Klh/EfmuZJ6+O9DhaMhwSe6g== dependencies: - fela-tools "^10.6.1" + fela-tools "^10.8.2" htmltojsx "^0.3.0" jest-get-type@^24.8.0, jest-get-type@^24.9.0: @@ -16705,6 +16291,11 @@ jest-get-type@^24.8.0, jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + jest-haste-map@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" @@ -16816,29 +16407,19 @@ jest-mock@^24.9.0: dependencies: "@jest/types" "^24.9.0" -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-pnp-resolver@^1.2.2: +jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== jest-react-fela@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/jest-react-fela/-/jest-react-fela-10.6.1.tgz#8851fa3ed70b9908b7f8f7cef254926ffc4fad72" - integrity sha512-LRRw+Ub1czDZHL71bOMftQ17IlFVQmgUiaQw82RoeKc2Cp0COWOzTuGTQCeT5cPbgBJ75wTSgdG4Egvx5TpACA== + version "10.8.2" + resolved "https://registry.yarnpkg.com/jest-react-fela/-/jest-react-fela-10.8.2.tgz#a40dc7f31757f905fc2d7c5637933d626974ed5a" + integrity sha512-ZSoezEKUPIJfTCBD4NsjhJUjvNTOITqVs40Tls1BQ/cZM/03nIG3Yc0dAALohT0r5yHNR+x45wE7+DaMM7YO+g== dependencies: - jest-fela-bindings "^10.6.1" - -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + jest-fela-bindings "^10.8.2" -jest-regex-util@^24.9.0: +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== @@ -16949,7 +16530,7 @@ jest-serializer@^26.6.2: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^24.1.0, jest-snapshot@^24.9.0, jest-snapshot@~24.9.0: +jest-snapshot@^24.9.0, jest-snapshot@~24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== @@ -16968,13 +16549,6 @@ jest-snapshot@^24.1.0, jest-snapshot@^24.9.0, jest-snapshot@~24.9.0: pretty-format "^24.9.0" semver "^6.2.0" -jest-specific-snapshot@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/jest-specific-snapshot/-/jest-specific-snapshot-2.0.0.tgz#425fe524b25df154aa39f97fa6fe9726faaac273" - integrity sha512-aXaNqBg/svwEpY5iQEzEHc5I85cUBKgfeVka9KmpznxLnatpjiqjr7QLb/BYNYlsrZjZzgRHTjQJ+Svx+dbdvg== - dependencies: - jest-snapshot "^24.1.0" - jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" @@ -17043,15 +16617,7 @@ jest-watcher@^24.3.0, jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== - dependencies: - merge-stream "^1.0.1" - supports-color "^6.1.0" - -jest-worker@^24.9.0: +jest-worker@^24.6.0, jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -17068,6 +16634,15 @@ jest-worker@^26.2.1, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.0.2: + version "27.0.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05" + integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" @@ -17091,21 +16666,21 @@ joi@~14.3.1: topo "3.x.x" js-base64@^2.1.8: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== -js-message@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" - integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== -js-queue@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" - integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= +js-queue@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" + integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== dependencies: - easy-stack "^1.0.0" + easy-stack "^1.0.1" js-string-escape@^1.0.1: version "1.0.1" @@ -17122,7 +16697,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.13.1: +js-yaml@3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -17130,15 +16705,7 @@ js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^3.9.0: +js-yaml@3.x, js-yaml@^3.13.1, js-yaml@^3.9.0: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -17146,59 +16713,18 @@ js-yaml@^3.9.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jscodeshift@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.6.4.tgz#e19ab86214edac86a75c4557fc88b3937d558a8e" - integrity sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.1.11" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.16.1" - temp "^0.8.1" - write-file-atomic "^2.3.0" - -jscodeshift@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.7.1.tgz#0236ad475d6f0770ca998a0160925d62b57d2507" - integrity sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.1.11" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.18.1" - temp "^0.8.1" - write-file-atomic "^2.3.0" - jsdom-global@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsdom-global/-/jsdom-global-3.0.2.tgz#6bd299c13b0c4626b2da2c0393cd4385d606acb9" @@ -17252,35 +16778,36 @@ jsdom@^11.5.1: xml-name-validator "^3.0.0" jsdom@^16.2.2: - version "16.3.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c" - integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg== + version "16.6.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac" + integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg== dependencies: - abab "^2.0.3" - acorn "^7.1.1" + abab "^2.0.5" + acorn "^8.2.4" acorn-globals "^6.0.0" cssom "^0.4.4" - cssstyle "^2.2.0" + cssstyle "^2.3.0" data-urls "^2.0.0" - decimal.js "^10.2.0" + decimal.js "^10.2.1" domexception "^2.0.1" - escodegen "^1.14.1" + escodegen "^2.0.0" + form-data "^3.0.0" html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" + parse5 "6.0.1" + saxes "^5.0.1" symbol-tree "^3.2.4" - tough-cookie "^3.0.1" + tough-cookie "^4.0.0" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" + whatwg-url "^8.5.0" + ws "^7.4.5" xml-name-validator "^3.0.0" jsesc@^1.3.0: @@ -17322,10 +16849,10 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-bet resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.2.0.tgz#304d29aa54bb01156a1328c454034ff0ac8a7bf4" - integrity sha512-2tLgY7LRNZ9Hd6gmCuBG5/OjRHQpSgJQqJoYyLLOhUgn8LdOYrjaZLcxkWnDads+AD/haWWioPNziXQcgvQJ/g== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.3.0: version "0.3.1" @@ -17364,17 +16891,17 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json3@^3.3.2, json3@^3.3.3: +json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x, json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== +json5@2.x, json5@^2.1.0, json5@^2.1.1, json5@^2.1.2, json5@^2.1.3: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: - minimist "^1.2.0" + minimist "^1.2.5" json5@^0.5.0: version "0.5.1" @@ -17388,20 +16915,6 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -17417,11 +16930,11 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - universalify "^1.0.0" + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" @@ -17436,9 +16949,9 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= jsonpointer@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== jsonwebtoken@^8.2.1: version "8.5.1" @@ -17466,30 +16979,35 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" - integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== dependencies: - array-includes "^3.0.3" - object.assign "^4.1.0" + array-includes "^3.1.2" + object.assign "^4.1.2" + +junk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" + integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== just-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" - integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= + version "1.1.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== "just-scripts-utils@>=1.1.1 <2.0.0", just-scripts-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.1.1.tgz#0dd86ad07301fdb5634844524021b78cc077f364" - integrity sha512-pyb/1vHfgpZwHPqG2KJm92DbByjwqhZYOTFI1zRVtwEjDy0laxnqPl4+5Gp1NK+9u12W1OxK04iMjoQScXimsw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/just-scripts-utils/-/just-scripts-utils-1.1.2.tgz#288c329b207f380b4b5a2223910e4e6c2bf6bfa7" + integrity sha512-IH0Qo2dg6dcvG/owVF5x0+TgWezCx7nrKsIQ80n8VdlowZAXMLlR6o8XT0b7rtoBvkbQUnUbNGQAB6EBhlpxHw== dependencies: fs-extra "^8.0.0" glob "^7.1.3" handlebars "^4.7.6" jju "^1.4.0" just-task-logger ">=1.1.1 <2.0.0" - marked "^1.2.7" + marked "^2.0.0" marked-terminal "^4.1.0" semver "^7.0.0" tar "^6.1.0" @@ -17521,14 +17039,15 @@ just-scripts@1.3.1: yargs "^16.2.0" "just-task@>=1.1.1 <2.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/just-task/-/just-task-1.1.1.tgz#74cc58fd67d40d25a7838cb3d6d8aa8468d155e5" - integrity sha512-XwBrJtOLqjBHWvqCzzrTBiEfN1HZBXv+TTqAENMcivKoMNuNFIVdfBGtXpU2u9xnVm01XNwOCXg6BePBxty6nA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/just-task/-/just-task-1.4.1.tgz#5ea4d18510aeac4a76ce89e17a788a82cff691d5" + integrity sha512-JFrsEVGktpwY4JEX6NOeZby/DClupBYMXwAlZDJAgonNLpoUkYRPmi2TjXgfBv+QkcnKt24HNnqrfTzOXNlZcQ== dependencies: "@rushstack/package-deps-hash" "^2.4.109" bach "^1.2.0" chalk "^4.0.0" fs-extra "^8.0.0" + glob-watcher "^5.0.5" just-task-logger ">=1.1.1 <2.0.0" resolve "^1.19.0" undertaker "^1.3.0" @@ -17613,9 +17132,9 @@ karma-source-map-support@^1.4.0: source-map-support "^0.5.5" karma-sourcemap-loader@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8" - integrity sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg= + version "0.3.8" + resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.8.tgz#d4bae72fb7a8397328a62b75013d2df937bdcf9c" + integrity sha512-zorxyAakYZuBcHRJE+vbrK2o2JXLFWK8VVjiT/6P+ltLBUGUvqTEkUiQ119MGdOrK7mrmxXHZF1/pfT6GgIZ6g== dependencies: graceful-fs "^4.1.2" @@ -17632,23 +17151,22 @@ karma-webpack@^4.0.2: webpack-dev-middleware "^3.7.0" karma@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-5.1.0.tgz#deaa5f3939f75d7d78ded33283fa5f9bb67e9a05" - integrity sha512-I3aPbkuIbwuBo6wSog97P5WnnhCgUTsWTu/bEw1vZVQFbXmKO3PK+cfFhZioOgVtJAuQxoyauGNjnwXNHMCxbw== + version "5.2.3" + resolved "https://registry.yarnpkg.com/karma/-/karma-5.2.3.tgz#3264024219bad2728e92542e0058a2492d7a46e4" + integrity sha512-tHdyFADhVVPBorIKCX8A37iLHxc6RBRphkSoQ+MLKdAtFn1k97tD8WUGi1KlEtDZKL3hui0qhsY9HXUfSNDYPQ== dependencies: body-parser "^1.19.0" braces "^3.0.2" - chokidar "^3.0.0" + chokidar "^3.4.2" colors "^1.4.0" connect "^3.7.0" di "^0.0.1" dom-serialize "^2.2.1" - flatted "^2.0.2" glob "^7.1.6" graceful-fs "^4.2.4" http-proxy "^1.18.1" isbinaryfile "^4.0.6" - lodash "^4.17.15" + lodash "^4.17.19" log4js "^6.2.1" mime "^2.4.5" minimatch "^3.0.4" @@ -17658,7 +17176,7 @@ karma@^5.0.4: socket.io "^2.3.0" source-map "^0.6.1" tmp "0.2.1" - ua-parser-js "0.7.21" + ua-parser-js "0.7.22" yargs "^15.3.1" keyborg@^0.7.1: @@ -17673,13 +17191,6 @@ keyv@3.0.0: dependencies: json-buffer "3.0.0" -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - keyv@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" @@ -17716,12 +17227,7 @@ kind-of@^5.0.0, kind-of@^5.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -17763,6 +17269,18 @@ lage@0.27.0: workspace-tools "^0.10.2" yargs-parser "^18.1.3" +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + last-run@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" @@ -17778,13 +17296,6 @@ latest-version@^3.0.0: dependencies: package-json "^4.0.0" -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -17842,13 +17353,13 @@ lerna-alias@^3.0.3-0: get-lerna-packages "^0.1.1" lerna-dependency-graph@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lerna-dependency-graph/-/lerna-dependency-graph-1.0.2.tgz#553c095907304392ff7fc71a20e9cdabcba2c364" - integrity sha512-g+YTZWgeLkkEcvCuek8IU7Cgb/Kw9/Z662KXdyZUF3Bq4xB8UnIhapF56dD3WQbfyWDJ9iP8BoINX2oPy3JuXA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/lerna-dependency-graph/-/lerna-dependency-graph-1.1.0.tgz#ee3f679107c5c49eb7dbe290db2a7200eda4c068" + integrity sha512-WddA3FjyTw6vespay42d8vB5NzL09Es/zR7bK/2FbEzaMzUGCGyCPVUp5Kr1kAPuGlXI33T+5UYD/783SyDfOQ== dependencies: - "@lerna/project" "^3.18.0" + "@lerna/project" "^4.0.0" graphviz "0.0.9" - yargs "^15.1.0" + yargs "^16.2.0" lerna@^3.21.0: version "3.22.1" @@ -17869,130 +17380,31 @@ lerna@^3.21.0: "@lerna/link" "3.21.0" "@lerna/list" "3.21.0" "@lerna/publish" "3.22.1" - "@lerna/run" "3.21.0" - "@lerna/version" "3.22.1" - import-local "^2.0.0" - npmlog "^4.1.2" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -libnpm@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/libnpm/-/libnpm-2.0.1.tgz#a48fcdee3c25e13c77eb7c60a0efe561d7fb0d8f" - integrity sha512-qTKoxyJvpBxHZQB6k0AhSLajyXq9ZE/lUsZzuHAplr2Bpv9G+k4YuYlExYdUCeVRRGqcJt8hvkPh4tBwKoV98w== - dependencies: - bin-links "^1.1.2" - bluebird "^3.5.3" - find-npm-prefix "^1.0.2" - libnpmaccess "^3.0.1" - libnpmconfig "^1.2.1" - libnpmhook "^5.0.2" - libnpmorg "^1.0.0" - libnpmpublish "^1.1.0" - libnpmsearch "^2.0.0" - libnpmteam "^1.0.1" - lock-verify "^2.0.2" - npm-lifecycle "^2.1.0" - npm-logical-tree "^1.2.1" - npm-package-arg "^6.1.0" - npm-profile "^4.0.1" - npm-registry-fetch "^3.8.0" - npmlog "^4.1.2" - pacote "^9.2.3" - read-package-json "^2.0.13" - stringify-package "^1.0.0" - -libnpmaccess@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.2.tgz#8b2d72345ba3bef90d3b4f694edd5c0417f58923" - integrity sha512-01512AK7MqByrI2mfC7h5j8N9V4I7MHJuk9buo8Gv+5QgThpOgpjB7sQBDDkeZqRteFb1QM/6YNdHfG7cDvfAQ== - dependencies: - aproba "^2.0.0" - get-stream "^4.0.0" - npm-package-arg "^6.1.0" - npm-registry-fetch "^4.0.0" - -libnpmconfig@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" - integrity sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA== - dependencies: - figgy-pudding "^3.5.1" - find-up "^3.0.0" - ini "^1.3.5" - -libnpmhook@^5.0.2: - version "5.0.3" - resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-5.0.3.tgz#4020c0f5edbf08ebe395325caa5ea01885b928f7" - integrity sha512-UdNLMuefVZra/wbnBXECZPefHMGsVDTq5zaM/LgKNE9Keyl5YXQTnGAzEo+nFOpdRqTWI9LYi4ApqF9uVCCtuA== - dependencies: - aproba "^2.0.0" - figgy-pudding "^3.4.1" - get-stream "^4.0.0" - npm-registry-fetch "^4.0.0" - -libnpmorg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-1.0.1.tgz#5d2503f6ceb57f33dbdcc718e6698fea6d5ad087" - integrity sha512-0sRUXLh+PLBgZmARvthhYXQAWn0fOsa6T5l3JSe2n9vKG/lCVK4nuG7pDsa7uMq+uTt2epdPK+a2g6btcY11Ww== - dependencies: - aproba "^2.0.0" - figgy-pudding "^3.4.1" - get-stream "^4.0.0" - npm-registry-fetch "^4.0.0" - -libnpmpublish@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-1.1.3.tgz#e3782796722d79eef1a0a22944c117e0c4ca4280" - integrity sha512-/3LsYqVc52cHXBmu26+J8Ed7sLs/hgGVFMH1mwYpL7Qaynb9RenpKqIKu0sJ130FB9PMkpMlWjlbtU8A4m7CQw== - dependencies: - aproba "^2.0.0" - figgy-pudding "^3.5.1" - get-stream "^4.0.0" - lodash.clonedeep "^4.5.0" - normalize-package-data "^2.4.0" - npm-package-arg "^6.1.0" - npm-registry-fetch "^4.0.0" - semver "^5.5.1" - ssri "^6.0.1" + "@lerna/run" "3.21.0" + "@lerna/version" "3.22.1" + import-local "^2.0.0" + npmlog "^4.1.2" -libnpmsearch@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-2.0.2.tgz#9a4f059102d38e3dd44085bdbfe5095f2a5044cf" - integrity sha512-VTBbV55Q6fRzTdzziYCr64+f8AopQ1YZ+BdPOv16UegIEaE8C0Kch01wo4s3kRTFV64P121WZJwgmBwrq68zYg== +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: - figgy-pudding "^3.5.1" - get-stream "^4.0.0" - npm-registry-fetch "^4.0.0" + prelude-ls "^1.2.1" + type-check "~0.4.0" -libnpmteam@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-1.0.2.tgz#8b48bcbb6ce70dd8150c950fcbdbf3feb6eec820" - integrity sha512-p420vM28Us04NAcg1rzgGW63LMM6rwe+6rtZpfDxCcXxM0zUTLl7nPFEnRF3JfFBF5skF/yuZDUthTsHgde8QA== +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: - aproba "^2.0.0" - figgy-pudding "^3.4.1" - get-stream "^4.0.0" - npm-registry-fetch "^4.0.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" license-webpack-plugin@2.1.2: version "2.1.2" @@ -18003,9 +17415,9 @@ license-webpack-plugin@2.1.2: webpack-sources "^1.2.0" license-webpack-plugin@^2.3.10: - version "2.3.10" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.10.tgz#6d391b51148efa66e995b82ab7935190d2ebc0b4" - integrity sha512-WU+tVS0465NwdaV/DLb0t7GmQUwdaGI7QVWVKvvwLSlpYERKUD7DwcWIqSaXO+uoXM+6T3IAw3fCaGyVnI3DIQ== + version "2.3.19" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.19.tgz#f02720b2b0bcd9ae27fb63f0bd908d9ac9335d6c" + integrity sha512-z/izhwFRYHs1sCrDgrTUsNJpd+Xsd06OcFWSwHz/TiZygm5ucweVZi1Hu14Rf6tOj/XAl1Ebyc7GW6ZyyINyWA== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -18044,19 +17456,19 @@ lines-and-columns@^1.1.6: integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= lint-staged@^10.2.9: - version "10.2.10" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.10.tgz#f0f78bf8786bbe90e1775a0dc540f7f12b6a79b2" - integrity sha512-dgelFaNH6puUGAcU+OVMgbfpKSerNYsPSn6+nlbRDjovL0KigpsVpCu0PFZG6BJxX8gnHJqaZlR9krZamQsb0w== + version "10.5.4" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" + integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== dependencies: - chalk "^4.0.0" - cli-truncate "2.1.0" - commander "^5.1.0" - cosmiconfig "^6.0.0" - debug "^4.1.1" + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" dedent "^0.7.0" - enquirer "^2.3.5" - execa "^4.0.1" - listr2 "^2.1.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" log-symbols "^4.0.0" micromatch "^4.0.2" normalize-path "^3.0.0" @@ -18093,19 +17505,18 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr2@^2.1.0: - version "2.1.7" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.1.7.tgz#8107c12c699bac778f1567739298052d8ebb9c27" - integrity sha512-XCC1sWLkBFFIMIRwG/LedgHUzN2XLEo02ZqXn6fwuP0GlXGE5BCuL6EAbQFb4vZB+++YEonzEXDPWQe+jCoF6Q== +listr2@^3.2.2: + version "3.10.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f" + integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw== dependencies: - chalk "^4.0.0" cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" + colorette "^1.2.2" log-update "^4.0.0" p-map "^4.0.0" - rxjs "^6.5.5" + rxjs "^6.6.7" through "^2.3.8" + wrap-ansi "^7.0.0" listr@^0.14.3: version "0.14.3" @@ -18133,16 +17544,6 @@ load-json-file@^1.0.0, load-json-file@^1.1.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -18164,6 +17565,16 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.0" +load-json-file@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -18174,7 +17585,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@1.2.3, loader-utils@^1.1.0, loader-utils@^1.2.3: +loader-utils@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== @@ -18183,16 +17594,7 @@ loader-utils@1.2.3, loader-utils@^1.1.0, loader-utils@^1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^1.0.2, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: +loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== @@ -18201,6 +17603,15 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + loader-utils@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" @@ -18233,24 +17644,22 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lock-verify@^2.0.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.1.tgz#81107948c51ed16f97b96ff8b60675affb243fc1" - integrity sha512-n0Zw2DVupKfZMazy/HIFVNohJ1z8fIoZ77WBnyyBGG6ixw83uJNyrbiJvvHWe1QKkGiBCjj8RCPlymltliqEww== +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - "@iarna/cli" "^1.2.0" - npm-package-arg "^6.1.0" - semver "^5.4.1" + p-locate "^5.0.0" lock@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/lock/-/lock-0.1.4.tgz#fec7deaef17e7c3a0a55e1da042803e25d91745d" integrity sha1-/sfervF+fDoKVeHaBCgD4l2RdF0= -lodash-es@^4.17.14, lodash-es@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.20.tgz#29f6332eefc60e849f869c264bc71126ad61e8f7" - integrity sha512-JD1COMZsq8maT6mnuz1UMV0jvYD0E0aUsSOdrr1/nAG3dhqQXwRRgeW0cSqH1U43INKcqxaiVIQNOUDld7gRDA== +lodash-es@^4.17.14, lodash-es@^4.17.15, lodash-es@^4.17.20: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash._basecopy@^3.0.0: version "3.0.1" @@ -18287,7 +17696,7 @@ lodash._reevaluate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= -lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: +lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= @@ -18339,7 +17748,7 @@ lodash.find@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= -lodash.flatten@^4.2.0, lodash.flatten@^4.4.0: +lodash.flatten@^4.2.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= @@ -18428,7 +17837,7 @@ lodash.memoize@4.x, lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@4.6.2: +lodash.merge@4.6.2, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -18478,15 +17887,7 @@ lodash.template@^3.0.0: lodash.restparam "^3.0.0" lodash.templatesettings "^3.0.0" -lodash.template@^4.0.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.template@^4.5.0: +lodash.template@^4.0.2, lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== @@ -18503,11 +17904,11 @@ lodash.templatesettings@^3.0.0: lodash.escape "^3.0.0" lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== dependencies: - lodash._reinterpolate "~3.0.0" + lodash._reinterpolate "^3.0.0" lodash.throttle@^4.1.1: version "4.1.1" @@ -18529,7 +17930,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@~4.17.10, lodash@~4.17.13, lodash@~4.17.15: +lodash@^4.0.0, lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.7.0, lodash@~4.17.10, lodash@~4.17.13, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -18555,14 +17956,7 @@ log-symbols@^2.1.0, log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -log-symbols@^4.1.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -18619,7 +18013,7 @@ loglevelnext@^1.0.1: es6-symbol "^3.1.1" object.assign "^4.1.0" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -18658,7 +18052,7 @@ lowercase-keys@1.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: +lowercase-keys@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== @@ -18677,12 +18071,12 @@ lowlight@1.12.1: highlight.js "~9.15.0" lowlight@^1.14.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.19.0.tgz#b8544199cafcf10c5731b21c7458c358f79a2a97" - integrity sha512-NIskvQ1d1ovKyUytkMpT8+8Bhq3Ub54os1Xp4RAC9uNbXH1YVRf5NERq7JNzapEe5BzUc1Cj4F0I+eLBBFj6hA== + version "1.20.0" + resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" + integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw== dependencies: fault "^1.0.0" - highlight.js "~10.6.0" + highlight.js "~10.7.0" lowlight@~1.11.0: version "1.11.0" @@ -18714,7 +18108,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-queue@0.1: +lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= @@ -18727,9 +18121,9 @@ lz-string@^1.4.4: integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= macos-release@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2" + integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== magic-string@0.25.7, magic-string@^0.25.2: version "0.25.7" @@ -18761,26 +18155,9 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: semver "^6.0.0" make-error@1.x, make-error@^1.1.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -make-fetch-happen@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79" - integrity sha512-YMJrAjHSb/BordlsDEcVcPyTbiJKkzqMf48N8dAJZT9Zjctrkb6Yg4TY9Sq2AwSIQJFn5qBBKVTYt3vP5FMIHA== - dependencies: - agentkeepalive "^3.4.1" - cacache "^11.3.3" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^5.1.1" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^5.0.0: version "5.0.2" @@ -18799,24 +18176,25 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" -make-fetch-happen@^8.0.9: - version "8.0.9" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.9.tgz#2179178be1593cacd04fa7a420b19ac6415f9380" - integrity sha512-uHa4gv/NIdm9cUvfOhYb57nxrCY08iyMRXru0jbpaH57Q3NCge/ypY7fOvgCr8tPyucKrGbVndKhjXE0IX0VfQ== +make-fetch-happen@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.2.tgz#aa8c0e4a5e3a5f2be86c54d3abed44fe5a32ad5d" + integrity sha512-UkAWAuXPXSSlVviTjH2We20mtj1NnZW2Qq/oTY2dyMbRQ5CR3Xed3akCDMnM7j6axrMY80lhgM7loNE132PfAw== dependencies: - agentkeepalive "^4.1.0" - cacache "^15.0.0" - http-cache-semantics "^4.0.4" + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" http-proxy-agent "^4.0.1" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" lru-cache "^6.0.0" minipass "^3.1.3" minipass-collect "^1.0.2" - minipass-fetch "^1.3.0" + minipass-fetch "^1.3.2" minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - promise-retry "^1.1.1" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" socks-proxy-agent "^5.0.0" ssri "^8.0.0" @@ -18862,9 +18240,9 @@ map-obj@^2.0.0: integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= map-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" - integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== map-or-similar@^1.5.0: version "1.5.0" @@ -18890,7 +18268,7 @@ markdown-table@^2.0.0: dependencies: repeat-string "^1.0.0" -markdown-to-jsx@6.11.4, markdown-to-jsx@^6.11.4, markdown-to-jsx@^6.9.1, markdown-to-jsx@^6.9.3: +markdown-to-jsx@6.11.4, markdown-to-jsx@^6.11.4, markdown-to-jsx@^6.9.1: version "6.11.4" resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz#b4528b1ab668aef7fe61c1535c27e837819392c5" integrity sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw== @@ -18898,14 +18276,19 @@ markdown-to-jsx@6.11.4, markdown-to-jsx@^6.11.4, markdown-to-jsx@^6.9.1, markdow prop-types "^15.6.2" unquote "^1.1.0" +markdown-to-jsx@^7.1.0: + version "7.1.3" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz#f00bae66c0abe7dd2d274123f84cb6bd2a2c7c6a" + integrity sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w== + marked-terminal@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0" - integrity sha512-5KllfAOW02WS6hLRQ7cNvGOxvKW1BKuXELH4EtbWfyWgxQhROoMxEvuQ/3fTgkNjledR0J48F4HbapvYp1zWkQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.1.tgz#34a6f063cd6cfe26bffaf5bac3724e24242168a9" + integrity sha512-t7Mdf6T3PvOEyN01c3tYxDzhyKZ8xnkp8Rs6Fohno63L/0pFTJ5Qtwto2AQVuDtbQiWzD+4E5AAu1Z2iLc8miQ== dependencies: ansi-escapes "^4.3.1" cardinal "^2.1.1" - chalk "^4.0.0" + chalk "^4.1.0" cli-table "^0.3.1" node-emoji "^1.10.0" supports-hyperlinks "^2.1.0" @@ -18915,10 +18298,10 @@ marked@^0.3.12: resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== -marked@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.7.tgz#6e14b595581d2319cdcf033a24caaf41455a01fb" - integrity sha512-No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA== +marked@^2.0.0: + version "2.0.7" + resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.7.tgz#bc5b857a09071b48ce82a1f7304913a993d4b7d1" + integrity sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ== marksy@^8.0.0: version "8.0.0" @@ -18939,13 +18322,6 @@ matchdep@^2.0.0: resolve "^1.4.0" stack-trace "0.0.10" -matcher@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" - integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== - dependencies: - escape-string-regexp "^4.0.0" - material-colors@^1.2.1: version "1.2.6" resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" @@ -18967,19 +18343,12 @@ mdast-add-list-metadata@1.0.1: dependencies: unist-util-visit-parents "1.1.2" -mdast-squeeze-paragraphs@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-3.0.5.tgz#f428b6b944f8faef454db9b58f170c4183cb2e61" - integrity sha512-xX6Vbe348Y/rukQlG4W3xH+7v4ZlzUbSY4HUIQCuYrF2DrkcHx584mCaFxkWoDZKNUfyLZItHC9VAqX3kIP7XA== - dependencies: - unist-util-remove "^1.0.0" - -mdast-util-definitions@^1.2.0: - version "1.2.5" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74" - integrity sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA== +mdast-squeeze-paragraphs@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" + integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== dependencies: - unist-util-visit "^1.0.0" + unist-util-remove "^2.0.0" mdast-util-definitions@^2.0.0: version "2.0.1" @@ -18988,34 +18357,43 @@ mdast-util-definitions@^2.0.0: dependencies: unist-util-visit "^2.0.0" -mdast-util-to-hast@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-6.0.2.tgz#24a8791b7c624118637d70f03a9d29116e4311cf" - integrity sha512-GjcOimC9qHI0yNFAQdBesrZXzUkRdFleQlcoU8+TVNfDW6oLUazUx8MgUoTaUyCJzBOnE5AOgqhpURrSlf0QwQ== +mdast-util-definitions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" + integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== dependencies: - collapse-white-space "^1.0.0" - detab "^2.0.0" - mdast-util-definitions "^1.2.0" - mdurl "^1.0.1" - trim "0.0.1" - trim-lines "^1.0.0" - unist-builder "^1.0.1" - unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +mdast-util-to-hast@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" + integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + mdast-util-definitions "^4.0.0" + mdurl "^1.0.0" + unist-builder "^2.0.0" + unist-util-generated "^1.0.0" unist-util-position "^3.0.0" - unist-util-visit "^1.1.0" - xtend "^4.0.1" + unist-util-visit "^2.0.0" mdast-util-to-string@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdurl@^1.0.1: +mdurl@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= @@ -19025,13 +18403,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -19041,14 +18412,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -mem@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-8.0.0.tgz#b5e4b6d2d241c6296da05436173b4d0c7ae1f9ac" - integrity sha512-qrcJOe6uD+EW8Wrci1Vdiua/15Xw3n/QnaNXE7varnB6InxSk7nu3/i5jfy3S6kWxr8WYJ6R1o0afMUtvorTsA== - dependencies: - map-age-cleaner "^0.1.3" - mimic-fn "^3.1.0" - mem@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" @@ -19064,14 +18427,7 @@ memfs-or-file-map-to-github-branch@^1.1.0: dependencies: "@octokit/rest" "^16.43.1" -memfs@^3.1.2, memfs@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.0.tgz#f9438e622b5acd1daa8a4ae160c496fdd1325b26" - integrity sha512-f/xxz2TpdKv6uDn6GtHee8ivFyxwxmPuXatBb1FBwxYNuVpbM3k/Y1Z+vC0mH/dIXXrukYfe3qe5J32Dfjg93A== - dependencies: - fs-monkey "1.0.1" - -memfs@^3.2.2: +memfs@^3.1.2, memfs@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.2.tgz#5de461389d596e3f23d48bb7c2afb6161f4df40e" integrity sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== @@ -19079,23 +18435,23 @@ memfs@^3.2.2: fs-monkey "1.0.3" "memoize-one@>=3.1.1 <6", memoize-one@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== memoizee@0.4.X: - version "0.4.14" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" - integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== dependencies: - d "1" - es5-ext "^0.10.45" - es6-weak-map "^2.0.2" + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" event-emitter "^0.3.5" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "^0.1.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" memoizerific@^1.11.3: version "1.11.3" @@ -19104,7 +18460,7 @@ memoizerific@^1.11.3: dependencies: map-or-similar "^1.5.0" -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -19185,27 +18541,15 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== - -merge2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" @@ -19237,12 +18581,12 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: to-regex "^3.0.2" micromatch@^4.0.0, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -19252,61 +18596,27 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== +mime-db@1.48.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.48.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" + integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== -mime-db@1.47.0: - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== - -mime-db@^1.28.0: - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mime-types@^2.1.27, mime-types@~2.1.24: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.31" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" + integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== dependencies: - mime-db "1.45.0" - -mime-types@^2.1.30: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== - dependencies: - mime-db "1.47.0" + mime-db "1.48.0" mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.4.4, mime@^2.4.5: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== - -mime@^2.3.1: - version "2.4.7" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.7.tgz#962aed9be0ed19c91fd7dc2ece5d7f4e89a90d74" - integrity sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA== +mime@^2.0.3, mime@^2.3.1, mime@^2.4.4, mime@^2.4.5: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== mimic-fn@^1.0.0: version "1.2.0" @@ -19323,7 +18633,7 @@ mimic-fn@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== -mimic-response@^1.0.0, mimic-response@^1.0.1: +mimic-response@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== @@ -19341,16 +18651,16 @@ min-document@^2.19.0: dom-walk "^0.1.0" min-indent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" - integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-create-react-context@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" - integrity sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA== + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== dependencies: - "@babel/runtime" "^7.5.5" + "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: @@ -19404,10 +18714,10 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.0.tgz#110fed67fedd02dbeab823489ff0453f84fa5a6c" - integrity sha512-Yb23ESZZ/8QxiBvSpJ4atbVMVDx2CXrerzrtQzQ67eLqKg+zFIkYFTagk3xh6fdo+e/FvDtVuCD4QcuYDRR3hw== +minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.3.tgz#34c7cea038c817a8658461bf35174551dce17a0a" + integrity sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ== dependencies: minipass "^3.1.0" minipass-sized "^1.0.3" @@ -19430,10 +18740,10 @@ minipass-json-stream@^1.0.1: jsonparse "^1.3.1" minipass "^3.0.0" -minipass-pipeline@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" - integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" @@ -19444,7 +18754,7 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^2.2.1, minipass@^2.3.5, minipass@^2.8.6: +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -19460,21 +18770,13 @@ minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: yallist "^4.0.0" minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -minizlib@^2.0.0, minizlib@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz#fd52c645301ef09a63a2c209697c294c6ce02cf3" - integrity sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: - minipass "^3.0.0" - yallist "^4.0.0" + minipass "^2.9.0" -minizlib@^2.1.1: +minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -19523,20 +18825,13 @@ mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@0.5.5, mkdirp@0.x, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5: +mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - mkpath@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-0.1.0.tgz#7554a6f8d871834cc97b5462b122c4c124d6de91" @@ -19577,12 +18872,7 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment@^2.18.1, moment@^2.22.1: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== - -moment@^2.29.1: +moment@^2.18.1, moment@^2.22.1, moment@^2.29.1: version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== @@ -19597,10 +18887,10 @@ monaco-typescript@3.6.1: resolved "https://registry.yarnpkg.com/monaco-typescript/-/monaco-typescript-3.6.1.tgz#69a545a45e2a6d036a50d78508792b856f9968d7" integrity sha512-VXzS/s/YoQlolf7zRsM7PGVhY+HUTTHcLzFCx1QxuyOpoY1uFlUaMeTIV/AMYzMjSqHIiJ58kNiWjoP1YNsaAQ== -moo@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e" - integrity sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw== +moo@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" + integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== move-concurrently@^1.0.1: version "1.0.1" @@ -19624,12 +18914,12 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@2.1.2, ms@^2.0.0: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@^2.0.0, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -19668,17 +18958,6 @@ multimatch@^4.0.0: arrify "^2.0.1" minimatch "^3.0.4" -multimatch@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -19711,24 +18990,24 @@ mz@^2.5.0, mz@^2.7.0: thenify-all "^1.0.0" n-readlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.0.tgz#c353797f216c253fdfef7e91da4e8b17c29a91a6" - integrity sha512-ISDqGcspVu6U3VKqtJZG1uR55SmNNF9uK0EMq1IvNVVZOui6MW6VR0+pIZhqz85ORAGp+4zW+5fJ/SE7bwEibA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.1.tgz#bbb7364d38bc31a170a199f986fcacfa76b95f6e" + integrity sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ== nan@^2.12.1, nan@^2.13.2: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nanoid@^2.1.0: version "2.1.11" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== -nanoid@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@^3.1.20, nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== nanomatch@^1.2.9: version "1.2.13" @@ -19763,26 +19042,16 @@ ndjson@^1.5.0: through2 "^2.0.3" nearley@^2.7.10: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" - integrity sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg== + version "2.20.1" + resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474" + integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ== dependencies: commander "^2.19.0" - moo "^0.4.3" + moo "^0.5.0" railroad-diagrams "^1.0.0" randexp "0.4.6" - semver "^5.4.1" - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" -negotiator@0.6.2: +negotiator@0.6.2, negotiator@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== @@ -19792,17 +19061,22 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" + integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== + nested-object-assign@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/nested-object-assign/-/nested-object-assign-1.0.4.tgz#c9db56078eb6043960fdb6ba918a5122a06ccac4" integrity sha512-FlZ7oN9ICt+fbcJ4ag2IsALIcalfE/E16ttdSA8peBiHJI+oEKdOcafqDnUbeUe5NwWGn/m9zZGO9qrAGzfesg== -next-tick@1: +next-tick@1, next-tick@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -next-tick@^1.0.0, next-tick@~1.0.0: +next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= @@ -19832,7 +19106,7 @@ node-cleanup@^2.1.2: resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-dir@^0.1.10, node-dir@^0.1.17: +node-dir@^0.1.10: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= @@ -19855,9 +19129,9 @@ node-environment-flags@1.0.6: semver "^5.7.0" node-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== dependencies: encoding "^0.1.11" json-parse-better-errors "^1.0.0" @@ -19871,7 +19145,7 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.1.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@^2.1.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -19881,23 +19155,6 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== -node-gyp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-4.0.0.tgz#972654af4e5dd0cd2a19081b4b46fe0442ba6f45" - integrity sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA== - dependencies: - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^4.4.8" - which "1" - node-gyp@^5.0.2: version "5.1.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" @@ -19915,23 +19172,6 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" -node-gyp@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-6.1.0.tgz#64e31c61a4695ad304c1d5b82cf6b7c79cc79f3f" - integrity sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.1.2" - request "^2.88.0" - rimraf "^2.6.3" - semver "^5.7.1" - tar "^4.4.12" - which "^1.3.1" - node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" @@ -19954,13 +19194,13 @@ node-int64@^0.4.0: integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= node-ipc@^9.1.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69" - integrity sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w== + version "9.1.4" + resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.4.tgz#2acf962681afdac2602876d98fe6434d54d9bd3c" + integrity sha512-A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g== dependencies: event-pubsub "4.3.0" - js-message "1.0.5" - js-queue "2.0.0" + js-message "1.0.7" + js-queue "2.0.2" node-libs-browser@^2.2.1: version "2.2.1" @@ -19997,9 +19237,9 @@ node-modules-regexp@^1.0.0: integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + version "5.4.5" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ== dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -20007,7 +19247,7 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-plop@^0.25.0, node-plop@~0.25.0: +node-plop@^0.25.0: version "0.25.0" resolved "https://registry.yarnpkg.com/node-plop/-/node-plop-0.25.0.tgz#1d3bdf286bf74baabb6755b4cef8c6ab37110180" integrity sha512-OFvnTsDw9nxNdLrYcveJhU2Hnzg+AxOz6xBk8uXsi0vCOSP7Rng98pdgfsuZKyCN+qrc+/fSwlNC5hkXhJ6gww== @@ -20016,20 +19256,37 @@ node-plop@^0.25.0, node-plop@~0.25.0: "@types/handlebars" "^4.1.0" "@types/inquirer" "6.0.1" change-case "^3.1.0" - core-js "^3.3.2" + core-js "^3.3.2" + del "^5.1.0" + globby "^10.0.1" + handlebars "^4.4.3" + inquirer "^7.0.0" + isbinaryfile "^4.0.2" + lodash.get "^4.4.2" + mkdirp "^0.5.1" + resolve "^1.12.0" + +node-plop@~0.26.2: + version "0.26.2" + resolved "https://registry.yarnpkg.com/node-plop/-/node-plop-0.26.2.tgz#c2523596dab4e28360e615b768b11b4d60d5b1b9" + integrity sha512-q444beWkMvZwAiYC3BRGJUHgRlpOItQHy+xdy6egXg8KjxDY/Ro309spQTNvH01qK9A8XF6pc0xLKbrHDpxW7w== + dependencies: + "@babel/runtime-corejs3" "^7.9.2" + "@types/inquirer" "^6.5.0" + change-case "^3.1.0" del "^5.1.0" globby "^10.0.1" handlebars "^4.4.3" - inquirer "^7.0.0" + inquirer "^7.1.0" isbinaryfile "^4.0.2" lodash.get "^4.4.2" mkdirp "^0.5.1" resolve "^1.12.0" node-polyfill-webpack-plugin@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.0.2.tgz#97e87d555909028b5699e29f82385b78dfd69233" - integrity sha512-x4dNQ28D/kwvDbp52y6WBOuXs2QhGkIkv8RT2xhBj5JO21iUrNT4aSJyw41Jio3Ima/S0UKCTfHdS6mUOxjYmw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.1.2.tgz#3e8e8640a920b566d5842df84f1c8c077554250e" + integrity sha512-ubwf7M73V13RDlKaDmMh1+giB/D8KL75umXEGabGtxSt/WRCirl01urhK1qsr6Cdt77escQ9SNb5OoTR8IwEHg== dependencies: assert "^2.0.0" browserify-zlib "^0.2.0" @@ -20038,15 +19295,17 @@ node-polyfill-webpack-plugin@^1.0.2: constants-browserify "^1.0.0" crypto-browserify "^3.12.0" domain-browser "^4.19.0" - events "^3.2.0" + events "^3.3.0" + filter-obj "^2.0.2" https-browserify "^1.0.0" os-browserify "^0.3.0" + path-browserify "^1.0.1" process "^0.11.10" punycode "^2.1.1" querystring-es3 "^0.2.1" readable-stream "^3.6.0" stream-browserify "^3.0.0" - stream-http "^3.1.1" + stream-http "^3.2.0" string_decoder "^1.3.0" timers-browserify "^2.0.12" tty-browserify "^0.0.1" @@ -20054,36 +19313,10 @@ node-polyfill-webpack-plugin@^1.0.2: util "^0.12.3" vm-browserify "^1.1.2" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.29, node-releases@^1.1.58: - version "1.1.59" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" - integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== - -node-releases@^1.1.52: - version "1.1.70" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" - integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== - -node-releases@^1.1.69: - version "1.1.69" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.69.tgz#3149dbde53b781610cd8b486d62d86e26c3725f6" - integrity sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA== +node-releases@^1.1.52, node-releases@^1.1.61, node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" + integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== node-releases@^1.1.71: version "1.1.73" @@ -20112,7 +19345,7 @@ node-sass@^5.0.0: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" -"nopt@2 || 3", nopt@3.x, nopt@^3.0.1: +nopt@3.x, nopt@^3.0.1: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= @@ -20120,9 +19353,9 @@ node-sass@^5.0.0: abbrev "1" nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + version "4.0.3" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== dependencies: abbrev "1" osenv "^0.1.4" @@ -20151,14 +19384,14 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" - integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw== +normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" + integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== dependencies: - hosted-git-info "^3.0.6" - resolve "^1.17.0" - semver "^7.3.2" + hosted-git-info "^4.0.1" + resolve "^1.20.0" + semver "^7.3.4" validate-npm-package-license "^3.0.1" normalize-path@^2.0.1, normalize-path@^2.1.1: @@ -20187,15 +19420,15 @@ normalize-url@2.0.1: query-string "^5.0.1" sort-keys "^2.0.0" -normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.0.1.tgz#a4f27f58cf8c7b287b440b8a8201f42d0b00d256" + integrity sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ== now-and-later@^2.0.0: version "2.0.1" @@ -20205,9 +19438,9 @@ now-and-later@^2.0.0: once "^1.3.2" npm-bundled@^1.0.1, npm-bundled@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" @@ -20226,20 +19459,6 @@ npm-install-checks@^4.0.0: dependencies: semver "^7.1.1" -npm-lifecycle@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz#0027c09646f0fd346c5c93377bdaba59c6748fdf" - integrity sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew== - dependencies: - byline "^5.0.0" - graceful-fs "^4.1.15" - node-gyp "^4.0.0" - resolve-from "^4.0.0" - slide "^1.1.6" - uid-number "0.0.6" - umask "^1.1.0" - which "^1.3.1" - npm-lifecycle@^3.1.2: version "3.1.5" resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" @@ -20254,43 +19473,30 @@ npm-lifecycle@^3.1.2: umask "^1.1.0" which "^1.3.1" -npm-logical-tree@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz#44610141ca24664cad35d1e607176193fd8f5b88" - integrity sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg== - npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== "npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== dependencies: - hosted-git-info "^2.6.0" + hosted-git-info "^2.7.1" osenv "^0.1.5" - semver "^5.5.0" + semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-package-arg@^8.0.0, npm-package-arg@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.0.1.tgz#9d76f8d7667b2373ffda60bb801a27ef71e3e270" - integrity sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ== +npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2: + version "8.1.4" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.4.tgz#8001cdbc4363997b8ef6c6cf7aaf543c5805879d" + integrity sha512-xLokoCFqj/rPdr3LvcdDL6Kj6ipXGEDHD/QGpzwU6/pibYUOXmp5DBmg76yukFyx4ZDbrXNOTn+BPyd8TD4Jlw== dependencies: - hosted-git-info "^3.0.2" - semver "^7.0.0" + hosted-git-info "^4.0.1" + semver "^7.3.4" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.4.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.2.tgz#a9d63153d4fb0547e6d4342e4102ba6c3bd2b2c7" - integrity sha512-pyJclkNoBBckB6K/XPcMp8fP60MaqSZBPQVsNY7Yyc9VP1TUnPMYwck5YaBejf0L7xYr8f4l16+IENeZ0by+yw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-packlist@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" @@ -20300,10 +19506,10 @@ npm-packlist@^1.4.4: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" -npm-packlist@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.2.tgz#a3045b52aefc37e7a5e86a55e6ca8cb1e909e25a" - integrity sha512-eByPaP+wsKai0BJX5pmb58d3mfR0zUATcnyuvSxIudTEn+swCPFLxh7srCmqB4hr7i9V24/DPjjq5b2qUtbgXQ== +npm-packlist@^2.1.4: + version "2.2.2" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" + integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== dependencies: glob "^7.1.6" ignore-walk "^3.0.3" @@ -20319,57 +19525,22 @@ npm-pick-manifest@^3.0.0: npm-package-arg "^6.0.0" semver "^5.4.1" -npm-pick-manifest@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz#2befed87b0fce956790f62d32afb56d7539c022a" - integrity sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw== +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" + integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== dependencies: npm-install-checks "^4.0.0" - npm-package-arg "^8.0.0" - semver "^7.0.0" - -npm-profile@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.4.tgz#28ee94390e936df6d084263ee2061336a6a1581b" - integrity sha512-Ta8xq8TLMpqssF0H60BXS1A90iMoM6GeKwsmravJ6wYjWwSzcYBTdyWa3DZCYqPutacBMEm7cxiOkiIeCUAHDQ== - dependencies: - aproba "^1.1.2 || 2" - figgy-pudding "^3.4.1" - npm-registry-fetch "^4.0.0" - -npm-registry-fetch@^3.8.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.1.tgz#00ff6e4e35d3f75a172b332440b53e93f4cb67de" - integrity sha512-VQCEZlydXw4AwLROAXWUR7QDfe2Y8Id/vpAgp6TI1/H78a4SiQ1kQrKZALm5/zxM5n4HIi+aYb+idUAV/RuY0Q== - dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^4.0.2" - npm-package-arg "^6.1.0" - -npm-registry-fetch@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz#cb87cf7f25bfb048d6c3ee19d115bebf93ea5bfa" - integrity sha512-yQ0/U4fYpCCqmueB2g8sc+89ckQ3eXpmU4+Yi2j5o/r0WkKvE2+Y0tK3DEILAtn2UaQTkjTHxIXe2/CSdit+/Q== - dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^8.1.2" + semver "^7.3.4" -npm-registry-fetch@^8.1.3: - version "8.1.3" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-8.1.3.tgz#b54709388f90a1f71bd6c8008d5a9dc9be21670d" - integrity sha512-xpBFcg13wkFR0SsscvemmrIe1Sxe1SPgGUOAb7+5Uo6fR8SIRMenMHeDSjfyulv1px66/y0Ib40rtKO20PcgPg== +npm-registry-fetch@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" + integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== dependencies: - "@npmcli/ci-detect" "^1.0.0" - lru-cache "^6.0.0" - make-fetch-happen "^8.0.9" + make-fetch-happen "^9.0.1" minipass "^3.1.3" minipass-fetch "^1.3.0" minipass-json-stream "^1.0.1" @@ -20405,7 +19576,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2, npmlog@^4.1.2: +npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -20415,13 +19586,20 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: gauge "~2.7.3" set-blocking "~2.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -20471,25 +19649,18 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-inspect@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-inspect@^1.10.3, object-inspect@^1.6.0, object-inspect@^1.9.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== -object-is@^1.0.1, object-is@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" - integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== +object-is@^1.0.1, object-is@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -20503,7 +19674,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@4.1.0, object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -20513,7 +19684,7 @@ object.assign@4.1.0, object.assign@^4.0.4, object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.assign@^4.1.1: +object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -20533,61 +19704,33 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" -object.entries@^1.0.4, object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -object.entries@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" - integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== +object.entries@^1.0.4, object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" + integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" + es-abstract "^1.18.2" -"object.fromentries@^2.0.0 || ^1.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" - function-bind "^1.1.1" - has "^1.0.1" - -object.fromentries@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== +"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.3, object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.18.0-next.2" has "^1.0.3" -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1, object.getownpropertydescriptors@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.2" object.map@^1.0.0: version "1.0.1" @@ -20612,25 +19755,14 @@ object.reduce@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" -object.values@^1.0.4, object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== +object.values@^1.0.4, object.values@^1.1.0, object.values@^1.1.2, object.values@^1.1.3, object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" + es-abstract "^1.18.2" objectorarray@^1.0.4: version "1.0.4" @@ -20683,35 +19815,14 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -onetime@^5.1.2: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -open@^6.3.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -open@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.0.tgz#7e52999b14eb73f90f0f0807fe93897c4ae73ec9" - integrity sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ== - dependencies: - is-wsl "^2.1.0" - -open@^7.0.2, open@^7.0.3, open@^7.4.2: +open@^7.0.2, open@^7.0.3, open@^7.3.0, open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== @@ -20719,14 +19830,6 @@ open@^7.0.2, open@^7.0.3, open@^7.4.2: is-docker "^2.0.0" is-wsl "^2.1.1" -open@^7.3.0: - version "7.3.1" - resolved "https://registry.yarnpkg.com/open/-/open-7.3.1.tgz#111119cb919ca1acd988f49685c4fdd0f4755356" - integrity sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - opener@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" @@ -20740,16 +19843,16 @@ opn@^5.3.0: is-wsl "^1.1.0" optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" - fast-levenshtein "~2.0.4" + fast-levenshtein "~2.0.6" levn "~0.3.0" prelude-ls "~1.1.2" type-check "~0.3.2" - wordwrap "~1.0.0" + word-wrap "~1.2.3" optionator@^0.9.1: version "0.9.1" @@ -20828,15 +19931,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -20859,7 +19953,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4, osenv@^0.1.5: +osenv@^0.1.4, osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -20872,7 +19966,7 @@ ospath@^1.2.2: resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= -overlayscrollbars@^1.10.2: +overlayscrollbars@^1.10.2, overlayscrollbars@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/overlayscrollbars/-/overlayscrollbars-1.13.1.tgz#0b840a88737f43a946b9d87875a2f9e421d0338a" integrity sha512-gIQfzgGgu1wy80EB4/6DaJGHMEGmizq27xHIESrzXq0Y/J0Ay1P3DWk6tuVmEPIZH15zaBlxeEJOqdJKmowHCQ== @@ -20882,20 +19976,22 @@ override-require@^1.1.1: resolved "https://registry.yarnpkg.com/override-require/-/override-require-1.1.1.tgz#6ae22fadeb1f850ffb0cf4c20ff7b87e5eb650df" integrity sha1-auIvresfhQ/7DPTCD/e4fl62UN8= +p-all@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-all/-/p-all-2.1.0.tgz#91419be56b7dee8fe4c5db875d55e0da084244a0" + integrity sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA== + dependencies: + p-map "^2.0.0" + p-cancelable@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - p-cancelable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" - integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== p-defer@^1.0.0: version "1.0.0" @@ -20916,22 +20012,29 @@ p-event@^2.1.0: dependencies: p-timeout "^2.0.1" -p-event@^4.2.0: +p-event@^4.1.0, p-event@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== dependencies: p-timeout "^3.1.0" +p-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-graph@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-graph/-/p-graph-1.1.0.tgz#c914cf067f8d4abc31a8a3cfcb932c213845df6a" - integrity sha512-IfwchSZEUfZHhdHrLSUPIbZfawOshc/UrTmdhT/BRjD428Fd78jVl4NUbIvWjUq+NxrenRjx8518VtQeIvbtMA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/p-graph/-/p-graph-1.1.1.tgz#9acf22ce5239afc7c08b4fd6e64b441eb171ecac" + integrity sha512-KdD5JEqSEbOYK5Yl4MKbHo8cNaJs+O6TW+HacoyPVau704KukYhJMhSXuC8tF332zqgB87pyAMf2FhQ54R0ugA== p-is-promise@^1.1.0: version "1.1.0" @@ -20950,34 +20053,20 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" - integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" -p-limit@^3.0.1, p-limit@^3.1.0: +p-limit@^3.0.1, p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-limit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" - integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== - dependencies: - p-try "^2.0.0" - p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -20999,6 +20088,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" @@ -21043,12 +20139,12 @@ p-queue@^4.0.0: eventemitter3 "^3.1.0" p-queue@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.0.2.tgz#34ab9f1fe43b26ec6da2a94cae6b3c3cdcaecfde" - integrity sha512-KDmybfRp7PQXk6mRDCtbFWc1E6qUyIXLdmiCQbnKY8+DM0+PodWYLT4dPT/T4x4G+w4PHZXvMB3dZfLEI2vaFA== + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: - eventemitter3 "^3.1.0" - p-timeout "^3.1.0" + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" p-reduce@^1.0.0: version "1.0.0" @@ -21056,9 +20152,9 @@ p-reduce@^1.0.0: integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= p-retry@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.3.0.tgz#a31679a66b0261a51fa6c43b19b6f4471a54021e" - integrity sha512-Pow4yaHpOiJou1QcpGcBJhGHiS4782LdDa6GhU91hlaNh3ExOOupjSJcxPQZYmUSZk3Pl2ARz/LRvW8Qu0+3mQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.5.0.tgz#6685336b3672f9ee8174d3769a660cb5e488521d" + integrity sha512-5Hwh4aVQSu6BEP+w2zKlVXtFAaYQe1qWuVADSgoeVlLjwe/Q/AMSoRR4MDeaAfu8llT+YNbEijWu/YF3m6avkg== dependencies: "@types/retry" "^0.12.0" retry "^0.12.0" @@ -21070,10 +20166,10 @@ p-timeout@^2.0.1: dependencies: p-finally "^1.0.0" -p-timeout@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.1.0.tgz#198c1f503bb973e9b9727177a276c80afd6851f3" - integrity sha512-C27DYI+tCroT8J8cTEyySGydl2B7FlxrGNF5/wmMbl1V+jeehUCzEE/BVgzRebdm2K3ZitKOKx8YbdFumDyYmw== +p-timeout@^3.1.0, p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== dependencies: p-finally "^1.0.0" @@ -21104,25 +20200,15 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - pacote@^11.1.6: - version "11.1.11" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.1.11.tgz#84f435f4f16c9159c7e1bc05c3e167675843c8ca" - integrity sha512-r6PHtCEhkaGv+QPx1JdE/xRdkSkZUG7dE2oloNk/CGTPGNOtaJyYqZPFeN6d6UcUrTPRvZXFo3IBzJIBopPuSA== + version "11.3.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.4.tgz#c290b790a5cee3082bb8fa223f3f3e2fdf3d0bfc" + integrity sha512-RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA== dependencies: "@npmcli/git" "^2.0.1" - "@npmcli/installed-package-contents" "^1.0.5" + "@npmcli/installed-package-contents" "^1.0.6" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^1.3.0" + "@npmcli/run-script" "^1.8.2" cacache "^15.0.5" chownr "^2.0.0" fs-minipass "^2.1.0" @@ -21130,62 +20216,26 @@ pacote@^11.1.6: minipass "^3.1.3" mkdirp "^1.0.3" npm-package-arg "^8.0.1" - npm-packlist "^2.1.0" + npm-packlist "^2.1.4" npm-pick-manifest "^6.0.0" - npm-registry-fetch "^8.1.3" - promise-retry "^1.1.1" - read-package-json-fast "^1.1.3" + npm-registry-fetch "^11.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" rimraf "^3.0.2" - ssri "^8.0.0" - tar "^6.0.1" - -pacote@^9.2.3, pacote@^9.5.0: - version "9.5.12" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" - integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== - dependencies: - bluebird "^3.5.3" - cacache "^12.0.2" - chownr "^1.1.2" - figgy-pudding "^3.5.1" - get-stream "^4.1.0" - glob "^7.1.3" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - minimatch "^3.0.4" - minipass "^2.3.5" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-normalize-package-bin "^1.0.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.12" - npm-pick-manifest "^3.0.0" - npm-registry-fetch "^4.0.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^5.0.1" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.6.0" - ssri "^6.0.1" - tar "^4.4.10" - unique-filename "^1.1.1" - which "^1.3.1" + ssri "^8.0.1" + tar "^6.1.0" pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" @@ -21207,14 +20257,14 @@ parallel-webpack@^2.6.0: supports-color "^3.1.2" worker-farm "^1.3.1" -param-case@2.1.x, param-case@^2.1.0, param-case@^2.1.1: +param-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= dependencies: no-case "^2.2.0" -param-case@^3.0.4: +param-case@^3.0.3, param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== @@ -21229,14 +20279,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -21318,14 +20367,14 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" parse-link-header@^1.0.1: @@ -21346,45 +20395,47 @@ parse-passwd@^1.0.0: integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== + version "4.0.3" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" + integrity sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" + qs "^6.9.4" + query-string "^6.13.8" parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== + version "5.0.3" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.3.tgz#c158560f14cb1560917e0b7fd8b01adc1e9d3cab" + integrity sha512-nrLCVMJpqo12X8uUJT4GJPd5AFaTOrGx/QpJy3HNcVtq0AZSstVIsnxS5fqNPuoqMUs3MyfBoOP6Zvu2Arok5A== dependencies: is-ssh "^1.3.0" - normalize-url "^3.3.0" + normalize-url "^6.0.1" parse-path "^4.0.0" protocols "^1.4.0" +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parse5@5.1.1, parse5@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parse5@6.0.1, parse5@^6.0.0, parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== "parse5@>= 1.3.1 < 2.0.0": version "1.5.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" integrity sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= -parse5@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== - dependencies: - "@types/node" "*" - parseqs@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" @@ -21426,12 +20477,7 @@ path-browserify@0.0.1: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== -path-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.0.tgz#40702a97af46ae00b0ea6fa8998c0b03c0af160d" - integrity sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g== - -path-browserify@^1.0.1: +path-browserify@^1.0.0, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== @@ -21494,9 +20540,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.5, path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" @@ -21516,9 +20562,9 @@ path-to-regexp@0.1.7: integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" @@ -21531,13 +20577,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -21550,15 +20589,15 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -21581,10 +20620,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pidtree@^0.3.0: version "0.3.1" @@ -21635,16 +20674,6 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-add-deps@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/pkg-add-deps/-/pkg-add-deps-0.1.0.tgz#83af13744d8e67847a38a00d36fe327ea4f1eaa9" - integrity sha512-8CNvVKx/aQYjVCSf6NilxXt3/LDqHm6EIzJL60oEQcl+KAGk78PjtTPtcnQOCre3luOY/l1Z1TKb5j8+L0W2Fw== - dependencies: - libnpm "^2.0.1" - pacote "^9.5.0" - read-pkg "^5.1.1" - yargs "^13.2.2" - pkg-conf@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" @@ -21676,12 +20705,12 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== dependencies: - find-up "^2.1.0" + find-up "^5.0.0" pkg-up@3.1.0, pkg-up@^3.1.0: version "3.1.0" @@ -21690,6 +20719,13 @@ pkg-up@3.1.0, pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -21698,15 +20734,16 @@ please-upgrade-node@^3.2.0: semver-compare "^1.0.0" plop@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/plop/-/plop-2.6.0.tgz#b0c3a9879c35008a22bb681bfba975ed2bc3c38c" - integrity sha512-faK3oVbWL7DYdC5ZjM+lJPrmXAPirN28QRFykPWwg6i7dv2T373JyxKlcO+XGMQcPlEYDFyKUXIuiY3Db5Ktkw== + version "2.7.4" + resolved "https://registry.yarnpkg.com/plop/-/plop-2.7.4.tgz#835280aef3541102063b758f5116cce899e1c72b" + integrity sha512-SaqN3mwug/Ur2RE/ryo05oLTLy+8qZGwosNt9JnrFWca+dLCsPJR1j2ZXwjrccmNu6LA7eB56lRyk/G0fKf9HA== dependencies: + "@types/liftoff" "^2.5.0" chalk "^1.1.3" interpret "^1.2.0" liftoff "^2.5.0" minimist "^1.2.0" - node-plop "~0.25.0" + node-plop "~0.26.2" ora "^3.4.0" v8flags "^2.0.10" @@ -21741,13 +20778,6 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pnp-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" - integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== - dependencies: - ts-pnp "^1.1.2" - pnp-webpack-plugin@1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" @@ -21755,35 +20785,26 @@ pnp-webpack-plugin@1.6.4: dependencies: ts-pnp "^1.1.6" -polished@^3.3.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/polished/-/polished-3.4.2.tgz#b4780dad81d64df55615fbfc77acb52fd17d88cd" - integrity sha512-9Rch6iMZckABr6EFCLPZsxodeBpXMo9H4fRlfR/9VjMEyy5xpo1/WgXlJGgSjPyVhEZNycbW7UmYMNyWS5MI0g== +polished@^3.3.1, polished@^3.4.4: + version "3.7.2" + resolved "https://registry.yarnpkg.com/polished/-/polished-3.7.2.tgz#ec5ddc17a7d322a574d5e10ddd2a6f01d3e767d1" + integrity sha512-pQKtpZGmsZrW8UUpQMAnR7s3ppHeMQVNyMDKtUyKwuvDmklzcEyM5Kllb3JyE/sE/x7arDmyd35i+4vp99H6sQ== dependencies: - "@babel/runtime" "^7.6.3" + "@babel/runtime" "^7.12.5" -polished@^3.4.4: - version "3.7.1" - resolved "https://registry.yarnpkg.com/polished/-/polished-3.7.1.tgz#d1addc87ee16eb5b413c6165eda37600cccb9c11" - integrity sha512-/QgHrNGYwIA4mwxJ/7FSvalUJsm7KNfnXiScVSEG2Xa5qxDeBn4nmdjN2pW00mkM2Tts64ktc47U8F7Ed1BRAA== +polished@^4.0.5: + version "4.1.3" + resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.3.tgz#7a3abf2972364e7d97770b827eec9a9e64002cfc" + integrity sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA== dependencies: - "@babel/runtime" "^7.12.5" + "@babel/runtime" "^7.14.0" popper.js@^1.14.4, popper.js@^1.14.7: - version "1.15.0" - resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" - integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== - -portfinder@^1.0.20: - version "1.0.25" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" - integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" + version "1.16.1" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -portfinder@^1.0.28: +portfinder@^1.0.20, portfinder@^1.0.28, portfinder@~1.0.10: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== @@ -21792,31 +20813,22 @@ portfinder@^1.0.28: debug "^3.1.1" mkdirp "^0.5.5" -portfinder@~1.0.10: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-flexbugs-fixes@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== +postcss-flexbugs-fixes@^4.1.0, postcss-flexbugs-fixes@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" + integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== dependencies: - postcss "^7.0.0" + postcss "^7.0.26" postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" @@ -21842,6 +20854,17 @@ postcss-loader@^3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" +postcss-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc" + integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.4" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + semver "^7.3.4" + postcss-modules-extract-imports@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" @@ -21870,14 +20893,14 @@ postcss-modules-local-by-default@1.2.0: postcss "^6.0.1" postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" - postcss "^7.0.16" + postcss "^7.0.32" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" postcss-modules-local-by-default@^4.0.0: version "4.0.0" @@ -21896,14 +20919,6 @@ postcss-modules-scope@1.1.0: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-scope@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz#33d4fc946602eb5e9355c4165d68a10727689dba" - integrity sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-modules-scope@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" @@ -21953,31 +20968,15 @@ postcss-modules@2.0.0: postcss "^7.0.1" string-hash "^1.1.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -22009,16 +21008,7 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.23, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.26" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" - integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.1, postcss@^7.0.32: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -22027,23 +21017,14 @@ postcss@^7.0.1, postcss@^7.0.32: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.27: - version "7.0.30" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2" - integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - postcss@^8.1.4: - version "8.2.3" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.3.tgz#14ed1294850c99661761d9cb68863718eb75690d" - integrity sha512-tdmNCCmxJEsLZNj810qlj8QbvnUNKFL9A5doV+uHrGGK/YNKWEslrytnHDWr9M/GgGjfUFwXCRbxd/b6IoRBXQ== + version "8.3.0" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" + integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== dependencies: - colorette "^1.2.1" - nanoid "^3.1.20" - source-map "^0.6.1" + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" prefix-style@2.0.1: version "2.0.1" @@ -22070,12 +21051,17 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier@2.2.1, prettier@^2.0.1: +prettier@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== -prettier@^1.16.4, prettier@~1.19.1: +prettier@^2.0.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" + integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== + +prettier@~1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== @@ -22091,12 +21077,12 @@ pretty-bytes@5.6.0, pretty-bytes@^5.4.1: integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^24.8.0, pretty-format@^24.9.0: version "24.9.0" @@ -22118,6 +21104,16 @@ pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + pretty-hrtime@^1.0.0, pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -22130,18 +21126,13 @@ prismjs@^1.16.0, prismjs@^1.21.0, prismjs@^1.8.4, prismjs@~1.23.0: optionalDependencies: clipboard "^2.0.0" -prismjs@~1.16.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308" - integrity sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA== +prismjs@~1.17.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be" + integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q== optionalDependencies: clipboard "^2.0.0" -private@^0.1.8, private@~0.1.5: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -22170,22 +21161,33 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + promise.allsettled@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.1.tgz#afe4bfcc13b26e2263a97a7fbbb19b8ca6eb619c" - integrity sha512-3ST7RS7TY3TYLOIe+OACZFvcWVe1osbgz2x07nTb446pa3t4GUZWidMDzQ4zf9jC2l6mRa1/3X81icFYbi+D/g== + version "1.0.4" + resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.4.tgz#65e71f2a604082ed69c548b68603294090ee6803" + integrity sha512-o73CbvQh/OnPFShxHcHxk0baXR2a1m4ozb85ha0H14VEoi/EJJLa9mnPfEWJx9RjA9MLfhdjZ8I6HhWtBa64Ag== dependencies: + array.prototype.map "^1.0.3" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.13.0" - function-bind "^1.1.1" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.0.2" + iterate-value "^1.0.2" promise.prototype.finally@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" - integrity sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz#b8af89160c9c673cefe3b4c4435b53cfd0287067" + integrity sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA== dependencies: - define-properties "^1.1.2" - es-abstract "^1.9.0" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.0" function-bind "^1.1.1" promise@^7.1.1: @@ -22202,23 +21204,7 @@ promise@^8.1.0: dependencies: asap "~2.0.6" -prompts@^2.0.1, prompts@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" - integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== - dependencies: - kleur "^3.0.2" - sisteransi "^1.0.0" - -prompts@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" - integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -prompts@^2.4.0: +prompts@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== @@ -22226,6 +21212,22 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" +prompts@^2.0.1, prompts@^2.3.0, prompts@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prompts@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" + integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== + dependencies: + kleur "^3.0.2" + sisteransi "^1.0.0" + promzard@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" @@ -22252,28 +21254,21 @@ prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.8, react-is "^16.8.1" property-information@^5.0.0, property-information@^5.3.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.4.0.tgz#16e08f13f4e5c4a7be2e4ec431c01c4f8dba869a" - integrity sha512-nmMWAm/3vKFGmmOWOcdLjgq/Hlxa+hsuR/px1Lp/UGEyc5A22A6l78Shc2C0E71sPmAqglni+HrS7L7VJ7AUCA== + version "5.6.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== dependencies: xtend "^4.0.0" -property-information@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.1.0.tgz#e4755eee5319f03f7f6f5a9bc1a6a7fea6609e2c" - integrity sha512-tODH6R3+SwTkAQckSp2S9xyYX8dEKYkeXw+4TmJzTxnNzd6mQPu1OD4f9zPrvw/Rm4wpPgI+Zp63mNSGNzUgHg== - dependencies: - xtend "^4.0.1" - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== + version "1.4.8" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== protoduck@^5.0.1: version "5.0.1" @@ -22283,17 +21278,17 @@ protoduck@^5.0.1: genfun "^5.0.0" proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.0" + forwarded "0.2.0" + ipaddr.js "1.9.1" proxy-from-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== prr@~1.0.1: version "1.0.1" @@ -22305,12 +21300,7 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.28: - version "1.1.33" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.33.tgz#5533d9384ca7aab86425198e10e8053ebfeab661" - integrity sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw== - -psl@^1.1.33: +psl@^1.1.28, psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -22367,7 +21357,21 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -puppeteer@^1.13.0, puppeteer@~1.17.0: +puppeteer@^1.13.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38" + integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== + dependencies: + debug "^4.1.0" + extract-zip "^1.6.6" + https-proxy-agent "^2.2.1" + mime "^2.0.3" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^2.6.1" + ws "^6.1.0" + +puppeteer@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.17.0.tgz#371957d227a2f450fa74b78e78a2dadb2be7f14f" integrity sha512-3EXZSximCzxuVKpIHtyec8Wm2dWZn1fc5tQi34qWfiUgubEVYHjUvr0GOJojqf3mifI6oyKnCdrGxaOI+lWReA== @@ -22396,10 +21400,12 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -qs@^6.6.0, qs@^6.8.0: - version "6.9.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.1.tgz#20082c65cb78223635ab1a9eaca8875a29bf8ec9" - integrity sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA== +qs@^6.10.0, qs@^6.6.0, qs@^6.8.0, qs@^6.9.4: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" qs@~6.5.1, qs@~6.5.2: version "6.5.2" @@ -22415,21 +21421,41 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0, querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0, querystring@^0.2.0: +querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -22462,17 +21488,7 @@ ramda@^0.21.0: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU= -ramda@^0.26: - version "0.26.1" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" - integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== - -ramda@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.0.tgz#915dc29865c0800bf3f69b8fd6c279898b59de43" - integrity sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA== - -ramda@~0.27.1: +ramda@^0.27.1, ramda@~0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== @@ -22515,7 +21531,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@4.0.2, raw-loader@^4.0.1: +raw-loader@4.0.2, raw-loader@^4.0.1, raw-loader@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== @@ -22523,15 +21539,7 @@ raw-loader@4.0.2, raw-loader@^4.0.1: loader-utils "^2.0.0" schema-utils "^3.0.0" -raw-loader@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f" - integrity sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA== - dependencies: - loader-utils "^1.1.0" - schema-utils "^2.0.1" - -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: +rc@^1.0.1, rc@^1.1.6: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -22561,11 +21569,10 @@ react-addons-create-fragment@^15.6.2: object-assign "^4.1.0" react-addons-shallow-compare@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" - integrity sha1-GYoAuR/DdiPbZKKP0XtZa6NicC8= + version "15.6.3" + resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.3.tgz#28a94b0dfee71530852c66a69053d59a1baf04cb" + integrity sha512-EDJbgKTtGRLhr3wiGDXK/+AEJ59yqGS+tKE6mue0aNXT6ZMR7VJbbzIiT6akotmHg1BLj46ElJSb+NBMp80XBg== dependencies: - fbjs "^0.8.4" object-assign "^4.1.0" react-app-polyfill@2.0.0: @@ -22581,11 +21588,11 @@ react-app-polyfill@2.0.0: whatwg-fetch "^3.4.1" react-clientside-effect@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz#6212fb0e07b204e714581dd51992603d1accc837" - integrity sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A== + version "1.2.5" + resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz#e2c4dc3c9ee109f642fac4f5b6e9bf5bcd2219a3" + integrity sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA== dependencies: - "@babel/runtime" "^7.0.0" + "@babel/runtime" "^7.12.13" react-codesandboxer@^3.1.3: version "3.1.5" @@ -22598,17 +21605,23 @@ react-codesandboxer@^3.1.3: react-node-resolver "^1.0.1" react-color@^2.17.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.18.0.tgz#34956f0bac394f6c3bc01692fd695644cc775ffd" - integrity sha512-FyVeU1kQiSokWc8NPz22azl1ezLpJdUyTbWL0LPUpcuuYDrZ/Y1veOk9rRK5B3pMlyDGvTk4f4KJhlkIQNRjEA== + version "2.19.3" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" + integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== dependencies: "@icons/material" "^0.2.4" - lodash "^4.17.11" + lodash "^4.17.15" + lodash-es "^4.17.15" material-colors "^1.2.1" prop-types "^15.5.10" reactcss "^1.2.0" tinycolor2 "^1.4.1" +react-colorful@^5.0.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.2.2.tgz#0a69d0648db47e51359d343854d83d250a742243" + integrity sha512-Xdb1Rl6lZ5SMdNBH59eE0lGqR1g2LVD8IgPlw0WeMDrOC65lYI8fgMEwj/0dDpVRVMh5qp73ciISDst/t2O2iQ== + react-custom-scrollbars@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/react-custom-scrollbars/-/react-custom-scrollbars-4.2.1.tgz#830fd9502927e97e8a78c2086813899b2a8b66db" @@ -22648,35 +21661,34 @@ react-dev-utils@^10.0.0: strip-ansi "6.0.0" text-table "0.2.0" -react-dev-utils@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" - integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== +react-dev-utils@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" + integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== dependencies: - "@babel/code-frame" "7.5.5" + "@babel/code-frame" "7.10.4" address "1.1.2" - browserslist "4.7.0" + browserslist "4.14.2" chalk "2.4.2" - cross-spawn "6.0.5" + cross-spawn "7.0.3" detect-port-alt "1.1.6" - escape-string-regexp "1.0.5" - filesize "3.6.1" - find-up "3.0.0" - fork-ts-checker-webpack-plugin "1.5.0" + escape-string-regexp "2.0.0" + filesize "6.1.0" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "4.1.6" global-modules "2.0.0" - globby "8.0.2" + globby "11.0.1" gzip-size "5.1.1" - immer "1.10.0" - inquirer "6.5.0" + immer "8.0.1" is-root "2.1.0" - loader-utils "1.2.3" - open "^6.3.0" - pkg-up "2.0.0" - react-error-overlay "^6.0.3" + loader-utils "2.0.0" + open "^7.0.2" + pkg-up "3.1.0" + prompts "2.4.0" + react-error-overlay "^6.0.9" recursive-readdir "2.2.2" shell-quote "1.7.2" - sockjs-client "1.4.0" - strip-ansi "5.2.0" + strip-ansi "6.0.0" text-table "0.2.0" react-docgen-typescript-loader@^3.7.2: @@ -22700,27 +21712,24 @@ react-docgen-typescript-plugin@^0.5.2: react-docgen-typescript-loader "^3.7.2" tslib "^2.0.0" -react-docgen-typescript@^1.15.0, react-docgen-typescript@^1.20.1: - version "1.21.0" - resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.21.0.tgz#3385dde81b63eb1d54f86a935bd4f65f96c821f6" - integrity sha512-E4y/OcXwHukgiVafCGlxwoNHr4BDmM70Ww7oimL/QkMo5dmGALhceewe/xmVjdMxxI7E5syOGOc9/tbHL742rg== - -react-docgen-typescript@^1.16.6: - version "1.16.6" - resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.16.6.tgz#334c1b346cdaba9a347c7395fa4fc37a3a3292b5" - integrity sha512-Nt+Oireji1q/6ZV7LAZHLJfd86gpYSiuX519MTgnPbyXsTTK5iCYm5SZz1bkD42xTK7nXZen2UicY2xER3J3Nw== +react-docgen-typescript@^1.15.0, react-docgen-typescript@^1.16.6, react-docgen-typescript@^1.20.1: + version "1.22.0" + resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz#00232c8e8e47f4437cac133b879b3e9437284bee" + integrity sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg== react-docgen@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.1.0.tgz#8e69f1d2e9153c535c20162ea1b85878b059b474" - integrity sha512-buAVMVqDEtvC7+VRDRlA9udS9cO9jFfb7yxRvKNYR9MXS0MJwaIe7OjSEydNzH9oH7LND3whDE+koFDUBtF3zA== + version "5.4.0" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.4.0.tgz#2cd7236720ec2769252ef0421f23250b39a153a1" + integrity sha512-JBjVQ9cahmNlfjMGxWUxJg919xBBKAoy3hgDgKERbR+BcF4ANpDuzWAScC7j27hZfd8sJNmMPOLWo9+vB/XJEQ== dependencies: "@babel/core" "^7.7.5" + "@babel/generator" "^7.12.11" "@babel/runtime" "^7.7.6" - ast-types "^0.13.2" - async "^2.1.4" + ast-types "^0.14.2" commander "^2.19.0" doctrine "^3.0.0" + estree-to-babel "^3.1.0" + neo-async "^2.6.1" node-dir "^0.1.10" strip-indent "^3.0.0" @@ -22732,7 +21741,17 @@ react-document-title@^2.0.3: prop-types "^15.5.6" react-side-effect "^1.0.2" -react-dom@16.8.6, react-dom@^16.0.0, react-dom@^16.8.3: +react-dom@16.14.0, react-dom@^16.0.0, react-dom@^16.8.3: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-dom@16.8.6: version "16.8.6" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== @@ -22751,23 +21770,15 @@ react-dom@~15.4.1: loose-envify "^1.1.0" object-assign "^4.1.0" -react-draggable@^4.0.3: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.2.0.tgz#40cc5209082ca7d613104bf6daf31372cc0e1114" - integrity sha512-5wFq//gEoeTYprnd4ze8GrFc+Rbnx+9RkOMR3vk4EbWxj02U6L6T3yrlKeiw4X5CtjD2ma2+b3WujghcXNRzkw== +react-draggable@^4.0.3, react-draggable@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz#0727f2cae5813e36b0e4962bf11b2f9ef2b406f3" + integrity sha512-jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w== dependencies: classnames "^2.2.5" prop-types "^15.6.0" -react-element-to-jsx-string@^14.0.2: - version "14.3.1" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.1.tgz#a08fa6e46eb76061aca7eabc2e70f433583cb203" - integrity sha512-LRdQWRB+xcVPOL4PU4RYuTg6dUJ/FNmaQ8ls6w38YbzkbV6Yr5tFNESroub9GiSghtnMq8dQg2LcNN5aMIDzVg== - dependencies: - "@base2/pretty-print-object" "1.0.0" - is-plain-object "3.0.0" - -react-element-to-jsx-string@^14.3.1: +react-element-to-jsx-string@^14.0.2, react-element-to-jsx-string@^14.3.1: version "14.3.2" resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.2.tgz#c0000ed54d1f8b4371731b669613f2d4e0f63d5c" integrity sha512-WZbvG72cjLXAxV7VOuSzuHEaI3RHj10DZu8EcKQpkKcAj7+qAkG5XUeSdX5FXrA0vPrlx0QsnAzZEBJwzV0e+w== @@ -22776,18 +21787,13 @@ react-element-to-jsx-string@^14.3.1: is-plain-object "3.0.1" react-error-boundary@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.0.tgz#9487443df2f9ba1db90d8ab52351814907ea4af3" - integrity sha512-lmPrdi5SLRJR+AeJkqdkGlW/CRkAUvZnETahK58J4xb5wpbfDngasEGu+w0T1iXEhVrYBJZeW+c4V1hILCnMWQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.3.tgz#276bfa05de8ac17b863587c9e0647522c25e2a0b" + integrity sha512-A+F9HHy9fvt9t8SNDlonq01prnU8AmkjvGKV4kk8seB9kU3xMEO8J/PQlLVmoOIDODl5U2kufSBs4vrWIqhsAA== dependencies: "@babel/runtime" "^7.12.5" -react-error-overlay@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.4.tgz#0d165d6d27488e660bc08e57bdabaad741366f7a" - integrity sha512-ueZzLmHltszTshDMwyfELDq8zOA803wQ1ZuzCccXa1m57k1PxSHfflPD5W9YIiTXLs0JTLzoj6o1LuM5N6zzNA== - -react-error-overlay@^6.0.7: +react-error-overlay@^6.0.7, react-error-overlay@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== @@ -22797,46 +21803,46 @@ react-fast-compare@^2.0.1, react-fast-compare@^2.0.4: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-fast-compare@^3.0.1: +react-fast-compare@^3.0.1, react-fast-compare@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== react-fela@^10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/react-fela/-/react-fela-10.6.1.tgz#7d76246d073d93eefc08084345e81193a1e510c6" - integrity sha512-HEtJXkvmwvvPJ4lbYrbttudgmacXnWSU9H3Syx4KiyiUBq9y/f0bn1YW/BLh4jQVVxAsbI6s6hSNornX/sdEzw== + version "10.8.2" + resolved "https://registry.yarnpkg.com/react-fela/-/react-fela-10.8.2.tgz#286ee4a273fd53c689a96f4aed38738ab0203cfc" + integrity sha512-TDIuOzxwtPcMhxlR4be/s1Er5b7zS8D42QOzaZZGMJskfH1ULFSOpdlBsb32ivqacXatbGZzshHDXGV5vKNkhQ== dependencies: - fela-bindings "^10.6.1" - fela-dom "^10.6.1" + fela-bindings "^10.8.2" + fela-dom "^10.8.2" prop-types "^15.5.8" react-focus-lock@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.2.1.tgz#1d12887416925dc53481914b7cedd39494a3b24a" - integrity sha512-47g0xYcCTZccdzKRGufepY8oZ3W1Qg+2hn6u9SHZ0zUB6uz/4K4xJe7yYFNZ1qT6m+2JDm82F6QgKeBTbjW4PQ== + version "2.5.1" + resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.5.1.tgz#e2060c5d7b02c62d79c4f103d0fc5a1288bc8f75" + integrity sha512-gOToRZKVEymGEjFaTRUKgJsdYQrNosoiK7yZnXnnd8bYew4vMzk3Rxb0Q4nyrGwsFuUmgQiSAulQirA0J+v4hA== dependencies: "@babel/runtime" "^7.0.0" - focus-lock "^0.6.6" + focus-lock "^0.9.1" prop-types "^15.6.2" react-clientside-effect "^1.2.2" use-callback-ref "^1.2.1" use-sidecar "^1.0.1" react-frame-component@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-4.1.1.tgz#ea8f7c518ef6b5ad72146dd1f648752369826894" - integrity sha512-NfJp90AvYA1R6+uSYafQ+n+UM2HjHqi4WGHeprVXa6quU9d8o6ZFRzQ36uemY82dlkZFzf2jigFx6E4UzNFajA== + version "4.1.3" + resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-4.1.3.tgz#64c09dd29574720879c5f43ee36c17d8ae74d4ec" + integrity sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA== -react-helmet-async@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.4.tgz#079ef10b7fefcaee6240fefd150711e62463cc97" - integrity sha512-KTGHE9sz8N7+fCkZ2a3vzXH9eIkiTNhL2NhKR7XzzQl3WsGlCHh76arauJUIiGdfhjeMp7DY7PkASAmYFXeJYg== +react-helmet-async@^1.0.2, react-helmet-async@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.9.tgz#5b9ed2059de6b4aab47f769532f9fbcbce16c5ca" + integrity sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ== dependencies: - "@babel/runtime" "^7.3.4" + "@babel/runtime" "^7.12.5" invariant "^2.2.4" prop-types "^15.7.2" - react-fast-compare "^2.0.4" + react-fast-compare "^3.2.0" shallowequal "^1.1.0" react-hook-form@^5.7.2: @@ -22872,31 +21878,31 @@ react-hotkeys@2.0.0: dependencies: prop-types "^15.6.1" -react-input-autosize@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" - integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== +react-input-autosize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" + integrity sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg== dependencies: prop-types "^15.5.8" react-inspector@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.0.tgz#45a325e15f33e595be5356ca2d3ceffb7d6b8c3a" - integrity sha512-JAwswiengIcxi4X/Ssb8nf6suOuQsyit8Fxo04+iPKTnPNY3XIOuagjMZSzpJDDKkYcc/ARlySOYZZv626WUvA== + version "5.1.1" + resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.1.tgz#58476c78fde05d5055646ed8ec02030af42953c8" + integrity sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg== dependencies: "@babel/runtime" "^7.0.0" is-dom "^1.0.0" prop-types "^15.0.0" -react-is@^16.12.0, react-is@^16.6.0, react-is@^16.6.3, react-is@^16.7.0, react-is@^16.8.3, react-is@^16.9.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" - integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.6.3, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" - integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== +react-is@^17.0.1, react-is@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -22931,7 +21937,7 @@ react-node-resolver@^1.0.1: resolved "https://registry.yarnpkg.com/react-node-resolver/-/react-node-resolver-1.0.1.tgz#1798a729c0e218bf2f0e8ddf79c550d4af61d83a" integrity sha1-F5inKcDiGL8vDo3fecVQ1K9h2Do= -react-popper-tooltip@^2.11.0: +react-popper-tooltip@^2.11.0, react-popper-tooltip@^2.8.3: version "2.11.1" resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.11.1.tgz#3c4bdfd8bc10d1c2b9a162e859bab8958f5b2644" integrity sha512-04A2f24GhyyMicKvg/koIOQ5BzlrRbKiAgP6L+Pdj1MVX3yJ1NeZ8+EidndQsbejFT55oW1b++wg2Z8KlAyhfQ== @@ -22939,14 +21945,6 @@ react-popper-tooltip@^2.11.0: "@babel/runtime" "^7.9.2" react-popper "^1.3.7" -react-popper-tooltip@^2.8.3: - version "2.10.1" - resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.10.1.tgz#e10875f31916297c694d64a677d6f8fa0a48b4d1" - integrity sha512-cib8bKiyYcrIlHo9zXx81G0XvARfL8Jt+xum709MFCgQa3HTqTi4au3iJ9tm7vi7WU7ngnqbpWkMinBOtwo+IQ== - dependencies: - "@babel/runtime" "^7.7.4" - react-popper "^1.3.6" - react-popper-tooltip@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-3.1.1.tgz#329569eb7b287008f04fcbddb6370452ad3f9eac" @@ -22956,35 +21954,23 @@ react-popper-tooltip@^3.1.1: "@popperjs/core" "^2.5.4" react-popper "^2.2.4" -react-popper@^1.3.6: - version "1.3.7" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.7.tgz#f6a3471362ef1f0d10a4963673789de1baca2324" - integrity sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww== - dependencies: - "@babel/runtime" "^7.1.2" - create-react-context "^0.3.0" - deep-equal "^1.1.1" - popper.js "^1.14.4" - prop-types "^15.6.1" - typed-styles "^0.0.7" - warning "^4.0.2" - react-popper@^1.3.7: - version "1.3.8" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.8.tgz#d4de26cb51bbbdd9aacd8436ddb8d5784b2d389d" - integrity sha512-v4urgRZHjruyxWiwebAQtfLrzzjebCgimPrNUJ/bM2a1udgn+5/4t207nWPpjl8CDFYM2T0vcCSy5DAEd7dUGQ== + version "1.3.11" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd" + integrity sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg== dependencies: "@babel/runtime" "^7.1.2" - create-react-context "^0.3.0" + "@hypnosphi/create-react-context" "^0.3.1" + deep-equal "^1.1.1" popper.js "^1.14.4" prop-types "^15.6.1" typed-styles "^0.0.7" warning "^4.0.2" react-popper@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.4.tgz#d2ad3d2474ac9f1abf93df3099d408e5aa6a2e22" - integrity sha512-NacOu4zWupdQjVXq02XpTD3yFPSfg5a7fex0wa3uGKVkFK7UN6LvVxgcb+xYr56UCuWiNPMH20tntdVdJRwYew== + version "2.2.5" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96" + integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw== dependencies: react-fast-compare "^3.0.1" warning "^4.0.2" @@ -23019,9 +22005,9 @@ react-router@5.2.0: tiny-warning "^1.0.0" react-select@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.8.tgz#06ff764e29db843bcec439ef13e196865242e0c1" - integrity sha512-v9LpOhckLlRmXN5A6/mGGEft4FMrfaBFTGAnuPHcUgVId7Je42kTq9y0Z+Ye5z8/j0XDT3zUqza8gaRaI1PZIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.2.0.tgz#de9284700196f5f9b5277c5d850a9ce85f5c72fe" + integrity sha512-B/q3TnCZXEKItO0fFN/I0tWOX3WJvi/X2wtdffmwSQVRwg5BpValScTO1vdic9AxlUgmeSzib2hAZAwIUQUZGQ== dependencies: "@babel/runtime" "^7.4.4" "@emotion/cache" "^10.0.9" @@ -23029,8 +22015,8 @@ react-select@^3.0.8: "@emotion/css" "^10.0.9" memoize-one "^5.0.0" prop-types "^15.6.0" - react-input-autosize "^2.2.2" - react-transition-group "^2.2.1" + react-input-autosize "^3.0.0" + react-transition-group "^4.3.0" react-side-effect@^1.0.2: version "1.2.0" @@ -23044,10 +22030,20 @@ react-sizeme@^2.5.2, react-sizeme@^2.6.7: resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e" integrity sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw== dependencies: - element-resize-detector "^1.2.1" + element-resize-detector "^1.2.1" + invariant "^2.2.4" + shallowequal "^1.1.0" + throttle-debounce "^2.1.0" + +react-sizeme@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-3.0.1.tgz#4d12f4244e0e6a0fb97253e7af0314dc7c83a5a0" + integrity sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw== + dependencies: + element-resize-detector "^1.2.2" invariant "^2.2.4" shallowequal "^1.1.0" - throttle-debounce "^2.1.0" + throttle-debounce "^3.0.1" react-source-render@4.0.0-1: version "4.0.0-1" @@ -23093,7 +22089,7 @@ react-syntax-highlighter@^12.2.1: prismjs "^1.8.4" refractor "^2.4.1" -react-syntax-highlighter@^13.5.0: +react-syntax-highlighter@^13.5.3: version "13.5.3" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz#9712850f883a3e19eb858cf93fad7bb357eea9c6" integrity sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg== @@ -23105,21 +22101,19 @@ react-syntax-highlighter@^13.5.0: refractor "^3.1.0" react-table@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.1.0.tgz#c975cd67e917c54190b6c9df29f085285b0c3f4e" - integrity sha512-AZpgW0Xpo6Z7jxXZIBovzCGoYVkuBwATsJh7X4+JXwq9JtDaorOmxWC9gKx5Hui4d+n+I99enyyJS+LRtKydxA== - dependencies: - "@scarf/scarf" "^1.0.4" + version "7.7.0" + resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.7.0.tgz#e2ce14d7fe3a559f7444e9ecfe8231ea8373f912" + integrity sha512-jBlj70iBwOTvvImsU9t01LjFjy4sXEtclBovl3mTiqjz23Reu0DKnRza4zlLtOPACx6j2/7MrQIthIK1Wi+LIA== react-test-renderer@^16.0.0-0, react-test-renderer@^16.3.0: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" - integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw== + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae" + integrity sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" react-is "^16.8.6" - scheduler "^0.13.6" + scheduler "^0.19.1" react-textarea-autosize@7.0.4: version "7.0.4" @@ -23136,29 +22130,19 @@ react-textarea-autosize@^7.1.0: "@babel/runtime" "^7.1.2" prop-types "^15.6.0" -react-textarea-autosize@^8.1.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.1.tgz#b942a934cc660ecfc645717d1fb84344b69dcb15" - integrity sha512-Vk02C3RWKLjx1wSwcVuPwfTuyGIemBB2MjDi01OnBYxKWSJFA/O7IOzr9FrO8AuRlkupk4X6Kjew2mYyEDXi0A== +react-textarea-autosize@^8.1.1, react-textarea-autosize@^8.3.0: + version "8.3.3" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8" + integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ== dependencies: "@babel/runtime" "^7.10.2" use-composed-ref "^1.0.0" use-latest "^1.0.0" -react-transition-group@^2.2.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" - integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== - dependencies: - dom-helpers "^3.4.0" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" - react-transition-group@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz#fea832e386cf8796c58b61874a3319704f5ce683" - integrity sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw== + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== dependencies: "@babel/runtime" "^7.5.5" dom-helpers "^5.0.1" @@ -23166,15 +22150,15 @@ react-transition-group@^4.3.0: prop-types "^15.6.2" react-virtualized@^9.21.1: - version "9.21.2" - resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.21.2.tgz#02e6df65c1e020c8dbf574ec4ce971652afca84e" - integrity sha512-oX7I7KYiUM7lVXQzmhtF4Xg/4UA5duSA+/ZcAvdWlTLFCoFYq1SbauJT5gZK9cZS/wdYR6TPGpX/dqzvTqQeBA== + version "9.22.3" + resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" + integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== dependencies: - babel-runtime "^6.26.0" - clsx "^1.0.1" - dom-helpers "^5.0.0" - loose-envify "^1.3.0" - prop-types "^15.6.0" + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" react-lifecycles-compat "^3.0.4" react-vis@^1.11.6: @@ -23209,7 +22193,16 @@ react-window@^1.8.6: "@babel/runtime" "^7.0.0" memoize-one ">=3.1.1 <6" -react@16.8.6, react@^16.0.0, react@^16.8.3: +react@16.14.0, react@^16.0.0, react@^16.8.3: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +react@16.8.6: version "16.8.6" resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== @@ -23236,49 +22229,47 @@ reactcss@^1.2.0: lodash "^4.0.1" read-cmd-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" - integrity sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs= + version "1.0.5" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" + integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA== dependencies: graceful-fs "^4.1.2" -read-package-json-fast@^1.1.1, read-package-json-fast@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-1.1.3.tgz#3b78464ea8f3c4447f3358635390b6946dc0737e" - integrity sha512-MmFqiyfCXV2Dmm4jH24DEGhxdkUDFivJQj4oPZQPOKywxR7HWBE6WnMWDAapfFHi3wm1b+mhR+XHlUH0CL8axg== +read-package-json-fast@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz#2dcb24d9e8dd50fb322042c8c35a954e6cc7ac9e" + integrity sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ== dependencies: - json-parse-even-better-errors "^2.0.1" + json-parse-even-better-errors "^2.3.0" npm-normalize-package-bin "^1.0.1" "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" - integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== + version "2.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== dependencies: glob "^7.1.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" + npm-normalize-package-bin "^1.0.0" read-package-tree@^5.1.6: - version "5.3.0" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.0.tgz#4f95472e45e7145fb77f4069d12844b139f5ea12" - integrity sha512-Gi64+EWmi4515E1rPR77ae/Ip8cjFQTlsWytSYJj974U0tSnxm67pyXltbDjB1lvLw4dc85HbtidGL1K2c/oxw== + version "5.3.1" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== dependencies: read-package-json "^2.0.0" readdir-scoped-modules "^1.0.0" util-promisify "^2.1.0" -read-pkg-up@*, read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== +read-pkg-up@*: + version "8.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" + integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" + find-up "^5.0.0" + read-pkg "^6.0.0" + type-fest "^1.0.1" read-pkg-up@^1.0.1: version "1.0.1" @@ -23288,14 +22279,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -23312,6 +22295,15 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -23321,15 +22313,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -23339,7 +22322,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -read-pkg@^5.1.1, read-pkg@^5.2.0: +read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== @@ -23349,7 +22332,17 @@ read-pkg@^5.1.1, read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read-yaml-file@2.0.0, read-yaml-file@^2.0.0: +read-pkg@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" + integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^3.0.2" + parse-json "^5.2.0" + type-fest "^1.0.1" + +read-yaml-file@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-2.0.0.tgz#6de7d4c38c8e1f1cccae1ceb802822ec46eb864e" integrity sha512-k1KSHstyNvNq5mE6gGdqKuPEmlCYxvXMFgYdCuhzh4G3UCZynAzObU2fPpaOJ8Xd/AIUWZ1jkEwEljLVH3xkow== @@ -23359,6 +22352,14 @@ read-yaml-file@2.0.0, read-yaml-file@^2.0.0: pify "^5.0.0" strip-bom "^4.0.0" +read-yaml-file@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-2.1.0.tgz#c5866712db9ef5343b4d02c2413bada53c41c4a9" + integrity sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ== + dependencies: + js-yaml "^4.0.0" + strip-bom "^4.0.0" + read@1, read@~1.0.1: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -23408,7 +22409,7 @@ readable-stream@~1.0.17, readable-stream@~1.0.2: isarray "0.0.1" string_decoder "~0.10.x" -readdir-scoped-modules@^1.0.0, readdir-scoped-modules@^1.1.0: +readdir-scoped-modules@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== @@ -23434,13 +22435,6 @@ readdirp@~3.2.0: dependencies: picomatch "^2.0.4" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - dependencies: - picomatch "^2.2.1" - readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -23460,36 +22454,6 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -recast@^0.16.1: - version "0.16.2" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.2.tgz#3796ebad5fe49ed85473b479cd6df554ad725dc2" - integrity sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A== - dependencies: - ast-types "0.11.7" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - -recast@^0.18.1: - version "0.18.10" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.10.tgz#605ebbe621511eb89b6356a7e224bff66ed91478" - integrity sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ== - dependencies: - ast-types "0.13.3" - esprima "~4.0.0" - private "^0.1.8" - source-map "~0.6.1" - -recast@~0.11.12: - version "0.11.23" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" - integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM= - dependencies: - ast-types "0.9.6" - esprima "~3.1.0" - private "~0.1.5" - source-map "~0.5.0" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -23548,13 +22512,13 @@ reflect.ownkeys@^0.2.0: integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= refractor@^2.4.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.9.0.tgz#0a381aadb51513e4e6ec1ed410b5104dd65e2489" - integrity sha512-lCnCYvXpqd8hC7ksuvo516rz5q4NwzBbq0X5qjH5pxRfcQKiQxKZ8JctrSQmrR/7pcV2TRrs9TT+Whmq/wtluQ== + version "2.10.1" + resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.1.tgz#166c32f114ed16fd96190ad21d5193d3afc7d34e" + integrity sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw== dependencies: hastscript "^5.0.0" parse-entities "^1.1.2" - prismjs "~1.16.0" + prismjs "~1.17.0" refractor@^3.1.0: version "3.3.1" @@ -23573,21 +22537,16 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-runtime@^0.13.7: +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: version "0.13.7" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== @@ -23607,20 +22566,13 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" - integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== - dependencies: - define-properties "^1.1.2" - -regexp.prototype.flags@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" @@ -23647,13 +22599,6 @@ registry-auth-token@^3.0.1: rc "^1.1.6" safe-buffer "^5.0.1" -registry-auth-token@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da" - integrity sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w== - dependencies: - rc "^1.2.8" - registry-url@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" @@ -23661,26 +22606,19 @@ registry-url@^3.0.3: dependencies: rc "^1.0.1" -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - regjsgen@^0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== dependencies: jsesc "~0.5.0" -relateurl@0.2.x, relateurl@^0.2.7: +relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -23696,47 +22634,53 @@ remark-external-links@^6.0.0: space-separated-tokens "^1.0.0" unist-util-visit "^2.0.0" +remark-footnotes@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" + integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== + remark-frontmatter@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-1.3.2.tgz#91d9684319cd1b96cc3d9d901f10a978f39c752d" - integrity sha512-2eayxITZ8rezsXdgcXnYB3iLivohm2V/ZT4Ne8uhua6A4pk6GdLE2ZzJnbnINtD1HRLaTdB7RwF9sgUbMptJZA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz#67ec63c89da5a84bb793ecec166e11b4eb47af10" + integrity sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag== dependencies: fault "^1.0.1" xtend "^4.0.1" -remark-mdx@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.5.5.tgz#7def5f778c8454b6ef7747ecb2f01376b994b884" - integrity sha512-w1XW9UzsQ6XAecV59dP8LJWn4tMftaXGwH5LEvUU5uIEJEJvHDE1jkKiPr3ow2IuhjuRfWs3b079Jtnk5qlUgQ== - dependencies: - "@babel/core" "7.8.0" - "@babel/helper-plugin-utils" "7.8.0" - "@babel/plugin-proposal-object-rest-spread" "7.8.0" - "@babel/plugin-syntax-jsx" "7.8.0" - "@mdx-js/util" "^1.5.5" - is-alphabetical "1.0.3" - remark-parse "7.0.2" - unified "8.4.2" - -remark-parse@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.2.tgz#41e7170d9c1d96c3d32cf1109600a9ed50dba7cf" - integrity sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA== - dependencies: +remark-mdx@1.6.22: + version "1.6.22" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== + dependencies: + "@babel/core" "7.12.9" + "@babel/helper-plugin-utils" "7.10.4" + "@babel/plugin-proposal-object-rest-spread" "7.12.1" + "@babel/plugin-syntax-jsx" "7.12.1" + "@mdx-js/util" "1.6.22" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + +remark-parse@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" collapse-white-space "^1.0.2" is-alphabetical "^1.0.0" is-decimal "^1.0.0" is-whitespace-character "^1.0.0" is-word-character "^1.0.0" markdown-escapes "^1.0.0" - parse-entities "^1.1.0" + parse-entities "^2.0.0" repeat-string "^1.5.4" state-toggle "^1.0.0" trim "0.0.1" trim-trailing-lines "^1.0.0" unherit "^1.0.4" - unist-util-remove-position "^1.0.0" - vfile-location "^2.0.0" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" xtend "^4.0.1" remark-parse@^5.0.0: @@ -23769,12 +22713,12 @@ remark-slug@^6.0.0: mdast-util-to-string "^1.0.0" unist-util-visit "^2.0.0" -remark-squeeze-paragraphs@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-3.0.4.tgz#9fe50c3bf3b572dd88754cd426ada007c0b8dc5f" - integrity sha512-Wmz5Yj9q+W1oryo8BV17JrOXZgUKVcpJ2ApE2pwnoHwhFKSk4Wp2PmFNbmJMgYSqAdFwfkoe+TSYop5Fy8wMgA== +remark-squeeze-paragraphs@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" + integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== dependencies: - mdast-squeeze-paragraphs "^3.0.0" + mdast-squeeze-paragraphs "^4.0.0" remove-bom-buffer@^3.0.0: version "3.0.0" @@ -23798,21 +22742,21 @@ remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.6.tgz#aaf875a67f2d1705821a22b64515db6d9e025fd2" + integrity sha512-GIis2GBr/ho0pFNf57D4XM4+PgnQuTii0WCPjEZmZfKivzUfGuRdjN2aQYtYMiNggHmNyBve+thFnNR1iBRcKg== dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.0" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" @@ -23831,11 +22775,16 @@ replace-ext@0.0.1: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= -replace-ext@1.0.0, replace-ext@^1.0.0: +replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + replace-homedir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" @@ -23846,13 +22795,13 @@ replace-homedir@^1.0.0: remove-trailing-separator "^1.1.0" replace-in-file@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-6.1.0.tgz#9f9ddd7bb70d6ad231d2ad692e1b646e73d06647" - integrity sha512-URzjyF3nucvejuY13HFd7O+Q6tFJRLKGHLYVvSh+LiZj3gFXzSYGnIkQflnJJulCAI2/RTZaZkpOtdVdW0EhQA== + version "6.2.0" + resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-6.2.0.tgz#9c0e381b0e02f27f83d5ba500bb4046f63d18566" + integrity sha512-Im2AF9G/qgkYneOc9QwWwUS/efyyonTUBvzXS2VXuxPawE5yQIjT/e6x4CTijO0Quq48lfAujuo+S89RR2TP2Q== dependencies: - chalk "^4.0.0" + chalk "^4.1.0" glob "^7.1.6" - yargs "^15.3.1" + yargs "^16.2.0" request-progress@^3.0.0: version "3.0.0" @@ -23868,7 +22817,7 @@ request-promise-core@1.1.4: dependencies: lodash "^4.17.19" -request-promise-native@^1.0.5, request-promise-native@^1.0.8: +request-promise-native@^1.0.5: version "1.0.9" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== @@ -23983,9 +22932,9 @@ resize-observer-polyfill@^1.5.1: integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== resolve-alpn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" - integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.1.2.tgz#30b60cfbb0c0b8dc897940fe13fe255afcdd4d28" + integrity sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA== resolve-cwd@^2.0.0: version "2.0.0" @@ -24046,14 +22995,7 @@ resolve@1.1.7, resolve@1.1.x: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.15.1, resolve@^1.1.7, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.4.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== - dependencies: - path-parse "^1.0.6" - -resolve@1.17.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.17.0, resolve@~1.17.0: +resolve@1.17.0, resolve@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -24090,14 +23032,23 @@ resolve@^1.14.2, resolve@^1.18.1: is-core-module "^2.2.0" path-parse "^1.0.6" -resolve@~1.12.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.3.tgz#96d5253df8005ce19795c14338f2a013c38a8c15" - integrity sha512-hF6+hAPlxjqHWrw4p1rF3Wztbgxd4AjA5VlUzY5zcTb4J8D3JK4/1RjU48pHz2PJWzGVsLB1VWZkvJzhK2CCOA== +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: + is-core-module "^2.1.0" path-parse "^1.0.6" -responselike@1.0.2, responselike@^1.0.2: +responselike@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= @@ -24150,20 +23101,20 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -reusify@^1.0.0: +reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfc6902@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-3.0.4.tgz#82965f13536fd20cb7799ce0376e9ce7cd3ebfe6" - integrity sha512-OnzreaZXrwT5w2ikKXWr5QcuI7NZpL+J3hIkAwozjOnKVUL7fPsB8Vcmu8YBiiou1/r3V0Jc0T1uQDyfAPvLzA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/rfc6902/-/rfc6902-3.1.1.tgz#24fc3b2568496100ac507c2e27e61ec5a1c134dd" + integrity sha512-aHiEm2S4mQSyyIaK7NVotfmVkgOOn1K9iuuSCIKJ8eIAte/8o06Vp06Z2NcLrmMahDmA+2F6oHx33P4NOQ1JnQ== rfdc@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" - integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== riceburn@^1.3.1: version "1.3.1" @@ -24172,14 +23123,7 @@ riceburn@^1.3.1: dependencies: glob "^7.1.3" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.4.0, rimraf@^2.5.2, rimraf@^2.7.1: +rimraf@^2.2.8, rimraf@^2.4.0, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -24237,14 +23181,14 @@ rollup-plugin-node-resolve@^5.2.0: rollup-pluginutils "^2.8.1" rollup-plugin-terser@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" - integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== dependencies: "@babel/code-frame" "^7.5.5" jest-worker "^24.9.0" rollup-pluginutils "^2.8.2" - serialize-javascript "^2.1.2" + serialize-javascript "^4.0.0" terser "^4.6.2" rollup-plugin-transform-tagged-template@^0.0.3: @@ -24257,15 +23201,15 @@ rollup-plugin-transform-tagged-template@^0.0.3: "@babel/traverse" "^7.10.3" rollup-plugin-typescript2@^0.27.0: - version "0.27.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.1.tgz#4f27193408a8f040139eed3e3db7b0c7f3668200" - integrity sha512-RJl77Bbj1EunAQDC3dK/O2HWuSUX3oJbRGzyLoS5o9W4Hs1Nix3Gavqj1Lzs5Y6Ff4H2xXfmZ1WWUQCYocSbzQ== + version "0.27.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" + integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== dependencies: - "@rollup/pluginutils" "^3.0.8" + "@rollup/pluginutils" "^3.1.0" find-cache-dir "^3.3.1" fs-extra "8.1.0" - resolve "1.15.1" - tslib "1.11.2" + resolve "1.17.0" + tslib "2.0.1" rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: version "2.8.2" @@ -24274,20 +23218,13 @@ rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: dependencies: estree-walker "^0.6.1" -rollup@^2.41.0: - version "2.45.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.45.2.tgz#8fb85917c9f35605720e92328f3ccbfba6f78b48" - integrity sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ== +rollup@^2.41.0, rollup@^2.7.6: + version "2.51.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.51.1.tgz#87bcd4095fe79b14c9bec0edc7ffa44e4827f793" + integrity sha512-8xfDbAtBleXotb6qKEHWuo/jkn94a9dVqGc7Rwl3sqspCVlnCfbRek7ldhCARSi7h32H0xR4QThm1t9zHN+3uw== optionalDependencies: fsevents "~2.3.1" -rollup@^2.7.6: - version "2.23.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.23.0.tgz#b7ab1fee0c0e60132fd0553c4df1e9cdacfada9d" - integrity sha512-vLNmZFUGVwrnqNAJ/BvuLk1MtWzu4IuoqsH9UWK5AIdO3rt8/CSiJNvPvCIvfzrbNsqKbNzPAG1V2O4eTe2XZg== - optionalDependencies: - fsevents "~2.1.2" - rst-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91" @@ -24314,14 +23251,18 @@ run-async@^2.2.0, run-async@^2.4.0: integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel-limit@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.0.6.tgz#0982a893d825b050cbaff1a35414832b195541b6" - integrity sha512-yFFs4Q2kECi5mWXyyZj3UlAZ5OFq5E07opABC+EmhZdjEkrxXaUwFqOaaNF4tbayMnBxrsbujpeCYTVjGufZGQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba" + integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== + dependencies: + queue-microtask "^1.2.2" run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" @@ -24335,13 +23276,20 @@ rxjs-for-await@0.0.2: resolved "https://registry.yarnpkg.com/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz#26598a1d6167147cc192172970e7eed4e620384b" integrity sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw== -rxjs@6.6.7, rxjs@>=6.4.0, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.5.5, rxjs@^6.6.0: +rxjs@6.6.7, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.6.0, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" +rxjs@>=6.4.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.1.0.tgz#94202d27b19305ef7b1a4f330277b2065df7039e" + integrity sha512-gCFO5iHIbRPwznl6hAYuwNFld8W4S2shtSJIqG27ReWXo9IWrCyEICxUA+6vJHwSR/OakoenC4QsDxq50tzYmw== + dependencies: + tslib "~2.1.0" + safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -24418,9 +23366,9 @@ satisfied@^1.1.1: yargs "^7.0.2" saucelabs@~4.6.2: - version "4.6.5" - resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-4.6.5.tgz#ece65fc55b9569c0e6b988133bf5bb0ff4f7e8d6" - integrity sha512-0vofPHnZOR4EsvDpByOC+LNHD1niPB+4QN1b9/zLlzuwFdOzWtjvucf8Qk/0ib2xlWrLF1i6T6aTeZmxJLLhUQ== + version "4.6.8" + resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-4.6.8.tgz#358aa6572650d25d19875680a25dd2cefb18c6f7" + integrity sha512-fIVEBpU8plADlCLGnHqxwlbxBqi8DxklTaoGAPmzcpxTJ73gbweN9WRFHrWrqSaWHy3yxL6ZnqO6uR7KX2eyGA== dependencies: bin-wrapper "^4.1.0" change-case "^4.1.1" @@ -24435,7 +23383,7 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^5.0.0: +saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== @@ -24450,10 +23398,18 @@ scheduler@^0.13.6: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler@^0.20.1: - version "0.20.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" - integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -24483,14 +23439,6 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.4.tgz#a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53" - integrity sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ== - dependencies: - ajv "^6.10.2" - ajv-keywords "^3.4.1" - schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -24522,9 +23470,9 @@ screener-ngrok@2.2.29: uuid "^3.0.0" screener-runner@~0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/screener-runner/-/screener-runner-0.12.1.tgz#7ba554fb095be0b181f8e3590e038a8fe286eccd" - integrity sha512-kqdz7LyIQoLaOgXUCy8Ou/xEmaZyhN2Kg2MFGLh46hkKd2u7mi3QnKqNQlsvj/4rgv0u2qblKs+QXWiu9CP5sg== + version "0.12.2" + resolved "https://registry.yarnpkg.com/screener-runner/-/screener-runner-0.12.2.tgz#beb0804e836a5a2ff810850c2bb73328625f1edf" + integrity sha512-MSJqnU0eMleSLOhePAvb/nRdKVXZPHa2ogcNFNy+NeXM0cvlmuQN554QJFhd+aFS/9ZsiEw3iDaD9htxIS0Bgw== dependencies: bluebird "~3.4.6" colors "~1.1.2" @@ -24591,9 +23539,9 @@ select@^1.1.2: integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= selfsigned@^1.10.8: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== dependencies: node-forge "^0.10.0" @@ -24628,22 +23576,17 @@ semver-truncate@^1.1.2: dependencies: semver "^5.3.0" -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.2, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@7.3.4, semver@^7.3.4, semver@~7.3.0: +semver@7.3.4: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== @@ -24665,6 +23608,13 @@ semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -24711,11 +23661,6 @@ sentence-case@^3.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -24849,9 +23794,9 @@ shell-quote@1.7.2, shell-quote@^1.6.1: integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== shelljs@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -24869,20 +23814,16 @@ shortid@~2.2.15: dependencies: nanoid "^2.1.0" -side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" -signal-exit@^3.0.3: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -24920,25 +23861,15 @@ simulant@^0.2.2: integrity sha1-8bzlJxK2p6DaON392n6DsgsdoB4= sirv@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.10.tgz#3e591f5a9ae2520f50d5830f5fae38d97e7be194" - integrity sha512-H5EZCoZaggEUQy8ocKsF7WAToGuZhjJlLvM3XOef46CbdIgbNeQ1p32N1PCuCjkVYwrAVOSMacN6CXXgIzuspg== + version "1.0.12" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.12.tgz#d816c882b35489b3c63290e2f455ae3eccd5f652" + integrity sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg== dependencies: - "@polka/url" "^1.0.0-next.9" + "@polka/url" "^1.0.0-next.15" mime "^2.3.1" totalist "^1.0.0" -sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== - -sisteransi@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" - integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== - -sisteransi@^1.0.5: +sisteransi@^1.0.0, sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== @@ -24986,11 +23917,6 @@ slide@^1.1.6: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= -smart-buffer@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" - integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw== - smart-buffer@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" @@ -25093,18 +24019,6 @@ socket.io@^2.3.0: socket.io-client "2.4.0" socket.io-parser "~3.4.0" -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - sockjs-client@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add" @@ -25144,20 +24058,20 @@ socks-proxy-agent@^5.0.0: socks "^2.3.3" socks@^2.3.3: - version "2.4.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.4.1.tgz#cea68a280a3bf7cb6333dbb40cfb243d10725e9d" - integrity sha512-8mWHeYC1OA0500qzb+sqwm0Hzi8oBpeuI1JugoBVMEJtJvxSgco8xFSK+NRnZcHeeWjTbF82KUDo5sXH22TY5A== + version "2.6.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== dependencies: - ip "1.1.5" + ip "^1.1.5" smart-buffer "^4.1.0" socks@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e" - integrity sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ== + version "2.3.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" + integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== dependencies: - ip "^1.1.5" - smart-buffer "4.0.2" + ip "1.1.5" + smart-buffer "^4.1.0" sort-keys-length@^1.0.0: version "1.0.1" @@ -25180,11 +24094,23 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" +sort-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== + dependencies: + is-plain-obj "^2.0.0" + source-list-map@^2.0.0, source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-loader@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-2.0.0.tgz#6651dc5a46beb2b914abacd00b8f9dd0e7757820" @@ -25202,18 +24128,7 @@ source-map-loader@^0.2.4: async "^2.5.0" loader-utils "^1.1.0" -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -25232,7 +24147,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.16, source-map-support@^0.5.16, source-map-support@~0.5.12: +source-map-support@0.5.16: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -25240,7 +24155,7 @@ source-map-support@0.5.16, source-map-support@^0.5.16, source-map-support@~0.5.1 buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.19: +source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -25249,9 +24164,9 @@ source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6 source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" @@ -25265,7 +24180,7 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -25288,9 +24203,9 @@ sourcemap-codec@^1.4.4: integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== space-separated-tokens@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" - integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA== + version "1.1.5" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== sparkles@^1.0.0: version "1.0.1" @@ -25298,30 +24213,30 @@ sparkles@^1.0.0: integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" - integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== + version "3.0.9" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" + integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== spdy-transport@^3.0.0: version "3.0.0" @@ -25346,6 +24261,11 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -25399,24 +24319,9 @@ ssri@^6.0.0, ssri@^6.0.1: resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: - figgy-pudding "^3.5.1" - -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - -ssri@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" - integrity sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA== - dependencies: - minipass "^3.1.1" + figgy-pudding "^3.5.1" -ssri@^8.0.1: +ssri@^8.0.0, ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== @@ -25434,9 +24339,11 @@ stack-trace@0.0.10: integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" state-toggle@^1.0.0: version "1.0.3" @@ -25473,10 +24380,10 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -store2@^2.7.1: - version "2.10.0" - resolved "https://registry.yarnpkg.com/store2/-/store2-2.10.0.tgz#46b82bb91878daf1b0d56dec2f1d41e54d5103cf" - integrity sha512-tWEpK0snS2RPUq1i3R6OahfJNjWCQYNxq0+by1amCSuw0mXtymJpzmZIeYpA1UAa+7B0grCpNYIbDcd7AgTbFg== +store2@^2.12.0, store2@^2.7.1: + version "2.12.0" + resolved "https://registry.yarnpkg.com/store2/-/store2-2.12.0.tgz#e1f1b7e1a59b6083b2596a8d067f6ee88fd4d3cf" + integrity sha512-7t+/wpKLanLzSnQPX8WAcuLCCeuSHoWdQuh9SB3xD0kNOM38DNf+0Oa+wmvxmYueRzkmh6IcdKFtvTa+ecgPDw== storybook-addon-performance@0.14.0: version "0.14.0" @@ -25537,10 +24444,10 @@ stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" -stream-http@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" - integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.4" @@ -25548,9 +24455,9 @@ stream-http@^3.1.1: xtend "^4.0.2" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== streamroller@^1.0.6: version "1.0.6" @@ -25577,6 +24484,11 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= + string-argv@0.3.1, string-argv@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -25630,77 +24542,72 @@ string-width@^3.0.0, string-width@^3.1.0: strip-ansi "^5.1.0" string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== +"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" + integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" - has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + es-abstract "^1.18.2" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" string.prototype.padend@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" - integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA= + version "3.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" + integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" string.prototype.padstart@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242" - integrity sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI= + version "3.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.1.2.tgz#f9b9ce66bedd7c06acb40ece6e34c6046e1a019d" + integrity sha512-HDpngIP3pd0DeazrfqzuBrQZa+D2arKWquEHfGt5LzVjd+roLC3cjqVI0X8foaZz5rrrhcu8oJAQamW8on9dqw== dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" string.prototype.trim@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + version "1.2.4" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz#6014689baf5efaf106ad031a5fa45157666ed1bd" + integrity sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.2" -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.5" -string_decoder@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: - safe-buffer "~5.1.0" + call-bind "^1.0.2" + define-properties "^1.1.3" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -25728,18 +24635,6 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -stringify-package@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" - integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== - -strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@6.0.0, strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -25761,6 +24656,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-bom-string@1.X: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -25829,7 +24731,7 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -25865,15 +24767,7 @@ style-loader@2.0.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -style-loader@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" - integrity sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.6.4" - -style-loader@^1.2.1: +style-loader@^1.2.1, style-loader@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== @@ -25881,31 +24775,24 @@ style-loader@^1.2.1: loader-utils "^2.0.0" schema-utils "^2.7.0" -style-to-object@0.3.0: +style-to-object@0.3.0, style-to-object@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== dependencies: inline-style-parser "0.1.1" -style-to-object@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.2.3.tgz#afcf42bc03846b1e311880c55632a26ad2780bcb" - integrity sha512-1d/k4EY2N7jVLOqf2j04dTc37TPOv/hHxZmvpg8Pdh8UYydxeu/C1W1U4vD8alzf5V2Gt7rLsmkr4dxAlDm9ng== - dependencies: - inline-style-parser "0.1.1" - styled-components@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.2.1.tgz#6ed7fad2dc233825f64c719ffbdedd84ad79101a" - integrity sha512-sBdgLWrCFTKtmZm/9x7jkIabjFNVzCUeKfoQsM6R3saImkUnjx0QYdLwJHBjY9ifEcmjDamJDVfknWm1yxZPxQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.0.tgz#e47c3d3e9ddfff539f118a3dd0fd4f8f4fb25727" + integrity sha512-bPJKwZCHjJPf/hwTJl6TbkSZg/3evha+XPEizrZUGb535jLImwDUdjTNxXqjjaASt2M4qO4AVfoHJNe3XB/tpQ== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/traverse" "^7.4.5" "@emotion/is-prop-valid" "^0.8.8" "@emotion/stylis" "^0.8.4" "@emotion/unitless" "^0.7.4" - babel-plugin-styled-components ">= 1" + babel-plugin-styled-components ">= 1.12.0" css-to-react-native "^3.0.0" hoist-non-react-statics "^3.0.0" shallowequal "^1.1.0" @@ -25923,16 +24810,11 @@ stylis@^3.5.4: resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== -stylis@^4.0.3: +stylis@^4.0.3, stylis@^4.0.6: version "4.0.10" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== -stylis@^4.0.6: - version "4.0.7" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.7.tgz#412a90c28079417f3d27c028035095e4232d2904" - integrity sha512-OFFeUXFgwnGOKvEXaSv0D0KQ5ADP0n6g3SVONx6I/85JzNZ3u50FRwB3lVIk1QO2HNdI75tbVzc4Z66Gdp9voA== - supports-color@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" @@ -25966,24 +24848,17 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.2.0: +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.0.tgz#7f8e6d289ded5a27b7f1b76f6a68cf7ad48cdf0e" - integrity sha512-7McmmMM5pLe5fDX7vzhZB1dv4a3ZS0POhSoiNINQ/xSonu3oBWxAstLrtgj/rUq0pIGo3AU0ZhLUxy5u20EamA== +supports-color@^8.0.0, supports-color@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" @@ -25996,9 +24871,9 @@ supports-hyperlinks@^1.0.1: supports-color "^5.0.0" supports-hyperlinks@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -26054,11 +24929,14 @@ symbol-tree@^3.2.2, symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== symbol.prototype.description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz#6e355660eb1e44ca8ad53a68fdb72ef131ca4b12" - integrity sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.4.tgz#c30edd3fe8c040d941cf7dc15842be15adf66855" + integrity sha512-fZkHwJ8ZNRVRzF/+/2OtygyyH06CjC0YZAQRHu9jKKw8RXlJpbizEHvGRUu22Qkg182wJk1ugb5Aovcv3UPrww== dependencies: - has-symbols "^1.0.0" + call-bind "^1.0.2" + es-abstract "^1.18.0-next.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.2" symbol@^0.2.1: version "0.2.3" @@ -26066,32 +24944,31 @@ symbol@^0.2.1: integrity sha1-O5hzuKkB5Hxu/iFSajrDcu8ou8c= syncpack@^5.6.10: - version "5.6.10" - resolved "https://registry.yarnpkg.com/syncpack/-/syncpack-5.6.10.tgz#9abad3def4ee925c5f55ecfa04564f0f762b5d67" - integrity sha512-7YjOACc9syvQVZfNSIhgZoZ2foqzQJ/r8tUPDKdfRgnBYNkDbbcjzYz1XH35oOm2vAllNhZYK2R8N5sAITMbqA== + version "5.7.11" + resolved "https://registry.yarnpkg.com/syncpack/-/syncpack-5.7.11.tgz#4c3667343197047be9a270a81c80e24c90088d7d" + integrity sha512-H79iI8D7W6rJeKyKEfbQdaBX1TA4ro0geJMGHZ1ob8YtfHjlZj1Fn+2bd7kHyaLlPtXSHceUShS4UMuoNphnAA== dependencies: chalk "4.1.0" commander "6.1.0" cosmiconfig "7.0.0" - expect-more "0.8.0" - fs-extra "9.0.1" + expect-more "0.8.1" + fs-extra "9.1.0" glob "7.1.6" read-yaml-file "2.0.0" - semver "7.3.2" + semver "7.3.4" tabbable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-4.0.0.tgz#5bff1d1135df1482cf0f0206434f15eadbeb9261" integrity sha512-H1XoH1URcBOa/rZZWxLxHCtOdVUEev+9vo5YdYhC9tCY4wnybX+VQrCYuy9ubkg69fCBxCONJOSLGfw0DWMffQ== -table@^6.0.4: - version "6.6.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e" - integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== +table@^6.0.4, table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== dependencies: ajv "^8.0.1" lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" @@ -26115,14 +24992,14 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== tar-fs@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5" - integrity sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== dependencies: chownr "^1.1.1" mkdirp-classic "^0.5.2" pump "^3.0.0" - tar-stream "^2.0.0" + tar-stream "^2.1.4" tar-stream@^1.5.2: version "1.6.2" @@ -26137,18 +25014,18 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar-stream@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz#6d5ef1a7e5783a95ff70b69b97455a5968dc1325" - integrity sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q== +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: - bl "^4.0.1" + bl "^4.0.3" end-of-stream "^1.4.1" fs-constants "^1.0.0" inherits "^2.0.3" readable-stream "^3.1.1" -tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: +tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -26161,19 +25038,7 @@ tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.1, tar@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.2.tgz#5df17813468a6264ff14f766886c622b84ae2f39" - integrity sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.0" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^6.1.0: +tar@^6.0.2, tar@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== @@ -26199,18 +25064,18 @@ telejson@^3.2.0: lodash "^4.17.15" memoizerific "^1.11.3" -telejson@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/telejson/-/telejson-5.1.0.tgz#cc04e4c2a355f9eb6af557e37acd6449feb1d146" - integrity sha512-Yy0N2OV0mosmr1SCZEm3Ezhu/oi5Dbao5RqauZu4+VI5I/XtVBHXajRk0txuqbFYtKdzzWGDZFGSif9ovVLjEA== +telejson@^5.0.2, telejson@^5.1.0: + version "5.3.3" + resolved "https://registry.yarnpkg.com/telejson/-/telejson-5.3.3.tgz#fa8ca84543e336576d8734123876a9f02bf41d2e" + integrity sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA== dependencies: "@types/is-function" "^1.0.0" global "^4.4.0" is-function "^1.0.2" - is-regex "^1.1.1" + is-regex "^1.1.2" is-symbol "^1.0.3" isobject "^4.0.0" - lodash "^4.17.20" + lodash "^4.17.21" memoizerific "^1.11.3" temp-dir@^1.0.0: @@ -26230,13 +25095,6 @@ temp-write@^3.4.0: temp-dir "^1.0.0" uuid "^3.0.1" -temp@^0.8.1: - version "0.8.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - temp@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/temp/-/temp-0.4.0.tgz#671ad63d57be0fe9d7294664b3fc400636678a60" @@ -26250,40 +25108,26 @@ term-size@^1.2.0: execa "^0.7.0" term-size@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.1.1.tgz#f81ec25854af91a480d2f9d0c77ffcb26594ed1a" - integrity sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A== + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== terser-webpack-plugin@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" - integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^2.1.2" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser-webpack-plugin@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.2.tgz#6d3d1b0590c8f729bfbaeb7fb2528b8b62db4c74" - integrity sha512-SmvB/6gtEPv+CJ88MH5zDOsZdKXPS/Uzv2//e90+wM1IHFUhsguPKEILgzqrM1nQ4acRXN/SV4Obr55SXC+0oA== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.2.0" - jest-worker "^24.9.0" - schema-utils "^2.6.1" - serialize-javascript "^2.1.2" - source-map "^0.6.1" - terser "^4.4.3" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^3.0.0: +terser-webpack-plugin@^3.0.0, terser-webpack-plugin@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz#91e6d39571460ed240c0cf69d295bcf30ebf98cb" integrity sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA== @@ -26299,18 +25143,18 @@ terser-webpack-plugin@^3.0.0: webpack-sources "^1.4.3" terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== + version "5.1.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz#30033e955ca28b55664f1e4b30a1347e61aa23af" + integrity sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A== dependencies: - jest-worker "^26.6.2" + jest-worker "^27.0.2" p-limit "^3.1.0" schema-utils "^3.0.0" serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.5.1" + terser "^5.7.0" -terser@5.5.1, terser@^5.5.1: +terser@5.5.1: version "5.5.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== @@ -26319,7 +25163,7 @@ terser@5.5.1, terser@^5.5.1: source-map "~0.7.2" source-map-support "~0.5.19" -terser@^4.1.2, terser@^4.3.9, terser@^4.4.3, terser@^4.6.12, terser@^4.6.2, terser@^4.8.0: +terser@^4.1.2, terser@^4.6.12, terser@^4.6.2, terser@^4.6.3, terser@^4.8.0: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== @@ -26328,6 +25172,15 @@ terser@^4.1.2, terser@^4.3.9, terser@^4.4.3, terser@^4.6.12, terser@^4.6.2, ters source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" + integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -26352,11 +25205,6 @@ text-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -text-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.0.0.tgz#43eabd1b495482fae4a2bf65e5f56c29f69220f6" - integrity sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ== - text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -26382,9 +25230,14 @@ throat@^4.0.0: integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= throttle-debounce@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5" - integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2" + integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ== + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== throttleit@^1.0.0: version "1.0.0" @@ -26407,7 +25260,7 @@ through2@2.X, through2@^2.0.0, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0 readable-stream "~2.3.6" xtend "~4.0.1" -through2@3.0.1, through2@^3.0.0: +through2@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== @@ -26422,6 +25275,14 @@ through2@^0.5.0: readable-stream "~1.0.17" xtend "~3.0.0" +through2@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -26429,15 +25290,15 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3.6: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== time-stamp@^1.0.0: version "1.1.0" @@ -26449,21 +25310,14 @@ timed-out@^4.0.0, timed-out@^4.0.1: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= -timers-browserify@^2.0.12: +timers-browserify@^2.0.12, timers-browserify@^2.0.4: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== - dependencies: - setimmediate "^1.0.4" - -timers-ext@^0.1.5: +timers-ext@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== @@ -26492,9 +25346,9 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tinycolor2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" - integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== title-case@^2.1.0: version "2.1.1" @@ -26575,11 +25429,6 @@ to-object-path@^0.3.0: dependencies: kind-of "^3.0.2" -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -26661,15 +25510,6 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - tough-cookie@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" @@ -26693,10 +25533,10 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" @@ -26715,11 +25555,6 @@ tree-kill@1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -trim-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.3.tgz#839514be82428fd9e7ec89e35081afe8f6f93115" - integrity sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA== - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -26731,9 +25566,9 @@ trim-newlines@^2.0.0: integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== trim-off-newlines@^1.0.0: version "1.0.1" @@ -26753,9 +25588,9 @@ trim-right@^1.0.1: integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trim-trailing-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" - integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" @@ -26774,20 +25609,15 @@ trough@^1.0.0: dependencies: glob "^7.1.2" -ts-dedent@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-1.1.0.tgz#67983940793183dc7c7f820acb66ba02cdc33c6e" - integrity sha512-CVCvDwMBWZKjDxpN3mU/Dx1v3k+sJgE8nrhXcC9vRopRfoa7vVzilNvHEAUi5jQnmFHpnxDx5jZdI1TpG8ny2g== - -ts-dedent@^1.1.1: +ts-dedent@^1.1.0, ts-dedent@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-1.2.0.tgz#6aa2229d837159bb6d635b6b233002423b91e0b0" integrity sha512-6zSJp23uQI+Txyz5LlXMXAHpUhY4Hi0oluXny0OgIR7g/Cromq4vDBnhtbBdyIV34g0pgwxUvnvg+jLJe4c1NA== ts-dedent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.0.0.tgz#47c5eb23d9096f3237cc413bc82d387d36dbe690" - integrity sha512-DfxKjSFQfw9+uf7N9Cy8Ebx9fv5fquK4hZ6SD3Rzr+1jKP6AVA6H8+B5457ZpUs0JKsGpGqIevbpZ9DMQJDp1A== + version "2.1.1" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.1.1.tgz#6dd56870bb5493895171334fa5d7e929107e5bbc" + integrity sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA== ts-essentials@^2.0.3: version "2.0.12" @@ -26844,12 +25674,11 @@ ts-loader@^7.0.2: semver "^6.0.0" ts-morph@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-10.0.1.tgz#5a620cc4ef85e3e6d161989e690f44d0a0f723b0" - integrity sha512-T1zufImtp5goTLTFhzi7XuKR1y/f+Jwz1gSULzB045LFjXuoqVlR87sfkpyWow8u2JwgusCJrhOnwmHCFNutTQ== + version "10.1.0" + resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-10.1.0.tgz#b3327fb38a6c03bfd70871771e6d08af1c2d8f93" + integrity sha512-hfskRPAbc+N1+2QvPLvJ0MOrhcwxJuBlCbX+D+9T7UnrZZqsdbmWb6FfywQ7sghyqwok6Pc8ZPwzaumlOJ8OBA== dependencies: - "@dsherret/to-absolute-glob" "^2.0.2" - "@ts-morph/common" "~0.8.0" + "@ts-morph/common" "~0.9.2" code-block-writer "^10.1.1" ts-node@^7.0.0: @@ -26877,11 +25706,6 @@ ts-node@^8.0.0: source-map-support "^0.5.17" yn "3.1.1" -ts-pnp@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.5.tgz#840e0739c89fce5f3abd9037bb091dbff16d9dec" - integrity sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA== - ts-pnp@^1.1.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" @@ -26915,35 +25739,30 @@ tsconfig-paths@^3.4.0, tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.2.tgz#9c79d83272c9a7aaf166f73915c9667ecdde3cc9" - integrity sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg== +tslib@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== -tslib@2.2.0, tslib@^2.1.0: +tslib@2.2.0, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tslib@^1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3: +tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.0.0, tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -26993,11 +25812,6 @@ type-detect@^4.0.0, type-detect@^4.0.5: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -27008,11 +25822,21 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -27023,6 +25847,11 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.2.0.tgz#4cdf38ef9b047922c26038080cb269752ae359a2" + integrity sha512-++0N6KyAj0t2webXst0PE0xuXb4Dv3z1Z+4SGzK+j/epeWBZCfkQbkW/ezscZwpinmBQ5wu/l4TqagKSVcAGCA== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -27032,14 +25861,14 @@ type-is@~1.6.17, type-is@~1.6.18: mime-types "~2.1.24" type@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" - integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" - integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== typed-styles@^0.0.7: version "0.0.7" @@ -27058,7 +25887,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@3.9.7, typescript@^3.9.0: +typescript@3.9.7: version "3.9.7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== @@ -27068,28 +25897,30 @@ typescript@4.1.5, typescript@~4.1.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== +typescript@^3.9.0: + version "3.9.9" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" + integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== + typescript@~3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" - integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== + version "3.7.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.7.tgz#c931733e2ec10dda56b855b379cc488a72a81199" + integrity sha512-MmQdgo/XenfZPvVLtKZOq9jQQvzaUAUpcKW8Z43x9B2fOm4S5g//tPtMweZUIP+SoBqrVPEIm+dJeQ9dfO0QdA== -ua-parser-js@0.7.21, ua-parser-js@^0.7.18: - version "0.7.21" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== +ua-parser-js@0.7.22: + version "0.7.22" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.22.tgz#960df60a5f911ea8f1c818f3747b99c6e177eae3" + integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q== -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" +ua-parser-js@^0.7.18: + version "0.7.28" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" + integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== uglify-js@^3.1.4: - version "3.13.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113" - integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw== + version "3.13.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.9.tgz#4d8d21dcd497f29cfd8e9378b9df123ad025999b" + integrity sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g== uid-number@0.0.6: version "0.0.6" @@ -27101,6 +25932,16 @@ umask@^1.1.0: resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + unbzip2-stream@^1.0.9: version "1.4.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" @@ -27124,22 +25965,7 @@ undertaker-registry@^1.0.0, undertaker-registry@^1.0.1: resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= -undertaker@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" - integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - -undertaker@^1.3.0: +undertaker@^1.2.1, undertaker@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== @@ -27160,10 +25986,10 @@ unfetch@^3.1.0: resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-3.1.2.tgz#dc271ef77a2800768f7b459673c5604b5101ef77" integrity sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw== -unfetch@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" - integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg== +unfetch@^4.1.0, unfetch@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" + integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== unherit@^1.0.4: version "1.1.3" @@ -27192,17 +26018,18 @@ unicode-match-property-value-ecmascript@^1.2.0: integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== -unified@8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" - integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== +unified@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== dependencies: bail "^1.0.0" extend "^3.0.0" + is-buffer "^2.0.0" is-plain-obj "^2.0.0" trough "^1.0.0" vfile "^4.0.0" @@ -27229,11 +26056,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -27263,17 +26085,15 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" -unist-builder@1.0.4, unist-builder@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17" - integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg== - dependencies: - object-assign "^4.1.0" +unist-builder@2.0.3, unist-builder@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" + integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== -unist-util-generated@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42" - integrity sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw== +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== unist-util-is@^3.0.0: version "3.0.0" @@ -27281,14 +26101,14 @@ unist-util-is@^3.0.0: integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== unist-util-is@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.1.tgz#ae3e39b9ad1b138c8e3b9d2f4658ad0031be4610" - integrity sha512-7NYjErP4LJtkEptPR22wO5RsCPnHZZrop7t2SoQzjvpFedCFer4WW8ujj9GI5DkUX7yVcffXLjoURf6h2QUv6Q== + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-position@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.4.tgz#5872be7aec38629b971fdb758051f78817b0040a" - integrity sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g== + version "3.1.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" + integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== unist-util-remove-position@^1.0.0: version "1.1.4" @@ -27297,12 +26117,19 @@ unist-util-remove-position@^1.0.0: dependencies: unist-util-visit "^1.1.0" -unist-util-remove@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-1.0.3.tgz#58ec193dfa84b52d5a055ffbc58e5444eb8031a3" - integrity sha512-mB6nCHCQK0pQffUAcCVmKgIWzG/AXs/V8qpS8K72tMPtOSCMSjDeMc5yN+Ye8rB0FhcE+JvW++o1xRNc0R+++g== +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== dependencies: - unist-util-is "^3.0.0" + unist-util-visit "^2.0.0" + +unist-util-remove@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== + dependencies: + unist-util-is "^4.0.0" unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: version "1.1.2" @@ -27310,9 +26137,9 @@ unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== unist-util-stringify-position@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz#5a3866e7138d55974b640ec69a94bc19e0f3fa12" - integrity sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" @@ -27329,38 +26156,29 @@ unist-util-visit-parents@^2.0.0: unist-util-is "^3.0.0" unist-util-visit-parents@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.0.1.tgz#666883dc8684c6eec04a7e9781cdcd8b4888319f" - integrity sha512-umEOTkm6/y1gIqPrqet55mYqlvGXCia/v1FSc5AveLAI7jFmOAIbqiwcHcviLcusAkEQt1bq2hixCKO9ltMb2Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.1.tgz#b4e1c1cb414250c6b3cb386b8e461d79312108ae" - integrity sha512-bEDa5S/O8WRDeI1mLaMoKuFFi89AjF+UAoMNxO+bbVdo06q+53Vhq4iiv1PenL6Rx1ZxIpXIzqZoc5HD2I1oMA== +unist-util-visit@2.0.3, unist-util-visit@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" unist-util-visit-parents "^3.0.0" -unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: +unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== dependencies: unist-util-visit-parents "^2.0.0" -unist-util-visit@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - universal-user-agent@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-2.1.0.tgz#5abfbcc036a1ba490cb941f8fd68c46d3669e8e4" @@ -27369,22 +26187,22 @@ universal-user-agent@^2.0.0: os-name "^3.0.0" universal-user-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.0.tgz#27da2ec87e32769619f68a14996465ea1cb9df16" - integrity sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" + integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg== dependencies: os-name "^3.1.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -27418,47 +26236,24 @@ unzip-response@^2.0.1: resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= -upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== - -upath@^1.2.0: +upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-notifier@^2.1.0, update-notifier@^2.2.0: +update-notifier@^2.1.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -update-notifier@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" - integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== dependencies: - boxen "^3.0.0" + boxen "^1.2.1" chalk "^2.0.1" - configstore "^4.0.0" - has-yarn "^2.1.0" + configstore "^3.0.0" import-lazy "^2.1.0" - is-ci "^2.0.0" + is-ci "^1.0.10" is-installed-globally "^0.1.0" - is-npm "^3.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" + is-npm "^1.0.0" + latest-version "^3.0.0" semver-diff "^2.0.0" xdg-basedir "^3.0.0" @@ -27494,9 +26289,9 @@ upper-case@^2.0.2: tslib "^2.0.3" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -27505,16 +26300,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@^2.0.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" - -url-loader@^4.0.0: +url-loader@^4.0.0, url-loader@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== @@ -27564,9 +26350,9 @@ url@^0.11.0: querystring "0.2.0" use-callback-ref@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.2.1.tgz#898759ccb9e14be6c7a860abafa3ffbd826c89bb" - integrity sha512-C3nvxh0ZpaOxs9RCnWwAJ+7bJPwQI8LHF71LzbQ3BvzH5XkdtlkMadqElGevg5bYBDFip4sAnD4m06zAKebg1w== + version "1.2.5" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.2.5.tgz#6115ed242cfbaed5915499c0a9842ca2912f38a5" + integrity sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg== use-composed-ref@^1.0.0: version "1.1.0" @@ -27576,9 +26362,9 @@ use-composed-ref@^1.0.0: ts-essentials "^2.0.3" use-immer@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/use-immer/-/use-immer-0.4.1.tgz#82a372e666496bfd49750673be78c17fcd375ca8" - integrity sha512-lXukZMx+sWwkWOLMyd5/5Obr6xTDFGSOJ85/nGQk/qhpWAohaFWrYJkT2+70seU/F6Dh7S41c9X6TWL9ljReGQ== + version "0.4.2" + resolved "https://registry.yarnpkg.com/use-immer/-/use-immer-0.4.2.tgz#7d7e7d3386cc834d45b2279f37d8974023550f4f" + integrity sha512-ONfZHEv/gzt/jyYxrJD3ZFUllKJED8F1mds9Fr9CYj54LmsiuGDg3vkx+R7WHS72p7DbSS1QbM7xNYrVWX+KcA== use-isomorphic-layout-effect@^1.0.0: version "1.1.1" @@ -27593,17 +26379,17 @@ use-latest@^1.0.0: use-isomorphic-layout-effect "^1.0.0" use-sidecar@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.0.2.tgz#e72f582a75842f7de4ef8becd6235a4720ad8af6" - integrity sha512-287RZny6m5KNMTb/Kq9gmjafi7lQL0YHO1lYolU6+tY1h9+Z3uCtkJJ3OSOq3INwYf2hBryCcDh4520AhJibMA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.0.5.tgz#ffff2a17c1df42e348624b699ba6e5c220527f2b" + integrity sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA== dependencies: - detect-node "^2.0.4" + detect-node-es "^1.1.0" tslib "^1.9.3" use-subscription@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.4.1.tgz#edcbcc220f1adb2dd4fa0b2f61b6cc308e620069" - integrity sha512-7+IIwDG/4JICrWHL/Q/ZPK5yozEnvRm6vHImu0LKwQlmWGKeiF7mbAenLlK/cTNXrTtXHU/SFASQHzB6+oSJMQ== + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== dependencies: object-assign "^4.1.1" @@ -27629,7 +26415,7 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -util.promisify@1.0.0, util.promisify@^1.0.0: +util.promisify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== @@ -27637,6 +26423,17 @@ util.promisify@1.0.0, util.promisify@^1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" @@ -27662,9 +26459,9 @@ util@^0.11.0: inherits "2.0.3" util@^0.12.0, util@^0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" - integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== dependencies: inherits "^2.0.3" is-arguments "^1.0.4" @@ -27673,7 +26470,7 @@ util@^0.12.0, util@^0.12.3: safe-buffer "^5.1.2" which-typed-array "^1.1.2" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= @@ -27688,7 +26485,7 @@ uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0, uuid@^8.1.0, uuid@^8.3.1: +uuid@^8.0.0, uuid@^8.3.0, uuid@^8.3.1: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -27698,6 +26495,15 @@ v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-to-istanbul@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + v8flags@^2.0.10: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -27705,10 +26511,10 @@ v8flags@^2.0.10: dependencies: user-home "^1.1.1" -v8flags@^3.0.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== dependencies: homedir-polyfill "^1.0.1" @@ -27761,6 +26567,11 @@ vfile-location@^2.0.0: resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + vfile-message@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" @@ -27769,9 +26580,9 @@ vfile-message@^1.0.0: unist-util-stringify-position "^1.1.1" vfile-message@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.2.tgz#75ba05090ec758fa8420f2c11ce049bcddd8cf3e" - integrity sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA== + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" unist-util-stringify-position "^2.0.0" @@ -27787,13 +26598,12 @@ vfile@^2.0.0: vfile-message "^1.0.0" vfile@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.2.tgz#71af004d4a710b0e6be99c894655bc56126d5d56" - integrity sha512-yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" - replace-ext "1.0.0" unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" @@ -27850,9 +26660,9 @@ vinyl@^0.5.0: replace-ext "0.0.1" vinyl@^2.0.0, vinyl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== dependencies: clone "^2.1.1" clone-buffer "^1.0.0" @@ -27861,20 +26671,15 @@ vinyl@^2.0.0, vinyl@^2.2.0: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== - -vm-browserify@^1.1.2: +vm-browserify@^1.0.1, vm-browserify@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vm2@^3.6.3: - version "3.8.4" - resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.8.4.tgz#882be9135467942d84d1af80b6e6549b57c69041" - integrity sha512-5HThl+RBO/pwE9SF0kM4nLrpq5vXHBNk4BMX27xztvl0j1RsZ4/PMVJAu9rM9yfOtTo5KroL7XNX3031ExleSw== + version "3.9.3" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.3.tgz#29917f6cc081cc43a3f580c26c5b553fd3c91f40" + integrity sha512-smLS+18RjXYMl9joyJxMNI9l4w7biW8ilSDaVRvFBDwOH8P0BK1ognFQTpg0wyQ6wIKLTblHJvROW692L/E53Q== void-elements@^2.0.0: version "2.0.1" @@ -27927,19 +26732,10 @@ watchpack@^1.6.0, watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -watchpack@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" - integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== - dependencies: - chokidar "^2.1.8" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -watchpack@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" - integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw== +watchpack@^2.0.0, watchpack@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -27958,7 +26754,7 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web-namespaces@^1.0.0, web-namespaces@^1.1.2: +web-namespaces@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== @@ -27978,7 +26774,7 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-bundle-analyzer@4.4.2: +webpack-bundle-analyzer@4.4.2, webpack-bundle-analyzer@^4.4.0: version "4.4.2" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== @@ -27993,21 +26789,6 @@ webpack-bundle-analyzer@4.4.2: sirv "^1.0.7" ws "^7.3.1" -webpack-bundle-analyzer@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz#74013106e7e2b07cbd64f3a5ae847f7e814802c7" - integrity sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^6.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - webpack-cli@4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.3.1.tgz#87a7873bc9c6a4708aa657759274b691e72a04a8" @@ -28039,10 +26820,10 @@ webpack-dev-middleware@4.2.0: range-parser "^1.2.1" schema-utils "^3.0.0" -webpack-dev-middleware@^3.7.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== +webpack-dev-middleware@^3.7.0, webpack-dev-middleware@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" mime "^2.4.4" @@ -28051,13 +26832,14 @@ webpack-dev-middleware@^3.7.0: webpack-log "^2.0.0" webpack-dev-middleware@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.0.2.tgz#1436ae6cacee78475bd6bc1fbf063dfbfd6e577d" - integrity sha512-xyAICqIugWtT1RRH5aMMmZlPhDhEqPTDL0TWhmMZsuZ+cFlAvRxv4thCbuxdk9MW+OYK4c9BkfmgdQ1/7imkJA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz#179cc40795882cae510b1aa7f3710cbe93c9333e" + integrity sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w== dependencies: - mem "^8.0.0" - memfs "^3.2.0" - mime-types "^2.1.27" + colorette "^1.2.2" + mem "^8.1.1" + memfs "^3.2.2" + mime-types "^2.1.30" range-parser "^1.2.1" schema-utils "^3.0.0" @@ -28096,6 +26878,11 @@ webpack-dev-server@4.0.0-beta.0: webpack-dev-middleware "^4.0.2" ws "^7.4.0" +webpack-filter-warnings-plugin@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz#dc61521cf4f9b4a336fbc89108a75ae1da951cdb" + integrity sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg== + webpack-hot-middleware@2.25.0, webpack-hot-middleware@^2.25.0: version "2.25.0" resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" @@ -28139,9 +26926,9 @@ webpack-merge@^4.2.2: lodash "^4.17.15" webpack-merge@^5.7.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" - integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" @@ -28159,21 +26946,14 @@ webpack-sources@^1.2.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== +webpack-sources@^2.1.1, webpack-sources@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.0.tgz#9ed2de69b25143a4c18847586ad9eccb19278cfa" + integrity sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ== dependencies: source-list-map "^2.0.1" source-map "^0.6.1" -webpack-virtual-modules@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.1.tgz#8ab73d4df0fd37ed27bb8d823bc60ea7266c8bf7" - integrity sha512-0PWBlxyt4uGDofooIEanWhhyBOHdd+lr7QpYNDLC7/yc5lqJT8zlc04MTIBnKj+c2BlQNNuwE5er/Tg4wowHzA== - dependencies: - debug "^3.0.0" - webpack-virtual-modules@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299" @@ -28181,6 +26961,35 @@ webpack-virtual-modules@^0.2.2: dependencies: debug "^3.0.0" +webpack@4, webpack@^4.43.0: + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + webpack@4.42.0: version "4.42.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" @@ -28239,74 +27048,36 @@ webpack@5.21.2: watchpack "^2.0.0" webpack-sources "^2.1.1" -webpack@^4.33.0, webpack@^4.38.0: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" - webpack-sources "^1.4.1" - -webpack@^4.43.0: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== +webpack@^5: + version "5.38.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.38.1.tgz#5224c7f24c18e729268d3e3bc97240d6e880258e" + integrity sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.47" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + acorn "^8.2.1" + browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.4.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" - integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== - dependencies: - http-parser-js ">=0.4.0 <0.4.11" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.1" + watchpack "^2.2.0" + webpack-sources "^2.3.0" -websocket-driver@^0.7.4: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -28352,28 +27123,39 @@ whatwg-url@^6.4.1: webidl-conversions "^4.0.2" whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" webidl-conversions "^4.0.2" -whatwg-url@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" - integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c" + integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw== dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^5.0.0" + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" when@^3.7.7: version "3.7.8" resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" integrity sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I= +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" @@ -28397,7 +27179,7 @@ which-typed-array@^1.1.2: has-symbols "^1.0.1" is-typed-array "^1.1.3" -which@1, which@1.3.1, which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1.3.1, which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -28443,18 +27225,18 @@ window-size@^0.2.0: integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= windows-release@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" - integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== + version "3.3.3" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" + integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== dependencies: execa "^1.0.0" -word-wrap@^1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@^1.0.0, wordwrap@~1.0.0: +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= @@ -28507,13 +27289,11 @@ workspace-tools@^0.12.3: multimatch "^4.0.0" read-yaml-file "^2.0.0" -workspace-tools@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/workspace-tools/-/workspace-tools-0.9.0.tgz#5ce0680c9bf38544d1f6261d6b0e2834347e676e" - integrity sha512-ji9mOpdxyJ1LBnCzfFzAuLw7x0OuqQso/eJFpeyR/W0nXRK3Uhmn0dAaqrlDlrUEW5nOT5nSz0MpsaCmeSyiUA== +workspace-tools@^0.15.0: + version "0.15.1" + resolved "https://registry.yarnpkg.com/workspace-tools/-/workspace-tools-0.15.1.tgz#895d4defe1417d7f4948b6afe9d36acf3a6cd64e" + integrity sha512-Thp+DVHkzjMF3JWWEc6VES04FhkE6QqZL7Dyknh1bJowjbAntXp6Op8/JuH0MYrww4AgQnuvB1O5waVrmsHtBg== dependencies: - "@pnpm/lockfile-file" "^3.0.7" - "@pnpm/logger" "^3.2.2" "@yarnpkg/lockfile" "^1.1.0" find-up "^4.1.0" find-yarn-workspace-root "^1.2.1" @@ -28521,7 +27301,6 @@ workspace-tools@^0.9.0: git-url-parse "^11.1.2" globby "^11.0.0" jju "^1.4.0" - matcher "^3.0.0" multimatch "^4.0.0" read-yaml-file "^2.0.0" @@ -28582,7 +27361,7 @@ write-file-atomic@2.4.1: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2, write-file-atomic@^2.4.3: +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== @@ -28591,7 +27370,7 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2, wr imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^3.0.0: +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -28602,14 +27381,14 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" write-file-webpack-plugin@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.5.0.tgz#b53ccf01c346342a131c73a2ddd27049e90c5b44" - integrity sha512-k46VeERtaezbmjpDcMWATjKUWBrVe/ZEEm0cyvUm8FFP8A/r+dw5x3psRvkUOhqh9bqBLUlGYYbtr6luI+HeAg== + version "4.5.1" + resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-4.5.1.tgz#aeeb68889194da5ec8a864667d46da9e00ee92d5" + integrity sha512-AZ7qJUvhTCBiOtG21aFJUcNuLVo2FFM6JMGKvaUGAH+QDqQAp2iG0nq3GcuXmJOFQR2JjpjhyYkyPrbFKhdjNQ== dependencies: chalk "^2.4.0" debug "^3.1.0" filesize "^3.6.1" - lodash "^4.17.5" + lodash "^4.17.13" mkdirp "^0.5.1" moment "^2.22.1" write-file-atomic "^2.3.0" @@ -28638,6 +27417,18 @@ write-json-file@^3.2.0: sort-keys "^2.0.0" write-file-atomic "^2.4.2" +write-json-file@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== + dependencies: + detect-indent "^6.0.0" + graceful-fs "^4.1.15" + is-plain-obj "^2.0.0" + make-dir "^3.0.0" + sort-keys "^4.0.0" + write-file-atomic "^3.0.0" + write-pkg@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" @@ -28646,29 +27437,33 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" +write-pkg@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== dependencies: async-limiter "~1.0.0" ws@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" -ws@^7.2.0, ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -ws@^7.3.1, ws@^7.4.0, ws@~7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" - integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== +ws@^7.2.0, ws@^7.3.1, ws@^7.4.0, ws@^7.4.5, ws@~7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== x-is-string@^0.1.0: version "0.1.0" @@ -28708,34 +27503,22 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +xmlhttprequest-ssl@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== "xmlhttprequest@>= 1.6.0 < 2.0.0": version "1.8.0" resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= -xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - xstate@^4.11.0: - version "4.16.2" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.16.2.tgz#d6b973b1253b8c85f50f68601837287d59d4bf34" - integrity sha512-EY39NNZnwM4tRYNmQAi1c2qHuZ1lJmuDpEo1jxiRcfS+1jPtKRAjGRLNx3fYKcK0ohW6mL41Wze3mdCF0SqavA== - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + version "4.20.0" + resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.20.0.tgz#6f241f2b49c840cb6e05b32544a6048362f558e2" + integrity sha512-u5Ou1CMo/oWApasmv1TYTHgj38k69DJdTqQdBBwt+/ooNhPJQiSIKTB3Y3HvX0h5tulwfSo6xAwZgBgjRsK3LA== -xtend@^4.0.2, xtend@~4.0.0: +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -28751,14 +27534,14 @@ y18n@^3.2.1: integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" @@ -28766,26 +27549,19 @@ yallist@^2.1.2: integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -yaml@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2" - integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== - dependencies: - "@babel/runtime" "^7.6.3" +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@10.x: version "10.1.0" @@ -28831,24 +27607,18 @@ yargs-parser@^2.4.0: camelcase "^3.0.0" lodash.assign "^4.0.6" -yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== +yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.4, yargs-parser@^20.2.7: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== dependencies: camelcase "^3.0.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" + object.assign "^4.1.0" yargs-parser@^9.0.2: version "9.0.2" @@ -28866,7 +27636,7 @@ yargs-unparser@1.6.0: lodash "^4.17.15" yargs "^13.3.0" -yargs@13.3.2, yargs@^13.2.2, yargs@^13.3.0, yargs@^13.3.2: +yargs@13.3.2, yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== @@ -28882,7 +27652,7 @@ yargs@13.3.2, yargs@^13.2.2, yargs@^13.3.0, yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@15.4.1, yargs@^15.0.2, yargs@^15.1.0, yargs@^15.3.1: +yargs@15.4.1, yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -28934,7 +27704,7 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^16.0.3, yargs@^16.2.0: +yargs@^16.0.3, yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -28948,9 +27718,9 @@ yargs@^16.0.3, yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^7.0.2, yargs@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= + version "7.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" + integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -28964,26 +27734,7 @@ yargs@^7.0.2, yargs@^7.1.0: string-width "^1.0.2" which-module "^1.0.0" y18n "^3.2.1" - yargs-parser "^5.0.0" - -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" + yargs-parser "^5.0.1" yargs@~4.6.0: version "4.6.0" From 49e9081191919fb12731b8622ad46bcbaa728739 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Mon, 17 May 2021 20:14:21 -0700 Subject: [PATCH 04/91] (web-components) update default corner radius to 4 (#18231) * update web component corner radius token value to 4 * Change files --- ...eb-components-9b068149-136c-4fb3-bf14-ebd4fb7e6923.json | 7 +++++++ packages/web-components/src/design-tokens.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 change/@fluentui-web-components-9b068149-136c-4fb3-bf14-ebd4fb7e6923.json diff --git a/change/@fluentui-web-components-9b068149-136c-4fb3-bf14-ebd4fb7e6923.json b/change/@fluentui-web-components-9b068149-136c-4fb3-bf14-ebd4fb7e6923.json new file mode 100644 index 00000000000000..069c269e42b2bb --- /dev/null +++ b/change/@fluentui-web-components-9b068149-136c-4fb3-bf14-ebd4fb7e6923.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "update web component corner radius token value to 4", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 21fcd66e451b1d..c435846045a998 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -42,7 +42,7 @@ export const bodyFont = create('body-font').withDefault('Segoe UI, sans- export const baseHeightMultiplier = create('base-height-multiplier').withDefault(8); export const baseHorizontalSpacingMultiplier = create('base-horizontal-spacing-multiplier').withDefault(3); export const baseLayerLuminance = create('base-layer-luminance').withDefault(StandardLuminance.LightMode); -export const cornerRadius = create('corner-radius').withDefault(2); +export const cornerRadius = create('corner-radius').withDefault(4); export const density = create('density').withDefault(0); export const designUnit = create('design-unit').withDefault(4); export const direction = create('direction').withDefault(Direction.ltr); From 57c58dddce91238c4daca7dce256d1f9fc9cb5d7 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Mon, 17 May 2021 21:09:10 -0700 Subject: [PATCH 05/91] (web-components) remove design system provider from examples (#18229) * remove fluent design system provider from examples * Change files --- ...-e3adc2bc-2ad2-40de-932c-5359ca339da6.json | 7 + .../.storybook/preview-head.html | 11 +- .../src/accordion/fixtures/base.html | 164 +++-- .../src/anchor/fixtures/anchor.html | 108 ++-- .../fixtures/anchored-region.html | 4 +- .../src/anchored-region/fixtures/base.html | 4 +- .../src/badge/fixtures/badge.html | 66 +- .../fixtures/breadcrumb-item.html | 86 ++- .../src/breadcrumb/fixtures/breadcrumb.html | 286 +++++---- .../src/button/fixtures/button.html | 112 ++-- .../src/checkbox/fixtures/checkbox.html | 77 ++- .../src/combobox/fixtures/base.html | 492 ++++++++------- .../src/data-grid/fixtures/base.html | 114 ++-- .../dialog/fixtures/dialog-button-test.html | 12 +- .../src/dialog/fixtures/dialog.html | 16 +- .../src/divider/fixtures/divider.html | 12 +- .../src/flipper/fixtures/flipper.html | 56 +- .../fixtures/horizontal-scroll.html | 370 ++++++------ .../src/listbox-option/fixtures/base.html | 56 +- .../src/listbox/fixtures/base.html | 124 ++-- .../src/menu-item/fixtures/menu-item.html | 120 ++-- .../src/menu/fixtures/menu.html | 162 +++-- .../number-field/fixtures/number-field.html | 224 ++++--- .../progress-ring/fixtures/circular.html | 44 +- .../progress/progress/fixtures/linear.html | 50 +- .../src/radio-group/fixtures/radio-group.html | 146 +++-- .../src/radio/fixtures/radio.html | 50 +- .../src/select/fixtures/base.html | 228 ++++--- .../slider-label/fixtures/slider-label.html | 66 +- .../src/slider/fixtures/slider.html | 568 +++++++++--------- .../src/switch/fixtures/switch.html | 110 ++-- .../src/tabs/fixtures/tabs.html | 226 ++++--- .../src/text-area/fixtures/text-area.html | 184 +++--- .../src/text-field/fixtures/text-field.html | 192 +++--- .../src/tooltip/fixtures/tooltip.html | 384 ++++++------ .../src/tree-item/fixtures/tree-item.html | 150 ++--- .../src/tree-view/fixtures/tree-view.html | 223 +++---- 37 files changed, 2574 insertions(+), 2730 deletions(-) create mode 100644 change/@fluentui-web-components-e3adc2bc-2ad2-40de-932c-5359ca339da6.json diff --git a/change/@fluentui-web-components-e3adc2bc-2ad2-40de-932c-5359ca339da6.json b/change/@fluentui-web-components-e3adc2bc-2ad2-40de-932c-5359ca339da6.json new file mode 100644 index 00000000000000..385cbb9c550935 --- /dev/null +++ b/change/@fluentui-web-components-e3adc2bc-2ad2-40de-932c-5359ca339da6.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "remove fluent design system provider from examples", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "none" +} diff --git a/packages/web-components/.storybook/preview-head.html b/packages/web-components/.storybook/preview-head.html index ce1a6451771911..4752d565045d31 100644 --- a/packages/web-components/.storybook/preview-head.html +++ b/packages/web-components/.storybook/preview-head.html @@ -2,15 +2,8 @@ html, body, #root { - margin: 0; - display: flex; - flex-direction: column; + margin: 8px; height: 100%; - } - - fluent-design-system-provider { - flex-grow: 1; - overflow: auto; - padding: calc(var(--design-unit) * 2px); + background: var(--fill-color); } diff --git a/packages/web-components/src/accordion/fixtures/base.html b/packages/web-components/src/accordion/fixtures/base.html index cdb17147feba8f..aabdc811222142 100644 --- a/packages/web-components/src/accordion/fixtures/base.html +++ b/packages/web-components/src/accordion/fixtures/base.html @@ -1,83 +1,81 @@ - - -

Accordion

-

Default

- - -
- -
-
- -
- Panel one - Panel one content -
- - Panel two - Panel two content - - - Panel three - Panel three content - -
-

Single expand

- - -
- -
-
- -
- Panel one - Panel one content -
- - Panel Two - Panel two content - - - Panel three - Panel three content - -
-

With disabled item

- - -
- -
-
- -
- Panel two - Panel one content -
- -
- -
-
- -
- Disabled - Disabled content -
- -
- -
-
- -
- Panel three - Panel three content -
-
-
+ +

Accordion

+

Default

+ + +
+ +
+
+ +
+ Panel one + Panel one content +
+ + Panel two + Panel two content + + + Panel three + Panel three content + +
+

Single expand

+ + +
+ +
+
+ +
+ Panel one + Panel one content +
+ + Panel Two + Panel two content + + + Panel three + Panel three content + +
+

With disabled item

+ + +
+ +
+
+ +
+ Panel two + Panel one content +
+ +
+ +
+
+ +
+ Disabled + Disabled content +
+ +
+ +
+
+ +
+ Panel three + Panel three content +
+
diff --git a/packages/web-components/src/anchor/fixtures/anchor.html b/packages/web-components/src/anchor/fixtures/anchor.html index d172893194f53c..2ee049400c19a4 100644 --- a/packages/web-components/src/anchor/fixtures/anchor.html +++ b/packages/web-components/src/anchor/fixtures/anchor.html @@ -1,67 +1,65 @@ - -

Anchor

+

Anchor

-

Default

- Anchor +

Default

+Anchor -
With target
- Anchor +
With target
+Anchor -

Neutral

- Button +

Neutral

+Button -

Accent

- Anchor +

Accent

+Anchor -

Hypertext

- Anchor -
- Anchor (no href) -

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt ut aliquam quas quod ipsam cupiditate, voluptate, - corrupti - doloremque totam - dicta perspiciatis commodi consequatur reprehenderit laborum aliquid minima. Neque, recusandae. Adipisci. -

+

Hypertext

+Anchor +
+Anchor (no href) +

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt ut aliquam quas quod ipsam cupiditate, voluptate, + corrupti + doloremque totam + dicta perspiciatis commodi consequatur reprehenderit laborum aliquid minima. Neque, recusandae. Adipisci. +

-

Lightweight

- Anchor +

Lightweight

+Anchor -

Outline

- Anchor +

Outline

+Anchor -

Stealth

- Anchor +

Stealth

+Anchor -

With start

- - Anchor - - - - +

With start

+ + Anchor + + + + -

With end

- - Anchor - - - - +

With end

+ + Anchor + + + + -

Icon in default slot

- - - - - +

Icon in default slot

+ + + + + -

With aria-label

- -
+

With aria-label

+ diff --git a/packages/web-components/src/anchored-region/fixtures/anchored-region.html b/packages/web-components/src/anchored-region/fixtures/anchored-region.html index 343b360c2abb07..458ece5a41e262 100644 --- a/packages/web-components/src/anchored-region/fixtures/anchored-region.html +++ b/packages/web-components/src/anchored-region/fixtures/anchored-region.html @@ -1,4 +1,4 @@ - +
RTL-Start & End outside & fixed
-
+
diff --git a/packages/web-components/src/anchored-region/fixtures/base.html b/packages/web-components/src/anchored-region/fixtures/base.html index af55ef9258b81a..a9e0c9c9db8f45 100644 --- a/packages/web-components/src/anchored-region/fixtures/base.html +++ b/packages/web-components/src/anchored-region/fixtures/base.html @@ -1,4 +1,4 @@ - +
RTL-Start & End outside & fixed
-
+
diff --git a/packages/web-components/src/badge/fixtures/badge.html b/packages/web-components/src/badge/fixtures/badge.html index 5422f0dab3b967..1e6c28049662f7 100644 --- a/packages/web-components/src/badge/fixtures/badge.html +++ b/packages/web-components/src/badge/fixtures/badge.html @@ -1,34 +1,32 @@ - - -

Badge

-

Default

- - Badge - -

Lightweight

- - Badge - -

Accent

- - Badge - -

Neutral

- - Badge - -

With map

- - Badge - - - Badge - -
+ +

Badge

+

Default

+ + Badge + +

Lightweight

+ + Badge + +

Accent

+ + Badge + +

Neutral

+ + Badge + +

With map

+ + Badge + + + Badge + diff --git a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html index aecc590b96ecc0..a9b88458b0f976 100644 --- a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html +++ b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html @@ -1,48 +1,46 @@ - -

Breadcrumbs

+

Breadcrumbs

-

Default

- - Breadcrumb item - +

Default

+ + Breadcrumb item + -

Default with custom separator

- - Breadcrumb item - - - - +

Default with custom separator

+ + Breadcrumb item + + + + -

With start

- - Breadcrumb item - - - - - - - +

With start

+ + Breadcrumb item + + + + + + + -

With end

- - Breadcrumb item - - - - - - - -
+

With end

+ + Breadcrumb item + + + + + + + diff --git a/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html b/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html index ba9374b507fa27..ea5c5336f19859 100644 --- a/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html +++ b/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html @@ -1,148 +1,146 @@ - -

Breadcrumb

-

Default

- - - Breadcrumb item 1 - - - Breadcrumb item 2 - - Breadcrumb item 3 - +

Breadcrumb

+

Default

+ + + Breadcrumb item 1 + + + Breadcrumb item 2 + + Breadcrumb item 3 + -

Default with custom separator

- - - Breadcrumb item 1 - - - - - - Breadcrumb item 2 - - - - - Breadcrumb item 3 - +

Default with custom separator

+ + + Breadcrumb item 1 + + + + + + Breadcrumb item 2 + + + + + Breadcrumb item 3 + -

With start

- - - Breadcrumb item 1 - - - - - - - - - Breadcrumb item 2 - - - - - - - - - Breadcrumb item 3 - - - - - - - - +

With start

+ + + Breadcrumb item 1 + + + + + + + + + Breadcrumb item 2 + + + + + + + + + Breadcrumb item 3 + + + + + + + + -

With end

- - - Breadcrumb item 1 - - - - - - - - - Breadcrumb item 2 - - - - - - - - - Breadcrumb item 3 - - - - - - - - +

With end

+ + + Breadcrumb item 1 + + + + + + + + + Breadcrumb item 2 + + + + + + + + + Breadcrumb item 3 + + + + + + + + -

With aria-current

- - - Breadcrumb item 1 - - - - - - Breadcrumb item 2 - - - - - - Breadcrumb item 3 - - - - - -
+

With aria-current

+ + + Breadcrumb item 1 + + + + + + Breadcrumb item 2 + + + + + + Breadcrumb item 3 + + + + + diff --git a/packages/web-components/src/button/fixtures/button.html b/packages/web-components/src/button/fixtures/button.html index af5c00ca97f6c9..eea026a3b372ff 100644 --- a/packages/web-components/src/button/fixtures/button.html +++ b/packages/web-components/src/button/fixtures/button.html @@ -1,67 +1,65 @@ - -

Button

+

Button

-

Default

- Button -
disabled
- Button -
autofocus
- Button +

Default

+Button +
disabled
+Button +
autofocus
+Button -

Neutral

- Button -
disabled
- Button +

Neutral

+Button +
disabled
+Button -

Accent

- Button -
disabled
- Button +

Accent

+Button +
disabled
+Button -

Lightweight

- Button -
disabled
- Button +

Lightweight

+Button +
disabled
+Button -

Outline

- Button -
disabled
- Button +

Outline

+Button +
disabled
+Button -

Stealth

- Button -
disabled
- Button +

Stealth

+Button +
disabled
+Button -

With start

- - Button - - - - +

With start

+ + Button + + + + -

With end

- - Button - - - - +

With end

+ + Button + + + + -

Icon in default slot

- - - - - +

Icon in default slot

+ + + + + -

With aria-label

- Button -
+

With aria-label

+Button diff --git a/packages/web-components/src/checkbox/fixtures/checkbox.html b/packages/web-components/src/checkbox/fixtures/checkbox.html index b3169b3ed53c71..4c64a9bced4c17 100644 --- a/packages/web-components/src/checkbox/fixtures/checkbox.html +++ b/packages/web-components/src/checkbox/fixtures/checkbox.html @@ -1,50 +1,47 @@ - -

Checkbox

-

Default

- - label +

Checkbox

+

Default

+ +label -

Checked

- +

Checked

+ - -

Required

- + +

Required

+ -

Indeterminate

- Unchecked - Checked +

Indeterminate

+Unchecked +Checked - -

Disabled

- - label - checked - - Indeterminate checked - - - Indeterminate unchecked - + +

Disabled

+ +label +checked + + Indeterminate checked + + + Indeterminate unchecked + -

Inline

+

Inline

+Apples +Bananas +Honeydew +Oranges + +

Vertical

+
+ Fruit Apples Bananas Honeydew Oranges +
-

Vertical

-
- Fruit - Apples - Bananas - Honeydew - Oranges -
- -

Visual vs audio label

- - Visible label - - -
+

Visual vs audio label

+ + Visible label + diff --git a/packages/web-components/src/combobox/fixtures/base.html b/packages/web-components/src/combobox/fixtures/base.html index 4066b6545ed45f..a464496211cb65 100644 --- a/packages/web-components/src/combobox/fixtures/base.html +++ b/packages/web-components/src/combobox/fixtures/base.html @@ -1,269 +1,267 @@ - -

Combobox

+

Combobox

-

Default

- - Please Please Me - With The Beatles - A Hard Day's Night - Beatles for Sale - Help! - Rubber Soul - Revolver - Sgt. Pepper's Lonely Hearts Club Band - Magical Mystery Tour - The Beatles - Yellow Submarine - Abbey Road - Let It Be - +

Default

+ + Please Please Me + With The Beatles + A Hard Day's Night + Beatles for Sale + Help! + Rubber Soul + Revolver + Sgt. Pepper's Lonely Hearts Club Band + Magical Mystery Tour + The Beatles + Yellow Submarine + Abbey Road + Let It Be + -

Filled

- - Please Please Me - With The Beatles - A Hard Day's Night - Beatles for Sale - Help! - Rubber Soul - Revolver - Sgt. Pepper's Lonely Hearts Club Band - Magical Mystery Tour - The Beatles - Yellow Submarine - Abbey Road - Let It Be - +

Filled

+ + Please Please Me + With The Beatles + A Hard Day's Night + Beatles for Sale + Help! + Rubber Soul + Revolver + Sgt. Pepper's Lonely Hearts Club Band + Magical Mystery Tour + The Beatles + Yellow Submarine + Abbey Road + Let It Be + -

Default Selected

- - William Hartnell - Patrick Troughton - Jon Pertwee - Tom Baker - Peter Davidson - Colin Baker - Sylvester McCoy - Paul McGann - Christopher Eccleston - David Tenant - Matt Smith - Peter Capaldi - Jodie Whittaker - +

Default Selected

+ + William Hartnell + Patrick Troughton + Jon Pertwee + Tom Baker + Peter Davidson + Colin Baker + Sylvester McCoy + Paul McGann + Christopher Eccleston + David Tenant + Matt Smith + Peter Capaldi + Jodie Whittaker + -

Initial Value

- - William Hartnell - Patrick Troughton - Jon Pertwee - Tom Baker - Peter Davidson - Colin Baker - Sylvester McCoy - Paul McGann - Christopher Eccleston - David Tenant - Matt Smith - Peter Capaldi - Jodie Whittaker - +

Initial Value

+ + William Hartnell + Patrick Troughton + Jon Pertwee + Tom Baker + Peter Davidson + Colin Baker + Sylvester McCoy + Paul McGann + Christopher Eccleston + David Tenant + Matt Smith + Peter Capaldi + Jodie Whittaker + -

Combobox with Autocomplete

+

Combobox with Autocomplete

-

Inline Autocomplete

- - William Hartnell - Patrick Troughton - Jon Pertwee - Tom Baker - Peter Davidson - Colin Baker - Sylvester McCoy - Paul McGann - Christopher Eccleston - David Tenant - Matt Smith - Peter Capaldi - Jodie Whittaker - +

Inline Autocomplete

+ + William Hartnell + Patrick Troughton + Jon Pertwee + Tom Baker + Peter Davidson + Colin Baker + Sylvester McCoy + Paul McGann + Christopher Eccleston + David Tenant + Matt Smith + Peter Capaldi + Jodie Whittaker + -

List Autocomplete

- - William Hartnell - Patrick Troughton - Jon Pertwee - Tom Baker - Peter Davidson - Colin Baker - Sylvester McCoy - Paul McGann - Christopher Eccleston - David Tenant - Matt Smith - Peter Capaldi - Jodie Whittaker - +

List Autocomplete

+ + William Hartnell + Patrick Troughton + Jon Pertwee + Tom Baker + Peter Davidson + Colin Baker + Sylvester McCoy + Paul McGann + Christopher Eccleston + David Tenant + Matt Smith + Peter Capaldi + Jodie Whittaker + -

Both Autocomplete

- - William Hartnell - Patrick Troughton - Jon Pertwee - Tom Baker - Peter Davidson - Colin Baker - Sylvester McCoy - Paul McGann - Christopher Eccleston - David Tenant - Matt Smith - Peter Capaldi - Jodie Whittaker - +

Both Autocomplete

+ + William Hartnell + Patrick Troughton + Jon Pertwee + Tom Baker + Peter Davidson + Colin Baker + Sylvester McCoy + Paul McGann + Christopher Eccleston + David Tenant + Matt Smith + Peter Capaldi + Jodie Whittaker + -

Disabled Combobox

- - Extra Small - Small - Medium - Large - Extra Large - +

Disabled Combobox

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with disabled items

+

Combobox with disabled items

-

Combobox with alternating disabled items

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with alternating disabled items

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with adjacent disabled items at start of list

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with adjacent disabled items at start of list

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with adjacent disabled items in middle of list

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with adjacent disabled items in middle of list

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with adjacent disabled items at end of list

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with adjacent disabled items at end of list

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with all but one item disabled

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with all but one item disabled

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with all items disabled

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with all items disabled

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with placeholder

- - Extra Small - Small - Medium - Large - Extra Large - +

Combobox with placeholder

+ + Extra Small + Small + Medium + Large + Extra Large + -

Combobox with no items

- +

Combobox with no items

+ -

Combobox with long list

- - Alabama - Alaska - Arizona - Arkansas - California - Colorado - Connecticut - Delaware - Florida - Georgia - Hawaii - Idaho - Illinois - Indiana - Iowa - Kansas - Kentucky - Louisiana - Maine - Maryland - Massachussets - Michigain - Minnesota - Mississippi - Missouri - Montana - Nebraska - Nevada - New Hampshire - New Jersey - New Mexico - New York - North Carolina - North Dakota - Ohio - Oklahoma - Oregon - Pennsylvania - Rhode Island - South Carolina - South Dakota - Texas - Tennessee - Utah - Vermont - Virginia - Washington - Wisconsin - West Virginia - Wyoming - +

Combobox with long list

+ + Alabama + Alaska + Arizona + Arkansas + California + Colorado + Connecticut + Delaware + Florida + Georgia + Hawaii + Idaho + Illinois + Indiana + Iowa + Kansas + Kentucky + Louisiana + Maine + Maryland + Massachussets + Michigain + Minnesota + Mississippi + Missouri + Montana + Nebraska + Nevada + New Hampshire + New Jersey + New Mexico + New York + North Carolina + North Dakota + Ohio + Oklahoma + Oregon + Pennsylvania + Rhode Island + South Carolina + South Dakota + Texas + Tennessee + Utah + Vermont + Virginia + Washington + Wisconsin + West Virginia + Wyoming + -

Forced positions

+

Forced positions

-

Combobox with forced position above

- - Position forced above - Option Two - +

Combobox with forced position above

+ + Position forced above + Option Two + -

Combobox with forced position below

- - Position forced below - Option Two - -
+

Combobox with forced position below

+ + Position forced below + Option Two + diff --git a/packages/web-components/src/data-grid/fixtures/base.html b/packages/web-components/src/data-grid/fixtures/base.html index f370ee7c1f9a5c..41e4e6e39ee36f 100644 --- a/packages/web-components/src/data-grid/fixtures/base.html +++ b/packages/web-components/src/data-grid/fixtures/base.html @@ -1,62 +1,54 @@ - -

Data grid

- -

Default

- - - - -

Grid controls

- -
- Reset - Default columns - Template columns - - Add row - Remove row - - No header - Default header - Sticky header - - Default row item template - Custom row item template - - Default cell item template - Custom cell item template - - Default header cell item template - - - Custom header cell item template - -
+

Data grid

+ +

Default

+ + + + +

Grid controls

+ +
+ Reset + Default columns + Template columns - -

Header

- - -

Header with cell template

- - -

Row

- - -

Row with cell template

- - -

Cell

- - -

Header cell

- - + Add row + Remove row + + No header + Default header + Sticky header + + Default row item template + Custom row item template + + Default cell item template + Custom cell item template + + Default header cell item template + + + Custom header cell item template + +
+ + +

Header

+ + + +

Header with cell template

+ + + +

Row

+ + +

Row with cell template

+ + +

Cell

+ + +

Header cell

+ diff --git a/packages/web-components/src/dialog/fixtures/dialog-button-test.html b/packages/web-components/src/dialog/fixtures/dialog-button-test.html index 39d91d1585785f..7d3c30e63bb6da 100644 --- a/packages/web-components/src/dialog/fixtures/dialog-button-test.html +++ b/packages/web-components/src/dialog/fixtures/dialog-button-test.html @@ -1,7 +1,5 @@ - - -

Dialog with text and fluent buttons. The first button should receive focus

- Button Text - Button Text -
-
+ +

Dialog with text and fluent buttons. The first button should receive focus

+ Button Text + Button Text +
diff --git a/packages/web-components/src/dialog/fixtures/dialog.html b/packages/web-components/src/dialog/fixtures/dialog.html index 61e05875b3b050..37187deecf32a3 100644 --- a/packages/web-components/src/dialog/fixtures/dialog.html +++ b/packages/web-components/src/dialog/fixtures/dialog.html @@ -1,12 +1,10 @@ - - - + - -

Dialog with text and button. The button should recieve focus

- - -
-
+ +

Dialog with text and button. The button should recieve focus

+ + +
diff --git a/packages/web-components/src/divider/fixtures/divider.html b/packages/web-components/src/divider/fixtures/divider.html index 1691a05e69d7f8..db6f05e026f344 100644 --- a/packages/web-components/src/divider/fixtures/divider.html +++ b/packages/web-components/src/divider/fixtures/divider.html @@ -1,8 +1,6 @@ - -

Divider

-

Default

- +

Divider

+

Default

+ -

Presentation

- -
+

Presentation

+ diff --git a/packages/web-components/src/flipper/fixtures/flipper.html b/packages/web-components/src/flipper/fixtures/flipper.html index d9149fedb6c845..1560bde4e09f84 100644 --- a/packages/web-components/src/flipper/fixtures/flipper.html +++ b/packages/web-components/src/flipper/fixtures/flipper.html @@ -1,35 +1,33 @@ - -

Flipper

-

Default

- +

Flipper

+

Default

+ -

Previous

- +

Previous

+ -

Previous with slotted content

- - - - - +

Previous with slotted content

+ + + + + -

Next

- +

Next

+ -

Next with slotted content

- - - - - +

Next with slotted content

+ + + + + -

With aria-hidden

- +

With aria-hidden

+ -

Disabled

- -
+

Disabled

+ diff --git a/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html b/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html index bffd3cf81a61d9..ad12bcd279e7bc 100644 --- a/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html +++ b/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html @@ -1,186 +1,184 @@ - - - -

Horizontal Scroll

- -

Default

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

With right fade

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

With fade on both sides

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

Speed = 1200

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

Default middle alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

Top alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

Bottom alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
-
- -

Full width tiles

- - - - -
-
-
-
-
-
-
-
+ + +

Horizontal Scroll

+ +

Default

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

With right fade

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

With fade on both sides

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Speed = 1200

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Default middle alignment

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Top alignment

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Bottom alignment

+ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ +

Full width tiles

+ + + + +
+
+
+
+
+
+
diff --git a/packages/web-components/src/listbox-option/fixtures/base.html b/packages/web-components/src/listbox-option/fixtures/base.html index 03bec40dc23375..066a0879215756 100644 --- a/packages/web-components/src/listbox-option/fixtures/base.html +++ b/packages/web-components/src/listbox-option/fixtures/base.html @@ -1,35 +1,33 @@ - -

Option

+

Option

-

Defaults

- - Text content is the value when the value attribute is absent. - +

Defaults

+ + Text content is the value when the value attribute is absent. + - - Even when the value attribute and text are both present, this text should be displayed. - + + Even when the value attribute and text are both present, this text should be displayed. + - + -

Disabled

- This option is disabled. +

Disabled

+This option is disabled. -

Selected

- This option is selected by default. +

Selected

+This option is selected by default. -

Slots

- - - - - - - - This option has an icon in its start and end slots. - -
+

Slots

+ + + + + + + + This option has an icon in its start and end slots. + diff --git a/packages/web-components/src/listbox/fixtures/base.html b/packages/web-components/src/listbox/fixtures/base.html index b8afa30a85d3e3..3eab5a0285ccf9 100644 --- a/packages/web-components/src/listbox/fixtures/base.html +++ b/packages/web-components/src/listbox/fixtures/base.html @@ -1,64 +1,62 @@ - -

Listbox

-

Default

- - This option has no value - This option is disabled - This option has a value - This option is selected by default - +

Listbox

+

Default

+ + This option has no value + This option is disabled + This option has a value + This option is selected by default + -

Long list

- - Alabama - Alaska - Arizona - Arkansas - California - Colorado - Connecticut - Delaware - Florida - Georgia - Hawaii - Idaho - Illinois - Indiana - Iowa - Kansas - Kentucky - Louisiana - Maine - Maryland - Massachussets - Michigain - Minnesota - Mississippi - Missouri - Montana - Nebraska - Nevada - New Hampshire - New Jersey - New Mexico - New York - North Carolina - North Dakota - Ohio - Oklahoma - Oregon - Pennsylvania - Rhode Island - South Carolina - South Dakota - Texas - Tennessee - Utah - Vermont - Virginia - Washington - Wisconsin - West Virginia - Wyoming - -
+

Long list

+ + Alabama + Alaska + Arizona + Arkansas + California + Colorado + Connecticut + Delaware + Florida + Georgia + Hawaii + Idaho + Illinois + Indiana + Iowa + Kansas + Kentucky + Louisiana + Maine + Maryland + Massachussets + Michigain + Minnesota + Mississippi + Missouri + Montana + Nebraska + Nevada + New Hampshire + New Jersey + New Mexico + New York + North Carolina + North Dakota + Ohio + Oklahoma + Oregon + Pennsylvania + Rhode Island + South Carolina + South Dakota + Texas + Tennessee + Utah + Vermont + Virginia + Washington + Wisconsin + West Virginia + Wyoming + diff --git a/packages/web-components/src/menu-item/fixtures/menu-item.html b/packages/web-components/src/menu-item/fixtures/menu-item.html index a8327cd16fdf57..e57148bf8a1575 100644 --- a/packages/web-components/src/menu-item/fixtures/menu-item.html +++ b/packages/web-components/src/menu-item/fixtures/menu-item.html @@ -1,71 +1,69 @@ - -

Menu Item

+

Menu Item

-

Default (menuitem)

- Menu item 1 +

Default (menuitem)

+Menu item 1 -

Disabled

- Menu item 1 +

Disabled

+Menu item 1 -

Disabled Start End

- - - - - Menu item 1 - - - - +

Disabled Start End

+ + + + + Menu item 1 + + + + -

menuitemcheckbox

- Menu item 1 +

menuitemcheckbox

+Menu item 1 -
checked
- Menu item 1 +
checked
+Menu item 1 -

menuitemradio

- Menu item 1 +

menuitemradio

+Menu item 1 -
checked
- Menu item 1 +
checked
+Menu item 1 -

Start

- - - - - Menu item 1 - +

Start

+ + + + + Menu item 1 + -

End

- - Menu item 1 - - - - +

End

+ + Menu item 1 + + + + -

Complex content layout

- - - - - Menu item 1 - - - - -
+

Complex content layout

+ + + + + Menu item 1 + + + + diff --git a/packages/web-components/src/menu/fixtures/menu.html b/packages/web-components/src/menu/fixtures/menu.html index 29bf6be695951f..384d7b5ee36fe5 100644 --- a/packages/web-components/src/menu/fixtures/menu.html +++ b/packages/web-components/src/menu/fixtures/menu.html @@ -1,85 +1,83 @@ - -

Menu

-

Default

- - Menu item 1 - Menu item 2 - Menu item 3 Disabled - Menu item 4 - +

Menu

+

Default

+ + Menu item 1 + Menu item 2 + Menu item 3 Disabled + Menu item 4 + -

With Separator

- - Menu item 1 - Menu item 2 -
- Menu item 3 - - - - - Menu item 4 - - - - -
+

With Separator

+ + Menu item 1 + Menu item 2 +
+ Menu item 3 + + + + + Menu item 4 + + + + +
-

With radio buttons and checkboxes

- - Menu item 1 - Menu item 2 - Menu item 3 - - Checkbox 1 - - Checkbox 2 - - - - - - Radio 1.1 - Radio 1.2 - - - Radio 2.1 - - - - - - - - - Radio 2.2 - - - - - - - - +

With radio buttons and checkboxes

+ + Menu item 1 + Menu item 2 + Menu item 3 + + Checkbox 1 + + Checkbox 2 + + + + + + Radio 1.1 + Radio 1.2 + + + Radio 2.1 + + + + + + + + + Radio 2.2 + + + + + + + + -

With standard elements

- -
Menu item 1
-
Menu item 2
-
Menu item 3
-
-
+

With standard elements

+ +
Menu item 1
+
Menu item 2
+
Menu item 3
+
diff --git a/packages/web-components/src/number-field/fixtures/number-field.html b/packages/web-components/src/number-field/fixtures/number-field.html index 534b49c9832d71..52dfe09bb35dfb 100644 --- a/packages/web-components/src/number-field/fixtures/number-field.html +++ b/packages/web-components/src/number-field/fixtures/number-field.html @@ -1,113 +1,111 @@ - -

Number field

-

Default

- - Label - -

Hide step

- Label - -

With value

- - -

With min 1 and max 10

- - -

0.1 stepping

- - -

Full Width

- - -

Placeholder

- - - -

Required

- - - -

Disabled

- - label - - - -

Read only

- - label - - -

Autofocus

- autofocus - - -

Maxlength

- maxlength - - -

Minlength

- minlength - - -

With start

- - - - - - - -

With end

- - - - - - -

Filled

-
Default
- - label - -
Placeholder
- - - -
Required
- - - -
Disabled
- - label - - - -
Read only
- - - label - - - -

Visual vs audio label

- - Visible label - - - -

With aria-label

- - -
- -

In a form

- - -
-
+

Number field

+

Default

+ +Label + +

Hide step

+Label + +

With value

+ + +

With min 1 and max 10

+ + +

0.1 stepping

+ + +

Full Width

+ + +

Placeholder

+ + + +

Required

+ + + +

Disabled

+ +label + + + +

Read only

+ +label + + +

Autofocus

+autofocus + + +

Maxlength

+maxlength + + +

Minlength

+minlength + + +

With start

+ + + + + + + +

With end

+ + + + + + +

Filled

+
Default
+ +label + +
Placeholder
+ + + +
Required
+ + + +
Disabled
+ +label + + + +
Read only
+ + + label + + + +

Visual vs audio label

+ + Visible label + + + +

With aria-label

+ + +
+ +

In a form

+ + +
diff --git a/packages/web-components/src/progress/progress-ring/fixtures/circular.html b/packages/web-components/src/progress/progress-ring/fixtures/circular.html index 29058725197034..9fe3dcc262ac13 100644 --- a/packages/web-components/src/progress/progress-ring/fixtures/circular.html +++ b/packages/web-components/src/progress/progress-ring/fixtures/circular.html @@ -1,24 +1,22 @@ - -

Progress ring

-

Default

- +

Progress ring

+

Default

+ + +

Paused

+ + +

Custom Sizes

+
+ + + + + +
+
-

Paused

- - -

Custom Sizes

-
- - - - - -
-
- - - - - -
- + + + + +
diff --git a/packages/web-components/src/progress/progress/fixtures/linear.html b/packages/web-components/src/progress/progress/fixtures/linear.html index b4b21d0795f5ae..597dc6532deb3b 100644 --- a/packages/web-components/src/progress/progress/fixtures/linear.html +++ b/packages/web-components/src/progress/progress/fixtures/linear.html @@ -1,26 +1,24 @@ - -

Progress

-

Default

-
- - -
-

Paused

-
- - -
-

Custom Sizes

-
- - - - - - - - - - -
-
+

Progress

+

Default

+
+ + +
+

Paused

+
+ + +
+

Custom Sizes

+
+ + + + + + + + + + +
diff --git a/packages/web-components/src/radio-group/fixtures/radio-group.html b/packages/web-components/src/radio-group/fixtures/radio-group.html index e21cc868edb74f..4516167279fded 100644 --- a/packages/web-components/src/radio-group/fixtures/radio-group.html +++ b/packages/web-components/src/radio-group/fixtures/radio-group.html @@ -1,82 +1,80 @@ - -

Radio Group

+

Radio Group

-

Defaults

-
- - - One - Two - -
+

Defaults

+
+ + + One + Two + +
-

Single radio

-
- - - Michael Jordan - -
+

Single radio

+
+ + + Michael Jordan + +
-

With label outside group

-
- - - Apples - Oranges - Bananas - Kiwi - Grapefruit - Mango - Blueberries - Strawberries - Pineapple - -
+

With label outside group

+
+ + + Apples + Oranges + Bananas + Kiwi + Grapefruit + Mango + Blueberries + Strawberries + Pineapple + +
-

Within toolbar

-
-
- - - back - forward - refresh - - -
-
- -

Disabled

-
- - - Lamborghini - Ferari +

Within toolbar

+
+
+ + + back + forward + refresh +
+
-

Readonly

-
- - - Word - Excel - -
+

Disabled

+
+ + + Lamborghini + Ferari + +
-

Preset value

-
- - - Ice Man - Maverick - Viper - Jester - -
- +

Readonly

+
+ + + Word + Excel + +
+ +

Preset value

+
+ + + Ice Man + Maverick + Viper + Jester + +
diff --git a/packages/web-components/src/radio/fixtures/radio.html b/packages/web-components/src/radio/fixtures/radio.html index 4817b0269e6d7e..fdf098555c0739 100644 --- a/packages/web-components/src/radio/fixtures/radio.html +++ b/packages/web-components/src/radio/fixtures/radio.html @@ -1,32 +1,30 @@ - -

Radio

+

Radio

-

Defaults

- -
- label -
+

Defaults

+ +
+ label +
-

Checked

- +

Checked

+ - -

Required

- + +

Required

+ - -

Disabled

- - label - checked + +

Disabled

+ +label +checked -

Visual vs audio label

- - Visible label - +

Visual vs audio label

+ + Visible label + -
- - -
-
+
+ + +
diff --git a/packages/web-components/src/select/fixtures/base.html b/packages/web-components/src/select/fixtures/base.html index 732a4a68b89714..05f60ce0ea8e3f 100644 --- a/packages/web-components/src/select/fixtures/base.html +++ b/packages/web-components/src/select/fixtures/base.html @@ -1,125 +1,123 @@ - -

Select

+

Select

-

Default

- - This option has no value - This option is disabled - This option has a value - This option is selected by default - +

Default

+ + This option has no value + This option is disabled + This option has a value + This option is selected by default + -

Filled

- - This option has no value - This option is disabled - This option has a value - This option is selected by default - +

Filled

+ + This option has no value + This option is disabled + This option has a value + This option is selected by default + -

With Label

- - - Small - Medium - Large - Extra Large - +

With Label

+ + + Small + Medium + Large + Extra Large + -

Disabled

- - This option is not selectable - +

Disabled

+ + This option is not selectable + - - This option is disabled - This option is not disabled - This option is not disabled - + + This option is disabled + This option is not disabled + This option is not disabled + -

Selected Option

- - Option One - Option Two - Option Three - Option Four - +

Selected Option

+ + Option One + Option Two + Option Three + Option Four + -

Custom Indicator

- - - - - Option One - Option Two - Option Three - Option Four - +

Custom Indicator

+ + + + + Option One + Option Two + Option Three + Option Four + -

Long list

- - Alabama - Alaska - Arizona - Arkansas - California - Colorado - Connecticut - Delaware - Florida - Georgia - Hawaii - Idaho - Illinois - Indiana - Iowa - Kansas - Kentucky - Louisiana - Maine - Maryland - Massachussets - Michigain - Minnesota - Mississippi - Missouri - Montana - Nebraska - Nevada - New Hampshire - New Jersey - New Mexico - New York - North Carolina - North Dakota - Ohio - Oklahoma - Oregon - Pennsylvania - Rhode Island - South Carolina - South Dakota - Texas - Tennessee - Utah - Vermont - Virginia - Washington - Wisconsin - West Virginia - Wyoming - +

Long list

+ + Alabama + Alaska + Arizona + Arkansas + California + Colorado + Connecticut + Delaware + Florida + Georgia + Hawaii + Idaho + Illinois + Indiana + Iowa + Kansas + Kentucky + Louisiana + Maine + Maryland + Massachussets + Michigain + Minnesota + Mississippi + Missouri + Montana + Nebraska + Nevada + New Hampshire + New Jersey + New Mexico + New York + North Carolina + North Dakota + Ohio + Oklahoma + Oregon + Pennsylvania + Rhode Island + South Carolina + South Dakota + Texas + Tennessee + Utah + Vermont + Virginia + Washington + Wisconsin + West Virginia + Wyoming + -

Forced positions

- - Position forced above - Option Two - +

Forced positions

+ + Position forced above + Option Two + - - Position forced below - Option Two - -
+ + Position forced below + Option Two + diff --git a/packages/web-components/src/slider-label/fixtures/slider-label.html b/packages/web-components/src/slider-label/fixtures/slider-label.html index c35f204825f517..3273b1b4af6bd9 100644 --- a/packages/web-components/src/slider-label/fixtures/slider-label.html +++ b/packages/web-components/src/slider-label/fixtures/slider-label.html @@ -1,36 +1,34 @@ - -
-

Default

-
- - basic - -
-

Disabled

-
- - disabled - -
-

Hide mark

-
- - hide-mark - -
-

With position

-
- - pos:10 +
+

Default

+
+ + basic + +
+

Disabled

+
+ + disabled + +
+

Hide mark

+
+ + hide-mark + +
+

With position

+
+ + pos:10 + +
+

Vertical

+
+ + + vert -
-

Vertical

-
- - - vert - - -
+
- +
diff --git a/packages/web-components/src/slider/fixtures/slider.html b/packages/web-components/src/slider/fixtures/slider.html index cba91876069be9..869e5da68dd7c3 100644 --- a/packages/web-components/src/slider/fixtures/slider.html +++ b/packages/web-components/src/slider/fixtures/slider.html @@ -1,196 +1,26 @@ - -
-

Toggle orientation

-
- - - - - 0℃ - - - 10℃ - - - 90℃ - - - 100℃ - - -
- -

Defaults

- - - -

horizontal with left offset

- - - -

Vertical with top offset

- - - -

Negative positions

- - - -3 - - - -2 - - - -1 - - - 0 - - - 1 - - - 2 - - - 3 - - - - -

Min value greater than 0

-
- - - 5 - - - 15 - - -
- - -

Text labels

-
- - - - 10℃ - - - 90℃ - - -
- - -

Custom labels (rtl)

-
+

Toggle orientation

+
+
- - -

Custom thumb

- - - 0 - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 - - - 90 - - - 100 - - - - - - - -

Vertical

- + + 0℃ @@ -204,108 +34,276 @@

Vertical

100℃
+
+ +

Defaults

+ - -

Custom labels and thumb, hide marks on labels

- - - - - - - - 50 - - - - Clock Icon - - - - - - - + +

horizontal with left offset

+ - -

Disabled

- - - 0 - - - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 - - - 90 + +

Vertical with top offset

+ + + +

Negative positions

+ + + -3 + + + -2 + + + -1 + + + 0 + + + 1 + + + 2 + + + 3 + + + + +

Min value greater than 0

+
+ + + 5 - - 100 + + 15 - -

Read Only

- - - 0 - +
+ + +

Text labels

+
+ + - 10 - - - 20 - - - 30 - - - 40 - - - 50 - - - 60 - - - 70 - - - 80 + 10℃ - 90 - - - 100 + 90℃
- + + +

Custom labels (rtl)

+
+ +
+ + + 10 + + + 20 + + + 40 + + + 60 + + + 80 + + +
+
+ + +

Custom thumb

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + + + + + +

Vertical

+ + + 0℃ + + + 10℃ + + + 90℃ + + + 100℃ + + + + +

Custom labels and thumb, hide marks on labels

+ + + + + + + + 50 + + + + Clock Icon + + + + + + + + + +

Disabled

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + +

Read Only

+ + + 0 + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + +
diff --git a/packages/web-components/src/switch/fixtures/switch.html b/packages/web-components/src/switch/fixtures/switch.html index 06cedc0c490ab1..d4dfa85b398838 100644 --- a/packages/web-components/src/switch/fixtures/switch.html +++ b/packages/web-components/src/switch/fixtures/switch.html @@ -1,74 +1,44 @@ - -
- - - Direction - ltr - rtl - +

Switch

+

Default

+
+ + + Dark Mode + + + New Feature + On + Off + + + Theme + Dark + Light + +
- - Theme - Dark - Light - -
-

Switch

-

Default

-
- - - Dark Mode - - - New Feature - On - Off - - - Theme - Dark - Light - -
+

Checked

+ -

Checked

- + +

Required

+ - -

Required

- + +

Disabled

+
+ + label + checked + + checked + On + Off + +
- -

Disabled

-
- - label - checked - - checked - On - Off - -
- -

Inline

- Light Speed - Ridiculous Speed - Ludicrous Speed - Plaid Speed -
+

Inline

+Light Speed +Ridiculous Speed +Ludicrous Speed +Plaid Speed diff --git a/packages/web-components/src/tabs/fixtures/tabs.html b/packages/web-components/src/tabs/fixtures/tabs.html index 149162e5661952..97747f25537024 100644 --- a/packages/web-components/src/tabs/fixtures/tabs.html +++ b/packages/web-components/src/tabs/fixtures/tabs.html @@ -1,114 +1,112 @@ - -

Tabs

-

Default

- - Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - -
Testing
-
-

Vertical

- - Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - - -

Supplemental content

- -
- - - -
-
- - - -
- Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - -
-

Supplemental content - Vertical

- -
- - - -
-
- - - -
- Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - -
-

No active indicator

- - Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - - -

No active indicator - Vertical

- - Tab one - Tab two - Tab three - - Tab one content. This is for testing. - - - Tab two content. This is for testing. - - - Tab three content. This is for testing. - - -
+

Tabs

+

Default

+ + Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + +
Testing
+
+

Vertical

+ + Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + + +

Supplemental content

+ +
+ + + +
+
+ + + +
+ Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + +
+

Supplemental content - Vertical

+ +
+ + + +
+
+ + + +
+ Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + +
+

No active indicator

+ + Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + + +

No active indicator - Vertical

+ + Tab one + Tab two + Tab three + + Tab one content. This is for testing. + + + Tab two content. This is for testing. + + + Tab three content. This is for testing. + + diff --git a/packages/web-components/src/text-area/fixtures/text-area.html b/packages/web-components/src/text-area/fixtures/text-area.html index 1c7db764477564..12121555dd07bb 100644 --- a/packages/web-components/src/text-area/fixtures/text-area.html +++ b/packages/web-components/src/text-area/fixtures/text-area.html @@ -1,93 +1,91 @@ - -

Text area

-

Default

- - - label - - -

Full Width

- - -

Placeholder

- - - -

Required

- - - -

Disabled

- - - label - - - - -

Read only

- - label - - -

Autofocus

- autofocus - - -

Resize

-
Both
- resize both - -
Horizontal
- resize horizontal - -
Vertical
- resize vertical - -

Filled

-
Default
- - - label - - -
Placeholder
- - - -
Required
- - - -
Disabled
- - - label - - - - -
Read only
- - label - - - label - - - -

Visual vs audio label

- - Visible label - - - -

Audio label only

- - - - - -

With aria-label

- -
+

Text area

+

Default

+ + + label + + +

Full Width

+ + +

Placeholder

+ + + +

Required

+ + + +

Disabled

+ + + label + + + + +

Read only

+ +label + + +

Autofocus

+autofocus + + +

Resize

+
Both
+resize both + +
Horizontal
+resize horizontal + +
Vertical
+resize vertical + +

Filled

+
Default
+ + + label + + +
Placeholder
+ + + +
Required
+ + + +
Disabled
+ + + label + + + + +
Read only
+ + label + + + label + + + +

Visual vs audio label

+ + Visible label + + + +

Audio label only

+ + + + + +

With aria-label

+ diff --git a/packages/web-components/src/text-field/fixtures/text-field.html b/packages/web-components/src/text-field/fixtures/text-field.html index c8a8c777f2d0b6..4764a5d34a74af 100644 --- a/packages/web-components/src/text-field/fixtures/text-field.html +++ b/packages/web-components/src/text-field/fixtures/text-field.html @@ -1,97 +1,95 @@ - -

Text field

-

Default

- - Label - -

Full Width

- - -

Placeholder

- - - -

Required

- - - -

Disabled

- - label - - - -

Read only

- - label - - -

Autofocus

- autofocus - - -

With start

- - - - - - - -

With end

- - - - - - -

Filled

-
Default
- - label - -
Placeholder
- - - -
Required
- - - -
Disabled
- - label - - - -
Read only
- - label - - -

Visual vs audio label

- - Visible label - - - -

Audio label only

- - - - - -

With aria-label

- - -
- -

In a form

- - -
-
+

Text field

+

Default

+ +Label + +

Full Width

+ + +

Placeholder

+ + + +

Required

+ + + +

Disabled

+ +label + + + +

Read only

+ +label + + +

Autofocus

+autofocus + + +

With start

+ + + + + + + +

With end

+ + + + + + +

Filled

+
Default
+ +label + +
Placeholder
+ + + +
Required
+ + + +
Disabled
+ +label + + + +
Read only
+ +label + + +

Visual vs audio label

+ + Visible label + + + +

Audio label only

+ + + + + +

With aria-label

+ + +
+ +

In a form

+ + +
diff --git a/packages/web-components/src/tooltip/fixtures/tooltip.html b/packages/web-components/src/tooltip/fixtures/tooltip.html index 9d65291fd561c0..4f57a7b0533699 100644 --- a/packages/web-components/src/tooltip/fixtures/tooltip.html +++ b/packages/web-components/src/tooltip/fixtures/tooltip.html @@ -1,193 +1,191 @@ - -

Tooltip

- -

Default

-
- - Helpful text is helpful - - - anchor - -
- -

Show/Hide

-
- - Always visible - - - Always visible - - - Always visible - - - Always visible - - - Toggle tooltips - -
- -

Top

-
- - Helpful text is helpful - - - - anchor - -
- -

Right

-
- - Helpful text is helpful - - - - anchor - -
- -

Bottom

-
- - Helpful text is helpful - - - - anchor - -
- -

Left

-
- - Helpful text is helpful - - - - anchor - -
- -

in a flex container

-
-
-
- - anchor - -
-
- - Helpful text is helpful - - - Helpful text is helpful - - - Helpful text is helpful - - - Helpful text is helpful - -
- -

Switch anchors

-
- - Helpful text is helpful - - - - anchor - - - - anchor - - - - anchor - - - - anchor - - - - anchor - - - - anchor - - - - anchor - - - - anchor - -
- -

RTL

-
- - anchor - - - - Left - - - - Right - -
- -

start/end

-
- - anchor - - - - Start - - - - End - -
- -

start/end RTL

-
- - anchor - - - - Start - - - - End - -
-
+

Tooltip

+ +

Default

+
+ + Helpful text is helpful + + + anchor + +
+ +

Show/Hide

+
+ + Always visible + + + Always visible + + + Always visible + + + Always visible + + + Toggle tooltips + +
+ +

Top

+
+ + Helpful text is helpful + + + + anchor + +
+ +

Right

+
+ + Helpful text is helpful + + + + anchor + +
+ +

Bottom

+
+ + Helpful text is helpful + + + + anchor + +
+ +

Left

+
+ + Helpful text is helpful + + + + anchor + +
+ +

in a flex container

+
+
+
+ + anchor + +
+
+ + Helpful text is helpful + + + Helpful text is helpful + + + Helpful text is helpful + + + Helpful text is helpful + +
+ +

Switch anchors

+
+ + Helpful text is helpful + + + + anchor + + + + anchor + + + + anchor + + + + anchor + + + + anchor + + + + anchor + + + + anchor + + + + anchor + +
+ +

RTL

+
+ + anchor + + + + Left + + + + Right + +
+ +

start/end

+
+ + anchor + + + + Start + + + + End + +
+ +

start/end RTL

+
+ + anchor + + + + Start + + + + End + +
diff --git a/packages/web-components/src/tree-item/fixtures/tree-item.html b/packages/web-components/src/tree-item/fixtures/tree-item.html index 567f5ece10ec43..68233ef77bc714 100644 --- a/packages/web-components/src/tree-item/fixtures/tree-item.html +++ b/packages/web-components/src/tree-item/fixtures/tree-item.html @@ -1,95 +1,65 @@ - -
- - - Direction - ltr - rtl - +

Tree item

+

Default

+Tree item - - Theme - Dark - Light - -
-

Tree item

-

Default

- Tree item +

Nested

+ + Tree item + Nested tree item + -

Nested

- - Tree item - Nested tree item - +

Selected

+Tree item -

Selected

- Tree item +

Before content

+ + + + + Tree item + +
+ + + + + Tree item + -

Before content

- - - - - Tree item - -
- - - - - Tree item - +

After content

+ + + + + Tree item + +
+ + + + + Tree item + -

After content

- - - - - Tree item - -
- - - - - Tree item - - -

Disabled

- - - - - Tree item disabled - - - - -
+

Disabled

+ + + + + Tree item disabled + + + + diff --git a/packages/web-components/src/tree-view/fixtures/tree-view.html b/packages/web-components/src/tree-view/fixtures/tree-view.html index 5191efba59f2e5..eae2a2de861461 100644 --- a/packages/web-components/src/tree-view/fixtures/tree-view.html +++ b/packages/web-components/src/tree-view/fixtures/tree-view.html @@ -1,159 +1,130 @@ - -
- - - Direction - ltr - rtl - - - - Theme - Dark - Light - -
-

With items (don't render collapsed nodes)

- - - Root item 1 - - Flowers - Daisy - Sunflower - Rose - - Nested item 2 - Nested item 3 - +

Tree View

+

With items (don't render collapsed nodes)

+ + + Root item 1 - Root item 2 - - - Flowers - Daisy - Sunflower - Rose - - Nested item 2 - Nested item 3 + Flowers + Daisy + Sunflower + Rose + Nested item 2 + Nested item 3 + + + Root item 2 + - Root item 3 - Leaf Erikson + Flowers + Daisy + Sunflower + Rose - + Nested item 2 + Nested item 3 + + + Root item 3 - Leaf Erikson + +
-

Flat tree

- - Daisy - Sunflower - Rose - - Petunia - Tulip - +

Flat tree

+ + Daisy + Sunflower + Rose + + Petunia + Tulip + -

Some expanded

- +

Some expanded

+ + + Root item - Root item - - Flowers - Daisy - Sunflower - Rose - - - Planes - Tomcat - Hawker Harrier - Cesna - + Flowers + Daisy + Sunflower + Rose - + + Planes + Tomcat + Hawker Harrier + Cesna + + +
-

Pre-selected tree item

- +

Pre-selected tree item

+ + + Root item + + Flowers + Daisy + Sunflower + Rose + - Root item - - Flowers - Daisy - Sunflower - Rose - - - Planes - Tomcat - Hawker Harrier - Cesna - + Planes + Tomcat + Hawker Harrier + Cesna - + +
-

With several nested items (expanded)

- +

With several nested items (expanded)

+ + + Root item + + + - Root item + Nested Root item 1 - - Nested Root item 1 - - - - - - - - Nested item 4 - - - - - - Nested item 5 - - - Nested item 2 + Nested item 4 - Nested item 3 + Nested item 5 - -
+ + Nested item 2 + + + + + + Nested item 3 + + + + + + From 5cc43a1c867f02cc1f5132f18a630758074c292f Mon Sep 17 00:00:00 2001 From: Jeff Smith <37851214+eljefe223@users.noreply.github.com> Date: Mon, 17 May 2021 23:18:56 -0700 Subject: [PATCH 06/91] feat: add support for sub menus to menu (#18233) * feat: style menu for vNext * Change files * updated chnage file --- ...-497df4a8-736a-4c0e-bfed-ca69b00168aa.json | 7 + .../src/menu-item/menu-item.styles.ts | 117 +++++++-- .../src/menu/fixtures/menu.html | 242 ++++++++++++++++-- 3 files changed, 319 insertions(+), 47 deletions(-) create mode 100644 change/@fluentui-web-components-497df4a8-736a-4c0e-bfed-ca69b00168aa.json diff --git a/change/@fluentui-web-components-497df4a8-736a-4c0e-bfed-ca69b00168aa.json b/change/@fluentui-web-components-497df4a8-736a-4c0e-bfed-ca69b00168aa.json new file mode 100644 index 00000000000000..4e861f9478bea9 --- /dev/null +++ b/change/@fluentui-web-components-497df4a8-736a-4c0e-bfed-ca69b00168aa.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "add support for sub menus to menu", + "packageName": "@fluentui/web-components", + "email": "jes@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index 835c13fd2ac4a7..05562dc7d6a8f2 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -11,6 +11,7 @@ import { cornerRadius, outlineWidth, neutralFocus, + neutralForegroundHint, neutralFillStealthHover, neutralFillStealthActive, disabledOpacity, @@ -19,6 +20,9 @@ import { export const menuItemStyles = (context, definition) => css` ${display('grid')} :host { + contain: layout; + overflow: visible; + font-family: ${bodyFont}; outline: none; box-sizing: border-box; height: calc(${heightNumber} * 1px); @@ -29,17 +33,48 @@ export const menuItemStyles = (context, definition) => padding: 0; margin: 0 calc(${designUnit} * 1px); white-space: nowrap; - overflow: hidden; color: ${neutralForegroundRest}; fill: currentcolor; cursor: pointer; - font-family: ${bodyFont}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; border-radius: calc(${cornerRadius} * 1px); border: calc(${outlineWidth} * 1px) solid transparent; } + :host(.indent-0) { + grid-template-columns: auto 1fr minmax(42px, auto); + } + + :host(.indent-0) .content { + grid-column: 1; + grid-row: 1; + margin-inline-start: 10px; + } + + :host(.indent-2) { + grid-template-columns: minmax(42px, auto) minmax(42px, auto) 1fr minmax(42px, auto) minmax(42px, auto); + } + + :host(.indent-2) .content { + grid-column: 3; + grid-row: 1; + margin-inline-start: 10px; + } + + :host(.indent-2) .expand-collapse-glyph-container { + grid-column: 5; + grid-row: 1; + } + + :host(.indent-2) .start { + grid-column: 2; + } + + :host(.indent-2) .end { + grid-column: 4; + } + :host(:${focusVisible}) { border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; box-shadow: 0 0 0 calc((${outlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; @@ -49,18 +84,21 @@ export const menuItemStyles = (context, definition) => background: ${neutralFillStealthHover}; } - :host(:active) { + :host([aria-checked="true"]), + :host(:active), + :host(.expanded) { background: ${neutralFillStealthActive}; + color: ${neutralForegroundRest}; } - :host(.disabled) { + :host([disabled]) { cursor: ${disabledCursor}; opacity: ${disabledOpacity}; } - :host(.disabled:hover) .start, - :host(.disabled:hover) .end, - :host(.disabled:hover)::slotted(svg) { + :host([disabled]:hover) .start, + :host([disabled]:hover) .end, + :host([disabled]:hover)::slotted(svg) { fill: currentcolor; } @@ -72,7 +110,11 @@ export const menuItemStyles = (context, definition) => } .start, - .end, + .end { + display: flex; + justify-content: center; + } + ::slotted(svg) { ${ /* Glyph size and margin-left is temporary - @@ -91,41 +133,44 @@ export const menuItemStyles = (context, definition) => fill: ${neutralForegroundRest}; } - - :host([role="menuitemcheckbox"]), - :host([role="menuitemradio"]) { + :host(.indent-1[aria-haspopup="menu"]), + :host(.indent-1[role="menuitemcheckbox"]), + :host(.indent-1[role="menuitemradio"]) { display: grid; - grid-template-columns: auto auto 1fr minmax(42px, auto); + grid-template-columns: minmax(42px, auto) auto 1fr minmax(42px, auto) minmax(42px, auto); align-items: center; min-height: 32px; } - :host .input-container { + :host(.indent-2:not([aria-haspopup="menu"])) .end { + grid-column: 5; + } + + :host .input-container, + :host .expand-collapse-glyph-container { display: none; } + :host([aria-haspopup="menu"]) .expand-collapse-glyph-container, :host([role="menuitemcheckbox"]) .input-container, :host([role="menuitemradio"]) .input-container { display: grid; margin-inline-end: 10px; } - :host([role="menuitemcheckbox"]) .start, - :host([role="menuitemradio"]) .start { - grid-column-start: 2; - margin-inline-end: 10px; - } - + :host([aria-haspopup="menu"]) .content, :host([role="menuitemcheckbox"]) .content, :host([role="menuitemradio"]) .content { grid-column-start: 3; } + :host([aria-haspopup="menu"]) .end, :host([role="menuitemcheckbox"]) .end, :host([role="menuitemradio"]) .end { grid-column-start: 4; } + :host .expand-collapse, :host .checkbox, :host .radio { display: flex; @@ -135,11 +180,15 @@ export const menuItemStyles = (context, definition) => width: 20px; height: 20px; box-sizing: border-box; - border: calc(${outlineWidth} * 1px) solid ${neutralForegroundRest}; outline: none; margin-inline-start: 10px; } + :host .checkbox, + :host .radio { + border: calc(${outlineWidth} * 1px) solid ${neutralForegroundRest}; + } + :host .checkbox { border-radius: calc(${cornerRadius} * 1px); } @@ -155,6 +204,11 @@ export const menuItemStyles = (context, definition) => display: none; } + ::slotted([slot="end"]:not(svg)) { + margin-inline-end: 10px; + color: ${neutralForegroundHint} + } + :host([aria-checked="true"]) .checkbox-indicator, :host([aria-checked="true"]) ::slotted([slot="checkbox-indicator"]) { width: 100%; @@ -201,6 +255,13 @@ export const menuItemStyles = (context, definition) => :host(:active)::slotted(svg) { fill: ${SystemColors.HighlightText}; } + + :host(.expanded) { + background: ${SystemColors.Highlight}; + border-color: ${SystemColors.Highlight}; + color: ${SystemColors.HighlightText}; + } + :host(:${focusVisible}) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; @@ -208,19 +269,21 @@ export const menuItemStyles = (context, definition) => color: ${SystemColors.HighlightText}; fill: currentcolor; } - :host(.disabled), - :host(.disabled:hover), - :host(.disabled:hover) .start, - :host(.disabled:hover) .end, - :host(.disabled:hover)::slotted(svg) { + + :host([disabled]), + :host([disabled]:hover), + :host([disabled]:hover) .start, + :host([disabled]:hover) .end, + :host([disabled]:hover)::slotted(svg) { background: ${SystemColors.Canvas}; color: ${SystemColors.GrayText}; fill: currentcolor; opacity: 1; } + :host .expanded-toggle, :host .checkbox, - :host .radio{ + :host .radio { border-color: ${SystemColors.ButtonText}; background: ${SystemColors.HighlightText}; } @@ -231,8 +294,10 @@ export const menuItemStyles = (context, definition) => border-color: ${SystemColors.HighlightText}; } + :host(:hover) .expanded-toggle, :host(:hover) .checkbox, :host(:hover) .radio, + :host(:${focusVisible}) .expanded-toggle, :host(:${focusVisible}) .checkbox, :host(:${focusVisible}) .radio, :host([checked="true"]:hover) .checkbox, diff --git a/packages/web-components/src/menu/fixtures/menu.html b/packages/web-components/src/menu/fixtures/menu.html index 384d7b5ee36fe5..5085fc9368e471 100644 --- a/packages/web-components/src/menu/fixtures/menu.html +++ b/packages/web-components/src/menu/fixtures/menu.html @@ -3,11 +3,81 @@

Default

Menu item 1 Menu item 2 - Menu item 3 Disabled - Menu item 4 + Menu item 3 + + Menu item 4 +
+ Shortcut text +
+
+
+ +

With start, end and nested submenus

+ + Menu item 1 + Menu item 2 + Menu item 3 + + + + + Menu item 4 + + + + + + + + Checkbox 1 + Nested Menu item 1.1 + Nested Menu item 1.2 + Nested Menu item 1.3 + + + + +

With start, end slot with text and nested submenus

+ + Menu item 1 + + Menu item 2 +
+ Shortcut text +
+
+ Menu item 3 + + + + + Menu item 4 +
+ Shortcut text +
+ + + + + Checkbox 1 + Nested Menu item 1.1 + Nested Menu item 1.2 + Nested Menu item 1.3 + +
-

With Separator

+

With seperator

Menu item 1 Menu item 2 @@ -28,7 +98,154 @@

With Separator

-

With radio buttons and checkboxes

+

With nested submenus

+ + + + + + Menu item 1 + + + + + + Menu item 2 + + + + + Checkbox 1 + Nested Menu item 1.1 + Nested Menu item 1.2 + Nested Menu item 1.3 + + + + + + + Menu item 3 +
+ Shortcut text +
+
+ + Menu item 4 + + + + + Nested Menu item 4.1 + Nested Menu item 4.2 + Nested Menu item 4.3 + + + + Menu item 5 + + + + + Checkbox 1 + + Nested Menu item 5.1 + + + + + Checkbox 1 + Nested Menu item 5.1.1 + Nested Menu item 5.1.2 + Nested Menu item 5.1.3 + + + + Nested Menu item 5.2 + + + + + Nested Menu item 5.2.1 + Nested Menu item 5.2.2 + Nested Menu item 5.2.3 + + + + Nested Menu item 5.3 + + + + + Nested Menu item 5.3.1 + Nested Menu item 5.3.2 + Nested Menu item 5.3.3 + + + + +
+ +

With standard elements

+ +
Menu item 1
+
Menu item 2
+
Menu item 3
+
+ +

With fluent buttons and anchors

+ + + Menu item 1 + + + Menu item 2 + + + Menu item 3 + + + Menu item 4 + + + +

With radio buttons and checkboxes

Menu item 1 Menu item 2 @@ -49,11 +266,6 @@

With radio buttons and checkboxes

Radio 2.1 - - - With radio buttons and checkboxes d="M6.5,7.7h-1v-1h1V7.7z M10.6,7.7h-1v-1h1V7.7z M14.7,6.7v2.1h-1v2.6c0,0.2,0,0.4-0.1,0.6c-0.1,0.2-0.2,0.4-0.3,0.5c-0.1,0.1-0.3,0.3-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.1H10l-3.5,3v-3H3.9c-0.2,0-0.4,0-0.6-0.1c-0.2-0.1-0.4-0.2-0.5-0.3c-0.1-0.1-0.3-0.3-0.3-0.5c-0.1-0.2-0.1-0.4-0.1-0.6V8.8h-1V6.7h1V5.2c0-0.2,0-0.4,0.1-0.6c0.1-0.2,0.2-0.4,0.3-0.5c0.1-0.1,0.3-0.3,0.5-0.3c0.2-0.1,0.4-0.1,0.6-0.1h3.6V1.9C7.3,1.8,7.2,1.7,7.1,1.5C7,1.4,7,1.2,7,1C7,0.9,7,0.8,7,0.6c0.1-0.1,0.1-0.2,0.2-0.3c0.1-0.1,0.2-0.2,0.3-0.2C7.7,0,7.9,0,8,0c0.1,0,0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.2C8.8,0.4,8.9,0.5,9,0.6C9,0.8,9,0.9,9,1c0,0.2,0,0.4-0.1,0.5C8.8,1.7,8.7,1.8,8.5,1.9v1.7h3.6c0.2,0,0.4,0,0.6,0.1c0.2,0.1,0.4,0.2,0.5,0.3c0.1,0.1,0.3,0.3,0.3,0.5c0.1,0.2,0.1,0.4,0.1,0.6v1.5H14.7z M12.6,5.2c0-0.1-0.1-0.3-0.2-0.4c-0.1-0.1-0.2-0.2-0.4-0.2H3.9c-0.1,0-0.3,0.1-0.4,0.2C3.4,4.9,3.4,5,3.4,5.2v6.2c0,0.1,0.1,0.3,0.2,0.4c0.1,0.1,0.2,0.2,0.4,0.2h3.6v1.8l2.1-1.8h2.5c0.1,0,0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.4V5.2z M5.8,8.9c0.3,0.3,0.6,0.5,1,0.7C7.2,9.7,7.6,9.8,8,9.8s0.8-0.1,1.2-0.2c0.4-0.2,0.7-0.4,1-0.7l0.7,0.7c-0.4,0.4-0.8,0.7-1.4,0.9c-0.5,0.2-1,0.3-1.6,0.3s-1.1-0.1-1.6-0.3c-0.5-0.2-1-0.5-1.3-0.9L5.8,8.9z" /> - - -
- -

With standard elements

- -
Menu item 1
-
Menu item 2
-
Menu item 3
-
From e91c2b54d6886d22c64cfbf3e11341aa1e27f53d Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Tue, 18 May 2021 10:56:32 -0700 Subject: [PATCH 07/91] (web-components) correct tabs font size and line height to base (#18240) * correct tabs font size and line height * Change files --- ...b-components-394d9a2e-c0a7-4064-81c7-a1db33bd7ba1.json | 7 +++++++ packages/web-components/src/tabs/tab/tab.styles.ts | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 change/@fluentui-web-components-394d9a2e-c0a7-4064-81c7-a1db33bd7ba1.json diff --git a/change/@fluentui-web-components-394d9a2e-c0a7-4064-81c7-a1db33bd7ba1.json b/change/@fluentui-web-components-394d9a2e-c0a7-4064-81c7-a1db33bd7ba1.json new file mode 100644 index 00000000000000..9a295dcfe7926c --- /dev/null +++ b/change/@fluentui-web-components-394d9a2e-c0a7-4064-81c7-a1db33bd7ba1.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "correct tabs font size and line height", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/tabs/tab/tab.styles.ts b/packages/web-components/src/tabs/tab/tab.styles.ts index dc40ae5fed94d0..4a7753cf59f635 100644 --- a/packages/web-components/src/tabs/tab/tab.styles.ts +++ b/packages/web-components/src/tabs/tab/tab.styles.ts @@ -3,8 +3,8 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { heightNumber } from '../../styles'; import { - typeRampMinus1FontSize, - typeRampMinus1LineHeight, + typeRampBaseFontSize, + typeRampBaseLineHeight, bodyFont, designUnit, density, @@ -20,9 +20,9 @@ export const tabStyles = (context, definition) => ${display('inline-flex')} :host { box-sizing: border-box; font-family: ${bodyFont}; - font-size: ${typeRampMinus1FontSize}; + font-size: ${typeRampBaseFontSize}; font-weight: 400; - line-height: ${typeRampMinus1LineHeight}; + line-height: ${typeRampBaseLineHeight}; height: calc(${heightNumber} * 1px); padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); color: ${neutralForegroundRest}; From 48741095efd615550054e40e4386f3f936396541 Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Tue, 18 May 2021 16:03:54 -0700 Subject: [PATCH 08/91] (web-components) update type ramp (#16927) * Updated type ramp to latest values. * Change files * Updated to new design-tokens definition format Co-authored-by: Brian Heston --- ...components-2020-12-17-11-10-23-master.json | 8 ++++++++ packages/web-components/src/design-tokens.ts | 20 +++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 change/@fluentui-web-components-2020-12-17-11-10-23-master.json diff --git a/change/@fluentui-web-components-2020-12-17-11-10-23-master.json b/change/@fluentui-web-components-2020-12-17-11-10-23-master.json new file mode 100644 index 00000000000000..f7d8bc9e461236 --- /dev/null +++ b/change/@fluentui-web-components-2020-12-17-11-10-23-master.json @@ -0,0 +1,8 @@ +{ + "type": "patch", + "comment": "Updated type ramp to latest values.", + "packageName": "@fluentui/web-components", + "email": "brheston@microsoft.com", + "dependentChangeType": "patch", + "date": "2020-12-17T19:10:23.682Z" +} diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index c435846045a998..465f19cc9b0a5a 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -90,19 +90,19 @@ export const typeRampBaseLineHeight = create('type-ramp-base-line-height export const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('12px'); export const typeRampMinus1LineHeight = create('type-ramp-minus1-line-height').withDefault('16px'); export const typeRampMinus2FontSize = create('type-ramp-minus2-font-size').withDefault('10px'); -export const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('16px'); +export const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('14px'); export const typeRampPlus1FontSize = create('type-ramp-plus1-font-size').withDefault('16px'); -export const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('24px'); +export const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('22px'); export const typeRampPlus2FontSize = create('type-ramp-plus2-font-size').withDefault('20px'); export const typeRampPlus2LineHeight = create('type-ramp-plus2-line-height').withDefault('28px'); -export const typeRampPlus3FontSize = create('type-ramp-plus3-font-size').withDefault('28px'); -export const typeRampPlus3LineHeight = create('type-ramp-plus3-line-height').withDefault('36px'); -export const typeRampPlus4FontSize = create('type-ramp-plus4-font-size').withDefault('34px'); -export const typeRampPlus4LineHeight = create('type-ramp-plus4-line-height').withDefault('44px'); -export const typeRampPlus5FontSize = create('type-ramp-plus5-font-size').withDefault('46px'); -export const typeRampPlus5LineHeight = create('type-ramp-plus5-line-height').withDefault('56px'); -export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size').withDefault('60px'); -export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('72px'); +export const typeRampPlus3FontSize = create('type-ramp-plus3-font-size').withDefault('24px'); +export const typeRampPlus3LineHeight = create('type-ramp-plus3-line-height').withDefault('32px'); +export const typeRampPlus4FontSize = create('type-ramp-plus4-font-size').withDefault('28px'); +export const typeRampPlus4LineHeight = create('type-ramp-plus4-line-height').withDefault('36px'); +export const typeRampPlus5FontSize = create('type-ramp-plus5-font-size').withDefault('32px'); +export const typeRampPlus5LineHeight = create('type-ramp-plus5-line-height').withDefault('40px'); +export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size').withDefault('40px'); +export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('52px'); export const neutralPalette = create('neutral-palette').withDefault(PaletteRGB.create(middleGrey)); export const accentPalette = create('accent-palette').withDefault(PaletteRGB.create(accentBase)); From 08d393c734def18f52ae18e12c57a7ee3292b4c3 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Mon, 24 May 2021 10:57:24 -0700 Subject: [PATCH 09/91] (web-components): add directional stylesheet, css partials, and default slotted content (#18275) * update tooltip background * update height number and direction * update background-color to fill color, add directional stylesheet, update tree item recipes * add default slotted content * update expand collapse button to use css partial * update heightNumber to be css partial * Change files --- ...-683a425b-41a0-4f9c-aeb9-641b302ad05f.json | 7 + packages/web-components/docs/api-report.md | 160 ++++-------------- packages/web-components/package.json | 4 +- .../src/accordion/accordion-item/index.ts | 32 +++- .../fixtures/breadcrumb-item.html | 15 -- .../src/breadcrumb-item/index.ts | 11 +- .../src/checkbox/checkbox.styles.ts | 5 +- packages/web-components/src/checkbox/index.ts | 22 ++- packages/web-components/src/combobox/index.ts | 20 ++- packages/web-components/src/design-tokens.ts | 2 +- .../src/dialog/dialog.styles.ts | 4 +- packages/web-components/src/flipper/index.ts | 18 +- .../horizontal-scroll.styles.ts | 3 +- .../web-components/src/menu-item/index.ts | 46 ++++- .../src/menu-item/menu-item.styles.ts | 15 +- .../web-components/src/number-field/index.ts | 14 +- .../src/progress/progress-ring/index.ts | 26 ++- .../src/progress/progress/index.ts | 10 +- packages/web-components/src/radio/index.ts | 7 +- .../web-components/src/radio/radio.styles.ts | 3 +- packages/web-components/src/select/index.ts | 16 +- packages/web-components/src/slider/index.ts | 7 +- .../src/slider/slider.styles.ts | 3 +- .../web-components/src/styles/direction.ts | 90 ++++++++++ packages/web-components/src/styles/index.ts | 1 + packages/web-components/src/styles/size.ts | 10 +- packages/web-components/src/switch/index.ts | 7 +- .../src/switch/switch.styles.ts | 15 +- .../src/tooltip/tooltip.styles.ts | 6 +- .../web-components/src/tree-item/index.ts | 15 +- .../src/tree-item/tree-item.styles.ts | 84 +++++---- yarn.lock | 26 +-- 32 files changed, 432 insertions(+), 272 deletions(-) create mode 100644 change/@fluentui-web-components-683a425b-41a0-4f9c-aeb9-641b302ad05f.json create mode 100644 packages/web-components/src/styles/direction.ts diff --git a/change/@fluentui-web-components-683a425b-41a0-4f9c-aeb9-641b302ad05f.json b/change/@fluentui-web-components-683a425b-41a0-4f9c-aeb9-641b302ad05f.json new file mode 100644 index 00000000000000..bc155300dd1051 --- /dev/null +++ b/change/@fluentui-web-components-683a425b-41a0-4f9c-aeb9-641b302ad05f.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "add directional stylesheet, css partials, and default slotted content for vNext components", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 7368498d9d1a4e..17caa376ca06ee 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -10,6 +10,7 @@ import { Anchor as Anchor_2 } from '@microsoft/fast-foundation'; import { AnchoredRegion } from '@microsoft/fast-foundation'; import { Badge as Badge_2 } from '@microsoft/fast-foundation'; import { BaseProgress } from '@microsoft/fast-foundation'; +import { Behavior } from '@microsoft/fast-element'; import { Breadcrumb } from '@microsoft/fast-foundation'; import { BreadcrumbItem } from '@microsoft/fast-foundation'; import { Button as Button_2 } from '@microsoft/fast-foundation'; @@ -17,6 +18,7 @@ import { Checkbox } from '@microsoft/fast-foundation'; import { ColorRGBA64 } from '@microsoft/fast-colors'; import { Combobox as Combobox_2 } from '@microsoft/fast-foundation'; import { CSSCustomPropertyBehavior } from '@microsoft/fast-foundation'; +import { CSSDirective } from '@microsoft/fast-element'; import { DataGrid } from '@microsoft/fast-foundation'; import { DataGridCell } from '@microsoft/fast-foundation'; import { DataGridRow } from '@microsoft/fast-foundation'; @@ -25,6 +27,7 @@ import { Dialog } from '@microsoft/fast-foundation'; import { Direction } from '@microsoft/fast-web-utilities'; import { Divider } from '@microsoft/fast-foundation'; import { ElementStyles } from '@microsoft/fast-element'; +import { FASTElement } from '@microsoft/fast-element'; import { Flipper } from '@microsoft/fast-foundation'; import { HorizontalScroll as HorizontalScroll_2 } from '@microsoft/fast-foundation'; import { Listbox } from '@microsoft/fast-foundation'; @@ -463,6 +466,15 @@ export const dialogStyles: (context: any, definition: any) => import("@microsoft // @internal (undocumented) export const directionalShadow = "0 calc(var(--elevation) * 0.4px) calc((var(--elevation) * 0.9px)) rgba(0, 0, 0, calc(.13 * (2 - var(--background-luminance, 1))))"; +// @public +export class DirectionalStyleSheetBehavior implements Behavior { + constructor(ltr: ElementStyles | null, rtl: ElementStyles | null); + // @internal (undocumented) + bind(source: FASTElement & HTMLElement): void; + // @internal (undocumented) + unbind(source: FASTElement & HTMLElement): void; +} + // @public export const dividerStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -489,15 +501,7 @@ export const fluentAccordion: (overrideDefinition?: import("@microsoft/fast-foun }, typeof Accordion>; // @public -export const fluentAccordionItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof AccordionItem>; +export const fluentAccordionItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // Warning: (ae-incompatible-release-tags) The symbol "fluentAnchor" is marked as @public, but its signature references "Anchor" which is marked as @internal // @@ -554,21 +558,7 @@ export const fluentBreadcrumb: (overrideDefinition?: import("@microsoft/fast-fou }, typeof Breadcrumb>; // @public -export const fluentBreadcrumbItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; - shadowOptions: { - delegatesFocus: true; - }; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; - shadowOptions: { - delegatesFocus: true; - }; -}, typeof BreadcrumbItem>; +export const fluentBreadcrumbItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // Warning: (ae-incompatible-release-tags) The symbol "fluentButton" is marked as @public, but its signature references "Button" which is marked as @internal // @@ -599,28 +589,12 @@ export class FluentCard extends FluentDesignSystemProvider { } // @public -export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Checkbox>; +export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // Warning: (ae-incompatible-release-tags) The symbol "fluentCombobox" is marked as @public, but its signature references "Combobox" which is marked as @internal // // @public -export const fluentCombobox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Combobox>; +export const fluentCombobox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentDataGrid: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -837,15 +811,7 @@ export const fluentDivider: (overrideDefinition?: import("@microsoft/fast-founda }, typeof Divider>; // @public -export const fluentFlipper: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Flipper>; +export const fluentFlipper: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // Warning: (ae-incompatible-release-tags) The symbol "fluentHorizontalScroll" is marked as @public, but its signature references "HorizontalScroll" which is marked as @internal // @@ -883,34 +849,12 @@ export const fluentMenu: (overrideDefinition?: import("@microsoft/fast-foundatio }, typeof Menu>; // @public -export const fluentMenuItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof MenuItem>; +export const fluentMenuItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // Warning: (ae-incompatible-release-tags) The symbol "fluentNumberField" is marked as @public, but its signature references "NumberField" which is marked as @internal // // @public -export const fluentNumberField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - shadowOptions: { - delegatesFocus: true; - }; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - shadowOptions: { - delegatesFocus: true; - }; -}, typeof NumberField>; +export const fluentNumberField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentOption: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -924,15 +868,7 @@ export const fluentOption: (overrideDefinition?: import("@microsoft/fast-foundat }, typeof ListboxOption>; // @public -export const fluentProgress: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, defintion: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, defintion: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof BaseProgress>; +export const fluentProgress: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentProgressRing: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -946,15 +882,7 @@ export const fluentProgressRing: (overrideDefinition?: import("@microsoft/fast-f }, typeof BaseProgress>; // @public -export const fluentRadio: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Radio>; +export const fluentRadio: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentRadioGroup: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -970,15 +898,7 @@ export const fluentRadioGroup: (overrideDefinition?: import("@microsoft/fast-fou // Warning: (ae-incompatible-release-tags) The symbol "fluentSelect" is marked as @public, but its signature references "Select" which is marked as @internal // // @public -export const fluentSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Select>; +export const fluentSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentSkeleton: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -992,15 +912,7 @@ export const fluentSkeleton: (overrideDefinition?: import("@microsoft/fast-found }, typeof Skeleton>; // @public -export const fluentSlider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, defintion: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Slider>; +export const fluentSlider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentSliderLabel: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1014,15 +926,7 @@ export const fluentSliderLabel: (overrideDefinition?: import("@microsoft/fast-fo }, typeof SliderLabel>; // @public -export const fluentSwitch: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof Switch>; +export const fluentSwitch: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentTab: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1109,15 +1013,7 @@ export const fluentTooltip: (overrideDefinition?: import("@microsoft/fast-founda }, typeof Tooltip>; // @public -export const fluentTreeItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof TreeItem>; +export const fluentTreeItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; // @public export const fluentTreeView: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1130,8 +1026,10 @@ export const fluentTreeView: (overrideDefinition?: import("@microsoft/fast-found styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; }, typeof TreeView>; -// @public -export const heightNumber = "(var(--base-height-multiplier) + var(--density)) * var(--design-unit)"; +// Warning: (ae-forgotten-export) The symbol "HeightNumber" needs to be exported by the entry point index.d.ts +// +// @public (undocumented) +export const heightNumber: HeightNumber; // Warning: (ae-internal-missing-underscore) The name "HorizontalScroll" should be prefixed with an underscore because the declaration is marked as @internal // diff --git a/packages/web-components/package.json b/packages/web-components/package.json index cc343009601cde..c2aebdab898154 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -98,8 +98,8 @@ }, "dependencies": { "@microsoft/fast-colors": "^5.1.0", - "@microsoft/fast-element": "^1.0.0", - "@microsoft/fast-foundation": "2.0.0-beta.0", + "@microsoft/fast-element": "^1.4.0", + "@microsoft/fast-foundation": "2.0.0-1", "lodash-es": "^4.17.20", "tslib": "^1.13.0" } diff --git a/packages/web-components/src/accordion/accordion-item/index.ts b/packages/web-components/src/accordion/accordion-item/index.ts index bb5603f55778c8..59a8bf82511550 100644 --- a/packages/web-components/src/accordion/accordion-item/index.ts +++ b/packages/web-components/src/accordion/accordion-item/index.ts @@ -1,4 +1,4 @@ -import { AccordionItem, accordionItemTemplate as template } from '@microsoft/fast-foundation'; +import { AccordionItem, AccordionItemOptions, accordionItemTemplate as template } from '@microsoft/fast-foundation'; import { accordionItemStyles as styles } from './accordion-item.styles'; /** @@ -10,10 +10,38 @@ import { accordionItemStyles as styles } from './accordion-item.styles'; * @remarks * HTML Element: \ */ -export const fluentAccordionItem = AccordionItem.compose({ +export const fluentAccordionItem = AccordionItem.compose({ baseName: 'accordion-item', template, styles, + collapsedIcon: ` + + + + `, + expandedIcon: ` + + + + `, }); /** diff --git a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html index a9b88458b0f976..c35b9d782ccb30 100644 --- a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html +++ b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html @@ -8,21 +8,11 @@

Default

Default with custom separator

Breadcrumb item - - -

With start

Breadcrumb item - - - With start

With end

Breadcrumb item - - - */ -export const fluentBreadcrumbItem = BreadcrumbItem.compose({ +export const fluentBreadcrumbItem = BreadcrumbItem.compose({ baseName: 'breadcrumb-item', template, styles, shadowOptions: { delegatesFocus: true, }, + separator: ` + + + + `, }); /** diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index e854aa6a594fa1..58c267f879385f 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -18,6 +18,7 @@ import { neutralOutlineActive, neutralFocus, disabledOpacity, + fillColor, } from '../design-tokens'; export const checkboxStyles = (context, definition) => @@ -73,7 +74,7 @@ export const checkboxStyles = (context, definition) => } .indeterminate-indicator { - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc((${cornerRadius} / 2) * 1px); background: ${neutralForegroundRest}; position: absolute; top: 50%; @@ -95,7 +96,7 @@ export const checkboxStyles = (context, definition) => } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; border-color: ${neutralFocus}; } diff --git a/packages/web-components/src/checkbox/index.ts b/packages/web-components/src/checkbox/index.ts index f27391c11186cc..d59a3ffb38076e 100644 --- a/packages/web-components/src/checkbox/index.ts +++ b/packages/web-components/src/checkbox/index.ts @@ -1,4 +1,4 @@ -import { Checkbox, checkboxTemplate as template } from '@microsoft/fast-foundation'; +import { Checkbox, CheckboxOptions, checkboxTemplate as template } from '@microsoft/fast-foundation'; import { checkboxStyles as styles } from './checkbox.styles'; /** @@ -10,10 +10,28 @@ import { checkboxStyles as styles } from './checkbox.styles'; * @remarks * HTML Element: \ */ -export const fluentCheckbox = Checkbox.compose({ +export const fluentCheckbox = Checkbox.compose({ baseName: 'checkbox', template, styles, + checkedIndicator: ` + + `, + indeterminateIndicator: ` +
+ `, }); /** diff --git a/packages/web-components/src/combobox/index.ts b/packages/web-components/src/combobox/index.ts index 5f7a49d23680ba..a7e31f59fe6615 100644 --- a/packages/web-components/src/combobox/index.ts +++ b/packages/web-components/src/combobox/index.ts @@ -1,5 +1,9 @@ import { attr } from '@microsoft/fast-element'; -import { Combobox as FoundationCombobox, comboboxTemplate as template } from '@microsoft/fast-foundation'; +import { + ComboboxOptions, + Combobox as FoundationCombobox, + comboboxTemplate as template, +} from '@microsoft/fast-foundation'; import { SelectAppearance } from '../select'; import { comboboxStyles as styles } from './combobox.styles'; @@ -55,10 +59,22 @@ export class Combobox extends FoundationCombobox { * HTML Element: \ * */ -export const fluentCombobox = Combobox.compose({ +export const fluentCombobox = Combobox.compose({ baseName: 'combobox', template, styles, + indicator: ` + + + + `, }); /** diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 465f19cc9b0a5a..40fb2b7b78f773 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -409,7 +409,7 @@ export const neutralFillSelected = create('neutral-fill-selected').wi // Neutral Focus export const NeutralFocus = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-focus', builder => builder.instance((element: HTMLElement) => - neutralFocusAlgorithm(accentPalette.getValueFor(element), fillColor.getValueFor(element)), + neutralFocusAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), ), ); export const neutralFocus = create('neutral-focus').withDefault((element: HTMLElement) => diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index ac2e513684913f..36a3b18c5f38c1 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { elevation } from '../styles'; -import { elevatedCornerRadius, outlineWidth } from '../design-tokens'; +import { elevatedCornerRadius, fillColor, outlineWidth } from '../design-tokens'; export const dialogStyles = (context, definition) => css` :host([hidden]) { @@ -42,7 +42,7 @@ export const dialogStyles = (context, definition) => css` border-radius: calc(${elevatedCornerRadius} * 1px); width: var(--dialog-width); height: var(--dialog-height); - background: var(--background-color); + background: ${fillColor}; z-index: 1; border: calc(${outlineWidth} * 1px) solid transparent; } diff --git a/packages/web-components/src/flipper/index.ts b/packages/web-components/src/flipper/index.ts index 34cbaff019b564..6dadf9645d78d0 100644 --- a/packages/web-components/src/flipper/index.ts +++ b/packages/web-components/src/flipper/index.ts @@ -1,4 +1,4 @@ -import { Flipper, flipperTemplate as template } from '@microsoft/fast-foundation'; +import { Flipper, FlipperOptions, flipperTemplate as template } from '@microsoft/fast-foundation'; import { flipperStyles as styles } from './flipper.styles'; /** @@ -10,10 +10,24 @@ import { flipperStyles as styles } from './flipper.styles'; * @remarks * HTML Element: \ */ -export const fluentFlipper = Flipper.compose({ +export const fluentFlipper = Flipper.compose({ baseName: 'flipper', template, styles, + next: ` + + + + `, + previous: ` + + + + `, }); /** diff --git a/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts b/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts index 82976ea6cfd020..e7aeea26446052 100644 --- a/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts +++ b/packages/web-components/src/horizontal-scroll/horizontal-scroll.styles.ts @@ -1,5 +1,6 @@ import { css } from '@microsoft/fast-element'; -import { DirectionalStyleSheetBehavior, display } from '@microsoft/fast-foundation'; +import { display } from '@microsoft/fast-foundation'; +import { DirectionalStyleSheetBehavior } from '../styles'; const ltrActionsStyles = css` .scroll-prev { diff --git a/packages/web-components/src/menu-item/index.ts b/packages/web-components/src/menu-item/index.ts index cdc45329345cd2..cfe82822f35cff 100644 --- a/packages/web-components/src/menu-item/index.ts +++ b/packages/web-components/src/menu-item/index.ts @@ -1,4 +1,4 @@ -import { MenuItem, menuItemTemplate as template } from '@microsoft/fast-foundation'; +import { MenuItem, MenuItemOptions, menuItemTemplate as template } from '@microsoft/fast-foundation'; import { menuItemStyles as styles } from './menu-item.styles'; /** @@ -10,10 +10,52 @@ import { menuItemStyles as styles } from './menu-item.styles'; * @remarks * HTML Element: \ */ -export const fluentMenuItem = MenuItem.compose({ +export const fluentMenuItem = MenuItem.compose({ baseName: 'menu-item', template, styles, + checkboxIndicator: ` + + `, + expandCollapseGlyph: ` + + + + `, + radioIndicator: ` + + `, }); /** diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index 05562dc7d6a8f2..506fdc59ab3ff7 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -15,6 +15,7 @@ import { neutralFillStealthHover, neutralFillStealthActive, disabledOpacity, + focusOutlineWidth, } from '../design-tokens'; export const menuItemStyles = (context, definition) => @@ -77,7 +78,7 @@ export const menuItemStyles = (context, definition) => :host(:${focusVisible}) { border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - box-shadow: 0 0 0 calc((${outlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; + box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; } :host(:hover) { @@ -184,11 +185,6 @@ export const menuItemStyles = (context, definition) => margin-inline-start: 10px; } - :host .checkbox, - :host .radio { - border: calc(${outlineWidth} * 1px) solid ${neutralForegroundRest}; - } - :host .checkbox { border-radius: calc(${cornerRadius} * 1px); } @@ -219,14 +215,7 @@ export const menuItemStyles = (context, definition) => } :host([aria-checked="true"]) .radio-indicator { - position: absolute; - top: 4px; - left: 4px; - right: 4px; - bottom: 4px; - border-radius: 999px; display: block; - background: ${neutralForegroundRest}; pointer-events: none; } diff --git a/packages/web-components/src/number-field/index.ts b/packages/web-components/src/number-field/index.ts index b1c0e18170152b..291feb384b4713 100644 --- a/packages/web-components/src/number-field/index.ts +++ b/packages/web-components/src/number-field/index.ts @@ -1,5 +1,9 @@ import { attr } from '@microsoft/fast-element'; -import { NumberField as FoundationNumberField, numberFieldTemplate as template } from '@microsoft/fast-foundation'; +import { + NumberField as FoundationNumberField, + NumberFieldOptions, + numberFieldTemplate as template, +} from '@microsoft/fast-foundation'; import { numberFieldStyles as styles } from './number-field.styles'; /** @@ -52,11 +56,17 @@ export const numberFieldStyles = styles; * * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus} */ -export const fluentNumberField = NumberField.compose({ +export const fluentNumberField = NumberField.compose({ baseName: 'number-field', styles, template, shadowOptions: { delegatesFocus: true, }, + stepDownGlyph: ` + + `, + stepUpGlyph: ` + + `, }); diff --git a/packages/web-components/src/progress/progress-ring/index.ts b/packages/web-components/src/progress/progress-ring/index.ts index 35becc9b712118..ceaf92cb3bd20d 100644 --- a/packages/web-components/src/progress/progress-ring/index.ts +++ b/packages/web-components/src/progress/progress-ring/index.ts @@ -1,4 +1,8 @@ -import { BaseProgress as Progress, progressRingTemplate as template } from '@microsoft/fast-foundation'; +import { + BaseProgress as Progress, + ProgressRingOptions, + progressRingTemplate as template, +} from '@microsoft/fast-foundation'; import { progressRingStyles as styles } from './progress-ring.styles'; /** @@ -10,10 +14,28 @@ import { progressRingStyles as styles } from './progress-ring.styles'; * @remarks * HTML Element: \ */ -export const fluentProgressRing = Progress.compose({ +export const fluentProgressRing = Progress.compose({ baseName: 'progress-ring', template, styles, + indeterminateIndicator: ` + + + + + `, }); /** diff --git a/packages/web-components/src/progress/progress/index.ts b/packages/web-components/src/progress/progress/index.ts index 01dd6c148b4121..bfc1daa70a1a3d 100644 --- a/packages/web-components/src/progress/progress/index.ts +++ b/packages/web-components/src/progress/progress/index.ts @@ -1,4 +1,4 @@ -import { BaseProgress as Progress, progressTemplate as template } from '@microsoft/fast-foundation'; +import { BaseProgress as Progress, ProgressOptions, progressTemplate as template } from '@microsoft/fast-foundation'; import { progressStyles as styles } from './progress.styles'; /** @@ -10,10 +10,16 @@ import { progressStyles as styles } from './progress.styles'; * @remarks * HTML Element: \ */ -export const fluentProgress = Progress.compose({ +export const fluentProgress = Progress.compose({ baseName: 'progress', template, styles, + indeterminateIndicator1: ` + + `, + indeterminateIndicator2: ` + + `, }); /** diff --git a/packages/web-components/src/radio/index.ts b/packages/web-components/src/radio/index.ts index 75a8b6a03b4a33..1ec7604faf98c2 100644 --- a/packages/web-components/src/radio/index.ts +++ b/packages/web-components/src/radio/index.ts @@ -1,4 +1,4 @@ -import { Radio, radioTemplate as template } from '@microsoft/fast-foundation'; +import { Radio, RadioOptions, radioTemplate as template } from '@microsoft/fast-foundation'; import { radioStyles as styles } from './radio.styles'; /** @@ -10,10 +10,13 @@ import { radioStyles as styles } from './radio.styles'; * @remarks * HTML Element: \ */ -export const fluentRadio = Radio.compose({ +export const fluentRadio = Radio.compose({ baseName: 'radio', template, styles, + checkedIndicator: ` +
+ `, }); /** diff --git a/packages/web-components/src/radio/radio.styles.ts b/packages/web-components/src/radio/radio.styles.ts index 137307023dd2fc..b943f018e10cc0 100644 --- a/packages/web-components/src/radio/radio.styles.ts +++ b/packages/web-components/src/radio/radio.styles.ts @@ -14,6 +14,7 @@ import { neutralOutlineActive, neutralFocus, disabledOpacity, + fillColor, } from '../design-tokens'; export const radioStyles = (context, definition) => @@ -92,7 +93,7 @@ export const radioStyles = (context, definition) => } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; border-color: ${neutralFocus}; } diff --git a/packages/web-components/src/select/index.ts b/packages/web-components/src/select/index.ts index 67fd866628104d..ac12b76cb3a483 100644 --- a/packages/web-components/src/select/index.ts +++ b/packages/web-components/src/select/index.ts @@ -1,5 +1,5 @@ import { attr } from '@microsoft/fast-element'; -import { Select as FoundationSelect, selectTemplate as template } from '@microsoft/fast-foundation'; +import { Select as FoundationSelect, SelectOptions, selectTemplate as template } from '@microsoft/fast-foundation'; import { selectStyles as styles } from './select.styles'; /** @@ -55,10 +55,22 @@ export class Select extends FoundationSelect { * HTML Element: \ * */ -export const fluentSelect = Select.compose({ +export const fluentSelect = Select.compose({ baseName: 'select', template, styles, + indicator: ` + + + + `, }); /** diff --git a/packages/web-components/src/slider/index.ts b/packages/web-components/src/slider/index.ts index deec74fdcedf23..82900e186370d2 100644 --- a/packages/web-components/src/slider/index.ts +++ b/packages/web-components/src/slider/index.ts @@ -1,4 +1,4 @@ -import { Slider, sliderTemplate as template } from '@microsoft/fast-foundation'; +import { Slider, SliderOptions, sliderTemplate as template } from '@microsoft/fast-foundation'; import { sliderStyles as styles } from './slider.styles'; /** @@ -10,10 +10,13 @@ import { sliderStyles as styles } from './slider.styles'; * @remarks * HTML Element: \ */ -export const fluentSlider = Slider.compose({ +export const fluentSlider = Slider.compose({ baseName: 'slider', template, styles, + thumb: ` +
+ `, }); /** diff --git a/packages/web-components/src/slider/slider.styles.ts b/packages/web-components/src/slider/slider.styles.ts index 71c7bd2c438b45..80a1b5e9b24d29 100644 --- a/packages/web-components/src/slider/slider.styles.ts +++ b/packages/web-components/src/slider/slider.styles.ts @@ -12,6 +12,7 @@ import { density, neutralOutlineRest, disabledOpacity, + fillColor, } from '../design-tokens'; export const sliderStyles = (context, defintion) => @@ -44,7 +45,7 @@ export const sliderStyles = (context, defintion) => grid-template-columns: calc(var(--thumb-size) * 1px) 1fr; } :host(:${focusVisible}) .thumb-cursor { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; } .thumb-container { position: absolute; diff --git a/packages/web-components/src/styles/direction.ts b/packages/web-components/src/styles/direction.ts new file mode 100644 index 00000000000000..6bf1d381990fe8 --- /dev/null +++ b/packages/web-components/src/styles/direction.ts @@ -0,0 +1,90 @@ +import { Behavior, ElementStyles, FASTElement, Subscriber } from '@microsoft/fast-element'; +import { DesignTokenChangeRecord } from '@microsoft/fast-foundation'; +import { Direction } from '@microsoft/fast-web-utilities'; +import { direction as directionDesignToken } from '../design-tokens'; +/** + * Behavior to conditionally apply LTR and RTL stylesheets. To determine which to apply, + * the behavior will use the nearest DesignSystemProvider's 'direction' design system value. + * + * @public + * @example + * ```ts + * import { css } from "@microsoft/fast-element"; + * import { DirectionalStyleSheetBehavior } from "@microsoft/fast-foundation"; + * + * css` + * // ... + * `.withBehaviors(new DirectionalStyleSheetBehavior( + * css`:host { content: "ltr"}`), + * css`:host { content: "rtl"}`), + * ) + * ``` + */ +export class DirectionalStyleSheetBehavior implements Behavior { + private ltr: ElementStyles | null; + private rtl: ElementStyles | null; + private cache: WeakMap = new WeakMap(); + + constructor(ltr: ElementStyles | null, rtl: ElementStyles | null) { + this.ltr = ltr; + this.rtl = rtl; + } + + /** + * @internal + */ + public bind(source: FASTElement & HTMLElement) { + this.attach(source); + } + + /** + * @internal + */ + public unbind(source: FASTElement & HTMLElement) { + const cache = this.cache.get(source); + + if (cache) { + directionDesignToken.unsubscribe(cache); + } + } + + private attach(source: FASTElement & HTMLElement) { + const subscriber = + this.cache.get(source) || new DirectionalStyleSheetBehaviorSubscription(this.ltr, this.rtl, source); + + const value = directionDesignToken.getValueFor(source); + directionDesignToken.subscribe(subscriber); + subscriber.attach(value); + + this.cache.set(source, subscriber); + } +} + +/** + * Subscription for {@link DirectionalStyleSheetBehavior} + */ +class DirectionalStyleSheetBehaviorSubscription implements Subscriber { + private attached: ElementStyles | null = null; + + constructor( + private ltr: ElementStyles | null, + private rtl: ElementStyles | null, + private source: HTMLElement & FASTElement, + ) {} + + public handleChange({ target, token }: DesignTokenChangeRecord) { + this.attach(token.getValueFor(target)); + } + + public attach(direction: Direction) { + if (this.attached !== this[direction]) { + if (this.attached !== null) { + this.source.$fastController.removeStyles(this.attached); + } + this.attached = this[direction]; + if (this.attached !== null) { + this.source.$fastController.addStyles(this.attached); + } + } + } +} diff --git a/packages/web-components/src/styles/index.ts b/packages/web-components/src/styles/index.ts index 1fe8b614db7d16..f5fa45bbf6c128 100644 --- a/packages/web-components/src/styles/index.ts +++ b/packages/web-components/src/styles/index.ts @@ -1,4 +1,5 @@ export * from './behaviors'; +export * from './direction'; export * from './elevation'; export * from './patterns/'; export * from './size'; diff --git a/packages/web-components/src/styles/size.ts b/packages/web-components/src/styles/size.ts index a7f4ffc67b338a..f1ff0f15516b06 100644 --- a/packages/web-components/src/styles/size.ts +++ b/packages/web-components/src/styles/size.ts @@ -1,5 +1,9 @@ +import { cssPartial } from '@microsoft/fast-element'; +import { baseHeightMultiplier, density, designUnit } from '../design-tokens'; + /** - * The height of height of a standard control (expressed as a number) to be used in CSS. - * @public + * A formula to retrieve the control height. + * Use this as the value of any CSS property that + * accepts a pixel size. */ -export const heightNumber = '(var(--base-height-multiplier) + var(--density)) * var(--design-unit)'; +export const heightNumber = cssPartial`(${baseHeightMultiplier} + ${density}) * ${designUnit}`; diff --git a/packages/web-components/src/switch/index.ts b/packages/web-components/src/switch/index.ts index df7f9c7a47e065..a665ac2a783eb3 100644 --- a/packages/web-components/src/switch/index.ts +++ b/packages/web-components/src/switch/index.ts @@ -1,4 +1,4 @@ -import { Switch, switchTemplate as template } from '@microsoft/fast-foundation'; +import { Switch, SwitchOptions, switchTemplate as template } from '@microsoft/fast-foundation'; import { switchStyles as styles } from './switch.styles'; /** @@ -10,10 +10,13 @@ import { switchStyles as styles } from './switch.styles'; * @remarks * HTML Element: \ */ -export const fluentSwitch = Switch.compose({ +export const fluentSwitch = Switch.compose({ baseName: 'switch', template, styles, + switch: ` + + `, }); /** diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index 7d685097a5c238..313e4906389345 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -1,13 +1,7 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - DirectionalStyleSheetBehavior, - disabledCursor, - display, - focusVisible, - forcedColorsStylesheetBehavior, -} from '@microsoft/fast-foundation'; -import { heightNumber } from '../styles'; +import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { DirectionalStyleSheetBehavior, heightNumber } from '../styles'; import { bodyFont, designUnit, @@ -27,6 +21,7 @@ import { accentFillActive, typeRampBaseFontSize, typeRampBaseLineHeight, + fillColor, } from '../design-tokens'; export const switchStyles = (context, defintiion) => @@ -82,7 +77,7 @@ export const switchStyles = (context, defintiion) => } :host(:${focusVisible}) .switch { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; border-color: ${neutralFocus}; } @@ -139,7 +134,7 @@ export const switchStyles = (context, defintiion) => } :host([aria-checked="true"]:${focusVisible}:enabled) .switch { - box-shadow: 0 0 0 2px var(--background-color), 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; border-color: transparent; } diff --git a/packages/web-components/src/tooltip/tooltip.styles.ts b/packages/web-components/src/tooltip/tooltip.styles.ts index 4e0a0e2d24704b..171e396fcc78e4 100644 --- a/packages/web-components/src/tooltip/tooltip.styles.ts +++ b/packages/web-components/src/tooltip/tooltip.styles.ts @@ -4,11 +4,11 @@ import { elevation } from '../styles/index'; import { cornerRadius, outlineWidth, - neutralContrastFillRest, neutralForegroundRest, bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, + fillColor, } from '../design-tokens'; export const tooltipStyles = (context, definition) => @@ -27,7 +27,7 @@ export const tooltipStyles = (context, definition) => box-sizing: border-box; border-radius: calc(${cornerRadius} * 1px); border: calc(${outlineWidth} * 1px) solid transparent; - background: ${neutralContrastFillRest}; + background: ${fillColor}; color: ${neutralForegroundRest}; padding: 4px 12px; height: fit-content; @@ -59,7 +59,7 @@ export const tooltipStyles = (context, definition) => content: ''; width: 12px; height: 12px; - background: ${neutralForegroundRest}; + background: ${fillColor}; border-radius: calc(${cornerRadius} * 1px); position: absolute; } diff --git a/packages/web-components/src/tree-item/index.ts b/packages/web-components/src/tree-item/index.ts index a3a10ca3c7cfb4..3882297a6825d1 100644 --- a/packages/web-components/src/tree-item/index.ts +++ b/packages/web-components/src/tree-item/index.ts @@ -1,4 +1,4 @@ -import { treeItemTemplate as template, TreeItem } from '@microsoft/fast-foundation'; +import { treeItemTemplate as template, TreeItem, TreeItemOptions } from '@microsoft/fast-foundation'; import { treeItemStyles as styles } from './tree-item.styles'; /** @@ -11,10 +11,21 @@ import { treeItemStyles as styles } from './tree-item.styles'; * HTML Element: \ * */ -export const fluentTreeItem = TreeItem.compose({ +export const fluentTreeItem = TreeItem.compose({ baseName: 'tree-item', template, styles, + expandCollapseGlyph: ` + + + + `, }); /** diff --git a/packages/web-components/src/tree-item/tree-item.styles.ts b/packages/web-components/src/tree-item/tree-item.styles.ts index 7f44f0db51b7d1..53ac435685f087 100644 --- a/packages/web-components/src/tree-item/tree-item.styles.ts +++ b/packages/web-components/src/tree-item/tree-item.styles.ts @@ -1,21 +1,14 @@ -import { css } from '@microsoft/fast-element'; +import { css, cssPartial } from '@microsoft/fast-element'; import { - cssCustomPropertyBehaviorFactory, - DirectionalStyleSheetBehavior, + DesignToken, + DI, disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior, } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - neutralFillStealthHover as neutralFillStealthHoverOld, - neutralFillStealthActive as neutralFillStealthActiveOld, - neutralFillStealthSelected as neutralFillStealthSelectedOld, -} from '../color'; -import { heightNumber } from '../styles/index'; - -import { FluentDesignSystemProvider } from '../design-system-provider/index'; +import { DirectionalStyleSheetBehavior, heightNumber } from '../styles/index'; import { focusOutlineWidth, baseHeightMultiplier, @@ -34,54 +27,56 @@ import { neutralFillStealthHover, neutralFillStealthActive, neutralFillStealthSelected, + NeutralFillStealth, } from '../design-tokens'; +import { SwatchRGB } from '../color-vNext/swatch'; const ltr = css` .expand-collapse-glyph { - transform: rotate(-45deg); + transform: rotate(0deg); } :host(.nested) .expand-collapse-button { left: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px)); } :host([selected])::after { - left: calc(${focusOutlineWidth} * 1px); + left: calc(var(--focus-outline-width) * 1px); } :host([expanded]) > .positioning-region .expand-collapse-glyph { - transform: rotate(0deg); + transform: rotate(45deg); } `; const rtl = css` .expand-collapse-glyph { - transform: rotate(135deg); + transform: rotate(180deg); } :host(.nested) .expand-collapse-button { right: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px)); } :host([selected])::after { - right: calc(${focusOutlineWidth} * 1px); + right: calc(var(--focus-outline-width) * 1px); } :host([expanded]) > .positioning-region .expand-collapse-glyph { - transform: rotate(90deg); + transform: rotate(135deg); } `; -// TODO: Update to be CSS Partial -export const expandCollapseButtonSize = css`((${baseHeightMultiplier} / 2) * ${designUnit}) + ((${designUnit} * ${density}) / 2)`; +export const expandCollapseButtonSize = cssPartial`((${baseHeightMultiplier} / 2) * ${designUnit}) + ((${designUnit} * ${density}) / 2)`; -// TODO: Update for DI -const expandCollapseHoverBehavior = cssCustomPropertyBehaviorFactory( - 'neutral-stealth-hover-over-hover', - x => neutralFillStealthHoverOld(neutralFillStealthHoverOld)(x), - FluentDesignSystemProvider.findProvider, -); -// TODO: Update for DI -const selectedExpandCollapseHoverBehavior = cssCustomPropertyBehaviorFactory( - 'neutral-stealth-hover-over-selected', - x => neutralFillStealthHoverOld(neutralFillStealthSelectedOld)(x), - FluentDesignSystemProvider.findProvider, +const expandCollapseHoverBehavior = DesignToken.create('tree-item-expand-collapse-hover').withDefault( + (target: HTMLElement) => { + const recipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); + return recipe(target, recipe(target).hover).hover; + }, ); +const selectedExpandCollapseHoverBehavior = DesignToken.create( + 'tree-item-expand-collapse-selected-hover', +).withDefault((target: HTMLElement) => { + const recipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); + return recipe(target, recipe(target).hover).selected; +}); + export const treeItemStyles = (context, definition) => css` ${display('block')} :host { @@ -104,20 +99,20 @@ export const treeItemStyles = (context, definition) => outline: none; } + .positioning-region { + display: flex; + position: relative; + box-sizing: border-box; + border: calc(${outlineWidth} * 1px) solid transparent; + height: calc((${heightNumber} + 1) * 1px); + } + :host(:${focusVisible}) .positioning-region { - border: ${neutralFocus} calc(${outlineWidth} * 1px) solid; + border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; border-radius: calc(${cornerRadius} * 1px); color: ${neutralForegroundRest}; } - .positioning-region { - display: flex; - position: relative; - box-sizing: border-box; - border: transparent calc(${outlineWidth} * 1px) solid; - height: calc((${heightNumber} + 1) * 1px); - } - .positioning-region::before { content: ""; display: block; @@ -171,11 +166,10 @@ export const treeItemStyles = (context, definition) => } .expand-collapse-glyph { - ${/* Glyph size is temporary - - replace when glyph-size var is added */ ''} width: 16px; + width: 16px; height: 16px; transition: transform 0.1s linear; - ${/* transform needs to be localized */ ''} transform: rotate(-45deg); + transform: rotate(-45deg); pointer-events: none; fill: ${neutralForegroundRest}; } @@ -226,7 +220,7 @@ export const treeItemStyles = (context, definition) => } :host(.nested) .expand-collapse-button:hover { - background: ${expandCollapseHoverBehavior.var}; + background: ${expandCollapseHoverBehavior}; } :host([selected]) .positioning-region { @@ -234,7 +228,7 @@ export const treeItemStyles = (context, definition) => } :host([selected]) .expand-collapse-button:hover { - background: ${selectedExpandCollapseHoverBehavior.var}; + background: ${selectedExpandCollapseHoverBehavior}; } :host([selected])::after { @@ -256,8 +250,6 @@ export const treeItemStyles = (context, definition) => --expand-collapse-button-nested-width: calc(${heightNumber} * -1px); } `.withBehaviors( - expandCollapseHoverBehavior, - selectedExpandCollapseHoverBehavior, new DirectionalStyleSheetBehavior(ltr, rtl), forcedColorsStylesheetBehavior( css` diff --git a/yarn.lock b/yarn.lock index d4c7fd46da4e52..366f9fa0d717d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2698,23 +2698,23 @@ resolved "https://registry.yarnpkg.com/@microsoft/fast-colors/-/fast-colors-5.1.3.tgz#5c46147401a823835a3833e3e18dae7f06016966" integrity sha512-XDEnRYxPO5P3Jsizm4TCxLu1osS/uV3Lym6SfRhq2PxfXPTgEcdvOYDUXyV2drqebs3U5VQnOcYcJiSp73xhng== -"@microsoft/fast-element@^1.0.0", "@microsoft/fast-element@^1.1.0": +"@microsoft/fast-element@^1.3.0", "@microsoft/fast-element@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.4.0.tgz#761b5ebdde1a271c5f96f7c15fab9f5a2a10657f" integrity sha512-7BC/juFc7S4HMGt/tNCP9bjwtUslheGiPM2jtIibe1bj+PO34woUfH5TxaklOT6sRStig/0fODX4R5oqY4DYLA== -"@microsoft/fast-foundation@2.0.0-beta.0": - version "2.0.0-beta.0" - resolved "https://registry.yarnpkg.com/@microsoft/fast-foundation/-/fast-foundation-2.0.0-beta.0.tgz#54ae03191c7e8cc0a88bca5e278cab775b8cbdb9" - integrity sha512-V2r87Oj0jIgGl3YiGPBzyBNAx9AKYsk2kYTfazyg4HlaPH7YM0vekL/yJTZW89aW5aEM4anBLrUssmbw5dMwfw== +"@microsoft/fast-foundation@2.0.0-1": + version "2.0.0-1" + resolved "https://registry.yarnpkg.com/@microsoft/fast-foundation/-/fast-foundation-2.0.0-1.tgz#a294ef0df7343420dc327ffbccd724d9d9d8a5ed" + integrity sha512-CHWxUoYAv/r5NWTQkpnyKRAf5BNtRPfcTIvADSucLODliyniYnJ9kGk+4IdUMt1VuducgI77vtB1a0IA/9W0Dw== dependencies: - "@microsoft/fast-element" "^1.1.0" - "@microsoft/fast-web-utilities" "^4.7.3" + "@microsoft/fast-element" "^1.3.0" + "@microsoft/fast-web-utilities" "^4.8.0" "@microsoft/tsdoc-config" "^0.13.4" - tabbable "^4.0.0" + tabbable "^5.2.0" tslib "^1.13.0" -"@microsoft/fast-web-utilities@^4.7.3": +"@microsoft/fast-web-utilities@^4.8.0": version "4.8.0" resolved "https://registry.yarnpkg.com/@microsoft/fast-web-utilities/-/fast-web-utilities-4.8.0.tgz#a27f755669027071d8886fbe89ceaae4e69e203a" integrity sha512-+MroMIP5yGD8mqbegqSZoIbQVjvmsQRQtn87Gc8TJk00KIfRu2x9sFAq8q5m8H61sjCRHreJ0Bq5telz09h55g== @@ -24957,10 +24957,10 @@ syncpack@^5.6.10: read-yaml-file "2.0.0" semver "7.3.4" -tabbable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-4.0.0.tgz#5bff1d1135df1482cf0f0206434f15eadbeb9261" - integrity sha512-H1XoH1URcBOa/rZZWxLxHCtOdVUEev+9vo5YdYhC9tCY4wnybX+VQrCYuy9ubkg69fCBxCONJOSLGfw0DWMffQ== +tabbable@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.2.0.tgz#4fba60991d8bb89d06e5d9455c92b453acf88fb2" + integrity sha512-0uyt8wbP0P3T4rrsfYg/5Rg3cIJ8Shl1RJ54QMqYxm1TLdWqJD1u6+RQjr2Lor3wmfT7JRHkirIwy99ydBsyPg== table@^6.0.4, table@^6.0.9: version "6.7.1" From 007fcd2afa93cc6034a0a6cd1467f9563f7f6350 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Tue, 1 Jun 2021 12:10:01 -0700 Subject: [PATCH 10/91] (web-components) fix select style height overlap (#18348) * fix a bug where the bottom border for select and comobox would visually disappear on active states * Change files --- ...omponents-861ce175-84fa-4e22-a53c-fea1744825d2.json | 7 +++++++ packages/web-components/src/select/select.styles.ts | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 change/@fluentui-web-components-861ce175-84fa-4e22-a53c-fea1744825d2.json diff --git a/change/@fluentui-web-components-861ce175-84fa-4e22-a53c-fea1744825d2.json b/change/@fluentui-web-components-861ce175-84fa-4e22-a53c-fea1744825d2.json new file mode 100644 index 00000000000000..2ad83869d9a763 --- /dev/null +++ b/change/@fluentui-web-components-861ce175-84fa-4e22-a53c-fea1744825d2.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix a bug where the bottom border for select and comobox would visually disappear on active states", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index a9bbc22bf3104d..c29a3e51468993 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -54,11 +54,12 @@ export const selectStyles = (context, definition) => border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; box-sizing: border-box; color: ${neutralForegroundRest}; - contain: contents; + font-family: ${bodyFont}; height: calc(${heightNumber} * 1px); position: relative; user-select: none; min-width: 250px; + vertical-align: top; } .listbox { @@ -88,9 +89,9 @@ export const selectStyles = (context, definition) => cursor: pointer; display: flex; font-size: ${typeRampBaseFontSize}; - font: inherit; + font-family: inherit; + min-height: 100%; line-height: ${typeRampBaseLineHeight}; - min-height: calc(${heightNumber} * 1px); padding: 0 calc(${designUnit} * 2.25px); width: 100%; } @@ -131,6 +132,7 @@ export const selectStyles = (context, definition) => :host([disabled]) .control { cursor: ${disabledCursor}; + user-select: none; } :host([disabled]:hover) { @@ -167,7 +169,7 @@ export const selectStyles = (context, definition) => } .selected-value { - font-family: ${bodyFont}; + font-family: inherit; flex: 1 1 auto; text-align: start; } From 4630e45f7fd1d0360a4cbfb64a97076ab9183da3 Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Wed, 9 Jun 2021 11:24:29 -0700 Subject: [PATCH 11/91] (web-components) update neutral fill card vNext (#18444) * Updated the neutral fill card color recipe to always be lighter or equal to the container, instead of flipping to go darker over white. * Updated old recipe and tests * Run `yarn build` * Change files Co-authored-by: Chris Holt --- ...-2355946e-5b33-4f44-8bc5-296ea0523b72.json | 7 ++ packages/web-components/docs/api-report.md | 73 ++++++++----------- .../color-vNext/recipes/neutral-fill-card.ts | 2 +- .../src/color/neutral-fill-card.spec.ts | 6 +- 4 files changed, 41 insertions(+), 47 deletions(-) create mode 100644 change/@fluentui-web-components-2355946e-5b33-4f44-8bc5-296ea0523b72.json diff --git a/change/@fluentui-web-components-2355946e-5b33-4f44-8bc5-296ea0523b72.json b/change/@fluentui-web-components-2355946e-5b33-4f44-8bc5-296ea0523b72.json new file mode 100644 index 00000000000000..8bde56cf5f9bff --- /dev/null +++ b/change/@fluentui-web-components-2355946e-5b33-4f44-8bc5-296ea0523b72.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Updated the neutral fill card color recipe to always be lighter or equal to the container, instead of flipping to go darker over white.", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 17caa376ca06ee..68d4408498b05a 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -5,20 +5,19 @@ ```ts import { Accordion } from '@microsoft/fast-foundation'; -import { AccordionItem } from '@microsoft/fast-foundation'; +import { AccordionItemOptions } from '@microsoft/fast-foundation'; import { Anchor as Anchor_2 } from '@microsoft/fast-foundation'; import { AnchoredRegion } from '@microsoft/fast-foundation'; import { Badge as Badge_2 } from '@microsoft/fast-foundation'; -import { BaseProgress } from '@microsoft/fast-foundation'; import { Behavior } from '@microsoft/fast-element'; import { Breadcrumb } from '@microsoft/fast-foundation'; -import { BreadcrumbItem } from '@microsoft/fast-foundation'; +import { BreadcrumbItemOptions } from '@microsoft/fast-foundation'; import { Button as Button_2 } from '@microsoft/fast-foundation'; -import { Checkbox } from '@microsoft/fast-foundation'; +import { CheckboxOptions } from '@microsoft/fast-foundation'; import { ColorRGBA64 } from '@microsoft/fast-colors'; import { Combobox as Combobox_2 } from '@microsoft/fast-foundation'; +import { ComboboxOptions } from '@microsoft/fast-foundation'; import { CSSCustomPropertyBehavior } from '@microsoft/fast-foundation'; -import { CSSDirective } from '@microsoft/fast-element'; import { DataGrid } from '@microsoft/fast-foundation'; import { DataGridCell } from '@microsoft/fast-foundation'; import { DataGridRow } from '@microsoft/fast-foundation'; @@ -28,27 +27,31 @@ import { Direction } from '@microsoft/fast-web-utilities'; import { Divider } from '@microsoft/fast-foundation'; import { ElementStyles } from '@microsoft/fast-element'; import { FASTElement } from '@microsoft/fast-element'; -import { Flipper } from '@microsoft/fast-foundation'; +import { FlipperOptions } from '@microsoft/fast-foundation'; import { HorizontalScroll as HorizontalScroll_2 } from '@microsoft/fast-foundation'; import { Listbox } from '@microsoft/fast-foundation'; import { ListboxOption } from '@microsoft/fast-foundation'; import { Menu } from '@microsoft/fast-foundation'; -import { MenuItem } from '@microsoft/fast-foundation'; +import { MenuItemOptions } from '@microsoft/fast-foundation'; import { NumberField as NumberField_2 } from '@microsoft/fast-foundation'; -import { Radio } from '@microsoft/fast-foundation'; +import { NumberFieldOptions } from '@microsoft/fast-foundation'; +import { ProgressOptions } from '@microsoft/fast-foundation'; +import { ProgressRingOptions } from '@microsoft/fast-foundation'; import { RadioGroup } from '@microsoft/fast-foundation'; +import { RadioOptions } from '@microsoft/fast-foundation'; import { Select as Select_2 } from '@microsoft/fast-foundation'; +import { SelectOptions } from '@microsoft/fast-foundation'; import { Skeleton } from '@microsoft/fast-foundation'; -import { Slider } from '@microsoft/fast-foundation'; import { SliderLabel } from '@microsoft/fast-foundation'; -import { Switch } from '@microsoft/fast-foundation'; +import { SliderOptions } from '@microsoft/fast-foundation'; +import { SwitchOptions } from '@microsoft/fast-foundation'; import { Tab } from '@microsoft/fast-foundation'; import { TabPanel } from '@microsoft/fast-foundation'; import { Tabs } from '@microsoft/fast-foundation'; import { TextArea as TextArea_2 } from '@microsoft/fast-foundation'; import { TextField as TextField_2 } from '@microsoft/fast-foundation'; import { Tooltip as Tooltip_2 } from '@microsoft/fast-foundation'; -import { TreeItem } from '@microsoft/fast-foundation'; +import { TreeItemOptions } from '@microsoft/fast-foundation'; import { TreeView } from '@microsoft/fast-foundation'; // Warning: (ae-internal-missing-underscore) The name "AccentButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal @@ -501,7 +504,7 @@ export const fluentAccordion: (overrideDefinition?: import("@microsoft/fast-foun }, typeof Accordion>; // @public -export const fluentAccordionItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentAccordionItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // Warning: (ae-incompatible-release-tags) The symbol "fluentAnchor" is marked as @public, but its signature references "Anchor" which is marked as @internal // @@ -558,7 +561,7 @@ export const fluentBreadcrumb: (overrideDefinition?: import("@microsoft/fast-fou }, typeof Breadcrumb>; // @public -export const fluentBreadcrumbItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentBreadcrumbItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // Warning: (ae-incompatible-release-tags) The symbol "fluentButton" is marked as @public, but its signature references "Button" which is marked as @internal // @@ -589,12 +592,10 @@ export class FluentCard extends FluentDesignSystemProvider { } // @public -export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; -// Warning: (ae-incompatible-release-tags) The symbol "fluentCombobox" is marked as @public, but its signature references "Combobox" which is marked as @internal -// // @public -export const fluentCombobox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentCombobox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentDataGrid: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -811,7 +812,7 @@ export const fluentDivider: (overrideDefinition?: import("@microsoft/fast-founda }, typeof Divider>; // @public -export const fluentFlipper: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentFlipper: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // Warning: (ae-incompatible-release-tags) The symbol "fluentHorizontalScroll" is marked as @public, but its signature references "HorizontalScroll" which is marked as @internal // @@ -849,12 +850,10 @@ export const fluentMenu: (overrideDefinition?: import("@microsoft/fast-foundatio }, typeof Menu>; // @public -export const fluentMenuItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentMenuItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; -// Warning: (ae-incompatible-release-tags) The symbol "fluentNumberField" is marked as @public, but its signature references "NumberField" which is marked as @internal -// // @public -export const fluentNumberField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentNumberField: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentOption: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -868,21 +867,13 @@ export const fluentOption: (overrideDefinition?: import("@microsoft/fast-foundat }, typeof ListboxOption>; // @public -export const fluentProgress: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentProgress: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public -export const fluentProgressRing: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ - baseName: string; - template: (context: any, definition: any) => import("@microsoft/fast-element").ViewTemplate; - styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; -}, typeof BaseProgress>; +export const fluentProgressRing: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public -export const fluentRadio: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentRadio: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentRadioGroup: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -895,10 +886,8 @@ export const fluentRadioGroup: (overrideDefinition?: import("@microsoft/fast-fou styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; }, typeof RadioGroup>; -// Warning: (ae-incompatible-release-tags) The symbol "fluentSelect" is marked as @public, but its signature references "Select" which is marked as @internal -// // @public -export const fluentSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentSkeleton: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -912,7 +901,7 @@ export const fluentSkeleton: (overrideDefinition?: import("@microsoft/fast-found }, typeof Skeleton>; // @public -export const fluentSlider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentSlider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentSliderLabel: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -926,7 +915,7 @@ export const fluentSliderLabel: (overrideDefinition?: import("@microsoft/fast-fo }, typeof SliderLabel>; // @public -export const fluentSwitch: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentSwitch: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentTab: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1013,7 +1002,7 @@ export const fluentTooltip: (overrideDefinition?: import("@microsoft/fast-founda }, typeof Tooltip>; // @public -export const fluentTreeItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry; +export const fluentTreeItem: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; // @public export const fluentTreeView: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1026,10 +1015,8 @@ export const fluentTreeView: (overrideDefinition?: import("@microsoft/fast-found styles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; }, typeof TreeView>; -// Warning: (ae-forgotten-export) The symbol "HeightNumber" needs to be exported by the entry point index.d.ts -// -// @public (undocumented) -export const heightNumber: HeightNumber; +// @public +export const heightNumber: import("@microsoft/fast-element").CSSDirective; // Warning: (ae-internal-missing-underscore) The name "HorizontalScroll" should be prefixed with an underscore because the declaration is marked as @internal // diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts index d55f2fb27fab3a..c0acf63d993bdf 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts @@ -7,5 +7,5 @@ import { Swatch } from '../swatch'; export function neutralFillCard(palette: PaletteRGB, reference: Swatch, delta: number) { const referenceIndex = palette.closestIndexOf(reference); - return palette.get(referenceIndex - (referenceIndex < delta ? delta * -1 : delta)); + return palette.get(referenceIndex - delta); } diff --git a/packages/web-components/src/color/neutral-fill-card.spec.ts b/packages/web-components/src/color/neutral-fill-card.spec.ts index d78e10eeca9689..e8d0852684ffbb 100644 --- a/packages/web-components/src/color/neutral-fill-card.spec.ts +++ b/packages/web-components/src/color/neutral-fill-card.spec.ts @@ -10,10 +10,10 @@ import { neutralFillCard as neutralFillCardNew } from "../color-vNext/recipes/ne describe('neutralFillCard', (): void => { it('should operate on design system defaults', (): void => { expect(neutralFillCard({} as DesignSystem)).to.equal( - DesignSystemDefaults.neutralPalette[DesignSystemDefaults.neutralFillCardDelta], + DesignSystemDefaults.neutralPalette[0], ); }); - it('should get darker when the index of the backgroundColor is lower than the offset index', (): void => { + it('should stay white when the index of the backgroundColor is lower than the offset index', (): void => { for (let i: number = 0; i < DesignSystemDefaults.neutralFillCardDelta; i++) { expect( DesignSystemDefaults.neutralPalette.indexOf( @@ -23,7 +23,7 @@ describe('neutralFillCard', (): void => { }), ), ), - ).to.equal(DesignSystemDefaults.neutralFillCardDelta + i); + ).to.equal(0); } }); it('should return the color at three steps lower than the background color', (): void => { From d31f31d0758e13737cd541bd23e9761c15d9b2ef Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:01:05 -0700 Subject: [PATCH 12/91] (web-components) Design token cleanup (#18410) * Rename and clean up of design tokens and recipe: - neutralContrastFill -> neutralFillInverse - neutralFillToggle -> neutralFillContrast - neutralFocus -> focusStrokeOuter - neutralFocusInnerAccent -> focusStrokeInner - outline -> stroke - Removed 'selected' colors * Added deprecated alias tokens for renames * Rename neutral fill "contrast" to "strong" Defining visual intent using adjective form opposed to implementation details * Updated a couple more design tokens - cornerRadius -> controlConerRadius - elevatedCornerRadius -> surfaceCornerRadius - removed neutral foreground states * Change files Co-authored-by: Chris Holt --- ...-65f13306-7054-44e7-bab7-161bfb2ff372.json | 7 + .../accordion-item/accordion-item.styles.ts | 24 +- .../src/accordion/accordion.styles.ts | 10 +- .../web-components/src/badge/badge.styles.ts | 10 +- .../breadcrumb-item/breadcrumb-item.styles.ts | 18 +- .../src/button/button.styles.ts | 4 +- .../web-components/src/card/card.styles.ts | 4 +- .../src/checkbox/checkbox.styles.ts | 34 +- .../src/color-vNext/recipes/accent-fill.ts | 4 - ...-focus-inner-accent.ts => focus-stroke.ts} | 12 +- ...ill-toggle.ts => neutral-fill-contrast.ts} | 2 +- .../color-vNext/recipes/neutral-fill-input.ts | 2 - ...ntrast-fill.ts => neutral-fill-inverse.ts} | 2 +- .../recipes/neutral-fill-stealth.ts | 2 - .../src/color-vNext/recipes/neutral-fill.ts | 2 - .../src/color-vNext/recipes/neutral-focus.ts | 9 - .../color-vNext/recipes/neutral-layer-L1.ts | 4 +- .../color-vNext/recipes/neutral-layer-L2.ts | 6 + .../color-vNext/recipes/neutral-layer-L3.ts | 3 + .../color-vNext/recipes/neutral-layer-L4.ts | 3 + .../{neutral-outline.ts => neutral-stroke.ts} | 2 +- .../src/color/accent-fill.spec.ts | 2 - .../src/color/neutral-contrast-fill.spec.ts | 4 +- .../src/color/neutral-fill-input.spec.ts | 6 +- .../src/color/neutral-fill-stealth.spec.ts | 2 - .../src/color/neutral-fill-toggle.spec.ts | 4 +- .../src/color/neutral-fill.spec.ts | 4 +- .../src/color/neutral-focus.spec.ts | 4 +- .../src/color/neutral-outline.spec.ts | 4 +- .../src/combobox/combobox.styles.ts | 4 +- .../src/data-grid/data-grid-cell.styles.ts | 18 +- .../src/data-grid/data-grid-row.styles.ts | 4 +- packages/web-components/src/design-tokens.ts | 313 ++++++++++-------- .../src/dialog/dialog.styles.ts | 6 +- .../src/divider/divider.styles.ts | 4 +- .../src/flipper/flipper.styles.ts | 24 +- .../listbox-option/listbox-option.styles.ts | 24 +- .../src/listbox/listbox.styles.ts | 22 +- .../src/menu-item/menu-item.styles.ts | 30 +- .../web-components/src/menu/menu.styles.ts | 16 +- .../src/number-field/number-field.styles.ts | 36 +- .../src/progress/progress/progress.styles.ts | 4 +- .../web-components/src/radio/radio.styles.ts | 28 +- .../src/select/select.styles.ts | 42 +-- .../src/skeleton/skeleton.styles.ts | 4 +- .../src/slider-label/slider-label.styles.ts | 4 +- .../src/slider/slider.styles.ts | 28 +- .../src/styles/patterns/button.ts | 54 +-- .../src/styles/patterns/input.ts | 8 +- .../src/switch/switch.styles.ts | 30 +- .../web-components/src/tabs/tab/tab.styles.ts | 26 +- .../web-components/src/tabs/tabs.styles.ts | 10 +- .../src/text-area/text-area.styles.ts | 22 +- .../src/text-field/text-field.styles.ts | 28 +- packages/web-components/src/tooltip/index.ts | 4 +- .../src/tooltip/tooltip.styles.ts | 14 +- .../src/tree-item/tree-item.styles.ts | 33 +- 57 files changed, 536 insertions(+), 498 deletions(-) create mode 100644 change/@fluentui-web-components-65f13306-7054-44e7-bab7-161bfb2ff372.json rename packages/web-components/src/color-vNext/recipes/{neutral-focus-inner-accent.ts => focus-stroke.ts} (53%) rename packages/web-components/src/color-vNext/recipes/{neutral-fill-toggle.ts => neutral-fill-contrast.ts} (96%) rename packages/web-components/src/color-vNext/recipes/{neutral-contrast-fill.ts => neutral-fill-inverse.ts} (96%) delete mode 100644 packages/web-components/src/color-vNext/recipes/neutral-focus.ts rename packages/web-components/src/color-vNext/recipes/{neutral-outline.ts => neutral-stroke.ts} (96%) diff --git a/change/@fluentui-web-components-65f13306-7054-44e7-bab7-161bfb2ff372.json b/change/@fluentui-web-components-65f13306-7054-44e7-bab7-161bfb2ff372.json new file mode 100644 index 00000000000000..9570a1ddc649ab --- /dev/null +++ b/change/@fluentui-web-components-65f13306-7054-44e7-bab7-161bfb2ff372.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Rename and clean up of design tokens and recipe: - neutralContrastFill -> neutralFillInverse - neutralFillToggle -> neutralFillContrast - neutralFocus -> focusStrokeOuter - neutralFocusInnerAccent -> focusStrokeInner - outline -> stroke - Removed 'selected' colors", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts index 69fcdc73ba1b5a..14f0926317f7e1 100644 --- a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts +++ b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts @@ -6,11 +6,11 @@ import { bodyFont, density, designUnit, - focusOutlineWidth, - neutralDivider, - neutralFocus, - neutralForegroundRest, - outlineWidth, + focusStrokeWidth, + neutralStrokeDivider, + focusStrokeOuter, + neutralForeground, + strokeWidth, typeRampMinus1FontSize, typeRampMinus1LineHeight, } from '../../design-tokens'; @@ -24,7 +24,7 @@ export const accordionItemStyles = (context, definition) => flex-direction: column; font-size: ${typeRampMinus1FontSize}; line-height: ${typeRampMinus1LineHeight}; - border-bottom: calc(${outlineWidth} * 1px) solid ${neutralDivider}; + border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; } .region { @@ -49,14 +49,14 @@ export const accordionItemStyles = (context, definition) => padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); text-align: left; height: calc(${heightNumber} * 1px); - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; font-family: inherit; } .button:hover, .button:active { - color: ${neutralForegroundRest}; + color: ${neutralForeground}; } .button::before { @@ -72,9 +72,9 @@ export const accordionItemStyles = (context, definition) => .button:${focusVisible}::before { outline: none; - border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) - ${neutralFocus}; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) + ${focusStrokeOuter}; } :host(.expanded) .region { @@ -128,7 +128,7 @@ export const accordionItemStyles = (context, definition) => css` .button:${focusVisible}::before { border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${SystemColors.Highlight}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${SystemColors.Highlight}; } .icon { fill: ${SystemColors.ButtonText}; diff --git a/packages/web-components/src/accordion/accordion.styles.ts b/packages/web-components/src/accordion/accordion.styles.ts index a60a11b93eb961..5c651d928457ec 100644 --- a/packages/web-components/src/accordion/accordion.styles.ts +++ b/packages/web-components/src/accordion/accordion.styles.ts @@ -2,9 +2,9 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { bodyFont, - neutralDivider, - neutralForegroundRest, - outlineWidth, + neutralStrokeDivider, + neutralForeground, + strokeWidth, typeRampMinus1FontSize, typeRampMinus1LineHeight, } from '../design-tokens'; @@ -17,7 +17,7 @@ export const accordionStyles = (context, definition) => font-family: ${bodyFont}; font-size: ${typeRampMinus1FontSize}; line-height: ${typeRampMinus1LineHeight}; - color: ${neutralForegroundRest}; - border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; + color: ${neutralForeground}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; } `; diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index 9072d2d1fcce0f..61869fa894c457 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -3,9 +3,9 @@ import { display } from '@microsoft/fast-foundation'; import { accentForegroundRest, bodyFont, - cornerRadius, + controlCornerRadius, designUnit, - neutralForegroundRest, + neutralForeground, typeRampMinus1FontSize, typeRampMinus1LineHeight, neutralFillRest, @@ -22,13 +22,13 @@ export const badgeStyles = (context, definition) => } .control { - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); padding: calc(${designUnit} * 0.5px) calc(${designUnit} * 1px); } :host(.lightweight) .control { background: transparent; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; font-weight: 600; } @@ -39,6 +39,6 @@ export const badgeStyles = (context, definition) => :host(.neutral) .control { background: ${neutralFillRest}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; } `; diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts index ce1edb064b1902..49b75ab0d0110c 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts @@ -6,9 +6,9 @@ import { accentForegroundHover, accentForegroundRest, bodyFont, - focusOutlineWidth, - neutralForegroundRest, - outlineWidth, + focusStrokeWidth, + neutralForeground, + strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens'; @@ -59,7 +59,7 @@ export const breadcrumbItemStyles = (context, definition) => .control .content::before { content: ""; display: block; - height: calc(${outlineWidth} * 1px); + height: calc(${strokeWidth} * 1px); left: 0; position: absolute; right: 0; @@ -76,20 +76,20 @@ export const breadcrumbItemStyles = (context, definition) => } .control:${focusVisible} .content::before { - background: ${neutralForegroundRest}; - height: calc(${focusOutlineWidth} * 1px); + background: ${neutralForeground}; + height: calc(${focusStrokeWidth} * 1px); } :host(:not([href])), :host([aria-current]) .control { font-weight: 600; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; fill: currentcolor; cursor: default; } :host([aria-current]) .control:hover .content::before { - background: ${neutralForegroundRest}; + background: ${neutralForeground}; } .start { @@ -104,7 +104,7 @@ export const breadcrumbItemStyles = (context, definition) => .separator { display: flex; - fill: ${neutralForegroundRest}; + fill: ${neutralForeground}; margin: 0 6px; } `.withBehaviors( diff --git a/packages/web-components/src/button/button.styles.ts b/packages/web-components/src/button/button.styles.ts index 18e6b7414656da..1129e3dc6ce00f 100644 --- a/packages/web-components/src/button/button.styles.ts +++ b/packages/web-components/src/button/button.styles.ts @@ -14,7 +14,7 @@ import { neutralFillRest, accentFillRest, accentForegroundRest, - neutralOutlineRest, + neutralStrokeRest, neutralFillStealthRest, } from '../design-tokens'; @@ -106,7 +106,7 @@ export const buttonStyles = (context, definition) => :host([appearance='outline'][disabled]:hover), :host([appearance='outline'][disabled]:active) { background: transparent; - border-color: ${neutralOutlineRest}; + border-color: ${neutralStrokeRest}; } ${OutlineButtonStyles} diff --git a/packages/web-components/src/card/card.styles.ts b/packages/web-components/src/card/card.styles.ts index 919ca0c8031d11..9dd0727f4360e3 100644 --- a/packages/web-components/src/card/card.styles.ts +++ b/packages/web-components/src/card/card.styles.ts @@ -2,7 +2,7 @@ import { css } from '@microsoft/fast-element'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles'; -import { elevatedCornerRadius } from "../design-tokens"; +import { surfaceCornerRadius } from '../design-tokens'; export const CardStyles = css` ${display('block')} :host { @@ -12,7 +12,7 @@ export const CardStyles = css` height: var(--card-height, 100%); width: var(--card-width, 100%); box-sizing: border-box; - border-radius: calc(${elevatedCornerRadius} * 1px); + border-radius: calc(${surfaceCornerRadius} * 1px); ${elevation} } diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index 58c267f879385f..1a8541b8c19363 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -4,19 +4,19 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles'; import { designUnit, - cornerRadius, - outlineWidth, - neutralOutlineRest, + controlCornerRadius, + strokeWidth, + neutralStrokeRest, neutralFillInputRest, bodyFont, - neutralForegroundRest, + neutralForeground, typeRampBaseFontSize, typeRampBaseLineHeight, neutralFillInputHover, - neutralOutlineHover, + neutralStrokeHover, neutralFillInputActive, - neutralOutlineActive, - neutralFocus, + neutralStrokeActive, + focusStrokeOuter, disabledOpacity, fillColor, } from '../design-tokens'; @@ -40,8 +40,8 @@ export const checkboxStyles = (context, definition) => width: calc((${heightNumber} / 2 + ${designUnit}) * 1px); height: calc((${heightNumber} / 2 + ${designUnit}) * 1px); box-sizing: border-box; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; background: ${neutralFillInputRest}; outline: none; cursor: pointer; @@ -54,7 +54,7 @@ export const checkboxStyles = (context, definition) => .label { font-family: ${bodyFont}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' } padding-inline-start: calc(${designUnit} * 2px + 2px); @@ -68,14 +68,14 @@ export const checkboxStyles = (context, definition) => width: 100%; height: 100%; display: block; - fill: ${neutralForegroundRest}; + fill: ${neutralForeground}; opacity: 0; pointer-events: none; } .indeterminate-indicator { - border-radius: calc((${cornerRadius} / 2) * 1px); - background: ${neutralForegroundRest}; + border-radius: calc((${controlCornerRadius} / 2) * 1px); + background: ${neutralForeground}; position: absolute; top: 50%; left: 50%; @@ -87,17 +87,17 @@ export const checkboxStyles = (context, definition) => :host(:enabled) .control:hover { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host(:enabled) .control:active { background: ${neutralFillInputActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; + border-color: ${focusStrokeOuter}; } :host(.disabled) .label, diff --git a/packages/web-components/src/color-vNext/recipes/accent-fill.ts b/packages/web-components/src/color-vNext/recipes/accent-fill.ts index 8beaccb8bd8076..6fcf13d9711631 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/accent-fill.ts @@ -1,7 +1,6 @@ import { inRange } from 'lodash-es'; import { PaletteRGB } from '../palette'; import { Swatch } from '../swatch'; -import { isDark } from '../utilities/is-dark'; /** * @internal @@ -15,7 +14,6 @@ export function accentFill( hoverDelta: number, activeDelta: number, focusDelta: number, - selectedDelta: number, neutralFillRestDelta: number, neutralFillHoverDelta: number, neutralFillActiveDelta: number, @@ -42,13 +40,11 @@ export function accentFill( const restIndex = hoverIndex + direction * -1 * hoverDelta; const activeIndex = restIndex + direction * activeDelta; const focusIndex = restIndex + direction * focusDelta; - const selectedIndex = restIndex + (isDark(reference) ? selectedDelta * -1 : selectedDelta); return { rest: palette.get(restIndex), hover: palette.get(hoverIndex), active: palette.get(activeIndex), focus: palette.get(focusIndex), - selected: palette.get(selectedIndex), }; } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts b/packages/web-components/src/color-vNext/recipes/focus-stroke.ts similarity index 53% rename from packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts rename to packages/web-components/src/color-vNext/recipes/focus-stroke.ts index 933e901e6995e1..5c0968d1954f98 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-focus-inner-accent.ts +++ b/packages/web-components/src/color-vNext/recipes/focus-stroke.ts @@ -2,7 +2,17 @@ import { PaletteRGB } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; -export function neutralFocusInnerAccent(palette: PaletteRGB, reference: Swatch, focusColor: Swatch) { +/** + * @internal + */ +export function focusStrokeOuter(palette: PaletteRGB, reference: Swatch) { + return palette.colorContrast(reference, 3.5); +} + +/** + * @internal + */ +export function focusStrokeInner(palette: PaletteRGB, reference: Swatch, focusColor: Swatch) { return palette.colorContrast( focusColor, 3.5, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts similarity index 96% rename from packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts rename to packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts index f96e1dce1cc49d..6adb01265d6867 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-toggle.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts @@ -5,7 +5,7 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; /** * @internal */ -export function neutralFillToggle( +export function neutralFillContrast( palette: PaletteRGB, reference: Swatch, restDelta: number, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts index 51984d0b28144e..2afa0757697246 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts @@ -12,7 +12,6 @@ export function neutralFillInput( hoverDelta: number, activeDelta: number, focusDelta: number, - selectedDelta: number, ) { const direction = directionByIsDark(reference); const referenceIndex = palette.closestIndexOf(reference); @@ -22,6 +21,5 @@ export function neutralFillInput( hover: palette.get(referenceIndex - direction * hoverDelta), active: palette.get(referenceIndex - direction * activeDelta), focus: palette.get(referenceIndex - direction * focusDelta), - selected: palette.get(referenceIndex - direction * selectedDelta), }; } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts similarity index 96% rename from packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts rename to packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts index a6db7f346b22d4..418b0e27e5a237 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-contrast-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts @@ -5,7 +5,7 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; /** * @internal */ -export function neutralContrastFill( +export function neutralFillInverse( palette: PaletteRGB, reference: Swatch, restDelta: number, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts index bca50d1403a648..e1fed4efe7bcc3 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts @@ -11,7 +11,6 @@ export function neutralFillStealth( hoverDelta: number, activeDelta: number, focusDelta: number, - selectedDelta: number, fillRestDelta: number, fillHoverDelta: number, fillActiveDelta: number, @@ -36,6 +35,5 @@ export function neutralFillStealth( hover: palette.get(referenceIndex + direction * hoverDelta), active: palette.get(referenceIndex + direction * activeDelta), focus: palette.get(referenceIndex + direction * focusDelta), - selected: palette.get(referenceIndex + direction * selectedDelta), }; } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts index 3e8bef1f5e6b1d..df35a0519469bf 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts @@ -18,7 +18,6 @@ export function neutralFill( hoverDelta: number, activeDelta: number, focusDelta: number, - selectedDelta: number, ) { const referenceIndex = palette.closestIndexOf(reference); const threshold = Math.max(restDelta, hoverDelta, activeDelta, focusDelta); @@ -29,6 +28,5 @@ export function neutralFill( hover: palette.get(referenceIndex + direction * hoverDelta), active: palette.get(referenceIndex + direction * activeDelta), focus: palette.get(referenceIndex + direction * focusDelta), - selected: palette.get(referenceIndex + direction * selectedDelta), }; } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-focus.ts b/packages/web-components/src/color-vNext/recipes/neutral-focus.ts deleted file mode 100644 index c1f84cbf5625b8..00000000000000 --- a/packages/web-components/src/color-vNext/recipes/neutral-focus.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { PaletteRGB } from '../palette'; -import { Swatch } from '../swatch'; - -/** - * @internal - */ -export function neutralFocus(palette: PaletteRGB, reference: Swatch) { - return palette.colorContrast(reference, 3.5); -} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts index f0aa2cc3cc5a42..0ae059fc93f312 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts @@ -1,7 +1,9 @@ import { PaletteRGB } from '../palette'; -import { Swatch } from '../swatch'; import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; +/** + * @internal + */ export function neutralLayerL1(palette: PaletteRGB, baseLayerLuminance: number) { return palette.get(palette.closestIndexOf(baseLayerLuminanceSwatch(baseLayerLuminance))); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts index f7b4768b72a0db..4af6f3152bd2c8 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts @@ -1,6 +1,9 @@ import { PaletteRGB } from '../palette'; import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; +/** + * @internal + */ export function neutralLayerL2Index( palette: PaletteRGB, luminance: number, @@ -17,6 +20,9 @@ export function neutralLayerL2Index( ); } +/** + * @internal + */ export function neutralLayerL2( palette: PaletteRGB, luminance: number, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts index f0416e0ed1dfc4..12e8cdad4c9410 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts @@ -1,6 +1,9 @@ import { PaletteRGB } from '../palette'; import { neutralLayerL2Index } from './neutral-layer-L2'; +/** + * @internal + */ export function neutralLayerL3( palette: PaletteRGB, luminance: number, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts index 7b75a75668cd76..b320985a85346d 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts @@ -1,6 +1,9 @@ import { PaletteRGB } from '../palette'; import { neutralLayerL2Index } from './neutral-layer-L2'; +/** + * @internal + */ export function neutralLayerL4( palette: PaletteRGB, luminance: number, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-outline.ts b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts similarity index 96% rename from packages/web-components/src/color-vNext/recipes/neutral-outline.ts rename to packages/web-components/src/color-vNext/recipes/neutral-stroke.ts index d0149486594760..1bcb4614cbcfa6 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-outline.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts @@ -5,7 +5,7 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; /** * @internal */ -export function neutralOutline( +export function neutralStroke( palette: PaletteRGB, reference: Swatch, restDelta: number, diff --git a/packages/web-components/src/color/accent-fill.spec.ts b/packages/web-components/src/color/accent-fill.spec.ts index e0a291f761cab7..1002ac1cd65345 100644 --- a/packages/web-components/src/color/accent-fill.spec.ts +++ b/packages/web-components/src/color/accent-fill.spec.ts @@ -86,7 +86,6 @@ describe("ensure parity between old and new recipe implementation", () => { accentFillHoverDelta, accentFillActiveDelta, accentFillFocusDelta, - accentFillSelectedDelta, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, @@ -103,7 +102,6 @@ describe("ensure parity between old and new recipe implementation", () => { accentFillHoverDelta, accentFillActiveDelta, accentFillFocusDelta, - accentFillSelectedDelta, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta diff --git a/packages/web-components/src/color/neutral-contrast-fill.spec.ts b/packages/web-components/src/color/neutral-contrast-fill.spec.ts index a06338284288fb..0ea3a344291521 100644 --- a/packages/web-components/src/color/neutral-contrast-fill.spec.ts +++ b/packages/web-components/src/color/neutral-contrast-fill.spec.ts @@ -1,7 +1,7 @@ import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from "chai"; import { PaletteRGB } from "../color-vNext/palette"; -import { neutralContrastFill as neutralContrastFillNew } from "../color-vNext/recipes/neutral-contrast-fill"; +import { neutralFillInverse as neutralFillInverseNew } from "../color-vNext/recipes/neutral-fill-inverse"; import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystemDefaults } from "../fluent-design-system"; import { neutralBaseColor } from "./color-constants"; @@ -13,7 +13,7 @@ describe("ensure parity between old and new recipe implementation", () => { palette.swatches.forEach(( newSwatch, index ) => { const { neutralContrastFillHoverDelta, neutralContrastFillActiveDelta, neutralContrastFillFocusDelta} = DesignSystemDefaults; const oldValues = neutralContrastFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralContrastFillNew( + const newValues = neutralFillInverseNew( palette, newSwatch, 0, diff --git a/packages/web-components/src/color/neutral-fill-input.spec.ts b/packages/web-components/src/color/neutral-fill-input.spec.ts index 74ab26b1397734..92b4059af35f64 100644 --- a/packages/web-components/src/color/neutral-fill-input.spec.ts +++ b/packages/web-components/src/color/neutral-fill-input.spec.ts @@ -120,8 +120,7 @@ describe("ensure parity between old and new recipe implementation", () => { neutralFillInputRestDelta, neutralFillInputHoverDelta, neutralFillInputActiveDelta, - neutralFillInputFocusDelta, - neutralFillInputSelectedDelta + neutralFillInputFocusDelta } = DesignSystemDefaults; const oldValues = neutralFillInput({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); const newValues = neutralFillInputNew( @@ -130,8 +129,7 @@ describe("ensure parity between old and new recipe implementation", () => { neutralFillInputRestDelta, neutralFillInputHoverDelta, neutralFillInputActiveDelta, - neutralFillInputFocusDelta, - neutralFillInputSelectedDelta + neutralFillInputFocusDelta ); it(`should be the same for ${newSwatch}`, () => { for (let key in oldValues) { diff --git a/packages/web-components/src/color/neutral-fill-stealth.spec.ts b/packages/web-components/src/color/neutral-fill-stealth.spec.ts index 7cb6cd2ce5413f..7b3618a12665a0 100644 --- a/packages/web-components/src/color/neutral-fill-stealth.spec.ts +++ b/packages/web-components/src/color/neutral-fill-stealth.spec.ts @@ -121,7 +121,6 @@ describe("ensure parity between old and new recipe implementation", () => { neutralFillStealthHoverDelta, neutralFillStealthActiveDelta, neutralFillStealthFocusDelta, - neutralFillStealthSelectedDelta, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, @@ -135,7 +134,6 @@ describe("ensure parity between old and new recipe implementation", () => { neutralFillStealthHoverDelta, neutralFillStealthActiveDelta, neutralFillStealthFocusDelta, - neutralFillStealthSelectedDelta, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, diff --git a/packages/web-components/src/color/neutral-fill-toggle.spec.ts b/packages/web-components/src/color/neutral-fill-toggle.spec.ts index 1c750cf6ed57f0..2ee71bab0e165d 100644 --- a/packages/web-components/src/color/neutral-fill-toggle.spec.ts +++ b/packages/web-components/src/color/neutral-fill-toggle.spec.ts @@ -1,7 +1,7 @@ import { parseColorHexRGB } from "@microsoft/fast-colors"; import { expect } from "chai"; import { PaletteRGB } from "../color-vNext/palette"; -import { neutralFillToggle as neutralFillToggleNew } from "../color-vNext/recipes/neutral-fill-toggle"; +import { neutralFillContrast as neutralFillContrastNew } from "../color-vNext/recipes/neutral-fill-contrast"; import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystemDefaults } from "../fluent-design-system"; import { neutralBaseColor } from "./color-constants"; @@ -13,7 +13,7 @@ describe("ensure parity between old and new recipe implementation", () => { palette.swatches.forEach(( newSwatch, index ) => { const { neutralFillToggleHoverDelta, neutralFillToggleActiveDelta, neutralFillToggleFocusDelta} = DesignSystemDefaults; const oldValues = neutralFillToggle({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralFillToggleNew( + const newValues = neutralFillContrastNew( palette, newSwatch, 0, diff --git a/packages/web-components/src/color/neutral-fill.spec.ts b/packages/web-components/src/color/neutral-fill.spec.ts index 15024e73fe40f4..e24e760662433e 100644 --- a/packages/web-components/src/color/neutral-fill.spec.ts +++ b/packages/web-components/src/color/neutral-fill.spec.ts @@ -111,9 +111,9 @@ describe("ensure parity between old and new recipe implementation", () => { const color = (parseColorHexRGB(neutralBaseColor)!) const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { - const { neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta, neutralFillSelectedDelta } = DesignSystemDefaults; + const { neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta } = DesignSystemDefaults; const oldValues = neutralFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralFillNew(palette, newSwatch, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta, neutralFillSelectedDelta ); + const newValues = neutralFillNew(palette, newSwatch, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta ); it(`should be the same for ${newSwatch}`, () => { for (let key in oldValues) { expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) diff --git a/packages/web-components/src/color/neutral-focus.spec.ts b/packages/web-components/src/color/neutral-focus.spec.ts index 73edb558572c60..3c4f29e3aa16b2 100644 --- a/packages/web-components/src/color/neutral-focus.spec.ts +++ b/packages/web-components/src/color/neutral-focus.spec.ts @@ -6,7 +6,7 @@ import { contrast } from './common'; import { neutralBaseColor } from "./color-constants"; import { PaletteRGB } from "../color-vNext/palette"; import { SwatchRGB } from "../color-vNext/swatch"; -import { neutralFocus as neutralFocusNew } from "../color-vNext/recipes/neutral-focus"; +import { focusStrokeOuter as focusStrokeOuterNew } from "../color-vNext/recipes/focus-stroke"; describe('neutralFocus', (): void => { it('should return a string when invoked with an object', (): void => { @@ -26,7 +26,7 @@ describe("ensure parity between old and new recipe implementation", () => { const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { it(`should be the same for ${newSwatch}`, () => { - expect(neutralFocus({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(neutralFocusNew( palette, newSwatch).toColorString().toUpperCase()) + expect(neutralFocus({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(focusStrokeOuterNew( palette, newSwatch).toColorString().toUpperCase()) }); }) }) diff --git a/packages/web-components/src/color/neutral-outline.spec.ts b/packages/web-components/src/color/neutral-outline.spec.ts index af942280a234c5..eb55a16a95ec7b 100644 --- a/packages/web-components/src/color/neutral-outline.spec.ts +++ b/packages/web-components/src/color/neutral-outline.spec.ts @@ -18,7 +18,7 @@ import { Swatch, SwatchFamily } from './common'; import { neutralBaseColor } from "./color-constants"; import { PaletteRGB } from "../color-vNext/palette"; import { SwatchRGB } from "../color-vNext/swatch"; -import { neutralOutline as neutralOutlineNew } from "../color-vNext/recipes/neutral-outline" +import { neutralStroke as neutralStrokeNew } from "../color-vNext/recipes/neutral-stroke" describe('neutralOutline', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -90,7 +90,7 @@ describe("ensure parity between old and new recipe implementation", () => { palette.swatches.forEach(( newSwatch, index ) => { const { neutralOutlineRestDelta, neutralOutlineHoverDelta, neutralOutlineFocusDelta, neutralOutlineActiveDelta } = DesignSystemDefaults; const oldValues = neutralOutline({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralOutlineNew( + const newValues = neutralStrokeNew( palette, newSwatch, neutralOutlineRestDelta, diff --git a/packages/web-components/src/combobox/combobox.styles.ts b/packages/web-components/src/combobox/combobox.styles.ts index dc5a327f70b74f..b184f09f542d34 100644 --- a/packages/web-components/src/combobox/combobox.styles.ts +++ b/packages/web-components/src/combobox/combobox.styles.ts @@ -2,7 +2,7 @@ import { css } from '@microsoft/fast-element'; import { disabledCursor, focusVisible } from '@microsoft/fast-foundation'; import { selectFilledStyles, selectStyles } from '../select/select.styles'; import { appearanceBehavior } from '../utilities/behaviors'; -import { typeRampBaseFontSize, typeRampBaseLineHeight, outlineWidth } from '../design-tokens'; +import { typeRampBaseFontSize, typeRampBaseLineHeight, strokeWidth } from '../design-tokens'; export const comboboxStyles = (context, definition) => css` @@ -29,7 +29,7 @@ export const comboboxStyles = (context, definition) => color: inherit; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; - height: calc(100% - ${outlineWidth} * 1px)); + height: calc(100% - ${strokeWidth} * 1px)); margin: auto 0; width: 100%; } diff --git a/packages/web-components/src/data-grid/data-grid-cell.styles.ts b/packages/web-components/src/data-grid/data-grid-cell.styles.ts index c95260883acadf..3ff2fddc68c472 100644 --- a/packages/web-components/src/data-grid/data-grid-cell.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-cell.styles.ts @@ -3,11 +3,11 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { bodyFont, - cornerRadius, + controlCornerRadius, designUnit, - neutralFocus, - neutralForegroundRest, - outlineWidth, + focusStrokeOuter, + neutralForeground, + strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens'; @@ -16,16 +16,16 @@ export const dataGridCellStyles = (context, definition) => css` :host { padding: calc(${designUnit} * 1px) calc(${designUnit} * 3px); - color: ${neutralForegroundRest}; + color: ${neutralForeground}; box-sizing: border-box; font-family: ${bodyFont}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; font-weight: 400; - border: transparent calc(${outlineWidth} * 1px) solid; + border: transparent calc(${strokeWidth} * 1px) solid; overflow: hidden; white-space: nowrap; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); } :host(.column-header) { @@ -33,8 +33,8 @@ export const dataGridCellStyles = (context, definition) => } :host(:${focusVisible}) { - border: ${neutralFocus} calc(${outlineWidth} * 1px) solid; - color: ${neutralForegroundRest}; + border: ${focusStrokeOuter} calc(${strokeWidth} * 1px) solid; + color: ${neutralForeground}; } `.withBehaviors( diff --git a/packages/web-components/src/data-grid/data-grid-row.styles.ts b/packages/web-components/src/data-grid/data-grid-row.styles.ts index 83e29e5bab857f..e585d50fe1d2a7 100644 --- a/packages/web-components/src/data-grid/data-grid-row.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-row.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { neutralFillRest, outlineWidth, neutralDivider } from '../design-tokens'; +import { neutralFillRest, strokeWidth, neutralStrokeDivider } from '../design-tokens'; export const dataGridRowStyles = (context, defintion) => css` @@ -9,7 +9,7 @@ export const dataGridRowStyles = (context, defintion) => padding: 1px 0; box-sizing: border-box; width: 100%; - border-bottom: calc(${outlineWidth} * 1px) solid ${neutralDivider}; + border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; } :host(.header) { diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 40fb2b7b78f773..232f3263db891e 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -4,17 +4,19 @@ import { PaletteRGB } from './color-vNext/palette'; import { accentFill as accentFillAlgorithm } from './color-vNext/recipes/accent-fill'; import { accentForeground as accentForegroundAlgorithm } from './color-vNext/recipes/accent-foreground'; import { accentForegroundCut as accentForegroundCutAlgorithm } from './color-vNext/recipes/accent-foreground-cut'; -import { neutralContrastFill as neutralContrastFillAlgorithm } from './color-vNext/recipes/neutral-contrast-fill'; +import { neutralFillInverse as neutralFillInverseAlgorithm } from './color-vNext/recipes/neutral-fill-inverse'; import { neutralDivider as neutralDividerAlgorithm } from './color-vNext/recipes/neutral-divider'; import { SwatchRGB } from './color-vNext/swatch'; import { neutralFillCard as neutralFillCardAlgorithm } from './color-vNext/recipes/neutral-fill-card'; import { neutralFillInput as NeutralFillInputAlgorithm } from './color-vNext/recipes/neutral-fill-input'; import { neutralFillStealth as neutralFillStealthAlgorithm } from './color-vNext/recipes/neutral-fill-stealth'; -import { neutralFillToggle as neutralFillToggleAlgorithm } from './color-vNext/recipes/neutral-fill-toggle'; +import { neutralFillContrast as neutralFillContrastAlgorithm } from './color-vNext/recipes/neutral-fill-contrast'; import { neutralFill as neutralFillAlgorithm } from './color-vNext/recipes/neutral-fill'; -import { neutralFocus as neutralFocusAlgorithm } from './color-vNext/recipes/neutral-focus'; -import { neutralFocusInnerAccent as neutralFocusInnerAccentAlgorithm } from './color-vNext/recipes/neutral-focus-inner-accent'; -import { neutralOutline as NeutralOutlineAlgorithm } from './color-vNext/recipes/neutral-outline'; +import { + focusStrokeInner as focusStrokeInnerAlgorithm, + focusStrokeOuter as focusStrokeOuterAlgorithm, +} from './color-vNext/recipes/focus-stroke'; +import { neutralStroke as neutralStrokeAlgorithm } from './color-vNext/recipes/neutral-stroke'; import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color-vNext/recipes/neutral-foreground-hint'; import { neutralForeground as neutralForegroundAlgorithm } from './color-vNext/recipes/neutral-foreground'; import { neutralLayerFloating as neutralLayerFloatingAlgorithm } from './color-vNext/recipes/neutral-layer-floating'; @@ -31,7 +33,6 @@ export const accentFillRestDelta = create('accent-fill-rest-delta').with export const accentFillHoverDelta = create('accent-fill-hover-delta').withDefault(4); export const accentFillActiveDelta = create('accent-fill-active-delta').withDefault(-5); export const accentFillFocusDelta = create('accent-fill-focus-delta').withDefault(0); -export const accentFillSelectedDelta = create('accent-fill-selected-delta').withDefault(12); export const accentForegroundRestDelta = create('accent-foreground-rest-delta').withDefault(0); export const accentForegroundHoverDelta = create('accent-foreground-hover-delta').withDefault(6); @@ -42,49 +43,78 @@ export const bodyFont = create('body-font').withDefault('Segoe UI, sans- export const baseHeightMultiplier = create('base-height-multiplier').withDefault(8); export const baseHorizontalSpacingMultiplier = create('base-horizontal-spacing-multiplier').withDefault(3); export const baseLayerLuminance = create('base-layer-luminance').withDefault(StandardLuminance.LightMode); -export const cornerRadius = create('corner-radius').withDefault(4); +export const controlCornerRadius = create('corner-radius').withDefault(4); +/** @deprecated */ +export const cornerRadius = controlCornerRadius; export const density = create('density').withDefault(0); export const designUnit = create('design-unit').withDefault(4); export const direction = create('direction').withDefault(Direction.ltr); export const disabledOpacity = create('disabled-opacity').withDefault(0.3); -export const elevatedCornerRadius = create('elevated-corner-radius').withDefault(4); -export const focusOutlineWidth = create('focus-outline-width').withDefault(2); - -export const neutralContrastFillRestDelta = create('neutral-contrast-fill-rest-delta').withDefault(0); -export const neutralContrastFillHoverDelta = create('neutral-contrast-fill-hover-delta').withDefault(-3); -export const neutralContrastFillActiveDelta = create('neutral-contrast-fill-active-delta').withDefault(7); -export const neutralContrastFillFocusDelta = create('neutral-contrast-fill-focus-delta').withDefault(0); - -export const neutralDividerRestDelta = create('neutral-divider-rest-delta').withDefault(8); +export const surfaceCornerRadius = create('elevated-corner-radius').withDefault(4); +/** @deprecated */ +export const elevatedCornerRadius = surfaceCornerRadius; +export const focusStrokeWidth = create('focus-stroke-width').withDefault(2); +/** @deprecated */ +export const focusOutlineWidth = focusStrokeWidth; + +export const neutralFillInverseRestDelta = create('neutral-fill-inverse-rest-delta').withDefault(0); +export const neutralFillInverseHoverDelta = create('neutral-fill-inverse-hover-delta').withDefault(-3); +export const neutralFillInverseActiveDelta = create('neutral-fill-inverse-active-delta').withDefault(7); +export const neutralFillInverseFocusDelta = create('neutral-fill-inverse-focus-delta').withDefault(0); +/** @deprecated */ +export const neutralContrastFillRestDelta = neutralFillInverseRestDelta; +/** @deprecated */ +export const neutralContrastFillHoverDelta = neutralFillInverseHoverDelta; +/** @deprecated */ +export const neutralContrastFillActiveDelta = neutralFillInverseActiveDelta; +/** @deprecated */ +export const neutralContrastFillFocusDelta = neutralFillInverseFocusDelta; + +export const neutralStrokeDividerRestDelta = create('neutral-stroke-divider-rest-delta').withDefault(8); +/** @deprecated */ +export const neutralDividerRestDelta = neutralStrokeDividerRestDelta; export const neutralFillActiveDelta = create('neutral-fill-active-delta').withDefault(5); -export const neutralFillCardDelta = create('neutral-fill-card-delta').withDefault(3); +export const neutralFillCardRestDelta = create('neutral-fill-card-rest-delta').withDefault(3); +/** @deprecated */ +export const neutralFillCardDelta = neutralFillCardRestDelta; export const neutralFillFocusDelta = create('neutral-fill-focus-delta').withDefault(0); export const neutralFillHoverDelta = create('neutral-fill-hover-delta').withDefault(10); + export const neutralFillInputActiveDelta = create('neutral-fill-input-active-delta').withDefault(0); export const neutralFillInputFocusDelta = create('neutral-fill-input-focus-delta').withDefault(0); export const neutralFillInputHoverDelta = create('neutral-fill-input-hover-delta').withDefault(0); export const neutralFillInputRestDelta = create('neutral-fill-input-rest-delta').withDefault(0); -export const neutralFillInputSelectedDelta = create('neutral-fill-input-selected-delta').withDefault(0); + export const neutralFillRestDelta = create('neutral-fill-rest-delta').withDefault(7); -export const neutralFillSelectedDelta = create('neutral-fill-selected-delta').withDefault(7); + export const neutralFillStealthActiveDelta = create('neutral-fill-stealth-active-delta').withDefault(3); export const neutralFillStealthFocusDelta = create('neutral-fill-stealth-focus-delta').withDefault(0); export const neutralFillStealthHoverDelta = create('neutral-fill-stealth-hover-delta').withDefault(5); export const neutralFillStealthRestDelta = create('neutral-fill-stealth-rest-delta').withDefault(0); -export const neutralFillStealthSelectedDelta = create('neutral-fill-stealth-selected-delta').withDefault(7); -export const neutralFillToggleRestDelta = create('neutral-fill-toggle-rest-delta').withDefault(0); -export const neutralFillToggleActiveDelta = create('neutral-fill-toggle-active-delta').withDefault(-5); -export const neutralFillToggleFocusDelta = create('neutral-fill-toggle-focus-delta').withDefault(0); -export const neutralFillToggleHoverDelta = create('neutral-fill-toggle-hover-delta').withDefault(8); -export const neutralForegroundActiveDelta = create('neutral-foreground-active-delta').withDefault(0); -export const neutralForegroundFocusDelta = create('neutral-foreground-focus-delta').withDefault(0); -export const neutralForegroundHoverDelta = create('neutral-foreground-hover-delta').withDefault(0); -export const neutralOutlineActiveDelta = create('neutral-outline-active-delta').withDefault(16); -export const neutralOutlineFocusDelta = create('neutral-outline-focus-delta').withDefault(25); -export const neutralOutlineHoverDelta = create('neutral-outline-hover-delta').withDefault(40); -export const neutralOutlineRestDelta = create('neutral-outline-rest-delta').withDefault(25); -export const outlineWidth = create('outline-width').withDefault(1); + +export const neutralFillStrongRestDelta = create('neutral-fill-strong-rest-delta').withDefault(0); +export const neutralFillStrongActiveDelta = create('neutral-fill-strong-active-delta').withDefault(-5); +export const neutralFillStrongFocusDelta = create('neutral-fill-strong-focus-delta').withDefault(0); +export const neutralFillStrongHoverDelta = create('neutral-fill-strong-hover-delta').withDefault(8); +/** @deprecated */ +export const neutralFillToggleRestDelta = neutralFillStrongRestDelta; +/** @deprecated */ +export const neutralFillToggleHoverDelta = neutralFillStrongHoverDelta; +/** @deprecated */ +export const neutralFillToggleActiveDelta = neutralFillStrongActiveDelta; +/** @deprecated */ +export const neutralFillToggleFocusDelta = neutralFillStrongFocusDelta; + +export const neutralStrokeActiveDelta = create('neutral-stroke-active-delta').withDefault(16); +export const neutralStrokeFocusDelta = create('neutral-stroke-focus-delta').withDefault(25); +export const neutralStrokeHoverDelta = create('neutral-stroke-hover-delta').withDefault(40); +export const neutralStrokeRestDelta = create('neutral-stroke-rest-delta').withDefault(25); + +export const strokeWidth = create('stroke-width').withDefault(1); +/** @deprecated */ +export const outlineWidth = strokeWidth; + export const typeRampBaseFontSize = create('type-ramp-base-font-size').withDefault('14px'); export const typeRampBaseLineHeight = create('type-ramp-base-line-height').withDefault('20px'); export const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('12px'); @@ -106,6 +136,7 @@ export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-heig export const neutralPalette = create('neutral-palette').withDefault(PaletteRGB.create(middleGrey)); export const accentPalette = create('accent-palette').withDefault(PaletteRGB.create(accentBase)); + export const fillColor = create('fill-color').withDefault(element => { const palette = neutralPalette.getValueFor(element); return palette.get(0); @@ -148,7 +179,6 @@ const accentFillByContrast = (contrast: number) => (element: HTMLElement, fill?: accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), accentFillFocusDelta.getValueFor(element), - accentFillSelectedDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), @@ -170,9 +200,6 @@ export const accentFillActive = create('accent-fill-active').withDefa export const accentFillFocus = create('accent-fill-focus').withDefault((element: HTMLElement) => { return DI.findResponsibleContainer(element).get(AccentFill)(element).focus; }); -export const accentFillSelected = create('accent-fill-selected').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentFill)(element).selected; -}); const accentForegroundByContrast = (contrast: number) => (element: HTMLElement) => { return accentForegroundAlgorithm( @@ -196,7 +223,6 @@ export const AccentForeground = DI.createInterface< export const accentForegroundRest = create('accent-foreground-rest').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).rest, ); - export const accentForegroundHover = create('accent-foreground-hover').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).hover, ); @@ -208,18 +234,22 @@ export const accentForegroundFocus = create('accent-foreground-focus' ); // Neutral Divider -export const NeutralDivider = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-divider', builder => - builder.instance((element: HTMLElement) => - neutralDividerAlgorithm( - neutralPalette.getValueFor(element), - fillColor.getValueFor(element), - neutralDividerRestDelta.getValueFor(element), +export const NeutralStrokeDivider = DI.createInterface<(element: HTMLElement) => SwatchRGB>( + 'neutral-stroke-divider', + builder => + builder.instance((element: HTMLElement) => + neutralDividerAlgorithm( + neutralPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralStrokeDividerRestDelta.getValueFor(element), + ), ), - ), ); -export const neutralDivider = create('neutral-divider').withDefault(element => - DI.findResponsibleContainer(element).get(NeutralDivider)(element), +export const neutralStrokeDivider = create('neutral-stroke-divider').withDefault(element => + DI.findResponsibleContainer(element).get(NeutralStrokeDivider)(element), ); +/** @deprecated */ +export const neutralDivider = neutralStrokeDivider; // Neutral Fill Card export const NeutralFillCard = DI.createInterface<(element: HTMLElement, fill?: SwatchRGB) => SwatchRGB>( @@ -229,7 +259,7 @@ export const NeutralFillCard = DI.createInterface<(element: HTMLElement, fill?: neutralFillCardAlgorithm( neutralPalette.getValueFor(element), fill || fillColor.getValueFor(element), - neutralFillCardDelta.getValueFor(element), + neutralFillCardRestDelta.getValueFor(element), ), ), ); @@ -237,37 +267,42 @@ export const neutralFillCard = create('neutral-fill-card').withDefaul DI.findResponsibleContainer(element).get(NeutralFillCard)(element), ); -// Neutral Contrast Fill -export const NeutralContrastFill = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-contrast-fill', builder => +// Neutral Fill Inverse +export const NeutralFillInverse = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill-inverse', builder => builder.instance((element: HTMLElement, fill?: SwatchRGB) => - neutralContrastFillAlgorithm( + neutralFillInverseAlgorithm( neutralPalette.getValueFor(element), fill || fillColor.getValueFor(element), - neutralContrastFillRestDelta.getValueFor(element), - neutralContrastFillHoverDelta.getValueFor(element), - neutralContrastFillActiveDelta.getValueFor(element), - neutralContrastFillFocusDelta.getValueFor(element), + neutralFillInverseRestDelta.getValueFor(element), + neutralFillInverseHoverDelta.getValueFor(element), + neutralFillInverseActiveDelta.getValueFor(element), + neutralFillInverseFocusDelta.getValueFor(element), ), ), ); -export const neutralContrastFillRest = create('neutral-contrast-fill-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).rest, +export const neutralFillInverseRest = create('neutral-fill-inverse-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).rest, ); - -export const neutralContrastFillHover = create('neutral-contrast-fill-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).hover, +export const neutralFillInverseHover = create('neutral-fill-inverse-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).hover, ); - -export const neutralContrastFillActive = create('neutral-contrast-fill-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).active, +export const neutralFillInverseActive = create('neutral-fill-inverse-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).active, ); - -export const neutralContrastFillFocus = create('neutral-contrast-fill-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralContrastFill)(element).focus, +export const neutralFillInverseFocus = create('neutral-fill-inverse-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).focus, ); +/** @deprecated */ +export const neutralContrastFillRest = neutralFillInverseRest; +/** @deprecated */ +export const neutralContrastFillHover = neutralFillInverseHover; +/** @deprecated */ +export const neutralContrastFillActive = neutralFillInverseActive; +/** @deprecated */ +export const neutralContrastFillFocus = neutralFillInverseFocus; // Neutral Fill Input export const NeutralFillInput = DI.createInterface< @@ -281,7 +316,6 @@ export const NeutralFillInput = DI.createInterface< neutralFillInputHoverDelta.getValueFor(element), neutralFillInputActiveDelta.getValueFor(element), neutralFillInputFocusDelta.getValueFor(element), - neutralFillInputSelectedDelta.getValueFor(element), ); }), ); @@ -292,16 +326,12 @@ export const neutralFillInputRest = create('neutral-fill-input-rest') export const neutralFillInputHover = create('neutral-fill-input-hover').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).hover, ); - export const neutralFillInputFocus = create('neutral-fill-input-focus').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).focus, ); export const neutralFillInputActive = create('neutral-fill-input-active').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).active, ); -export const neutralFillInputSelected = create('neutral-fill-input-selected').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).selected, -); // Neutral Fill Stealth export const NeutralFillStealth = DI.createInterface< @@ -315,7 +345,6 @@ export const NeutralFillStealth = DI.createInterface< neutralFillStealthHoverDelta.getValueFor(element), neutralFillStealthActiveDelta.getValueFor(element), neutralFillStealthFocusDelta.getValueFor(element), - neutralFillStealthSelectedDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), @@ -327,53 +356,54 @@ export const NeutralFillStealth = DI.createInterface< export const neutralFillStealthRest = create('neutral-fill-stealth-rest').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).rest, ); - export const neutralFillStealthHover = create('neutral-fill-stealth-hover').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).hover, ); - export const neutralFillStealthActive = create('neutral-fill-stealth-active').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).active, ); export const neutralFillStealthFocus = create('neutral-fill-stealth-focus').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).focus, ); -export const neutralFillStealthSelected = create('neutral-fill-stealth-selected').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).selected, -); -// Neutral Fill Toggle +// Neutral Fill Strong // TODO: none of these are actually used, do we need them? -export const NeutralFillToggle = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill-toggle', builder => +export const NeutralFillStrong = DI.createInterface< + (element: HTMLElement, fill?: SwatchRGB) => ReturnType +>('neutral-fill-strong', builder => builder.instance((element: HTMLElement, fill?: SwatchRGB) => - neutralFillToggleAlgorithm( + neutralFillContrastAlgorithm( neutralPalette.getValueFor(element), fill || fillColor.getValueFor(element), - neutralFillToggleRestDelta.getValueFor(element), - neutralFillToggleHoverDelta.getValueFor(element), - neutralFillToggleActiveDelta.getValueFor(element), - neutralFillToggleFocusDelta.getValueFor(element), + neutralFillStrongRestDelta.getValueFor(element), + neutralFillStrongHoverDelta.getValueFor(element), + neutralFillStrongActiveDelta.getValueFor(element), + neutralFillStrongFocusDelta.getValueFor(element), ), ), ); -export const neutralFillToggleRest = create('neutral-fill-toggle-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).rest, +export const neutralFillStrongRest = create('neutral-fill-strong-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).rest, ); - -export const neutralFillToggleHover = create('neutral-fill-toggle-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).hover, +export const neutralFillStrongHover = create('neutral-fill-strong-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).hover, ); - -export const neutralFillToggleActive = create('neutral-fill-toggle-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).active, +export const neutralFillStrongActive = create('neutral-fill-strong-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).active, ); - -export const neutralFillToggleFocus = create('neutral-fill-toggle-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillToggle)(element).focus, +export const neutralFillStrongFocus = create('neutral-fill-strong-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).focus, ); +/** @deprecated */ +export const neutralFillToggleRest = neutralFillStrongRest; +/** @deprecated */ +export const neutralFillToggleHover = neutralFillStrongHover; +/** @deprecated */ +export const neutralFillToggleActive = neutralFillStrongActive; +/** @deprecated */ +export const neutralFillToggleFocus = neutralFillStrongFocus; + // Neutral Fill export const NeutralFill = DI.createInterface< (element: HTMLElement, fill?: SwatchRGB) => ReturnType @@ -386,7 +416,6 @@ export const NeutralFill = DI.createInterface< neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element), - neutralFillSelectedDelta.getValueFor(element), ), ), ); @@ -402,36 +431,36 @@ export const neutralFillActive = create('neutral-fill-active').withDe export const neutralFillFocus = create('neutral-fill-focus').withDefault( (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).focus, ); -export const neutralFillSelected = create('neutral-fill-selected').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).selected, -); -// Neutral Focus -export const NeutralFocus = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-focus', builder => +// Focus Stroke Outer +export const FocusStrokeOuter = DI.createInterface<(element: HTMLElement) => SwatchRGB>('focus-stroke-outer', builder => builder.instance((element: HTMLElement) => - neutralFocusAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), + focusStrokeOuterAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), ), ); -export const neutralFocus = create('neutral-focus').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralFocus)(element), + +export const focusStrokeOuter = create('focus-stroke-outer').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(FocusStrokeOuter)(element), ); +/** @deprecated */ +export const neutralFocus = focusStrokeOuter; -// Neutral Focus Inner Accent -export const NeutralFocusInnerAccent = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'neutral-focus-inner-accent', - builder => - builder.instance((element: HTMLElement) => - neutralFocusInnerAccentAlgorithm( - accentPalette.getValueFor(element), - fillColor.getValueFor(element), - neutralFocus.getValueFor(element), - ), +// Focus Stroke Inner +export const FocusStrokeInner = DI.createInterface<(element: HTMLElement) => SwatchRGB>('focus-stroke-inner', builder => + builder.instance((element: HTMLElement) => + focusStrokeInnerAlgorithm( + accentPalette.getValueFor(element), + fillColor.getValueFor(element), + focusStrokeOuter.getValueFor(element), ), + ), ); -export const neutralFocusInnerAccent = create( - 'neutral-focus-inner-accent', -).withDefault((element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFocusInnerAccent)(element)); +export const focusStrokeInner = create('focus-stroke-inner').withDefault((element: HTMLElement) => + DI.findResponsibleContainer(element).get(FocusStrokeInner)(element), +); +/** @deprecated */ +export const neutralFocusInnerAccent = focusStrokeInner; // Neutral Foreground Hint export const NeutralForegroundHint = DI.createInterface<(element: HTMLElement) => SwatchRGB>( @@ -455,37 +484,39 @@ export const NeutralForeground = DI.createInterface< ), ); -export const neutralForegroundRest = create('neutral-foreground-rest').withDefault((element: HTMLElement) => +export const neutralForeground = create('neutral-foreground').withDefault((element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralForeground)(element), ); +/** @deprecated */ +export const neutralForegroundRest = neutralForeground; -// Neutral Outline -export const NeutralOutline = DI.createInterface<(element: HTMLElement) => ReturnType>( - 'neutral-outline', +// Neutral Stroke +export const NeutralStroke = DI.createInterface<(element: HTMLElement) => ReturnType>( + 'neutral-stroke', builder => builder.instance((element: HTMLElement) => - NeutralOutlineAlgorithm( + neutralStrokeAlgorithm( neutralPalette.getValueFor(element), fillColor.getValueFor(element), - neutralOutlineRestDelta.getValueFor(element), - neutralOutlineHoverDelta.getValueFor(element), - neutralOutlineActiveDelta.getValueFor(element), - neutralOutlineFocusDelta.getValueFor(element), + neutralStrokeRestDelta.getValueFor(element), + neutralStrokeHoverDelta.getValueFor(element), + neutralStrokeActiveDelta.getValueFor(element), + neutralStrokeFocusDelta.getValueFor(element), ), ), ); -export const neutralOutlineRest = create('neutral-outline-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).rest, +export const neutralStrokeRest = create('neutral-stroke-rest').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).rest, ); -export const neutralOutlineHover = create('neutral-outline-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).hover, +export const neutralStrokeHover = create('neutral-stroke-hover').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).hover, ); -export const neutralOutlineActive = create('neutral-outline-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).active, +export const neutralStrokeActive = create('neutral-stroke-active').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).active, ); -export const neutralOutlineFocus = create('neutral-outline-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralOutline)(element).focus, +export const neutralStrokeFocus = create('neutral-stroke-focus').withDefault( + (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).focus, ); // Neutral Layer Floating @@ -496,7 +527,7 @@ export const NeutralLayerFloating = DI.createInterface<(element: HTMLElement) => neutralLayerFloatingAlgorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardDelta.getValueFor(element), + neutralFillCardRestDelta.getValueFor(element), ), ), ); @@ -522,7 +553,7 @@ export const NeutralLayerL2 = DI.createInterface<(element: HTMLElement) => Swatc neutralLayerL2Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardDelta.getValueFor(element), + neutralFillCardRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), @@ -540,7 +571,7 @@ export const NeutralLayerL3 = DI.createInterface<(element: HTMLElement) => Swatc neutralLayerL3Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardDelta.getValueFor(element), + neutralFillCardRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), @@ -558,7 +589,7 @@ export const NeutralLayerL4 = DI.createInterface<(element: HTMLElement) => Swatc neutralLayerL4Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardDelta.getValueFor(element), + neutralFillCardRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index 36a3b18c5f38c1..9dc4b0448b0819 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { elevation } from '../styles'; -import { elevatedCornerRadius, fillColor, outlineWidth } from '../design-tokens'; +import { surfaceCornerRadius, fillColor, strokeWidth } from '../design-tokens'; export const dialogStyles = (context, definition) => css` :host([hidden]) { @@ -39,11 +39,11 @@ export const dialogStyles = (context, definition) => css` ${elevation} margin-top: auto; margin-bottom: auto; - border-radius: calc(${elevatedCornerRadius} * 1px); + border-radius: calc(${surfaceCornerRadius} * 1px); width: var(--dialog-width); height: var(--dialog-height); background: ${fillColor}; z-index: 1; - border: calc(${outlineWidth} * 1px) solid transparent; + border: calc(${strokeWidth} * 1px) solid transparent; } `; diff --git a/packages/web-components/src/divider/divider.styles.ts b/packages/web-components/src/divider/divider.styles.ts index 16742c69fcc110..2cca71b8655331 100644 --- a/packages/web-components/src/divider/divider.styles.ts +++ b/packages/web-components/src/divider/divider.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { designUnit, neutralDivider, outlineWidth } from '../design-tokens'; +import { designUnit, neutralStrokeDivider, strokeWidth } from '../design-tokens'; export const dividerStyles = (context, definition) => css` @@ -9,6 +9,6 @@ export const dividerStyles = (context, definition) => height: 0; margin: calc(${designUnit} * 1px) 0; border: none; - border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; } `; diff --git a/packages/web-components/src/flipper/flipper.styles.ts b/packages/web-components/src/flipper/flipper.styles.ts index ad865a9228aff3..6adfa73b2bce09 100644 --- a/packages/web-components/src/flipper/flipper.styles.ts +++ b/packages/web-components/src/flipper/flipper.styles.ts @@ -3,16 +3,16 @@ import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles'; import { - neutralForegroundRest, + neutralForeground, neutralFillStealthRest, - neutralOutlineRest, + neutralStrokeRest, disabledOpacity, neutralFillStealthHover, - neutralOutlineHover, - neutralFocus, + neutralStrokeHover, + focusStrokeOuter, neutralFillStealthActive, - neutralOutlineActive, - outlineWidth, + neutralStrokeActive, + strokeWidth, } from '../design-tokens'; export const flipperStyles = (context, definition) => @@ -25,7 +25,7 @@ export const flipperStyles = (context, definition) => margin: 0; position: relative; fill: currentcolor; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; background: transparent; border: none; outline: none; @@ -36,7 +36,7 @@ export const flipperStyles = (context, definition) => content: ""; opacity: 0.8; background: ${neutralFillStealthRest}; - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; border-radius: 50%; position: absolute; top: 0; @@ -67,7 +67,7 @@ export const flipperStyles = (context, definition) => :host(:hover)::before { background: ${neutralFillStealthHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host(:${focusVisible}) { @@ -75,13 +75,13 @@ export const flipperStyles = (context, definition) => } :host(:${focusVisible})::before { - box-shadow: 0 0 0 1px ${neutralFocus} inset; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; + border-color: ${focusStrokeOuter}; } :host(:active)::before { background: ${neutralFillStealthActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host::-moz-focus-inner { diff --git a/packages/web-components/src/listbox-option/listbox-option.styles.ts b/packages/web-components/src/listbox-option/listbox-option.styles.ts index 94a30c256c4a1b..7cee0d6bb68a27 100644 --- a/packages/web-components/src/listbox-option/listbox-option.styles.ts +++ b/packages/web-components/src/listbox-option/listbox-option.styles.ts @@ -4,14 +4,14 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles/size'; import { bodyFont, - cornerRadius, - focusOutlineWidth, - neutralForegroundRest, + controlCornerRadius, + focusStrokeWidth, + neutralForeground, typeRampBaseFontSize, typeRampBaseLineHeight, designUnit, - neutralFocusInnerAccent, - neutralFocus, + focusStrokeInner, + focusStrokeOuter, accentFillHover, accentForegroundCut, accentFillActive, @@ -24,10 +24,10 @@ export const optionStyles = (context, definition) => css` ${display('inline-flex')} :host { font-family: ${bodyFont}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${focusOutlineWidth} * 1px) solid transparent; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${focusStrokeWidth} * 1px) solid transparent; box-sizing: border-box; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; fill: currentcolor; font-size: ${typeRampBaseFontSize}; @@ -43,8 +43,8 @@ export const optionStyles = (context, definition) => } :host(:${focusVisible}) { - box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${neutralFocusInnerAccent}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) inset ${focusStrokeInner}; + border-color: ${focusStrokeOuter}; background: ${accentFillHover}; color: ${accentForegroundCut}; } @@ -61,12 +61,12 @@ export const optionStyles = (context, definition) => :host(:not([aria-selected="true"]):hover) { background: ${neutralFillHover}; - color: ${neutralForegroundRest}}; + color: ${neutralForeground}}; } :host(:not([aria-selected="true"]):active) { background: ${neutralFillActive}; - color: ${neutralForegroundRest}}; + color: ${neutralForeground}}; } :host([disabled]) { diff --git a/packages/web-components/src/listbox/listbox.styles.ts b/packages/web-components/src/listbox/listbox.styles.ts index 6cdd20c1ddef57..1d689a40a22354 100644 --- a/packages/web-components/src/listbox/listbox.styles.ts +++ b/packages/web-components/src/listbox/listbox.styles.ts @@ -3,28 +3,28 @@ import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsof import { SystemColors } from '@microsoft/fast-web-utilities'; import { neutralLayerFloating, - neutralOutlineRest, - neutralFocus, - outlineWidth, - cornerRadius, + neutralStrokeRest, + focusStrokeOuter, + strokeWidth, + controlCornerRadius, designUnit, - focusOutlineWidth, + focusStrokeWidth, } from '../design-tokens'; export const listboxStyles = (context, definition) => css` ${display('inline-flex')} :host { background: ${neutralLayerFloating}; - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; - border-radius: calc(${cornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; + border-radius: calc(${controlCornerRadius} * 1px); box-sizing: border-box; flex-direction: column; padding: calc(${designUnit} * 1px) 0; } :host(:focus-within:not([disabled])) { - border-color: ${neutralFocus}; - box-shadow: 0 0 0 1px ${neutralFocus} inset; + border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; } `.withBehaviors( forcedColorsStylesheetBehavior( @@ -32,7 +32,7 @@ export const listboxStyles = (context, definition) => :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } @@ -40,7 +40,7 @@ export const listboxStyles = (context, definition) => :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index 506fdc59ab3ff7..104db3d00eae50 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -4,18 +4,18 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles/index'; import { designUnit, - neutralForegroundRest, + neutralForeground, bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, - cornerRadius, - outlineWidth, - neutralFocus, + controlCornerRadius, + strokeWidth, + focusStrokeOuter, neutralForegroundHint, neutralFillStealthHover, neutralFillStealthActive, disabledOpacity, - focusOutlineWidth, + focusStrokeWidth, } from '../design-tokens'; export const menuItemStyles = (context, definition) => @@ -34,13 +34,13 @@ export const menuItemStyles = (context, definition) => padding: 0; margin: 0 calc(${designUnit} * 1px); white-space: nowrap; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; fill: currentcolor; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid transparent; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid transparent; } :host(.indent-0) { @@ -77,8 +77,8 @@ export const menuItemStyles = (context, definition) => } :host(:${focusVisible}) { - border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter}; } :host(:hover) { @@ -89,7 +89,7 @@ export const menuItemStyles = (context, definition) => :host(:active), :host(.expanded) { background: ${neutralFillStealthActive}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; } :host([disabled]) { @@ -131,7 +131,7 @@ export const menuItemStyles = (context, definition) => :host(:active) .start, :host(:active) .end, :host(:active)::slotted(svg) { - fill: ${neutralForegroundRest}; + fill: ${neutralForeground}; } :host(.indent-1[aria-haspopup="menu"]), @@ -186,7 +186,7 @@ export const menuItemStyles = (context, definition) => } :host .checkbox { - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); } :host .radio { @@ -210,7 +210,7 @@ export const menuItemStyles = (context, definition) => width: 100%; height: 100%; display: block; - fill: ${neutralForegroundRest}; + fill: ${neutralForeground}; pointer-events: none; } @@ -254,7 +254,7 @@ export const menuItemStyles = (context, definition) => :host(:${focusVisible}) { background: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc(${outlineWidth} * 1px) inset ${SystemColors.HighlightText}; + box-shadow: 0 0 0 calc(${strokeWidth} * 1px) inset ${SystemColors.HighlightText}; color: ${SystemColors.HighlightText}; fill: currentcolor; } diff --git a/packages/web-components/src/menu/menu.styles.ts b/packages/web-components/src/menu/menu.styles.ts index 509f1ead795a97..6417fc0c9643db 100644 --- a/packages/web-components/src/menu/menu.styles.ts +++ b/packages/web-components/src/menu/menu.styles.ts @@ -3,11 +3,11 @@ import { display } from '@microsoft/fast-foundation'; import { elevation } from '../styles/index'; import { neutralLayerFloating, - outlineWidth, - elevatedCornerRadius, - cornerRadius, + strokeWidth, + surfaceCornerRadius, + controlCornerRadius, designUnit, - neutralDivider, + neutralStrokeDivider, } from '../design-tokens'; export const menuStyles = (context, definition) => @@ -15,11 +15,11 @@ export const menuStyles = (context, definition) => ${display('block')} :host { --elevation: 11; background: ${neutralLayerFloating}; - border: calc(${outlineWidth} * 1px) solid transparent; - border-radius: ${elevatedCornerRadius}; + border: calc(${strokeWidth} * 1px) solid transparent; + border-radius: ${surfaceCornerRadius}; ${elevation} margin: 0; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); padding: calc(${designUnit} * 1px) 0; max-width: 368px; min-width: 64px; @@ -35,6 +35,6 @@ export const menuStyles = (context, definition) => height: 0; margin: 0; border: none; - border-top: calc(${outlineWidth} * 1px) solid ${neutralDivider}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; } `; diff --git a/packages/web-components/src/number-field/number-field.styles.ts b/packages/web-components/src/number-field/number-field.styles.ts index d01cb48638b4d5..d17b4cbb34f7d2 100644 --- a/packages/web-components/src/number-field/number-field.styles.ts +++ b/packages/web-components/src/number-field/number-field.styles.ts @@ -6,19 +6,19 @@ import { appearanceBehavior } from '../utilities/behaviors'; import { neutralFillRest, neutralFillHover, - neutralForegroundRest, + neutralForeground, neutralFillInputRest, - neutralOutlineRest, - cornerRadius, - outlineWidth, + neutralStrokeRest, + controlCornerRadius, + strokeWidth, designUnit, typeRampBaseFontSize, typeRampBaseLineHeight, neutralFillInputHover, neutralFillInputActive, - neutralOutlineHover, - neutralOutlineActive, - neutralFocus, + neutralStrokeHover, + neutralStrokeActive, + focusStrokeOuter, disabledOpacity, bodyFont, } from '../design-tokens'; @@ -83,10 +83,10 @@ export const numberFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; background: ${neutralFillInputRest}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; height: calc(${heightNumber} * 1px); } @@ -119,7 +119,7 @@ export const numberFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -151,11 +151,11 @@ export const numberFieldStyles = (context, definition) => } .step-up:before { - border-bottom-color: ${neutralForegroundRest}; + border-bottom-color: ${neutralForeground}; } .step-down:before { - border-top-color: ${neutralForegroundRest}; + border-top-color: ${neutralForeground}; } ::slotted(svg) { @@ -178,17 +178,17 @@ export const numberFieldStyles = (context, definition) => :host(:hover:not([disabled])) .root { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host(:active:not([disabled])) .root { background: ${neutralFillInputActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host(:focus-within:not([disabled])) .root { - border-color: ${neutralFocus}; - box-shadow: 0 0 0 1px ${neutralFocus} inset; + border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; } :host(:hover:not([disabled])) .controls, @@ -208,7 +208,7 @@ export const numberFieldStyles = (context, definition) => } :host([disabled]) .control { - border-color: ${neutralOutlineRest}; + border-color: ${neutralStrokeRest}; } `.withBehaviors( appearanceBehavior('filled', numberFieldFilledStyles(context, definition)), diff --git a/packages/web-components/src/progress/progress/progress.styles.ts b/packages/web-components/src/progress/progress/progress.styles.ts index f7f2874a831ea5..b9181dfeb7b7c3 100644 --- a/packages/web-components/src/progress/progress/progress.styles.ts +++ b/packages/web-components/src/progress/progress/progress.styles.ts @@ -6,7 +6,7 @@ import { neutralFillRest, accentForegroundRest, neutralForegroundHint, - outlineWidth, + strokeWidth, } from '../../design-tokens'; export const progressStyles = (context, definition) => @@ -123,7 +123,7 @@ export const progressStyles = (context, definition) => } .progress { background-color: ${SystemColors.Field}; - border: calc(${outlineWidth} * 1px) solid ${SystemColors.FieldText}; + border: calc(${strokeWidth} * 1px) solid ${SystemColors.FieldText}; } :host(.paused) .indeterminate-indicator-1, .indeterminate-indicator-2 { diff --git a/packages/web-components/src/radio/radio.styles.ts b/packages/web-components/src/radio/radio.styles.ts index b943f018e10cc0..c3fc485d58f504 100644 --- a/packages/web-components/src/radio/radio.styles.ts +++ b/packages/web-components/src/radio/radio.styles.ts @@ -4,15 +4,15 @@ import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } import { heightNumber } from '../styles'; import { designUnit, - outlineWidth, - neutralOutlineRest, + strokeWidth, + neutralStrokeRest, neutralFillInputRest, - neutralForegroundRest, + neutralForeground, neutralFillInputHover, - neutralOutlineHover, + neutralStrokeHover, neutralFillInputActive, - neutralOutlineActive, - neutralFocus, + neutralStrokeActive, + focusStrokeOuter, disabledOpacity, fillColor, } from '../design-tokens'; @@ -41,7 +41,7 @@ export const radioStyles = (context, definition) => height: calc(var(--input-size) * 1px); box-sizing: border-box; border-radius: 50%; - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; background: ${neutralFillInputRest}; outline: none; cursor: pointer; @@ -54,7 +54,7 @@ export const radioStyles = (context, definition) => .label { font-family: var(--body-font); - color: ${neutralForegroundRest}; + color: ${neutralForeground}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' } padding-inline-start: calc(${designUnit} * 2px + 2px); @@ -76,25 +76,25 @@ export const radioStyles = (context, definition) => bottom: 5px; border-radius: 50%; display: inline-block; - background: ${neutralForegroundRest}; - fill: ${neutralForegroundRest}; + background: ${neutralForeground}; + fill: ${neutralForeground}; opacity: 0; pointer-events: none; } :host(:enabled) .control:hover{ background: ${neutralFillInputHover}; - border-color:${neutralOutlineHover}; + border-color:${neutralStrokeHover}; } :host(:enabled) .control:active { background:${neutralFillInputActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; + border-color: ${focusStrokeOuter}; } :host(.disabled) .label, diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index c29a3e51468993..47cdf9ee263beb 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -7,25 +7,25 @@ import { appearanceBehavior } from '../utilities/behaviors'; import { neutralFillRest, neutralFillHover, - neutralFocus, + focusStrokeOuter, neutralFillInputRest, - neutralOutlineRest, - neutralForegroundRest, + neutralStrokeRest, + neutralForeground, neutralLayerFloating, - outlineWidth, - cornerRadius, + strokeWidth, + controlCornerRadius, designUnit, typeRampBaseFontSize, typeRampBaseLineHeight, neutralFillInputHover, - neutralOutlineHover, - neutralFocusInnerAccent, + neutralStrokeHover, + focusStrokeInner, accentFillHover, accentForegroundCut, disabledOpacity, neutralFillStealthRest, neutralFillInputActive, - neutralOutlineActive, + neutralStrokeActive, bodyFont, } from '../design-tokens'; @@ -41,7 +41,7 @@ export const selectFilledStyles = (context, definition) => css` } :host([appearance="filled"]:${focusVisible}) { - border-color: ${neutralFocus}; + border-color: ${focusStrokeOuter}; } `; @@ -50,10 +50,10 @@ export const selectStyles = (context, definition) => ${display('inline-flex')} :host { --elevation: 14; background: ${neutralFillInputRest}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; box-sizing: border-box; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; font-family: ${bodyFont}; height: calc(${heightNumber} * 1px); position: relative; @@ -65,7 +65,7 @@ export const selectStyles = (context, definition) => .listbox { ${elevation} background: ${neutralLayerFloating}; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); box-sizing: border-box; display: inline-flex; flex-direction: column; @@ -98,7 +98,7 @@ export const selectStyles = (context, definition) => :host(:not([disabled]):hover) { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host(:focus) { @@ -106,21 +106,21 @@ export const selectStyles = (context, definition) => } :host(:${focusVisible}) { - border-color: ${neutralFocus}; + border-color: ${focusStrokeOuter}; outline: none; box-shadow: - 0 0 0 1px inset ${neutralFocus}; + 0 0 0 1px inset ${focusStrokeOuter}; } :host([open]:${focusVisible}) { - border-color: ${neutralOutlineRest}; + border-color: ${neutralStrokeRest}; outline: none; box-shadow: none; } :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]:not([disabled])) { - box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccent}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${focusStrokeInner}; + border-color: ${focusStrokeOuter}; background: ${accentFillHover}; color: ${accentForegroundCut}; } @@ -137,13 +137,13 @@ export const selectStyles = (context, definition) => :host([disabled]:hover) { background: ${neutralFillStealthRest}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; fill: currentcolor; } :host(:not([disabled])) .control:active { background: ${neutralFillInputActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host([open][position="above"]) .listbox, diff --git a/packages/web-components/src/skeleton/skeleton.styles.ts b/packages/web-components/src/skeleton/skeleton.styles.ts index 90eb47f25f6931..610145e35baf98 100644 --- a/packages/web-components/src/skeleton/skeleton.styles.ts +++ b/packages/web-components/src/skeleton/skeleton.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { cornerRadius, neutralFillRest } from '../design-tokens'; +import { controlCornerRadius, neutralFillRest } from '../design-tokens'; export const skeletonStyles = (context, definition) => css` @@ -20,7 +20,7 @@ export const skeletonStyles = (context, definition) => } :host(.rect) { - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); } :host(.circle) { diff --git a/packages/web-components/src/slider-label/slider-label.styles.ts b/packages/web-components/src/slider-label/slider-label.styles.ts index 632ee9a7e1e175..7abdcfe6765b59 100644 --- a/packages/web-components/src/slider-label/slider-label.styles.ts +++ b/packages/web-components/src/slider-label/slider-label.styles.ts @@ -2,7 +2,7 @@ import { css } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { heightNumber } from '../styles'; -import { bodyFont, neutralOutlineRest, designUnit, disabledOpacity } from '../design-tokens'; +import { bodyFont, neutralStrokeRest, designUnit, disabledOpacity } from '../design-tokens'; export const sliderLabelStyles = (context, definition) => css` @@ -47,7 +47,7 @@ export const sliderLabelStyles = (context, definition) => .mark { width: calc((${designUnit} / 2) * 1px); height: calc(${heightNumber} * 0.25 * 1px); - background: ${neutralOutlineRest}; + background: ${neutralStrokeRest}; justify-self: center; } :host(.vertical) .mark { diff --git a/packages/web-components/src/slider/slider.styles.ts b/packages/web-components/src/slider/slider.styles.ts index 80a1b5e9b24d29..6ee7be50a371b5 100644 --- a/packages/web-components/src/slider/slider.styles.ts +++ b/packages/web-components/src/slider/slider.styles.ts @@ -4,13 +4,13 @@ import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } import { heightNumber } from '../styles'; import { designUnit, - cornerRadius, - neutralFocus, - neutralForegroundRest, - neutralOutlineHover, - neutralOutlineActive, + controlCornerRadius, + focusStrokeOuter, + neutralForeground, + neutralStrokeHover, + neutralStrokeActive, density, - neutralOutlineRest, + neutralStrokeRest, disabledOpacity, fillColor, } from '../design-tokens'; @@ -27,7 +27,7 @@ export const sliderStyles = (context, defintion) => margin: calc(${designUnit} * 1px) 0; user-select: none; box-sizing: border-box; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); outline: none; cursor: pointer; } @@ -45,7 +45,7 @@ export const sliderStyles = (context, defintion) => grid-template-columns: calc(var(--thumb-size) * 1px) 1fr; } :host(:${focusVisible}) .thumb-cursor { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; } .thumb-container { position: absolute; @@ -57,16 +57,16 @@ export const sliderStyles = (context, defintion) => border: none; width: calc(var(--thumb-size) * 1px); height: calc(var(--thumb-size) * 1px); - background: ${neutralForegroundRest}; + background: ${neutralForeground}; border-radius: 50%; } .thumb-cursor:hover { - background: ${neutralForegroundRest};; - border-color: ${neutralOutlineHover}; + background: ${neutralForeground};; + border-color: ${neutralStrokeHover}; } .thumb-cursor:active { - background: ${neutralForegroundRest}; - border-color: ${neutralOutlineActive}; + background: ${neutralForeground}; + border-color: ${neutralStrokeActive}; } :host(.horizontal) .thumb-container { transform: translateX(calc(var(--thumb-translate) * 1px)); @@ -92,7 +92,7 @@ export const sliderStyles = (context, defintion) => height: 100%; } .track { - background: ${neutralOutlineRest}; + background: ${neutralStrokeRest}; position: absolute; } :host(.vertical) { diff --git a/packages/web-components/src/styles/patterns/button.ts b/packages/web-components/src/styles/patterns/button.ts index 5de2d0805d03cf..338eaedda144dc 100644 --- a/packages/web-components/src/styles/patterns/button.ts +++ b/packages/web-components/src/styles/patterns/button.ts @@ -4,28 +4,28 @@ import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsof import { heightNumber } from '../size'; import { neutralFillRest, - neutralForegroundRest, + neutralForeground, typeRampBaseFontSize, typeRampBaseLineHeight, - cornerRadius, + controlCornerRadius, designUnit, density, - outlineWidth, + strokeWidth, neutralFillHover, neutralFillActive, - neutralFocus, - focusOutlineWidth, + focusStrokeOuter, + focusStrokeWidth, accentFillRest, accentForegroundCut, accentFillHover, accentFillActive, - neutralFocusInnerAccent, + focusStrokeInner, accentForegroundRest, accentForegroundHover, accentForegroundActive, - neutralOutlineRest, - neutralOutlineHover, - neutralOutlineActive, + neutralStrokeRest, + neutralStrokeHover, + neutralStrokeActive, neutralFillStealthRest, neutralFillStealthHover, neutralFillStealthActive, @@ -45,8 +45,8 @@ export const baseButtonStyles = (context, definition) => height: calc(${heightNumber} * 1px); min-width: calc(${heightNumber} * 1px); background-color: ${neutralFillRest}; - color: ${neutralForegroundRest}; - border-radius: calc(${cornerRadius} * 1px); + color: ${neutralForeground}; + border-radius: calc(${controlCornerRadius} * 1px); fill: currentcolor; cursor: pointer; } @@ -63,7 +63,7 @@ export const baseButtonStyles = (context, definition) => white-space: nowrap; outline: none; text-decoration: none; - border: calc(${outlineWidth} * 1px) solid transparent; + border: calc(${strokeWidth} * 1px) solid transparent; color: inherit; border-radius: inherit; fill: inherit; @@ -91,8 +91,8 @@ export const baseButtonStyles = (context, definition) => } .control:${focusVisible} { - border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter}; } .control::-moz-focus-inner { @@ -149,7 +149,7 @@ export const baseButtonStyles = (context, definition) => forced-color-adjust: none; background-color: ${SystemColors.Highlight}; border-color: ${SystemColors.ButtonText}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${SystemColors.ButtonText}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${SystemColors.ButtonText}; color: ${SystemColors.HighlightText}; } @@ -196,7 +196,7 @@ export const AccentButtonStyles = css` } :host([appearance="accent"]) .control:${focusVisible} { - box-shadow: 0 0 0 calc(${focusOutlineWidth} * 1px) inset ${neutralFocusInnerAccent}, 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus} + box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) inset ${focusStrokeInner}, 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter} } `.withBehaviors( forcedColorsStylesheetBehavior( @@ -268,7 +268,7 @@ export const HypertextStyles = css` :host([appearance="hypertext"]) .control:visited { background: transparent; color: ${accentForegroundRest}; - border-bottom: calc(${outlineWidth} * 1px) solid ${accentForegroundRest}; + border-bottom: calc(${strokeWidth} * 1px) solid ${accentForegroundRest}; } :host([appearance="hypertext"]) .control:hover { border-bottom-color: ${accentForegroundHover}; @@ -277,8 +277,8 @@ export const HypertextStyles = css` border-bottom-color: ${accentForegroundActive}; } :host([appearance="hypertext"]) .control:${focusVisible} { - border-bottom: calc(${focusOutlineWidth} * 1px) solid ${neutralFocus}; - margin-bottom: calc(calc(${outlineWidth} - ${focusOutlineWidth}) * 1px); + border-bottom: calc(${focusStrokeWidth} * 1px) solid ${focusStrokeOuter}; + margin-bottom: calc(calc(${strokeWidth} - ${focusStrokeWidth}) * 1px); } `.withBehaviors( forcedColorsStylesheetBehavior( @@ -323,7 +323,7 @@ export const LightweightButtonStyles = css` :host([appearance="lightweight"]) .content::before { content: ""; display: block; - height: calc(${outlineWidth} * 1px); + height: calc(${strokeWidth} * 1px); position: absolute; top: calc(1em + 3px); width: 100%; @@ -338,8 +338,8 @@ export const LightweightButtonStyles = css` } :host([appearance="lightweight"]) .control:${focusVisible} .content::before { - background: ${neutralForegroundRest}; - height: calc(${focusOutlineWidth} * 1px); + background: ${neutralForeground}; + height: calc(${focusStrokeWidth} * 1px); } `.withBehaviors( forcedColorsStylesheetBehavior( @@ -379,15 +379,15 @@ export const LightweightButtonStyles = css` export const OutlineButtonStyles = css` :host([appearance="outline"]) { background: transparent; - border-color: ${neutralOutlineRest}; + border-color: ${neutralStrokeRest}; } :host([appearance="outline"]:hover) { - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host([appearance="outline"]:active) { - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host([appearance="outline"]) .control { @@ -395,8 +395,8 @@ export const OutlineButtonStyles = css` } :host([appearance="outline"]) .control:${focusVisible} { - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) ${neutralFocus}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter}; + border-color: ${focusStrokeOuter}; } `.withBehaviors( forcedColorsStylesheetBehavior( diff --git a/packages/web-components/src/styles/patterns/input.ts b/packages/web-components/src/styles/patterns/input.ts index b55798d3b565fa..90276f4f065f77 100644 --- a/packages/web-components/src/styles/patterns/input.ts +++ b/packages/web-components/src/styles/patterns/input.ts @@ -1,6 +1,6 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { accentFillRestBehavior } from '../behaviors'; -import { focusOutlineWidth, accentFillRest, cornerRadius } from '../../design-tokens'; +import { focusStrokeWidth, accentFillRest, controlCornerRadius } from '../../design-tokens'; /** * @internal @@ -11,9 +11,9 @@ export const fillStateStyles = (context, definition) => css` content: ''; position: absolute; bottom: 0; - border-bottom: calc(${focusOutlineWidth} * 1px) solid ${accentFillRest}; - border-bottom-left-radius: calc(${cornerRadius} * 1px); - border-bottom-right-radius: calc(${cornerRadius} * 1px); + border-bottom: calc(${focusStrokeWidth} * 1px) solid ${accentFillRest}; + border-bottom-left-radius: calc(${controlCornerRadius} * 1px); + border-bottom-right-radius: calc(${controlCornerRadius} * 1px); z-index: 2; transition: all 300ms cubic-bezier(0.1, 0.9, 0.2, 1); } diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index 313e4906389345..bdda5347bdb23c 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -7,14 +7,14 @@ import { designUnit, disabledOpacity, neutralFillInputRest, - neutralOutlineRest, + neutralStrokeRest, neutralFillInputHover, - neutralOutlineHover, + neutralStrokeHover, neutralFillInputActive, - neutralOutlineActive, - neutralFocus, - neutralForegroundRest, - outlineWidth, + neutralStrokeActive, + focusStrokeOuter, + neutralForeground, + strokeWidth, accentForegroundCut, accentFillRest, accentFillHover, @@ -62,23 +62,23 @@ export const switchStyles = (context, defintiion) => height: calc(((${heightNumber} / 2) + ${designUnit}) * 1px); background: ${neutralFillInputRest}; border-radius: calc(${heightNumber} * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; } :host(:enabled) .switch:hover { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; cursor: pointer; } :host(:enabled) .switch:active { background: ${neutralFillInputActive}; - border-color: ${neutralOutlineActive}; + border-color: ${neutralStrokeActive}; } :host(:${focusVisible}) .switch { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; - border-color: ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; + border-color: ${focusStrokeOuter}; } .checked-indicator { @@ -86,13 +86,13 @@ export const switchStyles = (context, defintiion) => height: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); width: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); top: calc(${designUnit} * 1px); - background: ${neutralForegroundRest}; + background: ${neutralForeground}; border-radius: 50%; transition: all 0.2s ease-in-out; } .status-message { - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -104,7 +104,7 @@ export const switchStyles = (context, defintiion) => } .label { - color: ${neutralForegroundRest}; + color: ${neutralForeground}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; margin-inline-end: calc(${designUnit} * 2px + 2px); @@ -134,7 +134,7 @@ export const switchStyles = (context, defintiion) => } :host([aria-checked="true"]:${focusVisible}:enabled) .switch { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${neutralFocus}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; border-color: transparent; } diff --git a/packages/web-components/src/tabs/tab/tab.styles.ts b/packages/web-components/src/tabs/tab/tab.styles.ts index 4a7753cf59f635..8e4e94c7223504 100644 --- a/packages/web-components/src/tabs/tab/tab.styles.ts +++ b/packages/web-components/src/tabs/tab/tab.styles.ts @@ -8,11 +8,11 @@ import { bodyFont, designUnit, density, - neutralForegroundRest, - cornerRadius, - outlineWidth, - neutralFocus, - focusOutlineWidth, + neutralForeground, + controlCornerRadius, + strokeWidth, + focusStrokeOuter, + focusStrokeWidth, } from '../../design-tokens'; export const tabStyles = (context, definition) => @@ -25,9 +25,9 @@ export const tabStyles = (context, definition) => line-height: ${typeRampBaseLineHeight}; height: calc(${heightNumber} * 1px); padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); - color: ${neutralForegroundRest}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid transparent; + color: ${neutralForeground}; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid transparent; align-items: center; justify-content: center; grid-row: 1; @@ -40,14 +40,14 @@ export const tabStyles = (context, definition) => :host(:hover), :host(:active) { - color: ${neutralForegroundRest}; + color: ${neutralForeground}; } :host(:${focusVisible}) { outline: none; - border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - box-shadow: 0 0 0 calc((${focusOutlineWidth} - ${outlineWidth}) * 1px) - ${neutralFocus}; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) + ${focusStrokeOuter}; } :host(:focus) { @@ -65,7 +65,7 @@ export const tabStyles = (context, definition) => :host(.vertical:hover), :host(.vertical:active) { - color: ${neutralForegroundRest}; + color: ${neutralForeground}; } :host(.vertical:hover[aria-selected="true"]) { diff --git a/packages/web-components/src/tabs/tabs.styles.ts b/packages/web-components/src/tabs/tabs.styles.ts index 5640fdcbb30735..5319ffca7d8224 100644 --- a/packages/web-components/src/tabs/tabs.styles.ts +++ b/packages/web-components/src/tabs/tabs.styles.ts @@ -5,9 +5,9 @@ import { bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, - cornerRadius, + controlCornerRadius, accentFillRest, - neutralForegroundRest, + neutralForeground, } from '../design-tokens'; export const tabsStyles = (context, definition) => @@ -17,7 +17,7 @@ export const tabsStyles = (context, definition) => font-family: ${bodyFont}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; grid-template-columns: auto 1fr auto; grid-template-rows: auto 1fr; } @@ -41,7 +41,7 @@ export const tabsStyles = (context, definition) => grid-column: 1; width: 20px; height: 3px; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); justify-self: center; background: ${accentFillRest}; } @@ -89,7 +89,7 @@ export const tabsStyles = (context, definition) => grid-row: 1; width: 3px; height: 20px; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); align-self: center; background: ${accentFillRest}; } diff --git a/packages/web-components/src/text-area/text-area.styles.ts b/packages/web-components/src/text-area/text-area.styles.ts index 075a217845f4b2..b76e5c94d397d9 100644 --- a/packages/web-components/src/text-area/text-area.styles.ts +++ b/packages/web-components/src/text-area/text-area.styles.ts @@ -6,13 +6,13 @@ import { appearanceBehavior } from '../utilities/behaviors'; import { neutralFillRest, neutralFillHover, - neutralForegroundRest, + neutralForeground, neutralFillInputRest, - neutralOutlineRest, + neutralStrokeRest, neutralFillInputHover, - neutralOutlineHover, - neutralFocus, - outlineWidth, + neutralStrokeHover, + focusStrokeOuter, + strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, designUnit, @@ -65,10 +65,10 @@ export const textAreaStyles = (context, definition) => .control { box-sizing: border-box; position: relative; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; background: ${neutralFillInputRest}; border-radius: calc(var(--corner-radius) * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; height: calc(${heightNumber} * 2px); font: inherit; font-size: ${typeRampBaseFontSize}; @@ -80,7 +80,7 @@ export const textAreaStyles = (context, definition) => .control:hover:enabled { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } .control:hover, @@ -91,8 +91,8 @@ export const textAreaStyles = (context, definition) => } :host(:focus-within) .control { - border-color: ${neutralFocus}; - box-shadow: 0 0 0 1px ${neutralFocus} inset; + border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; } :host(.resize-both) .control { @@ -114,7 +114,7 @@ export const textAreaStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; $font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; diff --git a/packages/web-components/src/text-field/text-field.styles.ts b/packages/web-components/src/text-field/text-field.styles.ts index f60d3619f8ba80..1101e801857e4a 100644 --- a/packages/web-components/src/text-field/text-field.styles.ts +++ b/packages/web-components/src/text-field/text-field.styles.ts @@ -7,16 +7,16 @@ import { neutralFillRest, neutralFillHover, bodyFont, - neutralForegroundRest, + neutralForeground, neutralFillInputRest, - cornerRadius, - outlineWidth, - neutralOutlineRest, + controlCornerRadius, + strokeWidth, + neutralStrokeRest, typeRampBaseFontSize, typeRampBaseLineHeight, neutralFillInputHover, - neutralOutlineHover, - neutralFocus, + neutralStrokeHover, + focusStrokeOuter, disabledOpacity, } from '../design-tokens'; @@ -79,10 +79,10 @@ export const textFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; background: ${neutralFillInputRest}; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid ${neutralOutlineRest}; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; height: calc(${heightNumber} * 1px); } @@ -96,7 +96,7 @@ export const textFieldStyles = (context, definition) => margin-bottom: auto; border: none; padding: 0 calc(var(--design-unit) * 2px + 1px); - color: ${neutralForegroundRest}; + color: ${neutralForeground}; font-family: inherit; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -111,7 +111,7 @@ export const textFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -146,12 +146,12 @@ export const textFieldStyles = (context, definition) => :host(:hover:not(.disabled)) .root { background: ${neutralFillInputHover}; - border-color: ${neutralOutlineHover}; + border-color: ${neutralStrokeHover}; } :host(:focus-within:not(.disabled)) .root { - border-color: ${neutralFocus}; - box-shadow: 0 0 0 1px ${neutralFocus} inset; + border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; } :host(.disabled) .label, diff --git a/packages/web-components/src/tooltip/index.ts b/packages/web-components/src/tooltip/index.ts index 536817febfed05..44addb1960bdae 100644 --- a/packages/web-components/src/tooltip/index.ts +++ b/packages/web-components/src/tooltip/index.ts @@ -1,5 +1,5 @@ import { DI, Tooltip as FoundationTooltip, tooltipTemplate as template } from '@microsoft/fast-foundation'; -import { fillColor, NeutralContrastFill } from '../design-tokens'; +import { fillColor, NeutralFillInverse } from '../design-tokens'; import { tooltipStyles as styles } from './tooltip.styles'; /** @@ -13,7 +13,7 @@ export class Tooltip extends FoundationTooltip { public connectedCallback(): void { super.connectedCallback(); - const recipe = DI.findResponsibleContainer(this.parentElement!).get(NeutralContrastFill); + const recipe = DI.findResponsibleContainer(this.parentElement!).get(NeutralFillInverse); const parentFill = fillColor.getValueFor(this.parentElement!); fillColor.setValueFor(this, (target: HTMLElement) => recipe(target, parentFill).rest); diff --git a/packages/web-components/src/tooltip/tooltip.styles.ts b/packages/web-components/src/tooltip/tooltip.styles.ts index 171e396fcc78e4..8b76184dd67688 100644 --- a/packages/web-components/src/tooltip/tooltip.styles.ts +++ b/packages/web-components/src/tooltip/tooltip.styles.ts @@ -2,9 +2,9 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { elevation } from '../styles/index'; import { - cornerRadius, - outlineWidth, - neutralForegroundRest, + controlCornerRadius, + strokeWidth, + neutralForeground, bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, @@ -25,10 +25,10 @@ export const tooltipStyles = (context, definition) => .tooltip { box-sizing: border-box; - border-radius: calc(${cornerRadius} * 1px); - border: calc(${outlineWidth} * 1px) solid transparent; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid transparent; background: ${fillColor}; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; padding: 4px 12px; height: fit-content; width: fit-content; @@ -60,7 +60,7 @@ export const tooltipStyles = (context, definition) => width: 12px; height: 12px; background: ${fillColor}; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); position: absolute; } diff --git a/packages/web-components/src/tree-item/tree-item.styles.ts b/packages/web-components/src/tree-item/tree-item.styles.ts index 53ac435685f087..f5de768aa359f1 100644 --- a/packages/web-components/src/tree-item/tree-item.styles.ts +++ b/packages/web-components/src/tree-item/tree-item.styles.ts @@ -10,24 +10,24 @@ import { import { SystemColors } from '@microsoft/fast-web-utilities'; import { DirectionalStyleSheetBehavior, heightNumber } from '../styles/index'; import { - focusOutlineWidth, baseHeightMultiplier, designUnit, density, - neutralForegroundRest, + neutralForeground, neutralFillStealthRest, bodyFont, - neutralFocus, + focusStrokeOuter, typeRampBaseFontSize, typeRampBaseLineHeight, disabledOpacity, accentForegroundRest, - cornerRadius, - outlineWidth, + controlCornerRadius, + strokeWidth, neutralFillStealthHover, neutralFillStealthActive, - neutralFillStealthSelected, NeutralFillStealth, + neutralFillRest, + NeutralFill, } from '../design-tokens'; import { SwatchRGB } from '../color-vNext/swatch'; @@ -73,8 +73,9 @@ const expandCollapseHoverBehavior = DesignToken.create('tree-item-exp const selectedExpandCollapseHoverBehavior = DesignToken.create( 'tree-item-expand-collapse-selected-hover', ).withDefault((target: HTMLElement) => { - const recipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); - return recipe(target, recipe(target).hover).selected; + const baseRecipe = DI.findResponsibleContainer(target).get(NeutralFill); + const buttonRecipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); + return buttonRecipe(target, baseRecipe(target).rest).hover; }); export const treeItemStyles = (context, definition) => @@ -83,7 +84,7 @@ export const treeItemStyles = (context, definition) => contain: content; position: relative; outline: none; - color: ${neutralForegroundRest}; + color: ${neutralForeground}; background: ${neutralFillStealthRest}; cursor: pointer; font-family: ${bodyFont}; @@ -103,14 +104,14 @@ export const treeItemStyles = (context, definition) => display: flex; position: relative; box-sizing: border-box; - border: calc(${outlineWidth} * 1px) solid transparent; + border: calc(${strokeWidth} * 1px) solid transparent; height: calc((${heightNumber} + 1) * 1px); } :host(:${focusVisible}) .positioning-region { - border: calc(${outlineWidth} * 1px) solid ${neutralFocus}; - border-radius: calc(${cornerRadius} * 1px); - color: ${neutralForegroundRest}; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + border-radius: calc(${controlCornerRadius} * 1px); + color: ${neutralForeground}; } .positioning-region::before { @@ -171,7 +172,7 @@ export const treeItemStyles = (context, definition) => transition: transform 0.1s linear; transform: rotate(-45deg); pointer-events: none; - fill: ${neutralForegroundRest}; + fill: ${neutralForeground}; } .start, .end { @@ -224,7 +225,7 @@ export const treeItemStyles = (context, definition) => } :host([selected]) .positioning-region { - background: ${neutralFillStealthSelected}; + background: ${neutralFillRest}; } :host([selected]) .expand-collapse-button:hover { @@ -242,7 +243,7 @@ export const treeItemStyles = (context, definition) => /* The french fry background needs to be calculated based on the selected background state for this control. We currently have no way of chaning that, so setting to accent-foreground-rest for the time being */ '' } background: ${accentForegroundRest}; - border-radius: calc(${cornerRadius} * 1px); + border-radius: calc(${controlCornerRadius} * 1px); } ::slotted(fluent-tree-item) { From beb5650fd25d53aaf4bf01375227df84b396423e Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Thu, 17 Jun 2021 11:22:26 -0700 Subject: [PATCH 13/91] (web-components) Design token update II (#18561) Rename accentForegroundCut -> foregroundOnAccent Rename card and surface -> layer Migrated recipes from DI to Design Tokens Renamed neutralForeground back to neutralForegroundRest Removed the "L" from layer names Added some typing and made `RGB` type imports less specific --- ...-31ded262-0d0f-44d5-a7a0-337d99eb5a53.json | 7 + .../accordion-item/accordion-item.styles.ts | 12 +- .../src/accordion/accordion.styles.ts | 8 +- .../web-components/src/badge/badge.styles.ts | 6 +- .../breadcrumb-item/breadcrumb-item.styles.ts | 10 +- .../web-components/src/card/card.styles.ts | 4 +- .../src/checkbox/checkbox.styles.ts | 8 +- .../web-components/src/color-vNext/recipe.ts | 23 + .../src/color-vNext/recipes/accent-fill.ts | 8 +- .../color-vNext/recipes/accent-foreground.ts | 6 +- .../src/color-vNext/recipes/focus-stroke.ts | 6 +- ...eground-cut.ts => foreground-on-accent.ts} | 2 +- .../color-vNext/recipes/neutral-divider.ts | 4 +- .../recipes/neutral-fill-contrast.ts | 6 +- .../color-vNext/recipes/neutral-fill-input.ts | 6 +- .../recipes/neutral-fill-inverse.ts | 6 +- ...ral-fill-card.ts => neutral-fill-layer.ts} | 4 +- .../recipes/neutral-fill-stealth.ts | 6 +- .../src/color-vNext/recipes/neutral-fill.ts | 6 +- .../recipes/neutral-foreground-hint.ts | 4 +- .../color-vNext/recipes/neutral-foreground.ts | 4 +- ...neutral-layer-L1.ts => neutral-layer-1.ts} | 5 +- ...neutral-layer-L2.ts => neutral-layer-2.ts} | 23 +- .../color-vNext/recipes/neutral-layer-3.ts | 19 + .../color-vNext/recipes/neutral-layer-4.ts | 19 + .../color-vNext/recipes/neutral-layer-L3.ts | 18 - .../color-vNext/recipes/neutral-layer-L4.ts | 18 - .../recipes/neutral-layer-card-container.ts | 20 + .../color-vNext/recipes/neutral-layer-card.ts | 9 - .../recipes/neutral-layer-floating.ts | 11 +- .../src/color-vNext/recipes/neutral-stroke.ts | 2 +- .../src/color/accent-fill.spec.ts | 90 +- .../src/color/accent-foreground-cut.spec.ts | 4 +- .../src/color/accent-foreground.spec.ts | 2 +- .../src/color/neutral-contrast-fill.spec.ts | 2 +- .../src/color/neutral-divider.spec.ts | 2 +- .../src/color/neutral-fill-card.spec.ts | 6 +- .../src/color/neutral-fill-input.spec.ts | 67 +- .../src/color/neutral-fill-stealth.spec.ts | 81 +- .../src/color/neutral-fill-toggle.spec.ts | 2 +- .../src/color/neutral-fill.spec.ts | 53 +- .../src/color/neutral-focus.spec.ts | 2 +- .../src/color/neutral-foreground-hint.spec.ts | 2 +- .../src/color/neutral-foreground.spec.ts | 2 +- .../src/color/neutral-layer.spec.ts | 18 +- .../src/color/neutral-outline.spec.ts | 2 +- .../src/data-grid/data-grid-cell.styles.ts | 6 +- .../src/data-grid/data-grid-row.styles.ts | 4 +- packages/web-components/src/design-tokens.ts | 772 +++++++++++------- .../src/dialog/dialog.styles.ts | 4 +- .../src/divider/divider.styles.ts | 4 +- .../src/flipper/flipper.styles.ts | 4 +- .../listbox-option/listbox-option.styles.ts | 8 +- .../src/menu-item/menu-item.styles.ts | 10 +- .../web-components/src/menu/menu.styles.ts | 12 +- .../src/number-field/number-field.styles.ts | 10 +- .../web-components/src/radio/radio.styles.ts | 8 +- .../src/select/select.styles.ts | 6 +- .../src/slider/slider.styles.ts | 8 +- .../src/styles/patterns/button.ts | 6 +- .../src/switch/switch.styles.ts | 8 +- .../web-components/src/tabs/tab/tab.styles.ts | 8 +- .../web-components/src/tabs/tabs.styles.ts | 4 +- .../src/text-area/text-area.styles.ts | 6 +- .../src/text-field/text-field.styles.ts | 8 +- packages/web-components/src/tooltip/index.ts | 8 +- .../src/tooltip/tooltip.styles.ts | 4 +- .../src/tree-item/tree-item.styles.ts | 49 +- 68 files changed, 919 insertions(+), 663 deletions(-) create mode 100644 change/@fluentui-web-components-31ded262-0d0f-44d5-a7a0-337d99eb5a53.json create mode 100644 packages/web-components/src/color-vNext/recipe.ts rename packages/web-components/src/color-vNext/recipes/{accent-foreground-cut.ts => foreground-on-accent.ts} (70%) rename packages/web-components/src/color-vNext/recipes/{neutral-fill-card.ts => neutral-fill-layer.ts} (55%) rename packages/web-components/src/color-vNext/recipes/{neutral-layer-L1.ts => neutral-layer-1.ts} (54%) rename packages/web-components/src/color-vNext/recipes/{neutral-layer-L2.ts => neutral-layer-2.ts} (62%) create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-3.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-4.ts delete mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts delete mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts create mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts delete mode 100644 packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts diff --git a/change/@fluentui-web-components-31ded262-0d0f-44d5-a7a0-337d99eb5a53.json b/change/@fluentui-web-components-31ded262-0d0f-44d5-a7a0-337d99eb5a53.json new file mode 100644 index 00000000000000..ca555e579765be --- /dev/null +++ b/change/@fluentui-web-components-31ded262-0d0f-44d5-a7a0-337d99eb5a53.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Migrated recipes from DI to Design Tokens Renamed neutralForeground back to neutralForegroundRest Removed the \"L\" from layer names Added some typing and made `RGB` type imports less specific", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts index 14f0926317f7e1..e45f567e6e2fe5 100644 --- a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts +++ b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts @@ -6,10 +6,10 @@ import { bodyFont, density, designUnit, - focusStrokeWidth, - neutralStrokeDivider, focusStrokeOuter, - neutralForeground, + focusStrokeWidth, + neutralForegroundRest, + neutralStrokeDividerRest, strokeWidth, typeRampMinus1FontSize, typeRampMinus1LineHeight, @@ -24,7 +24,7 @@ export const accordionItemStyles = (context, definition) => flex-direction: column; font-size: ${typeRampMinus1FontSize}; line-height: ${typeRampMinus1LineHeight}; - border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; + border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } .region { @@ -49,14 +49,14 @@ export const accordionItemStyles = (context, definition) => padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); text-align: left; height: calc(${heightNumber} * 1px); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; font-family: inherit; } .button:hover, .button:active { - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } .button::before { diff --git a/packages/web-components/src/accordion/accordion.styles.ts b/packages/web-components/src/accordion/accordion.styles.ts index 5c651d928457ec..9014c76a0e4113 100644 --- a/packages/web-components/src/accordion/accordion.styles.ts +++ b/packages/web-components/src/accordion/accordion.styles.ts @@ -2,8 +2,8 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { bodyFont, - neutralStrokeDivider, - neutralForeground, + neutralForegroundRest, + neutralStrokeDividerRest, strokeWidth, typeRampMinus1FontSize, typeRampMinus1LineHeight, @@ -17,7 +17,7 @@ export const accordionStyles = (context, definition) => font-family: ${bodyFont}; font-size: ${typeRampMinus1FontSize}; line-height: ${typeRampMinus1LineHeight}; - color: ${neutralForeground}; - border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; + color: ${neutralForegroundRest}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } `; diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index 61869fa894c457..6fc5716db5819c 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -5,7 +5,7 @@ import { bodyFont, controlCornerRadius, designUnit, - neutralForeground, + neutralForegroundRest, typeRampMinus1FontSize, typeRampMinus1LineHeight, neutralFillRest, @@ -28,7 +28,7 @@ export const badgeStyles = (context, definition) => :host(.lightweight) .control { background: transparent; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; font-weight: 600; } @@ -39,6 +39,6 @@ export const badgeStyles = (context, definition) => :host(.neutral) .control { background: ${neutralFillRest}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } `; diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts index 49b75ab0d0110c..9f4f8d5bce8816 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts @@ -7,7 +7,7 @@ import { accentForegroundRest, bodyFont, focusStrokeWidth, - neutralForeground, + neutralForegroundRest, strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, @@ -76,20 +76,20 @@ export const breadcrumbItemStyles = (context, definition) => } .control:${focusVisible} .content::before { - background: ${neutralForeground}; + background: ${neutralForegroundRest}; height: calc(${focusStrokeWidth} * 1px); } :host(:not([href])), :host([aria-current]) .control { font-weight: 600; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; fill: currentcolor; cursor: default; } :host([aria-current]) .control:hover .content::before { - background: ${neutralForeground}; + background: ${neutralForegroundRest}; } .start { @@ -104,7 +104,7 @@ export const breadcrumbItemStyles = (context, definition) => .separator { display: flex; - fill: ${neutralForeground}; + fill: ${neutralForegroundRest}; margin: 0 6px; } `.withBehaviors( diff --git a/packages/web-components/src/card/card.styles.ts b/packages/web-components/src/card/card.styles.ts index 9dd0727f4360e3..b1a56ff6ffea27 100644 --- a/packages/web-components/src/card/card.styles.ts +++ b/packages/web-components/src/card/card.styles.ts @@ -2,7 +2,7 @@ import { css } from '@microsoft/fast-element'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles'; -import { surfaceCornerRadius } from '../design-tokens'; +import { layerCornerRadius } from '../design-tokens'; export const CardStyles = css` ${display('block')} :host { @@ -12,7 +12,7 @@ export const CardStyles = css` height: var(--card-height, 100%); width: var(--card-width, 100%); box-sizing: border-box; - border-radius: calc(${surfaceCornerRadius} * 1px); + border-radius: calc(${layerCornerRadius} * 1px); ${elevation} } diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index 1a8541b8c19363..ddfbde9388c9ca 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -9,7 +9,7 @@ import { neutralStrokeRest, neutralFillInputRest, bodyFont, - neutralForeground, + neutralForegroundRest, typeRampBaseFontSize, typeRampBaseLineHeight, neutralFillInputHover, @@ -54,7 +54,7 @@ export const checkboxStyles = (context, definition) => .label { font-family: ${bodyFont}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' } padding-inline-start: calc(${designUnit} * 2px + 2px); @@ -68,14 +68,14 @@ export const checkboxStyles = (context, definition) => width: 100%; height: 100%; display: block; - fill: ${neutralForeground}; + fill: ${neutralForegroundRest}; opacity: 0; pointer-events: none; } .indeterminate-indicator { border-radius: calc((${controlCornerRadius} / 2) * 1px); - background: ${neutralForeground}; + background: ${neutralForegroundRest}; position: absolute; top: 50%; left: 50%; diff --git a/packages/web-components/src/color-vNext/recipe.ts b/packages/web-components/src/color-vNext/recipe.ts new file mode 100644 index 00000000000000..dde826a5a32a99 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipe.ts @@ -0,0 +1,23 @@ +import { Swatch } from './swatch'; + +export interface SwatchFamily { + /** + * The swatch to apply to the rest state + */ + rest: Swatch; + + /** + * The swatch to apply to the hover state + */ + hover: Swatch; + + /** + * The swatch to apply to the active state + */ + active: Swatch; + + /** + * The swatch to apply to the focus state + */ + focus: Swatch; +} diff --git a/packages/web-components/src/color-vNext/recipes/accent-fill.ts b/packages/web-components/src/color-vNext/recipes/accent-fill.ts index 6fcf13d9711631..29bb34bc0fba9d 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/accent-fill.ts @@ -1,13 +1,13 @@ import { inRange } from 'lodash-es'; -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; /** * @internal */ export function accentFill( - palette: PaletteRGB, - neutralPaletteRGB: PaletteRGB, + palette: Palette, + neutralPaletteRGB: Palette, reference: Swatch, textColor: Swatch, contrastTarget: number, @@ -17,7 +17,7 @@ export function accentFill( neutralFillRestDelta: number, neutralFillHoverDelta: number, neutralFillActiveDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const accent = palette.source; const referenceIndex = neutralPaletteRGB.closestIndexOf(reference); const swapThreshold = Math.max(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta); diff --git a/packages/web-components/src/color-vNext/recipes/accent-foreground.ts b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts index 98baddf91572d8..cad11adf6a48f8 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-foreground.ts +++ b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts @@ -1,4 +1,4 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -6,14 +6,14 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * @internal */ export function accentForeground( - palette: PaletteRGB, + palette: Palette, reference: Swatch, contrastTarget: number, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const accent = palette.source; const accentIndex = palette.closestIndexOf(accent); const direction = directionByIsDark(reference); diff --git a/packages/web-components/src/color-vNext/recipes/focus-stroke.ts b/packages/web-components/src/color-vNext/recipes/focus-stroke.ts index 5c0968d1954f98..2d6820e71dc0d1 100644 --- a/packages/web-components/src/color-vNext/recipes/focus-stroke.ts +++ b/packages/web-components/src/color-vNext/recipes/focus-stroke.ts @@ -1,18 +1,18 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; /** * @internal */ -export function focusStrokeOuter(palette: PaletteRGB, reference: Swatch) { +export function focusStrokeOuter(palette: Palette, reference: Swatch) { return palette.colorContrast(reference, 3.5); } /** * @internal */ -export function focusStrokeInner(palette: PaletteRGB, reference: Swatch, focusColor: Swatch) { +export function focusStrokeInner(palette: Palette, reference: Swatch, focusColor: Swatch) { return palette.colorContrast( focusColor, 3.5, diff --git a/packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts b/packages/web-components/src/color-vNext/recipes/foreground-on-accent.ts similarity index 70% rename from packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts rename to packages/web-components/src/color-vNext/recipes/foreground-on-accent.ts index 3569a795ebbc29..8d2688b9a1137e 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-foreground-cut.ts +++ b/packages/web-components/src/color-vNext/recipes/foreground-on-accent.ts @@ -4,6 +4,6 @@ import { black, white } from '../utilities/color-constants'; /** * @internal */ -export function accentForegroundCut(reference: Swatch, contrastTarget: number) { +export function foregroundOnAccent(reference: Swatch, contrastTarget: number) { return reference.contrast(white) >= contrastTarget ? white : black; } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-divider.ts b/packages/web-components/src/color-vNext/recipes/neutral-divider.ts index 88ed5a7b29d9e8..f0069f3a1283e3 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-divider.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-divider.ts @@ -1,5 +1,5 @@ import { Swatch } from '../swatch'; -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; /** @@ -10,6 +10,6 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * * @internal */ -export function neutralDivider(palette: PaletteRGB, reference: Swatch, delta: number) { +export function neutralDivider(palette: Palette, reference: Swatch, delta: number): Swatch { return palette.get(palette.closestIndexOf(reference) + directionByIsDark(reference) * delta); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts index 6adb01265d6867..513c0f588d9405 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts @@ -1,4 +1,4 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -6,13 +6,13 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * @internal */ export function neutralFillContrast( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const direction = directionByIsDark(reference); const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 4.5)); const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts index 2afa0757697246..f650bb4f7cdd28 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts @@ -1,4 +1,4 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -6,13 +6,13 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * @internal */ export function neutralFillInput( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const direction = directionByIsDark(reference); const referenceIndex = palette.closestIndexOf(reference); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts index 418b0e27e5a237..f2ba849af365c3 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts @@ -1,4 +1,4 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -6,13 +6,13 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * @internal */ export function neutralFillInverse( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const direction = directionByIsDark(reference); const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 14)); const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-layer.ts similarity index 55% rename from packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts rename to packages/web-components/src/color-vNext/recipes/neutral-fill-layer.ts index c0acf63d993bdf..2961dc64d241e0 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-card.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-layer.ts @@ -1,10 +1,10 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; /** * @internal */ -export function neutralFillCard(palette: PaletteRGB, reference: Swatch, delta: number) { +export function neutralFillLayer(palette: Palette, reference: Swatch, delta: number): Swatch { const referenceIndex = palette.closestIndexOf(reference); return palette.get(referenceIndex - delta); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts index e1fed4efe7bcc3..70d29e9349ec8a 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts @@ -1,11 +1,11 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; /** * @internal */ export function neutralFillStealth( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, @@ -15,7 +15,7 @@ export function neutralFillStealth( fillHoverDelta: number, fillActiveDelta: number, fillFocusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const swapThreshold = Math.max( restDelta, hoverDelta, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts index df35a0519469bf..21ca42dde2f7a1 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts @@ -1,4 +1,4 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; /** @@ -12,13 +12,13 @@ import { Swatch } from '../swatch'; * @internal */ export function neutralFill( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const referenceIndex = palette.closestIndexOf(reference); const threshold = Math.max(restDelta, hoverDelta, activeDelta, focusDelta); const direction = referenceIndex >= threshold ? -1 : 1; diff --git a/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts b/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts index 981e01aa9d5f02..ea53f40bce5b91 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-foreground-hint.ts @@ -1,5 +1,5 @@ +import { Palette } from '../palette'; import { Swatch } from '../swatch'; -import { PaletteRGB } from '../palette'; /** * The neutralForegroundHint color recipe @@ -8,6 +8,6 @@ import { PaletteRGB } from '../palette'; * * @internal */ -export function neutralForegroundHint(palette: PaletteRGB, reference: Swatch) { +export function neutralForegroundHint(palette: Palette, reference: Swatch): Swatch { return palette.colorContrast(reference, 4.5); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts b/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts index 35c64910f122ec..d1e821940e8a17 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-foreground.ts @@ -1,9 +1,9 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; import { Swatch } from '../swatch'; /** * @internal */ -export function neutralForeground(palette: PaletteRGB, reference: Swatch) { +export function neutralForeground(palette: Palette, reference: Swatch): Swatch { return palette.colorContrast(reference, 14); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-1.ts similarity index 54% rename from packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts rename to packages/web-components/src/color-vNext/recipes/neutral-layer-1.ts index 0ae059fc93f312..c5f108beec6173 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L1.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-1.ts @@ -1,9 +1,10 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; /** * @internal */ -export function neutralLayerL1(palette: PaletteRGB, baseLayerLuminance: number) { +export function neutralLayer1(palette: Palette, baseLayerLuminance: number): Swatch { return palette.get(palette.closestIndexOf(baseLayerLuminanceSwatch(baseLayerLuminance))); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-2.ts similarity index 62% rename from packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts rename to packages/web-components/src/color-vNext/recipes/neutral-layer-2.ts index 4af6f3152bd2c8..3597571bd1f771 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L2.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-2.ts @@ -1,19 +1,20 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; /** * @internal */ -export function neutralLayerL2Index( - palette: PaletteRGB, +export function neutralLayer2Index( + palette: Palette, luminance: number, - cardDelta: number, + layerDelta: number, fillRestDelta: number, fillHoverDelta: number, fillActiveDelta: number, -) { +): number { return Math.max( - palette.closestIndexOf(baseLayerLuminanceSwatch(luminance)) + cardDelta, + palette.closestIndexOf(baseLayerLuminanceSwatch(luminance)) + layerDelta, fillRestDelta, fillHoverDelta, fillActiveDelta, @@ -23,15 +24,15 @@ export function neutralLayerL2Index( /** * @internal */ -export function neutralLayerL2( - palette: PaletteRGB, +export function neutralLayer2( + palette: Palette, luminance: number, - cardDelta: number, + layerDelta: number, fillRestDelta: number, fillHoverDelta: number, fillActiveDelta: number, -) { +): Swatch { return palette.get( - neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta), + neutralLayer2Index(palette, luminance, layerDelta, fillRestDelta, fillHoverDelta, fillActiveDelta), ); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-3.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-3.ts new file mode 100644 index 00000000000000..0b9defff08667c --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-3.ts @@ -0,0 +1,19 @@ +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; +import { neutralLayer2Index } from './neutral-layer-2'; + +/** + * @internal + */ +export function neutralLayer3( + palette: Palette, + luminance: number, + layerDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +): Swatch { + return palette.get( + neutralLayer2Index(palette, luminance, layerDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + layerDelta, + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-4.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-4.ts new file mode 100644 index 00000000000000..4a260a94e94aaa --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-4.ts @@ -0,0 +1,19 @@ +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; +import { neutralLayer2Index } from './neutral-layer-2'; + +/** + * @internal + */ +export function neutralLayer4( + palette: Palette, + luminance: number, + layerDelta: number, + fillRestDelta: number, + fillHoverDelta: number, + fillActiveDelta: number, +): Swatch { + return palette.get( + neutralLayer2Index(palette, luminance, layerDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + layerDelta * 2, + ); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts deleted file mode 100644 index 12e8cdad4c9410..00000000000000 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L3.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaletteRGB } from '../palette'; -import { neutralLayerL2Index } from './neutral-layer-L2'; - -/** - * @internal - */ -export function neutralLayerL3( - palette: PaletteRGB, - luminance: number, - cardDelta: number, - fillRestDelta: number, - fillHoverDelta: number, - fillActiveDelta: number, -) { - return palette.get( - neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + cardDelta, - ); -} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts deleted file mode 100644 index b320985a85346d..00000000000000 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-L4.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PaletteRGB } from '../palette'; -import { neutralLayerL2Index } from './neutral-layer-L2'; - -/** - * @internal - */ -export function neutralLayerL4( - palette: PaletteRGB, - luminance: number, - cardDelta: number, - fillRestDelta: number, - fillHoverDelta: number, - fillActiveDelta: number, -) { - return palette.get( - neutralLayerL2Index(palette, luminance, cardDelta, fillRestDelta, fillHoverDelta, fillActiveDelta) + cardDelta * 2, - ); -} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts new file mode 100644 index 00000000000000..0bc149bf0e7b57 --- /dev/null +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts @@ -0,0 +1,20 @@ +import { clamp } from '@microsoft/fast-colors'; +import { PaletteRGB } from '../palette'; +import { SwatchRGB } from '../swatch'; +import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; + +/** + * @internal + */ +export function neutralLayerCardContainer( + palette: PaletteRGB, + relativeLuminance: number, + layerDelta: number, +): SwatchRGB { + const oldCardIndex: number = clamp( + palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - layerDelta, + 0, + palette.swatches.length - 1, + ); + return palette.get(oldCardIndex + layerDelta); +} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts deleted file mode 100644 index f050d507bb8fe1..00000000000000 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-card.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { PaletteRGB } from '../palette'; -import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; - -/** - * @internal - */ -export function neutralLayerCard(palette: PaletteRGB, relativeLuminance: number, cardDelta: number) { - return palette.get(palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - cardDelta); -} diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts index cb90ef69bdde69..28b5177a4b5d5d 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-floating.ts @@ -1,10 +1,11 @@ -import { PaletteRGB } from '../palette'; -import { neutralLayerCard } from './neutral-layer-card'; +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; +import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; /** * @internal */ -export function neutralLayerFloating(palette: PaletteRGB, relativeLuminance: number, cardDelta: number) { - const cardIndex = palette.closestIndexOf(neutralLayerCard(palette, relativeLuminance, cardDelta)); - return palette.get(cardIndex - cardDelta); +export function neutralLayerFloating(palette: Palette, relativeLuminance: number, layerDelta: number): Swatch { + const cardIndex = palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - layerDelta; + return palette.get(cardIndex - layerDelta); } diff --git a/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts index 1bcb4614cbcfa6..cd367e6f4fc7a3 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts @@ -12,7 +12,7 @@ export function neutralStroke( hoverDelta: number, activeDelta: number, focusDelta: number, -) { +): Record<"rest" | "hover" | "active" | "focus", Swatch> { const referenceIndex = palette.closestIndexOf(reference); const direction = directionByIsDark(reference); diff --git a/packages/web-components/src/color/accent-fill.spec.ts b/packages/web-components/src/color/accent-fill.spec.ts index 1002ac1cd65345..0105ee85960ab2 100644 --- a/packages/web-components/src/color/accent-fill.spec.ts +++ b/packages/web-components/src/color/accent-fill.spec.ts @@ -18,22 +18,19 @@ import { } from './accent-fill'; import { findClosestSwatchIndex, Palette } from './palette'; import { contrast, Swatch } from './common'; -import { parseColorHexRGB } from "@microsoft/fast-colors"; -import { neutralBaseColor, accentBaseColor } from "./color-constants"; -import { PaletteRGB } from "../color-vNext/palette"; -import { SwatchRGB } from "../color-vNext/swatch"; -import { accentFill as accentFillNew } from "../color-vNext/recipes/accent-fill"; -import { accentForegroundCut as accentForegroundCutNew } from '../color-vNext/recipes/accent-foreground-cut'; +import { parseColorHexRGB } from '@microsoft/fast-colors'; +import { neutralBaseColor, accentBaseColor } from './color-constants'; +import { PaletteRGB } from '../color-vNext/palette'; +import { SwatchRGB } from '../color-vNext/swatch'; +import { accentFill as accentFillNew } from '../color-vNext/recipes/accent-fill'; +import { foregroundOnAccent as foregroundOnAccentNew } from '../color-vNext/recipes/foreground-on-accent'; import { accentForegroundCut } from './accent-foreground-cut'; describe('accentFill', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); const accentPalette: Palette = getAccentPalette(DesignSystemDefaults); - const accentIndex: number = findClosestSwatchIndex( - getAccentPalette, - accentBaseColor, - )(DesignSystemDefaults); + const accentIndex: number = findClosestSwatchIndex(getAccentPalette, accentBaseColor)(DesignSystemDefaults); it('should operate on design system defaults', (): void => { [ @@ -76,41 +73,46 @@ describe('accentFill', (): void => { }); }); -describe("ensure parity between old and new recipe implementation", () => { - const neutralColor = (parseColorHexRGB(neutralBaseColor)!) +describe('ensure parity between old and new recipe implementation', () => { + const neutralColor = parseColorHexRGB(neutralBaseColor)!; const neutralPalette = PaletteRGB.create(SwatchRGB.create(neutralColor.r, neutralColor.g, neutralColor.b)); - const accentColor = (parseColorHexRGB(accentBaseColor)!) + const accentColor = parseColorHexRGB(accentBaseColor)!; const accentPalette = PaletteRGB.create(SwatchRGB.create(accentColor.r, accentColor.g, accentColor.b)); - neutralPalette.swatches.forEach(( newSwatch, index ) => { - const { - accentFillHoverDelta, - accentFillActiveDelta, - accentFillFocusDelta, - neutralFillRestDelta, - neutralFillHoverDelta, - neutralFillActiveDelta, - } = DesignSystemDefaults; + neutralPalette.swatches.forEach((newSwatch, index) => { + const { + accentFillHoverDelta, + accentFillActiveDelta, + accentFillFocusDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + } = DesignSystemDefaults; - const oldValues = accentFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const textColor = accentForegroundCutNew(accentPalette.source, 4.5); - const newValues = accentFillNew( - accentPalette, - neutralPalette, - newSwatch, - textColor, - 4.5, - accentFillHoverDelta, - accentFillActiveDelta, - accentFillFocusDelta, - neutralFillRestDelta, - neutralFillHoverDelta, - neutralFillActiveDelta - ) + const oldValues = accentFill({ + ...DesignSystemDefaults, + backgroundColor: DesignSystemDefaults.neutralPalette[index], + }); + const textColor = foregroundOnAccentNew(accentPalette.source, 4.5); + const newValues = accentFillNew( + accentPalette, + neutralPalette, + newSwatch, + textColor, + 4.5, + accentFillHoverDelta, + accentFillActiveDelta, + accentFillFocusDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + ); - for (let key in oldValues) { - it(`${newSwatch.toColorString()}old value for ${key} at ${oldValues[key]} should be equal to new value`, () => { - expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) - } ) - } - }) -}) + for (let key in oldValues) { + if (key !== 'selected') { + it(`${newSwatch.toColorString()} old value for ${key} at ${oldValues[key]} should be equal to new value`, () => { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()); + }); + } + } + }); +}); diff --git a/packages/web-components/src/color/accent-foreground-cut.spec.ts b/packages/web-components/src/color/accent-foreground-cut.spec.ts index 4a013a97c0ba06..091126d47bbe18 100644 --- a/packages/web-components/src/color/accent-foreground-cut.spec.ts +++ b/packages/web-components/src/color/accent-foreground-cut.spec.ts @@ -6,7 +6,7 @@ import { DesignSystemDefaults, DesignSystem } from '../fluent-design-system'; import { accentForegroundCut, accentForegroundCutLarge } from './accent-foreground-cut'; import { neutralBaseColor, accentBaseColor } from "./color-constants"; import { Swatch } from "./common"; -import { accentForegroundCut as accentForegroundCutNew } from "../color-vNext/recipes/accent-foreground-cut"; +import { foregroundOnAccent as foregroundOnAccentNew } from "../color-vNext/recipes/foreground-on-accent"; describe('Cut text', (): void => { it('should return white by by default', (): void => { @@ -38,7 +38,7 @@ describe("ensure parity between old and new recipe implementation", () => { { ...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.accentBaseColor } ) ).to.be.equal( - accentForegroundCutNew(palette.source, 4.5).toColorString().toUpperCase() + foregroundOnAccentNew(palette.source, 4.5).toColorString().toUpperCase() ) } ) diff --git a/packages/web-components/src/color/accent-foreground.spec.ts b/packages/web-components/src/color/accent-foreground.spec.ts index 1bca007eb5eec5..642bb4c20a6b51 100644 --- a/packages/web-components/src/color/accent-foreground.spec.ts +++ b/packages/web-components/src/color/accent-foreground.spec.ts @@ -125,7 +125,7 @@ describe("ensure parity between old and new recipe implementation", () => { accentForegroundActiveDelta, accentForegroundFocusDelta, ); - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { for (let key in newValues) { expect(oldValues[key]).to.equal( newValues[key].toColorString().toUpperCase() diff --git a/packages/web-components/src/color/neutral-contrast-fill.spec.ts b/packages/web-components/src/color/neutral-contrast-fill.spec.ts index 0ea3a344291521..7ce229e29e72ad 100644 --- a/packages/web-components/src/color/neutral-contrast-fill.spec.ts +++ b/packages/web-components/src/color/neutral-contrast-fill.spec.ts @@ -21,7 +21,7 @@ describe("ensure parity between old and new recipe implementation", () => { neutralContrastFillActiveDelta, neutralContrastFillFocusDelta, ); - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { for (let key in oldValues) { expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) } diff --git a/packages/web-components/src/color/neutral-divider.spec.ts b/packages/web-components/src/color/neutral-divider.spec.ts index 5facf632d7e0f9..35a2703580da68 100644 --- a/packages/web-components/src/color/neutral-divider.spec.ts +++ b/packages/web-components/src/color/neutral-divider.spec.ts @@ -20,7 +20,7 @@ describe("ensure parity between old and new recipe implementation", () => { const color = (parseColorHexRGB(neutralBaseColor)!) const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { expect(neutralDivider(palette, newSwatch, DesignSystemDefaults.neutralDividerRestDelta).toColorString().toUpperCase()).to.equal( neutralDividerRest({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) ) diff --git a/packages/web-components/src/color/neutral-fill-card.spec.ts b/packages/web-components/src/color/neutral-fill-card.spec.ts index e8d0852684ffbb..d4343c02d7016d 100644 --- a/packages/web-components/src/color/neutral-fill-card.spec.ts +++ b/packages/web-components/src/color/neutral-fill-card.spec.ts @@ -5,7 +5,7 @@ import { SwatchRGB } from "../color-vNext/swatch"; import { DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; import { neutralBaseColor } from "./color-constants"; import { neutralFillCard } from "./neutral-fill-card"; -import { neutralFillCard as neutralFillCardNew } from "../color-vNext/recipes/neutral-fill-card" +import { neutralFillLayer as neutralFillLayerNew } from "../color-vNext/recipes/neutral-fill-layer" describe('neutralFillCard', (): void => { it('should operate on design system defaults', (): void => { @@ -50,10 +50,10 @@ describe("ensure parity between old and new recipe implementation", () => { const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); const { neutralFillCardDelta } = DesignSystemDefaults; palette.swatches.forEach(( newSwatch, index ) => { - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { expect( neutralFillCard({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) - ).to.be.equal(neutralFillCardNew( palette, newSwatch, neutralFillCardDelta).toColorString().toUpperCase()) + ).to.be.equal(neutralFillLayerNew( palette, newSwatch, neutralFillCardDelta).toColorString().toUpperCase()) }); }) }) diff --git a/packages/web-components/src/color/neutral-fill-input.spec.ts b/packages/web-components/src/color/neutral-fill-input.spec.ts index 92b4059af35f64..324620fa035e61 100644 --- a/packages/web-components/src/color/neutral-fill-input.spec.ts +++ b/packages/web-components/src/color/neutral-fill-input.spec.ts @@ -1,14 +1,14 @@ -import { parseColorHexRGB } from "@microsoft/fast-colors"; -import { expect } from "chai"; -import { PaletteRGB } from "../color-vNext/palette"; -import { SwatchRGB } from "../color-vNext/swatch"; +import { parseColorHexRGB } from '@microsoft/fast-colors'; +import { expect } from 'chai'; +import { PaletteRGB } from '../color-vNext/palette'; +import { SwatchRGB } from '../color-vNext/swatch'; import { accentPalette as getAccentPalette, DesignSystem, DesignSystemDefaults, neutralPalette as getNeutralPalette, } from '../fluent-design-system'; -import { neutralBaseColor } from "./color-constants"; +import { neutralBaseColor } from './color-constants'; import { clamp, FillSwatchFamily, Swatch } from './common'; import { neutralFillInput, @@ -19,7 +19,7 @@ import { neutralFillInputSelected, } from './neutral-fill-input'; import { isDarkMode, Palette } from './palette'; -import { neutralFillInput as neutralFillInputNew } from "../color-vNext/recipes/neutral-fill-input"; +import { neutralFillInput as neutralFillInputNew } from '../color-vNext/recipes/neutral-fill-input'; describe('neutralFillInput', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -112,29 +112,34 @@ describe('neutralFillInput', (): void => { }); }); }); -describe("ensure parity between old and new recipe implementation", () => { - const color = (parseColorHexRGB(neutralBaseColor)!) +describe('ensure parity between old and new recipe implementation', () => { + const color = parseColorHexRGB(neutralBaseColor)!; const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); - palette.swatches.forEach(( newSwatch, index ) => { - const { - neutralFillInputRestDelta, - neutralFillInputHoverDelta, - neutralFillInputActiveDelta, - neutralFillInputFocusDelta - } = DesignSystemDefaults; - const oldValues = neutralFillInput({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralFillInputNew( - palette, - newSwatch, - neutralFillInputRestDelta, - neutralFillInputHoverDelta, - neutralFillInputActiveDelta, - neutralFillInputFocusDelta - ); - it(`should be the same for ${newSwatch}`, () => { - for (let key in oldValues) { - expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) - } - }); - }) -}) + palette.swatches.forEach((newSwatch, index) => { + const { + neutralFillInputRestDelta, + neutralFillInputHoverDelta, + neutralFillInputActiveDelta, + neutralFillInputFocusDelta, + } = DesignSystemDefaults; + const oldValues = neutralFillInput({ + ...DesignSystemDefaults, + backgroundColor: DesignSystemDefaults.neutralPalette[index], + }); + const newValues = neutralFillInputNew( + palette, + newSwatch, + neutralFillInputRestDelta, + neutralFillInputHoverDelta, + neutralFillInputActiveDelta, + neutralFillInputFocusDelta, + ); + it(`should be the same for ${newSwatch.toColorString()}`, () => { + for (let key in oldValues) { + if (key !== 'selected') { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()); + } + } + }); + }); +}); diff --git a/packages/web-components/src/color/neutral-fill-stealth.spec.ts b/packages/web-components/src/color/neutral-fill-stealth.spec.ts index 7b3618a12665a0..3cced7d0c282b0 100644 --- a/packages/web-components/src/color/neutral-fill-stealth.spec.ts +++ b/packages/web-components/src/color/neutral-fill-stealth.spec.ts @@ -1,4 +1,4 @@ -import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { parseColorHexRGB } from '@microsoft/fast-colors'; import { expect } from 'chai'; import { accentPalette as getAccentPalette, @@ -16,10 +16,10 @@ import { } from './neutral-fill-stealth'; import { Palette } from './palette'; import { FillSwatchFamily, Swatch } from './common'; -import { PaletteRGB } from "../color-vNext/palette"; -import { SwatchRGB } from "../color-vNext/swatch"; -import { neutralBaseColor } from "./color-constants"; -import { neutralFillStealth as neutralFillStealthNew } from "../color-vNext/recipes/neutral-fill-stealth"; +import { PaletteRGB } from '../color-vNext/palette'; +import { SwatchRGB } from '../color-vNext/swatch'; +import { neutralBaseColor } from './color-constants'; +import { neutralFillStealth as neutralFillStealthNew } from '../color-vNext/recipes/neutral-fill-stealth'; describe('neutralFillStealth', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -112,37 +112,42 @@ describe('neutralFillStealth', (): void => { }); }); }); -describe("ensure parity between old and new recipe implementation", () => { - const color = (parseColorHexRGB(neutralBaseColor)!) +describe('ensure parity between old and new recipe implementation', () => { + const color = parseColorHexRGB(neutralBaseColor)!; const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); - palette.swatches.forEach(( newSwatch, index ) => { - const { - neutralFillStealthRestDelta, - neutralFillStealthHoverDelta, - neutralFillStealthActiveDelta, - neutralFillStealthFocusDelta, - neutralFillRestDelta, - neutralFillHoverDelta, - neutralFillActiveDelta, - neutralFillFocusDelta - } = DesignSystemDefaults; - const oldValues = neutralFillStealth({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralFillStealthNew( - palette, - newSwatch, - neutralFillStealthRestDelta, - neutralFillStealthHoverDelta, - neutralFillStealthActiveDelta, - neutralFillStealthFocusDelta, - neutralFillRestDelta, - neutralFillHoverDelta, - neutralFillActiveDelta, - neutralFillFocusDelta - ); - it(`should be the same for ${newSwatch}`, () => { - for (let key in oldValues) { - expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) - } - }); - }) -}) + palette.swatches.forEach((newSwatch, index) => { + const { + neutralFillStealthRestDelta, + neutralFillStealthHoverDelta, + neutralFillStealthActiveDelta, + neutralFillStealthFocusDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta, + } = DesignSystemDefaults; + const oldValues = neutralFillStealth({ + ...DesignSystemDefaults, + backgroundColor: DesignSystemDefaults.neutralPalette[index], + }); + const newValues = neutralFillStealthNew( + palette, + newSwatch, + neutralFillStealthRestDelta, + neutralFillStealthHoverDelta, + neutralFillStealthActiveDelta, + neutralFillStealthFocusDelta, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta, + ); + it(`should be the same for ${newSwatch.toColorString()}`, () => { + for (let key in oldValues) { + if (key !== 'selected') { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()); + } + } + }); + }); +}); diff --git a/packages/web-components/src/color/neutral-fill-toggle.spec.ts b/packages/web-components/src/color/neutral-fill-toggle.spec.ts index 2ee71bab0e165d..974e14b7e99a78 100644 --- a/packages/web-components/src/color/neutral-fill-toggle.spec.ts +++ b/packages/web-components/src/color/neutral-fill-toggle.spec.ts @@ -21,7 +21,7 @@ describe("ensure parity between old and new recipe implementation", () => { neutralFillToggleActiveDelta, neutralFillToggleFocusDelta, ); - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { for (let key in oldValues) { expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) } diff --git a/packages/web-components/src/color/neutral-fill.spec.ts b/packages/web-components/src/color/neutral-fill.spec.ts index e24e760662433e..a5f32454abd49c 100644 --- a/packages/web-components/src/color/neutral-fill.spec.ts +++ b/packages/web-components/src/color/neutral-fill.spec.ts @@ -1,4 +1,4 @@ -import { parseColorHexRGB } from "@microsoft/fast-colors"; +import { parseColorHexRGB } from '@microsoft/fast-colors'; import { expect } from 'chai'; import { accentPalette as getAccentPalette, @@ -16,10 +16,10 @@ import { } from './neutral-fill'; import { Palette } from './palette'; import { FillSwatchFamily, Swatch } from './common'; -import { neutralBaseColor } from "./color-constants"; -import { SwatchRGB } from "../color-vNext/swatch"; -import { PaletteRGB } from "../color-vNext/palette"; -import { neutralFill as neutralFillNew } from "../color-vNext/recipes/neutral-fill" +import { neutralBaseColor } from './color-constants'; +import { SwatchRGB } from '../color-vNext/swatch'; +import { PaletteRGB } from '../color-vNext/palette'; +import { neutralFill as neutralFillNew } from '../color-vNext/recipes/neutral-fill'; describe('neutralFill', (): void => { const neutralPalette: Palette = getNeutralPalette(DesignSystemDefaults); @@ -107,17 +107,34 @@ describe('neutralFill', (): void => { }); }); }); -describe("ensure parity between old and new recipe implementation", () => { - const color = (parseColorHexRGB(neutralBaseColor)!) +describe('ensure parity between old and new recipe implementation', () => { + const color = parseColorHexRGB(neutralBaseColor)!; const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); - palette.swatches.forEach(( newSwatch, index ) => { - const { neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta } = DesignSystemDefaults; - const oldValues = neutralFill({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}); - const newValues = neutralFillNew(palette, newSwatch, neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta ); - it(`should be the same for ${newSwatch}`, () => { - for (let key in oldValues) { - expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) - } - }); - }) -}) + palette.swatches.forEach((newSwatch, index) => { + const { + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta, + } = DesignSystemDefaults; + const oldValues = neutralFill({ + ...DesignSystemDefaults, + backgroundColor: DesignSystemDefaults.neutralPalette[index], + }); + const newValues = neutralFillNew( + palette, + newSwatch, + neutralFillRestDelta, + neutralFillHoverDelta, + neutralFillActiveDelta, + neutralFillFocusDelta, + ); + it(`should be the same for ${newSwatch.toColorString()}`, () => { + for (let key in oldValues) { + if (key !== 'selected') { + expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()); + } + } + }); + }); +}); diff --git a/packages/web-components/src/color/neutral-focus.spec.ts b/packages/web-components/src/color/neutral-focus.spec.ts index 3c4f29e3aa16b2..cee6bd55345c68 100644 --- a/packages/web-components/src/color/neutral-focus.spec.ts +++ b/packages/web-components/src/color/neutral-focus.spec.ts @@ -25,7 +25,7 @@ describe("ensure parity between old and new recipe implementation", () => { const color = (parseColorHexRGB(neutralBaseColor)!) const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { expect(neutralFocus({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(focusStrokeOuterNew( palette, newSwatch).toColorString().toUpperCase()) }); }) diff --git a/packages/web-components/src/color/neutral-foreground-hint.spec.ts b/packages/web-components/src/color/neutral-foreground-hint.spec.ts index 75d8bae6f569a2..1f5984f3c3de0b 100644 --- a/packages/web-components/src/color/neutral-foreground-hint.spec.ts +++ b/packages/web-components/src/color/neutral-foreground-hint.spec.ts @@ -67,7 +67,7 @@ describe("ensure parity between old and new recipe implementation", () => { const color = (parseColorHexRGB(neutralBaseColor)!) const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { expect(neutralForegroundHintNew(palette, newSwatch).toColorString().toUpperCase()).to.equal( neutralForegroundHint({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]}) ) diff --git a/packages/web-components/src/color/neutral-foreground.spec.ts b/packages/web-components/src/color/neutral-foreground.spec.ts index 84a37d11b359c2..99f87c12222681 100644 --- a/packages/web-components/src/color/neutral-foreground.spec.ts +++ b/packages/web-components/src/color/neutral-foreground.spec.ts @@ -60,7 +60,7 @@ describe("ensure parity between old and new recipe implementation", () => { const color = (parseColorHexRGB(neutralBaseColor)!) const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); palette.swatches.forEach(( newSwatch, index ) => { - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { expect(neutralForegroundRest({...DesignSystemDefaults, backgroundColor: DesignSystemDefaults.neutralPalette[index]})).to.be.equal(neutralForeground( palette, newSwatch).toColorString().toUpperCase()) }); }) diff --git a/packages/web-components/src/color/neutral-layer.spec.ts b/packages/web-components/src/color/neutral-layer.spec.ts index 74cdb9ce30afb3..68c0f44b6892db 100644 --- a/packages/web-components/src/color/neutral-layer.spec.ts +++ b/packages/web-components/src/color/neutral-layer.spec.ts @@ -15,8 +15,8 @@ import { neutralLayerFloating as neutralLayerFloatingNew } from '../color-vNext/recipes/neutral-layer-floating'; import { - neutralLayerCard as neutralLayerCardNew -} from '../color-vNext/recipes/neutral-layer-card'; + neutralLayerCardContainer as neutralLayerCardContainerNew +} from '../color-vNext/recipes/neutral-layer-card-container'; import { neutralBaseColor } from "./color-constants"; import { PaletteRGB } from "../color-vNext/palette"; import { SwatchRGB } from "../color-vNext/swatch"; @@ -157,6 +157,13 @@ describe('neutralLayer', (): void => { expect(color).not.to.equal(neutralLayerCardContainer(DesignSystemDefaults)); expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; }); + it("should have a new implementation that matches the old implementation", () => { + const color = (parseColorHexRGB(neutralBaseColor)!) + const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); + + expect(neutralLayerCardContainer(lightModeDesignSystem)).to.equal(neutralLayerCardContainerNew(palette, StandardLuminance.LightMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + expect(neutralLayerCardContainer(darkModeDesignSystem)).to.equal(neutralLayerCardContainerNew(palette, StandardLuminance.DarkMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) + }) }); describe('neutralLayerCard', (): void => { it('should return a color from the neutral palette', (): void => { @@ -168,12 +175,5 @@ describe('neutralLayer', (): void => { expect(color).not.to.equal(neutralLayerCard(DesignSystemDefaults)); expect(DesignSystemDefaults.neutralPalette.includes(color)).to.be.ok; }); - it("should have a new implementation that matches the old implementation", () => { - const color = (parseColorHexRGB(neutralBaseColor)!) - const palette = PaletteRGB.create(SwatchRGB.create(color.r, color.g, color.b)); - - expect(neutralLayerCard(lightModeDesignSystem)).to.equal(neutralLayerCardNew(palette, StandardLuminance.LightMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) - expect(neutralLayerCard(darkModeDesignSystem)).to.equal(neutralLayerCardNew(palette, StandardLuminance.DarkMode, lightModeDesignSystem.neutralFillCardDelta).toColorString().toUpperCase()) - }) }); }); diff --git a/packages/web-components/src/color/neutral-outline.spec.ts b/packages/web-components/src/color/neutral-outline.spec.ts index eb55a16a95ec7b..a2af7d846e105d 100644 --- a/packages/web-components/src/color/neutral-outline.spec.ts +++ b/packages/web-components/src/color/neutral-outline.spec.ts @@ -98,7 +98,7 @@ describe("ensure parity between old and new recipe implementation", () => { neutralOutlineActiveDelta, neutralOutlineFocusDelta, ); - it(`should be the same for ${newSwatch}`, () => { + it(`should be the same for ${newSwatch.toColorString()}`, () => { for (let key in oldValues) { expect(oldValues[key]).to.equal(newValues[key].toColorString().toUpperCase()) } diff --git a/packages/web-components/src/data-grid/data-grid-cell.styles.ts b/packages/web-components/src/data-grid/data-grid-cell.styles.ts index 3ff2fddc68c472..6d7efe4f90000f 100644 --- a/packages/web-components/src/data-grid/data-grid-cell.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-cell.styles.ts @@ -6,7 +6,7 @@ import { controlCornerRadius, designUnit, focusStrokeOuter, - neutralForeground, + neutralForegroundRest, strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, @@ -16,7 +16,7 @@ export const dataGridCellStyles = (context, definition) => css` :host { padding: calc(${designUnit} * 1px) calc(${designUnit} * 3px); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; box-sizing: border-box; font-family: ${bodyFont}; font-size: ${typeRampBaseFontSize}; @@ -34,7 +34,7 @@ export const dataGridCellStyles = (context, definition) => :host(:${focusVisible}) { border: ${focusStrokeOuter} calc(${strokeWidth} * 1px) solid; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } `.withBehaviors( diff --git a/packages/web-components/src/data-grid/data-grid-row.styles.ts b/packages/web-components/src/data-grid/data-grid-row.styles.ts index e585d50fe1d2a7..afd8a4ef6c9912 100644 --- a/packages/web-components/src/data-grid/data-grid-row.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-row.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { neutralFillRest, strokeWidth, neutralStrokeDivider } from '../design-tokens'; +import { neutralFillRest, neutralStrokeDividerRest, strokeWidth } from '../design-tokens'; export const dataGridRowStyles = (context, defintion) => css` @@ -9,7 +9,7 @@ export const dataGridRowStyles = (context, defintion) => padding: 1px 0; box-sizing: border-box; width: 100%; - border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; + border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } :host(.header) { diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 232f3263db891e..78cb16c30a3dc5 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -1,143 +1,224 @@ -import { DesignToken, DI } from '@microsoft/fast-foundation'; +import { DesignToken } from '@microsoft/fast-foundation'; import { Direction } from '@microsoft/fast-web-utilities'; import { PaletteRGB } from './color-vNext/palette'; +import { Swatch, SwatchRGB } from './color-vNext/swatch'; import { accentFill as accentFillAlgorithm } from './color-vNext/recipes/accent-fill'; import { accentForeground as accentForegroundAlgorithm } from './color-vNext/recipes/accent-foreground'; -import { accentForegroundCut as accentForegroundCutAlgorithm } from './color-vNext/recipes/accent-foreground-cut'; +import { foregroundOnAccent as foregroundOnAccentAlgorithm } from './color-vNext/recipes/foreground-on-accent'; import { neutralFillInverse as neutralFillInverseAlgorithm } from './color-vNext/recipes/neutral-fill-inverse'; import { neutralDivider as neutralDividerAlgorithm } from './color-vNext/recipes/neutral-divider'; -import { SwatchRGB } from './color-vNext/swatch'; -import { neutralFillCard as neutralFillCardAlgorithm } from './color-vNext/recipes/neutral-fill-card'; -import { neutralFillInput as NeutralFillInputAlgorithm } from './color-vNext/recipes/neutral-fill-input'; +import { neutralFill as neutralFillAlgorithm } from './color-vNext/recipes/neutral-fill'; +import { neutralFillInput as neutralFillInputAlgorithm } from './color-vNext/recipes/neutral-fill-input'; +import { neutralFillLayer as neutralFillLayerAlgorithm } from './color-vNext/recipes/neutral-fill-layer'; import { neutralFillStealth as neutralFillStealthAlgorithm } from './color-vNext/recipes/neutral-fill-stealth'; import { neutralFillContrast as neutralFillContrastAlgorithm } from './color-vNext/recipes/neutral-fill-contrast'; -import { neutralFill as neutralFillAlgorithm } from './color-vNext/recipes/neutral-fill'; import { focusStrokeInner as focusStrokeInnerAlgorithm, focusStrokeOuter as focusStrokeOuterAlgorithm, } from './color-vNext/recipes/focus-stroke'; -import { neutralStroke as neutralStrokeAlgorithm } from './color-vNext/recipes/neutral-stroke'; import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color-vNext/recipes/neutral-foreground-hint'; import { neutralForeground as neutralForegroundAlgorithm } from './color-vNext/recipes/neutral-foreground'; import { neutralLayerFloating as neutralLayerFloatingAlgorithm } from './color-vNext/recipes/neutral-layer-floating'; -import { neutralLayerL1 as neutralLayerL1Algorithm } from './color-vNext/recipes/neutral-layer-L1'; -import { neutralLayerL2 as neutralLayerL2Algorithm } from './color-vNext/recipes/neutral-layer-L2'; -import { neutralLayerL3 as neutralLayerL3Algorithm } from './color-vNext/recipes/neutral-layer-L3'; -import { neutralLayerL4 as neutralLayerL4Algorithm } from './color-vNext/recipes/neutral-layer-L4'; +import { neutralLayer1 as neutralLayer1Algorithm } from './color-vNext/recipes/neutral-layer-1'; +import { neutralLayer2 as neutralLayer2Algorithm } from './color-vNext/recipes/neutral-layer-2'; +import { neutralLayer3 as neutralLayer3Algorithm } from './color-vNext/recipes/neutral-layer-3'; +import { neutralLayer4 as neutralLayer4Algorithm } from './color-vNext/recipes/neutral-layer-4'; +import { neutralStroke as neutralStrokeAlgorithm } from './color-vNext/recipes/neutral-stroke'; import { accentBase, middleGrey } from './color-vNext/utilities/color-constants'; import { StandardLuminance } from './color'; +import { SwatchFamily } from './color-vNext/recipe'; + +// eslint-disable-next-line @typescript-eslint/ban-types +export interface Recipe | symbol | {}> { + evaluate(element: HTMLElement, reference?: Swatch): T; +} + +export type ColorRecipe = Recipe; + +export type ColorFamilyRecipe = Recipe; const { create } = DesignToken; +/** @public */ export const accentFillRestDelta = create('accent-fill-rest-delta').withDefault(0); +/** @public */ export const accentFillHoverDelta = create('accent-fill-hover-delta').withDefault(4); +/** @public */ export const accentFillActiveDelta = create('accent-fill-active-delta').withDefault(-5); +/** @public */ export const accentFillFocusDelta = create('accent-fill-focus-delta').withDefault(0); +/** @public */ export const accentForegroundRestDelta = create('accent-foreground-rest-delta').withDefault(0); +/** @public */ export const accentForegroundHoverDelta = create('accent-foreground-hover-delta').withDefault(6); +/** @public */ export const accentForegroundActiveDelta = create('accent-foreground-active-delta').withDefault(-4); +/** @public */ export const accentForegroundFocusDelta = create('accent-foreground-focus-delta').withDefault(0); +/** @public */ export const bodyFont = create('body-font').withDefault('Segoe UI, sans-serif'); +/** @public */ export const baseHeightMultiplier = create('base-height-multiplier').withDefault(8); +/** @public */ export const baseHorizontalSpacingMultiplier = create('base-horizontal-spacing-multiplier').withDefault(3); +/** @public */ export const baseLayerLuminance = create('base-layer-luminance').withDefault(StandardLuminance.LightMode); -export const controlCornerRadius = create('corner-radius').withDefault(4); -/** @deprecated */ +/** @public */ +export const controlCornerRadius = create('control-corner-radius').withDefault(4); +/** @public @deprecated Use controlCornerRadius */ export const cornerRadius = controlCornerRadius; +/** @public */ export const density = create('density').withDefault(0); +/** @public */ export const designUnit = create('design-unit').withDefault(4); +/** @public */ export const direction = create('direction').withDefault(Direction.ltr); +/** @public */ export const disabledOpacity = create('disabled-opacity').withDefault(0.3); -export const surfaceCornerRadius = create('elevated-corner-radius').withDefault(4); -/** @deprecated */ -export const elevatedCornerRadius = surfaceCornerRadius; +/** @public */ +export const layerCornerRadius = create('layer-corner-radius').withDefault(4); +/** @public @deprecated Use layerCornerRadius */ +export const elevatedCornerRadius = layerCornerRadius; +/** @public */ export const focusStrokeWidth = create('focus-stroke-width').withDefault(2); -/** @deprecated */ +/** @public @deprecated Use focusStrokeWidth */ export const focusOutlineWidth = focusStrokeWidth; +/** @public */ export const neutralFillInverseRestDelta = create('neutral-fill-inverse-rest-delta').withDefault(0); +/** @public */ export const neutralFillInverseHoverDelta = create('neutral-fill-inverse-hover-delta').withDefault(-3); +/** @public */ export const neutralFillInverseActiveDelta = create('neutral-fill-inverse-active-delta').withDefault(7); +/** @public */ export const neutralFillInverseFocusDelta = create('neutral-fill-inverse-focus-delta').withDefault(0); -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseRestDelta */ export const neutralContrastFillRestDelta = neutralFillInverseRestDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseHoverDelta */ export const neutralContrastFillHoverDelta = neutralFillInverseHoverDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseActiveDelta */ export const neutralContrastFillActiveDelta = neutralFillInverseActiveDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseFocusDelta */ export const neutralContrastFillFocusDelta = neutralFillInverseFocusDelta; +/** @public */ export const neutralStrokeDividerRestDelta = create('neutral-stroke-divider-rest-delta').withDefault(8); -/** @deprecated */ +/** @public @deprecated Use neutralStrokeDividerRestDelta */ export const neutralDividerRestDelta = neutralStrokeDividerRestDelta; +/** @public */ export const neutralFillActiveDelta = create('neutral-fill-active-delta').withDefault(5); -export const neutralFillCardRestDelta = create('neutral-fill-card-rest-delta').withDefault(3); -/** @deprecated */ -export const neutralFillCardDelta = neutralFillCardRestDelta; +/** @public */ +export const neutralFillLayerRestDelta = create('neutral-fill-layer-rest-delta').withDefault(3); +/** @public @deprecated Use neutralFillLayerRestDelta */ +export const neutralFillCardDelta = neutralFillLayerRestDelta; +/** @public */ export const neutralFillFocusDelta = create('neutral-fill-focus-delta').withDefault(0); +/** @public */ export const neutralFillHoverDelta = create('neutral-fill-hover-delta').withDefault(10); +/** @public */ export const neutralFillInputActiveDelta = create('neutral-fill-input-active-delta').withDefault(0); +/** @public */ export const neutralFillInputFocusDelta = create('neutral-fill-input-focus-delta').withDefault(0); +/** @public */ export const neutralFillInputHoverDelta = create('neutral-fill-input-hover-delta').withDefault(0); +/** @public */ export const neutralFillInputRestDelta = create('neutral-fill-input-rest-delta').withDefault(0); +/** @public */ export const neutralFillRestDelta = create('neutral-fill-rest-delta').withDefault(7); +/** @public */ export const neutralFillStealthActiveDelta = create('neutral-fill-stealth-active-delta').withDefault(3); +/** @public */ export const neutralFillStealthFocusDelta = create('neutral-fill-stealth-focus-delta').withDefault(0); +/** @public */ export const neutralFillStealthHoverDelta = create('neutral-fill-stealth-hover-delta').withDefault(5); +/** @public */ export const neutralFillStealthRestDelta = create('neutral-fill-stealth-rest-delta').withDefault(0); +/** @public */ export const neutralFillStrongRestDelta = create('neutral-fill-strong-rest-delta').withDefault(0); +/** @public */ export const neutralFillStrongActiveDelta = create('neutral-fill-strong-active-delta').withDefault(-5); +/** @public */ export const neutralFillStrongFocusDelta = create('neutral-fill-strong-focus-delta').withDefault(0); +/** @public */ export const neutralFillStrongHoverDelta = create('neutral-fill-strong-hover-delta').withDefault(8); -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongRestDelta */ export const neutralFillToggleRestDelta = neutralFillStrongRestDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongHoverDelta */ export const neutralFillToggleHoverDelta = neutralFillStrongHoverDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongActiveDelta */ export const neutralFillToggleActiveDelta = neutralFillStrongActiveDelta; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongFocusDelta */ export const neutralFillToggleFocusDelta = neutralFillStrongFocusDelta; +/** @public */ export const neutralStrokeActiveDelta = create('neutral-stroke-active-delta').withDefault(16); +/** @public */ export const neutralStrokeFocusDelta = create('neutral-stroke-focus-delta').withDefault(25); +/** @public */ export const neutralStrokeHoverDelta = create('neutral-stroke-hover-delta').withDefault(40); +/** @public */ export const neutralStrokeRestDelta = create('neutral-stroke-rest-delta').withDefault(25); +/** @public */ export const strokeWidth = create('stroke-width').withDefault(1); -/** @deprecated */ +/** @public @deprecated Use strokeWidth */ export const outlineWidth = strokeWidth; +/** @public */ export const typeRampBaseFontSize = create('type-ramp-base-font-size').withDefault('14px'); +/** @public */ export const typeRampBaseLineHeight = create('type-ramp-base-line-height').withDefault('20px'); +/** @public */ export const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('12px'); +/** @public */ export const typeRampMinus1LineHeight = create('type-ramp-minus1-line-height').withDefault('16px'); +/** @public */ export const typeRampMinus2FontSize = create('type-ramp-minus2-font-size').withDefault('10px'); +/** @public */ export const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('14px'); +/** @public */ export const typeRampPlus1FontSize = create('type-ramp-plus1-font-size').withDefault('16px'); +/** @public */ export const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('22px'); +/** @public */ export const typeRampPlus2FontSize = create('type-ramp-plus2-font-size').withDefault('20px'); +/** @public */ export const typeRampPlus2LineHeight = create('type-ramp-plus2-line-height').withDefault('28px'); +/** @public */ export const typeRampPlus3FontSize = create('type-ramp-plus3-font-size').withDefault('24px'); +/** @public */ export const typeRampPlus3LineHeight = create('type-ramp-plus3-line-height').withDefault('32px'); +/** @public */ export const typeRampPlus4FontSize = create('type-ramp-plus4-font-size').withDefault('28px'); +/** @public */ export const typeRampPlus4LineHeight = create('type-ramp-plus4-line-height').withDefault('36px'); +/** @public */ export const typeRampPlus5FontSize = create('type-ramp-plus5-font-size').withDefault('32px'); +/** @public */ export const typeRampPlus5LineHeight = create('type-ramp-plus5-line-height').withDefault('40px'); +/** @public */ export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size').withDefault('40px'); +/** @public */ export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('52px'); -export const neutralPalette = create('neutral-palette').withDefault(PaletteRGB.create(middleGrey)); -export const accentPalette = create('accent-palette').withDefault(PaletteRGB.create(accentBase)); +/** @public */ +export const neutralPalette = create({ name: 'neutral-palette', cssCustomPropertyName: null }).withDefault( + PaletteRGB.create(middleGrey), +); +/** @public */ +export const accentPalette = create({ name: 'accent-palette', cssCustomPropertyName: null }).withDefault( + PaletteRGB.create(accentBase), +); -export const fillColor = create('fill-color').withDefault(element => { +/** @public */ +export const fillColor = create('fill-color').withDefault(element => { const palette = neutralPalette.getValueFor(element); return palette.get(0); }); @@ -147,34 +228,46 @@ enum ContrastTarget { large = 7, } -// Accent Foreground Cut -const accentForegroundCutByContrast = (contrast: number) => (element: HTMLElement) => - accentForegroundCutAlgorithm(accentPalette.getValueFor(element).source, contrast); -export const AccentForegroundCut = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'accent-foreground-cut', - builder => builder.instance((element: HTMLElement) => accentForegroundCutByContrast(ContrastTarget.normal)(element)), -); -export const AccentForegroundCutLarge = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'accent-foreground-cut-large', - builder => builder.instance((element: HTMLElement) => accentForegroundCutByContrast(ContrastTarget.large)(element)), -); - -export const accentForegroundCut = create('accent-foreground-cut').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentForegroundCut)(element); +// Foreground On Accent +const foregroundOnAccentByContrast = (contrast: number) => (element: HTMLElement) => + foregroundOnAccentAlgorithm(accentPalette.getValueFor(element).source, contrast); +/** @public */ +export const foregroundOnAccentRecipe = create({ + name: 'foreground-on-accent-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchRGB => + foregroundOnAccentByContrast(ContrastTarget.normal)(element), }); -export const accentForegroundCutLarge = create('accent-foreground-cut-large').withDefault( - (element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentForegroundCutLarge)(element); - }, +/** @public */ +export const foregroundOnAccentLargeRecipe = create({ + name: 'foreground-on-accent-large-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchRGB => + foregroundOnAccentByContrast(ContrastTarget.large)(element), +}); + +/** @public */ +export const foregroundOnAccentRest = create('foreground-on-accent-rest').withDefault((element: HTMLElement) => + foregroundOnAccentRecipe.getValueFor(element).evaluate(element), ); +/** @public @deprecated Use foregroundOnAccentRest */ +export const accentForegroundCut = foregroundOnAccentRest; +/** @public */ +export const foregroundOnAccentRestLarge = create( + 'foreground-on-accent-rest-large', +).withDefault((element: HTMLElement) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element)); +/** @public @deprecated Use foregroundOnAccentRestLarge */ +export const accentForegroundCutLarge = foregroundOnAccentRestLarge; // Accent Fill -const accentFillByContrast = (contrast: number) => (element: HTMLElement, fill?: SwatchRGB) => { +const accentFillByContrast = (contrast: number) => (element: HTMLElement, reference?: SwatchRGB) => { return accentFillAlgorithm( accentPalette.getValueFor(element), neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), - accentForegroundCut.getValueFor(element), + reference || fillColor.getValueFor(element), + foregroundOnAccentRest.getValueFor(element), contrast, accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), @@ -184,23 +277,33 @@ const accentFillByContrast = (contrast: number) => (element: HTMLElement, fill?: neutralFillActiveDelta.getValueFor(element), ); }; -export const AccentFill = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('accent-fill', builder => builder.instance(accentFillByContrast(ContrastTarget.normal))); +/** @public */ +export const accentFillRecipe = create({ + name: 'accent-fill-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + accentFillByContrast(ContrastTarget.normal)(element), +}); -export const accentFillRest = create('accent-fill-rest').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentFill)(element).rest; +/** @public */ +export const accentFillRest = create('accent-fill-rest').withDefault((element: HTMLElement) => { + return accentFillRecipe.getValueFor(element).evaluate(element).rest; }); -export const accentFillHover = create('accent-fill-hover').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentFill)(element).hover; +/** @public */ +export const accentFillHover = create('accent-fill-hover').withDefault((element: HTMLElement) => { + return accentFillRecipe.getValueFor(element).evaluate(element).hover; }); -export const accentFillActive = create('accent-fill-active').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentFill)(element).active; +/** @public */ +export const accentFillActive = create('accent-fill-active').withDefault((element: HTMLElement) => { + return accentFillRecipe.getValueFor(element).evaluate(element).active; }); -export const accentFillFocus = create('accent-fill-focus').withDefault((element: HTMLElement) => { - return DI.findResponsibleContainer(element).get(AccentFill)(element).focus; +/** @public */ +export const accentFillFocus = create('accent-fill-focus').withDefault((element: HTMLElement) => { + return accentFillRecipe.getValueFor(element).evaluate(element).focus; }); +// Accent Foreground const accentForegroundByContrast = (contrast: number) => (element: HTMLElement) => { return accentForegroundAlgorithm( accentPalette.getValueFor(element), @@ -213,134 +316,158 @@ const accentForegroundByContrast = (contrast: number) => (element: HTMLElement) ); }; -/** - * Accent Foreground - */ -export const AccentForeground = DI.createInterface< - (element: HTMLElement) => ReturnType ->('accent-foreground', builder => builder.instance(accentForegroundByContrast(ContrastTarget.normal))); +/** @public */ +export const accentForegroundRecipe = create({ + name: 'accent-foreground-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + accentForegroundByContrast(ContrastTarget.normal)(element), +}); -export const accentForegroundRest = create('accent-foreground-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).rest, +/** @public */ +export const accentForegroundRest = create('accent-foreground-rest').withDefault( + (element: HTMLElement) => accentForegroundRecipe.getValueFor(element).evaluate(element).rest, ); -export const accentForegroundHover = create('accent-foreground-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).hover, +/** @public */ +export const accentForegroundHover = create('accent-foreground-hover').withDefault( + (element: HTMLElement) => accentForegroundRecipe.getValueFor(element).evaluate(element).hover, ); -export const accentForegroundActive = create('accent-foreground-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).active, +/** @public */ +export const accentForegroundActive = create('accent-foreground-active').withDefault( + (element: HTMLElement) => accentForegroundRecipe.getValueFor(element).evaluate(element).active, ); -export const accentForegroundFocus = create('accent-foreground-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(AccentForeground)(element).focus, +/** @public */ +export const accentForegroundFocus = create('accent-foreground-focus').withDefault( + (element: HTMLElement) => accentForegroundRecipe.getValueFor(element).evaluate(element).focus, ); // Neutral Divider -export const NeutralStrokeDivider = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'neutral-stroke-divider', - builder => - builder.instance((element: HTMLElement) => - neutralDividerAlgorithm( - neutralPalette.getValueFor(element), - fillColor.getValueFor(element), - neutralStrokeDividerRestDelta.getValueFor(element), - ), +/** @public */ +export const neutralStrokeDividerRecipe = create({ + name: 'neutral-stroke-divider-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + neutralDividerAlgorithm( + neutralPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralStrokeDividerRestDelta.getValueFor(element), ), -); -export const neutralStrokeDivider = create('neutral-stroke-divider').withDefault(element => - DI.findResponsibleContainer(element).get(NeutralStrokeDivider)(element), -); -/** @deprecated */ -export const neutralDivider = neutralStrokeDivider; - -// Neutral Fill Card -export const NeutralFillCard = DI.createInterface<(element: HTMLElement, fill?: SwatchRGB) => SwatchRGB>( - 'neutral-fill-card', - builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => - neutralFillCardAlgorithm( - neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), - neutralFillCardRestDelta.getValueFor(element), - ), +}); +/** @public */ +export const neutralStrokeDividerRest = create('neutral-stroke-divider-rest').withDefault(element => + neutralStrokeDividerRecipe.getValueFor(element).evaluate(element), +); +/** @public @deprecated Use neutralStrokeDividerRest */ +export const neutralDivider = neutralStrokeDividerRest; + +// Neutral Fill Layer +/** @public */ +export const neutralFillLayerRecipe = create({ + name: 'neutral-fill-layer-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + neutralFillLayerAlgorithm( + neutralPalette.getValueFor(element), + reference || fillColor.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), ), +}); +/** @public */ +export const neutralFillLayerRest = create('neutral-fill-layer-rest').withDefault((element: HTMLElement) => + neutralFillLayerRecipe.getValueFor(element).evaluate(element), ); -export const neutralFillCard = create('neutral-fill-card').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralFillCard)(element), -); +/** @public @deprecated Use neutralFillLayerRest */ +export const neutralFillCard = neutralFillLayerRest; // Neutral Fill Inverse -export const NeutralFillInverse = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill-inverse', builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => +/** @public */ +export const neutralFillInverseRecipe = create({ + name: 'neutral-fill-inverse-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => neutralFillInverseAlgorithm( neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralFillInverseRestDelta.getValueFor(element), neutralFillInverseHoverDelta.getValueFor(element), neutralFillInverseActiveDelta.getValueFor(element), neutralFillInverseFocusDelta.getValueFor(element), ), - ), -); +}); -export const neutralFillInverseRest = create('neutral-fill-inverse-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).rest, +/** @public */ +export const neutralFillInverseRest = create('neutral-fill-inverse-rest').withDefault( + (element: HTMLElement) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralFillInverseHover = create('neutral-fill-inverse-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).hover, +/** @public */ +export const neutralFillInverseHover = create('neutral-fill-inverse-hover').withDefault( + (element: HTMLElement) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralFillInverseActive = create('neutral-fill-inverse-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).active, +/** @public */ +export const neutralFillInverseActive = create('neutral-fill-inverse-active').withDefault( + (element: HTMLElement) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).active, ); -export const neutralFillInverseFocus = create('neutral-fill-inverse-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInverse)(element).focus, +/** @public */ +export const neutralFillInverseFocus = create('neutral-fill-inverse-focus').withDefault( + (element: HTMLElement) => neutralFillInverseRecipe.getValueFor(element).evaluate(element).focus, ); -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseRest */ export const neutralContrastFillRest = neutralFillInverseRest; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseHover */ export const neutralContrastFillHover = neutralFillInverseHover; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseActive */ export const neutralContrastFillActive = neutralFillInverseActive; -/** @deprecated */ +/** @public @deprecated Use neutralFillInverseFocus */ export const neutralContrastFillFocus = neutralFillInverseFocus; // Neutral Fill Input -export const NeutralFillInput = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill-input', builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => { - return NeutralFillInputAlgorithm( +/** @public */ +export const neutralFillInputRecipe = create({ + name: 'neutral-fill-input-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + neutralFillInputAlgorithm( neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralFillInputRestDelta.getValueFor(element), neutralFillInputHoverDelta.getValueFor(element), neutralFillInputActiveDelta.getValueFor(element), neutralFillInputFocusDelta.getValueFor(element), - ); - }), -); + ), +}); -export const neutralFillInputRest = create('neutral-fill-input-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).rest, +/** @public */ +export const neutralFillInputRest = create('neutral-fill-input-rest').withDefault( + (element: HTMLElement) => neutralFillInputRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralFillInputHover = create('neutral-fill-input-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).hover, +/** @public */ +export const neutralFillInputHover = create('neutral-fill-input-hover').withDefault( + (element: HTMLElement) => neutralFillInputRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralFillInputFocus = create('neutral-fill-input-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).focus, +/** @public */ +export const neutralFillInputFocus = create('neutral-fill-input-focus').withDefault( + (element: HTMLElement) => neutralFillInputRecipe.getValueFor(element).evaluate(element).focus, ); -export const neutralFillInputActive = create('neutral-fill-input-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillInput)(element).active, +/** @public */ +export const neutralFillInputActive = create('neutral-fill-input-active').withDefault( + (element: HTMLElement) => neutralFillInputRecipe.getValueFor(element).evaluate(element).active, ); // Neutral Fill Stealth -export const NeutralFillStealth = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill-stealth', builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => +/** @public */ +export const neutralFillStealthRecipe = create({ + name: 'neutral-fill-stealth-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => neutralFillStealthAlgorithm( neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralFillStealthRestDelta.getValueFor(element), neutralFillStealthHoverDelta.getValueFor(element), neutralFillStealthActiveDelta.getValueFor(element), @@ -350,253 +477,308 @@ export const NeutralFillStealth = DI.createInterface< neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element), ), - ), -); +}); -export const neutralFillStealthRest = create('neutral-fill-stealth-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).rest, +/** @public */ +export const neutralFillStealthRest = create('neutral-fill-stealth-rest').withDefault( + (element: HTMLElement) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralFillStealthHover = create('neutral-fill-stealth-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).hover, +/** @public */ +export const neutralFillStealthHover = create('neutral-fill-stealth-hover').withDefault( + (element: HTMLElement) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralFillStealthActive = create('neutral-fill-stealth-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).active, +/** @public */ +export const neutralFillStealthActive = create('neutral-fill-stealth-active').withDefault( + (element: HTMLElement) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).active, ); -export const neutralFillStealthFocus = create('neutral-fill-stealth-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStealth)(element).focus, +/** @public */ +export const neutralFillStealthFocus = create('neutral-fill-stealth-focus').withDefault( + (element: HTMLElement) => neutralFillStealthRecipe.getValueFor(element).evaluate(element).focus, ); // Neutral Fill Strong // TODO: none of these are actually used, do we need them? -export const NeutralFillStrong = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill-strong', builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => +/** @public */ +export const neutralFillStrongRecipe = create({ + name: 'neutral-fill-strong-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => neutralFillContrastAlgorithm( neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralFillStrongRestDelta.getValueFor(element), neutralFillStrongHoverDelta.getValueFor(element), neutralFillStrongActiveDelta.getValueFor(element), neutralFillStrongFocusDelta.getValueFor(element), ), - ), -); +}); -export const neutralFillStrongRest = create('neutral-fill-strong-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).rest, +/** @public */ +export const neutralFillStrongRest = create('neutral-fill-strong-rest').withDefault( + (element: HTMLElement) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralFillStrongHover = create('neutral-fill-strong-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).hover, +/** @public */ +export const neutralFillStrongHover = create('neutral-fill-strong-hover').withDefault( + (element: HTMLElement) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralFillStrongActive = create('neutral-fill-strong-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).active, +/** @public */ +export const neutralFillStrongActive = create('neutral-fill-strong-active').withDefault( + (element: HTMLElement) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).active, ); -export const neutralFillStrongFocus = create('neutral-fill-strong-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFillStrong)(element).focus, +/** @public */ +export const neutralFillStrongFocus = create('neutral-fill-strong-focus').withDefault( + (element: HTMLElement) => neutralFillStrongRecipe.getValueFor(element).evaluate(element).focus, ); -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongRest */ export const neutralFillToggleRest = neutralFillStrongRest; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongHover */ export const neutralFillToggleHover = neutralFillStrongHover; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongActive */ export const neutralFillToggleActive = neutralFillStrongActive; -/** @deprecated */ +/** @public @deprecated Use neutralFillStrongFocus */ export const neutralFillToggleFocus = neutralFillStrongFocus; // Neutral Fill -export const NeutralFill = DI.createInterface< - (element: HTMLElement, fill?: SwatchRGB) => ReturnType ->('neutral-fill', builder => - builder.instance((element: HTMLElement, fill?: SwatchRGB) => +/** @public */ +export const neutralFillRecipe = create({ + name: 'neutral-fill-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => neutralFillAlgorithm( neutralPalette.getValueFor(element), - fill || fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), neutralFillFocusDelta.getValueFor(element), ), - ), -); -export const neutralFillRest = create('neutral-fill-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).rest, +}); +/** @public */ +export const neutralFillRest = create('neutral-fill-rest').withDefault( + (element: HTMLElement) => neutralFillRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralFillHover = create('neutral-fill-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).hover, +/** @public */ +export const neutralFillHover = create('neutral-fill-hover').withDefault( + (element: HTMLElement) => neutralFillRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralFillActive = create('neutral-fill-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).active, +/** @public */ +export const neutralFillActive = create('neutral-fill-active').withDefault( + (element: HTMLElement) => neutralFillRecipe.getValueFor(element).evaluate(element).active, ); -export const neutralFillFocus = create('neutral-fill-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralFill)(element).focus, +/** @public */ +export const neutralFillFocus = create('neutral-fill-focus').withDefault( + (element: HTMLElement) => neutralFillRecipe.getValueFor(element).evaluate(element).focus, ); // Focus Stroke Outer -export const FocusStrokeOuter = DI.createInterface<(element: HTMLElement) => SwatchRGB>('focus-stroke-outer', builder => - builder.instance((element: HTMLElement) => +/** @public */ +export const focusStrokeOuterRecipe = create({ + name: 'focus-stroke-outer-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => focusStrokeOuterAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), - ), -); +}); -export const focusStrokeOuter = create('focus-stroke-outer').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(FocusStrokeOuter)(element), +/** @public */ +export const focusStrokeOuter = create('focus-stroke-outer').withDefault((element: HTMLElement) => + focusStrokeOuterRecipe.getValueFor(element).evaluate(element), ); -/** @deprecated */ +/** @public @deprecated Use focusStrokeOuter */ export const neutralFocus = focusStrokeOuter; // Focus Stroke Inner -export const FocusStrokeInner = DI.createInterface<(element: HTMLElement) => SwatchRGB>('focus-stroke-inner', builder => - builder.instance((element: HTMLElement) => +/** @public */ +export const focusStrokeInnerRecipe = create({ + name: 'focus-stroke-inner-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => focusStrokeInnerAlgorithm( accentPalette.getValueFor(element), fillColor.getValueFor(element), focusStrokeOuter.getValueFor(element), ), - ), -); +}); -export const focusStrokeInner = create('focus-stroke-inner').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(FocusStrokeInner)(element), +/** @public */ +export const focusStrokeInner = create('focus-stroke-inner').withDefault((element: HTMLElement) => + focusStrokeInnerRecipe.getValueFor(element).evaluate(element), ); -/** @deprecated */ +/** @public @deprecated Use focusStrokeInner */ export const neutralFocusInnerAccent = focusStrokeInner; // Neutral Foreground Hint -export const NeutralForegroundHint = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'neutral-foreground-hint', - builder => - builder.instance((element: HTMLElement) => - neutralForegroundHintAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), - ), -); +/** @public */ +export const neutralForegroundHintRecipe = create({ + name: 'neutral-foreground-hint-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralForegroundHintAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), +}); -export const neutralForegroundHint = create('neutral-foreground-hint').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralForegroundHint)(element), +/** @public */ +export const neutralForegroundHint = create('neutral-foreground-hint').withDefault((element: HTMLElement) => + neutralForegroundHintRecipe.getValueFor(element).evaluate(element), ); // Neutral Foreground -export const NeutralForeground = DI.createInterface< - (element: HTMLElement) => ReturnType ->('neutral-foreground', builder => - builder.instance((element: HTMLElement) => +/** @public */ +export const neutralForegroundRecipe = create({ + name: 'neutral-foreground-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => neutralForegroundAlgorithm(neutralPalette.getValueFor(element), fillColor.getValueFor(element)), - ), -); +}); -export const neutralForeground = create('neutral-foreground').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralForeground)(element), +/** @public */ +export const neutralForegroundRest = create('neutral-foreground-rest').withDefault((element: HTMLElement) => + neutralForegroundRecipe.getValueFor(element).evaluate(element), ); -/** @deprecated */ -export const neutralForegroundRest = neutralForeground; // Neutral Stroke -export const NeutralStroke = DI.createInterface<(element: HTMLElement) => ReturnType>( - 'neutral-stroke', - builder => - builder.instance((element: HTMLElement) => - neutralStrokeAlgorithm( - neutralPalette.getValueFor(element), - fillColor.getValueFor(element), - neutralStrokeRestDelta.getValueFor(element), - neutralStrokeHoverDelta.getValueFor(element), - neutralStrokeActiveDelta.getValueFor(element), - neutralStrokeFocusDelta.getValueFor(element), - ), - ), -); +/** @public */ +export const neutralStrokeRecipe = create({ + name: 'neutral-stroke-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): SwatchFamily => { + return neutralStrokeAlgorithm( + neutralPalette.getValueFor(element), + fillColor.getValueFor(element), + neutralStrokeRestDelta.getValueFor(element), + neutralStrokeHoverDelta.getValueFor(element), + neutralStrokeActiveDelta.getValueFor(element), + neutralStrokeFocusDelta.getValueFor(element), + ); + }, +}); -export const neutralStrokeRest = create('neutral-stroke-rest').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).rest, +/** @public */ +export const neutralStrokeRest = create('neutral-stroke-rest').withDefault( + (element: HTMLElement) => neutralStrokeRecipe.getValueFor(element).evaluate(element).rest, ); -export const neutralStrokeHover = create('neutral-stroke-hover').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).hover, +/** @public */ +export const neutralStrokeHover = create('neutral-stroke-hover').withDefault( + (element: HTMLElement) => neutralStrokeRecipe.getValueFor(element).evaluate(element).hover, ); -export const neutralStrokeActive = create('neutral-stroke-active').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).active, +/** @public */ +export const neutralStrokeActive = create('neutral-stroke-active').withDefault( + (element: HTMLElement) => neutralStrokeRecipe.getValueFor(element).evaluate(element).active, ); -export const neutralStrokeFocus = create('neutral-stroke-focus').withDefault( - (element: HTMLElement) => DI.findResponsibleContainer(element).get(NeutralStroke)(element).focus, +/** @public */ +export const neutralStrokeFocus = create('neutral-stroke-focus').withDefault( + (element: HTMLElement) => neutralStrokeRecipe.getValueFor(element).evaluate(element).focus, ); +/** @public @deprecated Use neutralStrokeRest */ +export const neutralOutlineRest = neutralStrokeRest; +/** @public @deprecated Use neutralStrokeHover */ +export const neutralOutlineHover = neutralStrokeHover; +/** @public @deprecated Use neutralStrokeActive */ +export const neutralOutlineActive = neutralStrokeActive; +/** @public @deprecated Use neutralStrokeFocus */ +export const neutralOutlineFocus = neutralStrokeFocus; // Neutral Layer Floating -export const NeutralLayerFloating = DI.createInterface<(element: HTMLElement) => SwatchRGB>( - 'neutral-layer-floating', - builder => - builder.instance((element: HTMLElement) => - neutralLayerFloatingAlgorithm( - neutralPalette.getValueFor(element), - baseLayerLuminance.getValueFor(element), - neutralFillCardRestDelta.getValueFor(element), - ), +/** @public */ +export const neutralLayerFloatingRecipe = create({ + name: 'neutral-layer-floating-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayerFloatingAlgorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), ), -); +}); -export const neutralLayerFloating = create('neutral-layer-floating').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralLayerFloating)(element), +/** @public */ +export const neutralLayerFloating = create('neutral-layer-floating').withDefault((element: HTMLElement) => + neutralLayerFloatingRecipe.getValueFor(element).evaluate(element), ); -// Neutral Layer L1 -export const NeutralLayerL1 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L1', builder => - builder.instance((element: HTMLElement) => - neutralLayerL1Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element)), - ), -); +// Neutral Layer 1 +/** @public */ +export const neutralLayer1Recipe = create({ + name: 'neutral-layer-1-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayer1Algorithm(neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element)), +}); -export const neutralLayerL1 = create('neutral-layer-L1').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralLayerL1)(element), +/** @public */ +export const neutralLayer1 = create('neutral-layer-1').withDefault((element: HTMLElement) => + neutralLayer1Recipe.getValueFor(element).evaluate(element), ); -// Neutral Layer L2 -export const NeutralLayerL2 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L2', builder => - builder.instance((element: HTMLElement) => - neutralLayerL2Algorithm( +// Neutral Layer 2 +/** @public */ +export const neutralLayer2Recipe = create({ + name: 'neutral-layer-2-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayer2Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardRestDelta.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), ), - ), -); +}); -export const neutralLayerL2 = create('neutral-layer-L2').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralLayerL2)(element), +/** @public */ +export const neutralLayer2 = create('neutral-layer-2').withDefault((element: HTMLElement) => + neutralLayer2Recipe.getValueFor(element).evaluate(element), ); -// Neutral Layer L3 -export const NeutralLayerL3 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L3', builder => - builder.instance((element: HTMLElement) => - neutralLayerL3Algorithm( +// Neutral Layer 3 +/** @public */ +export const neutralLayer3Recipe = create({ + name: 'neutral-layer-3-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayer3Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardRestDelta.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), ), - ), -); +}); -export const neutralLayerL3 = create('neutral-layer-L3').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralLayerL3)(element), +/** @public */ +export const neutralLayer3 = create('neutral-layer-3').withDefault((element: HTMLElement) => + neutralLayer3Recipe.getValueFor(element).evaluate(element), ); -// Neutral Layer L4 -export const NeutralLayerL4 = DI.createInterface<(element: HTMLElement) => SwatchRGB>('neutral-layer-L4', builder => - builder.instance((element: HTMLElement) => - neutralLayerL4Algorithm( +// Neutral Layer 4 +/** @public */ +export const neutralLayer4Recipe = create({ + name: 'neutral-layer-4-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayer4Algorithm( neutralPalette.getValueFor(element), baseLayerLuminance.getValueFor(element), - neutralFillCardRestDelta.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), neutralFillRestDelta.getValueFor(element), neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), ), - ), -); +}); -export const neutralLayerL4 = create('neutral-layer-L4').withDefault((element: HTMLElement) => - DI.findResponsibleContainer(element).get(NeutralLayerL4)(element), +/** @public */ +export const neutralLayer4 = create('neutral-layer-4').withDefault((element: HTMLElement) => + neutralLayer4Recipe.getValueFor(element).evaluate(element), ); diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index 9dc4b0448b0819..73f10ac5d00dfd 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { elevation } from '../styles'; -import { surfaceCornerRadius, fillColor, strokeWidth } from '../design-tokens'; +import { fillColor, layerCornerRadius, strokeWidth } from '../design-tokens'; export const dialogStyles = (context, definition) => css` :host([hidden]) { @@ -39,7 +39,7 @@ export const dialogStyles = (context, definition) => css` ${elevation} margin-top: auto; margin-bottom: auto; - border-radius: calc(${surfaceCornerRadius} * 1px); + border-radius: calc(${layerCornerRadius} * 1px); width: var(--dialog-width); height: var(--dialog-height); background: ${fillColor}; diff --git a/packages/web-components/src/divider/divider.styles.ts b/packages/web-components/src/divider/divider.styles.ts index 2cca71b8655331..bb12d95e8125fe 100644 --- a/packages/web-components/src/divider/divider.styles.ts +++ b/packages/web-components/src/divider/divider.styles.ts @@ -1,6 +1,6 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; -import { designUnit, neutralStrokeDivider, strokeWidth } from '../design-tokens'; +import { designUnit, neutralStrokeDividerRest, strokeWidth } from '../design-tokens'; export const dividerStyles = (context, definition) => css` @@ -9,6 +9,6 @@ export const dividerStyles = (context, definition) => height: 0; margin: calc(${designUnit} * 1px) 0; border: none; - border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } `; diff --git a/packages/web-components/src/flipper/flipper.styles.ts b/packages/web-components/src/flipper/flipper.styles.ts index 6adfa73b2bce09..2213da0538b581 100644 --- a/packages/web-components/src/flipper/flipper.styles.ts +++ b/packages/web-components/src/flipper/flipper.styles.ts @@ -3,7 +3,7 @@ import { disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior } import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles'; import { - neutralForeground, + neutralForegroundRest, neutralFillStealthRest, neutralStrokeRest, disabledOpacity, @@ -25,7 +25,7 @@ export const flipperStyles = (context, definition) => margin: 0; position: relative; fill: currentcolor; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; background: transparent; border: none; outline: none; diff --git a/packages/web-components/src/listbox-option/listbox-option.styles.ts b/packages/web-components/src/listbox-option/listbox-option.styles.ts index 7cee0d6bb68a27..3ab386987767c8 100644 --- a/packages/web-components/src/listbox-option/listbox-option.styles.ts +++ b/packages/web-components/src/listbox-option/listbox-option.styles.ts @@ -6,7 +6,7 @@ import { bodyFont, controlCornerRadius, focusStrokeWidth, - neutralForeground, + neutralForegroundRest, typeRampBaseFontSize, typeRampBaseLineHeight, designUnit, @@ -27,7 +27,7 @@ export const optionStyles = (context, definition) => border-radius: calc(${controlCornerRadius} * 1px); border: calc(${focusStrokeWidth} * 1px) solid transparent; box-sizing: border-box; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; fill: currentcolor; font-size: ${typeRampBaseFontSize}; @@ -61,12 +61,12 @@ export const optionStyles = (context, definition) => :host(:not([aria-selected="true"]):hover) { background: ${neutralFillHover}; - color: ${neutralForeground}}; + color: ${neutralForegroundRest}}; } :host(:not([aria-selected="true"]):active) { background: ${neutralFillActive}; - color: ${neutralForeground}}; + color: ${neutralForegroundRest}}; } :host([disabled]) { diff --git a/packages/web-components/src/menu-item/menu-item.styles.ts b/packages/web-components/src/menu-item/menu-item.styles.ts index 104db3d00eae50..0fec1f4302411f 100644 --- a/packages/web-components/src/menu-item/menu-item.styles.ts +++ b/packages/web-components/src/menu-item/menu-item.styles.ts @@ -4,7 +4,7 @@ import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles/index'; import { designUnit, - neutralForeground, + neutralForegroundRest, bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, @@ -34,7 +34,7 @@ export const menuItemStyles = (context, definition) => padding: 0; margin: 0 calc(${designUnit} * 1px); white-space: nowrap; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; fill: currentcolor; cursor: pointer; font-size: ${typeRampBaseFontSize}; @@ -89,7 +89,7 @@ export const menuItemStyles = (context, definition) => :host(:active), :host(.expanded) { background: ${neutralFillStealthActive}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } :host([disabled]) { @@ -131,7 +131,7 @@ export const menuItemStyles = (context, definition) => :host(:active) .start, :host(:active) .end, :host(:active)::slotted(svg) { - fill: ${neutralForeground}; + fill: ${neutralForegroundRest}; } :host(.indent-1[aria-haspopup="menu"]), @@ -210,7 +210,7 @@ export const menuItemStyles = (context, definition) => width: 100%; height: 100%; display: block; - fill: ${neutralForeground}; + fill: ${neutralForegroundRest}; pointer-events: none; } diff --git a/packages/web-components/src/menu/menu.styles.ts b/packages/web-components/src/menu/menu.styles.ts index 6417fc0c9643db..12538d2a8fb23f 100644 --- a/packages/web-components/src/menu/menu.styles.ts +++ b/packages/web-components/src/menu/menu.styles.ts @@ -2,12 +2,12 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { elevation } from '../styles/index'; import { - neutralLayerFloating, - strokeWidth, - surfaceCornerRadius, controlCornerRadius, designUnit, - neutralStrokeDivider, + layerCornerRadius, + neutralLayerFloating, + neutralStrokeDividerRest, + strokeWidth, } from '../design-tokens'; export const menuStyles = (context, definition) => @@ -16,7 +16,7 @@ export const menuStyles = (context, definition) => --elevation: 11; background: ${neutralLayerFloating}; border: calc(${strokeWidth} * 1px) solid transparent; - border-radius: ${surfaceCornerRadius}; + border-radius: ${layerCornerRadius}; ${elevation} margin: 0; border-radius: calc(${controlCornerRadius} * 1px); @@ -35,6 +35,6 @@ export const menuStyles = (context, definition) => height: 0; margin: 0; border: none; - border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDivider}; + border-top: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } `; diff --git a/packages/web-components/src/number-field/number-field.styles.ts b/packages/web-components/src/number-field/number-field.styles.ts index d17b4cbb34f7d2..92bfb444a1e470 100644 --- a/packages/web-components/src/number-field/number-field.styles.ts +++ b/packages/web-components/src/number-field/number-field.styles.ts @@ -6,7 +6,7 @@ import { appearanceBehavior } from '../utilities/behaviors'; import { neutralFillRest, neutralFillHover, - neutralForeground, + neutralForegroundRest, neutralFillInputRest, neutralStrokeRest, controlCornerRadius, @@ -83,7 +83,7 @@ export const numberFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; background: ${neutralFillInputRest}; border-radius: calc(${controlCornerRadius} * 1px); border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; @@ -119,7 +119,7 @@ export const numberFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -151,11 +151,11 @@ export const numberFieldStyles = (context, definition) => } .step-up:before { - border-bottom-color: ${neutralForeground}; + border-bottom-color: ${neutralForegroundRest}; } .step-down:before { - border-top-color: ${neutralForeground}; + border-top-color: ${neutralForegroundRest}; } ::slotted(svg) { diff --git a/packages/web-components/src/radio/radio.styles.ts b/packages/web-components/src/radio/radio.styles.ts index c3fc485d58f504..5301f2d77d8930 100644 --- a/packages/web-components/src/radio/radio.styles.ts +++ b/packages/web-components/src/radio/radio.styles.ts @@ -7,7 +7,7 @@ import { strokeWidth, neutralStrokeRest, neutralFillInputRest, - neutralForeground, + neutralForegroundRest, neutralFillInputHover, neutralStrokeHover, neutralFillInputActive, @@ -54,7 +54,7 @@ export const radioStyles = (context, definition) => .label { font-family: var(--body-font); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; ${ /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' } padding-inline-start: calc(${designUnit} * 2px + 2px); @@ -76,8 +76,8 @@ export const radioStyles = (context, definition) => bottom: 5px; border-radius: 50%; display: inline-block; - background: ${neutralForeground}; - fill: ${neutralForeground}; + background: ${neutralForegroundRest}; + fill: ${neutralForegroundRest}; opacity: 0; pointer-events: none; } diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index 47cdf9ee263beb..e0348022da1dde 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -10,7 +10,7 @@ import { focusStrokeOuter, neutralFillInputRest, neutralStrokeRest, - neutralForeground, + neutralForegroundRest, neutralLayerFloating, strokeWidth, controlCornerRadius, @@ -53,7 +53,7 @@ export const selectStyles = (context, definition) => border-radius: calc(${controlCornerRadius} * 1px); border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; box-sizing: border-box; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; font-family: ${bodyFont}; height: calc(${heightNumber} * 1px); position: relative; @@ -137,7 +137,7 @@ export const selectStyles = (context, definition) => :host([disabled]:hover) { background: ${neutralFillStealthRest}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; fill: currentcolor; } diff --git a/packages/web-components/src/slider/slider.styles.ts b/packages/web-components/src/slider/slider.styles.ts index 6ee7be50a371b5..c78d33622f8bb9 100644 --- a/packages/web-components/src/slider/slider.styles.ts +++ b/packages/web-components/src/slider/slider.styles.ts @@ -6,7 +6,7 @@ import { designUnit, controlCornerRadius, focusStrokeOuter, - neutralForeground, + neutralForegroundRest, neutralStrokeHover, neutralStrokeActive, density, @@ -57,15 +57,15 @@ export const sliderStyles = (context, defintion) => border: none; width: calc(var(--thumb-size) * 1px); height: calc(var(--thumb-size) * 1px); - background: ${neutralForeground}; + background: ${neutralForegroundRest}; border-radius: 50%; } .thumb-cursor:hover { - background: ${neutralForeground};; + background: ${neutralForegroundRest};; border-color: ${neutralStrokeHover}; } .thumb-cursor:active { - background: ${neutralForeground}; + background: ${neutralForegroundRest}; border-color: ${neutralStrokeActive}; } :host(.horizontal) .thumb-container { diff --git a/packages/web-components/src/styles/patterns/button.ts b/packages/web-components/src/styles/patterns/button.ts index 338eaedda144dc..f0e1b378267ecd 100644 --- a/packages/web-components/src/styles/patterns/button.ts +++ b/packages/web-components/src/styles/patterns/button.ts @@ -4,7 +4,7 @@ import { display, focusVisible, forcedColorsStylesheetBehavior } from '@microsof import { heightNumber } from '../size'; import { neutralFillRest, - neutralForeground, + neutralForegroundRest, typeRampBaseFontSize, typeRampBaseLineHeight, controlCornerRadius, @@ -45,7 +45,7 @@ export const baseButtonStyles = (context, definition) => height: calc(${heightNumber} * 1px); min-width: calc(${heightNumber} * 1px); background-color: ${neutralFillRest}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; border-radius: calc(${controlCornerRadius} * 1px); fill: currentcolor; cursor: pointer; @@ -338,7 +338,7 @@ export const LightweightButtonStyles = css` } :host([appearance="lightweight"]) .control:${focusVisible} .content::before { - background: ${neutralForeground}; + background: ${neutralForegroundRest}; height: calc(${focusStrokeWidth} * 1px); } `.withBehaviors( diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index bdda5347bdb23c..24b0e1a9be5da2 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -13,7 +13,7 @@ import { neutralFillInputActive, neutralStrokeActive, focusStrokeOuter, - neutralForeground, + neutralForegroundRest, strokeWidth, accentForegroundCut, accentFillRest, @@ -86,13 +86,13 @@ export const switchStyles = (context, defintiion) => height: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); width: calc((${heightNumber} - (${designUnit} * 5.5)) * 1px); top: calc(${designUnit} * 1px); - background: ${neutralForeground}; + background: ${neutralForegroundRest}; border-radius: 50%; transition: all 0.2s ease-in-out; } .status-message { - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -104,7 +104,7 @@ export const switchStyles = (context, defintiion) => } .label { - color: ${neutralForeground}; + color: ${neutralForegroundRest}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; margin-inline-end: calc(${designUnit} * 2px + 2px); diff --git a/packages/web-components/src/tabs/tab/tab.styles.ts b/packages/web-components/src/tabs/tab/tab.styles.ts index 8e4e94c7223504..d0de22bc2e6114 100644 --- a/packages/web-components/src/tabs/tab/tab.styles.ts +++ b/packages/web-components/src/tabs/tab/tab.styles.ts @@ -8,7 +8,7 @@ import { bodyFont, designUnit, density, - neutralForeground, + neutralForegroundRest, controlCornerRadius, strokeWidth, focusStrokeOuter, @@ -25,7 +25,7 @@ export const tabStyles = (context, definition) => line-height: ${typeRampBaseLineHeight}; height: calc(${heightNumber} * 1px); padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; border-radius: calc(${controlCornerRadius} * 1px); border: calc(${strokeWidth} * 1px) solid transparent; align-items: center; @@ -40,7 +40,7 @@ export const tabStyles = (context, definition) => :host(:hover), :host(:active) { - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } :host(:${focusVisible}) { @@ -65,7 +65,7 @@ export const tabStyles = (context, definition) => :host(.vertical:hover), :host(.vertical:active) { - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } :host(.vertical:hover[aria-selected="true"]) { diff --git a/packages/web-components/src/tabs/tabs.styles.ts b/packages/web-components/src/tabs/tabs.styles.ts index 5319ffca7d8224..d4c2e33d136c04 100644 --- a/packages/web-components/src/tabs/tabs.styles.ts +++ b/packages/web-components/src/tabs/tabs.styles.ts @@ -7,7 +7,7 @@ import { typeRampBaseLineHeight, controlCornerRadius, accentFillRest, - neutralForeground, + neutralForegroundRest, } from '../design-tokens'; export const tabsStyles = (context, definition) => @@ -17,7 +17,7 @@ export const tabsStyles = (context, definition) => font-family: ${bodyFont}; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; grid-template-columns: auto 1fr auto; grid-template-rows: auto 1fr; } diff --git a/packages/web-components/src/text-area/text-area.styles.ts b/packages/web-components/src/text-area/text-area.styles.ts index b76e5c94d397d9..28564e21921720 100644 --- a/packages/web-components/src/text-area/text-area.styles.ts +++ b/packages/web-components/src/text-area/text-area.styles.ts @@ -6,7 +6,7 @@ import { appearanceBehavior } from '../utilities/behaviors'; import { neutralFillRest, neutralFillHover, - neutralForeground, + neutralForegroundRest, neutralFillInputRest, neutralStrokeRest, neutralFillInputHover, @@ -65,7 +65,7 @@ export const textAreaStyles = (context, definition) => .control { box-sizing: border-box; position: relative; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; background: ${neutralFillInputRest}; border-radius: calc(var(--corner-radius) * 1px); border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; @@ -114,7 +114,7 @@ export const textAreaStyles = (context, definition) => .label { display: block; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; $font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; diff --git a/packages/web-components/src/text-field/text-field.styles.ts b/packages/web-components/src/text-field/text-field.styles.ts index 1101e801857e4a..e72911ee83adf5 100644 --- a/packages/web-components/src/text-field/text-field.styles.ts +++ b/packages/web-components/src/text-field/text-field.styles.ts @@ -7,7 +7,7 @@ import { neutralFillRest, neutralFillHover, bodyFont, - neutralForeground, + neutralForegroundRest, neutralFillInputRest, controlCornerRadius, strokeWidth, @@ -79,7 +79,7 @@ export const textFieldStyles = (context, definition) => position: relative; display: flex; flex-direction: row; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; background: ${neutralFillInputRest}; border-radius: calc(${controlCornerRadius} * 1px); border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; @@ -96,7 +96,7 @@ export const textFieldStyles = (context, definition) => margin-bottom: auto; border: none; padding: 0 calc(var(--design-unit) * 2px + 1px); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; font-family: inherit; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; @@ -111,7 +111,7 @@ export const textFieldStyles = (context, definition) => .label { display: block; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; cursor: pointer; font-size: ${typeRampBaseFontSize}; line-height: ${typeRampBaseLineHeight}; diff --git a/packages/web-components/src/tooltip/index.ts b/packages/web-components/src/tooltip/index.ts index 44addb1960bdae..65f7a20390aa45 100644 --- a/packages/web-components/src/tooltip/index.ts +++ b/packages/web-components/src/tooltip/index.ts @@ -1,5 +1,5 @@ -import { DI, Tooltip as FoundationTooltip, tooltipTemplate as template } from '@microsoft/fast-foundation'; -import { fillColor, NeutralFillInverse } from '../design-tokens'; +import { Tooltip as FoundationTooltip, tooltipTemplate as template } from '@microsoft/fast-foundation'; +import { fillColor, neutralFillInverseRecipe } from '../design-tokens'; import { tooltipStyles as styles } from './tooltip.styles'; /** @@ -13,10 +13,10 @@ export class Tooltip extends FoundationTooltip { public connectedCallback(): void { super.connectedCallback(); - const recipe = DI.findResponsibleContainer(this.parentElement!).get(NeutralFillInverse); + const recipe = neutralFillInverseRecipe.getValueFor(this); const parentFill = fillColor.getValueFor(this.parentElement!); - fillColor.setValueFor(this, (target: HTMLElement) => recipe(target, parentFill).rest); + fillColor.setValueFor(this, (target: HTMLElement) => recipe.evaluate(target, parentFill).rest); } } diff --git a/packages/web-components/src/tooltip/tooltip.styles.ts b/packages/web-components/src/tooltip/tooltip.styles.ts index 8b76184dd67688..ffdc98d450c7fe 100644 --- a/packages/web-components/src/tooltip/tooltip.styles.ts +++ b/packages/web-components/src/tooltip/tooltip.styles.ts @@ -4,7 +4,7 @@ import { elevation } from '../styles/index'; import { controlCornerRadius, strokeWidth, - neutralForeground, + neutralForegroundRest, bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight, @@ -28,7 +28,7 @@ export const tooltipStyles = (context, definition) => border-radius: calc(${controlCornerRadius} * 1px); border: calc(${strokeWidth} * 1px) solid transparent; background: ${fillColor}; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; padding: 4px 12px; height: fit-content; width: fit-content; diff --git a/packages/web-components/src/tree-item/tree-item.styles.ts b/packages/web-components/src/tree-item/tree-item.styles.ts index f5de768aa359f1..3aa493d4948f69 100644 --- a/packages/web-components/src/tree-item/tree-item.styles.ts +++ b/packages/web-components/src/tree-item/tree-item.styles.ts @@ -1,7 +1,6 @@ import { css, cssPartial } from '@microsoft/fast-element'; import { DesignToken, - DI, disabledCursor, display, focusVisible, @@ -10,26 +9,26 @@ import { import { SystemColors } from '@microsoft/fast-web-utilities'; import { DirectionalStyleSheetBehavior, heightNumber } from '../styles/index'; import { + accentForegroundRest, baseHeightMultiplier, - designUnit, - density, - neutralForeground, - neutralFillStealthRest, bodyFont, + controlCornerRadius, + density, + designUnit, + disabledOpacity, focusStrokeOuter, + neutralFillRecipe, + neutralFillRest, + neutralFillStealthActive, + neutralFillStealthHover, + neutralFillStealthRecipe, + neutralFillStealthRest, + neutralForegroundRest, + strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight, - disabledOpacity, - accentForegroundRest, - controlCornerRadius, - strokeWidth, - neutralFillStealthHover, - neutralFillStealthActive, - NeutralFillStealth, - neutralFillRest, - NeutralFill, } from '../design-tokens'; -import { SwatchRGB } from '../color-vNext/swatch'; +import { Swatch } from '../color-vNext/swatch'; const ltr = css` .expand-collapse-glyph { @@ -63,19 +62,19 @@ const rtl = css` export const expandCollapseButtonSize = cssPartial`((${baseHeightMultiplier} / 2) * ${designUnit}) + ((${designUnit} * ${density}) / 2)`; -const expandCollapseHoverBehavior = DesignToken.create('tree-item-expand-collapse-hover').withDefault( +const expandCollapseHoverBehavior = DesignToken.create('tree-item-expand-collapse-hover').withDefault( (target: HTMLElement) => { - const recipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); - return recipe(target, recipe(target).hover).hover; + const recipe = neutralFillStealthRecipe.getValueFor(target); + return recipe.evaluate(target, recipe.evaluate(target).hover).hover; }, ); -const selectedExpandCollapseHoverBehavior = DesignToken.create( +const selectedExpandCollapseHoverBehavior = DesignToken.create( 'tree-item-expand-collapse-selected-hover', ).withDefault((target: HTMLElement) => { - const baseRecipe = DI.findResponsibleContainer(target).get(NeutralFill); - const buttonRecipe = DI.findResponsibleContainer(target).get(NeutralFillStealth); - return buttonRecipe(target, baseRecipe(target).rest).hover; + const baseRecipe = neutralFillRecipe.getValueFor(target); + const buttonRecipe = neutralFillStealthRecipe.getValueFor(target); + return buttonRecipe.evaluate(target, baseRecipe.evaluate(target).rest).hover; }); export const treeItemStyles = (context, definition) => @@ -84,7 +83,7 @@ export const treeItemStyles = (context, definition) => contain: content; position: relative; outline: none; - color: ${neutralForeground}; + color: ${neutralForegroundRest}; background: ${neutralFillStealthRest}; cursor: pointer; font-family: ${bodyFont}; @@ -111,7 +110,7 @@ export const treeItemStyles = (context, definition) => :host(:${focusVisible}) .positioning-region { border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; border-radius: calc(${controlCornerRadius} * 1px); - color: ${neutralForeground}; + color: ${neutralForegroundRest}; } .positioning-region::before { @@ -172,7 +171,7 @@ export const treeItemStyles = (context, definition) => transition: transform 0.1s linear; transform: rotate(-45deg); pointer-events: none; - fill: ${neutralForeground}; + fill: ${neutralForegroundRest}; } .start, .end { From 8e5d11b34d3eb91d5131634dd76064a49bd37129 Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Thu, 17 Jun 2021 17:10:21 -0700 Subject: [PATCH 14/91] (web-components) standardized remaining design token recipe types (#18602) Standardized remaining design token recipe types --- ...-610e5188-329e-4066-b3ba-dd0be153a535.json | 7 ++ .../web-components/src/color-vNext/recipe.ts | 3 +- .../src/color-vNext/recipes/accent-fill.ts | 7 +- .../color-vNext/recipes/accent-foreground.ts | 3 +- .../recipes/neutral-fill-contrast.ts | 3 +- .../color-vNext/recipes/neutral-fill-input.ts | 3 +- .../recipes/neutral-fill-inverse.ts | 3 +- .../recipes/neutral-fill-stealth.ts | 3 +- .../src/color-vNext/recipes/neutral-fill.ts | 3 +- .../recipes/neutral-layer-card-container.ts | 8 +- .../src/color-vNext/recipes/neutral-stroke.ts | 7 +- .../utilities/base-layer-luminance.ts | 4 +- packages/web-components/src/design-tokens.ts | 110 +++++++++++------- 13 files changed, 104 insertions(+), 60 deletions(-) create mode 100644 change/@fluentui-web-components-610e5188-329e-4066-b3ba-dd0be153a535.json diff --git a/change/@fluentui-web-components-610e5188-329e-4066-b3ba-dd0be153a535.json b/change/@fluentui-web-components-610e5188-329e-4066-b3ba-dd0be153a535.json new file mode 100644 index 00000000000000..186475eef4232b --- /dev/null +++ b/change/@fluentui-web-components-610e5188-329e-4066-b3ba-dd0be153a535.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Standardized remaining design token recipe types", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/color-vNext/recipe.ts b/packages/web-components/src/color-vNext/recipe.ts index dde826a5a32a99..76068c5e395600 100644 --- a/packages/web-components/src/color-vNext/recipe.ts +++ b/packages/web-components/src/color-vNext/recipe.ts @@ -1,6 +1,7 @@ import { Swatch } from './swatch'; -export interface SwatchFamily { +/** @public */ +export interface InteractiveSwatchSet { /** * The swatch to apply to the rest state */ diff --git a/packages/web-components/src/color-vNext/recipes/accent-fill.ts b/packages/web-components/src/color-vNext/recipes/accent-fill.ts index 29bb34bc0fba9d..65337500a2d6c7 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/accent-fill.ts @@ -1,5 +1,6 @@ import { inRange } from 'lodash-es'; import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; /** @@ -7,7 +8,7 @@ import { Swatch } from '../swatch'; */ export function accentFill( palette: Palette, - neutralPaletteRGB: Palette, + neutralPalette: Palette, reference: Swatch, textColor: Swatch, contrastTarget: number, @@ -17,9 +18,9 @@ export function accentFill( neutralFillRestDelta: number, neutralFillHoverDelta: number, neutralFillActiveDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const accent = palette.source; - const referenceIndex = neutralPaletteRGB.closestIndexOf(reference); + const referenceIndex = neutralPalette.closestIndexOf(reference); const swapThreshold = Math.max(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta); const direction = referenceIndex >= swapThreshold ? -1 : 1; const paletteLength = palette.swatches.length; diff --git a/packages/web-components/src/color-vNext/recipes/accent-foreground.ts b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts index cad11adf6a48f8..d7f36a0d03c497 100644 --- a/packages/web-components/src/color-vNext/recipes/accent-foreground.ts +++ b/packages/web-components/src/color-vNext/recipes/accent-foreground.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -13,7 +14,7 @@ export function accentForeground( hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const accent = palette.source; const accentIndex = palette.closestIndexOf(accent); const direction = directionByIsDark(reference); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts index 513c0f588d9405..f5baee323d747a 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-contrast.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -12,7 +13,7 @@ export function neutralFillContrast( hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const direction = directionByIsDark(reference); const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 4.5)); const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts index f650bb4f7cdd28..440744ee3b4d44 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-input.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -12,7 +13,7 @@ export function neutralFillInput( hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const direction = directionByIsDark(reference); const referenceIndex = palette.closestIndexOf(reference); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts index f2ba849af365c3..a64264a48e4cd7 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-inverse.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -12,7 +13,7 @@ export function neutralFillInverse( hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const direction = directionByIsDark(reference); const accessibleIndex = palette.closestIndexOf(palette.colorContrast(reference, 14)); const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta); diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts index 70d29e9349ec8a..95bb1d26a3a6ed 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill-stealth.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; /** @@ -15,7 +16,7 @@ export function neutralFillStealth( fillHoverDelta: number, fillActiveDelta: number, fillFocusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const swapThreshold = Math.max( restDelta, hoverDelta, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts index 21ca42dde2f7a1..6349f89019cc68 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-fill.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-fill.ts @@ -1,4 +1,5 @@ import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; /** @@ -18,7 +19,7 @@ export function neutralFill( hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const referenceIndex = palette.closestIndexOf(reference); const threshold = Math.max(restDelta, hoverDelta, activeDelta, focusDelta); const direction = referenceIndex >= threshold ? -1 : 1; diff --git a/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts b/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts index 0bc149bf0e7b57..8923a1676c21f3 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-layer-card-container.ts @@ -1,16 +1,16 @@ import { clamp } from '@microsoft/fast-colors'; -import { PaletteRGB } from '../palette'; -import { SwatchRGB } from '../swatch'; +import { Palette } from '../palette'; +import { Swatch } from '../swatch'; import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; /** * @internal */ export function neutralLayerCardContainer( - palette: PaletteRGB, + palette: Palette, relativeLuminance: number, layerDelta: number, -): SwatchRGB { +): Swatch { const oldCardIndex: number = clamp( palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - layerDelta, 0, diff --git a/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts index cd367e6f4fc7a3..c51920192c0cb0 100644 --- a/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts +++ b/packages/web-components/src/color-vNext/recipes/neutral-stroke.ts @@ -1,4 +1,5 @@ -import { PaletteRGB } from '../palette'; +import { Palette } from '../palette'; +import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; import { directionByIsDark } from '../utilities/direction-by-is-dark'; @@ -6,13 +7,13 @@ import { directionByIsDark } from '../utilities/direction-by-is-dark'; * @internal */ export function neutralStroke( - palette: PaletteRGB, + palette: Palette, reference: Swatch, restDelta: number, hoverDelta: number, activeDelta: number, focusDelta: number, -): Record<"rest" | "hover" | "active" | "focus", Swatch> { +): InteractiveSwatchSet { const referenceIndex = palette.closestIndexOf(reference); const direction = directionByIsDark(reference); diff --git a/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts b/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts index 0345451adf3602..09fbf998ffd0df 100644 --- a/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts +++ b/packages/web-components/src/color-vNext/utilities/base-layer-luminance.ts @@ -1,5 +1,5 @@ -import { SwatchRGB } from '../swatch'; +import { Swatch, SwatchRGB } from '../swatch'; -export function baseLayerLuminanceSwatch(luminance: number) { +export function baseLayerLuminanceSwatch(luminance: number): Swatch { return SwatchRGB.create(luminance, luminance, luminance); } diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 78cb16c30a3dc5..49422a36e2cb76 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -1,7 +1,7 @@ import { DesignToken } from '@microsoft/fast-foundation'; import { Direction } from '@microsoft/fast-web-utilities'; -import { PaletteRGB } from './color-vNext/palette'; -import { Swatch, SwatchRGB } from './color-vNext/swatch'; +import { Palette, PaletteRGB } from './color-vNext/palette'; +import { Swatch } from './color-vNext/swatch'; import { accentFill as accentFillAlgorithm } from './color-vNext/recipes/accent-fill'; import { accentForeground as accentForegroundAlgorithm } from './color-vNext/recipes/accent-foreground'; import { foregroundOnAccent as foregroundOnAccentAlgorithm } from './color-vNext/recipes/foreground-on-accent'; @@ -16,8 +16,9 @@ import { focusStrokeInner as focusStrokeInnerAlgorithm, focusStrokeOuter as focusStrokeOuterAlgorithm, } from './color-vNext/recipes/focus-stroke'; -import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color-vNext/recipes/neutral-foreground-hint'; import { neutralForeground as neutralForegroundAlgorithm } from './color-vNext/recipes/neutral-foreground'; +import { neutralForegroundHint as neutralForegroundHintAlgorithm } from './color-vNext/recipes/neutral-foreground-hint'; +import { neutralLayerCardContainer as neutralLayerCardContainerAlgorithm } from './color-vNext/recipes/neutral-layer-card-container'; import { neutralLayerFloating as neutralLayerFloatingAlgorithm } from './color-vNext/recipes/neutral-layer-floating'; import { neutralLayer1 as neutralLayer1Algorithm } from './color-vNext/recipes/neutral-layer-1'; import { neutralLayer2 as neutralLayer2Algorithm } from './color-vNext/recipes/neutral-layer-2'; @@ -26,16 +27,18 @@ import { neutralLayer4 as neutralLayer4Algorithm } from './color-vNext/recipes/n import { neutralStroke as neutralStrokeAlgorithm } from './color-vNext/recipes/neutral-stroke'; import { accentBase, middleGrey } from './color-vNext/utilities/color-constants'; import { StandardLuminance } from './color'; -import { SwatchFamily } from './color-vNext/recipe'; +import { InteractiveSwatchSet } from './color-vNext/recipe'; -// eslint-disable-next-line @typescript-eslint/ban-types -export interface Recipe | symbol | {}> { +/** @public */ +export interface Recipe { evaluate(element: HTMLElement, reference?: Swatch): T; } +/** @public */ export type ColorRecipe = Recipe; -export type ColorFamilyRecipe = Recipe; +/** @public */ +export type InteractiveColorRecipe = Recipe; const { create } = DesignToken; @@ -209,11 +212,11 @@ export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size') export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('52px'); /** @public */ -export const neutralPalette = create({ name: 'neutral-palette', cssCustomPropertyName: null }).withDefault( +export const neutralPalette = create({ name: 'neutral-palette', cssCustomPropertyName: null }).withDefault( PaletteRGB.create(middleGrey), ); /** @public */ -export const accentPalette = create({ name: 'accent-palette', cssCustomPropertyName: null }).withDefault( +export const accentPalette = create({ name: 'accent-palette', cssCustomPropertyName: null }).withDefault( PaletteRGB.create(accentBase), ); @@ -229,23 +232,23 @@ enum ContrastTarget { } // Foreground On Accent -const foregroundOnAccentByContrast = (contrast: number) => (element: HTMLElement) => - foregroundOnAccentAlgorithm(accentPalette.getValueFor(element).source, contrast); +const foregroundOnAccentByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => + foregroundOnAccentAlgorithm(reference || fillColor.getValueFor(element), contrast); /** @public */ export const foregroundOnAccentRecipe = create({ name: 'foreground-on-accent-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchRGB => - foregroundOnAccentByContrast(ContrastTarget.normal)(element), + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + foregroundOnAccentByContrast(ContrastTarget.normal)(element, reference), }); /** @public */ export const foregroundOnAccentLargeRecipe = create({ name: 'foreground-on-accent-large-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchRGB => - foregroundOnAccentByContrast(ContrastTarget.large)(element), + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + foregroundOnAccentByContrast(ContrastTarget.large)(element, reference), }); /** @public */ @@ -262,8 +265,8 @@ export const foregroundOnAccentRestLarge = create( export const accentForegroundCutLarge = foregroundOnAccentRestLarge; // Accent Fill -const accentFillByContrast = (contrast: number) => (element: HTMLElement, reference?: SwatchRGB) => { - return accentFillAlgorithm( +const accentFillByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => + accentFillAlgorithm( accentPalette.getValueFor(element), neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -276,14 +279,13 @@ const accentFillByContrast = (contrast: number) => (element: HTMLElement, refere neutralFillHoverDelta.getValueFor(element), neutralFillActiveDelta.getValueFor(element), ); -}; /** @public */ -export const accentFillRecipe = create({ +export const accentFillRecipe = create({ name: 'accent-fill-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => - accentFillByContrast(ContrastTarget.normal)(element), + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => + accentFillByContrast(ContrastTarget.normal)(element, reference), }); /** @public */ @@ -304,25 +306,24 @@ export const accentFillFocus = create('accent-fill-focus').withDefault(( }); // Accent Foreground -const accentForegroundByContrast = (contrast: number) => (element: HTMLElement) => { - return accentForegroundAlgorithm( +const accentForegroundByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => + accentForegroundAlgorithm( accentPalette.getValueFor(element), - fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), contrast, accentForegroundRestDelta.getValueFor(element), accentForegroundHoverDelta.getValueFor(element), accentForegroundActiveDelta.getValueFor(element), accentForegroundFocusDelta.getValueFor(element), ); -}; /** @public */ -export const accentForegroundRecipe = create({ +export const accentForegroundRecipe = create({ name: 'accent-foreground-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => - accentForegroundByContrast(ContrastTarget.normal)(element), + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => + accentForegroundByContrast(ContrastTarget.normal)(element, reference), }); /** @public */ @@ -351,7 +352,7 @@ export const neutralStrokeDividerRecipe = create({ evaluate: (element: HTMLElement, reference?: Swatch): Swatch => neutralDividerAlgorithm( neutralPalette.getValueFor(element), - fillColor.getValueFor(element), + reference || fillColor.getValueFor(element), neutralStrokeDividerRestDelta.getValueFor(element), ), }); @@ -384,11 +385,11 @@ export const neutralFillCard = neutralFillLayerRest; // Neutral Fill Inverse /** @public */ -export const neutralFillInverseRecipe = create({ +export const neutralFillInverseRecipe = create({ name: 'neutral-fill-inverse-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => neutralFillInverseAlgorithm( neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -426,11 +427,11 @@ export const neutralContrastFillFocus = neutralFillInverseFocus; // Neutral Fill Input /** @public */ -export const neutralFillInputRecipe = create({ +export const neutralFillInputRecipe = create({ name: 'neutral-fill-input-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => neutralFillInputAlgorithm( neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -460,11 +461,11 @@ export const neutralFillInputActive = create('neutral-fill-input-active' // Neutral Fill Stealth /** @public */ -export const neutralFillStealthRecipe = create({ +export const neutralFillStealthRecipe = create({ name: 'neutral-fill-stealth-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => neutralFillStealthAlgorithm( neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -499,11 +500,11 @@ export const neutralFillStealthFocus = create('neutral-fill-stealth-focu // Neutral Fill Strong // TODO: none of these are actually used, do we need them? /** @public */ -export const neutralFillStrongRecipe = create({ +export const neutralFillStrongRecipe = create({ name: 'neutral-fill-strong-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => neutralFillContrastAlgorithm( neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -541,11 +542,11 @@ export const neutralFillToggleFocus = neutralFillStrongFocus; // Neutral Fill /** @public */ -export const neutralFillRecipe = create({ +export const neutralFillRecipe = create({ name: 'neutral-fill-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): SwatchFamily => + evaluate: (element: HTMLElement, reference?: Swatch): InteractiveSwatchSet => neutralFillAlgorithm( neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), @@ -642,11 +643,11 @@ export const neutralForegroundRest = create('neutral-foreground-rest').w // Neutral Stroke /** @public */ -export const neutralStrokeRecipe = create({ +export const neutralStrokeRecipe = create({ name: 'neutral-stroke-recipe', cssCustomPropertyName: null, }).withDefault({ - evaluate: (element: HTMLElement): SwatchFamily => { + evaluate: (element: HTMLElement): InteractiveSwatchSet => { return neutralStrokeAlgorithm( neutralPalette.getValueFor(element), fillColor.getValueFor(element), @@ -683,6 +684,25 @@ export const neutralOutlineActive = neutralStrokeActive; /** @public @deprecated Use neutralStrokeFocus */ export const neutralOutlineFocus = neutralStrokeFocus; +// Neutral Layer Card Container +/** @public */ +export const neutralLayerCardContainerRecipe = create({ + name: 'neutral-layer-card-container-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement): Swatch => + neutralLayerCardContainerAlgorithm( + neutralPalette.getValueFor(element), + baseLayerLuminance.getValueFor(element), + neutralFillLayerRestDelta.getValueFor(element), + ), +}); + +/** @public */ +export const neutralLayerCardContainer = create( + 'neutral-layer-card-container', +).withDefault((element: HTMLElement) => neutralLayerCardContainerRecipe.getValueFor(element).evaluate(element)); + // Neutral Layer Floating /** @public */ export const neutralLayerFloatingRecipe = create({ @@ -716,6 +736,8 @@ export const neutralLayer1Recipe = create({ export const neutralLayer1 = create('neutral-layer-1').withDefault((element: HTMLElement) => neutralLayer1Recipe.getValueFor(element).evaluate(element), ); +/** @public @deprecated Use neutralLayer1 */ +export const neutralLayerL1 = neutralLayer1; // Neutral Layer 2 /** @public */ @@ -738,6 +760,8 @@ export const neutralLayer2Recipe = create({ export const neutralLayer2 = create('neutral-layer-2').withDefault((element: HTMLElement) => neutralLayer2Recipe.getValueFor(element).evaluate(element), ); +/** @public @deprecated Use neutralLayer2 */ +export const neutralLayerL2 = neutralLayer2; // Neutral Layer 3 /** @public */ @@ -760,6 +784,8 @@ export const neutralLayer3Recipe = create({ export const neutralLayer3 = create('neutral-layer-3').withDefault((element: HTMLElement) => neutralLayer3Recipe.getValueFor(element).evaluate(element), ); +/** @public @deprecated Use neutralLayer3 */ +export const neutralLayerL3 = neutralLayer3; // Neutral Layer 4 /** @public */ @@ -782,3 +808,5 @@ export const neutralLayer4Recipe = create({ export const neutralLayer4 = create('neutral-layer-4').withDefault((element: HTMLElement) => neutralLayer4Recipe.getValueFor(element).evaluate(element), ); +/** @public @deprecated Use neutralLayer4 */ +export const neutralLayerL4 = neutralLayer4; From 9ab679e26e8a373eea25b4884df71924bedfe439 Mon Sep 17 00:00:00 2001 From: Nicholas Rice <3213292+nicholasrice@users.noreply.github.com> Date: Fri, 18 Jun 2021 11:41:56 -0700 Subject: [PATCH 15/91] (web-components) update DesignSystemProvider to use design tokens (#18578) * migrate DSP to design tokens * convert PaletteRGB to Palette Co-authored-by: nicholasrice --- ...-d3894bad-1688-478e-95f1-627ea7a64157.json | 7 + .../design-system-provider.styles.ts | 6 - .../src/design-system-provider/index.ts | 1070 +++++++++++------ 3 files changed, 710 insertions(+), 373 deletions(-) create mode 100644 change/@fluentui-web-components-d3894bad-1688-478e-95f1-627ea7a64157.json delete mode 100644 packages/web-components/src/design-system-provider/design-system-provider.styles.ts diff --git a/change/@fluentui-web-components-d3894bad-1688-478e-95f1-627ea7a64157.json b/change/@fluentui-web-components-d3894bad-1688-478e-95f1-627ea7a64157.json new file mode 100644 index 00000000000000..f0af123d8878cb --- /dev/null +++ b/change/@fluentui-web-components-d3894bad-1688-478e-95f1-627ea7a64157.json @@ -0,0 +1,7 @@ +{ + "type": "major", + "comment": "migrate DSP to design tokens", + "packageName": "@fluentui/web-components", + "email": "nicholasrice@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/design-system-provider/design-system-provider.styles.ts b/packages/web-components/src/design-system-provider/design-system-provider.styles.ts deleted file mode 100644 index b09694c9fd8b40..00000000000000 --- a/packages/web-components/src/design-system-provider/design-system-provider.styles.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { css } from '@microsoft/fast-element'; -import { display } from '@microsoft/fast-foundation'; - -export const DesignSystemProviderStyles = css` - ${display('block')}; -`; diff --git a/packages/web-components/src/design-system-provider/index.ts b/packages/web-components/src/design-system-provider/index.ts index 00f7a3c0b181d5..be91c3aca6a919 100644 --- a/packages/web-components/src/design-system-provider/index.ts +++ b/packages/web-components/src/design-system-provider/index.ts @@ -1,31 +1,82 @@ -import { attr, css, nullableNumberConverter } from '@microsoft/fast-element'; -import { Direction, SystemColors } from '@microsoft/fast-web-utilities'; +import { attr, css, html, nullableNumberConverter, Observable, observable } from '@microsoft/fast-element'; import { - CSSCustomPropertyBehavior, - designSystemProperty, - DesignSystemProvider, - designSystemProvider, + DesignToken, + DesignTokenValue, + display, forcedColorsStylesheetBehavior, - DesignSystemProviderTemplate as template, + FoundationElement, } from '@microsoft/fast-foundation'; -import { parseColorHexRGB } from '@microsoft/fast-colors'; -import { createColorPalette, neutralForegroundRest } from '../color'; -import { DensityOffset, DesignSystem, DesignSystemDefaults } from '../fluent-design-system'; -import { DesignSystemProviderStyles as styles } from './design-system-provider.styles'; - -const color = new CSSCustomPropertyBehavior( - 'neutral-foreground-rest', +import { Direction, SystemColors } from '@microsoft/fast-web-utilities'; +import { Palette } from '../color-vNext/palette'; +import { + accentFillActiveDelta, + accentFillFocusDelta, + accentFillHoverDelta, + accentFillRestDelta, + accentForegroundActiveDelta, + accentForegroundFocusDelta, + accentForegroundHoverDelta, + accentForegroundRestDelta, + accentPalette, + baseHeightMultiplier, + baseHorizontalSpacingMultiplier, + baseLayerLuminance, + controlCornerRadius, + density, + designUnit, + direction, + disabledOpacity, + fillColor, + focusStrokeWidth, + neutralFillActiveDelta, + neutralFillFocusDelta, + neutralFillHoverDelta, + neutralFillInputActiveDelta, + neutralFillInputFocusDelta, + neutralFillInputHoverDelta, + neutralFillInputRestDelta, + neutralFillRestDelta, + neutralFillStealthActiveDelta, + neutralFillStealthFocusDelta, + neutralFillStealthHoverDelta, + neutralFillStealthRestDelta, + neutralFillStrongActiveDelta, + neutralFillStrongFocusDelta, + neutralFillStrongHoverDelta, neutralForegroundRest, - (el: FluentDesignSystemProvider) => el, -); + neutralPalette, + neutralStrokeActiveDelta, + neutralStrokeDividerRestDelta, + neutralStrokeFocusDelta, + neutralStrokeHoverDelta, + neutralStrokeRestDelta, + strokeWidth, + typeRampBaseFontSize, + typeRampBaseLineHeight, + typeRampMinus1FontSize, + typeRampMinus1LineHeight, + typeRampMinus2FontSize, + typeRampMinus2LineHeight, + typeRampPlus1FontSize, + typeRampPlus1LineHeight, + typeRampPlus2FontSize, + typeRampPlus2LineHeight, + typeRampPlus3FontSize, + typeRampPlus3LineHeight, + typeRampPlus4FontSize, + typeRampPlus4LineHeight, + typeRampPlus5FontSize, + typeRampPlus5LineHeight, + typeRampPlus6FontSize, + typeRampPlus6LineHeight, +} from '../design-tokens'; const backgroundStyles = css` :host { - background-color: var(--background-color); - color: ${color.var}; + background-color: ${fillColor}; + color: ${neutralForegroundRest}; } `.withBehaviors( - color, forcedColorsStylesheetBehavior( css` :host { @@ -37,38 +88,47 @@ const backgroundStyles = css` ), ); +function designToken(token: DesignToken) { + return (source: DesignSystemProvider, key: string) => { + source[key + 'Changed'] = function (this: DesignSystemProvider, prev: T | undefined, next: T | undefined) { + if (next !== undefined && next !== null) { + token.setValueFor(this, next as DesignTokenValue); + } else { + token.deleteValueFor(this); + } + }; + }; +} + /** - * The Fluent DesignSystemProvider Element. Implements {@link @microsoft/fast-foundation#DesignSystemProvider}, - * {@link @microsoft/fast-foundation#DesignSystemProviderTemplate} - * - * - * @public - * @remarks - * HTML Element: \ + * The FAST DesignSystemProvider Element. + * @internal */ -@designSystemProvider({ - name: 'fluent-design-system-provider', - template, - styles, - shadowOptions: { - mode: 'closed', - }, -}) -export class FluentDesignSystemProvider extends DesignSystemProvider - implements - Omit { +class DesignSystemProvider extends FoundationElement { + constructor() { + super(); + + // If fillColor changes or is removed, we need to + // re-evaluate whether we should have paint styles applied + Observable.getNotifier(this).subscribe( + { + handleChange: this.noPaintChanged.bind(this), + }, + 'fillColor', + ); + } /** * Used to instruct the FASTDesignSystemProvider * that it should not set the CSS * background-color and color properties * * @remarks - * HTML boolean boolean attribute: no-paint + * HTML boolean attribute: no-paint */ @attr({ attribute: 'no-paint', mode: 'boolean' }) public noPaint = false; private noPaintChanged() { - if (!this.noPaint && this.backgroundColor !== void 0) { + if (!this.noPaint && this.fillColor !== void 0) { this.$fastController.addStyles(backgroundStyles); } else { this.$fastController.removeStyles(backgroundStyles); @@ -77,601 +137,877 @@ export class FluentDesignSystemProvider extends DesignSystemProvider /** * Define design system property attributes + * @remarks + * HTML attribute: background-color + * + * CSS custom property: --background-color */ - @designSystemProperty({ - attribute: 'background-color', - default: DesignSystemDefaults.backgroundColor, - }) - public backgroundColor: string; - protected backgroundColorChanged(): void { - // If background changes or is removed, we need to - // re-evaluate whether we should have paint styles applied - this.noPaintChanged(); - } - - @designSystemProperty({ - attribute: 'neutral-base-color', - cssCustomProperty: false, - default: DesignSystemDefaults.neutralBaseColor, - }) - public neutralBaseColor: string; - protected neutralBaseColorChanged(oldValue: string, newValue: string): void { - const color = parseColorHexRGB(newValue); - if (color) { - this.neutralPalette = createColorPalette(color); - } - } - - @designSystemProperty({ - attribute: 'accent-base-color', - cssCustomProperty: false, - default: DesignSystemDefaults.accentBaseColor, + @attr({ + attribute: 'fill-color', }) - public accentBaseColor: string; - protected accentBaseColorChanged(oldValue: string, newValue: string): void { - const color = parseColorHexRGB(newValue); - if (color) { - this.accentPalette = createColorPalette(color); - } - } + @designToken(fillColor) + public fillColor: string; - @designSystemProperty({ - attribute: false, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralPalette, - }) - public neutralPalette: string[]; + /** + * Defines the palette that all neutral color recipes are derived from. + * This is an array for hexadecimal color strings ordered from light to dark. + * + * @remarks + * HTML attribute: N/A + */ + @observable + @designToken(neutralPalette) + public neutralPalette: Palette; - @designSystemProperty({ - attribute: false, - cssCustomProperty: false, - default: DesignSystemDefaults.accentPalette, - }) - public accentPalette: string[]; + /** + * Defines the palette that all accent color recipes are derived from. + * This is an array for hexadecimal color strings ordered from light to dark. + * + * When setting this property, be sure to *also* set {@link FASTDesignSystemProvider.accentBaseColor|accentBaseColor} to + * the base color deriving this palette. + * + * @remarks + * HTML attribute: N/A + */ + @observable + @designToken(accentPalette) + public accentPalette: Palette; - @designSystemProperty({ - default: DesignSystemDefaults.density, + /** + * + * The density offset, used with designUnit to calculate height and spacing. + * + * @remarks + * HTML attribute: density + * + * CSS custom property: --density + */ + @attr({ converter: nullableNumberConverter, }) - public density: DensityOffset; + @designToken(density) + public density: number; - @designSystemProperty({ + /** + * The grid-unit that UI dimensions are derived from in pixels. + * + * @remarks + * HTML attribute: design-unit + * + * CSS custom property: --design-unit + */ + @attr({ attribute: 'design-unit', converter: nullableNumberConverter, - default: DesignSystemDefaults.designUnit, }) + @designToken(designUnit) public designUnit: number; - @designSystemProperty({ + /** + * The primary document direction. + * + * @remarks + * HTML attribute: direction + * + * CSS custom property: N/A + */ + @attr({ attribute: 'direction', - cssCustomProperty: false, - default: DesignSystemDefaults.direction, }) + @designToken(direction) public direction: Direction; - @designSystemProperty({ + /** + * The number of designUnits used for component height at the base density. + * + * @remarks + * HTML attribute: base-height-multiplier + * + * CSS custom property: --base-height-multiplier + */ + @attr({ attribute: 'base-height-multiplier', - default: DesignSystemDefaults.baseHeightMultiplier, converter: nullableNumberConverter, }) + @designToken(baseHeightMultiplier) public baseHeightMultiplier: number; - @designSystemProperty({ + /** + * The number of designUnits used for horizontal spacing at the base density. + * + * @remarks + * HTML attribute: base-horizontal-spacing-multiplier + * + * CSS custom property: --base-horizontal-spacing-multiplier + */ + @attr({ attribute: 'base-horizontal-spacing-multiplier', converter: nullableNumberConverter, - default: DesignSystemDefaults.baseHorizontalSpacingMultiplier, }) + @designToken(baseHorizontalSpacingMultiplier) public baseHorizontalSpacingMultiplier: number; - @designSystemProperty({ - attribute: 'corner-radius', - converter: nullableNumberConverter, - default: DesignSystemDefaults.cornerRadius, - }) - public cornerRadius: number; - - @designSystemProperty({ - attribute: 'elevated-corner-radius', + /** + * The corner radius applied to controls. + * + * @remarks + * HTML attribute: corner-radius + * + * CSS custom property: --corner-radius + */ + @attr({ + attribute: 'control-corner-radius', converter: nullableNumberConverter, - default: DesignSystemDefaults.elevatedCornerRadius, }) - public elevatedCornerRadius: number; + @designToken(controlCornerRadius) + public controlCornerRadius: number; - @designSystemProperty({ - attribute: 'outline-width', + /** + * The width of the standard stroke applied to stroke components in pixels. + * + * @remarks + * HTML attribute: stroke-width + * + * CSS custom property: --stroke-width + */ + @attr({ + attribute: 'stroke-width', converter: nullableNumberConverter, - default: DesignSystemDefaults.outlineWidth, }) - public outlineWidth: number; + @designToken(strokeWidth) + public strokeWidth: number; - @designSystemProperty({ - attribute: 'focus-outline-width', + /** + * The width of the standard focus stroke in pixels. + * + * @remarks + * HTML attribute: focus-stroke-width + * + * CSS custom property: --focus-stroke-width + */ + @attr({ + attribute: 'focus-stroke-width', converter: nullableNumberConverter, - default: DesignSystemDefaults.focusOutlineWidth, }) - public focusOutlineWidth: number; + @designToken(focusStrokeWidth) + public focusStrokeWidth: number; - @designSystemProperty({ + /** + * The opacity of a disabled control. + * + * @remarks + * HTML attribute: disabled-opacity + * + * CSS custom property: --disabled-opacity + */ + @attr({ attribute: 'disabled-opacity', converter: nullableNumberConverter, - default: DesignSystemDefaults.disabledOpacity, }) + @designToken(disabledOpacity) public disabledOpacity: number; - @designSystemProperty({ + /** + * The font-size two steps below the base font-size + * + * @remarks + * HTML attribute: type-ramp-minus-2-font-size + * + * CSS custom property: --type-ramp-minus-2-font-size + */ + @attr({ attribute: 'type-ramp-minus-2-font-size', - default: DesignSystemDefaults.typeRampMinus2FontSize, }) + @designToken(typeRampMinus2FontSize) public typeRampMinus2FontSize: string; - @designSystemProperty({ + /** + * The line-height two steps below the base line-height + * + * @remarks + * HTML attribute: type-ramp-minus-2-line-height + * + * CSS custom property: --type-ramp-minus-2-line-height + */ + @attr({ attribute: 'type-ramp-minus-2-line-height', - default: DesignSystemDefaults.typeRampMinus2LineHeight, }) + @designToken(typeRampMinus2LineHeight) public typeRampMinus2LineHeight: string; - @designSystemProperty({ + /** + * The font-size one step below the base font-size + * + * @remarks + * HTML attribute: type-ramp-minus-1-font-size + * + * CSS custom property: --type-ramp-minus-1-font-size + */ + @attr({ attribute: 'type-ramp-minus-1-font-size', - default: DesignSystemDefaults.typeRampMinus1FontSize, }) + @designToken(typeRampMinus1FontSize) public typeRampMinus1FontSize: string; - @designSystemProperty({ + /** + * The line-height one step below the base line-height + * + * @remarks + * HTML attribute: type-ramp-minus-1-line-height + * + * CSS custom property: --type-ramp-minus-1-line-height + */ + @attr({ attribute: 'type-ramp-minus-1-line-height', - default: DesignSystemDefaults.typeRampMinus1LineHeight, }) + @designToken(typeRampMinus1LineHeight) public typeRampMinus1LineHeight: string; - @designSystemProperty({ + /** + * The base font-size of the relative type-ramp scale + * + * @remarks + * HTML attribute: type-ramp-base-font-size + * + * CSS custom property: --type-ramp-base-font-size + */ + @attr({ attribute: 'type-ramp-base-font-size', - default: DesignSystemDefaults.typeRampBaseFontSize, }) + @designToken(typeRampBaseFontSize) public typeRampBaseFontSize: string; - @designSystemProperty({ + /** + * The base line-height of the relative type-ramp scale + * + * @remarks + * HTML attribute: type-ramp-base-line-height + * + * CSS custom property: --type-ramp-base-line-height + */ + @attr({ attribute: 'type-ramp-base-line-height', - default: DesignSystemDefaults.typeRampBaseLineHeight, }) + @designToken(typeRampBaseLineHeight) public typeRampBaseLineHeight: string; - @designSystemProperty({ + /** + * The font-size one step above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-1-font-size + * + * CSS custom property: --type-ramp-plus-1-font-size + */ + @attr({ attribute: 'type-ramp-plus-1-font-size', - default: DesignSystemDefaults.typeRampPlus1FontSize, }) + @designToken(typeRampPlus1FontSize) public typeRampPlus1FontSize: string; - @designSystemProperty({ + /** + * The line-height one step above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-1-line-height + * + * CSS custom property: --type-ramp-plus-1-line-height + */ + @attr({ attribute: 'type-ramp-plus-1-line-height', - default: DesignSystemDefaults.typeRampPlus1LineHeight, }) + @designToken(typeRampPlus1LineHeight) public typeRampPlus1LineHeight: string; - @designSystemProperty({ + /** + * The font-size two steps above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-2-font-size + * + * CSS custom property: --type-ramp-plus-2-font-size + */ + @attr({ attribute: 'type-ramp-plus-2-font-size', - default: DesignSystemDefaults.typeRampPlus2FontSize, }) + @designToken(typeRampPlus2FontSize) public typeRampPlus2FontSize: string; - @designSystemProperty({ + /** + * The line-height two steps above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-2-line-height + * + * CSS custom property: --type-ramp-plus-2-line-height + */ + @attr({ attribute: 'type-ramp-plus-2-line-height', - default: DesignSystemDefaults.typeRampPlus2LineHeight, }) + @designToken(typeRampPlus2LineHeight) public typeRampPlus2LineHeight: string; - @designSystemProperty({ + /** + * The font-size three steps above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-3-font-size + * + * CSS custom property: --type-ramp-plus-3-font-size + */ + @attr({ attribute: 'type-ramp-plus-3-font-size', - default: DesignSystemDefaults.typeRampPlus3FontSize, }) + @designToken(typeRampPlus3FontSize) public typeRampPlus3FontSize: string; - @designSystemProperty({ + /** + * The line-height three steps above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-3-line-height + * + * CSS custom property: --type-ramp-plus-3-line-height + */ + @attr({ attribute: 'type-ramp-plus-3-line-height', - default: DesignSystemDefaults.typeRampPlus3LineHeight, }) + @designToken(typeRampPlus3LineHeight) public typeRampPlus3LineHeight: string; - @designSystemProperty({ + /** + * The font-size four steps above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-4-font-size + * + * CSS custom property: --type-ramp-plus-4-font-size + */ + @attr({ attribute: 'type-ramp-plus-4-font-size', - default: DesignSystemDefaults.typeRampPlus4FontSize, }) + @designToken(typeRampPlus4FontSize) public typeRampPlus4FontSize: string; - @designSystemProperty({ + /** + * The line-height four steps above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-4-line-height + * + * CSS custom property: --type-ramp-plus-4-line-height + */ + @attr({ attribute: 'type-ramp-plus-4-line-height', - default: DesignSystemDefaults.typeRampPlus4LineHeight, }) + @designToken(typeRampPlus4LineHeight) public typeRampPlus4LineHeight: string; - @designSystemProperty({ + /** + * The font-size five steps above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-5-font-size + * + * CSS custom property: --type-ramp-plus-5-font-size + */ + @attr({ attribute: 'type-ramp-plus-5-font-size', - default: DesignSystemDefaults.typeRampPlus5FontSize, }) + @designToken(typeRampPlus5FontSize) public typeRampPlus5FontSize: string; - @designSystemProperty({ + /** + * The line-height five steps above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-5-line-height + * + * CSS custom property: --type-ramp-plus-5-line-height + */ + @attr({ attribute: 'type-ramp-plus-5-line-height', - default: DesignSystemDefaults.typeRampPlus5LineHeight, }) + @designToken(typeRampPlus5LineHeight) public typeRampPlus5LineHeight: string; - @designSystemProperty({ + /** + * The font-size six steps above the base font-size + * + * @remarks + * HTML attribute: type-ramp-plus-6-font-size + * + * CSS custom property: --type-ramp-plus-6-font-size + */ + @attr({ attribute: 'type-ramp-plus-6-font-size', - default: DesignSystemDefaults.typeRampPlus6FontSize, }) + @designToken(typeRampPlus6FontSize) public typeRampPlus6FontSize: string; - @designSystemProperty({ + /** + * The line-height six steps above the base line-height + * + * @remarks + * HTML attribute: type-ramp-plus-6-line-height + * + * CSS custom property: --type-ramp-plus-6-line-height + */ + @attr({ attribute: 'type-ramp-plus-6-line-height', - default: DesignSystemDefaults.typeRampPlus6LineHeight, }) + @designToken(typeRampPlus6LineHeight) public typeRampPlus6LineHeight: string; - @designSystemProperty({ + /** + * The distance from the resolved accent fill color for the rest state of the accent-fill recipe. + * + * @remarks + * HTML attribute: accent-fill-rest-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-fill-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentFillRestDelta, }) + @designToken(accentFillRestDelta) public accentFillRestDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent fill color for the hover state of the accent-fill recipe. + * + * @remarks + * HTML attribute: accent-fill-hover-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-fill-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentFillHoverDelta, }) + @designToken(accentFillHoverDelta) public accentFillHoverDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent fill color for the active state of the accent-fill recipe. + * + * @remarks + * HTML attribute: accent-fill-active-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-fill-active-delta', - cssCustomProperty: false, converter: nullableNumberConverter, - default: DesignSystemDefaults.accentFillActiveDelta, }) + @designToken(accentFillActiveDelta) public accentFillActiveDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent fill color for the focus state of the accent-fill recipe. + * + * @remarks + * HTML attribute: accent-fill-focus-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-fill-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentFillFocusDelta, }) + @designToken(accentFillFocusDelta) public accentFillFocusDelta: number; - @designSystemProperty({ - attribute: 'accent-fill-selected-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentFillSelectedDelta, - }) - public accentFillSelectedDelta: number; - - @designSystemProperty({ + /** + * The distance from the resolved accent foreground color for the rest state of the accent-foreground recipe. + * + * @remarks + * HTML attribute: accent-foreground-rest-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-foreground-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentForegroundRestDelta, }) + @designToken(accentForegroundRestDelta) public accentForegroundRestDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent foreground color for the hover state of the accent-foreground recipe. + * + * @remarks + * HTML attribute: accent-foreground-hover-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-foreground-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentForegroundHoverDelta, }) + @designToken(accentForegroundHoverDelta) public accentForegroundHoverDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent foreground color for the active state of the accent-foreground recipe. + * + * @remarks + * HTML attribute: accent-foreground-active-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-foreground-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentForegroundActiveDelta, }) + @designToken(accentForegroundActiveDelta) public accentForegroundActiveDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved accent foreground color for the focus state of the accent-foreground recipe. + * + * @remarks + * HTML attribute: accent-foreground-focus-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'accent-foreground-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.accentForegroundFocusDelta, }) + @designToken(accentForegroundFocusDelta) public accentForegroundFocusDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill color for the rest state of the neutral-fill recipe. + * + * @remarks + * HTML attribute: neutral-fill-rest-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillRestDelta, }) + @designToken(neutralFillRestDelta) public neutralFillRestDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill color for the hover state of the neutral-fill recipe. + * + * @remarks + * HTML attribute: neutral-fill-hover-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillHoverDelta, }) + @designToken(neutralFillHoverDelta) public neutralFillHoverDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill color for the active state of the neutral-fill recipe. + * + * @remarks + * HTML attribute: neutral-fill-active-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillActiveDelta, }) + @designToken(neutralFillActiveDelta) public neutralFillActiveDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill color for the focus state of the neutral-fill recipe. + * + * @remarks + * HTML attribute: neutral-fill-focus-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillFocusDelta, }) + @designToken(neutralFillFocusDelta) public neutralFillFocusDelta: number; - @designSystemProperty({ - attribute: 'neutral-fill-selected-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillSelectedDelta, - }) - public neutralFillSelectedDelta: number; - - @designSystemProperty({ + /** + * The distance from the resolved neutral fill input color for the rest state of the neutral-fill-input recipe. + * + * @remarks + * HTML attribute: neutral-fill-input-rest-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-input-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillInputRestDelta, }) + @designToken(neutralFillInputRestDelta) public neutralFillInputRestDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill input color for the hover state of the neutral-fill-input recipe. + * + * @remarks + * HTML attribute: neutral-fill-input-hover-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-input-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillInputHoverDelta, }) + @designToken(neutralFillInputHoverDelta) public neutralFillInputHoverDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill input color for the active state of the neutral-fill-input recipe. + * + * @remarks + * HTML attribute: neutral-fill-input-active-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-input-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillInputActiveDelta, }) + @designToken(neutralFillInputActiveDelta) public neutralFillInputActiveDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill input color for the focus state of the neutral-fill-input recipe. + * + * @remarks + * HTML attribute: neutral-fill-input-focus-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-input-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillInputFocusDelta, }) + @designToken(neutralFillInputFocusDelta) public neutralFillInputFocusDelta: number; - @designSystemProperty({ - attribute: 'neutral-fill-input-selected-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillInputSelectedDelta, - }) - public neutralFillInputSelectedDelta: number; - - @designSystemProperty({ + /** + * The distance from the resolved neutral fill stealth color for the rest state of the neutral-fill-stealth recipe. + * + * @remarks + * HTML attribute: neutral-fill-stealth-rest-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-stealth-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillStealthRestDelta, }) + @designToken(neutralFillStealthRestDelta) public neutralFillStealthRestDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill stealth color for the hover state of the neutral-fill-stealth recipe. + * + * @remarks + * HTML attribute: neutral-fill-stealth-hover-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-stealth-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillStealthHoverDelta, }) + @designToken(neutralFillStealthHoverDelta) public neutralFillStealthHoverDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill stealth color for the active state of the neutral-fill-stealth recipe. + * + * @remarks + * HTML attribute: neutral-fill-stealth-active-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-stealth-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillStealthActiveDelta, }) + @designToken(neutralFillStealthActiveDelta) public neutralFillStealthActiveDelta: number; - @designSystemProperty({ + /** + * The distance from the resolved neutral fill stealth color for the focus state of the neutral-fill-stealth recipe. + * + * @remarks + * HTML attribute: neutral-fill-stealth-focus-delta + * + * CSS custom property: N/A + */ + @attr({ attribute: 'neutral-fill-stealth-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillStealthFocusDelta, }) + @designToken(neutralFillStealthFocusDelta) public neutralFillStealthFocusDelta: number; - @designSystemProperty({ - attribute: 'neutral-fill-stealth-selected-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillStealthSelectedDelta, - }) - public neutralFillStealthSelectedDelta: number; - - @designSystemProperty({ - attribute: 'neutral-fill-toggle-hover-delta', + /** + * The distance from the resolved neutral fill strong color for the hover state of the neutral-fill-strong recipe. + * + * @remarks + * HTML attribute: neutral-fill-strong-hover-delta + * + * CSS custom property: N/A + */ + @attr({ + attribute: 'neutral-fill-strong-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillToggleHoverDelta, }) - public neutralFillToggleHoverDelta: number; + @designToken(neutralFillStrongHoverDelta) + public neutralFillStrongHoverDelta: number; - @designSystemProperty({ - attribute: 'neutral-fill-toggle-hover-active', + /** + * The distance from the resolved neutral fill strong color for the active state of the neutral-fill-strong recipe. + * + * @remarks + * HTML attribute: neutral-fill-strong-active-delta + * + * CSS custom property: N/A + */ + @attr({ + attribute: 'neutral-fill-strong-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillToggleActiveDelta, }) - public neutralFillToggleActiveDelta: number; + @designToken(neutralFillStrongActiveDelta) + public neutralFillStrongActiveDelta: number; - @designSystemProperty({ - attribute: 'neutral-fill-toggle-hover-focus', + /** + * The distance from the resolved neutral fill strong color for the focus state of the neutral-fill-strong recipe. + * + * @remarks + * HTML attribute: neutral-fill-strong-focus-delta + * + * CSS custom property: N/A + */ + @attr({ + attribute: 'neutral-fill-strong-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillToggleFocusDelta, }) - public neutralFillToggleFocusDelta: number; + @designToken(neutralFillStrongFocusDelta) + public neutralFillStrongFocusDelta: number; - @designSystemProperty({ + /** + * The {@link https://www.w3.org/WAI/GL/wiki/Relative_luminance#:~:text=WCAG%20definition%20of%20relative%20luminance,and%201%20for%20lightest%20white|relative luminance} of the base layer of the application. + * + * @remarks + * When set to a number between 0 and 1 + * + * HTML attribute: base-layer-luminance + * + * CSS custom property: N/A + */ + @attr({ attribute: 'base-layer-luminance', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.baseLayerLuminance, }) + @designToken(baseLayerLuminance) public baseLayerLuminance: number; // 0...1 - @designSystemProperty({ - attribute: 'neutral-fill-card-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralFillCardDelta, - }) - public neutralFillCardDelta: number; - - @designSystemProperty({ - attribute: 'neutral-foreground-hover-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralForegroundHoverDelta, - }) - public neutralForegroundHoverDelta: number; - - @designSystemProperty({ - attribute: 'neutral-foreground-active-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralForegroundActiveDelta, - }) - public neutralForegroundActiveDelta: number; - - @designSystemProperty({ - attribute: 'neutral-foreground-focus-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralForegroundFocusDelta, - }) - public neutralForegroundFocusDelta: number; - - @designSystemProperty({ - attribute: 'neutral-divider-rest-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralDividerRestDelta, - }) - public neutralDividerRestDelta: number; - - @designSystemProperty({ - attribute: 'neutral-outline-rest-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralOutlineRestDelta, - }) - public neutralOutlineRestDelta: number; - - @designSystemProperty({ - attribute: 'neutral-outline-hover-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralOutlineHoverDelta, - }) - public neutralOutlineHoverDelta: number; - - @designSystemProperty({ - attribute: 'neutral-outline-active-delta', - converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralOutlineActiveDelta, - }) - public neutralOutlineActiveDelta: number; - - @designSystemProperty({ - attribute: 'neutral-outline-focus-delta', + /** + * The distance from the resolved neutral divider color for the rest state of the neutral-foreground recipe. + * + * @remarks + * HTML attribute: neutral-divider-rest-delta + * + * CSS custom property: N/A + */ + @attr({ + attribute: 'neutral-stroke-divider-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralOutlineFocusDelta, }) - public neutralOutlineFocusDelta: number; + @designToken(neutralStrokeDividerRestDelta) + public neutralStrokeDividerRestDelta: number; /** - * The distance from the resolved neutral contrast fill color for the rest state of the neutral-contrast-fill recipe. See {@link @microsoft/fast-components#neutralContrastFillRestBehavior} for usage in CSS. + * The distance from the resolved neutral stroke color for the rest state of the neutral-stroke recipe. * * @remarks - * HTML attribute: neutral-contrast-fill-rest-delta + * HTML attribute: neutral-stroke-rest-delta * * CSS custom property: N/A */ - @designSystemProperty({ - attribute: 'neutral-contrast-fill-rest-delta', + @attr({ + attribute: 'neutral-stroke-rest-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralContrastFillRestDelta, }) - public neutralContrastFillRestDelta: number; + @designToken(neutralStrokeRestDelta) + public neutralStrokeRestDelta: number; /** - * The distance from the resolved neutral contrast fill color for the rest state of the neutral-contrast-fillrecipe. See {@link @microsoft/fast-components#neutralContrastFillHoverBehavior} for usage in CSS. + * The distance from the resolved neutral stroke color for the hover state of the neutral-stroke recipe. * * @remarks - * HTML attribute: neutral-contrast-fill-hover-delta + * HTML attribute: neutral-stroke-hover-delta * * CSS custom property: N/A */ - @designSystemProperty({ - attribute: 'neutral-contrast-fill-hover-delta', + @attr({ + attribute: 'neutral-stroke-hover-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralContrastFillHoverDelta, }) - public neutralContrastFillHoverDelta: number; + @designToken(neutralStrokeHoverDelta) + public neutralStrokeHoverDelta: number; /** - * The distance from the resolved neutral contrast fill color for the rest state of the neutral-contrast-fill recipe. See {@link @microsoft/fast-components#neutralContrastFillActiveBehavior} for usage in CSS. + * The distance from the resolved neutral stroke color for the active state of the neutral-stroke recipe. * * @remarks - * HTML attribute: neutral-contrast-fill-active-delta + * HTML attribute: neutral-stroke-active-delta * * CSS custom property: N/A */ - @designSystemProperty({ - attribute: 'neutral-contrast-fill-active-delta', + @attr({ + attribute: 'neutral-stroke-active-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralContrastFillActiveDelta, }) - public neutralContrastFillActiveDelta: number; + @designToken(neutralStrokeActiveDelta) + public neutralStrokeActiveDelta: number; /** - * The distance from the resolved neutral contrast fill color for the rest state of the neutral-contrast-fill recipe. See {@link @microsoft/fast-components#neutralContrastFillFocusBehavior} for usage in CSS. + * The distance from the resolved neutral stroke color for the focus state of the neutral-stroke recipe. * * @remarks - * HTML attribute: neutral-contrast-fill-focus-delta + * HTML attribute: neutral-stroke-focus-delta * * CSS custom property: N/A */ - @designSystemProperty({ - attribute: 'neutral-contrast-fill-focus-delta', + @attr({ + attribute: 'neutral-stroke-focus-delta', converter: nullableNumberConverter, - cssCustomProperty: false, - default: DesignSystemDefaults.neutralContrastFillFocusDelta, }) - public neutralContrastFillFocusDelta: number; + @designToken(neutralStrokeFocusDelta) + public neutralStrokeFocusDelta: number; } /** - * The Fluent Design System + * The FAST Design System Provider Element. + * * @public + * @remarks + * HTML Element: \ */ -export type FluentDesignSystem = Omit< - DesignSystem, - 'contrast' | 'fontWeight' | 'neutralForegroundDarkIndex' | 'neutralForegroundLightIndex' ->; +export const fastDesignSystemProvider = DesignSystemProvider.compose({ + baseName: 'design-system-provider', + template: html` `, + styles: css` + ${display('block')} + `, +}); From a8ae140e2f2ee8d45dfdab0bd22a42e8ab525363 Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Mon, 21 Jun 2021 15:10:26 -0700 Subject: [PATCH 16/91] (web-components) fix card color (#18631) Updated Card color handling for new design tokens Updated fill-color handling in design-system-provider Added neutral-fill-layer-rest-delta to design-system-provider Updated use of fluent-design-system-provider in samples Cleaned up styles and sorted imports --- ...-187ac3c3-51d0-4ebc-bf18-1d431cfd1247.json | 7 + packages/web-components/docs/api-report.md | 561 +++++--------- .../web-components/src/badge/badge.styles.ts | 10 +- .../src/button/button.styles.ts | 6 +- .../web-components/src/card/card.styles.ts | 3 +- .../src/card/fixtures/card.html | 25 +- packages/web-components/src/card/index.ts | 112 +-- .../src/checkbox/checkbox.styles.ts | 22 +- .../src/combobox/combobox.styles.ts | 2 +- .../web-components/src/custom-elements.ts | 4 +- .../src/design-system-provider/index.ts | 71 +- .../src/flipper/flipper.styles.ts | 10 +- packages/web-components/src/index.ts | 3 + .../listbox-option/listbox-option.styles.ts | 24 +- .../src/listbox/listbox.styles.ts | 8 +- .../src/menu-item/menu-item.styles.ts | 18 +- .../src/number-field/number-field.styles.ts | 22 +- .../progress-ring/progress-ring.styles.ts | 2 +- .../src/progress/progress/progress.styles.ts | 2 +- .../web-components/src/radio/radio.styles.ts | 16 +- .../src/select/select.styles.ts | 30 +- .../src/skeleton/fixtures/base.html | 2 +- .../src/slider-label/slider-label.styles.ts | 2 +- .../src/slider/fixtures/slider.html | 4 +- .../src/slider/slider.styles.ts | 10 +- .../web-components/src/styles/behaviors.ts | 682 ------------------ packages/web-components/src/styles/index.ts | 1 - .../src/styles/patterns/button.ts | 46 +- .../src/styles/patterns/input.ts | 5 +- .../src/switch/switch.styles.ts | 24 +- .../src/tabs/tab-panel/tab-panel.styles.ts | 2 +- .../web-components/src/tabs/tab/tab.styles.ts | 12 +- .../web-components/src/tabs/tabs.styles.ts | 6 +- .../src/text-area/text-area.styles.ts | 12 +- .../src/text-field/text-field.styles.ts | 18 +- .../src/tooltip/tooltip.styles.ts | 6 +- 36 files changed, 483 insertions(+), 1307 deletions(-) create mode 100644 change/@fluentui-web-components-187ac3c3-51d0-4ebc-bf18-1d431cfd1247.json delete mode 100644 packages/web-components/src/styles/behaviors.ts diff --git a/change/@fluentui-web-components-187ac3c3-51d0-4ebc-bf18-1d431cfd1247.json b/change/@fluentui-web-components-187ac3c3-51d0-4ebc-bf18-1d431cfd1247.json new file mode 100644 index 00000000000000..ff8b4c00dd2d8a --- /dev/null +++ b/change/@fluentui-web-components-187ac3c3-51d0-4ebc-bf18-1d431cfd1247.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Updated Card color handling for new design tokens Updated fill-color handling in design-system-provider Added neutral-fill-layer-rest-delta to design-system-provider Updated use of fluent-design-system-provider in samples Cleaned up styles and sorted imports", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 68d4408498b05a..4c88cfc4847af2 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -13,21 +13,21 @@ import { Behavior } from '@microsoft/fast-element'; import { Breadcrumb } from '@microsoft/fast-foundation'; import { BreadcrumbItemOptions } from '@microsoft/fast-foundation'; import { Button as Button_2 } from '@microsoft/fast-foundation'; +import { Card as Card_2 } from '@microsoft/fast-foundation'; import { CheckboxOptions } from '@microsoft/fast-foundation'; import { ColorRGBA64 } from '@microsoft/fast-colors'; import { Combobox as Combobox_2 } from '@microsoft/fast-foundation'; import { ComboboxOptions } from '@microsoft/fast-foundation'; -import { CSSCustomPropertyBehavior } from '@microsoft/fast-foundation'; import { DataGrid } from '@microsoft/fast-foundation'; import { DataGridCell } from '@microsoft/fast-foundation'; import { DataGridRow } from '@microsoft/fast-foundation'; -import { DesignSystemProvider } from '@microsoft/fast-foundation'; import { Dialog } from '@microsoft/fast-foundation'; import { Direction } from '@microsoft/fast-web-utilities'; import { Divider } from '@microsoft/fast-foundation'; import { ElementStyles } from '@microsoft/fast-element'; import { FASTElement } from '@microsoft/fast-element'; import { FlipperOptions } from '@microsoft/fast-foundation'; +import { FoundationElement } from '@microsoft/fast-foundation'; import { HorizontalScroll as HorizontalScroll_2 } from '@microsoft/fast-foundation'; import { Listbox } from '@microsoft/fast-foundation'; import { ListboxOption } from '@microsoft/fast-foundation'; @@ -57,7 +57,7 @@ import { TreeView } from '@microsoft/fast-foundation'; // Warning: (ae-internal-missing-underscore) The name "AccentButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const AccentButtonStyles: ElementStyles; +export const AccentButtonStyles: import("@microsoft/fast-element").ElementStyles; // Warning: (ae-forgotten-export) The symbol "SwatchFamilyResolver" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "FillSwatchFamily" needs to be exported by the entry point index.d.ts @@ -72,20 +72,11 @@ export const accentFill: SwatchFamilyResolver; // @internal (undocumented) export const accentFillActive: SwatchRecipe; -// @public -export const accentFillActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const accentFillFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillHover: SwatchRecipe; -// @public -export const accentFillHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillLarge" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -96,52 +87,31 @@ export const accentFillLarge: SwatchFamilyResolver; // @internal (undocumented) export const accentFillLargeActive: SwatchRecipe; -// @public -export const accentFillLargeActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const accentFillLargeFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillLargeHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillLargeHover: SwatchRecipe; -// @public -export const accentFillLargeHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillLargeRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillLargeRest: SwatchRecipe; -// @public -export const accentFillLargeRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillLargeSelected" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillLargeSelected: SwatchRecipe; -// @public -export const accentFillLargeSelectedBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillRest: SwatchRecipe; -// @public -export const accentFillRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentFillSelected" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentFillSelected: SwatchRecipe; -// @public -export const accentFillSelectedBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForeground" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -152,9 +122,6 @@ export const accentForeground: SwatchFamilyResolver; // @internal (undocumented) export const accentForegroundActive: SwatchRecipe; -// @public -export const accentForegroundActiveBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundCut" should be prefixed with an underscore because the declaration is marked as @internal // // @internal @@ -165,20 +132,11 @@ export const accentForegroundCut: SwatchRecipe; // @internal export const accentForegroundCutLarge: SwatchRecipe; -// @public -export const accentForegroundCutRestBehavior: CSSCustomPropertyBehavior; - -// @public -export const accentForegroundFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentForegroundHover: SwatchRecipe; -// @public -export const accentForegroundHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundLarge" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -189,36 +147,21 @@ export const accentForegroundLarge: SwatchFamilyResolver; // @internal (undocumented) export const accentForegroundLargeActive: SwatchRecipe; -// @public -export const accentForegroundLargeActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const accentForegroundLargeFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundLargeHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentForegroundLargeHover: SwatchRecipe; -// @public -export const accentForegroundLargeHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundLargeRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentForegroundLargeRest: SwatchRecipe; -// @public -export const accentForegroundLargeRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "accentForegroundRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const accentForegroundRest: SwatchRecipe; -// @public -export const accentForegroundRestBehavior: CSSCustomPropertyBehavior; - // @public export const accordionItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -269,7 +212,7 @@ export const badgeStyles: (context: any, definition: any) => import("@microsoft/ // Warning: (ae-internal-missing-underscore) The name "baseButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const baseButtonStyles: (context: any, definition: any) => ElementStyles; +export const baseButtonStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export const breadcrumbItemStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -296,8 +239,18 @@ export type ButtonAppearance = 'accent' | 'lightweight' | 'neutral' | 'outline' // @public export const buttonStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; +// @public (undocumented) +export class Card extends Card_2 { + cardFillColor: string; + // (undocumented) + connectedCallback(): void; + // @internal (undocumented) + handleChange(source: any, propertyName: string): void; + neutralBaseColor: string; + } + // @public -export const CardStyles: import("@microsoft/fast-element").ElementStyles; +export const cardStyles: import("@microsoft/fast-element").ElementStyles; // @public export const checkboxStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -461,6 +414,72 @@ export interface DesignSystem { // @public export const DesignSystemDefaults: DesignSystem; +// @public +export class DesignSystemProvider extends FoundationElement { + constructor(); + accentFillActiveDelta: number; + accentFillFocusDelta: number; + accentFillHoverDelta: number; + accentFillRestDelta: number; + accentForegroundActiveDelta: number; + accentForegroundFocusDelta: number; + accentForegroundHoverDelta: number; + accentForegroundRestDelta: number; + accentPalette: Palette; + baseHeightMultiplier: number; + baseHorizontalSpacingMultiplier: number; + baseLayerLuminance: number; + controlCornerRadius: number; + density: number; + designUnit: number; + direction: Direction; + disabledOpacity: number; + fillColor: Swatch; + focusStrokeWidth: number; + neutralFillActiveDelta: number; + neutralFillFocusDelta: number; + neutralFillHoverDelta: number; + neutralFillInputActiveDelta: number; + neutralFillInputFocusDelta: number; + neutralFillInputHoverDelta: number; + neutralFillInputRestDelta: number; + neutralFillLayerRestDelta: number; + neutralFillRestDelta: number; + neutralFillStealthActiveDelta: number; + neutralFillStealthFocusDelta: number; + neutralFillStealthHoverDelta: number; + neutralFillStealthRestDelta: number; + neutralFillStrongActiveDelta: number; + neutralFillStrongFocusDelta: number; + neutralFillStrongHoverDelta: number; + neutralPalette: Palette; + neutralStrokeActiveDelta: number; + neutralStrokeDividerRestDelta: number; + neutralStrokeFocusDelta: number; + neutralStrokeHoverDelta: number; + neutralStrokeRestDelta: number; + noPaint: boolean; + strokeWidth: number; + typeRampBaseFontSize: string; + typeRampBaseLineHeight: string; + typeRampMinus1FontSize: string; + typeRampMinus1LineHeight: string; + typeRampMinus2FontSize: string; + typeRampMinus2LineHeight: string; + typeRampPlus1FontSize: string; + typeRampPlus1LineHeight: string; + typeRampPlus2FontSize: string; + typeRampPlus2LineHeight: string; + typeRampPlus3FontSize: string; + typeRampPlus3LineHeight: string; + typeRampPlus4FontSize: string; + typeRampPlus4LineHeight: string; + typeRampPlus5FontSize: string; + typeRampPlus5LineHeight: string; + typeRampPlus6FontSize: string; + typeRampPlus6LineHeight: string; +} + // @public export const dialogStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -487,7 +506,7 @@ export const elevation: string; // Warning: (ae-internal-missing-underscore) The name "fillStateStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const fillStateStyles: (context: any, definition: any) => ElementStyles; +export const fillStateStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; // @public export const flipperStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -583,13 +602,15 @@ export const fluentButton: (overrideDefinition?: import("@microsoft/fast-foundat }, typeof Button>; // @public -export class FluentCard extends FluentDesignSystemProvider { - cardBackgroundColor: string; - // (undocumented) - connectedCallback(): void; - // @internal (undocumented) - handleChange(source: DesignSystem, name: string): void; -} +export const fluentCard: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: import("@microsoft/fast-element").ViewTemplate; + styles: import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: import("@microsoft/fast-element").ViewTemplate; + styles: import("@microsoft/fast-element").ElementStyles; +}, typeof Card>; // @public export const fluentCheckbox: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry>; @@ -631,163 +652,15 @@ export const fluentDataGridRow: (overrideDefinition?: import("@microsoft/fast-fo }, typeof DataGridRow>; // @public -export type FluentDesignSystem = Omit; - -// @public -export class FluentDesignSystemProvider extends DesignSystemProvider implements Omit { - // (undocumented) - accentBaseColor: string; - // (undocumented) - protected accentBaseColorChanged(oldValue: string, newValue: string): void; - // (undocumented) - accentFillActiveDelta: number; - // (undocumented) - accentFillFocusDelta: number; - // (undocumented) - accentFillHoverDelta: number; - // (undocumented) - accentFillRestDelta: number; - // (undocumented) - accentFillSelectedDelta: number; - // (undocumented) - accentForegroundActiveDelta: number; - // (undocumented) - accentForegroundFocusDelta: number; - // (undocumented) - accentForegroundHoverDelta: number; - // (undocumented) - accentForegroundRestDelta: number; - // (undocumented) - accentPalette: string[]; - backgroundColor: string; - // (undocumented) - protected backgroundColorChanged(): void; - // (undocumented) - baseHeightMultiplier: number; - // (undocumented) - baseHorizontalSpacingMultiplier: number; - // (undocumented) - baseLayerLuminance: number; - // (undocumented) - cornerRadius: number; - // Warning: (ae-forgotten-export) The symbol "DensityOffset" needs to be exported by the entry point index.d.ts - // - // (undocumented) - density: DensityOffset; - // (undocumented) - designUnit: number; - // (undocumented) - direction: Direction; - // (undocumented) - disabledOpacity: number; - // (undocumented) - elevatedCornerRadius: number; - // (undocumented) - focusOutlineWidth: number; - // (undocumented) - neutralBaseColor: string; - // (undocumented) - protected neutralBaseColorChanged(oldValue: string, newValue: string): void; - neutralContrastFillActiveDelta: number; - neutralContrastFillFocusDelta: number; - neutralContrastFillHoverDelta: number; - neutralContrastFillRestDelta: number; - // (undocumented) - neutralDividerRestDelta: number; - // (undocumented) - neutralFillActiveDelta: number; - // (undocumented) - neutralFillCardDelta: number; - // (undocumented) - neutralFillFocusDelta: number; - // (undocumented) - neutralFillHoverDelta: number; - // (undocumented) - neutralFillInputActiveDelta: number; - // (undocumented) - neutralFillInputFocusDelta: number; - // (undocumented) - neutralFillInputHoverDelta: number; - // (undocumented) - neutralFillInputRestDelta: number; - // (undocumented) - neutralFillInputSelectedDelta: number; - // (undocumented) - neutralFillRestDelta: number; - // (undocumented) - neutralFillSelectedDelta: number; - // (undocumented) - neutralFillStealthActiveDelta: number; - // (undocumented) - neutralFillStealthFocusDelta: number; - // (undocumented) - neutralFillStealthHoverDelta: number; - // (undocumented) - neutralFillStealthRestDelta: number; - // (undocumented) - neutralFillStealthSelectedDelta: number; - // (undocumented) - neutralFillToggleActiveDelta: number; - // (undocumented) - neutralFillToggleFocusDelta: number; - // (undocumented) - neutralFillToggleHoverDelta: number; - // (undocumented) - neutralForegroundActiveDelta: number; - // (undocumented) - neutralForegroundFocusDelta: number; - // (undocumented) - neutralForegroundHoverDelta: number; - // (undocumented) - neutralOutlineActiveDelta: number; - // (undocumented) - neutralOutlineFocusDelta: number; - // (undocumented) - neutralOutlineHoverDelta: number; - // (undocumented) - neutralOutlineRestDelta: number; - // (undocumented) - neutralPalette: string[]; - noPaint: boolean; - // (undocumented) - outlineWidth: number; - // (undocumented) - typeRampBaseFontSize: string; - // (undocumented) - typeRampBaseLineHeight: string; - // (undocumented) - typeRampMinus1FontSize: string; - // (undocumented) - typeRampMinus1LineHeight: string; - // (undocumented) - typeRampMinus2FontSize: string; - // (undocumented) - typeRampMinus2LineHeight: string; - // (undocumented) - typeRampPlus1FontSize: string; - // (undocumented) - typeRampPlus1LineHeight: string; - // (undocumented) - typeRampPlus2FontSize: string; - // (undocumented) - typeRampPlus2LineHeight: string; - // (undocumented) - typeRampPlus3FontSize: string; - // (undocumented) - typeRampPlus3LineHeight: string; - // (undocumented) - typeRampPlus4FontSize: string; - // (undocumented) - typeRampPlus4LineHeight: string; - // (undocumented) - typeRampPlus5FontSize: string; - // (undocumented) - typeRampPlus5LineHeight: string; - // (undocumented) - typeRampPlus6FontSize: string; - // (undocumented) - typeRampPlus6LineHeight: string; -} +export const fluentDesignSystemProvider: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ + baseName: string; + template: import("@microsoft/fast-element").ViewTemplate; + styles: import("@microsoft/fast-element").ElementStyles; +}> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ + baseName: string; + template: import("@microsoft/fast-element").ViewTemplate; + styles: import("@microsoft/fast-element").ElementStyles; +}, typeof DesignSystemProvider>; // @public export const fluentDialog: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ @@ -1029,13 +902,15 @@ export class HorizontalScroll extends HorizontalScroll_2 { // Warning: (ae-internal-missing-underscore) The name "HypertextStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const HypertextStyles: ElementStyles; - -// @public -export const inlineEndBehavior: CSSCustomPropertyBehavior; +export const HypertextStyles: import("@microsoft/fast-element").ElementStyles; -// @public -export const inlineStartBehavior: CSSCustomPropertyBehavior; +// @public (undocumented) +export interface InteractiveSwatchSet { + active: Swatch; + focus: Swatch; + hover: Swatch; + rest: Swatch; +} // @public (undocumented) export function isDarkMode(designSystem: DesignSystem): boolean; @@ -1043,7 +918,7 @@ export function isDarkMode(designSystem: DesignSystem): boolean; // Warning: (ae-internal-missing-underscore) The name "LightweightButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const LightweightButtonStyles: ElementStyles; +export const LightweightButtonStyles: import("@microsoft/fast-element").ElementStyles; // @public export const listboxStyles: (context: any, definition: any) => import("@microsoft/fast-element").ElementStyles; @@ -1064,39 +939,21 @@ export const neutralContrastFill: SwatchFamilyResolver; // @internal (undocumented) export const neutralContrastFillActive: SwatchRecipe; -// @public -export const neutralContrastFillActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralContrastFillFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralContrastFillHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralContrastFillHover: SwatchRecipe; -// @public -export const neutralContrastFillHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralContrastFillRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralContrastFillRest: SwatchRecipe; -// @public -export const neutralContrastFillRestBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralContrastForegroundRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralDividerRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralDividerRest: SwatchRecipe; -// @public -export const neutralDividerRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-forgotten-export) The symbol "ColorRecipe" needs to be exported by the entry point index.d.ts // Warning: (ae-internal-missing-underscore) The name "neutralFill" should be prefixed with an underscore because the declaration is marked as @internal // @@ -1108,34 +965,22 @@ export const neutralFill: ColorRecipe; // @internal (undocumented) export const neutralFillActive: SwatchRecipe; -// @public -export const neutralFillActiveBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-forgotten-export) The symbol "Swatch" needs to be exported by the entry point index.d.ts // Warning: (ae-internal-missing-underscore) The name "neutralFillCard" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export function neutralFillCard(designSystem: DesignSystem): Swatch; +export function neutralFillCard(designSystem: DesignSystem): Swatch_2; // Warning: (ae-forgotten-export) The symbol "SwatchResolver" needs to be exported by the entry point index.d.ts // // @internal (undocumented) export function neutralFillCard(backgroundResolver: SwatchResolver): SwatchResolver; -// @public -export const neutralFillCardRestBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralFillFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillHover: SwatchRecipe; -// @public -export const neutralFillHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillInput" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -1146,28 +991,16 @@ export const neutralFillInput: ColorRecipe; // @internal (undocumented) export const neutralFillInputActive: SwatchRecipe; -// @public -export const neutralFillInputActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralFillInputFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillInputHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillInputHover: SwatchRecipe; -// @public -export const neutralFillInputHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillInputRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillInputRest: SwatchRecipe; -// @public -export const neutralFillInputRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillInputSelected" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -1178,17 +1011,11 @@ export const neutralFillInputSelected: SwatchRecipe; // @internal (undocumented) export const neutralFillRest: SwatchRecipe; -// @public -export const neutralFillRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillSelected" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillSelected: SwatchRecipe; -// @public -export const neutralFillSelectedBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillStealth" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -1197,37 +1024,22 @@ export const neutralFillStealth: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralFillStealthActive" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const neutralFillStealthActive: ColorRecipe; - -// @public -export const neutralFillStealthActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralFillStealthFocusBehavior: CSSCustomPropertyBehavior; +export const neutralFillStealthActive: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralFillStealthHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const neutralFillStealthHover: ColorRecipe; - -// @public -export const neutralFillStealthHoverBehavior: CSSCustomPropertyBehavior; +export const neutralFillStealthHover: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralFillStealthRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const neutralFillStealthRest: ColorRecipe; - -// @public -export const neutralFillStealthRestBehavior: CSSCustomPropertyBehavior; +export const neutralFillStealthRest: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralFillStealthSelected" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const neutralFillStealthSelected: ColorRecipe; - -// @public -export const neutralFillStealthSelectedBehavior: CSSCustomPropertyBehavior; +export const neutralFillStealthSelected: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralFillToggle" should be prefixed with an underscore because the declaration is marked as @internal // @@ -1239,35 +1051,20 @@ export const neutralFillToggle: SwatchFamilyResolver; // @internal (undocumented) export const neutralFillToggleActive: SwatchRecipe; -// @public -export const neutralFillToggleActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralFillToggleFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillToggleHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillToggleHover: SwatchRecipe; -// @public -export const neutralFillToggleHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFillToggleRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralFillToggleRest: SwatchRecipe; -// @public -export const neutralFillToggleRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralFocus" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const neutralFocus: ColorRecipe; - -// @public -export const neutralFocusBehavior: CSSCustomPropertyBehavior; +export const neutralFocus: ColorRecipe; // Warning: (ae-forgotten-export) The symbol "DesignSystemResolver" needs to be exported by the entry point index.d.ts // Warning: (ae-internal-missing-underscore) The name "neutralFocusInnerAccent" should be prefixed with an underscore because the declaration is marked as @internal @@ -1275,9 +1072,6 @@ export const neutralFocusBehavior: CSSCustomPropertyBehavior; // @internal (undocumented) export function neutralFocusInnerAccent(accentFillColor: DesignSystemResolver): DesignSystemResolver; -// @public -export const neutralFocusInnerAccentBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForeground" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -1288,123 +1082,75 @@ export const neutralForeground: SwatchFamilyResolver; // @internal (undocumented) export const neutralForegroundActive: SwatchRecipe; -// @public -export const neutralForegroundActiveBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralForegroundFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundHint" should be prefixed with an underscore because the declaration is marked as @internal // // @internal export const neutralForegroundHint: SwatchRecipe; -// @public -export const neutralForegroundHintBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundHintLarge" should be prefixed with an underscore because the declaration is marked as @internal // // @internal export const neutralForegroundHintLarge: SwatchRecipe; -// @public -export const neutralForegroundHintLargeBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralForegroundHover: SwatchRecipe; -// @public -export const neutralForegroundHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralForegroundRest: SwatchRecipe; -// @public -export const neutralForegroundRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundToggle" should be prefixed with an underscore because the declaration is marked as @internal // // @internal export const neutralForegroundToggle: SwatchRecipe; -// @public -export const neutralForegroundToggleBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralForegroundToggleLarge" should be prefixed with an underscore because the declaration is marked as @internal // // @internal export const neutralForegroundToggleLarge: SwatchRecipe; -// @public -export const neutralForegroundToggleLargeBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralLayerCard" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerCard: ColorRecipe; - -// @public -export const neutralLayerCardBehavior: CSSCustomPropertyBehavior; +export const neutralLayerCard: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerCardContainer" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerCardContainer: ColorRecipe; - -// @public -export const neutralLayerCardContainerBehavior: CSSCustomPropertyBehavior; +export const neutralLayerCardContainer: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerFloating" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerFloating: ColorRecipe; - -// @public -export const neutralLayerFloatingBehavior: CSSCustomPropertyBehavior; +export const neutralLayerFloating: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerL1" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerL1: ColorRecipe; +export const neutralLayerL1: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerL1Alt" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerL1Alt: ColorRecipe; - -// @public -export const neutralLayerL1AltBehavior: CSSCustomPropertyBehavior; - -// @public -export const neutralLayerL1Behavior: CSSCustomPropertyBehavior; +export const neutralLayerL1Alt: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerL2" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerL2: ColorRecipe; - -// @public -export const neutralLayerL2Behavior: CSSCustomPropertyBehavior; +export const neutralLayerL2: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerL3" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerL3: ColorRecipe; - -// @public -export const neutralLayerL3Behavior: CSSCustomPropertyBehavior; +export const neutralLayerL3: ColorRecipe; // Warning: (ae-internal-missing-underscore) The name "neutralLayerL4" should be prefixed with an underscore because the declaration is marked as @internal // // @internal -export const neutralLayerL4: ColorRecipe; - -// @public -export const neutralLayerL4Behavior: CSSCustomPropertyBehavior; +export const neutralLayerL4: ColorRecipe; // Warning: (ae-forgotten-export) The symbol "SwatchFamily" needs to be exported by the entry point index.d.ts // Warning: (ae-internal-missing-underscore) The name "neutralOutline" should be prefixed with an underscore because the declaration is marked as @internal @@ -1417,9 +1163,6 @@ export const neutralOutline: ColorRecipe; // @internal (undocumented) export const neutralOutlineActive: SwatchRecipe; -// @public -export const neutralOutlineActiveBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralOutlineContrast" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) @@ -1440,25 +1183,16 @@ export const neutralOutlineContrastHover: SwatchRecipe; // @internal (undocumented) export const neutralOutlineContrastRest: SwatchRecipe; -// @public -export const neutralOutlineFocusBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralOutlineHover" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralOutlineHover: SwatchRecipe; -// @public -export const neutralOutlineHoverBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "neutralOutlineRest" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) export const neutralOutlineRest: SwatchRecipe; -// @public -export const neutralOutlineRestBehavior: CSSCustomPropertyBehavior; - // Warning: (ae-internal-missing-underscore) The name "NumberField" should be prefixed with an underscore because the declaration is marked as @internal // // @internal @@ -1481,15 +1215,33 @@ export const OptionStyles: (context: any, definition: any) => import("@microsoft // Warning: (ae-internal-missing-underscore) The name "OutlineButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const OutlineButtonStyles: ElementStyles; +export const OutlineButtonStyles: import("@microsoft/fast-element").ElementStyles; // @public -export type Palette = Swatch[]; +export interface Palette { + // Warning: (ae-forgotten-export) The symbol "RelativeLuminance" needs to be exported by the entry point index.d.ts + closestIndexOf(reference: RelativeLuminance): number; + colorContrast(reference: Swatch, contrast: number, initialIndex?: number, direction?: 1 | -1): T; + get(index: number): T; + // (undocumented) + readonly source: T; + // (undocumented) + readonly swatches: ReadonlyArray; +} +// Warning: (ae-forgotten-export) The symbol "Palette" needs to be exported by the entry point index.d.ts // Warning: (ae-internal-missing-underscore) The name "palette" should be prefixed with an underscore because the declaration is marked as @internal // // @internal @deprecated -export function palette(paletteType: PaletteType): DesignSystemResolver; +export function palette(paletteType: PaletteType): DesignSystemResolver; + +// @public (undocumented) +export type PaletteRGB = Palette; + +// @public (undocumented) +export const PaletteRGB: Readonly<{ + create(source: SwatchRGB): PaletteRGB; +}>; // @public @deprecated export enum PaletteType { @@ -1552,7 +1304,30 @@ export enum StandardLuminance { // Warning: (ae-internal-missing-underscore) The name "StealthButtonStyles" should be prefixed with an underscore because the declaration is marked as @internal // // @internal (undocumented) -export const StealthButtonStyles: ElementStyles; +export const StealthButtonStyles: import("@microsoft/fast-element").ElementStyles; + +// @public +export interface Swatch extends RelativeLuminance { + // (undocumented) + contrast(target: RelativeLuminance): number; + // (undocumented) + toColorString(): string; +} + +// @public (undocumented) +export interface SwatchRGB extends Swatch { + // (undocumented) + b: number; + // (undocumented) + g: number; + // (undocumented) + r: number; +} + +// @public (undocumented) +export const SwatchRGB: Readonly<{ + create(r: number, g: number, b: number): SwatchRGB; +}>; // @public export const switchStyles: (context: any, defintiion: any) => import("@microsoft/fast-element").ElementStyles; diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index 6fc5716db5819c..2fe7afaeea1e70 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -1,15 +1,15 @@ import { css } from '@microsoft/fast-element'; import { display } from '@microsoft/fast-foundation'; import { - accentForegroundRest, + accentFillRest, bodyFont, controlCornerRadius, designUnit, + foregroundOnAccentRest, + neutralFillRest, neutralForegroundRest, typeRampMinus1FontSize, typeRampMinus1LineHeight, - neutralFillRest, - accentForegroundCut, } from '../design-tokens'; export const badgeStyles = (context, definition) => @@ -33,8 +33,8 @@ export const badgeStyles = (context, definition) => } :host(.accent) .control { - background: ${accentForegroundRest}; - color: ${accentForegroundCut}; + background: ${accentFillRest}; + color: ${foregroundOnAccentRest}; } :host(.neutral) .control { diff --git a/packages/web-components/src/button/button.styles.ts b/packages/web-components/src/button/button.styles.ts index 1129e3dc6ce00f..f2df497aa744e7 100644 --- a/packages/web-components/src/button/button.styles.ts +++ b/packages/web-components/src/button/button.styles.ts @@ -10,12 +10,12 @@ import { } from '../styles/'; import { appearanceBehavior } from '../utilities/behaviors'; import { - disabledOpacity, - neutralFillRest, accentFillRest, accentForegroundRest, - neutralStrokeRest, + disabledOpacity, + neutralFillRest, neutralFillStealthRest, + neutralStrokeRest, } from '../design-tokens'; export const buttonStyles = (context, definition) => diff --git a/packages/web-components/src/card/card.styles.ts b/packages/web-components/src/card/card.styles.ts index b1a56ff6ffea27..69ef340bd01dc5 100644 --- a/packages/web-components/src/card/card.styles.ts +++ b/packages/web-components/src/card/card.styles.ts @@ -2,7 +2,7 @@ import { css } from '@microsoft/fast-element'; import { display, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles'; -import { layerCornerRadius } from '../design-tokens'; +import { fillColor, layerCornerRadius } from '../design-tokens'; export const CardStyles = css` ${display('block')} :host { @@ -12,6 +12,7 @@ export const CardStyles = css` height: var(--card-height, 100%); width: var(--card-width, 100%); box-sizing: border-box; + background: ${fillColor}; border-radius: calc(${layerCornerRadius} * 1px); ${elevation} } diff --git a/packages/web-components/src/card/fixtures/card.html b/packages/web-components/src/card/fixtures/card.html index d419cb2cbcfa2a..9327f279bc3e5d 100644 --- a/packages/web-components/src/card/fixtures/card.html +++ b/packages/web-components/src/card/fixtures/card.html @@ -1,5 +1,8 @@ - + + -

Horizontal Scroll

- -

Default

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Default

+ + + Card number 1 + A button + + + Card number 2 + A button + + + Card number 3 + A button + + + Card number 4 + A button + + + Card number 5 + A button + + + Card number 6 + A button + + + Card number 7 + A button + + + Card number 8 + A button + + + Card number 9 + A button + + + Card number 10 + A button + + + Card number 11 + A button + + + Card number 12 + A button + + + Card number 13 + A button + + + Card number 14 + A button + + + Card number 15 + A button + + + Card number 16 + A button + -

With right fade

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Delay loaded content

+ + +

Full width cards

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + + +

Slow scroll (200 pixels/second)

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

With fade on both sides

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Right gradient

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

Speed = 1200

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Gradient both sides

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

Default middle alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Varying heights and widths (default middle aligned)

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

Top alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Top aligned

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

Bottom alignment

- - - - -
-
-
-
-
-
-
-
-
-
-
-
+

Bottom aligned

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 -

Full width tiles

- - - - -
-
-
-
-
-
+

Mobile horizontal-scroll

+ + Card number 1 + Card number 2 + Card number 3 + Card number 4 + Card number 5 + Card number 6 + Card number 7 + Card number 8 + Card number 9 + Card number 10 + Card number 11 + Card number 12 + Card number 13 + Card number 14 + Card number 15 + Card number 16 From 4be46c8e1e7c766ee25124c12b2d1cb8ea3d5596 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Wed, 30 Jun 2021 09:50:56 -0700 Subject: [PATCH 21/91] correct typography design token names (#18780) * fix typography token names * Change files --- ...-0b810df7-f841-4864-b129-7ab988e8f8e0.json | 7 ++++ packages/web-components/src/design-tokens.ts | 32 +++++++++---------- 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 change/@fluentui-web-components-0b810df7-f841-4864-b129-7ab988e8f8e0.json diff --git a/change/@fluentui-web-components-0b810df7-f841-4864-b129-7ab988e8f8e0.json b/change/@fluentui-web-components-0b810df7-f841-4864-b129-7ab988e8f8e0.json new file mode 100644 index 00000000000000..5d0e4be926f6c4 --- /dev/null +++ b/change/@fluentui-web-components-0b810df7-f841-4864-b129-7ab988e8f8e0.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix typography token names", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "none" +} diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 30ce40796acff4..4a6e103caf952a 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -179,37 +179,37 @@ export const typeRampBaseFontSize = create('type-ramp-base-font-size').w /** @public */ export const typeRampBaseLineHeight = create('type-ramp-base-line-height').withDefault('20px'); /** @public */ -export const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('12px'); +export const typeRampMinus1FontSize = create('type-ramp-minus-1-font-size').withDefault('12px'); /** @public */ -export const typeRampMinus1LineHeight = create('type-ramp-minus1-line-height').withDefault('16px'); +export const typeRampMinus1LineHeight = create('type-ramp-minus-1-line-height').withDefault('16px'); /** @public */ -export const typeRampMinus2FontSize = create('type-ramp-minus2-font-size').withDefault('10px'); +export const typeRampMinus2FontSize = create('type-ramp-minus-2-font-size').withDefault('10px'); /** @public */ -export const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('14px'); +export const typeRampMinus2LineHeight = create('type-ramp-minus-2-line-height').withDefault('14px'); /** @public */ -export const typeRampPlus1FontSize = create('type-ramp-plus1-font-size').withDefault('16px'); +export const typeRampPlus1FontSize = create('type-ramp-plus-1-font-size').withDefault('16px'); /** @public */ -export const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('22px'); +export const typeRampPlus1LineHeight = create('type-ramp-plus-1-line-height').withDefault('22px'); /** @public */ -export const typeRampPlus2FontSize = create('type-ramp-plus2-font-size').withDefault('20px'); +export const typeRampPlus2FontSize = create('type-ramp-plus-2-font-size').withDefault('20px'); /** @public */ -export const typeRampPlus2LineHeight = create('type-ramp-plus2-line-height').withDefault('28px'); +export const typeRampPlus2LineHeight = create('type-ramp-plus-2-line-height').withDefault('28px'); /** @public */ -export const typeRampPlus3FontSize = create('type-ramp-plus3-font-size').withDefault('24px'); +export const typeRampPlus3FontSize = create('type-ramp-plus-3-font-size').withDefault('24px'); /** @public */ -export const typeRampPlus3LineHeight = create('type-ramp-plus3-line-height').withDefault('32px'); +export const typeRampPlus3LineHeight = create('type-ramp-plus-3-line-height').withDefault('32px'); /** @public */ -export const typeRampPlus4FontSize = create('type-ramp-plus4-font-size').withDefault('28px'); +export const typeRampPlus4FontSize = create('type-ramp-plus-4-font-size').withDefault('28px'); /** @public */ -export const typeRampPlus4LineHeight = create('type-ramp-plus4-line-height').withDefault('36px'); +export const typeRampPlus4LineHeight = create('type-ramp-plus-4-line-height').withDefault('36px'); /** @public */ -export const typeRampPlus5FontSize = create('type-ramp-plus5-font-size').withDefault('32px'); +export const typeRampPlus5FontSize = create('type-ramp-plus-5-font-size').withDefault('32px'); /** @public */ -export const typeRampPlus5LineHeight = create('type-ramp-plus5-line-height').withDefault('40px'); +export const typeRampPlus5LineHeight = create('type-ramp-plus-5-line-height').withDefault('40px'); /** @public */ -export const typeRampPlus6FontSize = create('type-ramp-plus6-font-size').withDefault('40px'); +export const typeRampPlus6FontSize = create('type-ramp-plus-6-font-size').withDefault('40px'); /** @public */ -export const typeRampPlus6LineHeight = create('type-ramp-plus6-line-height').withDefault('52px'); +export const typeRampPlus6LineHeight = create('type-ramp-plus-6-line-height').withDefault('52px'); /** @public */ export const neutralPalette = create({ name: 'neutral-palette', cssCustomPropertyName: null }).withDefault( From ef7938d83b3c5fde43b8939975a438ad0c18bd8b Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:08:22 -0700 Subject: [PATCH 22/91] Fixed foregroundOnAccent recipe to work in all states (#18765) * Fixed foregroundOnAccent recipe to work in all states * Change files * Revert change to yarn.lock --- ...-c290858c-65d5-4885-9194-0c9a7fa3c13a.json | 7 ++ packages/web-components/docs/api-report.md | 18 +++ .../src/color/recipes/accent-fill.spec.ts | 59 ---------- .../src/color/recipes/accent-fill.ts | 17 +-- packages/web-components/src/design-tokens.ts | 104 ++++++++++++------ .../listbox-option/listbox-option.styles.ts | 32 +++++- .../src/select/select.styles.ts | 22 +++- .../src/styles/patterns/button.ts | 8 +- .../src/switch/switch.styles.ts | 10 ++ 9 files changed, 153 insertions(+), 124 deletions(-) create mode 100644 change/@fluentui-web-components-c290858c-65d5-4885-9194-0c9a7fa3c13a.json delete mode 100644 packages/web-components/src/color/recipes/accent-fill.spec.ts diff --git a/change/@fluentui-web-components-c290858c-65d5-4885-9194-0c9a7fa3c13a.json b/change/@fluentui-web-components-c290858c-65d5-4885-9194-0c9a7fa3c13a.json new file mode 100644 index 00000000000000..36677d231fb8b9 --- /dev/null +++ b/change/@fluentui-web-components-c290858c-65d5-4885-9194-0c9a7fa3c13a.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "Fixed foregroundOnAccent recipe to work in all states", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/docs/api-report.md b/packages/web-components/docs/api-report.md index 7b977be3bbdaa8..4447767beeafc2 100644 --- a/packages/web-components/docs/api-report.md +++ b/packages/web-components/docs/api-report.md @@ -575,6 +575,24 @@ export const focusStrokeOuterRecipe: DesignToken; // @public (undocumented) export const focusStrokeWidth: import("@microsoft/fast-foundation").CSSDesignToken; +// @public (undocumented) +export const foregroundOnAccentActive: import("@microsoft/fast-foundation").CSSDesignToken; + +// @public (undocumented) +export const foregroundOnAccentActiveLarge: import("@microsoft/fast-foundation").CSSDesignToken; + +// @public (undocumented) +export const foregroundOnAccentFocus: import("@microsoft/fast-foundation").CSSDesignToken; + +// @public (undocumented) +export const foregroundOnAccentFocusLarge: import("@microsoft/fast-foundation").CSSDesignToken; + +// @public (undocumented) +export const foregroundOnAccentHover: import("@microsoft/fast-foundation").CSSDesignToken; + +// @public (undocumented) +export const foregroundOnAccentHoverLarge: import("@microsoft/fast-foundation").CSSDesignToken; + // @public (undocumented) export const foregroundOnAccentLargeRecipe: DesignToken; diff --git a/packages/web-components/src/color/recipes/accent-fill.spec.ts b/packages/web-components/src/color/recipes/accent-fill.spec.ts deleted file mode 100644 index 03145f17599a85..00000000000000 --- a/packages/web-components/src/color/recipes/accent-fill.spec.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { parseColorHexRGB } from '@microsoft/fast-colors'; -import { expect } from 'chai'; -import { PaletteRGB } from '../palette'; -import { SwatchRGB } from '../swatch'; -import { accentFill } from './accent-fill'; -import { foregroundOnAccent as foregroundOnAccentNew } from './foreground-on-accent'; - -describe('accentFill', (): void => { - const neutralPalette = PaletteRGB.create(SwatchRGB.create(0.5, 0.5, 0.5)); - - it('should have accessible rest and hover colors against accentForegroundCut', (): void => { - const accentColors = [ - SwatchRGB.from(parseColorHexRGB('#0078D4')!), - SwatchRGB.from(parseColorHexRGB('#107C10')!), - SwatchRGB.from(parseColorHexRGB('#5C2D91')!), - SwatchRGB.from(parseColorHexRGB('#D83B01')!), - SwatchRGB.from(parseColorHexRGB('#F2C812')!), - ]; - - accentColors.forEach((accent: SwatchRGB): void => { - const accentPalette = PaletteRGB.create(accent); - - neutralPalette.swatches.forEach((swatch: SwatchRGB): void => { - const accentForegroundCutColor = foregroundOnAccentNew(accentPalette.source, 4.5); - const accentFillColors = accentFill( - accentPalette, - neutralPalette, - swatch, - accentForegroundCutColor, - 4.5, - 4, - -5, - 0, - 7, - 10, - 5, - ); - const accentFillLargeColors = accentFill( - accentPalette, - neutralPalette, - swatch, - accentForegroundCutColor, - 3, - 4, - -5, - 0, - 7, - 10, - 5, - ); - - expect(accentForegroundCutColor.contrast(accentFillColors.rest)).to.be.gte(4.5); - expect(accentForegroundCutColor.contrast(accentFillColors.hover)).to.be.gte(4.5); - expect(accentForegroundCutColor.contrast(accentFillLargeColors.rest)).to.be.gte(3); - expect(accentForegroundCutColor.contrast(accentFillLargeColors.hover)).to.be.gte(3); - }); - }); - }); -}); diff --git a/packages/web-components/src/color/recipes/accent-fill.ts b/packages/web-components/src/color/recipes/accent-fill.ts index 65337500a2d6c7..dae18c6a995464 100644 --- a/packages/web-components/src/color/recipes/accent-fill.ts +++ b/packages/web-components/src/color/recipes/accent-fill.ts @@ -1,4 +1,3 @@ -import { inRange } from 'lodash-es'; import { Palette } from '../palette'; import { InteractiveSwatchSet } from '../recipe'; import { Swatch } from '../swatch'; @@ -10,8 +9,6 @@ export function accentFill( palette: Palette, neutralPalette: Palette, reference: Swatch, - textColor: Swatch, - contrastTarget: number, hoverDelta: number, activeDelta: number, focusDelta: number, @@ -23,21 +20,9 @@ export function accentFill( const referenceIndex = neutralPalette.closestIndexOf(reference); const swapThreshold = Math.max(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta); const direction = referenceIndex >= swapThreshold ? -1 : 1; - const paletteLength = palette.swatches.length; - const maxIndex = paletteLength - 1; const accentIndex = palette.closestIndexOf(accent); - let accessibleOffset = 0; - while ( - accessibleOffset < direction * hoverDelta && - inRange(accentIndex + accessibleOffset + direction, 0, paletteLength) && - textColor.contrast(palette.get(accentIndex + accessibleOffset + direction)) >= contrastTarget && - inRange(accentIndex + accessibleOffset + direction + direction, 0, maxIndex) - ) { - accessibleOffset += direction; - } - - const hoverIndex = accentIndex + accessibleOffset; + const hoverIndex = accentIndex; const restIndex = hoverIndex + direction * -1 * hoverDelta; const activeIndex = restIndex + direction * activeDelta; const focusIndex = restIndex + direction * focusDelta; diff --git a/packages/web-components/src/design-tokens.ts b/packages/web-components/src/design-tokens.ts index 4a6e103caf952a..3f5b356fb7b2c4 100644 --- a/packages/web-components/src/design-tokens.ts +++ b/packages/web-components/src/design-tokens.ts @@ -231,47 +231,12 @@ enum ContrastTarget { large = 7, } -// Foreground On Accent -const foregroundOnAccentByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => - foregroundOnAccentAlgorithm(reference || fillColor.getValueFor(element), contrast); -/** @public */ -export const foregroundOnAccentRecipe = create({ - name: 'foreground-on-accent-recipe', - cssCustomPropertyName: null, -}).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): Swatch => - foregroundOnAccentByContrast(ContrastTarget.normal)(element, reference), -}); -/** @public */ -export const foregroundOnAccentLargeRecipe = create({ - name: 'foreground-on-accent-large-recipe', - cssCustomPropertyName: null, -}).withDefault({ - evaluate: (element: HTMLElement, reference?: Swatch): Swatch => - foregroundOnAccentByContrast(ContrastTarget.large)(element, reference), -}); - -/** @public */ -export const foregroundOnAccentRest = create('foreground-on-accent-rest').withDefault((element: HTMLElement) => - foregroundOnAccentRecipe.getValueFor(element).evaluate(element), -); -/** @public @deprecated Use foregroundOnAccentRest */ -export const accentForegroundCut = foregroundOnAccentRest; -/** @public */ -export const foregroundOnAccentRestLarge = create( - 'foreground-on-accent-rest-large', -).withDefault((element: HTMLElement) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element)); -/** @public @deprecated Use foregroundOnAccentRestLarge */ -export const accentForegroundCutLarge = foregroundOnAccentRestLarge; - // Accent Fill const accentFillByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => accentFillAlgorithm( accentPalette.getValueFor(element), neutralPalette.getValueFor(element), reference || fillColor.getValueFor(element), - foregroundOnAccentRest.getValueFor(element), - contrast, accentFillHoverDelta.getValueFor(element), accentFillActiveDelta.getValueFor(element), accentFillFocusDelta.getValueFor(element), @@ -305,6 +270,75 @@ export const accentFillFocus = create('accent-fill-focus').withDefault(( return accentFillRecipe.getValueFor(element).evaluate(element).focus; }); +// Foreground On Accent +const foregroundOnAccentByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => + foregroundOnAccentAlgorithm(reference || accentFillRest.getValueFor(element), contrast); +/** @public */ +export const foregroundOnAccentRecipe = create({ + name: 'foreground-on-accent-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + foregroundOnAccentByContrast(ContrastTarget.normal)(element, reference), +}); +/** @public */ +export const foregroundOnAccentRest = create('foreground-on-accent-rest').withDefault((element: HTMLElement) => + foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillRest.getValueFor(element)), +); +/** @public @deprecated Use foregroundOnAccentRest */ +export const accentForegroundCut = foregroundOnAccentRest; +/** @public */ +export const foregroundOnAccentHover = create( + 'foreground-on-accent-hover', +).withDefault((element: HTMLElement) => + foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)), +); +/** @public */ +export const foregroundOnAccentActive = create( + 'foreground-on-accent-active', +).withDefault((element: HTMLElement) => + foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)), +); +/** @public */ +export const foregroundOnAccentFocus = create( + 'foreground-on-accent-focus', +).withDefault((element: HTMLElement) => + foregroundOnAccentRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)), +); + +/** @public */ +export const foregroundOnAccentLargeRecipe = create({ + name: 'foreground-on-accent-large-recipe', + cssCustomPropertyName: null, +}).withDefault({ + evaluate: (element: HTMLElement, reference?: Swatch): Swatch => + foregroundOnAccentByContrast(ContrastTarget.large)(element, reference), +}); +/** @public */ +export const foregroundOnAccentRestLarge = create( + 'foreground-on-accent-rest-large', +).withDefault((element: HTMLElement) => foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element)); +/** @public @deprecated Use foregroundOnAccentRestLarge */ +export const accentForegroundCutLarge = foregroundOnAccentRestLarge; +/** @public */ +export const foregroundOnAccentHoverLarge = create( + 'foreground-on-accent-hover-large', +).withDefault((element: HTMLElement) => + foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillHover.getValueFor(element)), +); +/** @public */ +export const foregroundOnAccentActiveLarge = create( + 'foreground-on-accent-active-large', +).withDefault((element: HTMLElement) => + foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillActive.getValueFor(element)), +); +/** @public */ +export const foregroundOnAccentFocusLarge = create( + 'foreground-on-accent-focus-large', +).withDefault((element: HTMLElement) => + foregroundOnAccentLargeRecipe.getValueFor(element).evaluate(element, accentFillFocus.getValueFor(element)), +); + // Accent Foreground const accentForegroundByContrast = (contrast: number) => (element: HTMLElement, reference?: Swatch) => accentForegroundAlgorithm( diff --git a/packages/web-components/src/listbox-option/listbox-option.styles.ts b/packages/web-components/src/listbox-option/listbox-option.styles.ts index 4a122135da91ae..2fbce09827a6e3 100644 --- a/packages/web-components/src/listbox-option/listbox-option.styles.ts +++ b/packages/web-components/src/listbox-option/listbox-option.styles.ts @@ -1,10 +1,19 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { disabledCursor, display, ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { + disabledCursor, + display, + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, + FoundationElementDefinition, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles/size'; import { accentFillActive, + accentFillFocus, accentFillHover, + accentFillRest, bodyFont, controlCornerRadius, designUnit, @@ -12,6 +21,9 @@ import { focusStrokeInner, focusStrokeOuter, focusStrokeWidth, + foregroundOnAccentActive, + foregroundOnAccentFocus, + foregroundOnAccentHover, foregroundOnAccentRest, neutralFillActive, neutralFillHover, @@ -20,7 +32,10 @@ import { typeRampBaseLineHeight, } from '../design-tokens'; -export const optionStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const optionStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` ${display('inline-flex')} :host { font-family: ${bodyFont}; @@ -45,18 +60,23 @@ export const optionStyles: (context: ElementDefinitionContext, definition: Found :host(:${focusVisible}) { box-shadow: 0 0 0 calc(${focusStrokeWidth} * 1px) inset ${focusStrokeInner}; border-color: ${focusStrokeOuter}; - background: ${accentFillHover}; - color: ${foregroundOnAccentRest}; + background: ${accentFillFocus}; + color: ${foregroundOnAccentFocus}; } :host([aria-selected="true"]) { - background: ${accentFillHover}; + background: ${accentFillRest}; color: ${foregroundOnAccentRest}; } + :host(:hover) { + background: ${accentFillHover}; + color: ${foregroundOnAccentHover}; + } + :host(:active) { background: ${accentFillActive}; - color: ${foregroundOnAccentRest}; + color: ${foregroundOnAccentActive}; } :host(:not([aria-selected="true"]):hover) { diff --git a/packages/web-components/src/select/select.styles.ts b/packages/web-components/src/select/select.styles.ts index 12fbb92507a2bb..79716c68a86acb 100644 --- a/packages/web-components/src/select/select.styles.ts +++ b/packages/web-components/src/select/select.styles.ts @@ -1,18 +1,25 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { disabledCursor, display, ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior, SelectOptions } from '@microsoft/fast-foundation'; +import { + disabledCursor, + display, + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, + SelectOptions, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles/elevation'; import { heightNumber } from '../styles/size'; import { appearanceBehavior } from '../utilities/behaviors'; import { - accentFillHover, - accentForegroundCut, + accentFillFocus, bodyFont, controlCornerRadius, designUnit, disabledOpacity, focusStrokeInner, focusStrokeOuter, + foregroundOnAccentFocus, neutralFillHover, neutralFillInputActive, neutralFillInputHover, @@ -29,7 +36,10 @@ import { typeRampBaseLineHeight, } from '../design-tokens'; -export const selectFilledStyles: (context: ElementDefinitionContext, definition: SelectOptions) => ElementStyles = (context: ElementDefinitionContext, definition: SelectOptions) => css` +export const selectFilledStyles: (context: ElementDefinitionContext, definition: SelectOptions) => ElementStyles = ( + context: ElementDefinitionContext, + definition: SelectOptions, +) => css` :host([appearance="filled"]) { background: ${neutralFillRest}; border-color: transparent; @@ -121,8 +131,8 @@ export const selectStyles = (context, definition) => :host(:${focusVisible}) ::slotted([aria-selected="true"][role="option"]:not([disabled])) { box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${focusStrokeInner}; border-color: ${focusStrokeOuter}; - background: ${accentFillHover}; - color: ${accentForegroundCut}; + background: ${accentFillFocus}; + color: ${foregroundOnAccentFocus}; } :host([disabled]) { diff --git a/packages/web-components/src/styles/patterns/button.ts b/packages/web-components/src/styles/patterns/button.ts index 19f34d6a45e84d..c0e8eca60375e0 100644 --- a/packages/web-components/src/styles/patterns/button.ts +++ b/packages/web-components/src/styles/patterns/button.ts @@ -7,7 +7,6 @@ import { accentFillHover, accentFillRest, accentForegroundActive, - accentForegroundCut, accentForegroundHover, accentForegroundRest, bodyFont, @@ -17,6 +16,9 @@ import { focusStrokeInner, focusStrokeOuter, focusStrokeWidth, + foregroundOnAccentActive, + foregroundOnAccentHover, + foregroundOnAccentRest, neutralFillActive, neutralFillHover, neutralFillRest, @@ -184,15 +186,17 @@ export const baseButtonStyles = (context, definition) => export const AccentButtonStyles = css` :host([appearance="accent"]) { background: ${accentFillRest}; - color: ${accentForegroundCut}; + color: ${foregroundOnAccentRest}; } :host([appearance="accent"]:hover) { background: ${accentFillHover}; + color: ${foregroundOnAccentHover}; } :host([appearance="accent"]:active) .control:active { background: ${accentFillActive}; + color: ${foregroundOnAccentActive}; } :host([appearance="accent"]) .control:${focusVisible} { diff --git a/packages/web-components/src/switch/switch.styles.ts b/packages/web-components/src/switch/switch.styles.ts index d7a490e30adbb5..87c23955726c2e 100644 --- a/packages/web-components/src/switch/switch.styles.ts +++ b/packages/web-components/src/switch/switch.styles.ts @@ -11,6 +11,8 @@ import { disabledOpacity, fillColor, focusStrokeOuter, + foregroundOnAccentActive, + foregroundOnAccentHover, foregroundOnAccentRest, neutralFillInputActive, neutralFillInputHover, @@ -129,10 +131,18 @@ export const switchStyles: (context: ElementDefinitionContext, defintiion: Switc background: ${accentFillHover}; } + :host([aria-checked="true"]:enabled) .switch:hover .checked-indicator { + background: ${foregroundOnAccentHover}; + } + :host([aria-checked="true"]:enabled) .switch:active { background: ${accentFillActive}; } + :host([aria-checked="true"]:enabled) .switch:active .checked-indicator { + background: ${foregroundOnAccentActive}; + } + :host([aria-checked="true"]:${focusVisible}:enabled) .switch { box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; border-color: transparent; From e65c4a26295eb84f59a86bab78dacee59ec2044a Mon Sep 17 00:00:00 2001 From: Brian Heston <47367562+bheston@users.noreply.github.com> Date: Wed, 30 Jun 2021 17:15:40 -0700 Subject: [PATCH 23/91] Removed accent fill direction to standardize foreground color (#18789) --- ...b-components-f81d3aa5-c0aa-46c6-972f-774e69c15d79.json | 7 +++++++ packages/web-components/src/color/recipes/accent-fill.ts | 8 +++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 change/@fluentui-web-components-f81d3aa5-c0aa-46c6-972f-774e69c15d79.json diff --git a/change/@fluentui-web-components-f81d3aa5-c0aa-46c6-972f-774e69c15d79.json b/change/@fluentui-web-components-f81d3aa5-c0aa-46c6-972f-774e69c15d79.json new file mode 100644 index 00000000000000..5bf9f3fbc44d88 --- /dev/null +++ b/change/@fluentui-web-components-f81d3aa5-c0aa-46c6-972f-774e69c15d79.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Removed accent fill direction handling to standardize foreground text color", + "packageName": "@fluentui/web-components", + "email": "47367562+bheston@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/web-components/src/color/recipes/accent-fill.ts b/packages/web-components/src/color/recipes/accent-fill.ts index dae18c6a995464..ea99179bf71ea9 100644 --- a/packages/web-components/src/color/recipes/accent-fill.ts +++ b/packages/web-components/src/color/recipes/accent-fill.ts @@ -17,13 +17,11 @@ export function accentFill( neutralFillActiveDelta: number, ): InteractiveSwatchSet { const accent = palette.source; - const referenceIndex = neutralPalette.closestIndexOf(reference); - const swapThreshold = Math.max(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta); - const direction = referenceIndex >= swapThreshold ? -1 : 1; + const direction = 1; const accentIndex = palette.closestIndexOf(accent); - const hoverIndex = accentIndex; - const restIndex = hoverIndex + direction * -1 * hoverDelta; + const restIndex = accentIndex; + const hoverIndex = restIndex + direction * hoverDelta; const activeIndex = restIndex + direction * activeDelta; const focusIndex = restIndex + direction * focusDelta; From e9c149a775f40f5ea7d734a63f257d92623895e1 Mon Sep 17 00:00:00 2001 From: Chris Holt Date: Thu, 1 Jul 2021 12:21:50 -0700 Subject: [PATCH 24/91] update eslint and prettier for web components (#18790) * update eslint for web components package * update prettier for web components to v2 * Change files --- ...-e0d394bb-b15c-4f0c-8b33-87a162d9e3df.json | 7 + packages/web-components/.eslintrc.js | 62 ++- packages/web-components/package.json | 13 +- .../web-components/src/__test__/setup-node.ts | 6 +- .../accordion-item/accordion-item.styles.ts | 160 +++--- .../src/accordion/accordion.styles.ts | 5 +- .../src/anchor/anchor.styles.ts | 5 +- .../anchored-region/anchored-region.styles.ts | 5 +- .../fixtures/anchored-region.html | 285 +++------- .../src/anchored-region/fixtures/base.html | 285 +++------- .../web-components/src/badge/badge.styles.ts | 5 +- .../src/badge/fixtures/badge.html | 24 +- .../breadcrumb-item.stories.ts | 16 +- .../breadcrumb-item/breadcrumb-item.styles.ts | 261 ++++----- .../fixtures/breadcrumb-item.html | 58 +- .../src/breadcrumb-item/index.ts | 78 +-- .../src/breadcrumb/breadcrumb.stories.ts | 16 +- .../src/breadcrumb/breadcrumb.styles.ts | 35 +- .../src/breadcrumb/fixtures/breadcrumb.html | 288 +++++----- .../web-components/src/breadcrumb/index.ts | 58 +- .../src/button/button.styles.ts | 12 +- .../web-components/src/card/card.styles.ts | 75 +-- .../src/card/fixtures/card.html | 2 +- packages/web-components/src/card/index.ts | 5 +- .../src/checkbox/checkbox.styles.ts | 244 ++++---- .../src/checkbox/fixtures/checkbox.html | 10 +- .../recipes/neutral-layer-card-container.ts | 6 +- .../color/utilities/base-layer-luminance.ts | 2 +- .../src/combobox/combobox.styles.ts | 5 +- .../src/data-grid/data-grid-cell.styles.ts | 59 +- .../src/data-grid/data-grid-row.styles.ts | 11 +- .../src/data-grid/data-grid.stories.ts | 3 + .../src/data-grid/data-grid.styles.ts | 5 +- .../src/data-grid/fixtures/base.html | 24 +- .../web-components/src/data-grid/index.ts | 2 +- .../src/design-system-provider/index.ts | 33 +- .../src/dialog/dialog.styles.ts | 7 +- .../src/divider/divider.styles.ts | 5 +- .../src/flipper/flipper.styles.ts | 184 ++++--- .../fixtures/horizontal-scroll.html | 64 +-- .../horizontal-scroll.styles.ts | 5 +- .../src/horizontal-scroll/index.ts | 13 +- packages/web-components/src/index.ts | 12 +- .../src/listbox-option/fixtures/base.html | 4 +- .../src/listbox/listbox.styles.ts | 57 +- .../src/menu-item/menu-item.styles.ts | 374 +++++++------ .../src/menu/fixtures/menu.html | 32 +- .../web-components/src/menu/menu.styles.ts | 5 +- .../number-field/fixtures/number-field.html | 6 +- .../src/number-field/number-field.styles.ts | 142 ++--- .../progress-ring/fixtures/circular.html | 20 +- .../progress-ring/progress-ring.styles.ts | 12 +- .../progress/progress/fixtures/linear.html | 22 +- .../src/progress/progress/progress.styles.ts | 12 +- .../src/radio-group/fixtures/radio-group.html | 26 +- .../src/radio-group/radio-group.styles.ts | 5 +- .../src/radio/fixtures/radio.html | 2 +- .../web-components/src/radio/radio.styles.ts | 224 ++++---- .../src/select/select.styles.ts | 301 +++++----- .../src/skeleton/fixtures/base.html | 38 +- .../src/skeleton/skeleton.styles.ts | 5 +- .../slider-label/fixtures/slider-label.html | 32 +- .../src/slider-label/slider-label.styles.ts | 12 +- .../src/slider/fixtures/slider.html | 278 +++------- .../src/slider/slider.styles.ts | 183 +++--- .../src/styles/patterns/button.ts | 519 +++++++++--------- .../src/switch/fixtures/switch.html | 14 +- .../src/switch/switch.styles.ts | 256 ++++----- .../src/tabs/fixtures/tabs.html | 72 +-- .../src/tabs/tab-panel/tab-panel.styles.ts | 5 +- .../web-components/src/tabs/tab/tab.styles.ts | 116 ++-- .../web-components/src/tabs/tabs.styles.ts | 12 +- .../src/text-area/fixtures/text-area.html | 10 +- .../src/text-area/text-area.styles.ts | 90 +-- .../src/text-field/fixtures/text-field.html | 2 +- .../src/text-field/text-field.styles.ts | 111 ++-- .../src/tooltip/fixtures/tooltip.html | 232 +++----- .../src/tooltip/tooltip.styles.ts | 11 +- .../src/tree-item/tree-item.styles.ts | 213 +++---- .../src/tree-view/fixtures/tree-view.html | 4 +- .../src/tree-view/tree-view.styles.ts | 5 +- yarn.lock | 37 +- 82 files changed, 2831 insertions(+), 3130 deletions(-) create mode 100644 change/@fluentui-web-components-e0d394bb-b15c-4f0c-8b33-87a162d9e3df.json diff --git a/change/@fluentui-web-components-e0d394bb-b15c-4f0c-8b33-87a162d9e3df.json b/change/@fluentui-web-components-e0d394bb-b15c-4f0c-8b33-87a162d9e3df.json new file mode 100644 index 00000000000000..fa93f8590981b2 --- /dev/null +++ b/change/@fluentui-web-components-e0d394bb-b15c-4f0c-8b33-87a162d9e3df.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update eslint and prettier to align with single versions", + "packageName": "@fluentui/web-components", + "email": "chhol@microsoft.com", + "dependentChangeType": "none" +} diff --git a/packages/web-components/.eslintrc.js b/packages/web-components/.eslintrc.js index c9c21b0384052b..0d5b66dc406dac 100644 --- a/packages/web-components/.eslintrc.js +++ b/packages/web-components/.eslintrc.js @@ -1,12 +1,58 @@ module.exports = { - extends: ['@microsoft/eslint-config-fast-dna', 'prettier'], + root: true, + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint', 'import'], + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier' + ], + settings: { + react: { + version: 'latest', + }, + }, rules: { - 'no-extra-boolean-cast': 'off', - '@typescript-eslint/no-use-before-define': 'off', - '@typescript-eslint/typedef': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/interface-name-prefix': 'off', + 'no-extra-boolean-cast': 'off', + 'no-prototype-builtins': 'off', + 'no-fallthrough': 'off', + 'no-unexpected-multiline': 'off', + 'max-len': ['error', 140], + 'import/order': 'error', + 'sort-imports': [ + 'error', + { + ignoreCase: true, + ignoreDeclarationSort: true, + }, + ], + 'comma-dangle': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/camelcase': 'off', + '@typescript-eslint/no-inferrable-types': 'off', + '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }], + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/naming-convention': [ + 'error', + { + selector: 'default', + format: ['UPPER_CASE', 'camelCase', 'PascalCase'], + leadingUnderscore: 'allow', + }, + { + selector: 'property', + format: null, // disable for property names because of our foo__expanded convention for JSS + // TODO: I think we can come up with a regex that ignores variables with __ in them + }, + { + selector: 'variable', + format: null, // disable for variable names because of our foo__expanded convention for JSS + // TODO: I think we can come up with a regex that ignores variables with __ in them + }, + ], }, }; diff --git a/packages/web-components/package.json b/packages/web-components/package.json index 69a7b60134b2ef..cab57d2e31b580 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -31,8 +31,8 @@ "prepare": "yarn clean && yarn build", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", - "prettier": "prettier --config ../../prettier.config.js --write \"**/*.{ts,html}\"", - "prettier:diff": "prettier --config ../../prettier.config.js \"**/*.{ts,html}\" --list-different", + "prettier": "prettier --config ../../prettier.config.js --write 'src/**/(*.ts|*.html)'", + "prettier:diff": "prettier --config ../../prettier.config.js 'src/**/(*.ts|*.html)' --list-different", "code-style": "npm run prettier && npm run lint", "start": "start-storybook -p 6006", "build-storybook": "build-storybook", @@ -49,7 +49,6 @@ "test-firefox:verbose": "karma start karma.conf.js --browsers=FirefoxHeadless --single-run --coverage --reporter=mocha" }, "devDependencies": { - "@microsoft/eslint-config-fast-dna": "^1.2.0", "@microsoft/api-extractor": "7.7.1", "@storybook/addons": "^6.1.17", "@storybook/html": "^6.1.17", @@ -58,9 +57,13 @@ "@types/chai-spies": "^1.0.1", "@types/karma": "^5.0.0", "@types/mocha": "^7.0.2", + "@typescript-eslint/eslint-plugin": "4.22.0", + "@typescript-eslint/parser": "4.22.0", "chai": "^4.2.0", "chai-spies": "1.0.0", "circular-dependency-plugin": "^5.0.2", + "eslint": "7.25.0", + "eslint-plugin-import": "^2.22.1", "esm": "^3.2.25", "ignore-loader": "^0.1.2", "istanbul": "^0.4.5", @@ -79,7 +82,7 @@ "karma-webpack": "^4.0.2", "lodash-es": "^4.17.20", "mocha": "^7.1.2", - "prettier": "~1.19.1", + "prettier": "2.2.1", "rollup": "^2.41.0", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-filesize": "^8.0.2", @@ -92,7 +95,7 @@ "ts-loader": "^7.0.2", "ts-node": "^8.0.0", "tsconfig-paths": "^3.9.0", - "typescript": "3.9.7", + "typescript": "4.1.5", "webpack": "^4.43.0" }, "dependencies": { diff --git a/packages/web-components/src/__test__/setup-node.ts b/packages/web-components/src/__test__/setup-node.ts index 8deafea436c3ff..dcaafc32eab1a6 100644 --- a/packages/web-components/src/__test__/setup-node.ts +++ b/packages/web-components/src/__test__/setup-node.ts @@ -15,11 +15,11 @@ if (!window.matchMedia) { // @ts-ignore window.matchMedia = window.matchMedia || - function() { + function () { return { matches: false, - addListener: function() {}, - removeListener: function() {}, + addListener: function () {}, + removeListener: function () {}, }; }; } diff --git a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts index fe7c2dee0dcf94..8ac16a139c11b9 100644 --- a/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts +++ b/packages/web-components/src/accordion/accordion-item/accordion-item.styles.ts @@ -1,5 +1,11 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { AccordionItemOptions, display, ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { + AccordionItemOptions, + display, + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { accentFillRest, @@ -16,123 +22,125 @@ import { } from '../../design-tokens'; import { heightNumber } from '../../styles/size'; -export const accordionItemStyles: (context: ElementDefinitionContext, definition: AccordionItemOptions) => ElementStyles = (context: ElementDefinitionContext, definition: AccordionItemOptions) => +export const accordionItemStyles: ( + context: ElementDefinitionContext, + definition: AccordionItemOptions, +) => ElementStyles = (context: ElementDefinitionContext, definition: AccordionItemOptions) => css` ${display('flex')} :host { - box-sizing: border-box; - font-family: ${bodyFont}; - flex-direction: column; - font-size: ${typeRampMinus1FontSize}; - line-height: ${typeRampMinus1LineHeight}; - border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; + box-sizing: border-box; + font-family: ${bodyFont}; + flex-direction: column; + font-size: ${typeRampMinus1FontSize}; + line-height: ${typeRampMinus1LineHeight}; + border-bottom: calc(${strokeWidth} * 1px) solid ${neutralStrokeDividerRest}; } .region { - display: none; - padding: calc((6 + (${designUnit} * 2 * ${density})) * 1px); + display: none; + padding: calc((6 + (${designUnit} * 2 * ${density})) * 1px); } .heading { - display: grid; - position: relative; - grid-template-columns: auto 1fr auto calc(${heightNumber} * 1px); - z-index: 2; + display: grid; + position: relative; + grid-template-columns: auto 1fr auto calc(${heightNumber} * 1px); + z-index: 2; } .button { - appearance: none; - border: none; - background: none; - grid-column: 2; - grid-row: 1; - outline: none; - padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); - text-align: left; - height: calc(${heightNumber} * 1px); - color: ${neutralForegroundRest}; - cursor: pointer; - font-family: inherit; + appearance: none; + border: none; + background: none; + grid-column: 2; + grid-row: 1; + outline: none; + padding: 0 calc((6 + (${designUnit} * 2 * ${density})) * 1px); + text-align: left; + height: calc(${heightNumber} * 1px); + color: ${neutralForegroundRest}; + cursor: pointer; + font-family: inherit; } .button:hover, .button:active { - color: ${neutralForegroundRest}; + color: ${neutralForegroundRest}; } .button::before { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 1; - cursor: pointer; + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1; + cursor: pointer; } - .button:${focusVisible}::before { - outline: none; - border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; - box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) - ${focusStrokeOuter}; + .button: ${focusVisible}::before { + outline: none; + border: calc(${strokeWidth} * 1px) solid ${focusStrokeOuter}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${focusStrokeOuter}; } :host(.expanded) .region { - display: block; + display: block; } .icon { - display: flex; - align-items: center; - justify-content: center; - grid-column: 4; - z-index: 2; - pointer-events: none; - fill: ${accentFillRest}; + display: flex; + align-items: center; + justify-content: center; + grid-column: 4; + z-index: 2; + pointer-events: none; + fill: ${accentFillRest}; } - slot[name="collapsed-icon"] { - display: flex; + slot[name='collapsed-icon'] { + display: flex; } - :host(.expanded) slot[name="collapsed-icon"] { - display: none; + :host(.expanded) slot[name='collapsed-icon'] { + display: none; } - slot[name="expanded-icon"] { - display: none; + slot[name='expanded-icon'] { + display: none; } - :host(.expanded) slot[name="expanded-icon"] { - display: flex; + :host(.expanded) slot[name='expanded-icon'] { + display: flex; } .start { - display: flex; - align-items: center; - padding-inline-start: calc(${designUnit} * 1px); - justify-content: center; - grid-column: 1; - z-index: 2; + display: flex; + align-items: center; + padding-inline-start: calc(${designUnit} * 1px); + justify-content: center; + grid-column: 1; + z-index: 2; } .end { - display: flex; - align-items: center; - justify-content: center; - grid-column: 3; - z-index: 2; + display: flex; + align-items: center; + justify-content: center; + grid-column: 3; + z-index: 2; } -`.withBehaviors( + `.withBehaviors( forcedColorsStylesheetBehavior( css` - .button:${focusVisible}::before { - border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${SystemColors.Highlight}; - } - .icon { - fill: ${SystemColors.ButtonText}; - } - `, + .button: ${focusVisible}::before { + border-color: ${SystemColors.Highlight}; + box-shadow: 0 0 0 calc((${focusStrokeWidth} - ${strokeWidth}) * 1px) ${SystemColors.Highlight}; + } + .icon { + fill: ${SystemColors.ButtonText}; + } + `, ), ); diff --git a/packages/web-components/src/accordion/accordion.styles.ts b/packages/web-components/src/accordion/accordion.styles.ts index a130f80534161a..f745a8238ad3b0 100644 --- a/packages/web-components/src/accordion/accordion.styles.ts +++ b/packages/web-components/src/accordion/accordion.styles.ts @@ -9,7 +9,10 @@ import { typeRampMinus1LineHeight, } from '../design-tokens'; -export const accordionStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const accordionStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` ${display('flex')} :host { box-sizing: border-box; diff --git a/packages/web-components/src/anchor/anchor.styles.ts b/packages/web-components/src/anchor/anchor.styles.ts index 627450f4cb21da..33b63eb280c9b0 100644 --- a/packages/web-components/src/anchor/anchor.styles.ts +++ b/packages/web-components/src/anchor/anchor.styles.ts @@ -10,7 +10,10 @@ import { } from '../styles/'; import { appearanceBehavior } from '../utilities/behaviors'; -export const anchorStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const anchorStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` ${baseButtonStyles(context, definition)} `.withBehaviors( diff --git a/packages/web-components/src/anchored-region/anchored-region.styles.ts b/packages/web-components/src/anchored-region/anchored-region.styles.ts index 6c4f3ae1f89b74..322a38421f263b 100644 --- a/packages/web-components/src/anchored-region/anchored-region.styles.ts +++ b/packages/web-components/src/anchored-region/anchored-region.styles.ts @@ -1,7 +1,10 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; -export const anchoredRegionStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` +export const anchoredRegionStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` :host { contain: layout; display: block; diff --git a/packages/web-components/src/anchored-region/fixtures/anchored-region.html b/packages/web-components/src/anchored-region/fixtures/anchored-region.html index 458ece5a41e262..f728621585a26d 100644 --- a/packages/web-components/src/anchored-region/fixtures/anchored-region.html +++ b/packages/web-components/src/anchored-region/fixtures/anchored-region.html @@ -1,4 +1,4 @@ -
+
-
- outside -
+
outside

Anchored region

- Anchored region horizontal-scaling="anchor" horizontal-inset="true" > -
- inside -
+
inside
-
+

Dynamic - default

-
- +
+ -
+
@@ -74,15 +62,9 @@

Dynamic - default

Lock to default

-
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
-
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
- +

Scaling via update

-
- +
+ Scaling via update horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -154,18 +126,10 @@

Scaling via update

Scaling via offset

-
- +
+ Scaling via offset horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -183,18 +147,10 @@

Scaling via offset

Inset

-
- +
+ Inset horizontal-positioning-mode="dynamic" horizontal-inset="true" > -
+
@@ -218,18 +167,10 @@

Inset

Thresholds

-
- +
+ Thresholds horizontal-default-position="left" horizontal-threshold="200" > -
+
@@ -248,21 +189,11 @@

Thresholds

Toggle anchor

-
- - +
+ + Toggle anchor vertical-positioning-mode="dynamic" horizontal-positioning-mode="dynamic" > -
+
@@ -278,18 +209,10 @@

Toggle anchor

Toggle positions and size

-
- +
+ Toggle positions and size horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > - -
+ +
-
- - - - + + +
@@ -322,16 +239,10 @@

Toggle positions and size

RTL-dynamic

-
+
RTL-dynamic vertical-default-position="top" horizontal-positioning-mode="dynamic" > -
+
- +

Size to anchor

-
+
Size to anchor horizontal-scaling="anchor" horizontal-inset="true" > -
+
- +
@@ -380,18 +281,10 @@

RTL-fill

-
- +
+ RTL-fill horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -408,25 +301,17 @@

RTL-fill

Start & End

-
- +
+ -
+
Start & End horizontal-positioning-mode="locktodefault" horizontal-default-position="end" > -
+
@@ -444,25 +329,17 @@

RTL-Start & End

-
- +
+ -
+
RTL-Start & End horizontal-positioning-mode="locktodefault" horizontal-default-position="end" > -
+
@@ -484,10 +361,8 @@

RTL-Start & End

horizontal-positioning-mode="locktodefault" horizontal-default-position="left" fixed-placement="true" - style="z-index: 11;" + style="z-index: 11" > -
- outside & fixed -
+
outside & fixed
diff --git a/packages/web-components/src/anchored-region/fixtures/base.html b/packages/web-components/src/anchored-region/fixtures/base.html index a9e0c9c9db8f45..b9fae489082bcc 100644 --- a/packages/web-components/src/anchored-region/fixtures/base.html +++ b/packages/web-components/src/anchored-region/fixtures/base.html @@ -1,4 +1,4 @@ -
+
-
- outside -
+
outside

Anchored region

- Anchored region horizontal-scaling="anchor" horizontal-inset="true" > -
- inside -
+
inside
-
+

Dynamic - default

-
- +
+ -
+
@@ -74,15 +62,9 @@

Dynamic - default

Lock to default

-
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
-
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
Lock to default horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > -
+
- +

Scaling via update

-
- +
+ Scaling via update horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -154,18 +126,10 @@

Scaling via update

Scaling via offset

-
- +
+ Scaling via offset horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -183,18 +147,10 @@

Scaling via offset

Inset

-
- +
+ Inset horizontal-positioning-mode="dynamic" horizontal-inset="true" > -
+
@@ -218,18 +167,10 @@

Inset

Thresholds

-
- +
+ Thresholds horizontal-default-position="left" horizontal-threshold="200" > -
+
@@ -248,21 +189,11 @@

Thresholds

Toggle anchor

-
- - +
+ + Toggle anchor vertical-positioning-mode="dynamic" horizontal-positioning-mode="dynamic" > -
+
@@ -278,18 +209,10 @@

Toggle anchor

Toggle positions and size

-
- +
+ Toggle positions and size horizontal-positioning-mode="locktodefault" horizontal-default-position="right" > - -
+ +
-
- - - - + + +
@@ -322,16 +239,10 @@

Toggle positions and size

RTL-dynamic

-
+
RTL-dynamic vertical-default-position="top" horizontal-positioning-mode="dynamic" > -
+
- +

Size to anchor

-
+
Size to anchor horizontal-scaling="anchor" horizontal-inset="true" > -
+
- +
@@ -380,18 +281,10 @@

RTL-fill

-
- +
+ RTL-fill horizontal-positioning-mode="dynamic" horizontal-scaling="fill" > -
+
@@ -408,25 +301,17 @@

RTL-fill

Start & End

-
- +
+ -
+
Start & End horizontal-positioning-mode="locktodefault" horizontal-default-position="end" > -
+
@@ -444,25 +329,17 @@

RTL-Start & End

-
- +
+ -
+
RTL-Start & End horizontal-positioning-mode="locktodefault" horizontal-default-position="end" > -
+
@@ -484,10 +361,8 @@

RTL-Start & End

horizontal-positioning-mode="locktodefault" horizontal-default-position="left" fixed-placement="true" - style="z-index: 11;" + style="z-index: 11" > -
- outside & fixed -
+
outside & fixed
diff --git a/packages/web-components/src/badge/badge.styles.ts b/packages/web-components/src/badge/badge.styles.ts index cf1b8a6ebb0502..58961a6fb11cb0 100644 --- a/packages/web-components/src/badge/badge.styles.ts +++ b/packages/web-components/src/badge/badge.styles.ts @@ -12,7 +12,10 @@ import { typeRampMinus1LineHeight, } from '../design-tokens'; -export const badgeStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const badgeStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` ${display('inline-block')} :host { box-sizing: border-box; diff --git a/packages/web-components/src/badge/fixtures/badge.html b/packages/web-components/src/badge/fixtures/badge.html index 1e6c28049662f7..2fc5a417196068 100644 --- a/packages/web-components/src/badge/fixtures/badge.html +++ b/packages/web-components/src/badge/fixtures/badge.html @@ -8,25 +8,13 @@

Badge

Default

- - Badge - +Badge

Lightweight

- - Badge - +Badge

Accent

- - Badge - +Badge

Neutral

- - Badge - +Badge

With map

- - Badge - - - Badge - +Badge +Badge diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts index 0a6f89ad9b7643..fd71519739063e 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.stories.ts @@ -1,8 +1,8 @@ -import BreadcrumbItemTemplate from './fixtures/breadcrumb-item.html'; -import './index'; - -export default { - title: 'Breadcrumb Item', -}; - -export const BreadcrumbItem = (): string => BreadcrumbItemTemplate; +import BreadcrumbItemTemplate from './fixtures/breadcrumb-item.html'; +import './index'; + +export default { + title: 'Breadcrumb Item', +}; + +export const BreadcrumbItem = (): string => BreadcrumbItemTemplate; diff --git a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts index 0b7184fe6122d7..a72d08ef932fc1 100644 --- a/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts +++ b/packages/web-components/src/breadcrumb-item/breadcrumb-item.styles.ts @@ -1,126 +1,135 @@ -import { css, ElementStyles } from '@microsoft/fast-element'; -import { BreadcrumbItemOptions, display, ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; -import { SystemColors } from '@microsoft/fast-web-utilities'; -import { - accentForegroundActive, - accentForegroundHover, - accentForegroundRest, - bodyFont, - focusStrokeWidth, - neutralForegroundRest, - strokeWidth, - typeRampBaseFontSize, - typeRampBaseLineHeight, -} from '../design-tokens'; -import { heightNumber } from '../styles/index'; - -export const breadcrumbItemStyles: (context: ElementDefinitionContext, definition: BreadcrumbItemOptions) => ElementStyles = (context: ElementDefinitionContext, definition: BreadcrumbItemOptions) => - css` - ${display('inline-flex')} :host { - background: transparent; - box-sizing: border-box; - fill: currentcolor; - font-family: ${bodyFont}; - font-size: ${typeRampBaseFontSize}; - line-height: ${typeRampBaseLineHeight}; - min-width: calc(${heightNumber} * 1px); - outline: none; - } - - .listitem { - display: flex; - align-items: center; - } - - .control { - align-items: center; - box-sizing: border-box; - color: ${accentForegroundRest}; - cursor: pointer; - display: flex; - fill: inherit; - outline: none; - text-decoration: none; - white-space: nowrap; - } - - .control:hover { - color: ${accentForegroundHover}; - } - - .control:active { - color: ${accentForegroundActive}; - } - - .control .content { - position: relative; - } - - .control .content::before { - content: ""; - display: block; - height: calc(${strokeWidth} * 1px); - left: 0; - position: absolute; - right: 0; - top: calc(1em + 4px); - width: 100%; - } - - .control:hover .content::before { - background: ${accentForegroundHover}; - } - - .control:active .content::before { - background: ${accentForegroundActive}; - } - - .control:${focusVisible} .content::before { - background: ${neutralForegroundRest}; - height: calc(${focusStrokeWidth} * 1px); - } - - :host(:not([href])), - :host([aria-current]) .control { - font-weight: 600; - color: ${neutralForegroundRest}; - fill: currentcolor; - cursor: default; - } - - :host([aria-current]) .control:hover .content::before { - background: ${neutralForegroundRest}; - } - - .start { - display: flex; - margin-inline-end: 6px; - } - - .end { - display: flex; - margin-inline-start: 6px; - } - - .separator { - display: flex; - fill: ${neutralForegroundRest}; - margin: 0 6px; - } -`.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host(:not([href])) { - color: ${SystemColors.ButtonText}; - fill: currentcolor; - } - .control:hover .content::before, - .control:${focusVisible} .content::before { - background: ${SystemColors.LinkText}; - } - .separator { - fill: ${SystemColors.ButtonText}; - } - `, - ), - ); +import { css, ElementStyles } from '@microsoft/fast-element'; +import { + BreadcrumbItemOptions, + display, + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, +} from '@microsoft/fast-foundation'; +import { SystemColors } from '@microsoft/fast-web-utilities'; +import { + accentForegroundActive, + accentForegroundHover, + accentForegroundRest, + bodyFont, + focusStrokeWidth, + neutralForegroundRest, + strokeWidth, + typeRampBaseFontSize, + typeRampBaseLineHeight, +} from '../design-tokens'; +import { heightNumber } from '../styles/index'; + +export const breadcrumbItemStyles: ( + context: ElementDefinitionContext, + definition: BreadcrumbItemOptions, +) => ElementStyles = (context: ElementDefinitionContext, definition: BreadcrumbItemOptions) => + css` + ${display('inline-flex')} :host { + background: transparent; + box-sizing: border-box; + fill: currentcolor; + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + min-width: calc(${heightNumber} * 1px); + outline: none; + } + + .listitem { + display: flex; + align-items: center; + } + + .control { + align-items: center; + box-sizing: border-box; + color: ${accentForegroundRest}; + cursor: pointer; + display: flex; + fill: inherit; + outline: none; + text-decoration: none; + white-space: nowrap; + } + + .control:hover { + color: ${accentForegroundHover}; + } + + .control:active { + color: ${accentForegroundActive}; + } + + .control .content { + position: relative; + } + + .control .content::before { + content: ""; + display: block; + height: calc(${strokeWidth} * 1px); + left: 0; + position: absolute; + right: 0; + top: calc(1em + 4px); + width: 100%; + } + + .control:hover .content::before { + background: ${accentForegroundHover}; + } + + .control:active .content::before { + background: ${accentForegroundActive}; + } + + .control:${focusVisible} .content::before { + background: ${neutralForegroundRest}; + height: calc(${focusStrokeWidth} * 1px); + } + + :host(:not([href])), + :host([aria-current]) .control { + font-weight: 600; + color: ${neutralForegroundRest}; + fill: currentcolor; + cursor: default; + } + + :host([aria-current]) .control:hover .content::before { + background: ${neutralForegroundRest}; + } + + .start { + display: flex; + margin-inline-end: 6px; + } + + .end { + display: flex; + margin-inline-start: 6px; + } + + .separator { + display: flex; + fill: ${neutralForegroundRest}; + margin: 0 6px; + } +`.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host(:not([href])) { + color: ${SystemColors.ButtonText}; + fill: currentcolor; + } + .control:hover .content::before, + .control:${focusVisible} .content::before { + background: ${SystemColors.LinkText}; + } + .separator { + fill: ${SystemColors.ButtonText}; + } + `, + ), + ); diff --git a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html index c35b9d782ccb30..cc1eb66fbd91be 100644 --- a/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html +++ b/packages/web-components/src/breadcrumb-item/fixtures/breadcrumb-item.html @@ -1,31 +1,27 @@ -

Breadcrumbs

- -

Default

- - Breadcrumb item - - -

Default with custom separator

- - Breadcrumb item - - -

With start

- - Breadcrumb item - - - - - -

With end

- - Breadcrumb item - - - - +

Breadcrumbs

+ +

Default

+ Breadcrumb item + +

Default with custom separator

+ Breadcrumb item + +

With start

+ + Breadcrumb item + + + + + +

With end

+ + Breadcrumb item + + + + diff --git a/packages/web-components/src/breadcrumb-item/index.ts b/packages/web-components/src/breadcrumb-item/index.ts index 740d25b2e42f26..26d77ee379d93b 100644 --- a/packages/web-components/src/breadcrumb-item/index.ts +++ b/packages/web-components/src/breadcrumb-item/index.ts @@ -1,39 +1,39 @@ -import { BreadcrumbItem, BreadcrumbItemOptions, breadcrumbItemTemplate as template } from '@microsoft/fast-foundation'; -import { breadcrumbItemStyles as styles } from './breadcrumb-item.styles'; - -/** - * The Fluent BreadcrumbItem Element. Implements {@link @microsoft/fast-foundation#BreadcrumbItem}, - * {@link @microsoft/fast-foundation#breadcrumbItemTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - */ -export const fluentBreadcrumbItem = BreadcrumbItem.compose({ - baseName: 'breadcrumb-item', - template, - styles, - shadowOptions: { - delegatesFocus: true, - }, - separator: ` - - - - `, -}); - -/** - * Styles for BreadcrumbItem - * @public - */ -export const breadcrumbItemStyles = styles; - -/** - * Base class for BreadcrumbItem - * @public - */ -export { BreadcrumbItem }; +import { BreadcrumbItem, BreadcrumbItemOptions, breadcrumbItemTemplate as template } from '@microsoft/fast-foundation'; +import { breadcrumbItemStyles as styles } from './breadcrumb-item.styles'; + +/** + * The Fluent BreadcrumbItem Element. Implements {@link @microsoft/fast-foundation#BreadcrumbItem}, + * {@link @microsoft/fast-foundation#breadcrumbItemTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + */ +export const fluentBreadcrumbItem = BreadcrumbItem.compose({ + baseName: 'breadcrumb-item', + template, + styles, + shadowOptions: { + delegatesFocus: true, + }, + separator: ` + + + + `, +}); + +/** + * Styles for BreadcrumbItem + * @public + */ +export const breadcrumbItemStyles = styles; + +/** + * Base class for BreadcrumbItem + * @public + */ +export { BreadcrumbItem }; diff --git a/packages/web-components/src/breadcrumb/breadcrumb.stories.ts b/packages/web-components/src/breadcrumb/breadcrumb.stories.ts index 6f2b9962c09f24..0389b378644f40 100644 --- a/packages/web-components/src/breadcrumb/breadcrumb.stories.ts +++ b/packages/web-components/src/breadcrumb/breadcrumb.stories.ts @@ -1,8 +1,8 @@ -import BreadcrumbTemplate from './fixtures/breadcrumb.html'; -import './index'; - -export default { - title: 'Breadcrumb', -}; - -export const Breadcrumb = (): string => BreadcrumbTemplate; +import BreadcrumbTemplate from './fixtures/breadcrumb.html'; +import './index'; + +export default { + title: 'Breadcrumb', +}; + +export const Breadcrumb = (): string => BreadcrumbTemplate; diff --git a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts index e6c815ae06616f..12585a0045e422 100644 --- a/packages/web-components/src/breadcrumb/breadcrumb.styles.ts +++ b/packages/web-components/src/breadcrumb/breadcrumb.styles.ts @@ -1,16 +1,19 @@ -import { css, ElementStyles } from '@microsoft/fast-element'; -import { display, ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; -import { bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight } from '../design-tokens'; - -export const breadcrumbStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` - ${display('inline-block')} :host { - box-sizing: border-box; - font-family: ${bodyFont}; - font-size: ${typeRampBaseFontSize}; - line-height: ${typeRampBaseLineHeight}; - } - - .list { - display: flex; - } -`; +import { css, ElementStyles } from '@microsoft/fast-element'; +import { display, ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { bodyFont, typeRampBaseFontSize, typeRampBaseLineHeight } from '../design-tokens'; + +export const breadcrumbStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` + ${display('inline-block')} :host { + box-sizing: border-box; + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + } + + .list { + display: flex; + } +`; diff --git a/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html b/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html index ea5c5336f19859..83bf445b9f225f 100644 --- a/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html +++ b/packages/web-components/src/breadcrumb/fixtures/breadcrumb.html @@ -1,146 +1,142 @@ -

Breadcrumb

-

Default

- - - Breadcrumb item 1 - - - Breadcrumb item 2 - - Breadcrumb item 3 - - -

Default with custom separator

- - - Breadcrumb item 1 - - - - - - Breadcrumb item 2 - - - - - Breadcrumb item 3 - - -

With start

- - - Breadcrumb item 1 - - - - - - - - - Breadcrumb item 2 - - - - - - - - - Breadcrumb item 3 - - - - - - - - - -

With end

- - - Breadcrumb item 1 - - - - - - - - - Breadcrumb item 2 - - - - - - - - - Breadcrumb item 3 - - - - - - - - - -

With aria-current

- - - Breadcrumb item 1 - - - - - - Breadcrumb item 2 - - - - - - Breadcrumb item 3 - - - - - +

Breadcrumb

+

Default

+ + Breadcrumb item 1 + Breadcrumb item 2 + Breadcrumb item 3 + + +

Default with custom separator

+ + + Breadcrumb item 1 + + + + + + Breadcrumb item 2 + + + + + Breadcrumb item 3 + + +

With start

+ + + Breadcrumb item 1 + + + + + + + + + Breadcrumb item 2 + + + + + + + + + Breadcrumb item 3 + + + + + + + + + +

With end

+ + + Breadcrumb item 1 + + + + + + + + + Breadcrumb item 2 + + + + + + + + + Breadcrumb item 3 + + + + + + + + + +

With aria-current

+ + + Breadcrumb item 1 + + + + + + Breadcrumb item 2 + + + + + + Breadcrumb item 3 + + + + + diff --git a/packages/web-components/src/breadcrumb/index.ts b/packages/web-components/src/breadcrumb/index.ts index 088c4388b64316..9f7d26c15ca588 100644 --- a/packages/web-components/src/breadcrumb/index.ts +++ b/packages/web-components/src/breadcrumb/index.ts @@ -1,29 +1,29 @@ -import { Breadcrumb, breadcrumbTemplate as template } from '@microsoft/fast-foundation'; -import { breadcrumbStyles as styles } from './breadcrumb.styles'; - -/** - * The Fluent Breadcrumb Element. Implements {@link @microsoft/fast-foundation#Breadcrumb}, - * {@link @microsoft/fast-foundation#breadcrumbTemplate} - * - * - * @public - * @remarks - * HTML Element: \ - */ -export const fluentBreadcrumb = Breadcrumb.compose({ - baseName: 'breadcrumb', - template, - styles, -}); - -/** - * Styles for Breadcrumb - * @public - */ -export const breadcrumbStyles = styles; - -/** - * Base class for Breadcrumb - * @public - */ -export { Breadcrumb }; +import { Breadcrumb, breadcrumbTemplate as template } from '@microsoft/fast-foundation'; +import { breadcrumbStyles as styles } from './breadcrumb.styles'; + +/** + * The Fluent Breadcrumb Element. Implements {@link @microsoft/fast-foundation#Breadcrumb}, + * {@link @microsoft/fast-foundation#breadcrumbTemplate} + * + * + * @public + * @remarks + * HTML Element: \ + */ +export const fluentBreadcrumb = Breadcrumb.compose({ + baseName: 'breadcrumb', + template, + styles, +}); + +/** + * Styles for Breadcrumb + * @public + */ +export const breadcrumbStyles = styles; + +/** + * Base class for Breadcrumb + * @public + */ +export { Breadcrumb }; diff --git a/packages/web-components/src/button/button.styles.ts b/packages/web-components/src/button/button.styles.ts index 7db2e8db4c0906..05aa0fdc5e5bff 100644 --- a/packages/web-components/src/button/button.styles.ts +++ b/packages/web-components/src/button/button.styles.ts @@ -1,5 +1,10 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { disabledCursor, ElementDefinitionContext, forcedColorsStylesheetBehavior, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { + disabledCursor, + ElementDefinitionContext, + forcedColorsStylesheetBehavior, + FoundationElementDefinition, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { AccentButtonStyles, @@ -18,7 +23,10 @@ import { neutralStrokeRest, } from '../design-tokens'; -export const buttonStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const buttonStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` :host([disabled]), :host([disabled]:hover), diff --git a/packages/web-components/src/card/card.styles.ts b/packages/web-components/src/card/card.styles.ts index d2db0b68895b27..be0eb667ef1ea6 100644 --- a/packages/web-components/src/card/card.styles.ts +++ b/packages/web-components/src/card/card.styles.ts @@ -1,41 +1,50 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { display, ElementDefinitionContext, forcedColorsStylesheetBehavior, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { + display, + ElementDefinitionContext, + forcedColorsStylesheetBehavior, + FoundationElementDefinition, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { elevation } from '../styles'; import { fillColor, layerCornerRadius } from '../design-tokens'; -export const cardStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` - ${display('block')} :host { - --elevation: 4; - display: block; - contain: content; - height: var(--card-height, 100%); - width: var(--card-width, 100%); - box-sizing: border-box; - background: ${fillColor}; - border-radius: calc(${layerCornerRadius} * 1px); - ${elevation} - } +export const cardStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => + css` + ${display('block')} :host { + --elevation: 4; + display: block; + contain: content; + height: var(--card-height, 100%); + width: var(--card-width, 100%); + box-sizing: border-box; + background: ${fillColor}; + border-radius: calc(${layerCornerRadius} * 1px); + ${elevation} + } - :host(:hover) { - --elevation: 8; - } + :host(:hover) { + --elevation: 8; + } - :host(:focus-within) { - --elevation: 8; - } + :host(:focus-within) { + --elevation: 8; + } - :host { - content-visibility: auto; - } -`.withBehaviors( - forcedColorsStylesheetBehavior( - css` - :host { - forced-color-adjust: none; - background: ${SystemColors.Canvas}; - box-shadow: 0 0 0 1px ${SystemColors.CanvasText}; - } - `, - ), -); + :host { + content-visibility: auto; + } + `.withBehaviors( + forcedColorsStylesheetBehavior( + css` + :host { + forced-color-adjust: none; + background: ${SystemColors.Canvas}; + box-shadow: 0 0 0 1px ${SystemColors.CanvasText}; + } + `, + ), + ); diff --git a/packages/web-components/src/card/fixtures/card.html b/packages/web-components/src/card/fixtures/card.html index 9327f279bc3e5d..63689129311574 100644 --- a/packages/web-components/src/card/fixtures/card.html +++ b/packages/web-components/src/card/fixtures/card.html @@ -78,7 +78,7 @@ Outline Lightweight
- +
Tinted neutral, nested, dark Accent diff --git a/packages/web-components/src/card/index.ts b/packages/web-components/src/card/index.ts index a6de32d002a287..d47bacf52f2d28 100644 --- a/packages/web-components/src/card/index.ts +++ b/packages/web-components/src/card/index.ts @@ -29,10 +29,7 @@ export class Card extends FoundationCard { if (parsedColor !== null) { this.neutralPaletteSource = next; - fillColor.setValueFor( - this, - SwatchRGB.create(parsedColor.r, parsedColor.g, parsedColor.b) - ); + fillColor.setValueFor(this, SwatchRGB.create(parsedColor.r, parsedColor.g, parsedColor.b)); } } } diff --git a/packages/web-components/src/checkbox/checkbox.styles.ts b/packages/web-components/src/checkbox/checkbox.styles.ts index 8a5b2cbb9b8fe7..9c35b5767ec36d 100644 --- a/packages/web-components/src/checkbox/checkbox.styles.ts +++ b/packages/web-components/src/checkbox/checkbox.styles.ts @@ -1,5 +1,12 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { CheckboxOptions, disabledCursor, display, ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { + CheckboxOptions, + disabledCursor, + display, + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles'; import { @@ -21,162 +28,167 @@ import { typeRampBaseLineHeight, } from '../design-tokens'; -export const checkboxStyles: (context: ElementDefinitionContext, definition: CheckboxOptions) => ElementStyles = (context: ElementDefinitionContext, definition: CheckboxOptions) => +export const checkboxStyles: (context: ElementDefinitionContext, definition: CheckboxOptions) => ElementStyles = ( + context: ElementDefinitionContext, + definition: CheckboxOptions, +) => css` ${display('inline-flex')} :host { - align-items: center; - outline: none; - margin: calc(${designUnit} * 1px) 0; - ${ - /* - * Chromium likes to select label text or the default slot when - * the checkbox is clicked. Maybe there is a better solution here? - */ '' - } user-select: none; + align-items: center; + outline: none; + margin: calc(${designUnit} * 1px) 0; + ${ + /* + * Chromium likes to select label text or the default slot when + * the checkbox is clicked. Maybe there is a better solution here? + */ '' + } user-select: none; } .control { - position: relative; - width: calc((${heightNumber} / 2 + ${designUnit}) * 1px); - height: calc((${heightNumber} / 2 + ${designUnit}) * 1px); - box-sizing: border-box; - border-radius: calc(${controlCornerRadius} * 1px); - border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; - background: ${neutralFillInputRest}; - outline: none; - cursor: pointer; + position: relative; + width: calc((${heightNumber} / 2 + ${designUnit}) * 1px); + height: calc((${heightNumber} / 2 + ${designUnit}) * 1px); + box-sizing: border-box; + border-radius: calc(${controlCornerRadius} * 1px); + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; + background: ${neutralFillInputRest}; + outline: none; + cursor: pointer; } .label__hidden { - display: none; - visibility: hidden; + display: none; + visibility: hidden; } .label { - font-family: ${bodyFont}; - color: ${neutralForegroundRest}; - ${ - /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' - } padding-inline-start: calc(${designUnit} * 2px + 2px); - margin-inline-end: calc(${designUnit} * 2px + 2px); - cursor: pointer; - font-size: ${typeRampBaseFontSize}; - line-height: ${typeRampBaseLineHeight}; + font-family: ${bodyFont}; + color: ${neutralForegroundRest}; + ${ + /* Need to discuss with Brian how HorizontalSpacingNumber can work. https://github.com/microsoft/fast/issues/2766 */ '' + } padding-inline-start: calc(${designUnit} * 2px + 2px); + margin-inline-end: calc(${designUnit} * 2px + 2px); + cursor: pointer; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; } .checked-indicator { - width: 100%; - height: 100%; - display: block; - fill: ${neutralForegroundRest}; - opacity: 0; - pointer-events: none; + width: 100%; + height: 100%; + display: block; + fill: ${neutralForegroundRest}; + opacity: 0; + pointer-events: none; } .indeterminate-indicator { - border-radius: calc((${controlCornerRadius} / 2) * 1px); - background: ${neutralForegroundRest}; - position: absolute; - top: 50%; - left: 50%; - width: 50%; - height: 50%; - transform: translate(-50%, -50%); - opacity: 0; + border-radius: calc((${controlCornerRadius} / 2) * 1px); + background: ${neutralForegroundRest}; + position: absolute; + top: 50%; + left: 50%; + width: 50%; + height: 50%; + transform: translate(-50%, -50%); + opacity: 0; } :host(:enabled) .control:hover { - background: ${neutralFillInputHover}; - border-color: ${neutralStrokeHover}; + background: ${neutralFillInputHover}; + border-color: ${neutralStrokeHover}; } :host(:enabled) .control:active { - background: ${neutralFillInputActive}; - border-color: ${neutralStrokeActive}; + background: ${neutralFillInputActive}; + border-color: ${neutralStrokeActive}; } :host(:${focusVisible}) .control { - box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; - border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 2px ${fillColor}, 0 0 0 4px ${focusStrokeOuter}; + border-color: ${focusStrokeOuter}; } :host(.disabled) .label, :host(.readonly) .label, :host(.readonly) .control, :host(.disabled) .control { - cursor: ${disabledCursor}; + cursor: ${disabledCursor}; } :host(.checked:not(.indeterminate)) .checked-indicator, :host(.indeterminate) .indeterminate-indicator { - opacity: 1; + opacity: 1; } :host(.disabled) { - opacity: ${disabledOpacity}; + opacity: ${disabledOpacity}; } -`.withBehaviors( + `.withBehaviors( forcedColorsStylesheetBehavior( css` - .control { - forced-color-adjust: none; - border-color: ${SystemColors.FieldText}; - background: ${SystemColors.Field}; - } - :host(:enabled) .control:hover, .control:active { - border-color: ${SystemColors.Highlight}; - background: ${SystemColors.Field}; - } - .checked-indicator { - fill: ${SystemColors.FieldText}; - } - .indeterminate-indicator { - background: ${SystemColors.FieldText}; - } - :host(:${focusVisible}) .control { - border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; - } - :host(.checked:${focusVisible}:enabled) .control { - box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; - } - :host(.checked) .control { - background: ${SystemColors.Highlight}; - border-color: ${SystemColors.Highlight}; - } - :host(.checked) .control:hover, .control:active { - background: ${SystemColors.HighlightText}; - } - :host(.checked) .checked-indicator { - fill: ${SystemColors.HighlightText}; - } - :host(.checked) .control:hover .checked-indicator { - fill: ${SystemColors.Highlight} - } - :host(.checked) .indeterminate-indicator { - background: ${SystemColors.HighlightText}; - } - :host(.checked) .control:hover .indeterminate-indicator { - background: ${SystemColors.Highlight} - } - :host(.disabled) { - opacity: 1; - } - :host(.disabled) .control { - forced-color-adjust: none; - border-color: ${SystemColors.GrayText}; - background: ${SystemColors.Field}; - } - :host(.disabled) .indeterminate-indicator, - :host(.checked.disabled) .control:hover .indeterminate-indicator { - forced-color-adjust: none; - background: ${SystemColors.GrayText}; - } - :host(.disabled) .checked-indicator, - :host(.checked.disabled) .control:hover .checked-indicator { - forced-color-adjust: none; - fill: ${SystemColors.GrayText}; - } - `, + .control { + forced-color-adjust: none; + border-color: ${SystemColors.FieldText}; + background: ${SystemColors.Field}; + } + :host(:enabled) .control:hover, + .control:active { + border-color: ${SystemColors.Highlight}; + background: ${SystemColors.Field}; + } + .checked-indicator { + fill: ${SystemColors.FieldText}; + } + .indeterminate-indicator { + background: ${SystemColors.FieldText}; + } + :host(:${focusVisible}) .control { + border-color: ${SystemColors.Highlight}; + box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; + } + :host(.checked:${focusVisible}:enabled) .control { + box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; + } + :host(.checked) .control { + background: ${SystemColors.Highlight}; + border-color: ${SystemColors.Highlight}; + } + :host(.checked) .control:hover, + .control:active { + background: ${SystemColors.HighlightText}; + } + :host(.checked) .checked-indicator { + fill: ${SystemColors.HighlightText}; + } + :host(.checked) .control:hover .checked-indicator { + fill: ${SystemColors.Highlight}; + } + :host(.checked) .indeterminate-indicator { + background: ${SystemColors.HighlightText}; + } + :host(.checked) .control:hover .indeterminate-indicator { + background: ${SystemColors.Highlight}; + } + :host(.disabled) { + opacity: 1; + } + :host(.disabled) .control { + forced-color-adjust: none; + border-color: ${SystemColors.GrayText}; + background: ${SystemColors.Field}; + } + :host(.disabled) .indeterminate-indicator, + :host(.checked.disabled) .control:hover .indeterminate-indicator { + forced-color-adjust: none; + background: ${SystemColors.GrayText}; + } + :host(.disabled) .checked-indicator, + :host(.checked.disabled) .control:hover .checked-indicator { + forced-color-adjust: none; + fill: ${SystemColors.GrayText}; + } + `, ), ); diff --git a/packages/web-components/src/checkbox/fixtures/checkbox.html b/packages/web-components/src/checkbox/fixtures/checkbox.html index 4c64a9bced4c17..50980745601a35 100644 --- a/packages/web-components/src/checkbox/fixtures/checkbox.html +++ b/packages/web-components/src/checkbox/fixtures/checkbox.html @@ -19,12 +19,8 @@

Disabled

label checked - - Indeterminate checked - - - Indeterminate unchecked - + Indeterminate checked + Indeterminate unchecked

Inline

Apples @@ -33,7 +29,7 @@

Inline

Oranges

Vertical

-
+
Fruit Apples Bananas diff --git a/packages/web-components/src/color/recipes/neutral-layer-card-container.ts b/packages/web-components/src/color/recipes/neutral-layer-card-container.ts index 8923a1676c21f3..cf709968212f30 100644 --- a/packages/web-components/src/color/recipes/neutral-layer-card-container.ts +++ b/packages/web-components/src/color/recipes/neutral-layer-card-container.ts @@ -6,11 +6,7 @@ import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance'; /** * @internal */ -export function neutralLayerCardContainer( - palette: Palette, - relativeLuminance: number, - layerDelta: number, -): Swatch { +export function neutralLayerCardContainer(palette: Palette, relativeLuminance: number, layerDelta: number): Swatch { const oldCardIndex: number = clamp( palette.closestIndexOf(baseLayerLuminanceSwatch(relativeLuminance)) - layerDelta, 0, diff --git a/packages/web-components/src/color/utilities/base-layer-luminance.ts b/packages/web-components/src/color/utilities/base-layer-luminance.ts index 6a60fc26dd1f1d..4f1f801daa06fe 100644 --- a/packages/web-components/src/color/utilities/base-layer-luminance.ts +++ b/packages/web-components/src/color/utilities/base-layer-luminance.ts @@ -9,7 +9,7 @@ export function baseLayerLuminanceSwatch(luminance: number): Swatch { * * @public */ - export enum StandardLuminance { +export enum StandardLuminance { LightMode = 1, DarkMode = 0.23, } diff --git a/packages/web-components/src/combobox/combobox.styles.ts b/packages/web-components/src/combobox/combobox.styles.ts index b41253a0be0000..2ccf3f0e0a9fdf 100644 --- a/packages/web-components/src/combobox/combobox.styles.ts +++ b/packages/web-components/src/combobox/combobox.styles.ts @@ -4,7 +4,10 @@ import { selectFilledStyles, selectStyles } from '../select/select.styles'; import { appearanceBehavior } from '../utilities/behaviors'; import { strokeWidth, typeRampBaseFontSize, typeRampBaseLineHeight } from '../design-tokens'; -export const comboboxStyles: (context: ElementDefinitionContext, definition: ComboboxOptions) => ElementStyles = (context: ElementDefinitionContext, definition: ComboboxOptions) => +export const comboboxStyles: (context: ElementDefinitionContext, definition: ComboboxOptions) => ElementStyles = ( + context: ElementDefinitionContext, + definition: ComboboxOptions, +) => css` ${selectStyles(context, definition)} diff --git a/packages/web-components/src/data-grid/data-grid-cell.styles.ts b/packages/web-components/src/data-grid/data-grid-cell.styles.ts index 9d1e44a7365384..efb3e5b22a7db7 100644 --- a/packages/web-components/src/data-grid/data-grid-cell.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-cell.styles.ts @@ -1,6 +1,11 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { SystemColors } from '@microsoft/fast-web-utilities'; -import { ElementDefinitionContext, focusVisible, forcedColorsStylesheetBehavior, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { + ElementDefinitionContext, + focusVisible, + forcedColorsStylesheetBehavior, + FoundationElementDefinition, +} from '@microsoft/fast-foundation'; import { bodyFont, controlCornerRadius, @@ -12,46 +17,48 @@ import { typeRampBaseLineHeight, } from '../design-tokens'; -export const dataGridCellStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const dataGridCellStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` :host { - padding: calc(${designUnit} * 1px) calc(${designUnit} * 3px); - color: ${neutralForegroundRest}; - box-sizing: border-box; - font-family: ${bodyFont}; - font-size: ${typeRampBaseFontSize}; - line-height: ${typeRampBaseLineHeight}; - font-weight: 400; - border: transparent calc(${strokeWidth} * 1px) solid; - overflow: hidden; - white-space: nowrap; - border-radius: calc(${controlCornerRadius} * 1px); + padding: calc(${designUnit} * 1px) calc(${designUnit} * 3px); + color: ${neutralForegroundRest}; + box-sizing: border-box; + font-family: ${bodyFont}; + font-size: ${typeRampBaseFontSize}; + line-height: ${typeRampBaseLineHeight}; + font-weight: 400; + border: transparent calc(${strokeWidth} * 1px) solid; + overflow: hidden; + white-space: nowrap; + border-radius: calc(${controlCornerRadius} * 1px); } :host(.column-header) { - font-weight: 600; + font-weight: 600; } :host(:${focusVisible}) { - border: ${focusStrokeOuter} calc(${strokeWidth} * 1px) solid; - color: ${neutralForegroundRest}; + border: ${focusStrokeOuter} calc(${strokeWidth} * 1px) solid; + color: ${neutralForegroundRest}; } - -`.withBehaviors( + `.withBehaviors( forcedColorsStylesheetBehavior( css` :host { - forced-color-adjust: none; - border-color: transparent; - background: ${SystemColors.Field}; - color: ${SystemColors.FieldText}; + forced-color-adjust: none; + border-color: transparent; + background: ${SystemColors.Field}; + color: ${SystemColors.FieldText}; } :host(:${focusVisible}) { - border-color: ${SystemColors.FieldText}; - box-shadow: 0 0 0 2px inset ${SystemColors.Field}; - color: ${SystemColors.FieldText}; + border-color: ${SystemColors.FieldText}; + box-shadow: 0 0 0 2px inset ${SystemColors.Field}; + color: ${SystemColors.FieldText}; } - `, + `, ), ); diff --git a/packages/web-components/src/data-grid/data-grid-row.styles.ts b/packages/web-components/src/data-grid/data-grid-row.styles.ts index 90efd7230172f2..96f19eb919e2dd 100644 --- a/packages/web-components/src/data-grid/data-grid-row.styles.ts +++ b/packages/web-components/src/data-grid/data-grid-row.styles.ts @@ -1,8 +1,15 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { ElementDefinitionContext, forcedColorsStylesheetBehavior, FoundationElementDefinition } from '@microsoft/fast-foundation'; +import { + ElementDefinitionContext, + forcedColorsStylesheetBehavior, + FoundationElementDefinition, +} from '@microsoft/fast-foundation'; import { neutralFillRest, neutralStrokeDividerRest, strokeWidth } from '../design-tokens'; -export const dataGridRowStyles: (context: ElementDefinitionContext, defintion: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, defintion: FoundationElementDefinition) => +export const dataGridRowStyles: ( + context: ElementDefinitionContext, + defintion: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, defintion: FoundationElementDefinition) => css` :host { display: grid; diff --git a/packages/web-components/src/data-grid/data-grid.stories.ts b/packages/web-components/src/data-grid/data-grid.stories.ts index 529c0d58d59891..f7c8b72e42db72 100644 --- a/packages/web-components/src/data-grid/data-grid.stories.ts +++ b/packages/web-components/src/data-grid/data-grid.stories.ts @@ -6,6 +6,7 @@ import { STORY_RENDERED } from '@storybook/core-events'; import DataGridTemplate from './fixtures/base.html'; import './index'; +/* eslint-disable @typescript-eslint/ban-types */ let defaultGridElement: DataGrid | null = null; const defaultRowData: object = newDataRow('default'); @@ -430,6 +431,8 @@ function getFocusTarget(cell: DataGridCell): HTMLElement { return cell.querySelector('fast-button') as HTMLElement; } +/* eslint-enable @typescript-eslint/ban-types */ + export default { title: 'Data Grid', }; diff --git a/packages/web-components/src/data-grid/data-grid.styles.ts b/packages/web-components/src/data-grid/data-grid.styles.ts index 0351b0179de6af..29f27f52f386bc 100644 --- a/packages/web-components/src/data-grid/data-grid.styles.ts +++ b/packages/web-components/src/data-grid/data-grid.styles.ts @@ -1,7 +1,10 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; -export const dataGridStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` +export const dataGridStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` :host { display: flex; position: relative; diff --git a/packages/web-components/src/data-grid/fixtures/base.html b/packages/web-components/src/data-grid/fixtures/base.html index 41e4e6e39ee36f..36160a24c0db28 100644 --- a/packages/web-components/src/data-grid/fixtures/base.html +++ b/packages/web-components/src/data-grid/fixtures/base.html @@ -1,37 +1,33 @@

Data grid

Default

- + -

Grid controls

- +

Grid controls

+
Reset Default columns Template columns - + Add row Remove row - + No header Default header Sticky header - + Default row item template Custom row item template - + Default cell item template Custom cell item template - - Default header cell item template - - - Custom header cell item template - + Default header cell item template + Custom header cell item template
- +

Header

diff --git a/packages/web-components/src/data-grid/index.ts b/packages/web-components/src/data-grid/index.ts index 5ec3177a553172..557bbaa36f9ac4 100644 --- a/packages/web-components/src/data-grid/index.ts +++ b/packages/web-components/src/data-grid/index.ts @@ -1,8 +1,8 @@ import { DataGrid, DataGridCell, - DataGridRow, dataGridCellTemplate, + DataGridRow, dataGridRowTemplate, dataGridTemplate, } from '@microsoft/fast-foundation'; diff --git a/packages/web-components/src/design-system-provider/index.ts b/packages/web-components/src/design-system-provider/index.ts index 4cb62dc14f3a42..9286e3448ff012 100644 --- a/packages/web-components/src/design-system-provider/index.ts +++ b/packages/web-components/src/design-system-provider/index.ts @@ -1,5 +1,13 @@ import { parseColorHexRGB } from '@microsoft/fast-colors'; -import { attr, css, html, nullableNumberConverter, Observable, observable, ValueConverter } from '@microsoft/fast-element'; +import { + attr, + css, + html, + nullableNumberConverter, + Observable, + observable, + ValueConverter, +} from '@microsoft/fast-element'; import { DesignToken, DesignTokenValue, @@ -83,18 +91,18 @@ import { */ const swatchConverter: ValueConverter = { toView(value: any): string | null { - if (value === null || value === undefined) { - return null; - } - return (value as Swatch)?.toColorString(); + if (value === null || value === undefined) { + return null; + } + return (value as Swatch)?.toColorString(); }, fromView(value: any): any { - if (value === null || value === undefined) { - return null; - } - const color = parseColorHexRGB(value); - return color? SwatchRGB.create(color!.r, color!.g, color!.b) : null; + if (value === null || value === undefined) { + return null; + } + const color = parseColorHexRGB(value); + return color ? SwatchRGB.create(color!.r, color!.g, color!.b) : null; }, }; @@ -175,7 +183,7 @@ export class DesignSystemProvider extends FoundationElement { }) @designToken(fillColor) public fillColor: Swatch; - + /** * Defines the palette that all neutral color recipes are derived from. * This is an array for hexadecimal color strings ordered from light to dark. @@ -824,7 +832,6 @@ export class DesignSystemProvider extends FoundationElement { @designToken(neutralFillInputFocusDelta) public neutralFillInputFocusDelta: number; - /** * The distance from the resolved neutral fill input color for the rest state of the neutral-fill-layer recipe. * @@ -833,7 +840,7 @@ export class DesignSystemProvider extends FoundationElement { * * CSS custom property: N/A */ - @attr({ + @attr({ attribute: 'neutral-fill-layer-rest-delta', converter: nullableNumberConverter, }) diff --git a/packages/web-components/src/dialog/dialog.styles.ts b/packages/web-components/src/dialog/dialog.styles.ts index a1e42030b2438b..ecc3ab1d3b35be 100644 --- a/packages/web-components/src/dialog/dialog.styles.ts +++ b/packages/web-components/src/dialog/dialog.styles.ts @@ -1,9 +1,12 @@ import { css, ElementStyles } from '@microsoft/fast-element'; +import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; import { elevation } from '../styles'; import { fillColor, layerCornerRadius, strokeWidth } from '../design-tokens'; -import { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; -export const dialogStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` +export const dialogStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` :host([hidden]) { display: none; } diff --git a/packages/web-components/src/divider/divider.styles.ts b/packages/web-components/src/divider/divider.styles.ts index ca87de8e6f8207..f7d4ee599cfc3f 100644 --- a/packages/web-components/src/divider/divider.styles.ts +++ b/packages/web-components/src/divider/divider.styles.ts @@ -2,7 +2,10 @@ import { css, ElementStyles } from '@microsoft/fast-element'; import { display, ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation'; import { designUnit, neutralStrokeDividerRest, strokeWidth } from '../design-tokens'; -export const dividerStyles: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => +export const dividerStyles: ( + context: ElementDefinitionContext, + definition: FoundationElementDefinition, +) => ElementStyles = (context: ElementDefinitionContext, definition: FoundationElementDefinition) => css` ${display('block')} :host { box-sizing: content-box; diff --git a/packages/web-components/src/flipper/flipper.styles.ts b/packages/web-components/src/flipper/flipper.styles.ts index 0e393a41e86536..afddc3366d99fe 100644 --- a/packages/web-components/src/flipper/flipper.styles.ts +++ b/packages/web-components/src/flipper/flipper.styles.ts @@ -1,5 +1,12 @@ import { css, ElementStyles } from '@microsoft/fast-element'; -import { disabledCursor, display, ElementDefinitionContext, FlipperOptions, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation'; +import { + disabledCursor, + display, + ElementDefinitionContext, + FlipperOptions, + focusVisible, + forcedColorsStylesheetBehavior, +} from '@microsoft/fast-foundation'; import { SystemColors } from '@microsoft/fast-web-utilities'; import { heightNumber } from '../styles'; import { @@ -15,125 +22,128 @@ import { strokeWidth, } from '../design-tokens'; -export const flipperStyles: (context: ElementDefinitionContext, definition: FlipperOptions) => ElementStyles = (context: ElementDefinitionContext, definition: FlipperOptions) => +export const flipperStyles: (context: ElementDefinitionContext, definition: FlipperOptions) => ElementStyles = ( + context: ElementDefinitionContext, + definition: FlipperOptions, +) => css` ${display('inline-flex')} :host { - width: calc(${heightNumber} * 1px); - height: calc(${heightNumber} * 1px); - justify-content: center; - align-items: center; - margin: 0; - position: relative; - fill: currentcolor; - color: ${neutralForegroundRest}; - background: transparent; - border: none; - outline: none; - padding: 0; + width: calc(${heightNumber} * 1px); + height: calc(${heightNumber} * 1px); + justify-content: center; + align-items: center; + margin: 0; + position: relative; + fill: currentcolor; + color: ${neutralForegroundRest}; + background: transparent; + border: none; + outline: none; + padding: 0; } :host::before { - content: ""; - opacity: 0.8; - background: ${neutralFillStealthRest}; - border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; - border-radius: 50%; - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - transition: all 0.1s ease-in-out; + content: ''; + opacity: 0.8; + background: ${neutralFillStealthRest}; + border: calc(${strokeWidth} * 1px) solid ${neutralStrokeRest}; + border-radius: 50%; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: all 0.1s ease-in-out; } .next, .previous { - position: relative; - ${ - /* Glyph size and margin-left is temporary - + position: relative; + ${ + /* Glyph size and margin-left is temporary - replace when adaptive typography is figured out */ '' - } width: 16px; - height: 16px; + } width: 16px; + height: 16px; } :host(.disabled) { - opacity: ${disabledOpacity}; - cursor: ${disabledCursor}; + opacity: ${disabledOpacity}; + cursor: ${disabledCursor}; } :host(:hover) { - cursor: pointer; + cursor: pointer; } :host(:hover)::before { - background: ${neutralFillStealthHover}; - border-color: ${neutralStrokeHover}; + background: ${neutralFillStealthHover}; + border-color: ${neutralStrokeHover}; } :host(:${focusVisible}) { - outline: none; + outline: none; } :host(:${focusVisible})::before { - box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; - border-color: ${focusStrokeOuter}; + box-shadow: 0 0 0 1px ${focusStrokeOuter} inset; + border-color: ${focusStrokeOuter}; } :host(:active)::before { - background: ${neutralFillStealthActive}; - border-color: ${neutralStrokeActive}; + background: ${neutralFillStealthActive}; + border-color: ${neutralStrokeActive}; } :host::-moz-focus-inner { - border: 0; + border: 0; } -`.withBehaviors( + `.withBehaviors( forcedColorsStylesheetBehavior( css` - :host { - background: ${SystemColors.Canvas}; - } - :host .next, - :host .previous { - color: ${SystemColors.ButtonText}; - fill: currentcolor; - } - :host::before { - background: ${SystemColors.Canvas}; - border-color: ${SystemColors.ButtonText}; - } - :host(:hover)::before { - forced-color-adjust: none; - background: ${SystemColors.Highlight}; - border-color: ${SystemColors.ButtonText}; - opacity: 1; - } - :host(:hover) .next, - :host(:hover) .previous { - forced-color-adjust: none; - color: ${SystemColors.HighlightText}; - fill: currentcolor; - } - :host(.disabled) { - opacity: 1; - } - :host(.disabled)::before, - :host(.disabled:hover)::before, - :host(.disabled) .next, - :host(.disabled) .previous, - :host(.disabled:hover) .next, - :host(.disabled:hover) .previous { - forced-color-adjust: none; - background: ${SystemColors.Canvas}; - border-color: ${SystemColors.GrayText}; - color: ${SystemColors.GrayText}; - fill: ${SystemColors.GrayText}; - } - :host(:${focusVisible})::before { - forced-color-adjust: none; - border-color: ${SystemColors.Highlight}; - box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; - } - `, + :host { + background: ${SystemColors.Canvas}; + } + :host .next, + :host .previous { + color: ${SystemColors.ButtonText}; + fill: currentcolor; + } + :host::before { + background: ${SystemColors.Canvas}; + border-color: ${SystemColors.ButtonText}; + } + :host(:hover)::before { + forced-color-adjust: none; + background: ${SystemColors.Highlight}; + border-color: ${SystemColors.ButtonText}; + opacity: 1; + } + :host(:hover) .next, + :host(:hover) .previous { + forced-color-adjust: none; + color: ${SystemColors.HighlightText}; + fill: currentcolor; + } + :host(.disabled) { + opacity: 1; + } + :host(.disabled)::before, + :host(.disabled:hover)::before, + :host(.disabled) .next, + :host(.disabled) .previous, + :host(.disabled:hover) .next, + :host(.disabled:hover) .previous { + forced-color-adjust: none; + background: ${SystemColors.Canvas}; + border-color: ${SystemColors.GrayText}; + color: ${SystemColors.GrayText}; + fill: ${SystemColors.GrayText}; + } + :host(:${focusVisible})::before { + forced-color-adjust: none; + border-color: ${SystemColors.Highlight}; + box-shadow: 0 0 0 2px ${SystemColors.Field}, 0 0 0 4px ${SystemColors.FieldText}; + } + `, ), ); diff --git a/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html b/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html index a1eaefda514b00..8d670de8170967 100644 --- a/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html +++ b/packages/web-components/src/horizontal-scroll/fixtures/horizontal-scroll.html @@ -37,7 +37,7 @@

Horizontal scroll