@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
@@ -0,0 +1,118 @@
1
+ import { css } from '@microsoft/fast-element';
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
+ export const styles = css `
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
+ }
117
+ `;
118
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +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,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,12 @@
1
+ import { Select as FoundationSelect, SelectOptions } from '@microsoft/fast-foundation';
2
+ export type { Select };
3
+ /**
4
+ * A nimble-styed HTML select
5
+ */
6
+ declare class Select extends FoundationSelect {
7
+ get value(): string;
8
+ set value(value: string);
9
+ setPositioning(): void;
10
+ connectedCallback(): void;
11
+ }
12
+ export declare const nimbleSelect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<SelectOptions> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<SelectOptions, import("@microsoft/fast-element").Constructable<import("@microsoft/fast-foundation").FoundationElement>>;
@@ -0,0 +1,46 @@
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 matchingOption = this.querySelector(`nimble-listbox-option[value="${value}"]`);
19
+ if (matchingOption !== null) {
20
+ matchingOption.setAttribute('selected', '');
21
+ }
22
+ }
23
+ }
24
+ // Workaround for https://github.com/microsoft/fast/issues/5123
25
+ setPositioning() {
26
+ if (!this.$fastController.isConnected) {
27
+ // Don't call setPositioning() until we're connected,
28
+ // since this.forcedPosition isn't initialized yet.
29
+ return;
30
+ }
31
+ super.setPositioning();
32
+ }
33
+ connectedCallback() {
34
+ super.connectedCallback();
35
+ // Call setPositioning() after this.forcedPosition is initialized.
36
+ this.setPositioning();
37
+ }
38
+ }
39
+ export const nimbleSelect = Select.compose({
40
+ baseName: 'select',
41
+ template,
42
+ styles,
43
+ indicator: controlsArrowExpanderDown16X16.data
44
+ });
45
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
46
+ //# 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;AAIlC;;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,cAAc,GAAG,IAAI,CAAC,aAAa,CACrC,gCAAgC,KAAK,IAAI,CAC5C,CAAC;YACF,IAAI,cAAc,KAAK,IAAI,EAAE;gBACzB,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;aAC/C;SACJ;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,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IACtD,QAAQ,EAAE,QAAQ;IAClB,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,2 @@
1
+ import { Tab } from '@microsoft/fast-foundation';
2
+ export type { Tab };
@@ -0,0 +1,9 @@
1
+ import { DesignSystem, Tab, tabTemplate as template } from '@microsoft/fast-foundation';
2
+ import { styles } from './styles';
3
+ const nimbleTab = Tab.compose({
4
+ baseName: 'tab',
5
+ template,
6
+ styles
7
+ });
8
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTab());
9
+ //# 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,EACH,WAAW,IAAI,QAAQ,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1B,QAAQ,EAAE,KAAK;IACf,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"}
@@ -0,0 +1,2 @@
1
+ import { TabPanel } from '@microsoft/fast-foundation';
2
+ export type { TabPanel };
@@ -0,0 +1,9 @@
1
+ import { DesignSystem, TabPanel, tabPanelTemplate as template } from '@microsoft/fast-foundation';
2
+ import { styles } from './styles';
3
+ const nimbleTabPanel = TabPanel.compose({
4
+ baseName: 'tab-panel',
5
+ template,
6
+ styles
7
+ });
8
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabPanel());
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tab-panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,IAAI,QAAQ,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,WAAW;IACrB,QAAQ;IACR,MAAM;CACT,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,15 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { contentFontColor, contentFontSize, fontFamily, standardPadding } from '../theme-provider/design-tokens';
4
+ export const styles = css `
5
+ ${display('block')}
6
+
7
+ :host {
8
+ box-sizing: border-box;
9
+ font-family: ${fontFamily};
10
+ font-size: ${contentFontSize};
11
+ color: ${contentFontColor};
12
+ padding-top: ${standardPadding};
13
+ }
14
+ `;
15
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/tab-panel/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,eAAe,EACf,UAAU,EACV,eAAe,EAClB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,OAAO,CAAC;;;;uBAIC,UAAU;qBACZ,eAAe;iBACnB,gBAAgB;uBACV,eAAe;;CAErC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Tabs } from '@microsoft/fast-foundation';
2
+ export type { Tabs };
@@ -0,0 +1,9 @@
1
+ import { DesignSystem, Tabs, tabsTemplate as template } from '@microsoft/fast-foundation';
2
+ import { styles } from './styles';
3
+ const nimbleTabs = Tabs.compose({
4
+ baseName: 'tabs',
5
+ template,
6
+ styles
7
+ });
8
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,IAAI,EAEJ,YAAY,IAAI,QAAQ,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAc;IACzC,QAAQ,EAAE,MAAM;IAChB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,43 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderColorHover, borderWidth, smallDelay } from '../theme-provider/design-tokens';
4
+ export const styles = css `
5
+ ${display('grid')}
6
+
7
+ :host {
8
+ box-sizing: border-box;
9
+ grid-template-columns: auto auto 1fr;
10
+ grid-template-rows: auto 1fr;
11
+ }
12
+
13
+ .tablist {
14
+ display: grid;
15
+ grid-template-rows: auto auto;
16
+ grid-template-columns: auto;
17
+ width: max-content;
18
+ align-self: end;
19
+ }
20
+
21
+ .activeIndicator {
22
+ grid-row: 2;
23
+ height: calc(${borderWidth} * 2);
24
+ background-color: ${borderColorHover};
25
+ }
26
+
27
+ .activeIndicatorTransition {
28
+ transition: transform ${smallDelay} ease-in-out;
29
+ }
30
+
31
+ @media (prefers-reduced-motion) {
32
+ .activeIndicatorTransition {
33
+ transition: transform 0.01s;
34
+ }
35
+ }
36
+
37
+ .tabpanel {
38
+ grid-row: 2;
39
+ grid-column-start: 1;
40
+ grid-column-end: 4;
41
+ }
42
+ `;
43
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/tabs/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,UAAU,EACb,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;uBAkBE,WAAW;4BACN,gBAAgB;;;;gCAIZ,UAAU;;;;;;;;;;;;;;CAczC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { FoundationElement } from '@microsoft/fast-foundation';
2
+ /**
3
+ * A nimble-styled container for toolbar content next to tabs.
4
+ */
5
+ export declare class TabsToolbar extends FoundationElement {
6
+ }
@@ -0,0 +1,15 @@
1
+ import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
2
+ import { styles } from './styles';
3
+ import { template } from './template';
4
+ /**
5
+ * A nimble-styled container for toolbar content next to tabs.
6
+ */
7
+ export class TabsToolbar extends FoundationElement {
8
+ }
9
+ const nimbleTabsToolbar = TabsToolbar.compose({
10
+ baseName: 'tabs-toolbar',
11
+ template,
12
+ styles
13
+ });
14
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabsToolbar());
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tabs-toolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB;CAAG;AAErD,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,23 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { borderColorRgb, borderWidth, contentFontColor, contentFontSize, controlHeight, fontFamily, standardPadding } from '../theme-provider/design-tokens';
4
+ export const styles = css `
5
+ ${display('flex')}
6
+
7
+ :host {
8
+ align-items: center;
9
+ height: ${controlHeight};
10
+ box-sizing: border-box;
11
+ font-family: ${fontFamily};
12
+ font-size: ${contentFontSize};
13
+ color: ${contentFontColor};
14
+ }
15
+
16
+ .separator {
17
+ display: inline-block;
18
+ height: 24px;
19
+ border-left: calc(${borderWidth} * 2) solid rgba(${borderColorRgb}, 0.3);
20
+ margin: calc(${standardPadding} / 4) calc(${standardPadding} / 2);
21
+ }
22
+ `;
23
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/tabs-toolbar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EAClB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;kBAIH,aAAa;;uBAER,UAAU;qBACZ,eAAe;iBACnB,gBAAgB;;;;;;4BAML,WAAW,oBAAoB,cAAc;uBAClD,eAAe,cAAc,eAAe;;CAElE,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<any, any>;
@@ -0,0 +1,8 @@
1
+ import { html } from '@microsoft/fast-element';
2
+ export const template = html `
3
+ <template slot="end">
4
+ <div class="separator"></div>
5
+ <slot></slot>
6
+ </template>
7
+ `;
8
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/tabs-toolbar/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA;;;;;CAK3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Allows test code to wait for the render update cycle of the components.
3
+ */
4
+ export declare const domNextUpdate: () => Promise<void>;
@@ -0,0 +1,6 @@
1
+ import { DOM } from '@microsoft/fast-element';
2
+ /**
3
+ * Allows test code to wait for the render update cycle of the components.
4
+ */
5
+ export const domNextUpdate = async () => DOM.nextUpdate();
6
+ //# sourceMappingURL=dom-next-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-next-update.js","sourceRoot":"","sources":["../../../src/testing/dom-next-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAmB,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC"}
@@ -1 +1,6 @@
1
- export {};
1
+ import { TextField as FoundationTextField } from '@microsoft/fast-foundation';
2
+ /**
3
+ * A nimble-styed HTML text input
4
+ */
5
+ declare type TextField = FoundationTextField;
6
+ export type { TextField };