@ni/nimble-components 1.0.0-beta.12 → 1.0.0-beta.123

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 (287) hide show
  1. package/README.md +42 -4
  2. package/dist/esm/button/behaviors.js.map +1 -1
  3. package/dist/esm/button/index.d.ts +10 -0
  4. package/dist/esm/button/index.js +19 -10
  5. package/dist/esm/button/index.js.map +1 -1
  6. package/dist/esm/button/styles.js +125 -49
  7. package/dist/esm/button/styles.js.map +1 -1
  8. package/dist/esm/button/types.d.ts +3 -0
  9. package/dist/esm/button/types.js +0 -4
  10. package/dist/esm/button/types.js.map +1 -1
  11. package/dist/esm/checkbox/index.d.ts +12 -0
  12. package/dist/esm/checkbox/index.js +18 -0
  13. package/dist/esm/checkbox/index.js.map +1 -0
  14. package/dist/esm/checkbox/styles.d.ts +1 -0
  15. package/dist/esm/checkbox/styles.js +92 -0
  16. package/dist/esm/checkbox/styles.js.map +1 -0
  17. package/dist/esm/drawer/animations.d.ts +14 -0
  18. package/dist/esm/drawer/animations.js +52 -0
  19. package/dist/esm/drawer/animations.js.map +1 -0
  20. package/dist/esm/drawer/index.d.ts +43 -0
  21. package/dist/esm/drawer/index.js +189 -0
  22. package/dist/esm/drawer/index.js.map +1 -0
  23. package/dist/esm/drawer/styles.d.ts +1 -0
  24. package/dist/esm/drawer/styles.js +116 -0
  25. package/dist/esm/drawer/styles.js.map +1 -0
  26. package/dist/esm/drawer/types.d.ts +12 -0
  27. package/dist/esm/drawer/types.js +13 -0
  28. package/dist/esm/drawer/types.js.map +1 -0
  29. package/dist/esm/icon-base/index.d.ts +12 -0
  30. package/dist/esm/icon-base/index.js +22 -0
  31. package/dist/esm/icon-base/index.js.map +1 -0
  32. package/dist/esm/icon-base/styles.d.ts +1 -0
  33. package/dist/esm/icon-base/styles.js +38 -0
  34. package/dist/esm/icon-base/styles.js.map +1 -0
  35. package/dist/esm/icon-base/template.d.ts +2 -0
  36. package/dist/esm/icon-base/template.js +7 -0
  37. package/dist/esm/icon-base/template.js.map +1 -0
  38. package/dist/esm/icon-base/types.d.ts +11 -0
  39. package/dist/esm/icon-base/types.js +8 -0
  40. package/dist/esm/icon-base/types.js.map +1 -0
  41. package/dist/esm/icons/access-control.d.ts +12 -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 +12 -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 +12 -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 +15 -0
  51. package/dist/esm/icons/all-icons.js +16 -0
  52. package/dist/esm/icons/all-icons.js.map +1 -0
  53. package/dist/esm/icons/check.d.ts +12 -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 +12 -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 +12 -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/fail.d.ts +12 -0
  63. package/dist/esm/icons/fail.js +12 -0
  64. package/dist/esm/icons/fail.js.map +1 -0
  65. package/dist/esm/icons/login.d.ts +12 -0
  66. package/dist/esm/icons/login.js +12 -0
  67. package/dist/esm/icons/login.js.map +1 -0
  68. package/dist/esm/icons/logout.d.ts +12 -0
  69. package/dist/esm/icons/logout.js +12 -0
  70. package/dist/esm/icons/logout.js.map +1 -0
  71. package/dist/esm/icons/managed-systems.d.ts +12 -0
  72. package/dist/esm/icons/managed-systems.js +12 -0
  73. package/dist/esm/icons/managed-systems.js.map +1 -0
  74. package/dist/esm/icons/measurement-data-analysis.d.ts +12 -0
  75. package/dist/esm/icons/measurement-data-analysis.js +12 -0
  76. package/dist/esm/icons/measurement-data-analysis.js.map +1 -0
  77. package/dist/esm/icons/settings.d.ts +12 -0
  78. package/dist/esm/icons/settings.js +12 -0
  79. package/dist/esm/icons/settings.js.map +1 -0
  80. package/dist/esm/icons/succeeded.d.ts +12 -0
  81. package/dist/esm/icons/succeeded.js +12 -0
  82. package/dist/esm/icons/succeeded.js.map +1 -0
  83. package/dist/esm/icons/test-insights.d.ts +12 -0
  84. package/dist/esm/icons/test-insights.js +12 -0
  85. package/dist/esm/icons/test-insights.js.map +1 -0
  86. package/dist/esm/icons/utilities.d.ts +12 -0
  87. package/dist/esm/icons/utilities.js +12 -0
  88. package/dist/esm/icons/utilities.js.map +1 -0
  89. package/dist/esm/listbox-option/index.d.ts +15 -0
  90. package/dist/esm/listbox-option/index.js +31 -0
  91. package/dist/esm/listbox-option/index.js.map +1 -0
  92. package/dist/esm/listbox-option/styles.d.ts +1 -0
  93. package/dist/esm/listbox-option/styles.js +60 -0
  94. package/dist/esm/listbox-option/styles.js.map +1 -0
  95. package/dist/esm/menu/index.d.ts +12 -0
  96. package/dist/esm/menu/index.js +25 -0
  97. package/dist/esm/menu/index.js.map +1 -0
  98. package/dist/esm/menu/styles.d.ts +1 -0
  99. package/dist/esm/menu/styles.js +40 -0
  100. package/dist/esm/menu/styles.js.map +1 -0
  101. package/dist/esm/menu-item/index.d.ts +12 -0
  102. package/dist/esm/menu-item/index.js +25 -0
  103. package/dist/esm/menu-item/index.js.map +1 -0
  104. package/dist/esm/menu-item/styles.d.ts +1 -0
  105. package/dist/esm/menu-item/styles.js +64 -0
  106. package/dist/esm/menu-item/styles.js.map +1 -0
  107. package/dist/esm/nimble-components/src/button/behaviors.d.ts +12 -0
  108. package/dist/esm/nimble-components/src/button/index.d.ts +24 -0
  109. package/dist/esm/nimble-components/src/button/styles.d.ts +1 -0
  110. package/dist/esm/nimble-components/src/button/types.d.ts +12 -0
  111. package/dist/esm/nimble-components/src/checkbox/index.d.ts +12 -0
  112. package/dist/esm/nimble-components/src/checkbox/styles.d.ts +1 -0
  113. package/dist/esm/nimble-components/src/drawer/animations.d.ts +14 -0
  114. package/dist/esm/nimble-components/src/drawer/index.d.ts +43 -0
  115. package/dist/esm/nimble-components/src/drawer/styles.d.ts +1 -0
  116. package/dist/esm/nimble-components/src/drawer/types.d.ts +12 -0
  117. package/dist/esm/nimble-components/src/icon-base/index.d.ts +12 -0
  118. package/dist/esm/nimble-components/src/icon-base/styles.d.ts +1 -0
  119. package/dist/esm/nimble-components/src/icon-base/template.d.ts +2 -0
  120. package/dist/esm/nimble-components/src/icon-base/types.d.ts +11 -0
  121. package/dist/esm/nimble-components/src/icons/access-control.d.ts +12 -0
  122. package/dist/esm/nimble-components/src/icons/admin.d.ts +12 -0
  123. package/dist/esm/nimble-components/src/icons/administration.d.ts +12 -0
  124. package/dist/esm/nimble-components/src/icons/all-icons.d.ts +15 -0
  125. package/dist/esm/nimble-components/src/icons/check.d.ts +12 -0
  126. package/dist/esm/nimble-components/src/icons/custom-applications.d.ts +12 -0
  127. package/dist/esm/nimble-components/src/icons/delete.d.ts +12 -0
  128. package/dist/esm/nimble-components/src/icons/fail.d.ts +12 -0
  129. package/dist/esm/nimble-components/src/icons/login.d.ts +12 -0
  130. package/dist/esm/nimble-components/src/icons/logout.d.ts +12 -0
  131. package/dist/esm/nimble-components/src/icons/managed-systems.d.ts +12 -0
  132. package/dist/esm/nimble-components/src/icons/measurement-data-analysis.d.ts +12 -0
  133. package/dist/esm/nimble-components/src/icons/settings.d.ts +12 -0
  134. package/dist/esm/nimble-components/src/icons/succeeded.d.ts +12 -0
  135. package/dist/esm/nimble-components/src/icons/test-insights.d.ts +12 -0
  136. package/dist/esm/nimble-components/src/icons/utilities.d.ts +12 -0
  137. package/dist/esm/nimble-components/src/listbox-option/index.d.ts +15 -0
  138. package/dist/esm/nimble-components/src/listbox-option/styles.d.ts +1 -0
  139. package/dist/esm/nimble-components/src/menu/index.d.ts +12 -0
  140. package/dist/esm/nimble-components/src/menu/styles.d.ts +1 -0
  141. package/dist/esm/nimble-components/src/menu-item/index.d.ts +12 -0
  142. package/dist/esm/nimble-components/src/menu-item/styles.d.ts +1 -0
  143. package/dist/esm/nimble-components/src/number-field/index.d.ts +12 -0
  144. package/dist/esm/nimble-components/src/number-field/styles.d.ts +1 -0
  145. package/dist/esm/nimble-components/src/select/index.d.ts +16 -0
  146. package/dist/esm/nimble-components/src/select/styles.d.ts +1 -0
  147. package/dist/esm/nimble-components/src/tab/index.d.ts +12 -0
  148. package/dist/esm/nimble-components/src/tab/styles.d.ts +1 -0
  149. package/dist/esm/nimble-components/src/tab-panel/index.d.ts +12 -0
  150. package/dist/esm/nimble-components/src/tab-panel/styles.d.ts +1 -0
  151. package/dist/esm/nimble-components/src/tabs/index.d.ts +12 -0
  152. package/dist/esm/nimble-components/src/tabs/styles.d.ts +1 -0
  153. package/dist/esm/nimble-components/src/tabs-toolbar/index.d.ts +12 -0
  154. package/dist/esm/nimble-components/src/tabs-toolbar/styles.d.ts +1 -0
  155. package/dist/esm/nimble-components/src/tabs-toolbar/template.d.ts +1 -0
  156. package/dist/esm/nimble-components/src/testing/async-helpers.d.ts +10 -0
  157. package/dist/esm/nimble-components/src/text-field/index.d.ts +12 -0
  158. package/dist/esm/nimble-components/src/text-field/styles.d.ts +1 -0
  159. package/dist/esm/nimble-components/src/text-field/types.d.ts +3 -0
  160. package/dist/esm/nimble-components/src/theme-provider/design-tokens.d.ts +48 -0
  161. package/dist/esm/nimble-components/src/theme-provider/index.d.ts +17 -0
  162. package/dist/esm/nimble-components/src/theme-provider/styles.d.ts +1 -0
  163. package/dist/esm/nimble-components/src/theme-provider/template.d.ts +2 -0
  164. package/dist/esm/nimble-components/src/theme-provider/types.d.ts +7 -0
  165. package/dist/esm/nimble-components/src/tree-item/index.d.ts +34 -0
  166. package/dist/esm/nimble-components/src/tree-item/styles.d.ts +3 -0
  167. package/dist/esm/nimble-components/src/tree-view/index.d.ts +22 -0
  168. package/dist/esm/nimble-components/src/tree-view/styles.d.ts +1 -0
  169. package/dist/esm/nimble-components/src/tree-view/types.d.ts +7 -0
  170. package/dist/esm/nimble-components/src/utilities/style/focus.d.ts +11 -0
  171. package/dist/esm/nimble-components/src/utilities/style/prefers-reduced-motion.d.ts +8 -0
  172. package/dist/esm/number-field/index.d.ts +12 -1
  173. package/dist/esm/number-field/index.js +11 -8
  174. package/dist/esm/number-field/index.js.map +1 -1
  175. package/dist/esm/number-field/styles.js +114 -87
  176. package/dist/esm/number-field/styles.js.map +1 -1
  177. package/dist/esm/select/index.d.ts +16 -0
  178. package/dist/esm/select/index.js +50 -0
  179. package/dist/esm/select/index.js.map +1 -0
  180. package/dist/esm/select/styles.d.ts +1 -0
  181. package/dist/esm/select/styles.js +141 -0
  182. package/dist/esm/select/styles.js.map +1 -0
  183. package/dist/esm/tab/index.d.ts +12 -0
  184. package/dist/esm/tab/index.js +16 -0
  185. package/dist/esm/tab/index.js.map +1 -0
  186. package/dist/esm/tab/styles.d.ts +1 -0
  187. package/dist/esm/tab/styles.js +53 -0
  188. package/dist/esm/tab/styles.js.map +1 -0
  189. package/dist/esm/tab-panel/index.d.ts +12 -0
  190. package/dist/esm/tab-panel/index.js +16 -0
  191. package/dist/esm/tab-panel/index.js.map +1 -0
  192. package/dist/esm/tab-panel/styles.d.ts +1 -0
  193. package/dist/esm/tab-panel/styles.js +15 -0
  194. package/dist/esm/tab-panel/styles.js.map +1 -0
  195. package/dist/esm/tabs/index.d.ts +12 -0
  196. package/dist/esm/tabs/index.js +16 -0
  197. package/dist/esm/tabs/index.js.map +1 -0
  198. package/dist/esm/tabs/styles.d.ts +1 -0
  199. package/dist/esm/tabs/styles.js +43 -0
  200. package/dist/esm/tabs/styles.js.map +1 -0
  201. package/dist/esm/tabs-toolbar/index.d.ts +12 -0
  202. package/dist/esm/tabs-toolbar/index.js +15 -0
  203. package/dist/esm/tabs-toolbar/index.js.map +1 -0
  204. package/dist/esm/tabs-toolbar/styles.d.ts +1 -0
  205. package/dist/esm/tabs-toolbar/styles.js +23 -0
  206. package/dist/esm/tabs-toolbar/styles.js.map +1 -0
  207. package/dist/esm/tabs-toolbar/template.d.ts +1 -0
  208. package/dist/esm/tabs-toolbar/template.js +8 -0
  209. package/dist/esm/tabs-toolbar/template.js.map +1 -0
  210. package/dist/esm/testing/async-helpers.d.ts +10 -0
  211. package/dist/esm/testing/async-helpers.js +12 -0
  212. package/dist/esm/testing/async-helpers.js.map +1 -0
  213. package/dist/esm/text-field/index.d.ts +12 -1
  214. package/dist/esm/text-field/index.js +11 -2
  215. package/dist/esm/text-field/index.js.map +1 -1
  216. package/dist/esm/text-field/styles.js +139 -63
  217. package/dist/esm/text-field/styles.js.map +1 -1
  218. package/dist/esm/text-field/types.d.ts +3 -0
  219. package/dist/esm/text-field/types.js +3 -0
  220. package/dist/esm/text-field/types.js.map +1 -0
  221. package/dist/esm/theme-provider/design-tokens.d.ts +34 -3
  222. package/dist/esm/theme-provider/design-tokens.js +128 -15
  223. package/dist/esm/theme-provider/design-tokens.js.map +1 -1
  224. package/dist/esm/theme-provider/index.d.ts +17 -1
  225. package/dist/esm/theme-provider/index.js +18 -32
  226. package/dist/esm/theme-provider/index.js.map +1 -1
  227. package/dist/esm/theme-provider/styles.d.ts +1 -0
  228. package/dist/esm/theme-provider/styles.js +7 -0
  229. package/dist/esm/theme-provider/styles.js.map +1 -0
  230. package/dist/esm/theme-provider/template.d.ts +2 -0
  231. package/dist/esm/theme-provider/template.js +3 -0
  232. package/dist/esm/theme-provider/template.js.map +1 -0
  233. package/dist/esm/theme-provider/types.d.ts +7 -0
  234. package/dist/esm/theme-provider/types.js +8 -0
  235. package/dist/esm/theme-provider/types.js.map +1 -0
  236. package/dist/esm/tree-item/index.d.ts +34 -0
  237. package/dist/esm/tree-item/index.js +117 -0
  238. package/dist/esm/tree-item/index.js.map +1 -0
  239. package/dist/esm/tree-item/styles.d.ts +3 -0
  240. package/dist/esm/tree-item/styles.js +195 -0
  241. package/dist/esm/tree-item/styles.js.map +1 -0
  242. package/dist/esm/tree-view/index.d.ts +22 -0
  243. package/dist/esm/tree-view/index.js +35 -0
  244. package/dist/esm/tree-view/index.js.map +1 -0
  245. package/dist/esm/tree-view/styles.d.ts +1 -0
  246. package/dist/esm/tree-view/styles.js +17 -0
  247. package/dist/esm/tree-view/styles.js.map +1 -0
  248. package/dist/esm/tree-view/types.d.ts +7 -0
  249. package/dist/esm/tree-view/types.js +8 -0
  250. package/dist/esm/tree-view/types.js.map +1 -0
  251. package/dist/esm/utilities/style/focus.d.ts +11 -0
  252. package/dist/esm/utilities/style/focus.js +14 -0
  253. package/dist/esm/utilities/style/focus.js.map +1 -0
  254. package/dist/esm/utilities/style/prefers-reduced-motion.d.ts +8 -0
  255. package/dist/esm/utilities/style/prefers-reduced-motion.js +11 -0
  256. package/dist/esm/utilities/style/prefers-reduced-motion.js.map +1 -0
  257. package/package.json +41 -28
  258. package/dist/esm/button/tests/button.spec.d.ts +0 -1
  259. package/dist/esm/button/tests/button.spec.js +0 -39
  260. package/dist/esm/button/tests/button.spec.js.map +0 -1
  261. package/dist/esm/button/tests/button.stories.d.ts +0 -81
  262. package/dist/esm/button/tests/button.stories.js +0 -59
  263. package/dist/esm/button/tests/button.stories.js.map +0 -1
  264. package/dist/esm/number-field/tests/number-field.stories.d.ts +0 -33
  265. package/dist/esm/number-field/tests/number-field.stories.js +0 -26
  266. package/dist/esm/number-field/tests/number-field.stories.js.map +0 -1
  267. package/dist/esm/shared/icon-font.d.ts +0 -3
  268. package/dist/esm/shared/icon-font.js +0 -6
  269. package/dist/esm/shared/icon-font.js.map +0 -1
  270. package/dist/esm/stories/icons.stories.d.ts +0 -14
  271. package/dist/esm/stories/icons.stories.js +0 -52
  272. package/dist/esm/stories/icons.stories.js.map +0 -1
  273. package/dist/esm/tests/utilities/fixture.d.ts +0 -89
  274. package/dist/esm/tests/utilities/fixture.js +0 -90
  275. package/dist/esm/tests/utilities/fixture.js.map +0 -1
  276. package/dist/esm/tests/utilities/fixture.spec.d.ts +0 -1
  277. package/dist/esm/tests/utilities/fixture.spec.js +0 -73
  278. package/dist/esm/tests/utilities/fixture.spec.js.map +0 -1
  279. package/dist/esm/tests/utilities/setup.d.ts +0 -2
  280. package/dist/esm/tests/utilities/setup.js +0 -7
  281. package/dist/esm/tests/utilities/setup.js.map +0 -1
  282. package/dist/esm/text-field/tests/text-field.stories.d.ts +0 -42
  283. package/dist/esm/text-field/tests/text-field.stories.js +0 -30
  284. package/dist/esm/text-field/tests/text-field.stories.js.map +0 -1
  285. package/dist/esm/theme-provider/themes.d.ts +0 -5
  286. package/dist/esm/theme-provider/themes.js +0 -7
  287. package/dist/esm/theme-provider/themes.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ import { Dialog as FoundationDialog } from '@microsoft/fast-foundation';
2
+ import { DrawerLocation, DrawerState } from './types';
3
+ export type { Drawer };
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'nimble-drawer': Drawer;
7
+ }
8
+ }
9
+ /**
10
+ * Drawer/Sidenav control. Shows content in a panel on the left / right side of the screen,
11
+ * which animates to be visible with a slide-in / slide-out animation.
12
+ * Configured via 'location', 'state', 'modal', 'preventDismiss' properties.
13
+ */
14
+ declare class Drawer extends FoundationDialog {
15
+ location: DrawerLocation;
16
+ state: DrawerState;
17
+ /**
18
+ * True to prevent dismissing the drawer when the overlay outside the drawer is clicked.
19
+ * Only applicable when 'modal' is set to true (i.e. when the overlay is used).
20
+ * HTML Attribute: prevent-dismiss
21
+ */
22
+ preventDismiss: boolean;
23
+ private readonly propertiesToWatch;
24
+ private propertyChangeNotifier?;
25
+ private animationDurationMilliseconds;
26
+ private animationGroup?;
27
+ private animationsEnabledChangedHandler?;
28
+ private propertyChangeSubscriber?;
29
+ connectedCallback(): void;
30
+ disconnectedCallback(): void;
31
+ show(): void;
32
+ hide(): void;
33
+ dismiss(): void;
34
+ private onPropertyChange;
35
+ private onHiddenChanged;
36
+ private onLocationChanged;
37
+ private onStateChanged;
38
+ private updateAnimationDuration;
39
+ private animateOpening;
40
+ private animateClosing;
41
+ private animateOpenClose;
42
+ private cancelCurrentAnimation;
43
+ }
@@ -0,0 +1,189 @@
1
+ import { __decorate } from "tslib";
2
+ import { AnimateGroup, AnimateTo } from '@microsoft/fast-animation';
3
+ import { attr, Observable } from '@microsoft/fast-element';
4
+ import { DesignSystem, Dialog as FoundationDialog, dialogTemplate as template } from '@microsoft/fast-foundation';
5
+ import { drawerAnimationDurationMs } from '../theme-provider/design-tokens';
6
+ import { PrefersReducedMotionWatcher } from '../utilities/style/prefers-reduced-motion';
7
+ import { animationConfig } from './animations';
8
+ import { styles } from './styles';
9
+ import { DrawerLocation, DrawerState } from './types';
10
+ const animationDurationWhenDisabledMilliseconds = 0.001;
11
+ /**
12
+ * Drawer/Sidenav control. Shows content in a panel on the left / right side of the screen,
13
+ * which animates to be visible with a slide-in / slide-out animation.
14
+ * Configured via 'location', 'state', 'modal', 'preventDismiss' properties.
15
+ */
16
+ class Drawer extends FoundationDialog {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.location = DrawerLocation.Left;
20
+ this.state = DrawerState.Closed;
21
+ /**
22
+ * True to prevent dismissing the drawer when the overlay outside the drawer is clicked.
23
+ * Only applicable when 'modal' is set to true (i.e. when the overlay is used).
24
+ * HTML Attribute: prevent-dismiss
25
+ */
26
+ this.preventDismiss = false;
27
+ this.propertiesToWatch = ['hidden', 'location', 'state'];
28
+ this.animationDurationMilliseconds = animationDurationWhenDisabledMilliseconds;
29
+ }
30
+ connectedCallback() {
31
+ // disable trapFocus before super.connectedCallback as FAST Dialog will immediately queue work to
32
+ // change focus if it's true before connectedCallback
33
+ this.trapFocus = false;
34
+ super.connectedCallback();
35
+ this.updateAnimationDuration();
36
+ this.animationsEnabledChangedHandler = () => this.updateAnimationDuration();
37
+ PrefersReducedMotionWatcher.instance.mediaQuery.addEventListener('change', this.animationsEnabledChangedHandler);
38
+ this.onStateChanged();
39
+ const notifier = Observable.getNotifier(this);
40
+ const subscriber = {
41
+ handleChange: (_source, propertyName) => this.onPropertyChange(propertyName)
42
+ };
43
+ this.propertiesToWatch.forEach(propertyName => notifier.subscribe(subscriber, propertyName));
44
+ this.propertyChangeSubscriber = subscriber;
45
+ this.propertyChangeNotifier = notifier;
46
+ }
47
+ disconnectedCallback() {
48
+ super.disconnectedCallback();
49
+ this.cancelCurrentAnimation();
50
+ if (this.propertyChangeNotifier && this.propertyChangeSubscriber) {
51
+ this.propertiesToWatch.forEach(propertyName => this.propertyChangeNotifier.unsubscribe(this.propertyChangeSubscriber, propertyName));
52
+ this.propertyChangeNotifier = undefined;
53
+ this.propertyChangeSubscriber = undefined;
54
+ }
55
+ if (this.animationsEnabledChangedHandler) {
56
+ PrefersReducedMotionWatcher.instance.mediaQuery.removeEventListener('change', this.animationsEnabledChangedHandler);
57
+ this.animationsEnabledChangedHandler = undefined;
58
+ }
59
+ }
60
+ show() {
61
+ // Not calling super.show() as that will immediately show the drawer, whereas 'Opening' state will animate
62
+ this.state = DrawerState.Opening;
63
+ }
64
+ hide() {
65
+ // Not calling super.hide() as that will immediately hide the drawer, whereas 'Closing' state will animate
66
+ this.state = DrawerState.Closing;
67
+ }
68
+ dismiss() {
69
+ if (!this.preventDismiss) {
70
+ super.dismiss();
71
+ this.hide();
72
+ }
73
+ }
74
+ onPropertyChange(propertyName) {
75
+ switch (propertyName) {
76
+ case 'hidden':
77
+ this.onHiddenChanged();
78
+ break;
79
+ case 'location':
80
+ this.onLocationChanged();
81
+ break;
82
+ case 'state':
83
+ this.onStateChanged();
84
+ break;
85
+ default:
86
+ break;
87
+ }
88
+ }
89
+ onHiddenChanged() {
90
+ if (this.hidden && this.state !== DrawerState.Closed) {
91
+ this.state = DrawerState.Closed;
92
+ }
93
+ else if (!this.hidden && this.state === DrawerState.Closed) {
94
+ this.state = DrawerState.Opened;
95
+ }
96
+ }
97
+ onLocationChanged() {
98
+ this.cancelCurrentAnimation();
99
+ }
100
+ onStateChanged() {
101
+ if (this.isConnected) {
102
+ this.cancelCurrentAnimation();
103
+ switch (this.state) {
104
+ case DrawerState.Opening:
105
+ this.animateOpening();
106
+ this.hidden = false;
107
+ break;
108
+ case DrawerState.Opened:
109
+ this.hidden = false;
110
+ break;
111
+ case DrawerState.Closing:
112
+ this.hidden = false;
113
+ this.animateClosing();
114
+ break;
115
+ case DrawerState.Closed:
116
+ this.hidden = true;
117
+ break;
118
+ default:
119
+ throw new Error('Unsupported state value. Expected: opening/opened/closing/closed');
120
+ }
121
+ this.$emit('state-change');
122
+ }
123
+ }
124
+ updateAnimationDuration() {
125
+ const disableAnimations = PrefersReducedMotionWatcher.instance.mediaQuery.matches;
126
+ this.animationDurationMilliseconds = disableAnimations
127
+ ? animationDurationWhenDisabledMilliseconds
128
+ : drawerAnimationDurationMs.getValueFor(this);
129
+ }
130
+ animateOpening() {
131
+ this.animateOpenClose(true);
132
+ }
133
+ animateClosing() {
134
+ if (!this.hidden) {
135
+ this.animateOpenClose(false);
136
+ }
137
+ else {
138
+ this.state = DrawerState.Closed;
139
+ }
140
+ }
141
+ animateOpenClose(drawerOpening) {
142
+ const options = {
143
+ ...(drawerOpening
144
+ ? animationConfig.slideInOptions
145
+ : animationConfig.slideOutOptions),
146
+ duration: this.animationDurationMilliseconds
147
+ };
148
+ const drawerKeyframes = this.location === DrawerLocation.Right
149
+ ? animationConfig.slideRightKeyframes
150
+ : animationConfig.slideLeftKeyframes;
151
+ const dialogAnimation = new AnimateTo(this.dialog, undefined, options);
152
+ dialogAnimation.addKeyframes(drawerKeyframes);
153
+ const animations = [dialogAnimation];
154
+ const overlay = this.shadowRoot?.querySelector('.overlay');
155
+ if (overlay) {
156
+ const overlayAnimation = new AnimateTo(overlay, undefined, options);
157
+ overlayAnimation.addKeyframes(animationConfig.fadeOverlayKeyframes);
158
+ animations.push(overlayAnimation);
159
+ }
160
+ const animationGroup = new AnimateGroup(animations);
161
+ animationGroup.onFinish = () => {
162
+ this.state = drawerOpening
163
+ ? DrawerState.Opened
164
+ : DrawerState.Closed;
165
+ };
166
+ this.animationGroup = animationGroup;
167
+ animationGroup.play();
168
+ }
169
+ cancelCurrentAnimation() {
170
+ this.animationGroup?.cancel();
171
+ }
172
+ }
173
+ __decorate([
174
+ attr
175
+ ], Drawer.prototype, "location", void 0);
176
+ __decorate([
177
+ attr
178
+ ], Drawer.prototype, "state", void 0);
179
+ __decorate([
180
+ attr({ attribute: 'prevent-dismiss', mode: 'boolean' })
181
+ ], Drawer.prototype, "preventDismiss", void 0);
182
+ const nimbleDrawer = Drawer.compose({
183
+ baseName: 'drawer',
184
+ // @ts-expect-error FAST templates have incorrect type, see: https://github.com/microsoft/fast/issues/5047
185
+ template,
186
+ styles
187
+ });
188
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
189
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drawer/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACH,IAAI,EAEJ,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,YAAY,EACZ,MAAM,IAAI,gBAAgB,EAC1B,cAAc,IAAI,QAAQ,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUtD,MAAM,yCAAyC,GAAG,KAAK,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAO,SAAQ,gBAAgB;IAArC;;QAEW,aAAQ,GAAmB,cAAc,CAAC,IAAI,CAAC;QAG/C,UAAK,GAAgB,WAAW,CAAC,MAAM,CAAC;QAE/C;;;;WAIG;QAEI,mBAAc,GAAG,KAAK,CAAC;QAEb,sBAAiB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAG7D,kCAA6B,GACrC,yCAAyC,CAAC;IA+K9C,CAAC;IAzKU,iBAAiB;QACpB,iGAAiG;QACjG,qDAAqD;QACrD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,+BAA+B,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5E,2BAA2B,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAC5D,QAAQ,EACR,IAAI,CAAC,+BAA+B,CACvC,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAe;YAC3B,YAAY,EAAE,CAAC,OAAgB,EAAE,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;SAChG,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAEM,oBAAoB;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC9D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAuB,CAAC,WAAW,CACnF,IAAI,CAAC,wBAAyB,EAC9B,YAAY,CACf,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;SAC7C;QACD,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACtC,2BAA2B,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAC/D,QAAQ,EACR,IAAI,CAAC,+BAA+B,CACvC,CAAC;YACF,IAAI,CAAC,+BAA+B,GAAG,SAAS,CAAC;SACpD;IACL,CAAC;IAEe,IAAI;QAChB,0GAA0G;QAC1G,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;IACrC,CAAC;IAEe,IAAI;QAChB,0GAA0G;QAC1G,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;IACrC,CAAC;IAEe,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;IACL,CAAC;IAEO,gBAAgB,CAAC,YAAoB;QACzC,QAAQ,YAAY,EAAE;YAClB,KAAK,QAAQ;gBACT,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;YACV,KAAK,UAAU;gBACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACV;gBACI,MAAM;SACb;IACL,CAAC;IAEO,eAAe;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,EAAE;YAClD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;SACnC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,EAAE;YAC1D,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;SACnC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAClC,CAAC;IAEO,cAAc;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAChB,KAAK,WAAW,CAAC,OAAO;oBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACV,KAAK,WAAW,CAAC,MAAM;oBACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACV,KAAK,WAAW,CAAC,OAAO;oBACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACV,KAAK,WAAW,CAAC,MAAM;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACV;oBACI,MAAM,IAAI,KAAK,CACX,kEAAkE,CACrE,CAAC;aACT;YACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SAC9B;IACL,CAAC;IAEO,uBAAuB;QAC3B,MAAM,iBAAiB,GAAY,2BAA2B,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3F,IAAI,CAAC,6BAA6B,GAAG,iBAAiB;YAClD,CAAC,CAAC,yCAAyC;YAC3C,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM;YACH,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;SACnC;IACL,CAAC;IAEO,gBAAgB,CAAC,aAAsB;QAC3C,MAAM,OAAO,GAAG;YACZ,GAAG,CAAC,aAAa;gBACb,CAAC,CAAC,eAAe,CAAC,cAAc;gBAChC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,6BAA6B;SAC/C,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,KAAK;YAC1D,CAAC,CAAC,eAAe,CAAC,mBAAmB;YACrC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE;YACT,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAClC,OAAsB,EACtB,SAAS,EACT,OAAO,CACV,CAAC;YACF,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;YACpE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACrC;QAED,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;QACpD,cAAc,CAAC,QAAQ,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAK,GAAG,aAAa;gBACtB,CAAC,CAAC,WAAW,CAAC,MAAM;gBACpB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;CACJ;AAhMG;IADC,IAAI;wCACiD;AAGtD;IADC,IAAI;qCAC0C;AAQ/C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CAC1B;AAuLlC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,0GAA0G;IAC1G,QAAQ;IACR,MAAM;CACT,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,116 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { applicationBackgroundColor, borderWidth, contentFontColor, contentFontSize, drawerHeaderFontFamily, drawerHeaderFontSize, drawerWidth, fontFamily, popupBorderColor, popupBoxShadowColor } from '../theme-provider/design-tokens';
4
+ export const styles = css `
5
+ ${display('block')}
6
+
7
+ :host {
8
+ position: relative;
9
+ top: 0;
10
+ bottom: 0;
11
+ width: fit-content;
12
+ height: 100%;
13
+ outline: none;
14
+ font-family: ${fontFamily};
15
+ font-size: ${contentFontSize};
16
+ color: ${contentFontColor};
17
+ }
18
+
19
+ :host([modal]) {
20
+ position: absolute;
21
+ }
22
+
23
+ :host([location='left']) {
24
+ left: 0px;
25
+ }
26
+
27
+ :host([location='right']) {
28
+ right: 0px;
29
+ }
30
+
31
+ .positioning-region {
32
+ display: block;
33
+ position: relative;
34
+ justify-content: center;
35
+ width: fit-content;
36
+ height: 100%;
37
+ inset: 0px;
38
+ overflow: hidden;
39
+ z-index: 999;
40
+ }
41
+
42
+ :host([modal]) .positioning-region {
43
+ width: 100%;
44
+ position: fixed;
45
+ display: flex;
46
+ }
47
+
48
+ ${ /* Note: overlay is only present in the DOM when modal=true */''}
49
+ .overlay {
50
+ position: fixed;
51
+ inset: 0px;
52
+ background: ${popupBorderColor};
53
+ touch-action: none;
54
+ }
55
+
56
+ .control {
57
+ position: relative;
58
+ top: 0px;
59
+ bottom: 0px;
60
+ display: grid;
61
+ grid-template-rows: max-content auto max-content;
62
+ flex-direction: column;
63
+ box-sizing: border-box;
64
+ border-radius: 0px;
65
+ border-width: 0px;
66
+ width: ${drawerWidth};
67
+ height: 100%;
68
+ background-color: ${applicationBackgroundColor};
69
+ }
70
+
71
+ :host([modal]) .control {
72
+ position: absolute;
73
+ height: 100%;
74
+ }
75
+
76
+ :host(.hidden) .control {
77
+ visibility: hidden;
78
+ }
79
+
80
+ :host([location='left']) .control {
81
+ left: 0px;
82
+ border-right: ${borderWidth} solid ${popupBoxShadowColor};
83
+ }
84
+
85
+ :host([location='right']) .control {
86
+ right: 0px;
87
+ border-left: ${borderWidth} solid ${popupBoxShadowColor};
88
+ }
89
+
90
+ ${
91
+ /*
92
+ Styling for a 3-panel drawer with header, footer, and a content
93
+ region filling the remaining space/height
94
+ */ ''}
95
+
96
+ ::slotted(header) {
97
+ padding: var(--standard-padding);
98
+ font-family: ${drawerHeaderFontFamily};
99
+ font-size: ${drawerHeaderFontSize};
100
+ }
101
+
102
+ ::slotted(section) {
103
+ padding: var(--standard-padding);
104
+ grid-row: 2;
105
+ overflow-y: auto;
106
+ }
107
+
108
+ ::slotted(footer) {
109
+ padding: var(--standard-padding);
110
+ display: flex;
111
+ justify-content: flex-end;
112
+ grid-row: 3;
113
+ border-top: ${borderWidth} solid ${popupBorderColor};
114
+ }
115
+ `;
116
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/drawer/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,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,OAAO,CAAC;;;;;;;;;uBASC,UAAU;qBACZ,eAAe;iBACnB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgC3B,CAAA,8DAA+D,EAAE;;;;sBAIjD,gBAAgB;;;;;;;;;;;;;;iBAcrB,WAAW;;4BAEA,0BAA0B;;;;;;;;;;;;;;wBAc9B,WAAW,UAAU,mBAAmB;;;;;uBAKzC,WAAW,UAAU,mBAAmB;;;MAGzD;AACE;;;EAGE,CAAC,EACP;;;;uBAImB,sBAAsB;qBACxB,oBAAoB;;;;;;;;;;;;;;sBAcnB,WAAW,UAAU,gBAAgB;;CAE1D,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare type DrawerLocationAttribute = 'left' | 'right';
2
+ export declare enum DrawerLocation {
3
+ Left = "left",
4
+ Right = "right"
5
+ }
6
+ export declare type DrawerStateAttribute = 'opening' | 'opened' | 'closing' | 'closed';
7
+ export declare enum DrawerState {
8
+ Opening = "opening",
9
+ Opened = "opened",
10
+ Closing = "closing",
11
+ Closed = "closed"
12
+ }
@@ -0,0 +1,13 @@
1
+ export var DrawerLocation;
2
+ (function (DrawerLocation) {
3
+ DrawerLocation["Left"] = "left";
4
+ DrawerLocation["Right"] = "right";
5
+ })(DrawerLocation || (DrawerLocation = {}));
6
+ export var DrawerState;
7
+ (function (DrawerState) {
8
+ DrawerState["Opening"] = "opening";
9
+ DrawerState["Opened"] = "opened";
10
+ DrawerState["Closing"] = "closing";
11
+ DrawerState["Closed"] = "closed";
12
+ })(DrawerState || (DrawerState = {}));
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/drawer/types.ts"],"names":[],"mappings":"AACA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAGD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
@@ -0,0 +1,12 @@
1
+ import { FoundationElement } from '@microsoft/fast-foundation';
2
+ import type { NimbleIcon } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
3
+ /**
4
+ * The base class for icon components
5
+ */
6
+ export declare class Icon extends FoundationElement {
7
+ icon: NimbleIcon;
8
+ constructor(icon: NimbleIcon);
9
+ }
10
+ declare type IconClass = typeof Icon;
11
+ export declare const registerIcon: (baseName: string, iconClass: IconClass) => void;
12
+ export {};
@@ -0,0 +1,22 @@
1
+ import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
2
+ import { template } from './template';
3
+ import { styles } from './styles';
4
+ /**
5
+ * The base class for icon components
6
+ */
7
+ export class Icon extends FoundationElement {
8
+ constructor(icon) {
9
+ super();
10
+ this.icon = icon;
11
+ }
12
+ }
13
+ export const registerIcon = (baseName, iconClass) => {
14
+ const composedIcon = iconClass.compose({
15
+ baseName,
16
+ template,
17
+ styles,
18
+ baseClass: iconClass
19
+ });
20
+ DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
21
+ };
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/icon-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,IAAK,SAAQ,iBAAiB;IACvC,YAA0B,IAAgB;QACtC,KAAK,EAAE,CAAC;QADc,SAAI,GAAJ,IAAI,CAAY;IAE1C,CAAC;CACJ;AAID,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,SAAoB,EAAQ,EAAE;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;QACnC,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,SAAS,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,38 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '@microsoft/fast-foundation';
3
+ import { contentFontColor, iconSize, warningColor, failColor, passColor } from '../theme-provider/design-tokens';
4
+ export const styles = css `
5
+ ${display('inline-flex')}
6
+
7
+ :host {
8
+ align-items: center;
9
+ user-select: none;
10
+ width: ${iconSize};
11
+ height: ${iconSize};
12
+ --icon-color: ${contentFontColor};
13
+ }
14
+
15
+ .icon {
16
+ width: 100%;
17
+ height: 100%;
18
+ }
19
+
20
+ :host(.fail) {
21
+ --icon-color: ${failColor};
22
+ }
23
+
24
+ :host(.warning) {
25
+ --icon-color: ${warningColor};
26
+ }
27
+
28
+ :host(.pass) {
29
+ --icon-color: ${passColor};
30
+ }
31
+
32
+ .icon svg {
33
+ fill: var(--icon-color);
34
+ width: 100%;
35
+ height: 100%;
36
+ }
37
+ `;
38
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/icon-base/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,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,SAAS,EACZ,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;;iBAKX,QAAQ;kBACP,QAAQ;wBACF,gBAAgB;;;;;;;;;wBAShB,SAAS;;;;wBAIT,YAAY;;;;wBAIZ,SAAS;;;;;;;;CAQhC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Icon } from '.';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<Icon, any>;
@@ -0,0 +1,7 @@
1
+ import { html } from '@microsoft/fast-element';
2
+ export const template = html `
3
+ <template slot="start">
4
+ <div class="icon" :innerHTML=${x => x.icon.data}></div>
5
+ </template
6
+ `;
7
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/icon-base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAM;;uCAEK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;;CAEtD,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Predefined icon status states
3
+ * @public
4
+ */
5
+ export declare type IconStatusAttribute = 'fail' | 'warning' | 'pass' | 'regular';
6
+ export declare enum IconStatus {
7
+ Fail = "fail",
8
+ Warning = "warning",
9
+ Pass = "pass",
10
+ Regular = "regular"
11
+ }
@@ -0,0 +1,8 @@
1
+ export var IconStatus;
2
+ (function (IconStatus) {
3
+ IconStatus["Fail"] = "fail";
4
+ IconStatus["Warning"] = "warning";
5
+ IconStatus["Pass"] = "pass";
6
+ IconStatus["Regular"] = "regular";
7
+ })(IconStatus || (IconStatus = {}));
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/icon-base/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACvB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -0,0 +1,12 @@
1
+ import { Icon } from '../icon-base';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'nimble-access-control-icon': AccessControlIcon;
5
+ }
6
+ }
7
+ /**
8
+ * The icon component for the 'access-control' icon
9
+ */
10
+ export declare class AccessControlIcon extends Icon {
11
+ constructor();
12
+ }
@@ -0,0 +1,12 @@
1
+ import { accessControlKey16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
2
+ import { Icon, registerIcon } from '../icon-base';
3
+ /**
4
+ * The icon component for the 'access-control' icon
5
+ */
6
+ export class AccessControlIcon extends Icon {
7
+ constructor() {
8
+ super(accessControlKey16X16);
9
+ }
10
+ }
11
+ registerIcon('access-control-icon', AccessControlIcon);
12
+ //# sourceMappingURL=access-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../../src/icons/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQlD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI;IACvC;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;CACJ;AAED,YAAY,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Icon } from '../icon-base';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'nimble-admin-icon': AdminIcon;
5
+ }
6
+ }
7
+ /**
8
+ * The icon component for the 'admin' icon
9
+ */
10
+ export declare class AdminIcon extends Icon {
11
+ constructor();
12
+ }
@@ -0,0 +1,12 @@
1
+ import { admin16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
2
+ import { Icon, registerIcon } from '../icon-base';
3
+ /**
4
+ * The icon component for the 'admin' icon
5
+ */
6
+ export class AdminIcon extends Icon {
7
+ constructor() {
8
+ super(admin16X16);
9
+ }
10
+ }
11
+ registerIcon('admin-icon', AdminIcon);
12
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/icons/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQlD;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,IAAI;IAC/B;QACI,KAAK,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;CACJ;AAED,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Icon } from '../icon-base';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'nimble-administration-icon': AdministrationIcon;
5
+ }
6
+ }
7
+ /**
8
+ * The icon component for the 'administration' icon
9
+ */
10
+ export declare class AdministrationIcon extends Icon {
11
+ constructor();
12
+ }
@@ -0,0 +1,12 @@
1
+ import { administration16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
2
+ import { Icon, registerIcon } from '../icon-base';
3
+ /**
4
+ * The icon component for the 'administration' icon
5
+ */
6
+ export class AdministrationIcon extends Icon {
7
+ constructor() {
8
+ super(administration16X16);
9
+ }
10
+ }
11
+ registerIcon('administration-icon', AdministrationIcon);
12
+ //# sourceMappingURL=administration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"administration.js","sourceRoot":"","sources":["../../../src/icons/administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQlD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IACxC;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;CACJ;AAED,YAAY,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export { AccessControlIcon } from './access-control';
2
+ export { AdminIcon } from './admin';
3
+ export { AdministrationIcon } from './administration';
4
+ export { CheckIcon } from './check';
5
+ export { CustomApplicationsIcon } from './custom-applications';
6
+ export { DeleteIcon } from './delete';
7
+ export { FailIcon } from './fail';
8
+ export { LoginIcon } from './login';
9
+ export { LogoutIcon } from './logout';
10
+ export { ManagedSystemsIcon } from './managed-systems';
11
+ export { MeasurementDataAnalysisIcon } from './measurement-data-analysis';
12
+ export { SettingsIcon } from './settings';
13
+ export { SucceededIcon } from './succeeded';
14
+ export { TestInsightsIcon } from './test-insights';
15
+ export { UtilitiesIcon } from './utilities';
@@ -0,0 +1,16 @@
1
+ export { AccessControlIcon } from './access-control';
2
+ export { AdminIcon } from './admin';
3
+ export { AdministrationIcon } from './administration';
4
+ export { CheckIcon } from './check';
5
+ export { CustomApplicationsIcon } from './custom-applications';
6
+ export { DeleteIcon } from './delete';
7
+ export { FailIcon } from './fail';
8
+ export { LoginIcon } from './login';
9
+ export { LogoutIcon } from './logout';
10
+ export { ManagedSystemsIcon } from './managed-systems';
11
+ export { MeasurementDataAnalysisIcon } from './measurement-data-analysis';
12
+ export { SettingsIcon } from './settings';
13
+ export { SucceededIcon } from './succeeded';
14
+ export { TestInsightsIcon } from './test-insights';
15
+ export { UtilitiesIcon } from './utilities';
16
+ //# sourceMappingURL=all-icons.js.map