@ni/nimble-components 1.0.0-beta.0 → 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.
Files changed (188) hide show
  1. package/README.md +20 -20
  2. package/dist/esm/button/behaviors.d.ts +12 -0
  3. package/dist/esm/button/behaviors.js +14 -0
  4. package/dist/esm/button/behaviors.js.map +1 -0
  5. package/dist/esm/button/index.d.ts +17 -1
  6. package/dist/esm/button/index.js +37 -52
  7. package/dist/esm/button/index.js.map +1 -1
  8. package/dist/esm/button/styles.d.ts +1 -0
  9. package/dist/esm/button/styles.js +179 -0
  10. package/dist/esm/button/styles.js.map +1 -0
  11. package/dist/esm/button/types.d.ts +9 -0
  12. package/dist/esm/button/types.js +11 -0
  13. package/dist/esm/button/types.js.map +1 -0
  14. package/dist/esm/checkbox/index.d.ts +2 -0
  15. package/dist/esm/checkbox/index.js +12 -0
  16. package/dist/esm/checkbox/index.js.map +1 -0
  17. package/dist/esm/checkbox/styles.d.ts +1 -0
  18. package/dist/esm/checkbox/styles.js +92 -0
  19. package/dist/esm/checkbox/styles.js.map +1 -0
  20. package/dist/esm/drawer/animations.d.ts +14 -0
  21. package/dist/esm/drawer/animations.js +52 -0
  22. package/dist/esm/drawer/animations.js.map +1 -0
  23. package/dist/esm/drawer/index.d.ts +39 -0
  24. package/dist/esm/drawer/index.js +190 -0
  25. package/dist/esm/drawer/index.js.map +1 -0
  26. package/dist/esm/drawer/styles.d.ts +1 -0
  27. package/dist/esm/drawer/styles.js +115 -0
  28. package/dist/esm/drawer/styles.js.map +1 -0
  29. package/dist/esm/drawer/types.d.ts +10 -0
  30. package/dist/esm/drawer/types.js +13 -0
  31. package/dist/esm/drawer/types.js.map +1 -0
  32. package/dist/esm/icon-base/index.d.ts +12 -0
  33. package/dist/esm/icon-base/index.js +22 -0
  34. package/dist/esm/icon-base/index.js.map +1 -0
  35. package/dist/esm/icon-base/styles.d.ts +1 -0
  36. package/dist/esm/icon-base/styles.js +38 -0
  37. package/dist/esm/icon-base/styles.js.map +1 -0
  38. package/dist/esm/icon-base/template.d.ts +2 -0
  39. package/dist/esm/icon-base/template.js +7 -0
  40. package/dist/esm/icon-base/template.js.map +1 -0
  41. package/dist/esm/icons/access-control.d.ts +7 -0
  42. package/dist/esm/icons/access-control.js +12 -0
  43. package/dist/esm/icons/access-control.js.map +1 -0
  44. package/dist/esm/icons/admin.d.ts +7 -0
  45. package/dist/esm/icons/admin.js +12 -0
  46. package/dist/esm/icons/admin.js.map +1 -0
  47. package/dist/esm/icons/administration.d.ts +7 -0
  48. package/dist/esm/icons/administration.js +12 -0
  49. package/dist/esm/icons/administration.js.map +1 -0
  50. package/dist/esm/icons/all-icons.d.ts +13 -0
  51. package/dist/esm/icons/all-icons.js +14 -0
  52. package/dist/esm/icons/all-icons.js.map +1 -0
  53. package/dist/esm/icons/check.d.ts +7 -0
  54. package/dist/esm/icons/check.js +12 -0
  55. package/dist/esm/icons/check.js.map +1 -0
  56. package/dist/esm/icons/custom-applications.d.ts +7 -0
  57. package/dist/esm/icons/custom-applications.js +12 -0
  58. package/dist/esm/icons/custom-applications.js.map +1 -0
  59. package/dist/esm/icons/delete.d.ts +7 -0
  60. package/dist/esm/icons/delete.js +12 -0
  61. package/dist/esm/icons/delete.js.map +1 -0
  62. package/dist/esm/icons/login.d.ts +7 -0
  63. package/dist/esm/icons/login.js +12 -0
  64. package/dist/esm/icons/login.js.map +1 -0
  65. package/dist/esm/icons/logout.d.ts +7 -0
  66. package/dist/esm/icons/logout.js +12 -0
  67. package/dist/esm/icons/logout.js.map +1 -0
  68. package/dist/esm/icons/managed-systems.d.ts +7 -0
  69. package/dist/esm/icons/managed-systems.js +12 -0
  70. package/dist/esm/icons/managed-systems.js.map +1 -0
  71. package/dist/esm/icons/measurement-data-analysis.d.ts +7 -0
  72. package/dist/esm/icons/measurement-data-analysis.js +12 -0
  73. package/dist/esm/icons/measurement-data-analysis.js.map +1 -0
  74. package/dist/esm/icons/settings.d.ts +7 -0
  75. package/dist/esm/icons/settings.js +12 -0
  76. package/dist/esm/icons/settings.js.map +1 -0
  77. package/dist/esm/icons/test-insights.d.ts +7 -0
  78. package/dist/esm/icons/test-insights.js +12 -0
  79. package/dist/esm/icons/test-insights.js.map +1 -0
  80. package/dist/esm/icons/utilities.d.ts +7 -0
  81. package/dist/esm/icons/utilities.js +12 -0
  82. package/dist/esm/icons/utilities.js.map +1 -0
  83. package/dist/esm/listbox-option/index.d.ts +10 -0
  84. package/dist/esm/listbox-option/index.js +29 -0
  85. package/dist/esm/listbox-option/index.js.map +1 -0
  86. package/dist/esm/listbox-option/styles.d.ts +1 -0
  87. package/dist/esm/listbox-option/styles.js +60 -0
  88. package/dist/esm/listbox-option/styles.js.map +1 -0
  89. package/dist/esm/menu/index.d.ts +5 -0
  90. package/dist/esm/menu/index.js +22 -0
  91. package/dist/esm/menu/index.js.map +1 -0
  92. package/dist/esm/menu/styles.d.ts +1 -0
  93. package/dist/esm/menu/styles.js +40 -0
  94. package/dist/esm/menu/styles.js.map +1 -0
  95. package/dist/esm/menu-item/index.d.ts +15 -0
  96. package/dist/esm/menu-item/index.js +22 -0
  97. package/dist/esm/menu-item/index.js.map +1 -0
  98. package/dist/esm/menu-item/styles.d.ts +1 -0
  99. package/dist/esm/menu-item/styles.js +64 -0
  100. package/dist/esm/menu-item/styles.js.map +1 -0
  101. package/dist/esm/number-field/index.d.ts +6 -1
  102. package/dist/esm/number-field/index.js +22 -20
  103. package/dist/esm/number-field/index.js.map +1 -1
  104. package/dist/esm/number-field/styles.d.ts +1 -0
  105. package/dist/esm/number-field/styles.js +118 -0
  106. package/dist/esm/number-field/styles.js.map +1 -0
  107. package/dist/esm/select/index.d.ts +12 -0
  108. package/dist/esm/select/index.js +46 -0
  109. package/dist/esm/select/index.js.map +1 -0
  110. package/dist/esm/select/styles.d.ts +1 -0
  111. package/dist/esm/select/styles.js +141 -0
  112. package/dist/esm/select/styles.js.map +1 -0
  113. package/dist/esm/tab/index.d.ts +2 -0
  114. package/dist/esm/tab/index.js +9 -0
  115. package/dist/esm/tab/index.js.map +1 -0
  116. package/dist/esm/tab/styles.d.ts +1 -0
  117. package/dist/esm/tab/styles.js +53 -0
  118. package/dist/esm/tab/styles.js.map +1 -0
  119. package/dist/esm/tab-panel/index.d.ts +2 -0
  120. package/dist/esm/tab-panel/index.js +9 -0
  121. package/dist/esm/tab-panel/index.js.map +1 -0
  122. package/dist/esm/tab-panel/styles.d.ts +1 -0
  123. package/dist/esm/tab-panel/styles.js +15 -0
  124. package/dist/esm/tab-panel/styles.js.map +1 -0
  125. package/dist/esm/tabs/index.d.ts +2 -0
  126. package/dist/esm/tabs/index.js +9 -0
  127. package/dist/esm/tabs/index.js.map +1 -0
  128. package/dist/esm/tabs/styles.d.ts +1 -0
  129. package/dist/esm/tabs/styles.js +43 -0
  130. package/dist/esm/tabs/styles.js.map +1 -0
  131. package/dist/esm/tabs-toolbar/index.d.ts +6 -0
  132. package/dist/esm/tabs-toolbar/index.js +15 -0
  133. package/dist/esm/tabs-toolbar/index.js.map +1 -0
  134. package/dist/esm/tabs-toolbar/styles.d.ts +1 -0
  135. package/dist/esm/tabs-toolbar/styles.js +23 -0
  136. package/dist/esm/tabs-toolbar/styles.js.map +1 -0
  137. package/dist/esm/tabs-toolbar/template.d.ts +1 -0
  138. package/dist/esm/tabs-toolbar/template.js +8 -0
  139. package/dist/esm/tabs-toolbar/template.js.map +1 -0
  140. package/dist/esm/testing/dom-next-update.d.ts +4 -0
  141. package/dist/esm/testing/dom-next-update.js +6 -0
  142. package/dist/esm/testing/dom-next-update.js.map +1 -0
  143. package/dist/esm/text-field/index.d.ts +6 -1
  144. package/dist/esm/text-field/index.js +13 -11
  145. package/dist/esm/text-field/index.js.map +1 -1
  146. package/dist/esm/text-field/styles.d.ts +1 -1
  147. package/dist/esm/text-field/styles.js +141 -65
  148. package/dist/esm/text-field/styles.js.map +1 -1
  149. package/dist/esm/theme-provider/design-tokens.d.ts +48 -15
  150. package/dist/esm/theme-provider/design-tokens.js +163 -27
  151. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  152. package/dist/esm/theme-provider/index.d.ts +10 -1
  153. package/dist/esm/theme-provider/index.js +42 -48
  154. package/dist/esm/theme-provider/index.js.map +1 -1
  155. package/dist/esm/theme-provider/template.d.ts +2 -0
  156. package/dist/esm/theme-provider/template.js +3 -0
  157. package/dist/esm/theme-provider/template.js.map +1 -0
  158. package/dist/esm/theme-provider/themes.d.ts +6 -4
  159. package/dist/esm/theme-provider/themes.js +7 -5
  160. package/dist/esm/theme-provider/themes.js.map +1 -1
  161. package/dist/esm/tree-item/index.d.ts +28 -0
  162. package/dist/esm/tree-item/index.js +116 -0
  163. package/dist/esm/tree-item/index.js.map +1 -0
  164. package/dist/esm/tree-item/styles.d.ts +3 -0
  165. package/dist/esm/tree-item/styles.js +195 -0
  166. package/dist/esm/tree-item/styles.js.map +1 -0
  167. package/dist/esm/tree-view/index.d.ts +16 -0
  168. package/dist/esm/tree-view/index.js +34 -0
  169. package/dist/esm/tree-view/index.js.map +1 -0
  170. package/dist/esm/tree-view/styles.d.ts +1 -0
  171. package/dist/esm/tree-view/styles.js +17 -0
  172. package/dist/esm/tree-view/styles.js.map +1 -0
  173. package/dist/esm/tree-view/types.d.ts +6 -0
  174. package/dist/esm/tree-view/types.js +8 -0
  175. package/dist/esm/tree-view/types.js.map +1 -0
  176. package/dist/esm/utilities/style/focus.d.ts +11 -0
  177. package/dist/esm/utilities/style/focus.js +14 -0
  178. package/dist/esm/utilities/style/focus.js.map +1 -0
  179. package/package.json +94 -66
  180. package/dist/esm/button/button.stories.d.ts +0 -15
  181. package/dist/esm/button/button.stories.js +0 -14
  182. package/dist/esm/button/button.stories.js.map +0 -1
  183. package/dist/esm/number-field/number-field.stories.d.ts +0 -15
  184. package/dist/esm/number-field/number-field.stories.js +0 -14
  185. package/dist/esm/number-field/number-field.stories.js.map +0 -1
  186. package/dist/esm/shared/icon-font.d.ts +0 -3
  187. package/dist/esm/shared/icon-font.js +0 -6
  188. package/dist/esm/shared/icon-font.js.map +0 -1
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
- <div align="center">
2
- <p align="center"><b>ni | nimble | components</b></p>
3
- </div>
4
-
5
- # Nimble Components
6
-
7
- [![NPM Version](https://img.shields.io/npm/v/@ni/nimble-components.svg)](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](../nimble-blazor) documentation.
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
+ [![NPM Version](https://img.shields.io/npm/v/@ni/nimble-components.svg)](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.
@@ -0,0 +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;
@@ -0,0 +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
+ }
14
+ //# sourceMappingURL=behaviors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behaviors.js","sourceRoot":"","sources":["../../../src/button/behaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAIxE;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAC9B,KAAuB,EACvB,MAAqB;IAErB,OAAO,IAAI,0BAA0B,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC"}
@@ -1 +1,17 @@
1
- export {};
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,53 +1,38 @@
1
- import { css } from '@microsoft/fast-element';
2
- import { Button as FoundationButton, buttonTemplate as template, DesignSystem } from '@microsoft/fast-foundation';
3
- import { outlineColorRgb, outlineColorHover, controlHeight, standardPadding, fontFamily, fontColor } from '../theme-provider/design-tokens';
4
- const styles = css `
5
- :host {
6
- display: inline-block;
7
- outline: 1px solid rgba(${outlineColorRgb}, 0.3);
8
- background-color: transparent;
9
- height: ${controlHeight};
10
- padding-left: ${standardPadding};
11
- padding-right: ${standardPadding};
12
- color: ${fontColor};
13
- font-family: ${fontFamily};
14
- cursor: pointer;
15
- text-align: center;
16
- }
17
-
18
- :host(:hover) {
19
- outline: 1px solid ${outlineColorHover};
20
- box-shadow:0px 0px 0px 1px ${outlineColorHover} inset;
21
- }
22
-
23
- .control {
24
- background-color: transparent;
25
- height: inherit;
26
- border: 0px solid transparent;
27
- color: inherit;
28
- border-radius: inherit;
29
- fill: inherit;
30
- cursor: inherit;
31
- font-family: inherit;
32
- font-size: inherit;
33
- line-height: inherit;
34
- }`;
35
- /**
36
- * A function that returns a nimble-button registration for configuring the component with a DesignSystem.
37
- * Implements {@link @microsoft/fast-foundation#buttonTemplate}
38
- *
39
- * @public
40
- * @remarks
41
- * Generates HTML Element: \<nimble-button\>
42
- *
43
- */
44
- const nimbleButton = FoundationButton.compose({
45
- baseName: 'button',
46
- template,
47
- styles,
48
- shadowOptions: {
49
- delegatesFocus: true,
50
- },
51
- });
52
- 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());
53
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,cAAc,IAAI,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5I,MAAM,MAAM,GAAG,GAAG,CAAA;;;8BAGY,eAAe;;cAE/B,aAAa;oBACP,eAAe;qBACd,eAAe;aACvB,SAAS;mBACH,UAAU;;;;;;yBAMJ,iBAAiB;iCACT,iBAAiB;;;;;;;;;;;;;;EAchD,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,MAAM,IAAI,gBAAgB,EAE1B,cAAc,IAAI,QAAQ,EAC1B,YAAY,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C;;GAEG;AACH,MAAM,MAAO,SAAQ,gBAAgB;IAW1B,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAC9C;IACL,CAAC;CACJ;AARG;IADC,IAAI;0CAC+B;AAUxC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,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,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
+ `));
179
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/button/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;AACxD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;kBAIV,aAAa;iBACd,sBAAsB;uBAChB,UAAU;qBACZ,eAAe;;;;;UAK1B;AACE;;;EAGE,CAAC,EACP;;;;;iBAKS,wBAAwB;;;;;;;;kBAQvB,WAAW;;;;;;;;;;;;;;qBAcR,eAAe;iCACH,UAAU;;;;;;;;;;kCAUT,WAAW,IAAI,gBAAgB;;;;cAInD,YAAY;kCACQ,WAAW,IAAI,gBAAgB;mBAC9C,WAAW,UAAU,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;wBAuBhC,sBAAsB;;;;;;;;;;CAU7C;IACG,kBAAkB;KACjB,aAAa,CACV,kBAAkB,CACd,gBAAgB,CAAC,OAAO,EACxB,GAAG,CAAA;;;yCAG0B,cAAc;;;;;oCAKnB,gBAAgB;;;0BAG1B,YAAY;;oCAEF,gBAAgB;;;;wCAIZ,iBAAiB;;;;;;yCAMhB,cAAc;;aAE1C,CACJ,EACD,kBAAkB,CACd,gBAAgB,CAAC,KAAK,EACtB,GAAG,CAAA;;;;;;;;oCAQqB,gBAAgB;;;0BAG1B,YAAY;;oCAEF,gBAAgB;;;;wCAIZ,iBAAiB;;;;;;;;aAQ5C,CACJ,EACD,kBAAkB,CACd,gBAAgB,CAAC,KAAK,EACtB,GAAG,CAAA;;6CAE8B,cAAc;;;;;6CAKd,cAAc;oCACvB,gBAAgB;;;0BAG1B,YAAY;6CACO,cAAc;oCACvB,gBAAgB;;;;wCAIZ,iBAAiB;;;;;6CAKZ,cAAc;yCAClB,cAAc;;aAE1C,CACJ,CACJ,CAAC"}
@@ -0,0 +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
+ }
@@ -0,0 +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 = {}));
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/button/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,mCAAe,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
@@ -0,0 +1,2 @@
1
+ import { Checkbox as FoundationCheckbox } from '@microsoft/fast-foundation';
2
+ export { FoundationCheckbox as Checkbox };
@@ -0,0 +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());
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,IAAI,kBAAkB,EAE9B,gBAAgB,IAAI,QAAQ,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,CAAC;AAE1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAkB;IAC/D,QAAQ,EAAE,UAAU;IACpB,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,0BAA0B,CAAC,IAAI;CACpD,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,92 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { focusVisible } from '../utilities/style/focus';
4
+ import { borderColor, borderColorHover, borderColorRgb, contentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, labelHeight, iconSize, fontFamily, borderWidth, smallDelay } from '../theme-provider/design-tokens';
5
+ export const styles = css `
6
+ ${display('inline-flex')}
7
+
8
+ :host {
9
+ align-items: center;
10
+ cursor: pointer;
11
+ outline: none;
12
+ user-select: none;
13
+ }
14
+
15
+ :host([disabled]) {
16
+ cursor: default;
17
+ }
18
+
19
+ .control {
20
+ width: calc(${controlHeight} / 2);
21
+ height: calc(${controlHeight} / 2);
22
+ box-sizing: border-box;
23
+ flex-shrink: 0;
24
+ border: ${borderWidth} solid ${borderColor};
25
+ padding: 2px;
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ transition: box-shadow ${smallDelay};
30
+ ${
31
+ /*
32
+ * Firefox includes the line height in the outline height calculation (not sure if intended or accidental).
33
+ * Set it to 0 to ensure the outline is just as high as the control.
34
+ */ ''}
35
+ line-height: 0;
36
+ }
37
+
38
+ @media (prefers-reduced-motion) {
39
+ .control {
40
+ transition-duration: 0s;
41
+ }
42
+ }
43
+
44
+ :host([disabled]) .control {
45
+ background-color: rgba(${borderColorRgb}, 0.1);
46
+ border-color: rgba(${borderColorRgb}, 0.2);
47
+ }
48
+
49
+ :host(:not([disabled]):not(:active):hover) .control {
50
+ border-color: ${borderColorHover};
51
+ box-shadow: 0px 0px 0px ${borderWidth} ${borderColorHover} inset;
52
+ }
53
+
54
+ :host(${focusVisible}) .control {
55
+ border-color: ${borderColorHover};
56
+ outline: 2px solid ${borderColorHover};
57
+ outline-offset: 2px;
58
+ }
59
+
60
+ .label {
61
+ font-family: ${fontFamily};
62
+ font-size: ${contentFontSize};
63
+ color: ${contentFontColor};
64
+ line-height: ${labelHeight};
65
+ padding-left: 1ch;
66
+ cursor: inherit;
67
+ }
68
+
69
+ :host([disabled]) .label {
70
+ color: ${contentFontColorDisabled};
71
+ }
72
+
73
+ slot[name='checked-indicator'] svg {
74
+ height: ${iconSize};
75
+ width: ${iconSize};
76
+ overflow: visible;
77
+ }
78
+
79
+ slot[name='checked-indicator'] path {
80
+ fill: ${borderColor};
81
+ opacity: 0;
82
+ }
83
+
84
+ :host([aria-checked='true']) slot[name='checked-indicator'] path {
85
+ opacity: 1;
86
+ }
87
+
88
+ :host([disabled]) slot[name='checked-indicator'] path {
89
+ fill: rgba(${borderColorRgb}, 0.3);
90
+ }
91
+ `;
92
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/checkbox/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,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACb,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;sBAcN,aAAa;uBACZ,aAAa;;;kBAGlB,WAAW,UAAU,WAAW;;;;;iCAKjB,UAAU;UACjC;AACE;;;GAGG,CAAC,EACR;;;;;;;;;;;iCAWyB,cAAc;6BAClB,cAAc;;;;wBAInB,gBAAgB;kCACN,WAAW,IAAI,gBAAgB;;;YAGrD,YAAY;wBACA,gBAAgB;6BACX,gBAAgB;;;;;uBAKtB,UAAU;qBACZ,eAAe;iBACnB,gBAAgB;uBACV,WAAW;;;;;;iBAMjB,wBAAwB;;;;kBAIvB,QAAQ;iBACT,QAAQ;;;;;gBAKT,WAAW;;;;;;;;;qBASN,cAAc;;CAElC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const animationConfig: {
2
+ slideLeftKeyframes: Keyframe[];
3
+ slideRightKeyframes: Keyframe[];
4
+ fadeOverlayKeyframes: Keyframe[];
5
+ slideInOptions: {
6
+ duration: number;
7
+ easing: string;
8
+ };
9
+ slideOutOptions: {
10
+ duration: number;
11
+ easing: string;
12
+ direction: string;
13
+ };
14
+ };
@@ -0,0 +1,52 @@
1
+ const slideLeftKeyframes = [
2
+ {
3
+ transform: 'translateX(-100%)',
4
+ visibility: 'hidden',
5
+ offset: 0
6
+ },
7
+ {
8
+ transform: 'translateX(-100%)',
9
+ visibility: 'visible',
10
+ offset: 0.01
11
+ },
12
+ {
13
+ transform: 'translateX(0%)',
14
+ visibility: 'visible',
15
+ offset: 1
16
+ }
17
+ ];
18
+ const slideRightKeyframes = [
19
+ {
20
+ transform: 'translateX(100%)',
21
+ visibility: 'hidden',
22
+ offset: 0
23
+ },
24
+ {
25
+ transform: 'translateX(100%)',
26
+ visibility: 'visible',
27
+ offset: 0.01
28
+ },
29
+ {
30
+ transform: 'translateX(0%)',
31
+ visibility: 'visible',
32
+ offset: 1
33
+ }
34
+ ];
35
+ const fadeOverlayKeyframes = [{ opacity: 0 }, { opacity: 1 }];
36
+ const slideInOptions = {
37
+ duration: 1,
38
+ easing: 'ease-out'
39
+ };
40
+ const slideOutOptions = {
41
+ duration: 1,
42
+ easing: 'ease-in',
43
+ direction: 'reverse'
44
+ };
45
+ export const animationConfig = {
46
+ slideLeftKeyframes,
47
+ slideRightKeyframes,
48
+ fadeOverlayKeyframes,
49
+ slideInOptions,
50
+ slideOutOptions
51
+ };
52
+ //# sourceMappingURL=animations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.js","sourceRoot":"","sources":["../../../src/drawer/animations.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAe;IACnC;QACI,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC;KACZ;IACD;QACI,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,IAAI;KACf;IACD;QACI,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC;KACZ;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAe;IACpC;QACI,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC;KACZ;IACD;QACI,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,IAAI;KACf;IACD;QACI,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC;KACZ;CACJ,CAAC;AAEF,MAAM,oBAAoB,GAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1E,MAAM,cAAc,GAAG;IACnB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,eAAe,GAAG;IACpB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,eAAe;CAClB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Dialog as FoundationDialog } from '@microsoft/fast-foundation';
2
+ import { DrawerLocation, DrawerState } from './types';
3
+ /**
4
+ * Drawer/Sidenav control. Shows content in a panel on the left / right side of the screen,
5
+ * which animates to be visible with a slide-in / slide-out animation.
6
+ * Configured via 'location', 'state', 'modal', 'preventDismiss' properties.
7
+ */
8
+ export declare class Drawer extends FoundationDialog {
9
+ location: DrawerLocation;
10
+ state: DrawerState;
11
+ /**
12
+ * True to prevent dismissing the drawer when the overlay outside the drawer is clicked.
13
+ * Only applicable when 'modal' is set to true (i.e. when the overlay is used).
14
+ * HTML Attribute: prevent-dismiss
15
+ */
16
+ preventDismiss: boolean;
17
+ private readonly propertiesToWatch;
18
+ private propertyChangeNotifier?;
19
+ private animationDurationMilliseconds;
20
+ private animationGroup?;
21
+ private animationsEnabledChangedHandler?;
22
+ private prefersReducedMotionMediaQuery?;
23
+ private propertyChangeSubscriber?;
24
+ connectedCallback(): void;
25
+ disconnectedCallback(): void;
26
+ show(): void;
27
+ hide(): void;
28
+ dismiss(): void;
29
+ private onPropertyChange;
30
+ private onHiddenChanged;
31
+ private onLocationChanged;
32
+ private onStateChanged;
33
+ private updateAnimationDuration;
34
+ private animateOpening;
35
+ private animateClosing;
36
+ private animateOpenClose;
37
+ private cancelCurrentAnimation;
38
+ }
39
+ export declare const nimbleDrawer: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<import("@microsoft/fast-foundation").FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<import("@microsoft/fast-foundation").FoundationElementDefinition, typeof Drawer>;