@ni/nimble-components 1.0.0-beta.12 → 1.0.0-beta.120
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 +15 -4
- package/dist/esm/button/behaviors.js.map +1 -1
- package/dist/esm/button/index.d.ts +10 -0
- package/dist/esm/button/index.js +19 -10
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/button/styles.js +125 -49
- package/dist/esm/button/styles.js.map +1 -1
- package/dist/esm/button/types.d.ts +3 -0
- package/dist/esm/button/types.js +0 -4
- package/dist/esm/button/types.js.map +1 -1
- package/dist/esm/checkbox/index.d.ts +12 -0
- package/dist/esm/checkbox/index.js +18 -0
- package/dist/esm/checkbox/index.js.map +1 -0
- package/dist/esm/checkbox/styles.d.ts +1 -0
- package/dist/esm/checkbox/styles.js +92 -0
- package/dist/esm/checkbox/styles.js.map +1 -0
- package/dist/esm/drawer/animations.d.ts +14 -0
- package/dist/esm/drawer/animations.js +52 -0
- package/dist/esm/drawer/animations.js.map +1 -0
- package/dist/esm/drawer/index.d.ts +43 -0
- package/dist/esm/drawer/index.js +189 -0
- package/dist/esm/drawer/index.js.map +1 -0
- package/dist/esm/drawer/styles.d.ts +1 -0
- package/dist/esm/drawer/styles.js +116 -0
- package/dist/esm/drawer/styles.js.map +1 -0
- package/dist/esm/drawer/types.d.ts +12 -0
- package/dist/esm/drawer/types.js +13 -0
- package/dist/esm/drawer/types.js.map +1 -0
- package/dist/esm/icon-base/index.d.ts +12 -0
- package/dist/esm/icon-base/index.js +22 -0
- package/dist/esm/icon-base/index.js.map +1 -0
- package/dist/esm/icon-base/styles.d.ts +1 -0
- package/dist/esm/icon-base/styles.js +38 -0
- package/dist/esm/icon-base/styles.js.map +1 -0
- package/dist/esm/icon-base/template.d.ts +2 -0
- package/dist/esm/icon-base/template.js +7 -0
- package/dist/esm/icon-base/template.js.map +1 -0
- package/dist/esm/icon-base/types.d.ts +11 -0
- package/dist/esm/icon-base/types.js +8 -0
- package/dist/esm/icon-base/types.js.map +1 -0
- package/dist/esm/icons/access-control.d.ts +12 -0
- package/dist/esm/icons/access-control.js +12 -0
- package/dist/esm/icons/access-control.js.map +1 -0
- package/dist/esm/icons/admin.d.ts +12 -0
- package/dist/esm/icons/admin.js +12 -0
- package/dist/esm/icons/admin.js.map +1 -0
- package/dist/esm/icons/administration.d.ts +12 -0
- package/dist/esm/icons/administration.js +12 -0
- package/dist/esm/icons/administration.js.map +1 -0
- package/dist/esm/icons/all-icons.d.ts +15 -0
- package/dist/esm/icons/all-icons.js +16 -0
- package/dist/esm/icons/all-icons.js.map +1 -0
- package/dist/esm/icons/check.d.ts +12 -0
- package/dist/esm/icons/check.js +12 -0
- package/dist/esm/icons/check.js.map +1 -0
- package/dist/esm/icons/custom-applications.d.ts +12 -0
- package/dist/esm/icons/custom-applications.js +12 -0
- package/dist/esm/icons/custom-applications.js.map +1 -0
- package/dist/esm/icons/delete.d.ts +12 -0
- package/dist/esm/icons/delete.js +12 -0
- package/dist/esm/icons/delete.js.map +1 -0
- package/dist/esm/icons/fail.d.ts +12 -0
- package/dist/esm/icons/fail.js +12 -0
- package/dist/esm/icons/fail.js.map +1 -0
- package/dist/esm/icons/login.d.ts +12 -0
- package/dist/esm/icons/login.js +12 -0
- package/dist/esm/icons/login.js.map +1 -0
- package/dist/esm/icons/logout.d.ts +12 -0
- package/dist/esm/icons/logout.js +12 -0
- package/dist/esm/icons/logout.js.map +1 -0
- package/dist/esm/icons/managed-systems.d.ts +12 -0
- package/dist/esm/icons/managed-systems.js +12 -0
- package/dist/esm/icons/managed-systems.js.map +1 -0
- package/dist/esm/icons/measurement-data-analysis.d.ts +12 -0
- package/dist/esm/icons/measurement-data-analysis.js +12 -0
- package/dist/esm/icons/measurement-data-analysis.js.map +1 -0
- package/dist/esm/icons/settings.d.ts +12 -0
- package/dist/esm/icons/settings.js +12 -0
- package/dist/esm/icons/settings.js.map +1 -0
- package/dist/esm/icons/succeeded.d.ts +12 -0
- package/dist/esm/icons/succeeded.js +12 -0
- package/dist/esm/icons/succeeded.js.map +1 -0
- package/dist/esm/icons/test-insights.d.ts +12 -0
- package/dist/esm/icons/test-insights.js +12 -0
- package/dist/esm/icons/test-insights.js.map +1 -0
- package/dist/esm/icons/utilities.d.ts +12 -0
- package/dist/esm/icons/utilities.js +12 -0
- package/dist/esm/icons/utilities.js.map +1 -0
- package/dist/esm/listbox-option/index.d.ts +15 -0
- package/dist/esm/listbox-option/index.js +31 -0
- package/dist/esm/listbox-option/index.js.map +1 -0
- package/dist/esm/listbox-option/styles.d.ts +1 -0
- package/dist/esm/listbox-option/styles.js +60 -0
- package/dist/esm/listbox-option/styles.js.map +1 -0
- package/dist/esm/menu/index.d.ts +12 -0
- package/dist/esm/menu/index.js +25 -0
- package/dist/esm/menu/index.js.map +1 -0
- package/dist/esm/menu/styles.d.ts +1 -0
- package/dist/esm/menu/styles.js +40 -0
- package/dist/esm/menu/styles.js.map +1 -0
- package/dist/esm/menu-item/index.d.ts +12 -0
- package/dist/esm/menu-item/index.js +25 -0
- package/dist/esm/menu-item/index.js.map +1 -0
- package/dist/esm/menu-item/styles.d.ts +1 -0
- package/dist/esm/menu-item/styles.js +64 -0
- package/dist/esm/menu-item/styles.js.map +1 -0
- package/dist/esm/number-field/index.d.ts +12 -1
- package/dist/esm/number-field/index.js +11 -8
- package/dist/esm/number-field/index.js.map +1 -1
- package/dist/esm/number-field/styles.js +114 -87
- package/dist/esm/number-field/styles.js.map +1 -1
- package/dist/esm/select/index.d.ts +16 -0
- package/dist/esm/select/index.js +50 -0
- package/dist/esm/select/index.js.map +1 -0
- package/dist/esm/select/styles.d.ts +1 -0
- package/dist/esm/select/styles.js +141 -0
- package/dist/esm/select/styles.js.map +1 -0
- package/dist/esm/tab/index.d.ts +12 -0
- package/dist/esm/tab/index.js +16 -0
- package/dist/esm/tab/index.js.map +1 -0
- package/dist/esm/tab/styles.d.ts +1 -0
- package/dist/esm/tab/styles.js +53 -0
- package/dist/esm/tab/styles.js.map +1 -0
- package/dist/esm/tab-panel/index.d.ts +12 -0
- package/dist/esm/tab-panel/index.js +16 -0
- package/dist/esm/tab-panel/index.js.map +1 -0
- package/dist/esm/tab-panel/styles.d.ts +1 -0
- package/dist/esm/tab-panel/styles.js +15 -0
- package/dist/esm/tab-panel/styles.js.map +1 -0
- package/dist/esm/tabs/index.d.ts +12 -0
- package/dist/esm/tabs/index.js +16 -0
- package/dist/esm/tabs/index.js.map +1 -0
- package/dist/esm/tabs/styles.d.ts +1 -0
- package/dist/esm/tabs/styles.js +43 -0
- package/dist/esm/tabs/styles.js.map +1 -0
- package/dist/esm/tabs-toolbar/index.d.ts +12 -0
- package/dist/esm/tabs-toolbar/index.js +15 -0
- package/dist/esm/tabs-toolbar/index.js.map +1 -0
- package/dist/esm/tabs-toolbar/styles.d.ts +1 -0
- package/dist/esm/tabs-toolbar/styles.js +23 -0
- package/dist/esm/tabs-toolbar/styles.js.map +1 -0
- package/dist/esm/tabs-toolbar/template.d.ts +1 -0
- package/dist/esm/tabs-toolbar/template.js +8 -0
- package/dist/esm/tabs-toolbar/template.js.map +1 -0
- package/dist/esm/testing/async-helpers.d.ts +10 -0
- package/dist/esm/testing/async-helpers.js +12 -0
- package/dist/esm/testing/async-helpers.js.map +1 -0
- package/dist/esm/text-field/index.d.ts +12 -1
- package/dist/esm/text-field/index.js +11 -2
- package/dist/esm/text-field/index.js.map +1 -1
- package/dist/esm/text-field/styles.js +139 -63
- package/dist/esm/text-field/styles.js.map +1 -1
- package/dist/esm/text-field/types.d.ts +3 -0
- package/dist/esm/text-field/types.js +3 -0
- package/dist/esm/text-field/types.js.map +1 -0
- package/dist/esm/theme-provider/design-tokens.d.ts +34 -3
- package/dist/esm/theme-provider/design-tokens.js +128 -15
- package/dist/esm/theme-provider/design-tokens.js.map +1 -1
- package/dist/esm/theme-provider/index.d.ts +16 -1
- package/dist/esm/theme-provider/index.js +16 -31
- package/dist/esm/theme-provider/index.js.map +1 -1
- package/dist/esm/theme-provider/styles.d.ts +1 -0
- package/dist/esm/theme-provider/styles.js +7 -0
- package/dist/esm/theme-provider/styles.js.map +1 -0
- package/dist/esm/theme-provider/template.d.ts +2 -0
- package/dist/esm/theme-provider/template.js +3 -0
- package/dist/esm/theme-provider/template.js.map +1 -0
- package/dist/esm/theme-provider/types.d.ts +7 -0
- package/dist/esm/theme-provider/types.js +8 -0
- package/dist/esm/theme-provider/types.js.map +1 -0
- package/dist/esm/tree-item/index.d.ts +34 -0
- package/dist/esm/tree-item/index.js +117 -0
- package/dist/esm/tree-item/index.js.map +1 -0
- package/dist/esm/tree-item/styles.d.ts +3 -0
- package/dist/esm/tree-item/styles.js +195 -0
- package/dist/esm/tree-item/styles.js.map +1 -0
- package/dist/esm/tree-view/index.d.ts +22 -0
- package/dist/esm/tree-view/index.js +35 -0
- package/dist/esm/tree-view/index.js.map +1 -0
- package/dist/esm/tree-view/styles.d.ts +1 -0
- package/dist/esm/tree-view/styles.js +17 -0
- package/dist/esm/tree-view/styles.js.map +1 -0
- package/dist/esm/tree-view/types.d.ts +7 -0
- package/dist/esm/tree-view/types.js +8 -0
- package/dist/esm/tree-view/types.js.map +1 -0
- package/dist/esm/utilities/style/focus.d.ts +11 -0
- package/dist/esm/utilities/style/focus.js +14 -0
- package/dist/esm/utilities/style/focus.js.map +1 -0
- package/dist/esm/utilities/style/prefers-reduced-motion.d.ts +8 -0
- package/dist/esm/utilities/style/prefers-reduced-motion.js +11 -0
- package/dist/esm/utilities/style/prefers-reduced-motion.js.map +1 -0
- package/package.json +41 -28
- package/dist/esm/button/tests/button.spec.d.ts +0 -1
- package/dist/esm/button/tests/button.spec.js +0 -39
- package/dist/esm/button/tests/button.spec.js.map +0 -1
- package/dist/esm/button/tests/button.stories.d.ts +0 -81
- package/dist/esm/button/tests/button.stories.js +0 -59
- package/dist/esm/button/tests/button.stories.js.map +0 -1
- package/dist/esm/number-field/tests/number-field.stories.d.ts +0 -33
- package/dist/esm/number-field/tests/number-field.stories.js +0 -26
- package/dist/esm/number-field/tests/number-field.stories.js.map +0 -1
- package/dist/esm/shared/icon-font.d.ts +0 -3
- package/dist/esm/shared/icon-font.js +0 -6
- package/dist/esm/shared/icon-font.js.map +0 -1
- package/dist/esm/stories/icons.stories.d.ts +0 -14
- package/dist/esm/stories/icons.stories.js +0 -52
- package/dist/esm/stories/icons.stories.js.map +0 -1
- package/dist/esm/tests/utilities/fixture.d.ts +0 -89
- package/dist/esm/tests/utilities/fixture.js +0 -90
- package/dist/esm/tests/utilities/fixture.js.map +0 -1
- package/dist/esm/tests/utilities/fixture.spec.d.ts +0 -1
- package/dist/esm/tests/utilities/fixture.spec.js +0 -73
- package/dist/esm/tests/utilities/fixture.spec.js.map +0 -1
- package/dist/esm/tests/utilities/setup.d.ts +0 -2
- package/dist/esm/tests/utilities/setup.js +0 -7
- package/dist/esm/tests/utilities/setup.js.map +0 -1
- package/dist/esm/text-field/tests/text-field.stories.d.ts +0 -42
- package/dist/esm/text-field/tests/text-field.stories.js +0 -30
- package/dist/esm/text-field/tests/text-field.stories.js.map +0 -1
- package/dist/esm/theme-provider/themes.d.ts +0 -5
- package/dist/esm/theme-provider/themes.js +0 -7
- package/dist/esm/theme-provider/themes.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { focusVisible } from '../utilities/style/focus';
|
|
4
|
+
import { controlHeight, fontFamily, contentFontSize, fillColorSelected, fillColorHover, contentFontColor, borderColorHover, contentFontColorDisabled, iconSize } from '../theme-provider/design-tokens';
|
|
5
|
+
export const styles = css `
|
|
6
|
+
${display('grid')}
|
|
7
|
+
|
|
8
|
+
:host {
|
|
9
|
+
contain: layout;
|
|
10
|
+
overflow: visible;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
height: ${controlHeight};
|
|
13
|
+
grid-template-columns: 0px 1fr;
|
|
14
|
+
grid-template-rows: 1fr;
|
|
15
|
+
justify-items: start;
|
|
16
|
+
align-items: center;
|
|
17
|
+
padding-left: 8px;
|
|
18
|
+
padding-right: 8px;
|
|
19
|
+
margin: 0 0;
|
|
20
|
+
white-space: nowrap;
|
|
21
|
+
color: ${contentFontColor};
|
|
22
|
+
fill: currentcolor;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
font-family: ${fontFamily};
|
|
25
|
+
font-size: ${contentFontSize};
|
|
26
|
+
}
|
|
27
|
+
:host(${focusVisible}) {
|
|
28
|
+
outline: 2px solid ${borderColorHover};
|
|
29
|
+
outline-offset: -2px;
|
|
30
|
+
}
|
|
31
|
+
:host(:hover) {
|
|
32
|
+
background: ${fillColorHover};
|
|
33
|
+
}
|
|
34
|
+
:host(:active) {
|
|
35
|
+
background: ${fillColorSelected};
|
|
36
|
+
}
|
|
37
|
+
:host([disabled]) {
|
|
38
|
+
color: ${contentFontColorDisabled};
|
|
39
|
+
fill: currentcolor;
|
|
40
|
+
cursor: default;
|
|
41
|
+
}
|
|
42
|
+
:host([disabled]:hover) {
|
|
43
|
+
background: transparent;
|
|
44
|
+
}
|
|
45
|
+
:host(.indent-1) {
|
|
46
|
+
grid-template-columns: ${iconSize} 1fr;
|
|
47
|
+
column-gap: 8px;
|
|
48
|
+
}
|
|
49
|
+
[part='start'] {
|
|
50
|
+
display: contents;
|
|
51
|
+
}
|
|
52
|
+
slot[name='start']::slotted(*) {
|
|
53
|
+
fill: currentcolor;
|
|
54
|
+
width: ${iconSize};
|
|
55
|
+
height: ${iconSize};
|
|
56
|
+
}
|
|
57
|
+
:host(.indent-1) .start {
|
|
58
|
+
grid-column: 1;
|
|
59
|
+
}
|
|
60
|
+
:host(.indent-1) .content {
|
|
61
|
+
grid-column: 2;
|
|
62
|
+
}
|
|
63
|
+
`;
|
|
64
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/menu-item/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EACH,aAAa,EACb,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACX,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;;;kBAMH,aAAa;;;;;;;;;iBASd,gBAAgB;;;uBAGV,UAAU;qBACZ,eAAe;;YAExB,YAAY;6BACK,gBAAgB;;;;sBAIvB,cAAc;;;sBAGd,iBAAiB;;;iBAGtB,wBAAwB;;;;;;;;iCAQR,QAAQ;;;;;;;;iBAQxB,QAAQ;kBACP,QAAQ;;;;;;;;CAQzB,CAAC"}
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { NumberField as FoundationNumberField } from '@microsoft/fast-foundation';
|
|
2
|
+
export type { NumberField };
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'nimble-number-field': NumberField;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A nimble-styled HTML number input
|
|
10
|
+
*/
|
|
11
|
+
declare class NumberField extends FoundationNumberField {
|
|
12
|
+
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { DesignSystem, NumberField, numberFieldTemplate as template } from '@microsoft/fast-foundation';
|
|
1
|
+
import { DesignSystem, NumberField as FoundationNumberField, numberFieldTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
+
import { controlsArrowExpanderDown16X16, controlsArrowExpanderUp16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
2
3
|
import { styles } from './styles';
|
|
3
|
-
|
|
4
|
+
/**
|
|
5
|
+
* A nimble-styled HTML number input
|
|
6
|
+
*/
|
|
7
|
+
class NumberField extends FoundationNumberField {
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* A function that returns a number-field registration for configuring the component with a DesignSystem.
|
|
6
11
|
*
|
|
@@ -11,17 +16,15 @@ import { nimbleIconNames } from '../shared/icon-font';
|
|
|
11
16
|
*/
|
|
12
17
|
const nimbleNumberField = NumberField.compose({
|
|
13
18
|
baseName: 'number-field',
|
|
19
|
+
baseClass: FoundationNumberField,
|
|
20
|
+
// @ts-expect-error FAST templates have incorrect type, see: https://github.com/microsoft/fast/issues/5047
|
|
14
21
|
template,
|
|
15
22
|
styles,
|
|
16
23
|
shadowOptions: {
|
|
17
24
|
delegatesFocus: true
|
|
18
25
|
},
|
|
19
|
-
stepDownGlyph:
|
|
20
|
-
|
|
21
|
-
`,
|
|
22
|
-
stepUpGlyph: `
|
|
23
|
-
<i class="${nimbleIconNames.UpArrow}"></i>
|
|
24
|
-
`
|
|
26
|
+
stepDownGlyph: controlsArrowExpanderDown16X16.data,
|
|
27
|
+
stepUpGlyph: controlsArrowExpanderUp16X16.data
|
|
25
28
|
});
|
|
26
29
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
|
|
27
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/number-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/number-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,IAAI,qBAAqB,EAEpC,mBAAmB,IAAI,QAAQ,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,4BAA4B,EAC/B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC;;GAEG;AACH,MAAM,WAAY,SAAQ,qBAAqB;CAAG;AAElD;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAqB;IAC9D,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,qBAAqB;IAChC,0GAA0G;IAC1G,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;IACD,aAAa,EAAE,8BAA8B,CAAC,IAAI;IAClD,WAAW,EAAE,4BAA4B,CAAC,IAAI;CACjD,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
|
|
@@ -1,91 +1,118 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
|
-
import {
|
|
3
|
-
import { borderColor, borderColorHover, fillColorSelectedRgb, fontFamily,
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { borderColor, borderColorRgb, borderColorHover, borderWidth, contentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorSelectedRgb, fontFamily, iconSize, labelFontColor, labelFontFamily, labelFontSize, labelFontWeight, labelHeight, labelTextTransform, smallDelay } from '../theme-provider/design-tokens';
|
|
4
4
|
export const styles = css `
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
5
|
+
${display('inline-block')}
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
font-family: ${fontFamily};
|
|
9
|
+
font-size: ${contentFontSize};
|
|
10
|
+
outline: none;
|
|
11
|
+
user-select: none;
|
|
12
|
+
color: ${contentFontColor};
|
|
13
|
+
height: calc(${labelHeight} + ${controlHeight});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:host([disabled]) {
|
|
17
|
+
color: ${contentFontColorDisabled};
|
|
18
|
+
cursor: default;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
position: relative;
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: row;
|
|
26
|
+
border-radius: 0px;
|
|
27
|
+
font-family: ${fontFamily};
|
|
28
|
+
border-bottom: ${borderWidth} solid rgba(${borderColorRgb}, 0.3);
|
|
29
|
+
padding-bottom: 1px;
|
|
30
|
+
transition: border-bottom ${smallDelay}, padding-bottom ${smallDelay};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@media (prefers-reduced-motion) {
|
|
34
|
+
.root {
|
|
35
|
+
transition-duration: 0s;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.root:hover {
|
|
40
|
+
border-bottom: 2px solid ${borderColorHover};
|
|
41
|
+
padding-bottom: 0px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:host([disabled]) .root,
|
|
45
|
+
:host([disabled]) .root:hover {
|
|
46
|
+
border-bottom: ${borderWidth} solid ${contentFontColorDisabled};
|
|
47
|
+
padding-bottom: 1px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.control {
|
|
51
|
+
-webkit-appearance: none;
|
|
52
|
+
font: inherit;
|
|
53
|
+
background: transparent;
|
|
54
|
+
color: inherit;
|
|
55
|
+
height: 28px;
|
|
56
|
+
width: 100%;
|
|
57
|
+
margin-top: auto;
|
|
58
|
+
margin-bottom: auto;
|
|
59
|
+
border: none;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.control:hover,
|
|
63
|
+
.control:focus,
|
|
64
|
+
.control:disabled,
|
|
65
|
+
.control:active {
|
|
66
|
+
outline: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.control::selection {
|
|
70
|
+
color: ${labelFontColor};
|
|
71
|
+
background: rgba(${fillColorSelectedRgb}, 0.3);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.control::placeholder {
|
|
75
|
+
color: ${labelFontColor};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.control:focus-within::placeholder {
|
|
79
|
+
opacity: 1;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.control[disabled]::placeholder {
|
|
83
|
+
color: ${contentFontColorDisabled};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.label {
|
|
87
|
+
display: flex;
|
|
88
|
+
color: ${labelFontColor};
|
|
89
|
+
font-family: ${labelFontFamily};
|
|
90
|
+
font-size: ${labelFontSize};
|
|
91
|
+
font-weight: ${labelFontWeight};
|
|
92
|
+
line-height: ${labelHeight};
|
|
93
|
+
text-transform: ${labelTextTransform};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.controls {
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: column;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.step-up,
|
|
102
|
+
.step-down {
|
|
103
|
+
display: inline-flex;
|
|
104
|
+
height: 15px;
|
|
105
|
+
width: 15px;
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
justify-content: center;
|
|
108
|
+
align-items: center;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.step-up svg,
|
|
112
|
+
.step-down svg {
|
|
113
|
+
height: ${iconSize};
|
|
114
|
+
width: ${iconSize};
|
|
115
|
+
fill: ${borderColor};
|
|
116
|
+
}
|
|
90
117
|
`;
|
|
91
118
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/number-field/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/number-field/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,UAAU,EACb,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;uBAGN,UAAU;qBACZ,eAAe;;;iBAGnB,gBAAgB;uBACV,WAAW,MAAM,aAAa;;;;iBAIpC,wBAAwB;;;;;;;;;;uBAUlB,UAAU;yBACR,WAAW,eAAe,cAAc;;oCAE7B,UAAU,oBAAoB,UAAU;;;;;;;;;;mCAUzC,gBAAgB;;;;;;yBAM1B,WAAW,UAAU,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;iBAwBrD,cAAc;2BACJ,oBAAoB;;;;iBAI9B,cAAc;;;;;;;;iBAQd,wBAAwB;;;;;iBAKxB,cAAc;uBACR,eAAe;qBACjB,aAAa;uBACX,eAAe;uBACf,WAAW;0BACR,kBAAkB;;;;;;;;;;;;;;;;;;;;kBAoB1B,QAAQ;iBACT,QAAQ;gBACT,WAAW;;CAE1B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Select as FoundationSelect } from '@microsoft/fast-foundation';
|
|
2
|
+
export type { Select };
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'nimble-select': Select;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A nimble-styed HTML select
|
|
10
|
+
*/
|
|
11
|
+
declare class Select extends FoundationSelect {
|
|
12
|
+
get value(): string;
|
|
13
|
+
set value(value: string);
|
|
14
|
+
setPositioning(): void;
|
|
15
|
+
connectedCallback(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DesignSystem, Select as FoundationSelect, selectTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
+
import { controlsArrowExpanderDown16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
+
import { styles } from './styles';
|
|
4
|
+
/**
|
|
5
|
+
* A nimble-styed HTML select
|
|
6
|
+
*/
|
|
7
|
+
class Select extends FoundationSelect {
|
|
8
|
+
get value() {
|
|
9
|
+
return super.value;
|
|
10
|
+
}
|
|
11
|
+
set value(value) {
|
|
12
|
+
super.value = value;
|
|
13
|
+
// Workaround for https://github.com/microsoft/fast/issues/5139
|
|
14
|
+
// When the value property is set very early in the element's lifecycle (e.g. Angular value binding),
|
|
15
|
+
// the options property will not be set yet. As a workaround, we mark the listbox-option element with
|
|
16
|
+
// the selected attribute, which will set the initial value correctly.
|
|
17
|
+
if (value !== null && this.options.length === 0) {
|
|
18
|
+
const options = this.querySelectorAll('option,[role="option"]');
|
|
19
|
+
options.forEach(option => {
|
|
20
|
+
if (option.getAttribute('value') === value) {
|
|
21
|
+
option.setAttribute('selected', '');
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Workaround for https://github.com/microsoft/fast/issues/5123
|
|
27
|
+
setPositioning() {
|
|
28
|
+
if (!this.$fastController.isConnected) {
|
|
29
|
+
// Don't call setPositioning() until we're connected,
|
|
30
|
+
// since this.forcedPosition isn't initialized yet.
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
super.setPositioning();
|
|
34
|
+
}
|
|
35
|
+
connectedCallback() {
|
|
36
|
+
super.connectedCallback();
|
|
37
|
+
// Call setPositioning() after this.forcedPosition is initialized.
|
|
38
|
+
this.setPositioning();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const nimbleSelect = Select.compose({
|
|
42
|
+
baseName: 'select',
|
|
43
|
+
baseClass: FoundationSelect,
|
|
44
|
+
// @ts-expect-error FAST templates have incorrect type, see: https://github.com/microsoft/fast/issues/5047
|
|
45
|
+
template,
|
|
46
|
+
styles,
|
|
47
|
+
indicator: controlsArrowExpanderDown16X16.data
|
|
48
|
+
});
|
|
49
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,gBAAgB,EAE1B,cAAc,IAAI,QAAQ,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC;;GAEG;AACH,MAAM,MAAO,SAAQ,gBAAgB;IACjC,IAAW,KAAK;QACZ,OAAO,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,IAAW,KAAK,CAAC,KAAa;QAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,+DAA+D;QAC/D,qGAAqG;QACrG,qGAAqG;QACrG,sEAAsE;QACtE,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;YAChE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACrB,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;oBACxC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,+DAA+D;IACxD,cAAc;QACjB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACnC,qDAAqD;YACrD,mDAAmD;YACnD,OAAO;SACV;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,kEAAkE;QAClE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACJ;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,gBAAgB;IAC3B,0GAA0G;IAC1G,QAAQ;IACR,MAAM;IACN,SAAS,EAAE,8BAA8B,CAAC,IAAI;CACjD,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { applicationBackgroundColor, borderColorHover, borderWidth, contentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fontFamily, iconSize, popupBorderColor, popupBoxShadowColor, smallDelay } from '../theme-provider/design-tokens';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
${display('inline-flex')}
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
color: ${contentFontColor};
|
|
10
|
+
font-family: ${fontFamily};
|
|
11
|
+
height: ${controlHeight};
|
|
12
|
+
position: relative;
|
|
13
|
+
user-select: none;
|
|
14
|
+
min-width: 250px;
|
|
15
|
+
outline: none;
|
|
16
|
+
vertical-align: top;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.listbox {
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
left: 0;
|
|
24
|
+
overflow-y: auto;
|
|
25
|
+
position: absolute;
|
|
26
|
+
width: 100%;
|
|
27
|
+
z-index: 1;
|
|
28
|
+
padding: 4px;
|
|
29
|
+
box-shadow: 0px 3px 3px ${popupBoxShadowColor};
|
|
30
|
+
border: 1px solid ${popupBorderColor};
|
|
31
|
+
background-color: ${applicationBackgroundColor};
|
|
32
|
+
background-clip: padding-box;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.listbox[hidden] {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.control {
|
|
40
|
+
align-items: center;
|
|
41
|
+
box-sizing: border-box;
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
display: flex;
|
|
44
|
+
font-size: ${contentFontSize};
|
|
45
|
+
font-family: inherit;
|
|
46
|
+
min-height: 100%;
|
|
47
|
+
width: 100%;
|
|
48
|
+
border-bottom: ${borderWidth} solid ${contentFontColorDisabled};
|
|
49
|
+
background-color: transparent;
|
|
50
|
+
padding-left: 8px;
|
|
51
|
+
padding-bottom: 1px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([disabled]) .control {
|
|
55
|
+
cursor: default;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host(.open:not(:hover)) .control {
|
|
59
|
+
border-bottom: ${borderWidth} solid ${borderColorHover};
|
|
60
|
+
transition: border-bottom ${smallDelay}, padding-bottom ${smallDelay};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host(:hover) .control {
|
|
64
|
+
border-bottom: 2px solid ${borderColorHover};
|
|
65
|
+
padding-bottom: 0px;
|
|
66
|
+
transition: border-bottom ${smallDelay}, padding-bottom ${smallDelay};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host([disabled]) .control,
|
|
70
|
+
:host([disabled]) .control:hover {
|
|
71
|
+
border-bottom: ${borderWidth} solid ${contentFontColorDisabled};
|
|
72
|
+
padding-bottom: 1px;
|
|
73
|
+
color: ${contentFontColorDisabled};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
:host([open][position='above']) .listbox {
|
|
77
|
+
border-bottom-left-radius: 0;
|
|
78
|
+
border-bottom-right-radius: 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host([open][position='below']) .listbox {
|
|
82
|
+
border-top-left-radius: 0;
|
|
83
|
+
border-top-right-radius: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
:host([open][position='above']) .listbox {
|
|
87
|
+
bottom: ${controlHeight};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host([open][position='below']) .listbox {
|
|
91
|
+
top: calc(${controlHeight} + 3px);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.selected-value {
|
|
95
|
+
flex: 1 1 auto;
|
|
96
|
+
font-family: inherit;
|
|
97
|
+
text-align: start;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
text-overflow: ellipsis;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.indicator {
|
|
104
|
+
flex: 0 0 auto;
|
|
105
|
+
margin-inline-start: 1em;
|
|
106
|
+
padding-right: 8px;
|
|
107
|
+
display: flex;
|
|
108
|
+
justify-content: center;
|
|
109
|
+
align-items: center;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.indicator slot[name='indicator'] svg {
|
|
113
|
+
width: ${iconSize};
|
|
114
|
+
height: ${iconSize};
|
|
115
|
+
fill: ${contentFontColor};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:host([disabled]) .indicator slot[name='indicator'] svg {
|
|
119
|
+
fill: ${contentFontColorDisabled};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
slot[name='listbox'] {
|
|
123
|
+
display: none;
|
|
124
|
+
width: 100%;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:host([open]) slot[name='listbox'] {
|
|
128
|
+
display: flex;
|
|
129
|
+
position: absolute;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.end {
|
|
133
|
+
margin-inline-start: auto;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
::slotted([role='option']),
|
|
137
|
+
::slotted(option) {
|
|
138
|
+
flex: 0 0 auto;
|
|
139
|
+
}
|
|
140
|
+
`;
|
|
141
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/select/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACb,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;iBAIX,gBAAgB;uBACV,UAAU;kBACf,aAAa;;;;;;;;;;;;;;;;;;kCAkBG,mBAAmB;4BACzB,gBAAgB;4BAChB,0BAA0B;;;;;;;;;;;;;qBAajC,eAAe;;;;yBAIX,WAAW,UAAU,wBAAwB;;;;;;;;;;;yBAW7C,WAAW,UAAU,gBAAgB;oCAC1B,UAAU,oBAAoB,UAAU;;;;mCAIzC,gBAAgB;;oCAEf,UAAU,oBAAoB,UAAU;;;;;yBAKnD,WAAW,UAAU,wBAAwB;;iBAErD,wBAAwB;;;;;;;;;;;;;;kBAcvB,aAAa;;;;oBAIX,aAAa;;;;;;;;;;;;;;;;;;;;;;iBAsBhB,QAAQ;kBACP,QAAQ;gBACV,gBAAgB;;;;gBAIhB,wBAAwB;;;;;;;;;;;;;;;;;;;;;CAqBvC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Tab as FoundationTab } from '@microsoft/fast-foundation';
|
|
2
|
+
export type { Tab };
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'nimble-tab': Tab;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A nimble-styled HTML tab
|
|
10
|
+
*/
|
|
11
|
+
declare class Tab extends FoundationTab {
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DesignSystem, Tab as FoundationTab, tabTemplate as template } from '@microsoft/fast-foundation';
|
|
2
|
+
import { styles } from './styles';
|
|
3
|
+
/**
|
|
4
|
+
* A nimble-styled HTML tab
|
|
5
|
+
*/
|
|
6
|
+
class Tab extends FoundationTab {
|
|
7
|
+
}
|
|
8
|
+
const nimbleTab = Tab.compose({
|
|
9
|
+
baseName: 'tab',
|
|
10
|
+
baseClass: FoundationTab,
|
|
11
|
+
// @ts-expect-error FAST templates have incorrect type, see: https://github.com/microsoft/fast/issues/5047
|
|
12
|
+
template,
|
|
13
|
+
styles
|
|
14
|
+
});
|
|
15
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTab());
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,GAAG,IAAI,aAAa,EACpB,WAAW,IAAI,QAAQ,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC;;GAEG;AACH,MAAM,GAAI,SAAQ,aAAa;CAAG;AAElC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1B,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,aAAa;IACxB,0GAA0G;IAC1G,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { borderColorHover, borderWidth, contentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorHover, fontFamily, mediumDelay, standardPadding } from '../theme-provider/design-tokens';
|
|
4
|
+
import { focusVisible } from '../utilities/style/focus';
|
|
5
|
+
export const styles = css `
|
|
6
|
+
${display('inline-flex')}
|
|
7
|
+
|
|
8
|
+
:host {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
font-family: ${fontFamily};
|
|
11
|
+
font-size: ${contentFontSize};
|
|
12
|
+
height: ${controlHeight};
|
|
13
|
+
padding: calc(${standardPadding} / 2) ${standardPadding}
|
|
14
|
+
calc(${standardPadding} / 2 - ${borderWidth});
|
|
15
|
+
color: ${contentFontColor};
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
${ /* Separate focus indicator from active indicator */''}
|
|
20
|
+
border-bottom: transparent ${borderWidth} solid;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host(:hover) {
|
|
24
|
+
background-color: ${fillColorHover};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host(:focus) {
|
|
28
|
+
outline: none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host(${focusVisible}) {
|
|
32
|
+
outline: none;
|
|
33
|
+
box-shadow: 0 calc(${borderWidth} * -1) ${borderColorHover} inset;
|
|
34
|
+
transition: box-shadow ${mediumDelay} ease-in-out;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@media (prefers-reduced-motion) {
|
|
38
|
+
:host(${focusVisible}) {
|
|
39
|
+
transition-duration: 0.01s;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:host(:active) {
|
|
44
|
+
background: none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:host([disabled]) {
|
|
48
|
+
cursor: default;
|
|
49
|
+
color: ${contentFontColorDisabled};
|
|
50
|
+
background: none;
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/tab/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;uBAIL,UAAU;qBACZ,eAAe;kBAClB,aAAa;wBACP,eAAe,SAAS,eAAe;mBAC5C,eAAe,UAAU,WAAW;iBACtC,gBAAgB;;;;UAIvB,CAAA,oDAAqD,EAAE;qCAC5B,WAAW;;;;4BAIpB,cAAc;;;;;;;YAO9B,YAAY;;6BAEK,WAAW,UAAU,gBAAgB;iCACjC,WAAW;;;;gBAI5B,YAAY;;;;;;;;;;;iBAWX,wBAAwB;;;CAGxC,CAAC"}
|