@ni/nimble-components 1.0.0-beta.100 → 1.0.0-beta.101
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/README.md +20 -20
- package/dist/esm/button/behaviors.d.ts +12 -12
- package/dist/esm/button/behaviors.js +13 -13
- package/dist/esm/button/index.d.ts +17 -17
- package/dist/esm/button/index.js +37 -37
- package/dist/esm/button/styles.d.ts +1 -1
- package/dist/esm/button/styles.js +178 -178
- package/dist/esm/button/types.d.ts +9 -9
- package/dist/esm/button/types.js +10 -10
- package/dist/esm/checkbox/index.d.ts +2 -2
- package/dist/esm/checkbox/index.js +11 -11
- package/dist/esm/checkbox/styles.d.ts +1 -1
- package/dist/esm/checkbox/styles.js +91 -91
- package/dist/esm/drawer/animations.d.ts +14 -14
- package/dist/esm/drawer/animations.js +51 -51
- package/dist/esm/drawer/index.d.ts +39 -39
- package/dist/esm/drawer/index.js +189 -189
- package/dist/esm/drawer/styles.d.ts +1 -1
- package/dist/esm/drawer/styles.js +114 -114
- package/dist/esm/drawer/types.d.ts +10 -10
- package/dist/esm/drawer/types.js +12 -12
- package/dist/esm/icon-base/index.d.ts +12 -12
- package/dist/esm/icon-base/index.js +21 -21
- package/dist/esm/icon-base/styles.d.ts +1 -1
- package/dist/esm/icon-base/styles.js +37 -37
- package/dist/esm/icon-base/template.d.ts +2 -2
- package/dist/esm/icon-base/template.js +6 -6
- package/dist/esm/icons/access-control.d.ts +7 -7
- package/dist/esm/icons/access-control.js +11 -11
- package/dist/esm/icons/admin.d.ts +7 -7
- package/dist/esm/icons/admin.js +11 -11
- package/dist/esm/icons/administration.d.ts +7 -7
- package/dist/esm/icons/administration.js +11 -11
- package/dist/esm/icons/all-icons.d.ts +13 -13
- package/dist/esm/icons/all-icons.js +13 -13
- package/dist/esm/icons/check.d.ts +7 -7
- package/dist/esm/icons/check.js +11 -11
- package/dist/esm/icons/custom-applications.d.ts +7 -7
- package/dist/esm/icons/custom-applications.js +11 -11
- package/dist/esm/icons/delete.d.ts +7 -7
- package/dist/esm/icons/delete.js +11 -11
- package/dist/esm/icons/login.d.ts +7 -7
- package/dist/esm/icons/login.js +11 -11
- package/dist/esm/icons/logout.d.ts +7 -7
- package/dist/esm/icons/logout.js +11 -11
- package/dist/esm/icons/managed-systems.d.ts +7 -7
- package/dist/esm/icons/managed-systems.js +11 -11
- package/dist/esm/icons/measurement-data-analysis.d.ts +7 -7
- package/dist/esm/icons/measurement-data-analysis.js +11 -11
- package/dist/esm/icons/settings.d.ts +7 -7
- package/dist/esm/icons/settings.js +11 -11
- package/dist/esm/icons/test-insights.d.ts +7 -7
- package/dist/esm/icons/test-insights.js +11 -11
- package/dist/esm/icons/utilities.d.ts +7 -7
- package/dist/esm/icons/utilities.js +11 -11
- package/dist/esm/listbox-option/index.d.ts +10 -10
- package/dist/esm/listbox-option/index.js +28 -28
- package/dist/esm/listbox-option/styles.d.ts +1 -1
- package/dist/esm/listbox-option/styles.js +59 -59
- package/dist/esm/menu/index.d.ts +5 -5
- package/dist/esm/menu/index.js +21 -21
- package/dist/esm/menu/styles.d.ts +1 -1
- package/dist/esm/menu/styles.js +39 -39
- package/dist/esm/menu-item/index.d.ts +15 -15
- package/dist/esm/menu-item/index.js +21 -21
- package/dist/esm/menu-item/styles.d.ts +1 -1
- package/dist/esm/menu-item/styles.js +63 -63
- package/dist/esm/number-field/index.d.ts +6 -6
- package/dist/esm/number-field/index.js +22 -22
- package/dist/esm/number-field/styles.d.ts +1 -1
- package/dist/esm/number-field/styles.js +117 -117
- package/dist/esm/select/index.d.ts +12 -12
- package/dist/esm/select/index.js +45 -45
- package/dist/esm/select/styles.d.ts +1 -1
- package/dist/esm/select/styles.js +140 -140
- package/dist/esm/tab/index.d.ts +2 -2
- package/dist/esm/tab/index.js +8 -8
- package/dist/esm/tab/styles.d.ts +1 -1
- package/dist/esm/tab/styles.js +52 -52
- package/dist/esm/tab-panel/index.d.ts +2 -2
- package/dist/esm/tab-panel/index.js +8 -8
- package/dist/esm/tab-panel/styles.d.ts +1 -1
- package/dist/esm/tab-panel/styles.js +14 -14
- package/dist/esm/tabs/index.d.ts +2 -2
- package/dist/esm/tabs/index.js +8 -8
- package/dist/esm/tabs/styles.d.ts +1 -1
- package/dist/esm/tabs/styles.js +42 -42
- package/dist/esm/tabs-toolbar/index.d.ts +6 -6
- package/dist/esm/tabs-toolbar/index.js +14 -14
- package/dist/esm/tabs-toolbar/styles.d.ts +1 -1
- package/dist/esm/tabs-toolbar/styles.js +22 -22
- package/dist/esm/tabs-toolbar/template.d.ts +1 -1
- package/dist/esm/tabs-toolbar/template.js +7 -7
- package/dist/esm/testing/dom-next-update.d.ts +4 -4
- package/dist/esm/testing/dom-next-update.js +5 -5
- package/dist/esm/text-field/index.d.ts +6 -6
- package/dist/esm/text-field/index.js +13 -13
- package/dist/esm/text-field/styles.d.ts +1 -1
- package/dist/esm/text-field/styles.js +141 -141
- package/dist/esm/theme-provider/design-tokens.d.ts +48 -48
- package/dist/esm/theme-provider/design-tokens.js +163 -163
- package/dist/esm/theme-provider/index.d.ts +10 -10
- package/dist/esm/theme-provider/index.js +42 -42
- package/dist/esm/theme-provider/template.d.ts +2 -2
- package/dist/esm/theme-provider/template.js +2 -2
- package/dist/esm/theme-provider/themes.d.ts +6 -6
- package/dist/esm/theme-provider/themes.js +7 -7
- package/dist/esm/tree-item/index.d.ts +28 -28
- package/dist/esm/tree-item/index.js +115 -115
- package/dist/esm/tree-item/styles.d.ts +3 -3
- package/dist/esm/tree-item/styles.js +194 -194
- package/dist/esm/tree-view/index.d.ts +16 -16
- package/dist/esm/tree-view/index.js +33 -33
- package/dist/esm/tree-view/styles.d.ts +1 -1
- package/dist/esm/tree-view/styles.js +16 -16
- package/dist/esm/tree-view/types.d.ts +6 -6
- package/dist/esm/tree-view/types.js +7 -7
- package/dist/esm/utilities/style/focus.d.ts +11 -11
- package/dist/esm/utilities/style/focus.js +13 -13
- package/package.json +94 -94
package/README.md
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<p><b>ni | nimble | components</b></p>
|
|
3
|
-
</div>
|
|
4
|
-
|
|
5
|
-
# Nimble Components
|
|
6
|
-
|
|
7
|
-
[](https://www.npmjs.com/package/@ni/nimble-components)
|
|
8
|
-
|
|
9
|
-
NI-styled web components for web applications.
|
|
10
|
-
|
|
11
|
-
## Getting Started
|
|
12
|
-
|
|
13
|
-
If you are using one of the following frameworks see associated wrapper documentation:
|
|
14
|
-
|
|
15
|
-
1. Angular: See the [nimble-angular](
|
|
16
|
-
2. Blazor WebAssembly or Blazor Server: See the [nimble-blazor](
|
|
17
|
-
|
|
18
|
-
## Contributing
|
|
19
|
-
|
|
20
|
-
Follow the instructions in [CONTRIBUTING.md](CONTRIBUTING.md) to modify this library.
|
|
1
|
+
<div align="center">
|
|
2
|
+
<p><b>ni | nimble | components</b></p>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
# Nimble Components
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@ni/nimble-components)
|
|
8
|
+
|
|
9
|
+
NI-styled web components for web applications.
|
|
10
|
+
|
|
11
|
+
## Getting Started
|
|
12
|
+
|
|
13
|
+
If you are using one of the following frameworks see associated wrapper documentation:
|
|
14
|
+
|
|
15
|
+
1. Angular: See the [nimble-angular](/angular-workspace/projects/ni/nimble-angular) documentation.
|
|
16
|
+
2. Blazor WebAssembly or Blazor Server: See the [nimble-blazor](/packages/nimble-blazor) documentation.
|
|
17
|
+
|
|
18
|
+
## Contributing
|
|
19
|
+
|
|
20
|
+
Follow the instructions in [CONTRIBUTING.md](/packages/nimble-components/CONTRIBUTING.md) to modify this library.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { Behavior, ElementStyles } from '@microsoft/fast-element';
|
|
2
|
-
import type { ButtonAppearance } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Behavior that will conditionally apply a stylesheet based on the element's
|
|
5
|
-
* appearance property
|
|
6
|
-
*
|
|
7
|
-
* @param value - The value of the appearance property
|
|
8
|
-
* @param styles - The styles to be applied when condition matches
|
|
9
|
-
*
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export declare function appearanceBehavior(value: ButtonAppearance, styles: ElementStyles): Behavior;
|
|
1
|
+
import type { Behavior, ElementStyles } from '@microsoft/fast-element';
|
|
2
|
+
import type { ButtonAppearance } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Behavior that will conditionally apply a stylesheet based on the element's
|
|
5
|
+
* appearance property
|
|
6
|
+
*
|
|
7
|
+
* @param value - The value of the appearance property
|
|
8
|
+
* @param styles - The styles to be applied when condition matches
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare function appearanceBehavior(value: ButtonAppearance, styles: ElementStyles): Behavior;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { PropertyStyleSheetBehavior } from '@microsoft/fast-foundation';
|
|
2
|
-
/**
|
|
3
|
-
* Behavior that will conditionally apply a stylesheet based on the element's
|
|
4
|
-
* appearance property
|
|
5
|
-
*
|
|
6
|
-
* @param value - The value of the appearance property
|
|
7
|
-
* @param styles - The styles to be applied when condition matches
|
|
8
|
-
*
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export function appearanceBehavior(value, styles) {
|
|
12
|
-
return new PropertyStyleSheetBehavior('appearance', value, styles);
|
|
13
|
-
}
|
|
1
|
+
import { PropertyStyleSheetBehavior } from '@microsoft/fast-foundation';
|
|
2
|
+
/**
|
|
3
|
+
* Behavior that will conditionally apply a stylesheet based on the element's
|
|
4
|
+
* appearance property
|
|
5
|
+
*
|
|
6
|
+
* @param value - The value of the appearance property
|
|
7
|
+
* @param styles - The styles to be applied when condition matches
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export function appearanceBehavior(value, styles) {
|
|
12
|
+
return new PropertyStyleSheetBehavior('appearance', value, styles);
|
|
13
|
+
}
|
|
14
14
|
//# sourceMappingURL=behaviors.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Button as FoundationButton } from '@microsoft/fast-foundation';
|
|
2
|
-
import { ButtonAppearance } from './types';
|
|
3
|
-
export type { Button };
|
|
4
|
-
/**
|
|
5
|
-
* A nimble-styled HTML button
|
|
6
|
-
*/
|
|
7
|
-
declare class Button extends FoundationButton {
|
|
8
|
-
/**
|
|
9
|
-
* The appearance the button should have.
|
|
10
|
-
*
|
|
11
|
-
* @public
|
|
12
|
-
* @remarks
|
|
13
|
-
* HTML Attribute: appearance
|
|
14
|
-
*/
|
|
15
|
-
appearance: ButtonAppearance;
|
|
16
|
-
connectedCallback(): void;
|
|
17
|
-
}
|
|
1
|
+
import { Button as FoundationButton } from '@microsoft/fast-foundation';
|
|
2
|
+
import { ButtonAppearance } from './types';
|
|
3
|
+
export type { Button };
|
|
4
|
+
/**
|
|
5
|
+
* A nimble-styled HTML button
|
|
6
|
+
*/
|
|
7
|
+
declare class Button extends FoundationButton {
|
|
8
|
+
/**
|
|
9
|
+
* The appearance the button should have.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
* @remarks
|
|
13
|
+
* HTML Attribute: appearance
|
|
14
|
+
*/
|
|
15
|
+
appearance: ButtonAppearance;
|
|
16
|
+
connectedCallback(): void;
|
|
17
|
+
}
|
package/dist/esm/button/index.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { attr } from '@microsoft/fast-element';
|
|
3
|
-
import { Button as FoundationButton, buttonTemplate as template, DesignSystem } from '@microsoft/fast-foundation';
|
|
4
|
-
import { styles } from './styles';
|
|
5
|
-
import { ButtonAppearance } from './types';
|
|
6
|
-
/**
|
|
7
|
-
* A nimble-styled HTML button
|
|
8
|
-
*/
|
|
9
|
-
class Button extends FoundationButton {
|
|
10
|
-
connectedCallback() {
|
|
11
|
-
super.connectedCallback();
|
|
12
|
-
if (!this.appearance) {
|
|
13
|
-
this.appearance = ButtonAppearance.Outline;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
__decorate([
|
|
18
|
-
attr
|
|
19
|
-
], Button.prototype, "appearance", void 0);
|
|
20
|
-
/**
|
|
21
|
-
* A function that returns a nimble-button registration for configuring the component with a DesignSystem.
|
|
22
|
-
* Implements {@link @microsoft/fast-foundation#buttonTemplate}
|
|
23
|
-
*
|
|
24
|
-
* @public
|
|
25
|
-
* @remarks
|
|
26
|
-
* Generates HTML Element: \<nimble-button\>
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
const nimbleButton = Button.compose({
|
|
30
|
-
baseName: 'button',
|
|
31
|
-
template,
|
|
32
|
-
styles,
|
|
33
|
-
shadowOptions: {
|
|
34
|
-
delegatesFocus: true
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr } from '@microsoft/fast-element';
|
|
3
|
+
import { Button as FoundationButton, buttonTemplate as template, DesignSystem } from '@microsoft/fast-foundation';
|
|
4
|
+
import { styles } from './styles';
|
|
5
|
+
import { ButtonAppearance } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* A nimble-styled HTML button
|
|
8
|
+
*/
|
|
9
|
+
class Button extends FoundationButton {
|
|
10
|
+
connectedCallback() {
|
|
11
|
+
super.connectedCallback();
|
|
12
|
+
if (!this.appearance) {
|
|
13
|
+
this.appearance = ButtonAppearance.Outline;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
attr
|
|
19
|
+
], Button.prototype, "appearance", void 0);
|
|
20
|
+
/**
|
|
21
|
+
* A function that returns a nimble-button registration for configuring the component with a DesignSystem.
|
|
22
|
+
* Implements {@link @microsoft/fast-foundation#buttonTemplate}
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @remarks
|
|
26
|
+
* Generates HTML Element: \<nimble-button\>
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
const nimbleButton = Button.compose({
|
|
30
|
+
baseName: 'button',
|
|
31
|
+
template,
|
|
32
|
+
styles,
|
|
33
|
+
shadowOptions: {
|
|
34
|
+
delegatesFocus: true
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleButton());
|
|
38
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -1,179 +1,179 @@
|
|
|
1
|
-
import { css } from '@microsoft/fast-element';
|
|
2
|
-
import { display } from '@microsoft/fast-foundation';
|
|
3
|
-
import { focusVisible } from '../utilities/style/focus';
|
|
4
|
-
import { actionColorRgb, borderColorHover, borderColorRgb, borderWidth, buttonContentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorSelected, fontFamily, smallDelay, standardPadding } from '../theme-provider/design-tokens';
|
|
5
|
-
import { appearanceBehavior } from './behaviors';
|
|
6
|
-
import { ButtonAppearance } from './types';
|
|
7
|
-
export const styles = css `
|
|
8
|
-
${display('inline-flex')}
|
|
9
|
-
|
|
10
|
-
:host {
|
|
11
|
-
background-color: transparent;
|
|
12
|
-
height: ${controlHeight};
|
|
13
|
-
color: ${buttonContentFontColor};
|
|
14
|
-
font-family: ${fontFamily};
|
|
15
|
-
font-size: ${contentFontSize};
|
|
16
|
-
cursor: pointer;
|
|
17
|
-
outline: none;
|
|
18
|
-
border: none;
|
|
19
|
-
box-sizing: border-box;
|
|
20
|
-
${
|
|
21
|
-
/*
|
|
22
|
-
Not sure why but this is needed to get buttons with icons and buttons
|
|
23
|
-
without icons to align on the same line when the button is inline-flex
|
|
24
|
-
*/ ''}
|
|
25
|
-
vertical-align: middle;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
:host([disabled]) {
|
|
29
|
-
color: ${contentFontColorDisabled};
|
|
30
|
-
cursor: default;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.control {
|
|
34
|
-
background-color: transparent;
|
|
35
|
-
height: inherit;
|
|
36
|
-
width: inherit;
|
|
37
|
-
border: ${borderWidth} solid transparent;
|
|
38
|
-
box-sizing: border-box;
|
|
39
|
-
color: inherit;
|
|
40
|
-
border-radius: inherit;
|
|
41
|
-
fill: inherit;
|
|
42
|
-
display: inline-flex;
|
|
43
|
-
align-items: center;
|
|
44
|
-
justify-content: center;
|
|
45
|
-
gap: 4px;
|
|
46
|
-
cursor: inherit;
|
|
47
|
-
font-family: inherit;
|
|
48
|
-
font-size: inherit;
|
|
49
|
-
outline: none;
|
|
50
|
-
margin: 0;
|
|
51
|
-
padding: 0 ${standardPadding};
|
|
52
|
-
transition: box-shadow ${smallDelay};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@media (prefers-reduced-motion) {
|
|
56
|
-
.control {
|
|
57
|
-
transition-duration: 0s;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.control:hover {
|
|
62
|
-
box-shadow: 0px 0px 0px ${borderWidth} ${borderColorHover} inset;
|
|
63
|
-
outline: none;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.control${focusVisible} {
|
|
67
|
-
box-shadow: 0px 0px 0px ${borderWidth} ${borderColorHover} inset;
|
|
68
|
-
outline: ${borderWidth} solid ${borderColorHover};
|
|
69
|
-
outline-offset: -4px;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.control:active {
|
|
73
|
-
box-shadow: none;
|
|
74
|
-
outline: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.control[disabled] {
|
|
78
|
-
box-shadow: none;
|
|
79
|
-
outline: none;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.content {
|
|
83
|
-
display: contents;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
[part='start'] {
|
|
87
|
-
display: contents;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
slot[name='start']::slotted(*) {
|
|
91
|
-
--icon-color: ${buttonContentFontColor};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
:host([disabled]) slot[name='start']::slotted(*) {
|
|
95
|
-
opacity: 0.6;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
[part='end'] {
|
|
99
|
-
display: none;
|
|
100
|
-
}
|
|
101
|
-
`
|
|
102
|
-
// prettier-ignore
|
|
103
|
-
.withBehaviors(appearanceBehavior(ButtonAppearance.Outline, css `
|
|
104
|
-
.control {
|
|
105
|
-
background-color: transparent;
|
|
106
|
-
border-color: rgba(${actionColorRgb}, 0.5);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.control:hover {
|
|
110
|
-
background-color: transparent;
|
|
111
|
-
border-color: ${borderColorHover};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.control${focusVisible} {
|
|
115
|
-
background-color: transparent;
|
|
116
|
-
border-color: ${borderColorHover};
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.control:active {
|
|
120
|
-
background-color: ${fillColorSelected};
|
|
121
|
-
border-color: transparent;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.control[disabled] {
|
|
125
|
-
background-color: transparent;
|
|
126
|
-
border-color: rgba(${borderColorRgb}, 0.2);
|
|
127
|
-
}
|
|
128
|
-
`), appearanceBehavior(ButtonAppearance.Ghost, css `
|
|
129
|
-
.control {
|
|
130
|
-
background-color: transparent;
|
|
131
|
-
border-color: transparent;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.control:hover {
|
|
135
|
-
background-color: transparent;
|
|
136
|
-
border-color: ${borderColorHover};
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.control${focusVisible} {
|
|
140
|
-
background-color: transparent;
|
|
141
|
-
border-color: ${borderColorHover};
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.control:active {
|
|
145
|
-
background-color: ${fillColorSelected};
|
|
146
|
-
border-color: transparent;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.control[disabled] {
|
|
150
|
-
background-color: transparent;
|
|
151
|
-
border-color: transparent;
|
|
152
|
-
}
|
|
153
|
-
`), appearanceBehavior(ButtonAppearance.Block, css `
|
|
154
|
-
.control {
|
|
155
|
-
background-color: rgba(${borderColorRgb}, 0.1);
|
|
156
|
-
border-color: transparent;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.control:hover {
|
|
160
|
-
background-color: rgba(${borderColorRgb}, 0.1);
|
|
161
|
-
border-color: ${borderColorHover};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.control${focusVisible} {
|
|
165
|
-
background-color: rgba(${borderColorRgb}, 0.1);
|
|
166
|
-
border-color: ${borderColorHover};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.control:active {
|
|
170
|
-
background-color: ${fillColorSelected};
|
|
171
|
-
border-color: transparent;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
.control[disabled] {
|
|
175
|
-
background-color: rgba(${borderColorRgb}, 0.1);
|
|
176
|
-
border-color: rgba(${borderColorRgb}, 0.1);
|
|
177
|
-
}
|
|
178
|
-
`));
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { focusVisible } from '../utilities/style/focus';
|
|
4
|
+
import { actionColorRgb, borderColorHover, borderColorRgb, borderWidth, buttonContentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorSelected, fontFamily, smallDelay, standardPadding } from '../theme-provider/design-tokens';
|
|
5
|
+
import { appearanceBehavior } from './behaviors';
|
|
6
|
+
import { ButtonAppearance } from './types';
|
|
7
|
+
export const styles = css `
|
|
8
|
+
${display('inline-flex')}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
background-color: transparent;
|
|
12
|
+
height: ${controlHeight};
|
|
13
|
+
color: ${buttonContentFontColor};
|
|
14
|
+
font-family: ${fontFamily};
|
|
15
|
+
font-size: ${contentFontSize};
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
outline: none;
|
|
18
|
+
border: none;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
${
|
|
21
|
+
/*
|
|
22
|
+
Not sure why but this is needed to get buttons with icons and buttons
|
|
23
|
+
without icons to align on the same line when the button is inline-flex
|
|
24
|
+
*/ ''}
|
|
25
|
+
vertical-align: middle;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:host([disabled]) {
|
|
29
|
+
color: ${contentFontColorDisabled};
|
|
30
|
+
cursor: default;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.control {
|
|
34
|
+
background-color: transparent;
|
|
35
|
+
height: inherit;
|
|
36
|
+
width: inherit;
|
|
37
|
+
border: ${borderWidth} solid transparent;
|
|
38
|
+
box-sizing: border-box;
|
|
39
|
+
color: inherit;
|
|
40
|
+
border-radius: inherit;
|
|
41
|
+
fill: inherit;
|
|
42
|
+
display: inline-flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
gap: 4px;
|
|
46
|
+
cursor: inherit;
|
|
47
|
+
font-family: inherit;
|
|
48
|
+
font-size: inherit;
|
|
49
|
+
outline: none;
|
|
50
|
+
margin: 0;
|
|
51
|
+
padding: 0 ${standardPadding};
|
|
52
|
+
transition: box-shadow ${smallDelay};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@media (prefers-reduced-motion) {
|
|
56
|
+
.control {
|
|
57
|
+
transition-duration: 0s;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.control:hover {
|
|
62
|
+
box-shadow: 0px 0px 0px ${borderWidth} ${borderColorHover} inset;
|
|
63
|
+
outline: none;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.control${focusVisible} {
|
|
67
|
+
box-shadow: 0px 0px 0px ${borderWidth} ${borderColorHover} inset;
|
|
68
|
+
outline: ${borderWidth} solid ${borderColorHover};
|
|
69
|
+
outline-offset: -4px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.control:active {
|
|
73
|
+
box-shadow: none;
|
|
74
|
+
outline: none;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.control[disabled] {
|
|
78
|
+
box-shadow: none;
|
|
79
|
+
outline: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.content {
|
|
83
|
+
display: contents;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
[part='start'] {
|
|
87
|
+
display: contents;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
slot[name='start']::slotted(*) {
|
|
91
|
+
--icon-color: ${buttonContentFontColor};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host([disabled]) slot[name='start']::slotted(*) {
|
|
95
|
+
opacity: 0.6;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[part='end'] {
|
|
99
|
+
display: none;
|
|
100
|
+
}
|
|
101
|
+
`
|
|
102
|
+
// prettier-ignore
|
|
103
|
+
.withBehaviors(appearanceBehavior(ButtonAppearance.Outline, css `
|
|
104
|
+
.control {
|
|
105
|
+
background-color: transparent;
|
|
106
|
+
border-color: rgba(${actionColorRgb}, 0.5);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.control:hover {
|
|
110
|
+
background-color: transparent;
|
|
111
|
+
border-color: ${borderColorHover};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.control${focusVisible} {
|
|
115
|
+
background-color: transparent;
|
|
116
|
+
border-color: ${borderColorHover};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.control:active {
|
|
120
|
+
background-color: ${fillColorSelected};
|
|
121
|
+
border-color: transparent;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.control[disabled] {
|
|
125
|
+
background-color: transparent;
|
|
126
|
+
border-color: rgba(${borderColorRgb}, 0.2);
|
|
127
|
+
}
|
|
128
|
+
`), appearanceBehavior(ButtonAppearance.Ghost, css `
|
|
129
|
+
.control {
|
|
130
|
+
background-color: transparent;
|
|
131
|
+
border-color: transparent;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.control:hover {
|
|
135
|
+
background-color: transparent;
|
|
136
|
+
border-color: ${borderColorHover};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.control${focusVisible} {
|
|
140
|
+
background-color: transparent;
|
|
141
|
+
border-color: ${borderColorHover};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.control:active {
|
|
145
|
+
background-color: ${fillColorSelected};
|
|
146
|
+
border-color: transparent;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.control[disabled] {
|
|
150
|
+
background-color: transparent;
|
|
151
|
+
border-color: transparent;
|
|
152
|
+
}
|
|
153
|
+
`), appearanceBehavior(ButtonAppearance.Block, css `
|
|
154
|
+
.control {
|
|
155
|
+
background-color: rgba(${borderColorRgb}, 0.1);
|
|
156
|
+
border-color: transparent;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.control:hover {
|
|
160
|
+
background-color: rgba(${borderColorRgb}, 0.1);
|
|
161
|
+
border-color: ${borderColorHover};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.control${focusVisible} {
|
|
165
|
+
background-color: rgba(${borderColorRgb}, 0.1);
|
|
166
|
+
border-color: ${borderColorHover};
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.control:active {
|
|
170
|
+
background-color: ${fillColorSelected};
|
|
171
|
+
border-color: transparent;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.control[disabled] {
|
|
175
|
+
background-color: rgba(${borderColorRgb}, 0.1);
|
|
176
|
+
border-color: rgba(${borderColorRgb}, 0.1);
|
|
177
|
+
}
|
|
178
|
+
`));
|
|
179
179
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types of button appearance.
|
|
3
|
-
* @public
|
|
4
|
-
*/
|
|
5
|
-
export declare enum ButtonAppearance {
|
|
6
|
-
Outline = "outline",
|
|
7
|
-
Ghost = "ghost",
|
|
8
|
-
Block = "block"
|
|
9
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Types of button appearance.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ButtonAppearance {
|
|
6
|
+
Outline = "outline",
|
|
7
|
+
Ghost = "ghost",
|
|
8
|
+
Block = "block"
|
|
9
|
+
}
|
package/dist/esm/button/types.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types of button appearance.
|
|
3
|
-
* @public
|
|
4
|
-
*/
|
|
5
|
-
export var ButtonAppearance;
|
|
6
|
-
(function (ButtonAppearance) {
|
|
7
|
-
ButtonAppearance["Outline"] = "outline";
|
|
8
|
-
ButtonAppearance["Ghost"] = "ghost";
|
|
9
|
-
ButtonAppearance["Block"] = "block";
|
|
10
|
-
})(ButtonAppearance || (ButtonAppearance = {}));
|
|
1
|
+
/**
|
|
2
|
+
* Types of button appearance.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export var ButtonAppearance;
|
|
6
|
+
(function (ButtonAppearance) {
|
|
7
|
+
ButtonAppearance["Outline"] = "outline";
|
|
8
|
+
ButtonAppearance["Ghost"] = "ghost";
|
|
9
|
+
ButtonAppearance["Block"] = "block";
|
|
10
|
+
})(ButtonAppearance || (ButtonAppearance = {}));
|
|
11
11
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Checkbox as FoundationCheckbox } from '@microsoft/fast-foundation';
|
|
2
|
-
export { FoundationCheckbox as Checkbox };
|
|
1
|
+
import { Checkbox as FoundationCheckbox } from '@microsoft/fast-foundation';
|
|
2
|
+
export { FoundationCheckbox as Checkbox };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { DesignSystem, Checkbox as FoundationCheckbox, checkboxTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
-
import { controlsCheckboxCheck16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
-
import { styles } from './styles';
|
|
4
|
-
export { FoundationCheckbox as Checkbox };
|
|
5
|
-
const nimbleCheckbox = FoundationCheckbox.compose({
|
|
6
|
-
baseName: 'checkbox',
|
|
7
|
-
template,
|
|
8
|
-
styles,
|
|
9
|
-
checkedIndicator: controlsCheckboxCheck16X16.data
|
|
10
|
-
});
|
|
11
|
-
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
|
|
1
|
+
import { DesignSystem, Checkbox as FoundationCheckbox, checkboxTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
+
import { controlsCheckboxCheck16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
+
import { styles } from './styles';
|
|
4
|
+
export { FoundationCheckbox as Checkbox };
|
|
5
|
+
const nimbleCheckbox = FoundationCheckbox.compose({
|
|
6
|
+
baseName: 'checkbox',
|
|
7
|
+
template,
|
|
8
|
+
styles,
|
|
9
|
+
checkedIndicator: controlsCheckboxCheck16X16.data
|
|
10
|
+
});
|
|
11
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|