@ni/nimble-components 1.0.0-beta.81 → 1.0.0-beta.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/button/index.js +1 -2
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/button/styles.js +5 -11
- package/dist/esm/button/styles.js.map +1 -1
- package/dist/esm/button/tests/button-matrix.stories.d.ts +1 -0
- package/dist/esm/button/tests/button-matrix.stories.js +10 -5
- package/dist/esm/button/tests/button-matrix.stories.js.map +1 -1
- package/dist/esm/button/tests/button.stories.d.ts +1 -0
- package/dist/esm/button/tests/button.stories.js +2 -2
- package/dist/esm/button/tests/button.stories.js.map +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/checkbox/index.js.map +1 -1
- package/dist/esm/drawer/animations.d.ts +14 -0
- package/dist/esm/drawer/animations.js +52 -0
- package/dist/esm/drawer/animations.js.map +1 -0
- package/dist/esm/drawer/index.d.ts +39 -0
- package/dist/esm/drawer/index.js +189 -0
- package/dist/esm/drawer/index.js.map +1 -0
- package/dist/esm/drawer/styles.d.ts +1 -0
- package/dist/esm/drawer/styles.js +109 -0
- package/dist/esm/drawer/styles.js.map +1 -0
- package/dist/esm/drawer/tests/drawer-matrix.stories.d.ts +9 -0
- package/dist/esm/drawer/tests/drawer-matrix.stories.js +48 -0
- package/dist/esm/drawer/tests/drawer-matrix.stories.js.map +1 -0
- package/dist/esm/drawer/tests/drawer.spec.d.ts +1 -0
- package/dist/esm/drawer/tests/drawer.spec.js +59 -0
- package/dist/esm/drawer/tests/drawer.spec.js.map +1 -0
- package/dist/esm/drawer/tests/drawer.stories.d.ts +20 -0
- package/dist/esm/drawer/tests/drawer.stories.js +98 -0
- package/dist/esm/drawer/tests/drawer.stories.js.map +1 -0
- package/dist/esm/drawer/types.d.ts +10 -0
- package/dist/esm/drawer/types.js +13 -0
- package/dist/esm/drawer/types.js.map +1 -0
- package/dist/esm/icon-base/index.d.ts +4 -1
- package/dist/esm/icon-base/index.js +12 -1
- package/dist/esm/icon-base/index.js.map +1 -1
- package/dist/esm/icon-base/template.js +3 -3
- package/dist/esm/icon-base/template.js.map +1 -1
- package/dist/esm/icon-base/tests/icon-matrix.stories.d.ts +0 -1
- package/dist/esm/icon-base/tests/icon-matrix.stories.js +5 -5
- package/dist/esm/icon-base/tests/icon-matrix.stories.js.map +1 -1
- package/dist/esm/icon-base/tests/icons.stories.js +18 -2
- package/dist/esm/icon-base/tests/icons.stories.js.map +1 -1
- package/dist/esm/icons/access-control.d.ts +1 -3
- package/dist/esm/icons/access-control.js +3 -22
- package/dist/esm/icons/access-control.js.map +1 -1
- package/dist/esm/icons/admin.d.ts +1 -3
- package/dist/esm/icons/admin.js +3 -20
- package/dist/esm/icons/admin.js.map +1 -1
- package/dist/esm/icons/administration.d.ts +1 -3
- package/dist/esm/icons/administration.js +3 -22
- package/dist/esm/icons/administration.js.map +1 -1
- package/dist/esm/icons/all-icons.d.ts +13 -39
- package/dist/esm/icons/all-icons.js +13 -30
- package/dist/esm/icons/all-icons.js.map +1 -1
- package/dist/esm/icons/check.d.ts +1 -3
- package/dist/esm/icons/check.js +3 -20
- package/dist/esm/icons/check.js.map +1 -1
- package/dist/esm/icons/custom-applications.d.ts +1 -3
- package/dist/esm/icons/custom-applications.js +3 -22
- package/dist/esm/icons/custom-applications.js.map +1 -1
- package/dist/esm/icons/delete.d.ts +1 -3
- package/dist/esm/icons/delete.js +3 -20
- package/dist/esm/icons/delete.js.map +1 -1
- package/dist/esm/icons/login.d.ts +1 -3
- package/dist/esm/icons/login.js +3 -20
- package/dist/esm/icons/login.js.map +1 -1
- package/dist/esm/icons/logout.d.ts +1 -3
- package/dist/esm/icons/logout.js +3 -20
- package/dist/esm/icons/logout.js.map +1 -1
- package/dist/esm/icons/managed-systems.d.ts +1 -3
- package/dist/esm/icons/managed-systems.js +3 -22
- package/dist/esm/icons/managed-systems.js.map +1 -1
- package/dist/esm/icons/measurement-data-analysis.d.ts +1 -3
- package/dist/esm/icons/measurement-data-analysis.js +3 -22
- package/dist/esm/icons/measurement-data-analysis.js.map +1 -1
- package/dist/esm/icons/settings.d.ts +1 -3
- package/dist/esm/icons/settings.js +3 -20
- package/dist/esm/icons/settings.js.map +1 -1
- package/dist/esm/icons/test-insights.d.ts +1 -3
- package/dist/esm/icons/test-insights.js +3 -22
- package/dist/esm/icons/test-insights.js.map +1 -1
- package/dist/esm/icons/utilities.d.ts +1 -3
- package/dist/esm/icons/utilities.js +3 -20
- package/dist/esm/icons/utilities.js.map +1 -1
- package/dist/esm/menu/index.d.ts +0 -10
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/menu/index.js.map +1 -1
- package/dist/esm/menu/styles.js +15 -1
- package/dist/esm/menu/styles.js.map +1 -1
- package/dist/esm/menu/tests/menu-matrix.stories.d.ts +1 -0
- package/dist/esm/menu/tests/menu-matrix.stories.js +5 -5
- package/dist/esm/menu/tests/menu-matrix.stories.js.map +1 -1
- package/dist/esm/menu/tests/menu.stories.d.ts +6 -2
- package/dist/esm/menu/tests/menu.stories.js +78 -14
- package/dist/esm/menu/tests/menu.stories.js.map +1 -1
- package/dist/esm/menu-item/styles.js +2 -3
- package/dist/esm/menu-item/styles.js.map +1 -1
- package/dist/esm/number-field/index.js +2 -2
- package/dist/esm/number-field/index.js.map +1 -1
- package/dist/esm/tab/index.d.ts +0 -1
- package/dist/esm/tab/index.js +1 -1
- package/dist/esm/tab/index.js.map +1 -1
- package/dist/esm/tab-panel/index.d.ts +0 -1
- package/dist/esm/tab-panel/index.js +1 -1
- package/dist/esm/tab-panel/index.js.map +1 -1
- package/dist/esm/tabs/index.d.ts +0 -3
- package/dist/esm/tabs/index.js +1 -6
- package/dist/esm/tabs/index.js.map +1 -1
- package/dist/esm/tabs/tests/tabs-matrix.stories.d.ts +3 -0
- package/dist/esm/tabs/tests/tabs-matrix.stories.js +3 -0
- package/dist/esm/tabs/tests/tabs-matrix.stories.js.map +1 -1
- package/dist/esm/tabs/tests/tabs.stories.d.ts +4 -1
- package/dist/esm/tabs/tests/tabs.stories.js +4 -1
- package/dist/esm/tabs/tests/tabs.stories.js.map +1 -1
- package/dist/esm/tabs-toolbar/template.js +1 -1
- package/dist/esm/tests/utilities/theme-test-helpers.d.ts +5 -4
- package/dist/esm/tests/utilities/theme-test-helpers.js +9 -18
- package/dist/esm/tests/utilities/theme-test-helpers.js.map +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/text-field/index.js.map +1 -1
- package/dist/esm/theme-provider/design-tokens.d.ts +4 -0
- package/dist/esm/theme-provider/design-tokens.js +5 -1
- package/dist/esm/theme-provider/design-tokens.js.map +1 -1
- package/dist/esm/theme-provider/index.d.ts +10 -1
- package/dist/esm/theme-provider/index.js +2 -8
- package/dist/esm/theme-provider/index.js.map +1 -1
- package/dist/esm/theme-provider/template.d.ts +2 -0
- package/dist/esm/theme-provider/template.js +3 -0
- package/dist/esm/theme-provider/template.js.map +1 -0
- package/dist/esm/tree-item/index.js +1 -1
- package/dist/esm/tree-item/index.js.map +1 -1
- package/dist/esm/tree-view/tests/tree-view-matrix.stories.d.ts +2 -0
- package/dist/esm/tree-view/tests/tree-view-matrix.stories.js +10 -13
- package/dist/esm/tree-view/tests/tree-view-matrix.stories.js.map +1 -1
- package/dist/esm/tree-view/tests/tree-view.stories.d.ts +2 -0
- package/dist/esm/tree-view/tests/tree-view.stories.js +7 -6
- package/dist/esm/tree-view/tests/tree-view.stories.js.map +1 -1
- package/package.json +2 -1
- package/dist/esm/button/tests/button.spec.d.ts +0 -1
- package/dist/esm/button/tests/button.spec.js +0 -23
- package/dist/esm/button/tests/button.spec.js.map +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { withXD } from 'storybook-addon-xd-designs';
|
|
2
|
+
import { html } from '@microsoft/fast-element';
|
|
3
|
+
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
4
|
+
import { backgroundStates } from '../../tests/utilities/theme-test-helpers';
|
|
5
|
+
import '../index';
|
|
6
|
+
const metadata = {
|
|
7
|
+
title: 'Tests/Drawer',
|
|
8
|
+
decorators: [withXD],
|
|
9
|
+
parameters: {
|
|
10
|
+
design: {
|
|
11
|
+
artboardUrl: 'https://xd.adobe.com/view/8ce280ab-1559-4961-945c-182955c7780b-d9b1/screen/730cdeb8-a4b5-4dcc-9fe4-718a75da7aff/specs/'
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export default metadata;
|
|
16
|
+
// The drawer uses a customized theme wrapper (not themeWrapper like the other controls) because only
|
|
17
|
+
// a single drawer can be visible at a time. So, we create different stories for each theme, rather
|
|
18
|
+
// than having a single Theme Matrix story (as multiple drawers wouldn't render correctly in that mode).
|
|
19
|
+
const singleThemeWrapper = (template, backgroundState) => html `
|
|
20
|
+
<nimble-theme-provider theme="${backgroundState.theme}">
|
|
21
|
+
<div
|
|
22
|
+
style="
|
|
23
|
+
background-color: ${backgroundState.value};
|
|
24
|
+
position: absolute;
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
left: 0px;
|
|
28
|
+
top: 0px;
|
|
29
|
+
"
|
|
30
|
+
></div>
|
|
31
|
+
${template}
|
|
32
|
+
</nimble-theme-provider>
|
|
33
|
+
`;
|
|
34
|
+
const component = html `
|
|
35
|
+
<nimble-drawer state="opened" location="right" modal>
|
|
36
|
+
<p style="margin: 10px;">Drawer containing text content</p>
|
|
37
|
+
</nimble-drawer>
|
|
38
|
+
`;
|
|
39
|
+
const [lightThemeWhiteBackground, colorThemeGreenBackground, colorThemeDarkGreenBackground, darkThemeBlackBackground, legacyBlueThemeWhiteBackground, ...remaining] = backgroundStates;
|
|
40
|
+
if (remaining.length > 0) {
|
|
41
|
+
throw new Error('New backgrounds need to be supported');
|
|
42
|
+
}
|
|
43
|
+
export const drawerLightThemeWhiteBackground = createRenderer(singleThemeWrapper(component, lightThemeWhiteBackground));
|
|
44
|
+
export const drawerColorThemeGreenBackground = createRenderer(singleThemeWrapper(component, colorThemeGreenBackground));
|
|
45
|
+
export const drawerColorThemeDarkGreenBackground = createRenderer(singleThemeWrapper(component, colorThemeDarkGreenBackground));
|
|
46
|
+
export const drawerDarkThemeBlackBackground = createRenderer(singleThemeWrapper(component, darkThemeBlackBackground));
|
|
47
|
+
export const drawerLegacyBlueThemeWhiteBackground = createRenderer(singleThemeWrapper(component, legacyBlueThemeWhiteBackground));
|
|
48
|
+
//# sourceMappingURL=drawer-matrix.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer-matrix.stories.js","sourceRoot":"","sources":["../../../../src/drawer/tests/drawer-matrix.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAEH,gBAAgB,EACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,UAAU,CAAC;AAElB,MAAM,QAAQ,GAAS;IACnB,KAAK,EAAE,cAAc;IACrB,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE;QACR,MAAM,EAAE;YACJ,WAAW,EACP,wHAAwH;SAC/H;KACJ;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,qGAAqG;AACrG,mGAAmG;AACnG,wGAAwG;AACxG,MAAM,kBAAkB,GAAG,CACvB,QAAsB,EACtB,eAAgC,EACpB,EAAE,CAAC,IAAI,CAAA;oCACa,eAAe,CAAC,KAAK;;;oCAGrB,eAAe,CAAC,KAAK;;;;;;;;UAQ/C,QAAQ;;CAEjB,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,CAAA;;;;CAIrB,CAAC;AAEF,MAAM,CACF,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,EAC9B,GAAG,SAAS,CACf,GAAG,gBAAgB,CAAC;AAErB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;IACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;CAC3D;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAU,cAAc,CAChE,kBAAkB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAU,cAAc,CAChE,kBAAkB,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAU,cAAc,CACpE,kBAAkB,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAU,cAAc,CAC/D,kBAAkB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAU,cAAc,CACrE,kBAAkB,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAChE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '..';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DOM, html } from '@microsoft/fast-element';
|
|
2
|
+
import { fixture } from '../../tests/utilities/fixture';
|
|
3
|
+
import '..';
|
|
4
|
+
import { DrawerState } from '../types';
|
|
5
|
+
async function setup() {
|
|
6
|
+
return fixture(html ` <nimble-drawer> </nimble-drawer>`);
|
|
7
|
+
}
|
|
8
|
+
describe('Drawer', () => {
|
|
9
|
+
let element;
|
|
10
|
+
let connect;
|
|
11
|
+
let disconnect;
|
|
12
|
+
beforeEach(async () => {
|
|
13
|
+
({ element, connect, disconnect } = await setup());
|
|
14
|
+
await connect();
|
|
15
|
+
await DOM.nextUpdate();
|
|
16
|
+
});
|
|
17
|
+
afterEach(async () => {
|
|
18
|
+
await disconnect();
|
|
19
|
+
});
|
|
20
|
+
async function waitForDrawerAnimationsCompleted() {
|
|
21
|
+
await Promise.all(element.dialog
|
|
22
|
+
.getAnimations()
|
|
23
|
+
.map(async (animation) => animation.finished));
|
|
24
|
+
await DOM.nextUpdate();
|
|
25
|
+
}
|
|
26
|
+
it('element is hidden and does not trap focus by default', async () => {
|
|
27
|
+
expect(element.hidden).toBe(true);
|
|
28
|
+
expect(element.trapFocus).toBe(false);
|
|
29
|
+
});
|
|
30
|
+
it('state=opening animates to shown/state=opened, and state=closing animates to hidden/state=closed', async () => {
|
|
31
|
+
element.state = DrawerState.Opening;
|
|
32
|
+
await waitForDrawerAnimationsCompleted();
|
|
33
|
+
expect(element.hidden).toBe(false);
|
|
34
|
+
expect(element.state).toEqual('opened');
|
|
35
|
+
element.state = DrawerState.Closing;
|
|
36
|
+
await waitForDrawerAnimationsCompleted();
|
|
37
|
+
expect(element.hidden).toBe(true);
|
|
38
|
+
expect(element.state).toEqual('closed');
|
|
39
|
+
});
|
|
40
|
+
it('show() is equivalent to state=opening, and hide() is equivalent to state=closing', async () => {
|
|
41
|
+
element.show();
|
|
42
|
+
await waitForDrawerAnimationsCompleted();
|
|
43
|
+
expect(element.hidden).toBe(false);
|
|
44
|
+
expect(element.state).toEqual('opened');
|
|
45
|
+
element.hide();
|
|
46
|
+
await waitForDrawerAnimationsCompleted();
|
|
47
|
+
expect(element.hidden).toBe(true);
|
|
48
|
+
expect(element.state).toEqual('closed');
|
|
49
|
+
});
|
|
50
|
+
it('showing then hiding element (without waiting for slide-in animation to finish) works correctly (element ends as hidden)', async () => {
|
|
51
|
+
element.show();
|
|
52
|
+
await DOM.nextUpdate();
|
|
53
|
+
element.hide();
|
|
54
|
+
await waitForDrawerAnimationsCompleted();
|
|
55
|
+
expect(element.hidden).toBe(true);
|
|
56
|
+
expect(element.state).toEqual('closed');
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=drawer.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer.spec.js","sourceRoot":"","sources":["../../../../src/drawer/tests/drawer.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Meta, Story } from '@storybook/html';
|
|
2
|
+
import '../../button/index';
|
|
3
|
+
import '../index';
|
|
4
|
+
import { DrawerLocation, DrawerState } from '../types';
|
|
5
|
+
import type { Drawer } from '../index';
|
|
6
|
+
declare enum ExampleContentType {
|
|
7
|
+
SimpleTextContent = "SimpleTextContent",
|
|
8
|
+
HeaderContentFooter = "HeaderContentFooter"
|
|
9
|
+
}
|
|
10
|
+
interface DrawerArgs {
|
|
11
|
+
location: DrawerLocation;
|
|
12
|
+
state: DrawerState;
|
|
13
|
+
modal: boolean;
|
|
14
|
+
preventDismiss: boolean;
|
|
15
|
+
content: ExampleContentType;
|
|
16
|
+
drawer: Drawer;
|
|
17
|
+
}
|
|
18
|
+
declare const metadata: Meta<DrawerArgs>;
|
|
19
|
+
export default metadata;
|
|
20
|
+
export declare const drawer: Story<DrawerArgs>;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { html, ref } from '@microsoft/fast-element';
|
|
2
|
+
import { withXD } from 'storybook-addon-xd-designs';
|
|
3
|
+
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
4
|
+
import '../../button/index';
|
|
5
|
+
import '../index';
|
|
6
|
+
import { DrawerLocation, DrawerState } from '../types';
|
|
7
|
+
var ExampleContentType;
|
|
8
|
+
(function (ExampleContentType) {
|
|
9
|
+
ExampleContentType["SimpleTextContent"] = "SimpleTextContent";
|
|
10
|
+
ExampleContentType["HeaderContentFooter"] = "HeaderContentFooter";
|
|
11
|
+
})(ExampleContentType || (ExampleContentType = {}));
|
|
12
|
+
const simpleDrawerContent = '<section>This is a drawer which can slide in from either side of the screen and display custom content.</section>';
|
|
13
|
+
// prettier-ignore
|
|
14
|
+
const drawerHeaderFooterContentTemplate = html `
|
|
15
|
+
<header>Header</header>
|
|
16
|
+
<section>
|
|
17
|
+
<p>This is a drawer with header and footer regions.</p>
|
|
18
|
+
<p>
|
|
19
|
+
Uses header, section, footer HTML elements
|
|
20
|
+
<br/>
|
|
21
|
+
(Drawer element includes styling for them)
|
|
22
|
+
</p>
|
|
23
|
+
<div style="height: 1000px;">
|
|
24
|
+
(Large-height content to ensure content scrollbar appears)
|
|
25
|
+
</div>
|
|
26
|
+
</section>
|
|
27
|
+
<footer>
|
|
28
|
+
<nimble-button appearance="ghost">Cancel</nimble-button>
|
|
29
|
+
<nimble-button appearance="outline">OK</nimble-button>
|
|
30
|
+
</footer>`;
|
|
31
|
+
const drawerHeaderFooterContent = drawerHeaderFooterContentTemplate.html;
|
|
32
|
+
const metadata = {
|
|
33
|
+
title: 'Drawer',
|
|
34
|
+
decorators: [withXD],
|
|
35
|
+
parameters: {
|
|
36
|
+
design: {
|
|
37
|
+
artboardUrl: 'https://xd.adobe.com/view/8ce280ab-1559-4961-945c-182955c7780b-d9b1/screen/730cdeb8-a4b5-4dcc-9fe4-718a75da7aff/specs/'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
// prettier-ignore
|
|
41
|
+
render: createRenderer(html `
|
|
42
|
+
<nimble-drawer ${ref('drawer')}
|
|
43
|
+
modal="${x => x.modal}"
|
|
44
|
+
?prevent-dismiss="${x => x.preventDismiss}"
|
|
45
|
+
location="${x => x.location}"
|
|
46
|
+
state="${x => x.state}"
|
|
47
|
+
:innerHTML="${x => x.content}">
|
|
48
|
+
</nimble-drawer>
|
|
49
|
+
<nimble-button
|
|
50
|
+
style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"
|
|
51
|
+
@click="${({ drawer }) => { drawer.state = drawer.hidden ? DrawerState.Opening : DrawerState.Closing; }}"
|
|
52
|
+
>
|
|
53
|
+
Show/Hide Drawer (animated)
|
|
54
|
+
</nimble-button>
|
|
55
|
+
`),
|
|
56
|
+
argTypes: {
|
|
57
|
+
location: {
|
|
58
|
+
options: [DrawerLocation.Left, DrawerLocation.Right],
|
|
59
|
+
control: { type: 'radio' }
|
|
60
|
+
},
|
|
61
|
+
state: {
|
|
62
|
+
options: [
|
|
63
|
+
DrawerState.Opening,
|
|
64
|
+
DrawerState.Opened,
|
|
65
|
+
DrawerState.Closing,
|
|
66
|
+
DrawerState.Closed
|
|
67
|
+
],
|
|
68
|
+
control: { type: 'select' }
|
|
69
|
+
},
|
|
70
|
+
content: {
|
|
71
|
+
options: [
|
|
72
|
+
ExampleContentType.SimpleTextContent,
|
|
73
|
+
ExampleContentType.HeaderContentFooter
|
|
74
|
+
],
|
|
75
|
+
mapping: {
|
|
76
|
+
[ExampleContentType.SimpleTextContent]: simpleDrawerContent,
|
|
77
|
+
[ExampleContentType.HeaderContentFooter]: drawerHeaderFooterContent
|
|
78
|
+
},
|
|
79
|
+
control: {
|
|
80
|
+
type: 'radio',
|
|
81
|
+
labels: {
|
|
82
|
+
[ExampleContentType.SimpleTextContent]: 'Simple Text Content',
|
|
83
|
+
[ExampleContentType.HeaderContentFooter]: 'Header/Content/Footer Example'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
args: {
|
|
89
|
+
location: DrawerLocation.Left,
|
|
90
|
+
state: DrawerState.Opened,
|
|
91
|
+
modal: true,
|
|
92
|
+
preventDismiss: false,
|
|
93
|
+
content: ExampleContentType.SimpleTextContent
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
export default metadata;
|
|
97
|
+
export const drawer = {};
|
|
98
|
+
//# sourceMappingURL=drawer.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer.stories.js","sourceRoot":"","sources":["../../../../src/drawer/tests/drawer.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvD,IAAK,kBAGJ;AAHD,WAAK,kBAAkB;IACnB,6DAAuC,CAAA;IACvC,iEAA2C,CAAA;AAC/C,CAAC,EAHI,kBAAkB,KAAlB,kBAAkB,QAGtB;AAWD,MAAM,mBAAmB,GAAG,mHAAmH,CAAC;AAEhJ,kBAAkB;AAClB,MAAM,iCAAiC,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;cAgBhC,CAAC;AACf,MAAM,yBAAyB,GAAG,iCAAiC,CAAC,IAAc,CAAC;AAEnF,MAAM,QAAQ,GAAqB;IAC/B,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE;QACR,MAAM,EAAE;YACJ,WAAW,EACP,wHAAwH;SAC/H;KACJ;IACD,kBAAkB;IAClB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAA;yBACN,GAAG,CAAC,QAAQ,CAAC;qBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;gCACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;wBAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;qBAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;0BACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;;;;sBAIlB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;;;;KAI9G,CAAC;IACF,QAAQ,EAAE;QACN,QAAQ,EAAE;YACN,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;YACpD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7B;QACD,KAAK,EAAE;YACH,OAAO,EAAE;gBACL,WAAW,CAAC,OAAO;gBACnB,WAAW,CAAC,MAAM;gBAClB,WAAW,CAAC,OAAO;gBACnB,WAAW,CAAC,MAAM;aACrB;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;QACD,OAAO,EAAE;YACL,OAAO,EAAE;gBACL,kBAAkB,CAAC,iBAAiB;gBACpC,kBAAkB,CAAC,mBAAmB;aACzC;YACD,OAAO,EAAE;gBACL,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,mBAAmB;gBAC3D,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EACpC,yBAAyB;aAChC;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACJ,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAClC,qBAAqB;oBACzB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EACpC,+BAA+B;iBACtC;aACJ;SACJ;KACJ;IACD,IAAI,EAAE;QACF,QAAQ,EAAE,cAAc,CAAC,IAAI;QAC7B,KAAK,EAAE,WAAW,CAAC,MAAM;QACzB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,kBAAkB,CAAC,iBAAiB;KAChD;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,MAAM,CAAC,MAAM,MAAM,GAAsB,EAAE,CAAC"}
|
|
@@ -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":"AAAA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,iCAAe,CAAA;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,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"}
|
|
@@ -3,7 +3,10 @@ import type { NimbleIcon } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-i
|
|
|
3
3
|
/**
|
|
4
4
|
* The base class for icon components
|
|
5
5
|
*/
|
|
6
|
-
export declare
|
|
6
|
+
export declare class Icon extends FoundationElement {
|
|
7
7
|
icon: NimbleIcon;
|
|
8
8
|
constructor(icon: NimbleIcon);
|
|
9
9
|
}
|
|
10
|
+
declare type IconClass = typeof Icon;
|
|
11
|
+
export declare const registerIcon: (baseName: string, iconClass: IconClass) => void;
|
|
12
|
+
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
1
|
+
import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
|
|
2
|
+
import { template } from './template';
|
|
3
|
+
import { styles } from './styles';
|
|
2
4
|
/**
|
|
3
5
|
* The base class for icon components
|
|
4
6
|
*/
|
|
@@ -8,4 +10,13 @@ export class Icon extends FoundationElement {
|
|
|
8
10
|
this.icon = icon;
|
|
9
11
|
}
|
|
10
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
|
+
};
|
|
11
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/icon-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { html } from '@microsoft/fast-element';
|
|
2
2
|
export const template = html `
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
<template slot="start">
|
|
4
|
+
<div class="icon" :innerHTML=${x => x.icon.data}></div>
|
|
5
|
+
</template
|
|
6
6
|
`;
|
|
7
7
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +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
|
|
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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { withXD } from 'storybook-addon-xd-designs';
|
|
2
2
|
import { html } from '@microsoft/fast-element';
|
|
3
3
|
import { createMatrix, themeWrapper } from '../../tests/utilities/theme-test-helpers';
|
|
4
|
-
import '../index';
|
|
5
4
|
import '../../icons/check';
|
|
6
5
|
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
7
6
|
import { IconStatus } from './types';
|
|
7
|
+
import { contentFontColor } from '../../theme-provider/design-tokens';
|
|
8
8
|
const metadata = {
|
|
9
9
|
title: 'Tests/Icon',
|
|
10
10
|
decorators: [withXD],
|
|
@@ -13,15 +13,15 @@ const metadata = {
|
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
export default metadata;
|
|
16
|
-
const
|
|
16
|
+
const iconStatusStates = [
|
|
17
17
|
['Pass', IconStatus.Pass],
|
|
18
18
|
['Fail', IconStatus.Fail],
|
|
19
19
|
['Warning', IconStatus.Warning],
|
|
20
20
|
['Regular', IconStatus.Regular]
|
|
21
21
|
];
|
|
22
22
|
const component = ([stateName, state]) => html `
|
|
23
|
-
<
|
|
24
|
-
<nimble-check-icon class="${state}"
|
|
23
|
+
<span style="color: ${contentFontColor.createCSS()};">${stateName}</span>
|
|
24
|
+
<nimble-check-icon class="${state}"></nimble-check-icon>
|
|
25
25
|
`;
|
|
26
|
-
export const iconThemeMatrix = createRenderer(themeWrapper(createMatrix(component, [
|
|
26
|
+
export const iconThemeMatrix = createRenderer(themeWrapper(createMatrix(component, [iconStatusStates])));
|
|
27
27
|
//# sourceMappingURL=icon-matrix.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-matrix.stories.js","sourceRoot":"","sources":["../../../../src/icon-base/tests/icon-matrix.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACH,YAAY,EACZ,YAAY,EACf,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"icon-matrix.stories.js","sourceRoot":"","sources":["../../../../src/icon-base/tests/icon-matrix.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACH,YAAY,EACZ,YAAY,EACf,MAAM,0CAA0C,CAAC;AAElD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,MAAM,QAAQ,GAAS;IACnB,KAAK,EAAE,YAAY;IACnB,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;KAC5C;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,MAAM,gBAAgB,GAAG;IACrB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;IAC/B,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;CAClC,CAAC;AAGF,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAkB,EAAgB,EAAE,CAAC,IAAI,CAAA;0BACnD,gBAAgB,CAAC,SAAS,EAAE,MAAM,SAAS;gCACrC,KAAK;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAU,cAAc,CAChD,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC5D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as nimbleIconsMap from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
2
2
|
import { withXD } from 'storybook-addon-xd-designs';
|
|
3
3
|
import { html, repeat } from '@microsoft/fast-element';
|
|
4
|
+
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
4
5
|
import * as nimbleIconComponentsMap from '../../icons/all-icons';
|
|
5
6
|
import { IconStatus } from './types';
|
|
6
7
|
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
@@ -54,6 +55,21 @@ export const rawIcons = {
|
|
|
54
55
|
</div>
|
|
55
56
|
`)
|
|
56
57
|
};
|
|
58
|
+
// The binding in this template generates a new template on the fly
|
|
59
|
+
// which is not a recommended practice by FAST. This is done because
|
|
60
|
+
// bindings can't be used for the element tag name, i.e.:
|
|
61
|
+
// static string interpolation works: html`<${tagName}></${tagName}>`
|
|
62
|
+
// dynamic template binding doesn't work: html`<${() => tagName}></${() => tagName}>`
|
|
63
|
+
const iconTemplate = html `
|
|
64
|
+
${(x, c) => html `
|
|
65
|
+
<${DesignSystem.tagFor(x)}
|
|
66
|
+
class="${c.parent.status}"
|
|
67
|
+
title=${DesignSystem.tagFor(x)}
|
|
68
|
+
style="padding: 5px;"
|
|
69
|
+
>
|
|
70
|
+
</${DesignSystem.tagFor(x)}>
|
|
71
|
+
`}
|
|
72
|
+
`;
|
|
57
73
|
// prettier-ignore
|
|
58
74
|
export const componentIcons = {
|
|
59
75
|
args: { status: IconStatus.Regular },
|
|
@@ -64,8 +80,8 @@ export const componentIcons = {
|
|
|
64
80
|
}
|
|
65
81
|
},
|
|
66
82
|
render: createRenderer(html `
|
|
67
|
-
<div class="container"
|
|
68
|
-
${
|
|
83
|
+
<div class="container">
|
|
84
|
+
${repeat(() => nimbleIconComponents, iconTemplate)}
|
|
69
85
|
</div>
|
|
70
86
|
`)
|
|
71
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.stories.js","sourceRoot":"","sources":["../../../../src/icon-base/tests/icons.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,uBAAuB,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"icons.stories.js","sourceRoot":"","sources":["../../../../src/icon-base/tests/icons.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,uBAAuB,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAG9E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAClD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAMpE,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBnB,CAAC;AAEF,MAAM,QAAQ,GAAmB;IAC7B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,CAAC,MAAM,CAAC;CACvB,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACrC,UAAU,EAAE;QACR,QAAQ,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;KAC5C;IACD,MAAM,EAAE,cAAc,CAAC,IAAI,CAAA;UACrB,WAAW;;cAEP,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,CAAY;;;6BAG3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;kCACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;aAEhC,CAAC;;KAET,CAAC;CACL,CAAC;AAGF,mEAAmE;AACnE,oEAAoE;AACpE,yDAAyD;AACzD,qEAAqE;AACrE,qFAAqF;AACrF,MAAM,YAAY,GAAG,IAAI,CAAqB;MACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA;WACT,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;qBACZ,CAAC,CAAC,MAAM,CAAC,MAAM;oBAChB,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;;;YAG9B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7B;CACJ,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC3C,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE;IACpC,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7B;KACJ;IACD,MAAM,EAAE,cAAc,CAAC,IAAI,CAAA;;cAEjB,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;;KAEzD,CAAC;CACL,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Icon } from '../icon-base';
|
|
2
|
-
export type { AccessControlIcon };
|
|
3
|
-
export declare const baseName = "access-control-icon";
|
|
4
2
|
/**
|
|
5
3
|
* The icon component for the 'access-control' icon
|
|
6
4
|
*/
|
|
7
|
-
declare class AccessControlIcon extends Icon {
|
|
5
|
+
export declare class AccessControlIcon extends Icon {
|
|
8
6
|
constructor();
|
|
9
7
|
}
|
|
@@ -1,31 +1,12 @@
|
|
|
1
|
-
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
2
1
|
import { accessControlKey16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
-
import { Icon } from '../icon-base';
|
|
4
|
-
import { template } from '../icon-base/template';
|
|
5
|
-
import { styles } from '../icon-base/styles';
|
|
6
|
-
export const baseName = 'access-control-icon';
|
|
2
|
+
import { Icon, registerIcon } from '../icon-base';
|
|
7
3
|
/**
|
|
8
4
|
* The icon component for the 'access-control' icon
|
|
9
5
|
*/
|
|
10
|
-
class AccessControlIcon extends Icon {
|
|
6
|
+
export class AccessControlIcon extends Icon {
|
|
11
7
|
constructor() {
|
|
12
8
|
super(accessControlKey16X16);
|
|
13
9
|
}
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
* A function that returns a nimble-access-control-icon registration for configuring the component with a DesignSystem.
|
|
17
|
-
*
|
|
18
|
-
* @public
|
|
19
|
-
* @remarks
|
|
20
|
-
* Generates HTML Element: \<nimble-access-control-icon\>
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
const nimbleAccessControlIcon = AccessControlIcon.compose({
|
|
24
|
-
baseName,
|
|
25
|
-
template,
|
|
26
|
-
styles
|
|
27
|
-
});
|
|
28
|
-
DesignSystem.getOrCreate()
|
|
29
|
-
.withPrefix('nimble')
|
|
30
|
-
.register(nimbleAccessControlIcon());
|
|
11
|
+
registerIcon('access-control-icon', AccessControlIcon);
|
|
31
12
|
//# sourceMappingURL=access-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../../src/icons/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;AAElD;;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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Icon } from '../icon-base';
|
|
2
|
-
export type { AdminIcon };
|
|
3
|
-
export declare const baseName = "admin-icon";
|
|
4
2
|
/**
|
|
5
3
|
* The icon component for the 'admin' icon
|
|
6
4
|
*/
|
|
7
|
-
declare class AdminIcon extends Icon {
|
|
5
|
+
export declare class AdminIcon extends Icon {
|
|
8
6
|
constructor();
|
|
9
7
|
}
|
package/dist/esm/icons/admin.js
CHANGED
|
@@ -1,29 +1,12 @@
|
|
|
1
|
-
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
2
1
|
import { admin16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
-
import { Icon } from '../icon-base';
|
|
4
|
-
import { template } from '../icon-base/template';
|
|
5
|
-
import { styles } from '../icon-base/styles';
|
|
6
|
-
export const baseName = 'admin-icon';
|
|
2
|
+
import { Icon, registerIcon } from '../icon-base';
|
|
7
3
|
/**
|
|
8
4
|
* The icon component for the 'admin' icon
|
|
9
5
|
*/
|
|
10
|
-
class AdminIcon extends Icon {
|
|
6
|
+
export class AdminIcon extends Icon {
|
|
11
7
|
constructor() {
|
|
12
8
|
super(admin16X16);
|
|
13
9
|
}
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
* A function that returns a nimble-admin-icon registration for configuring the component with a DesignSystem.
|
|
17
|
-
*
|
|
18
|
-
* @public
|
|
19
|
-
* @remarks
|
|
20
|
-
* Generates HTML Element: \<nimble-admin-icon\>
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
const nimbleAdminIcon = AdminIcon.compose({
|
|
24
|
-
baseName,
|
|
25
|
-
template,
|
|
26
|
-
styles
|
|
27
|
-
});
|
|
28
|
-
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAdminIcon());
|
|
11
|
+
registerIcon('admin-icon', AdminIcon);
|
|
29
12
|
//# sourceMappingURL=admin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/icons/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;AAElD;;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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Icon } from '../icon-base';
|
|
2
|
-
export type { AdministrationIcon };
|
|
3
|
-
export declare const baseName = "administration-icon";
|
|
4
2
|
/**
|
|
5
3
|
* The icon component for the 'administration' icon
|
|
6
4
|
*/
|
|
7
|
-
declare class AdministrationIcon extends Icon {
|
|
5
|
+
export declare class AdministrationIcon extends Icon {
|
|
8
6
|
constructor();
|
|
9
7
|
}
|
|
@@ -1,31 +1,12 @@
|
|
|
1
|
-
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
2
1
|
import { administration16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
|
-
import { Icon } from '../icon-base';
|
|
4
|
-
import { template } from '../icon-base/template';
|
|
5
|
-
import { styles } from '../icon-base/styles';
|
|
6
|
-
export const baseName = 'administration-icon';
|
|
2
|
+
import { Icon, registerIcon } from '../icon-base';
|
|
7
3
|
/**
|
|
8
4
|
* The icon component for the 'administration' icon
|
|
9
5
|
*/
|
|
10
|
-
class AdministrationIcon extends Icon {
|
|
6
|
+
export class AdministrationIcon extends Icon {
|
|
11
7
|
constructor() {
|
|
12
8
|
super(administration16X16);
|
|
13
9
|
}
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
* A function that returns a nimble-administration-icon registration for configuring the component with a DesignSystem.
|
|
17
|
-
*
|
|
18
|
-
* @public
|
|
19
|
-
* @remarks
|
|
20
|
-
* Generates HTML Element: \<nimble-administration-icon\>
|
|
21
|
-
*
|
|
22
|
-
*/
|
|
23
|
-
const nimbleAdministrationIcon = AdministrationIcon.compose({
|
|
24
|
-
baseName,
|
|
25
|
-
template,
|
|
26
|
-
styles
|
|
27
|
-
});
|
|
28
|
-
DesignSystem.getOrCreate()
|
|
29
|
-
.withPrefix('nimble')
|
|
30
|
-
.register(nimbleAdministrationIcon());
|
|
11
|
+
registerIcon('administration-icon', AdministrationIcon);
|
|
31
12
|
//# sourceMappingURL=administration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"administration.js","sourceRoot":"","sources":["../../../src/icons/administration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;AAElD;;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"}
|