@fluentui/web-components 2.5.10 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +16 -32
- package/CHANGELOG.md +6 -15
- package/dist/dts/index-rollup.d.ts +0 -7
- package/dist/dts/index.d.ts +1 -49
- package/dist/dts/theme/design-tokens.d.ts +379 -0
- package/dist/dts/theme/index.d.ts +2 -0
- package/dist/dts/theme/set-theme.d.ts +6 -0
- package/dist/dts/{anchored-region/anchored-region.stories.d.ts → theme/theme.stories.d.ts} +1 -2
- package/dist/esm/index-rollup.js +0 -11
- package/dist/esm/index.js +1 -49
- package/dist/esm/theme/design-tokens.js +381 -0
- package/dist/esm/theme/index.js +2 -0
- package/dist/esm/theme/set-theme.js +11 -0
- package/dist/esm/theme/theme.stories.js +21 -0
- package/dist/fluent-web-components.api.json +6 -19807
- package/dist/web-components.d.ts +1 -2980
- package/dist/web-components.js +2 -21988
- package/dist/web-components.min.js +1 -254
- package/docs/api-report.md +1 -1723
- package/package.json +13 -5
- package/public/theme-switch.ts +13 -0
- package/dist/dts/_docs/design-system/color-explorer/app.d.ts +0 -25
- package/dist/dts/_docs/design-system/color-explorer/colors.d.ts +0 -13
- package/dist/dts/_docs/design-system/color-explorer/component-types.d.ts +0 -6
- package/dist/dts/_docs/design-system/color-explorer/components/color-block.d.ts +0 -10
- package/dist/dts/_docs/design-system/color-explorer/components/color-picker/color-picker.d.ts +0 -190
- package/dist/dts/_docs/design-system/color-explorer/components/color-picker/color-picker.form-associated.d.ts +0 -15
- package/dist/dts/_docs/design-system/color-explorer/components/color-picker/color-picker.styles.d.ts +0 -3
- package/dist/dts/_docs/design-system/color-explorer/components/color-picker/color-picker.template.d.ts +0 -8
- package/dist/dts/_docs/design-system/color-explorer/components/color-picker/index.d.ts +0 -9
- package/dist/dts/_docs/design-system/color-explorer/components/control-pane/control-pane.d.ts +0 -8
- package/dist/dts/_docs/design-system/color-explorer/components/control-pane/control-pane.styles.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/control-pane/control-pane.template.d.ts +0 -2
- package/dist/dts/_docs/design-system/color-explorer/components/control-pane/index.d.ts +0 -6
- package/dist/dts/_docs/design-system/color-explorer/components/gradient/gradient.d.ts +0 -5
- package/dist/dts/_docs/design-system/color-explorer/components/gradient/gradient.styles.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/gradient/gradient.template.d.ts +0 -2
- package/dist/dts/_docs/design-system/color-explorer/components/gradient/index.d.ts +0 -6
- package/dist/dts/_docs/design-system/color-explorer/components/layer-background/index.d.ts +0 -21
- package/dist/dts/_docs/design-system/color-explorer/components/sample-app/index.d.ts +0 -6
- package/dist/dts/_docs/design-system/color-explorer/components/sample-app/sample-app.d.ts +0 -3
- package/dist/dts/_docs/design-system/color-explorer/components/sample-app/sample-app.styles.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/sample-app/sample-app.template.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/sample-page/index.d.ts +0 -6
- package/dist/dts/_docs/design-system/color-explorer/components/sample-page/sample-page.d.ts +0 -3
- package/dist/dts/_docs/design-system/color-explorer/components/sample-page/sample-page.styles.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/sample-page/sample-page.template.d.ts +0 -1
- package/dist/dts/_docs/design-system/color-explorer/components/swatch.d.ts +0 -30
- package/dist/dts/_docs/design-system/color-explorer/custom-elements.d.ts +0 -7
- package/dist/dts/_docs/design-system/color-explorer/index.d.ts +0 -2
- package/dist/dts/accordion/accordion-item/accordion-item.styles.d.ts +0 -3
- package/dist/dts/accordion/accordion-item/index.d.ts +0 -17
- package/dist/dts/accordion/accordion.stories.d.ts +0 -15
- package/dist/dts/accordion/accordion.styles.d.ts +0 -3
- package/dist/dts/accordion/index.d.ts +0 -22
- package/dist/dts/anchor/anchor.stories.d.ts +0 -14
- package/dist/dts/anchor/anchor.styles.d.ts +0 -3
- package/dist/dts/anchor/index.d.ts +0 -49
- package/dist/dts/anchored-region/anchored-region.styles.d.ts +0 -3
- package/dist/dts/anchored-region/index.d.ts +0 -21
- package/dist/dts/badge/badge.stories.d.ts +0 -14
- package/dist/dts/badge/badge.styles.d.ts +0 -3
- package/dist/dts/badge/index.d.ts +0 -29
- package/dist/dts/breadcrumb/breadcrumb.stories.d.ts +0 -15
- package/dist/dts/breadcrumb/breadcrumb.styles.d.ts +0 -3
- package/dist/dts/breadcrumb/index.d.ts +0 -21
- package/dist/dts/breadcrumb-item/breadcrumb-item.stories.d.ts +0 -15
- package/dist/dts/breadcrumb-item/breadcrumb-item.styles.d.ts +0 -3
- package/dist/dts/breadcrumb-item/index.d.ts +0 -21
- package/dist/dts/button/button.stories.d.ts +0 -21
- package/dist/dts/button/button.styles.d.ts +0 -3
- package/dist/dts/button/index.d.ts +0 -48
- package/dist/dts/calendar/calendar.stories.d.ts +0 -86
- package/dist/dts/calendar/calendar.styles.d.ts +0 -7
- package/dist/dts/calendar/index.d.ts +0 -18
- package/dist/dts/card/card.stories.d.ts +0 -15
- package/dist/dts/card/card.styles.d.ts +0 -3
- package/dist/dts/card/index.d.ts +0 -46
- package/dist/dts/checkbox/checkbox.stories.d.ts +0 -28
- package/dist/dts/checkbox/checkbox.styles.d.ts +0 -3
- package/dist/dts/checkbox/index.d.ts +0 -16
- package/dist/dts/color/palette.d.ts +0 -73
- package/dist/dts/color/recipe.d.ts +0 -20
- package/dist/dts/color/recipes/contrast-and-delta-swatch-set.d.ts +0 -11
- package/dist/dts/color/recipes/contrast-swatch.d.ts +0 -12
- package/dist/dts/color/recipes/delta-swatch-set.d.ts +0 -36
- package/dist/dts/color/recipes/delta-swatch.d.ts +0 -12
- package/dist/dts/color/recipes/focus-stroke.d.ts +0 -10
- package/dist/dts/color/recipes/foreground-on-accent.d.ts +0 -11
- package/dist/dts/color/recipes/gradient-shadow-stroke.d.ts +0 -7
- package/dist/dts/color/recipes/gradient-swatch.d.ts +0 -36
- package/dist/dts/color/recipes/neutral-layer-1.d.ts +0 -10
- package/dist/dts/color/recipes/neutral-layer-2.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-layer-3.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-layer-4.d.ts +0 -6
- package/dist/dts/color/recipes/neutral-layer-floating.d.ts +0 -6
- package/dist/dts/color/recipes/underline-stroke.d.ts +0 -7
- package/dist/dts/color/swatch.d.ts +0 -31
- package/dist/dts/color/utilities/base-layer-luminance.d.ts +0 -11
- package/dist/dts/color/utilities/binary-search.d.ts +0 -4
- package/dist/dts/color/utilities/color-constants.d.ts +0 -14
- package/dist/dts/color/utilities/direction-by-is-dark.d.ts +0 -5
- package/dist/dts/color/utilities/is-dark.d.ts +0 -9
- package/dist/dts/color/utilities/relative-luminance.d.ts +0 -13
- package/dist/dts/combobox/combobox.stories.d.ts +0 -36
- package/dist/dts/combobox/combobox.styles.d.ts +0 -3
- package/dist/dts/combobox/index.d.ts +0 -43
- package/dist/dts/component-definitions.d.ts +0 -43
- package/dist/dts/custom-elements.d.ts +0 -103
- package/dist/dts/data-grid/data-grid-cell.styles.d.ts +0 -3
- package/dist/dts/data-grid/data-grid-row.styles.d.ts +0 -3
- package/dist/dts/data-grid/data-grid.stories.d.ts +0 -15
- package/dist/dts/data-grid/data-grid.styles.d.ts +0 -3
- package/dist/dts/data-grid/index.d.ts +0 -45
- package/dist/dts/design-system-provider/index.d.ts +0 -582
- package/dist/dts/design-tokens.d.ts +0 -519
- package/dist/dts/dialog/dialog.stories.d.ts +0 -25
- package/dist/dts/dialog/dialog.styles.d.ts +0 -3
- package/dist/dts/dialog/index.d.ts +0 -21
- package/dist/dts/divider/divider.stories.d.ts +0 -6
- package/dist/dts/divider/divider.styles.d.ts +0 -3
- package/dist/dts/divider/index.d.ts +0 -21
- package/dist/dts/flipper/flipper.stories.d.ts +0 -17
- package/dist/dts/flipper/flipper.styles.d.ts +0 -3
- package/dist/dts/flipper/index.d.ts +0 -21
- package/dist/dts/fluent-design-system.d.ts +0 -9
- package/dist/dts/horizontal-scroll/horizontal-scroll.stories.d.ts +0 -15
- package/dist/dts/horizontal-scroll/horizontal-scroll.styles.d.ts +0 -12
- package/dist/dts/horizontal-scroll/index.d.ts +0 -25
- package/dist/dts/listbox/index.d.ts +0 -19
- package/dist/dts/listbox/listbox.stories.d.ts +0 -6
- package/dist/dts/listbox/listbox.styles.d.ts +0 -3
- package/dist/dts/listbox-option/index.d.ts +0 -17
- package/dist/dts/listbox-option/listbox-option.stories.d.ts +0 -23
- package/dist/dts/listbox-option/listbox-option.styles.d.ts +0 -3
- package/dist/dts/menu/index.d.ts +0 -26
- package/dist/dts/menu/menu.stories.d.ts +0 -6
- package/dist/dts/menu/menu.styles.d.ts +0 -3
- package/dist/dts/menu-item/index.d.ts +0 -21
- package/dist/dts/menu-item/menu-item.stories.d.ts +0 -18
- package/dist/dts/menu-item/menu-item.styles.d.ts +0 -3
- package/dist/dts/number-field/index.d.ts +0 -41
- package/dist/dts/number-field/number-field.stories.d.ts +0 -71
- package/dist/dts/number-field/number-field.styles.d.ts +0 -3
- package/dist/dts/progress/index.d.ts +0 -2
- package/dist/dts/progress/progress/index.d.ts +0 -22
- package/dist/dts/progress/progress/progress.stories.d.ts +0 -15
- package/dist/dts/progress/progress/progress.styles.d.ts +0 -3
- package/dist/dts/progress/progress-ring/index.d.ts +0 -22
- package/dist/dts/progress/progress-ring/progress-ring.stories.d.ts +0 -15
- package/dist/dts/progress/progress-ring/progress-ring.styles.d.ts +0 -3
- package/dist/dts/radio/index.d.ts +0 -21
- package/dist/dts/radio/radio.stories.d.ts +0 -23
- package/dist/dts/radio/radio.styles.d.ts +0 -3
- package/dist/dts/radio-group/index.d.ts +0 -21
- package/dist/dts/radio-group/radio-group.stories.d.ts +0 -18
- package/dist/dts/radio-group/radio-group.styles.d.ts +0 -3
- package/dist/dts/search/index.d.ts +0 -38
- package/dist/dts/search/search.stories.d.ts +0 -75
- package/dist/dts/search/search.styles.d.ts +0 -3
- package/dist/dts/search/search.template.d.ts +0 -6
- package/dist/dts/select/index.d.ts +0 -44
- package/dist/dts/select/select.stories.d.ts +0 -28
- package/dist/dts/select/select.styles.d.ts +0 -13
- package/dist/dts/skeleton/index.d.ts +0 -21
- package/dist/dts/skeleton/skeleton.stories.d.ts +0 -20
- package/dist/dts/skeleton/skeleton.styles.d.ts +0 -3
- package/dist/dts/slider/index.d.ts +0 -21
- package/dist/dts/slider/slider.stories.d.ts +0 -14
- package/dist/dts/slider/slider.styles.d.ts +0 -3
- package/dist/dts/slider-label/index.d.ts +0 -21
- package/dist/dts/slider-label/slider-label.stories.d.ts +0 -23
- package/dist/dts/slider-label/slider-label.styles.d.ts +0 -3
- package/dist/dts/styles/direction.d.ts +0 -34
- package/dist/dts/styles/elevation.d.ts +0 -64
- package/dist/dts/styles/focus.d.ts +0 -13
- package/dist/dts/styles/index.d.ts +0 -5
- package/dist/dts/styles/patterns/button.styles.d.ts +0 -31
- package/dist/dts/styles/patterns/index.d.ts +0 -3
- package/dist/dts/styles/patterns/input.styles.d.ts +0 -30
- package/dist/dts/styles/patterns/type-ramp.d.ts +0 -18
- package/dist/dts/styles/size.d.ts +0 -7
- package/dist/dts/switch/index.d.ts +0 -21
- package/dist/dts/switch/switch.stories.d.ts +0 -18
- package/dist/dts/switch/switch.styles.d.ts +0 -3
- package/dist/dts/tabs/index.d.ts +0 -23
- package/dist/dts/tabs/tab/index.d.ts +0 -21
- package/dist/dts/tabs/tab/tab.styles.d.ts +0 -3
- package/dist/dts/tabs/tab-panel/index.d.ts +0 -21
- package/dist/dts/tabs/tab-panel/tab-panel.styles.d.ts +0 -3
- package/dist/dts/tabs/tabs.stories.d.ts +0 -19
- package/dist/dts/tabs/tabs.styles.d.ts +0 -3
- package/dist/dts/text-area/index.d.ts +0 -45
- package/dist/dts/text-area/text-area.stories.d.ts +0 -41
- package/dist/dts/text-area/text-area.styles.d.ts +0 -3
- package/dist/dts/text-field/index.d.ts +0 -45
- package/dist/dts/text-field/text-field.stories.d.ts +0 -81
- package/dist/dts/text-field/text-field.styles.d.ts +0 -3
- package/dist/dts/toolbar/index.d.ts +0 -17
- package/dist/dts/toolbar/toolbar.stories.d.ts +0 -9
- package/dist/dts/toolbar/toolbar.styles.d.ts +0 -3
- package/dist/dts/tooltip/index.d.ts +0 -21
- package/dist/dts/tooltip/tooltip.stories.d.ts +0 -14
- package/dist/dts/tooltip/tooltip.styles.d.ts +0 -3
- package/dist/dts/tree-item/index.d.ts +0 -22
- package/dist/dts/tree-item/tree-item.stories.d.ts +0 -18
- package/dist/dts/tree-item/tree-item.styles.d.ts +0 -4
- package/dist/dts/tree-view/index.d.ts +0 -22
- package/dist/dts/tree-view/tree-view.stories.d.ts +0 -13
- package/dist/dts/tree-view/tree-view.styles.d.ts +0 -3
- package/dist/dts/utilities/behaviors.d.ts +0 -12
- package/dist/dts/utilities/type-ramp.d.ts +0 -12
- package/dist/esm/_docs/design-system/color-explorer/app.js +0 -247
- package/dist/esm/_docs/design-system/color-explorer/colors.js +0 -24
- package/dist/esm/_docs/design-system/color-explorer/component-types.js +0 -7
- package/dist/esm/_docs/design-system/color-explorer/components/color-block.js +0 -408
- package/dist/esm/_docs/design-system/color-explorer/components/color-picker/color-picker.form-associated.js +0 -16
- package/dist/esm/_docs/design-system/color-explorer/components/color-picker/color-picker.js +0 -297
- package/dist/esm/_docs/design-system/color-explorer/components/color-picker/color-picker.styles.js +0 -124
- package/dist/esm/_docs/design-system/color-explorer/components/color-picker/color-picker.template.js +0 -130
- package/dist/esm/_docs/design-system/color-explorer/components/color-picker/index.js +0 -15
- package/dist/esm/_docs/design-system/color-explorer/components/control-pane/control-pane.js +0 -24
- package/dist/esm/_docs/design-system/color-explorer/components/control-pane/control-pane.styles.js +0 -19
- package/dist/esm/_docs/design-system/color-explorer/components/control-pane/control-pane.template.js +0 -52
- package/dist/esm/_docs/design-system/color-explorer/components/control-pane/index.js +0 -18
- package/dist/esm/_docs/design-system/color-explorer/components/gradient/gradient.js +0 -11
- package/dist/esm/_docs/design-system/color-explorer/components/gradient/gradient.styles.js +0 -31
- package/dist/esm/_docs/design-system/color-explorer/components/gradient/gradient.template.js +0 -21
- package/dist/esm/_docs/design-system/color-explorer/components/gradient/index.js +0 -18
- package/dist/esm/_docs/design-system/color-explorer/components/layer-background/index.js +0 -70
- package/dist/esm/_docs/design-system/color-explorer/components/sample-app/index.js +0 -18
- package/dist/esm/_docs/design-system/color-explorer/components/sample-app/sample-app.js +0 -3
- package/dist/esm/_docs/design-system/color-explorer/components/sample-app/sample-app.styles.js +0 -166
- package/dist/esm/_docs/design-system/color-explorer/components/sample-app/sample-app.template.js +0 -97
- package/dist/esm/_docs/design-system/color-explorer/components/sample-page/index.js +0 -18
- package/dist/esm/_docs/design-system/color-explorer/components/sample-page/sample-page.js +0 -3
- package/dist/esm/_docs/design-system/color-explorer/components/sample-page/sample-page.styles.js +0 -130
- package/dist/esm/_docs/design-system/color-explorer/components/sample-page/sample-page.template.js +0 -82
- package/dist/esm/_docs/design-system/color-explorer/components/swatch.js +0 -163
- package/dist/esm/_docs/design-system/color-explorer/custom-elements.js +0 -3
- package/dist/esm/_docs/design-system/color-explorer/index.js +0 -14
- package/dist/esm/accordion/accordion-item/accordion-item.styles.js +0 -154
- package/dist/esm/accordion/accordion-item/accordion-item.vscode.definition.json +0 -67
- package/dist/esm/accordion/accordion-item/index.js +0 -32
- package/dist/esm/accordion/accordion.stories.js +0 -66
- package/dist/esm/accordion/accordion.styles.js +0 -13
- package/dist/esm/accordion/accordion.vscode.definition.json +0 -35
- package/dist/esm/accordion/index.js +0 -27
- package/dist/esm/anchor/anchor.stories.js +0 -34
- package/dist/esm/anchor/anchor.styles.js +0 -5
- package/dist/esm/anchor/anchor.vscode.definition.json +0 -138
- package/dist/esm/anchor/index.js +0 -67
- package/dist/esm/anchored-region/anchored-region.stories.js +0 -133
- package/dist/esm/anchored-region/anchored-region.styles.js +0 -7
- package/dist/esm/anchored-region/anchored-region.vscode.definition.json +0 -140
- package/dist/esm/anchored-region/index.js +0 -26
- package/dist/esm/badge/badge.stories.js +0 -27
- package/dist/esm/badge/badge.styles.js +0 -40
- package/dist/esm/badge/badge.vscode.definition.json +0 -60
- package/dist/esm/badge/index.js +0 -45
- package/dist/esm/breadcrumb/breadcrumb.stories.js +0 -20
- package/dist/esm/breadcrumb/breadcrumb.styles.js +0 -13
- package/dist/esm/breadcrumb/breadcrumb.vscode.definition.json +0 -18
- package/dist/esm/breadcrumb/index.js +0 -26
- package/dist/esm/breadcrumb-item/breadcrumb-item.stories.js +0 -16
- package/dist/esm/breadcrumb-item/breadcrumb-item.styles.js +0 -96
- package/dist/esm/breadcrumb-item/breadcrumb-item.vscode.definition.json +0 -50
- package/dist/esm/breadcrumb-item/index.js +0 -34
- package/dist/esm/button/button.stories.js +0 -40
- package/dist/esm/button/button.styles.js +0 -24
- package/dist/esm/button/button.vscode.definition.json +0 -158
- package/dist/esm/button/index.js +0 -67
- package/dist/esm/calendar/calendar.stories.js +0 -115
- package/dist/esm/calendar/calendar.styles.js +0 -132
- package/dist/esm/calendar/index.js +0 -31
- package/dist/esm/card/card.stories.js +0 -30
- package/dist/esm/card/card.styles.js +0 -28
- package/dist/esm/card/card.vscode.definition.json +0 -33
- package/dist/esm/card/index.js +0 -79
- package/dist/esm/checkbox/checkbox.stories.js +0 -43
- package/dist/esm/checkbox/checkbox.styles.js +0 -161
- package/dist/esm/checkbox/checkbox.vscode.definition.json +0 -69
- package/dist/esm/checkbox/index.js +0 -31
- package/dist/esm/color/palette.js +0 -250
- package/dist/esm/color/recipe.js +0 -1
- package/dist/esm/color/recipes/contrast-and-delta-swatch-set.js +0 -28
- package/dist/esm/color/recipes/contrast-swatch.js +0 -12
- package/dist/esm/color/recipes/delta-swatch-set.js +0 -53
- package/dist/esm/color/recipes/delta-swatch.js +0 -13
- package/dist/esm/color/recipes/focus-stroke.js +0 -14
- package/dist/esm/color/recipes/foreground-on-accent.js +0 -21
- package/dist/esm/color/recipes/gradient-shadow-stroke.js +0 -54
- package/dist/esm/color/recipes/gradient-swatch.js +0 -36
- package/dist/esm/color/recipes/neutral-layer-1.js +0 -13
- package/dist/esm/color/recipes/neutral-layer-2.js +0 -7
- package/dist/esm/color/recipes/neutral-layer-3.js +0 -7
- package/dist/esm/color/recipes/neutral-layer-4.js +0 -7
- package/dist/esm/color/recipes/neutral-layer-floating.js +0 -7
- package/dist/esm/color/recipes/underline-stroke.js +0 -31
- package/dist/esm/color/swatch.js +0 -53
- package/dist/esm/color/utilities/base-layer-luminance.js +0 -14
- package/dist/esm/color/utilities/binary-search.js +0 -15
- package/dist/esm/color/utilities/color-constants.js +0 -19
- package/dist/esm/color/utilities/direction-by-is-dark.js +0 -7
- package/dist/esm/color/utilities/is-dark.js +0 -17
- package/dist/esm/color/utilities/relative-luminance.js +0 -8
- package/dist/esm/combobox/combobox.stories.js +0 -84
- package/dist/esm/combobox/combobox.styles.js +0 -40
- package/dist/esm/combobox/combobox.vscode.definition.json +0 -121
- package/dist/esm/combobox/index.js +0 -63
- package/dist/esm/component-definitions.js +0 -84
- package/dist/esm/custom-elements.js +0 -102
- package/dist/esm/data-grid/data-grid-cell.styles.js +0 -36
- package/dist/esm/data-grid/data-grid-cell.vscode.definition.json +0 -34
- package/dist/esm/data-grid/data-grid-row.styles.js +0 -24
- package/dist/esm/data-grid/data-grid-row.vscode.definition.json +0 -34
- package/dist/esm/data-grid/data-grid.stories.js +0 -381
- package/dist/esm/data-grid/data-grid.styles.js +0 -8
- package/dist/esm/data-grid/data-grid.vscode.definition.json +0 -34
- package/dist/esm/data-grid/index.js +0 -60
- package/dist/esm/design-system-provider/design-system-provider.vscode.definition.json +0 -510
- package/dist/esm/design-system-provider/index.js +0 -518
- package/dist/esm/design-tokens.js +0 -685
- package/dist/esm/dialog/dialog.stories.js +0 -36
- package/dist/esm/dialog/dialog.styles.js +0 -47
- package/dist/esm/dialog/dialog.vscode.definition.json +0 -67
- package/dist/esm/dialog/index.js +0 -26
- package/dist/esm/divider/divider.stories.js +0 -17
- package/dist/esm/divider/divider.styles.js +0 -11
- package/dist/esm/divider/divider.vscode.definition.json +0 -29
- package/dist/esm/divider/index.js +0 -26
- package/dist/esm/flipper/flipper.stories.js +0 -31
- package/dist/esm/flipper/flipper.styles.js +0 -84
- package/dist/esm/flipper/flipper.vscode.definition.json +0 -56
- package/dist/esm/flipper/index.js +0 -36
- package/dist/esm/fluent-design-system.js +0 -11
- package/dist/esm/horizontal-scroll/horizontal-scroll.stories.js +0 -81
- package/dist/esm/horizontal-scroll/horizontal-scroll.styles.js +0 -138
- package/dist/esm/horizontal-scroll/horizontal-scroll.vscode.definition.json +0 -85
- package/dist/esm/horizontal-scroll/index.js +0 -47
- package/dist/esm/listbox/index.js +0 -24
- package/dist/esm/listbox/listbox.stories.js +0 -29
- package/dist/esm/listbox/listbox.styles.js +0 -21
- package/dist/esm/listbox/listbox.vscode.definition.json +0 -40
- package/dist/esm/listbox-option/index.js +0 -22
- package/dist/esm/listbox-option/listbox-option.stories.js +0 -38
- package/dist/esm/listbox-option/listbox-option.styles.js +0 -133
- package/dist/esm/listbox-option/listbox-option.vscode.definition.json +0 -45
- package/dist/esm/menu/index.js +0 -36
- package/dist/esm/menu/menu.stories.js +0 -56
- package/dist/esm/menu/menu.styles.js +0 -42
- package/dist/esm/menu/menu.vscode.definition.json +0 -18
- package/dist/esm/menu-item/index.js +0 -41
- package/dist/esm/menu-item/menu-item.stories.js +0 -34
- package/dist/esm/menu-item/menu-item.styles.js +0 -265
- package/dist/esm/menu-item/menu-item.vscode.definition.json +0 -82
- package/dist/esm/number-field/index.js +0 -57
- package/dist/esm/number-field/number-field.stories.js +0 -83
- package/dist/esm/number-field/number-field.styles.js +0 -71
- package/dist/esm/number-field/number-field.vscode.definition.json +0 -167
- package/dist/esm/progress/index.js +0 -2
- package/dist/esm/progress/progress/index.js +0 -33
- package/dist/esm/progress/progress/progress.stories.js +0 -59
- package/dist/esm/progress/progress/progress.styles.js +0 -119
- package/dist/esm/progress/progress/progress.vscode.definition.json +0 -56
- package/dist/esm/progress/progress-ring/index.js +0 -45
- package/dist/esm/progress/progress-ring/progress-ring.stories.js +0 -59
- package/dist/esm/progress/progress-ring/progress-ring.styles.js +0 -79
- package/dist/esm/progress/progress-ring/progress-ring.vscode.definition.json +0 -56
- package/dist/esm/radio/index.js +0 -31
- package/dist/esm/radio/radio.stories.js +0 -41
- package/dist/esm/radio/radio.styles.js +0 -152
- package/dist/esm/radio/radio.vscode.definition.json +0 -63
- package/dist/esm/radio-group/index.js +0 -26
- package/dist/esm/radio-group/radio-group.stories.js +0 -42
- package/dist/esm/radio-group/radio-group.styles.js +0 -21
- package/dist/esm/radio-group/radio-group.vscode.definition.json +0 -64
- package/dist/esm/search/index.js +0 -52
- package/dist/esm/search/search.stories.js +0 -83
- package/dist/esm/search/search.styles.js +0 -104
- package/dist/esm/search/search.template.js +0 -82
- package/dist/esm/search/search.vscode.definition.json +0 -145
- package/dist/esm/select/index.js +0 -61
- package/dist/esm/select/select.stories.js +0 -53
- package/dist/esm/select/select.styles.js +0 -139
- package/dist/esm/select/select.vscode.definition.json +0 -79
- package/dist/esm/skeleton/index.js +0 -26
- package/dist/esm/skeleton/skeleton.stories.js +0 -37
- package/dist/esm/skeleton/skeleton.styles.js +0 -77
- package/dist/esm/skeleton/skeleton.vscode.definition.json +0 -49
- package/dist/esm/slider/index.js +0 -29
- package/dist/esm/slider/slider.stories.js +0 -40
- package/dist/esm/slider/slider.styles.js +0 -162
- package/dist/esm/slider/slider.vscode.definition.json +0 -101
- package/dist/esm/slider-label/index.js +0 -26
- package/dist/esm/slider-label/slider-label.stories.js +0 -40
- package/dist/esm/slider-label/slider-label.styles.js +0 -77
- package/dist/esm/slider-label/slider-label.vscode.definition.json +0 -43
- package/dist/esm/styles/direction.js +0 -73
- package/dist/esm/styles/elevation.js +0 -74
- package/dist/esm/styles/focus.js +0 -21
- package/dist/esm/styles/index.js +0 -5
- package/dist/esm/styles/patterns/button.styles.js +0 -427
- package/dist/esm/styles/patterns/index.js +0 -3
- package/dist/esm/styles/patterns/input.styles.js +0 -227
- package/dist/esm/styles/patterns/type-ramp.js +0 -74
- package/dist/esm/styles/size.js +0 -9
- package/dist/esm/switch/index.js +0 -31
- package/dist/esm/switch/switch.stories.js +0 -42
- package/dist/esm/switch/switch.styles.js +0 -213
- package/dist/esm/switch/switch.vscode.definition.json +0 -68
- package/dist/esm/tabs/index.js +0 -28
- package/dist/esm/tabs/tab/index.js +0 -26
- package/dist/esm/tabs/tab/tab.styles.js +0 -75
- package/dist/esm/tabs/tab/tab.vscode.definition.json +0 -17
- package/dist/esm/tabs/tab-panel/index.js +0 -26
- package/dist/esm/tabs/tab-panel/tab-panel.styles.js +0 -11
- package/dist/esm/tabs/tab-panel/tab-panel.vscode.definition.json +0 -17
- package/dist/esm/tabs/tabs.stories.js +0 -105
- package/dist/esm/tabs/tabs.styles.js +0 -98
- package/dist/esm/tabs/tabs.vscode.definition.json +0 -50
- package/dist/esm/text-area/index.js +0 -56
- package/dist/esm/text-area/text-area.stories.js +0 -56
- package/dist/esm/text-area/text-area.styles.js +0 -39
- package/dist/esm/text-area/text-area.vscode.definition.json +0 -141
- package/dist/esm/text-field/index.js +0 -56
- package/dist/esm/text-field/text-field.stories.js +0 -88
- package/dist/esm/text-field/text-field.styles.js +0 -48
- package/dist/esm/text-field/text-field.vscode.definition.json +0 -150
- package/dist/esm/toolbar/index.js +0 -23
- package/dist/esm/toolbar/toolbar.stories.js +0 -9
- package/dist/esm/toolbar/toolbar.styles.js +0 -73
- package/dist/esm/tooltip/index.js +0 -31
- package/dist/esm/tooltip/tooltip.stories.js +0 -34
- package/dist/esm/tooltip/tooltip.styles.js +0 -107
- package/dist/esm/tooltip/tooltip.vscode.definition.json +0 -56
- package/dist/esm/tree-item/index.js +0 -32
- package/dist/esm/tree-item/tree-item.stories.js +0 -34
- package/dist/esm/tree-item/tree-item.styles.js +0 -227
- package/dist/esm/tree-item/tree-item.vscode.definition.json +0 -63
- package/dist/esm/tree-view/index.js +0 -27
- package/dist/esm/tree-view/tree-view.stories.js +0 -99
- package/dist/esm/tree-view/tree-view.styles.js +0 -14
- package/dist/esm/tree-view/tree-view.vscode.definition.json +0 -26
- package/dist/esm/utilities/behaviors.js +0 -13
- package/dist/esm/utilities/type-ramp.js +0 -12
- package/public/switches.ts +0 -24
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1.1,
|
|
3
|
-
"tags": [
|
|
4
|
-
{
|
|
5
|
-
"name": "fluent-checkbox",
|
|
6
|
-
"title": "Checkbox",
|
|
7
|
-
"description": "The Fluent UI checkbox element",
|
|
8
|
-
"attributes": [
|
|
9
|
-
{
|
|
10
|
-
"name": "checked",
|
|
11
|
-
"title": "Checked",
|
|
12
|
-
"description": "Whether or not this checkbox is checked by default",
|
|
13
|
-
"type": "boolean",
|
|
14
|
-
"default": false,
|
|
15
|
-
"required": false
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"name": "name",
|
|
19
|
-
"title": "Name",
|
|
20
|
-
"description": "This element's value will be surfaced during form submission under the provided name",
|
|
21
|
-
"type": "string",
|
|
22
|
-
"default": "",
|
|
23
|
-
"required": false
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"name": "required",
|
|
27
|
-
"title": "Required",
|
|
28
|
-
"description": "Require the field to be completed prior to form submission",
|
|
29
|
-
"type": "boolean",
|
|
30
|
-
"default": false,
|
|
31
|
-
"required": false
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"name": "disabled",
|
|
35
|
-
"title": "Disabled",
|
|
36
|
-
"description": "Sets the disabled state of the checkbox",
|
|
37
|
-
"type": "boolean",
|
|
38
|
-
"default": false,
|
|
39
|
-
"required": false
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"name": "readonly",
|
|
43
|
-
"title": "Readonly",
|
|
44
|
-
"description": "When true, the control will be immutable by user interaction",
|
|
45
|
-
"type": "boolean",
|
|
46
|
-
"default": false,
|
|
47
|
-
"required": false
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"slots": [
|
|
51
|
-
{
|
|
52
|
-
"name": "",
|
|
53
|
-
"title": "Default slot",
|
|
54
|
-
"description": "The content of the checkbox represents its visual label"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"name": "indeterminate-indicator",
|
|
58
|
-
"title": "Indeterminate indicator slot",
|
|
59
|
-
"description": "Slot to provide a custom icon to represent the inditerminate state"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"name": "checked-indicator",
|
|
63
|
-
"title": "Checked indicator slot",
|
|
64
|
-
"description": "Slot to provide a custom icon to represent the checked state"
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Checkbox, checkboxTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
-
import { checkboxStyles as styles } from './checkbox.styles';
|
|
3
|
-
/**
|
|
4
|
-
* The Fluent Checkbox Element. Implements {@link @microsoft/fast-foundation#Checkbox},
|
|
5
|
-
* {@link @microsoft/fast-foundation#checkboxTemplate}
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @public
|
|
9
|
-
* @remarks
|
|
10
|
-
* HTML Element: \<fluent-checkbox\>
|
|
11
|
-
*/
|
|
12
|
-
export const fluentCheckbox = Checkbox.compose({
|
|
13
|
-
baseName: 'checkbox',
|
|
14
|
-
template,
|
|
15
|
-
styles,
|
|
16
|
-
checkedIndicator: `
|
|
17
|
-
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg">
|
|
18
|
-
<path d="M13.86 3.66a.5.5 0 01-.02.7l-7.93 7.48a.6.6 0 01-.84-.02L2.4 9.1a.5.5 0 01.72-.7l2.4 2.44 7.65-7.2a.5.5 0 01.7.02z"/>
|
|
19
|
-
</svg>
|
|
20
|
-
`,
|
|
21
|
-
indeterminateIndicator: `
|
|
22
|
-
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg">
|
|
23
|
-
<path d="M3 8c0-.28.22-.5.5-.5h9a.5.5 0 010 1h-9A.5.5 0 013 8z"/>
|
|
24
|
-
</svg>
|
|
25
|
-
`,
|
|
26
|
-
});
|
|
27
|
-
/**
|
|
28
|
-
* Styles for Checkbox
|
|
29
|
-
* @public
|
|
30
|
-
*/
|
|
31
|
-
export const checkboxStyles = styles;
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
import { clamp, ColorHSL, ColorLAB, ColorRGBA64, hslToRGB, interpolateRGB, labToRGB, rgbToHSL, rgbToLAB, roundToPrecisionSmall, } from '@microsoft/fast-colors';
|
|
2
|
-
import { isSwatchRGB, SwatchRGB } from './swatch';
|
|
3
|
-
import { binarySearch } from './utilities/binary-search';
|
|
4
|
-
import { directionByIsDark } from './utilities/direction-by-is-dark';
|
|
5
|
-
import { contrast } from './utilities/relative-luminance';
|
|
6
|
-
const defaultPaletteRGBOptions = {
|
|
7
|
-
stepContrast: 1.03,
|
|
8
|
-
stepContrastRamp: 0.03,
|
|
9
|
-
preserveSource: false,
|
|
10
|
-
};
|
|
11
|
-
function create(rOrSource, g, b) {
|
|
12
|
-
if (typeof rOrSource === 'number') {
|
|
13
|
-
return PaletteRGB.from(SwatchRGB.create(rOrSource, g, b));
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
return PaletteRGB.from(rOrSource);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function from(source, options) {
|
|
20
|
-
return isSwatchRGB(source)
|
|
21
|
-
? PaletteRGBImpl.from(source, options)
|
|
22
|
-
: PaletteRGBImpl.from(SwatchRGB.create(source.r, source.g, source.b), options);
|
|
23
|
-
}
|
|
24
|
-
/** @public */
|
|
25
|
-
export const PaletteRGB = Object.freeze({
|
|
26
|
-
create,
|
|
27
|
-
from,
|
|
28
|
-
});
|
|
29
|
-
/**
|
|
30
|
-
* A {@link Palette} representing RGB swatch values.
|
|
31
|
-
* @public
|
|
32
|
-
*/
|
|
33
|
-
class PaletteRGBImpl {
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* @param source - The source color for the palette
|
|
37
|
-
* @param swatches - All swatches in the palette
|
|
38
|
-
*/
|
|
39
|
-
constructor(source, swatches) {
|
|
40
|
-
this.closestIndexCache = new Map();
|
|
41
|
-
this.source = source;
|
|
42
|
-
this.swatches = swatches;
|
|
43
|
-
this.reversedSwatches = Object.freeze([...this.swatches].reverse());
|
|
44
|
-
this.lastIndex = this.swatches.length - 1;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* {@inheritdoc Palette.colorContrast}
|
|
48
|
-
*/
|
|
49
|
-
colorContrast(reference, contrastTarget, initialSearchIndex, direction) {
|
|
50
|
-
if (initialSearchIndex === undefined) {
|
|
51
|
-
initialSearchIndex = this.closestIndexOf(reference);
|
|
52
|
-
}
|
|
53
|
-
let source = this.swatches;
|
|
54
|
-
const endSearchIndex = this.lastIndex;
|
|
55
|
-
let startSearchIndex = initialSearchIndex;
|
|
56
|
-
if (direction === undefined) {
|
|
57
|
-
direction = directionByIsDark(reference);
|
|
58
|
-
}
|
|
59
|
-
const condition = (value) => contrast(reference, value) >= contrastTarget;
|
|
60
|
-
if (direction === -1) {
|
|
61
|
-
source = this.reversedSwatches;
|
|
62
|
-
startSearchIndex = endSearchIndex - startSearchIndex;
|
|
63
|
-
}
|
|
64
|
-
return binarySearch(source, condition, startSearchIndex, endSearchIndex);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* {@inheritdoc Palette.get}
|
|
68
|
-
*/
|
|
69
|
-
get(index) {
|
|
70
|
-
return this.swatches[index] || this.swatches[clamp(index, 0, this.lastIndex)];
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* {@inheritdoc Palette.closestIndexOf}
|
|
74
|
-
*/
|
|
75
|
-
closestIndexOf(reference) {
|
|
76
|
-
if (this.closestIndexCache.has(reference.relativeLuminance)) {
|
|
77
|
-
return this.closestIndexCache.get(reference.relativeLuminance);
|
|
78
|
-
}
|
|
79
|
-
let index = this.swatches.indexOf(reference);
|
|
80
|
-
if (index !== -1) {
|
|
81
|
-
this.closestIndexCache.set(reference.relativeLuminance, index);
|
|
82
|
-
return index;
|
|
83
|
-
}
|
|
84
|
-
const closest = this.swatches.reduce((previous, next) => Math.abs(next.relativeLuminance - reference.relativeLuminance) <
|
|
85
|
-
Math.abs(previous.relativeLuminance - reference.relativeLuminance)
|
|
86
|
-
? next
|
|
87
|
-
: previous);
|
|
88
|
-
index = this.swatches.indexOf(closest);
|
|
89
|
-
this.closestIndexCache.set(reference.relativeLuminance, index);
|
|
90
|
-
return index;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Bump the saturation if it falls below the reference color saturation.
|
|
94
|
-
* @param reference Color with target saturation
|
|
95
|
-
* @param color Color to check and bump if below target saturation
|
|
96
|
-
* @returns Original or adjusted color
|
|
97
|
-
*/
|
|
98
|
-
static saturationBump(reference, color) {
|
|
99
|
-
const hslReference = rgbToHSL(reference);
|
|
100
|
-
const saturationTarget = hslReference.s;
|
|
101
|
-
const hslColor = rgbToHSL(color);
|
|
102
|
-
if (hslColor.s < saturationTarget) {
|
|
103
|
-
const hslNew = new ColorHSL(hslColor.h, saturationTarget, hslColor.l);
|
|
104
|
-
return hslToRGB(hslNew);
|
|
105
|
-
}
|
|
106
|
-
return color;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Scales input from 0 to 100 to 0 to 0.5.
|
|
110
|
-
* @param l Input number, 0 to 100
|
|
111
|
-
* @returns Output number, 0 to 0.5
|
|
112
|
-
*/
|
|
113
|
-
static ramp(l) {
|
|
114
|
-
const inputval = l / 100;
|
|
115
|
-
if (inputval > 0.5)
|
|
116
|
-
return (inputval - 0.5) / 0.5; //from 0.500001in = 0.00000001out to 1.0in = 1.0out
|
|
117
|
-
return 2 * inputval; //from 0in = 0out to 0.5in = 1.0out
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Create a palette following the desired curve and many steps to build a smaller palette from.
|
|
121
|
-
* @param source The source swatch to create a palette from
|
|
122
|
-
* @returns The palette
|
|
123
|
-
*/
|
|
124
|
-
static createHighResolutionPalette(source) {
|
|
125
|
-
const swatches = [];
|
|
126
|
-
const labSource = rgbToLAB(ColorRGBA64.fromObject(source).roundToPrecision(4));
|
|
127
|
-
const lab0 = labToRGB(new ColorLAB(0, labSource.a, labSource.b)).clamp().roundToPrecision(4);
|
|
128
|
-
const lab50 = labToRGB(new ColorLAB(50, labSource.a, labSource.b)).clamp().roundToPrecision(4);
|
|
129
|
-
const lab100 = labToRGB(new ColorLAB(100, labSource.a, labSource.b)).clamp().roundToPrecision(4);
|
|
130
|
-
const rgbMin = new ColorRGBA64(0, 0, 0);
|
|
131
|
-
const rgbMax = new ColorRGBA64(1, 1, 1);
|
|
132
|
-
const lAbove = lab100.equalValue(rgbMax) ? 0 : 14;
|
|
133
|
-
const lBelow = lab0.equalValue(rgbMin) ? 0 : 14;
|
|
134
|
-
// 257 levels max, depending on whether lab0 or lab100 are black or white respectively.
|
|
135
|
-
for (let l = 100 + lAbove; l >= 0 - lBelow; l -= 0.5) {
|
|
136
|
-
let rgb;
|
|
137
|
-
if (l < 0) {
|
|
138
|
-
// For L less than 0, scale from black to L=0
|
|
139
|
-
const percentFromRgbMinToLab0 = l / lBelow + 1;
|
|
140
|
-
rgb = interpolateRGB(percentFromRgbMinToLab0, rgbMin, lab0);
|
|
141
|
-
}
|
|
142
|
-
else if (l <= 50) {
|
|
143
|
-
// For L less than 50, we scale from L=0 to the base color
|
|
144
|
-
rgb = interpolateRGB(PaletteRGBImpl.ramp(l), lab0, lab50);
|
|
145
|
-
}
|
|
146
|
-
else if (l <= 100) {
|
|
147
|
-
// For L less than 100, scale from the base color to L=100
|
|
148
|
-
rgb = interpolateRGB(PaletteRGBImpl.ramp(l), lab50, lab100);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
// For L greater than 100, scale from L=100 to white
|
|
152
|
-
const percentFromLab100ToRgbMax = (l - 100.0) / lAbove;
|
|
153
|
-
rgb = interpolateRGB(percentFromLab100ToRgbMax, lab100, rgbMax);
|
|
154
|
-
}
|
|
155
|
-
rgb = PaletteRGBImpl.saturationBump(lab50, rgb).roundToPrecision(4);
|
|
156
|
-
swatches.push(SwatchRGB.from(rgb));
|
|
157
|
-
}
|
|
158
|
-
return new PaletteRGBImpl(source, swatches);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Adjust one end of the contrast-based palette so it doesn't abruptly fall to black (or white).
|
|
162
|
-
* @param swatchContrast Function to get the target contrast for the next swatch
|
|
163
|
-
* @param referencePalette The high resolution palette
|
|
164
|
-
* @param targetPalette The contrast-based palette to adjust
|
|
165
|
-
* @param direction The end to adjust
|
|
166
|
-
*/
|
|
167
|
-
static adjustEnd(swatchContrast, referencePalette, targetPalette, direction) {
|
|
168
|
-
// Careful with the use of referencePalette as only the refSwatches is reversed.
|
|
169
|
-
const refSwatches = direction === -1 ? referencePalette.swatches : referencePalette.reversedSwatches;
|
|
170
|
-
const refIndex = (swatch) => {
|
|
171
|
-
const index = referencePalette.closestIndexOf(swatch);
|
|
172
|
-
return direction === 1 ? referencePalette.lastIndex - index : index;
|
|
173
|
-
};
|
|
174
|
-
// Only operates on the 'end' end of the array, so flip if we're adjusting the 'beginning'
|
|
175
|
-
if (direction === 1) {
|
|
176
|
-
targetPalette.reverse();
|
|
177
|
-
}
|
|
178
|
-
const targetContrast = swatchContrast(targetPalette[targetPalette.length - 2]);
|
|
179
|
-
const actualContrast = roundToPrecisionSmall(contrast(targetPalette[targetPalette.length - 1], targetPalette[targetPalette.length - 2]), 2);
|
|
180
|
-
if (actualContrast < targetContrast) {
|
|
181
|
-
// Remove last swatch if not sufficient contrast
|
|
182
|
-
targetPalette.pop();
|
|
183
|
-
// Distribute to the last swatch
|
|
184
|
-
const safeSecondSwatch = referencePalette.colorContrast(refSwatches[referencePalette.lastIndex], targetContrast, undefined, direction);
|
|
185
|
-
const safeSecondRefIndex = refIndex(safeSecondSwatch);
|
|
186
|
-
const targetSwatchCurrentRefIndex = refIndex(targetPalette[targetPalette.length - 2]);
|
|
187
|
-
const swatchesToSpace = safeSecondRefIndex - targetSwatchCurrentRefIndex;
|
|
188
|
-
let space = 1;
|
|
189
|
-
for (let i = targetPalette.length - swatchesToSpace - 1; i < targetPalette.length; i++) {
|
|
190
|
-
const currentRefIndex = refIndex(targetPalette[i]);
|
|
191
|
-
const nextRefIndex = i === targetPalette.length - 1 ? referencePalette.lastIndex : currentRefIndex + space;
|
|
192
|
-
targetPalette[i] = refSwatches[nextRefIndex];
|
|
193
|
-
space++;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
if (direction === 1) {
|
|
197
|
-
targetPalette.reverse();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Generate a palette with consistent minimum contrast between swatches.
|
|
202
|
-
* @param source The source color
|
|
203
|
-
* @param options Palette generation options
|
|
204
|
-
* @returns A palette meeting the requested contrast between swatches.
|
|
205
|
-
*/
|
|
206
|
-
static createColorPaletteByContrast(source, options) {
|
|
207
|
-
const referencePalette = PaletteRGBImpl.createHighResolutionPalette(source);
|
|
208
|
-
// Ramp function to increase contrast as the swatches get darker
|
|
209
|
-
const nextContrast = (swatch) => {
|
|
210
|
-
const c = options.stepContrast + options.stepContrast * (1 - swatch.relativeLuminance) * options.stepContrastRamp;
|
|
211
|
-
return roundToPrecisionSmall(c, 2);
|
|
212
|
-
};
|
|
213
|
-
const swatches = [];
|
|
214
|
-
// Start with the source color or the light end color
|
|
215
|
-
let ref = options.preserveSource ? source : referencePalette.swatches[0];
|
|
216
|
-
swatches.push(ref);
|
|
217
|
-
// Add swatches with contrast toward dark
|
|
218
|
-
do {
|
|
219
|
-
const targetContrast = nextContrast(ref);
|
|
220
|
-
ref = referencePalette.colorContrast(ref, targetContrast, undefined, 1);
|
|
221
|
-
swatches.push(ref);
|
|
222
|
-
} while (ref.relativeLuminance > 0);
|
|
223
|
-
// Add swatches with contrast toward light
|
|
224
|
-
if (options.preserveSource) {
|
|
225
|
-
ref = source;
|
|
226
|
-
do {
|
|
227
|
-
// This is off from the dark direction because `ref` here is the darker swatch, probably subtle
|
|
228
|
-
const targetContrast = nextContrast(ref);
|
|
229
|
-
ref = referencePalette.colorContrast(ref, targetContrast, undefined, -1);
|
|
230
|
-
swatches.unshift(ref);
|
|
231
|
-
} while (ref.relativeLuminance < 1);
|
|
232
|
-
}
|
|
233
|
-
// Validate dark end
|
|
234
|
-
this.adjustEnd(nextContrast, referencePalette, swatches, -1);
|
|
235
|
-
// Validate light end
|
|
236
|
-
if (options.preserveSource) {
|
|
237
|
-
this.adjustEnd(nextContrast, referencePalette, swatches, 1);
|
|
238
|
-
}
|
|
239
|
-
return swatches;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Create a color palette from a provided swatch
|
|
243
|
-
* @param source - The source swatch to create a palette from
|
|
244
|
-
* @returns
|
|
245
|
-
*/
|
|
246
|
-
static from(source, options) {
|
|
247
|
-
const opts = options === void 0 || null ? defaultPaletteRGBOptions : Object.assign(Object.assign({}, defaultPaletteRGBOptions), options);
|
|
248
|
-
return new PaletteRGBImpl(source, Object.freeze(PaletteRGBImpl.createColorPaletteByContrast(source, opts)));
|
|
249
|
-
}
|
|
250
|
-
}
|
package/dist/esm/color/recipe.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { directionByIsDark } from '../utilities/direction-by-is-dark';
|
|
2
|
-
import { isDark } from '../utilities/is-dark';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export function contrastAndDeltaSwatchSet(palette, reference, baseContrast, restDelta, hoverDelta, activeDelta, focusDelta, direction) {
|
|
7
|
-
if (direction === null || direction === void 0) {
|
|
8
|
-
direction = directionByIsDark(reference);
|
|
9
|
-
}
|
|
10
|
-
const baseIndex = palette.closestIndexOf(palette.colorContrast(reference, baseContrast));
|
|
11
|
-
return {
|
|
12
|
-
rest: palette.get(baseIndex + direction * restDelta),
|
|
13
|
-
hover: palette.get(baseIndex + direction * hoverDelta),
|
|
14
|
-
active: palette.get(baseIndex + direction * activeDelta),
|
|
15
|
-
focus: palette.get(baseIndex + direction * focusDelta),
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
export function contrastAndDeltaSwatchSetByLuminance(palette, reference, lightBaseContrast, lightRestDelta, lightHoverDelta, lightActiveDelta, lightFocusDelta, lightDirection = undefined, darkBaseContrast, darkRestDelta, darkHoverDelta, darkActiveDelta, darkFocusDelta, darkDirection = undefined) {
|
|
22
|
-
if (isDark(reference)) {
|
|
23
|
-
return contrastAndDeltaSwatchSet(palette, reference, darkBaseContrast, darkRestDelta, darkHoverDelta, darkActiveDelta, darkFocusDelta, darkDirection);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return contrastAndDeltaSwatchSet(palette, reference, lightBaseContrast, lightRestDelta, lightHoverDelta, lightActiveDelta, lightFocusDelta, lightDirection);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color algorithm using contrast from the reference color.
|
|
3
|
-
*
|
|
4
|
-
* @param palette - The palette to operate on
|
|
5
|
-
* @param reference - The reference color
|
|
6
|
-
* @param contrast - The desired minimum contrast
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export function contrastSwatch(palette, reference, contrast) {
|
|
11
|
-
return palette.colorContrast(reference, contrast);
|
|
12
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { directionByIsDark } from '../utilities/direction-by-is-dark';
|
|
2
|
-
import { isDark } from '../utilities/is-dark';
|
|
3
|
-
/**
|
|
4
|
-
* Color algorithm using deltas from the reference color for states.
|
|
5
|
-
*
|
|
6
|
-
* @param palette The palette to operate on
|
|
7
|
-
* @param reference The reference color to calculate a color for
|
|
8
|
-
* @param restDelta The rest state offset from reference
|
|
9
|
-
* @param hoverDelta The hover state offset from reference
|
|
10
|
-
* @param activeDelta The active state offset from reference
|
|
11
|
-
* @param focusDelta The focus state offset from reference
|
|
12
|
-
* @param direction The direction the deltas move on the ramp, default goes darker for light references and lighter for dark references
|
|
13
|
-
*
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
export function deltaSwatchSet(palette, reference, restDelta, hoverDelta, activeDelta, focusDelta, direction) {
|
|
17
|
-
const referenceIndex = palette.closestIndexOf(reference);
|
|
18
|
-
if (direction === null || direction === void 0) {
|
|
19
|
-
direction = directionByIsDark(reference);
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
rest: palette.get(referenceIndex + direction * restDelta),
|
|
23
|
-
hover: palette.get(referenceIndex + direction * hoverDelta),
|
|
24
|
-
active: palette.get(referenceIndex + direction * activeDelta),
|
|
25
|
-
focus: palette.get(referenceIndex + direction * focusDelta),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Color algorithm using deltas from the reference color for states, allowing different deltas based on a light or dark reference color.
|
|
30
|
-
*
|
|
31
|
-
* @param palette The palette to operate on
|
|
32
|
-
* @param reference The reference color to calculate a color for
|
|
33
|
-
* @param lightRestDelta The rest offset for a light reference
|
|
34
|
-
* @param lightHoverDelta The hover offset for a light reference
|
|
35
|
-
* @param lightActiveDelta The rest offset for a light reference
|
|
36
|
-
* @param lightFocusDelta The hover offset for a light reference
|
|
37
|
-
* @param lightDirection The direction the deltas move on the ramp, default goes darker for light references
|
|
38
|
-
* @param darkRestDelta The rest offset for a dark reference
|
|
39
|
-
* @param darkHoverDelta The hover offset for a dark reference
|
|
40
|
-
* @param darkActiveDelta The rest offset for a dark reference
|
|
41
|
-
* @param darkFocusDelta The hover offset for a dark reference
|
|
42
|
-
* @param darkDirection The direction the deltas move on the ramp, default goes lighter for dark references
|
|
43
|
-
*
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
export function deltaSwatchSetByLuminance(palette, reference, lightRestDelta, lightHoverDelta, lightActiveDelta, lightFocusDelta, lightDirection = undefined, darkRestDelta, darkHoverDelta, darkActiveDelta, darkFocusDelta, darkDirection = undefined) {
|
|
47
|
-
if (isDark(reference)) {
|
|
48
|
-
return deltaSwatchSet(palette, reference, darkRestDelta, darkHoverDelta, darkActiveDelta, darkFocusDelta, darkDirection);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return deltaSwatchSet(palette, reference, lightRestDelta, lightHoverDelta, lightActiveDelta, lightFocusDelta, lightDirection);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { directionByIsDark } from '../utilities/direction-by-is-dark';
|
|
2
|
-
/**
|
|
3
|
-
* Color algorithm using a delta from the reference color.
|
|
4
|
-
*
|
|
5
|
-
* @param palette - The palette to operate on
|
|
6
|
-
* @param reference - The reference color
|
|
7
|
-
* @param delta - The offset from the reference
|
|
8
|
-
*
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export function deltaSwatch(palette, reference, delta) {
|
|
12
|
-
return palette.get(palette.closestIndexOf(reference) + directionByIsDark(reference) * delta);
|
|
13
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { black, white } from '../utilities/color-constants';
|
|
2
|
-
import { isDark } from '../utilities/is-dark';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export function focusStrokeOuter(palette, reference) {
|
|
7
|
-
return isDark(reference) ? white : black;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export function focusStrokeInner(palette, reference, focusColor) {
|
|
13
|
-
return isDark(reference) ? black : white;
|
|
14
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { black, white } from '../utilities/color-constants';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*/
|
|
5
|
-
export function foregroundOnAccent(reference, contrastTarget) {
|
|
6
|
-
return reference.contrast(white) >= contrastTarget ? white : black;
|
|
7
|
-
}
|
|
8
|
-
export function foregroundOnAccentSet(restFill, hoverFill, activeFill, focusFill, contrastTarget) {
|
|
9
|
-
const defaultRule = fill => (fill.contrast(white) >= contrastTarget ? white : black);
|
|
10
|
-
const restForeground = defaultRule(restFill);
|
|
11
|
-
const hoverForeground = defaultRule(hoverFill);
|
|
12
|
-
// Active doe not have contrast requirements, so if rest and hover use the same color, use that for active even if it would not have passed the contrast check.
|
|
13
|
-
const activeForeground = restForeground.relativeLuminance === hoverForeground.relativeLuminance ? restForeground : defaultRule(activeFill);
|
|
14
|
-
const focusForeground = defaultRule(focusFill);
|
|
15
|
-
return {
|
|
16
|
-
rest: restForeground,
|
|
17
|
-
hover: hoverForeground,
|
|
18
|
-
active: activeForeground,
|
|
19
|
-
focus: focusForeground,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { calculateOverlayColor, ColorRGBA64, computeAlphaBlend, parseColorHexRGB } from '@microsoft/fast-colors';
|
|
2
|
-
import { SwatchRGB } from '../swatch';
|
|
3
|
-
import { directionByIsDark } from '../utilities/direction-by-is-dark';
|
|
4
|
-
import { GradientSwatchRGB } from './gradient-swatch';
|
|
5
|
-
const black = new ColorRGBA64(0, 0, 0);
|
|
6
|
-
const white = new ColorRGBA64(1, 1, 1);
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export function gradientShadowStroke(palette, reference, restDelta, hoverDelta, activeDelta, focusDelta, shadowDelta, direction, shadowPercentage = 10, blendWithReference = false) {
|
|
11
|
-
const referenceIndex = palette.closestIndexOf(reference);
|
|
12
|
-
if (direction === void 0) {
|
|
13
|
-
direction = directionByIsDark(reference);
|
|
14
|
-
}
|
|
15
|
-
function overlayHelper(color) {
|
|
16
|
-
if (blendWithReference) {
|
|
17
|
-
const refIndex = palette.closestIndexOf(reference);
|
|
18
|
-
const refSwatch = palette.get(refIndex);
|
|
19
|
-
const overlaySolid = color.relativeLuminance < reference.relativeLuminance ? black : white;
|
|
20
|
-
const overlayColor = calculateOverlayColor(parseColorHexRGB(color.toColorString()), parseColorHexRGB(refSwatch.toColorString()), overlaySolid).roundToPrecision(2);
|
|
21
|
-
const blend = computeAlphaBlend(parseColorHexRGB(reference.toColorString()), overlayColor);
|
|
22
|
-
return SwatchRGB.from(blend);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return color;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
const restIndex = referenceIndex + direction * restDelta;
|
|
29
|
-
const hoverIndex = restIndex + direction * (hoverDelta - restDelta);
|
|
30
|
-
const activeIndex = restIndex + direction * (activeDelta - restDelta);
|
|
31
|
-
const focusIndex = restIndex + direction * (focusDelta - restDelta);
|
|
32
|
-
const startPosition = direction === -1 ? 0 : 100 - shadowPercentage;
|
|
33
|
-
const endPosition = direction === -1 ? shadowPercentage : 100;
|
|
34
|
-
function gradientHelper(index, applyShadow) {
|
|
35
|
-
const color = palette.get(index);
|
|
36
|
-
if (applyShadow) {
|
|
37
|
-
// Shadow is actually "highlight" on top in dark mode.
|
|
38
|
-
const shadowColor = palette.get(index + direction * shadowDelta);
|
|
39
|
-
const startColor = direction === -1 ? shadowColor : color;
|
|
40
|
-
const endColor = direction === -1 ? color : shadowColor;
|
|
41
|
-
const g = `linear-gradient(${overlayHelper(startColor).toColorString()} ${startPosition}%, ${overlayHelper(endColor).toColorString()} ${endPosition}%)`;
|
|
42
|
-
return GradientSwatchRGB.fromObject(startColor, g);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
return overlayHelper(color);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
rest: gradientHelper(restIndex, true),
|
|
50
|
-
hover: gradientHelper(hoverIndex, true),
|
|
51
|
-
active: gradientHelper(activeIndex, false),
|
|
52
|
-
focus: gradientHelper(focusIndex, true),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ColorRGBA64, rgbToRelativeLuminance } from '@microsoft/fast-colors';
|
|
2
|
-
import { contrast } from '../utilities/relative-luminance';
|
|
3
|
-
/**
|
|
4
|
-
* An implementation of {@link Swatch} that produces a gradient.
|
|
5
|
-
* This assumes a subtle gradient such that `relativeLuminance` is still meaningful,
|
|
6
|
-
* either with consistent luminance across the steps or a small edge of larger change.
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export class GradientSwatchRGB {
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param red Red channel expressed as a number between 0 and 1
|
|
13
|
-
* @param green Green channel expressed as a number between 0 and 1
|
|
14
|
-
* @param blue Blue channel expressed as a number between 0 and 1
|
|
15
|
-
*/
|
|
16
|
-
constructor(red, green, blue, cssGradient) {
|
|
17
|
-
this.toColorString = () => this.cssGradient;
|
|
18
|
-
this.contrast = contrast.bind(null, this);
|
|
19
|
-
this.createCSS = this.toColorString;
|
|
20
|
-
this.color = new ColorRGBA64(red, green, blue);
|
|
21
|
-
this.cssGradient = cssGradient;
|
|
22
|
-
this.relativeLuminance = rgbToRelativeLuminance(this.color);
|
|
23
|
-
this.r = red;
|
|
24
|
-
this.g = green;
|
|
25
|
-
this.b = blue;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Creates a GradientSwatch from a base color and gradient definition
|
|
29
|
-
* @param obj The base color object, used for relative luminance
|
|
30
|
-
* @param cssGradient The actual gradient to be rendered
|
|
31
|
-
* @returns New GradientSwatch object
|
|
32
|
-
*/
|
|
33
|
-
static fromObject(obj, cssGradient) {
|
|
34
|
-
return new GradientSwatchRGB(obj.r, obj.g, obj.b, cssGradient);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { baseLayerLuminanceSwatch } from '../utilities/base-layer-luminance';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*/
|
|
5
|
-
export function neutralLayer1Index(palette, baseLayerLuminance) {
|
|
6
|
-
return palette.closestIndexOf(baseLayerLuminanceSwatch(baseLayerLuminance));
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @internal
|
|
10
|
-
*/
|
|
11
|
-
export function neutralLayer1(palette, baseLayerLuminance) {
|
|
12
|
-
return palette.get(neutralLayer1Index(palette, baseLayerLuminance));
|
|
13
|
-
}
|