@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
package/dist/esm/button/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { attr
|
|
2
|
+
import { attr } from '@microsoft/fast-element';
|
|
3
3
|
import { Button as FoundationButton, buttonTemplate as template, DesignSystem } from '@microsoft/fast-foundation';
|
|
4
4
|
import { styles } from './styles';
|
|
5
5
|
import { ButtonAppearance } from './types';
|
|
@@ -29,7 +29,6 @@ __decorate([
|
|
|
29
29
|
const nimbleButton = Button.compose({
|
|
30
30
|
baseName: 'button',
|
|
31
31
|
template,
|
|
32
|
-
start: html `<span part="icon"><slot name="icon"></slot></span>`,
|
|
33
32
|
styles,
|
|
34
33
|
shadowOptions: {
|
|
35
34
|
delegatesFocus: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACH,MAAM,IAAI,gBAAgB,EAE1B,cAAc,IAAI,QAAQ,EAC1B,YAAY,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C;;GAEG;AACH,MAAM,MAAO,SAAQ,gBAAgB;IAW1B,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAC9C;IACL,CAAC;CACJ;AARG;IADC,IAAI;0CAC+B;AAUxC;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAgB;IAC/C,QAAQ,EAAE,QAAQ;IAClB,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { focusVisible } from '../utilities/style/focus';
|
|
3
|
-
import { actionColorRgb, borderColorHover, borderColorRgb, borderWidth, buttonContentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorSelected, fontFamily,
|
|
3
|
+
import { actionColorRgb, borderColorHover, borderColorRgb, borderWidth, buttonContentFontColor, contentFontColorDisabled, contentFontSize, controlHeight, fillColorSelected, fontFamily, smallDelay, standardPadding } from '../theme-provider/design-tokens';
|
|
4
4
|
import { appearanceBehavior } from './behaviors';
|
|
5
5
|
import { ButtonAppearance } from './types';
|
|
6
6
|
export const styles = css `
|
|
@@ -85,23 +85,17 @@ export const styles = css `
|
|
|
85
85
|
display: contents;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
[
|
|
89
|
-
|
|
88
|
+
slot[name='start']::slotted(*) {
|
|
89
|
+
--icon-color: ${buttonContentFontColor};
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
slot[name='
|
|
93
|
-
|
|
94
|
-
height: ${iconSize};
|
|
95
|
-
fill: ${buttonContentFontColor};
|
|
92
|
+
:host([disabled]) slot[name='start']::slotted(*) {
|
|
93
|
+
opacity: 0.6;
|
|
96
94
|
}
|
|
97
95
|
|
|
98
96
|
[part='end'] {
|
|
99
97
|
display: none;
|
|
100
98
|
}
|
|
101
|
-
|
|
102
|
-
:host([disabled]) slot[name='icon']::slotted(*) {
|
|
103
|
-
opacity: 0.6;
|
|
104
|
-
}
|
|
105
99
|
`
|
|
106
100
|
// prettier-ignore
|
|
107
101
|
.withBehaviors(appearanceBehavior(ButtonAppearance.Outline, css `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/button/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/button/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;kBAIP,aAAa;iBACd,sBAAsB;uBAChB,UAAU;qBACZ,eAAe;;;;;UAK1B;AACE;;;EAGE,CAAC,EACP;;;;;iBAKS,wBAAwB;;;;;;;;kBAQvB,WAAW;;;;;;;;;;;;;;qBAcR,eAAe;iCACH,UAAU;;;;;;;;;;kCAUT,WAAW,IAAI,gBAAgB;;;;cAInD,YAAY;kCACQ,WAAW,IAAI,gBAAgB;mBAC9C,WAAW,UAAU,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;wBAuBhC,sBAAsB;;;;;;;;;;CAU7C;IACG,kBAAkB;KACjB,aAAa,CACV,kBAAkB,CACd,gBAAgB,CAAC,OAAO,EACxB,GAAG,CAAA;;;yCAG0B,cAAc;;;;;oCAKnB,gBAAgB;;;0BAG1B,YAAY;;oCAEF,gBAAgB;;;;wCAIZ,iBAAiB;;;;;;yCAMhB,cAAc;;aAE1C,CACJ,EACD,kBAAkB,CACd,gBAAgB,CAAC,KAAK,EACtB,GAAG,CAAA;;;;;;;;oCAQqB,gBAAgB;;;0BAG1B,YAAY;;oCAEF,gBAAgB;;;;wCAIZ,iBAAiB;;;;;;;;aAQ5C,CACJ,EACD,kBAAkB,CACd,gBAAgB,CAAC,KAAK,EACtB,GAAG,CAAA;;6CAE8B,cAAc;;;;;6CAKd,cAAc;oCACvB,gBAAgB;;;0BAG1B,YAAY;6CACO,cAAc;oCACvB,gBAAgB;;;;wCAIZ,iBAAiB;;;;;6CAKZ,cAAc;yCAClB,cAAc;;aAE1C,CACJ,CACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { withXD } from 'storybook-addon-xd-designs';
|
|
2
|
-
import { html } from '@microsoft/fast-element';
|
|
2
|
+
import { html, when } from '@microsoft/fast-element';
|
|
3
3
|
import { ButtonAppearance } from '../types';
|
|
4
|
-
import { disabledStates,
|
|
4
|
+
import { disabledStates, iconVisibleStates, createMatrix, themeWrapper } from '../../tests/utilities/theme-test-helpers';
|
|
5
5
|
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
6
6
|
import '../index';
|
|
7
|
+
import '../../icons/access-control';
|
|
7
8
|
const metadata = {
|
|
8
9
|
title: 'Tests/Button',
|
|
9
10
|
decorators: [withXD],
|
|
@@ -19,11 +20,15 @@ export const defaultButton = createRenderer(html `<nimble-button>Default Button<
|
|
|
19
20
|
const noContent = 'NO_CONTENT';
|
|
20
21
|
const appearanceStates = [...Object.entries(ButtonAppearance), [noContent, '']];
|
|
21
22
|
// prettier-ignore
|
|
22
|
-
const component = ([disabledName, disabled], [appearanceName, appearance],
|
|
23
|
+
const component = ([disabledName, disabled], [appearanceName, appearance], iconVisible) => html `
|
|
23
24
|
<nimble-button appearance="${() => appearance}" ?disabled=${() => disabled}>
|
|
24
|
-
${() => icon}
|
|
25
|
+
${when(() => iconVisible, html `<nimble-access-control-icon></nimble-access-control-icon>`)}
|
|
25
26
|
${() => (appearanceName === noContent ? '' : `${appearanceName} Button ${disabledName}`)}
|
|
26
27
|
</nimble-button>
|
|
27
28
|
`;
|
|
28
|
-
export const buttonThemeMatrix = createRenderer(themeWrapper(createMatrix(component, [
|
|
29
|
+
export const buttonThemeMatrix = createRenderer(themeWrapper(createMatrix(component, [
|
|
30
|
+
disabledStates,
|
|
31
|
+
appearanceStates,
|
|
32
|
+
iconVisibleStates
|
|
33
|
+
])));
|
|
29
34
|
//# sourceMappingURL=button-matrix.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-matrix.stories.js","sourceRoot":"","sources":["../../../../src/button/tests/button-matrix.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAgB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"button-matrix.stories.js","sourceRoot":"","sources":["../../../../src/button/tests/button-matrix.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAgB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACH,cAAc,EAEd,iBAAiB,EAEjB,YAAY,EACZ,YAAY,EACf,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,UAAU,CAAC;AAClB,OAAO,4BAA4B,CAAC;AAEpC,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;QACD,QAAQ,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE;KAC5C;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CACvC,IAAI,CAAA,+CAA+C,CACtD,CAAC;AACF,MAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAGhF,kBAAkB;AAClB,MAAM,SAAS,GAAG,CACd,CAAC,YAAY,EAAE,QAAQ,CAAgB,EACvC,CAAC,cAAc,EAAE,UAAU,CAAkB,EAC7C,WAA6B,EACjB,EAAE,CAAC,IAAI,CAAA;iCACU,GAAG,EAAE,CAAC,UAAU,eAAe,GAAG,EAAE,CAAC,QAAQ;UACpE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,CAAA,2DAA2D,CAAC;UACxF,GAAG,EAAE,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,WAAW,YAAY,EAAE,CAAC;;CAE/F,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAU,cAAc,CAClD,YAAY,CACR,YAAY,CAAC,SAAS,EAAE;IACpB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CACpB,CAAC,CACL,CACJ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { withXD } from 'storybook-addon-xd-designs';
|
|
2
|
-
import { controlsSearch16X16 } from '@ni/nimble-tokens/dist-icons-esm/nimble-icons-inline';
|
|
3
2
|
import { html, when } from '@microsoft/fast-element';
|
|
4
3
|
import { ButtonAppearance } from '../types';
|
|
5
4
|
import '../index';
|
|
5
|
+
import '../../icons/access-control';
|
|
6
6
|
import { createRenderer } from '../../tests/utilities/storybook-test-helpers';
|
|
7
7
|
const metadata = {
|
|
8
8
|
title: 'Button',
|
|
@@ -24,7 +24,7 @@ const metadata = {
|
|
|
24
24
|
// prettier-ignore
|
|
25
25
|
render: createRenderer(html `
|
|
26
26
|
<nimble-button ?disabled="${x => x.disabled}" appearance="${x => x.appearance}">
|
|
27
|
-
${when(x => x.icon, html `<
|
|
27
|
+
${when(x => x.icon, html `<nimble-access-control-icon></nimble-access-control-icon>`)}
|
|
28
28
|
${x => x.label}
|
|
29
29
|
</nimble-button>
|
|
30
30
|
`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../../../src/button/tests/button.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../../../src/button/tests/button.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,UAAU,CAAC;AAClB,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAS9E,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;QACD,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,OAAO,CAAC;SACrB;KACJ;IACD,QAAQ,EAAE;QACN,UAAU,EAAE;YACR,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACxC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7B;KACJ;IACD,kBAAkB;IAClB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAA;oCACK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;cACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAA,2DAA2D,CAAC;cAClF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;;CAEzB,CAAC;IACE,IAAI,EAAE;QACF,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,KAAK;KAClB;CACJ,CAAC;AAEF,eAAe,QAAQ,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,CAAC,OAAO,EAAE;CAC1E,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE;CACtE,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE;CACtE,CAAC"}
|
|
@@ -6,7 +6,7 @@ const nimbleCheckbox = FoundationCheckbox.compose({
|
|
|
6
6
|
baseName: 'checkbox',
|
|
7
7
|
template,
|
|
8
8
|
styles,
|
|
9
|
-
checkedIndicator:
|
|
9
|
+
checkedIndicator: controlsCheckboxCheck16X16.data
|
|
10
10
|
});
|
|
11
11
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,IAAI,kBAAkB,EAE9B,gBAAgB,IAAI,QAAQ,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,CAAC;AAE1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAkB;IAC/D,QAAQ,EAAE,UAAU;IACpB,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,IAAI,kBAAkB,EAE9B,gBAAgB,IAAI,QAAQ,EAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,CAAC;AAE1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAkB;IAC/D,QAAQ,EAAE,UAAU;IACpB,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,0BAA0B,CAAC,IAAI;CACpD,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const animationConfig: {
|
|
2
|
+
slideLeftKeyframes: Keyframe[];
|
|
3
|
+
slideRightKeyframes: Keyframe[];
|
|
4
|
+
fadeOverlayKeyframes: Keyframe[];
|
|
5
|
+
slideInOptions: {
|
|
6
|
+
duration: number;
|
|
7
|
+
easing: string;
|
|
8
|
+
};
|
|
9
|
+
slideOutOptions: {
|
|
10
|
+
duration: number;
|
|
11
|
+
easing: string;
|
|
12
|
+
direction: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const slideLeftKeyframes = [
|
|
2
|
+
{
|
|
3
|
+
transform: 'translateX(-100%)',
|
|
4
|
+
visibility: 'hidden',
|
|
5
|
+
offset: 0
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
transform: 'translateX(-100%)',
|
|
9
|
+
visibility: 'visible',
|
|
10
|
+
offset: 0.01
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
transform: 'translateX(0%)',
|
|
14
|
+
visibility: 'visible',
|
|
15
|
+
offset: 1
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
const slideRightKeyframes = [
|
|
19
|
+
{
|
|
20
|
+
transform: 'translateX(100%)',
|
|
21
|
+
visibility: 'hidden',
|
|
22
|
+
offset: 0
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
transform: 'translateX(100%)',
|
|
26
|
+
visibility: 'visible',
|
|
27
|
+
offset: 0.01
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
transform: 'translateX(0%)',
|
|
31
|
+
visibility: 'visible',
|
|
32
|
+
offset: 1
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
const fadeOverlayKeyframes = [{ opacity: 0 }, { opacity: 1 }];
|
|
36
|
+
const slideInOptions = {
|
|
37
|
+
duration: 1,
|
|
38
|
+
easing: 'ease-out'
|
|
39
|
+
};
|
|
40
|
+
const slideOutOptions = {
|
|
41
|
+
duration: 1,
|
|
42
|
+
easing: 'ease-in',
|
|
43
|
+
direction: 'reverse'
|
|
44
|
+
};
|
|
45
|
+
export const animationConfig = {
|
|
46
|
+
slideLeftKeyframes,
|
|
47
|
+
slideRightKeyframes,
|
|
48
|
+
fadeOverlayKeyframes,
|
|
49
|
+
slideInOptions,
|
|
50
|
+
slideOutOptions
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=animations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animations.js","sourceRoot":"","sources":["../../../src/drawer/animations.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAe;IACnC;QACI,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC;KACZ;IACD;QACI,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,IAAI;KACf;IACD;QACI,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC;KACZ;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAe;IACpC;QACI,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,CAAC;KACZ;IACD;QACI,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,IAAI;KACf;IACD;QACI,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,CAAC;KACZ;CACJ,CAAC;AAEF,MAAM,oBAAoB,GAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1E,MAAM,cAAc,GAAG;IACnB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,eAAe,GAAG;IACpB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,cAAc;IACd,eAAe;CAClB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Dialog as FoundationDialog } from '@microsoft/fast-foundation';
|
|
2
|
+
import { DrawerLocation, DrawerState } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Drawer/Sidenav control. Shows content in a panel on the left / right side of the screen,
|
|
5
|
+
* which animates to be visible with a slide-in / slide-out animation.
|
|
6
|
+
* Configured via 'location', 'state', 'modal', 'preventDismiss' properties.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Drawer extends FoundationDialog {
|
|
9
|
+
location: DrawerLocation;
|
|
10
|
+
state: DrawerState;
|
|
11
|
+
/**
|
|
12
|
+
* True to prevent dismissing the drawer when the overlay outside the drawer is clicked.
|
|
13
|
+
* Only applicable when 'modal' is set to true (i.e. when the overlay is used).
|
|
14
|
+
* HTML Attribute: prevent-dismiss
|
|
15
|
+
*/
|
|
16
|
+
preventDismiss: boolean;
|
|
17
|
+
private readonly propertiesToWatch;
|
|
18
|
+
private propertyChangeNotifier?;
|
|
19
|
+
private animationDurationMilliseconds;
|
|
20
|
+
private animationGroup?;
|
|
21
|
+
private animationsEnabledChangedHandler?;
|
|
22
|
+
private prefersReducedMotionMediaQuery?;
|
|
23
|
+
private propertyChangeSubscriber?;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
disconnectedCallback(): void;
|
|
26
|
+
show(): void;
|
|
27
|
+
hide(): void;
|
|
28
|
+
dismiss(): void;
|
|
29
|
+
private onPropertyChange;
|
|
30
|
+
private onHiddenChanged;
|
|
31
|
+
private onLocationChanged;
|
|
32
|
+
private onStateChanged;
|
|
33
|
+
private updateAnimationDuration;
|
|
34
|
+
private animateOpening;
|
|
35
|
+
private animateClosing;
|
|
36
|
+
private animateOpenClose;
|
|
37
|
+
private cancelCurrentAnimation;
|
|
38
|
+
}
|
|
39
|
+
export declare const nimbleDrawer: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<import("@microsoft/fast-foundation").FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<import("@microsoft/fast-foundation").FoundationElementDefinition, typeof Drawer>;
|
|
@@ -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 { animationConfig } from './animations';
|
|
7
|
+
import { styles } from './styles';
|
|
8
|
+
import { DrawerLocation, DrawerState } from './types';
|
|
9
|
+
const animationDurationWhenDisabledMilliseconds = 0.001;
|
|
10
|
+
/**
|
|
11
|
+
* Drawer/Sidenav control. Shows content in a panel on the left / right side of the screen,
|
|
12
|
+
* which animates to be visible with a slide-in / slide-out animation.
|
|
13
|
+
* Configured via 'location', 'state', 'modal', 'preventDismiss' properties.
|
|
14
|
+
*/
|
|
15
|
+
export class Drawer extends FoundationDialog {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.location = DrawerLocation.Left;
|
|
19
|
+
this.state = DrawerState.Closed;
|
|
20
|
+
/**
|
|
21
|
+
* True to prevent dismissing the drawer when the overlay outside the drawer is clicked.
|
|
22
|
+
* Only applicable when 'modal' is set to true (i.e. when the overlay is used).
|
|
23
|
+
* HTML Attribute: prevent-dismiss
|
|
24
|
+
*/
|
|
25
|
+
this.preventDismiss = false;
|
|
26
|
+
this.propertiesToWatch = ['hidden', 'location', 'state'];
|
|
27
|
+
this.animationDurationMilliseconds = animationDurationWhenDisabledMilliseconds;
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
// disable trapFocus before super.connectedCallback as FAST Dialog will immediately queue work to
|
|
31
|
+
// change focus if it's true before connectedCallback
|
|
32
|
+
this.trapFocus = false;
|
|
33
|
+
super.connectedCallback();
|
|
34
|
+
this.prefersReducedMotionMediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
35
|
+
this.updateAnimationDuration();
|
|
36
|
+
this.animationsEnabledChangedHandler = () => this.updateAnimationDuration();
|
|
37
|
+
this.prefersReducedMotionMediaQuery.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.prefersReducedMotionMediaQuery
|
|
56
|
+
&& this.animationsEnabledChangedHandler) {
|
|
57
|
+
this.prefersReducedMotionMediaQuery.removeEventListener('change', this.animationsEnabledChangedHandler);
|
|
58
|
+
this.prefersReducedMotionMediaQuery = undefined;
|
|
59
|
+
this.animationsEnabledChangedHandler = undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
show() {
|
|
63
|
+
// Not calling super.show() as that will immediately show the drawer, whereas 'Opening' state will animate
|
|
64
|
+
this.state = DrawerState.Opening;
|
|
65
|
+
}
|
|
66
|
+
hide() {
|
|
67
|
+
// Not calling super.hide() as that will immediately hide the drawer, whereas 'Closing' state will animate
|
|
68
|
+
this.state = DrawerState.Closing;
|
|
69
|
+
}
|
|
70
|
+
dismiss() {
|
|
71
|
+
if (!this.preventDismiss) {
|
|
72
|
+
super.dismiss();
|
|
73
|
+
this.hide();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
onPropertyChange(propertyName) {
|
|
77
|
+
switch (propertyName) {
|
|
78
|
+
case 'hidden':
|
|
79
|
+
this.onHiddenChanged();
|
|
80
|
+
break;
|
|
81
|
+
case 'location':
|
|
82
|
+
this.onLocationChanged();
|
|
83
|
+
break;
|
|
84
|
+
case 'state':
|
|
85
|
+
this.onStateChanged();
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
onHiddenChanged() {
|
|
92
|
+
if (this.hidden && this.state !== DrawerState.Closed) {
|
|
93
|
+
this.state = DrawerState.Closed;
|
|
94
|
+
}
|
|
95
|
+
else if (!this.hidden && this.state === DrawerState.Closed) {
|
|
96
|
+
this.state = DrawerState.Opened;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
onLocationChanged() {
|
|
100
|
+
this.cancelCurrentAnimation();
|
|
101
|
+
}
|
|
102
|
+
onStateChanged() {
|
|
103
|
+
if (this.isConnected) {
|
|
104
|
+
this.cancelCurrentAnimation();
|
|
105
|
+
switch (this.state) {
|
|
106
|
+
case DrawerState.Opening:
|
|
107
|
+
this.animateOpening();
|
|
108
|
+
this.hidden = false;
|
|
109
|
+
break;
|
|
110
|
+
case DrawerState.Opened:
|
|
111
|
+
this.hidden = false;
|
|
112
|
+
break;
|
|
113
|
+
case DrawerState.Closing:
|
|
114
|
+
this.hidden = false;
|
|
115
|
+
this.animateClosing();
|
|
116
|
+
break;
|
|
117
|
+
case DrawerState.Closed:
|
|
118
|
+
this.hidden = true;
|
|
119
|
+
break;
|
|
120
|
+
default:
|
|
121
|
+
throw new Error('Unsupported state value. Expected: opening/opened/closing/closed');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
updateAnimationDuration() {
|
|
126
|
+
const disableAnimations = this.prefersReducedMotionMediaQuery?.matches;
|
|
127
|
+
this.animationDurationMilliseconds = disableAnimations
|
|
128
|
+
? animationDurationWhenDisabledMilliseconds
|
|
129
|
+
: drawerAnimationDurationMs.getValueFor(this);
|
|
130
|
+
}
|
|
131
|
+
animateOpening() {
|
|
132
|
+
this.animateOpenClose(true);
|
|
133
|
+
}
|
|
134
|
+
animateClosing() {
|
|
135
|
+
if (!this.hidden) {
|
|
136
|
+
this.animateOpenClose(false);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.state = DrawerState.Closed;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
animateOpenClose(drawerOpening) {
|
|
143
|
+
const options = {
|
|
144
|
+
...(drawerOpening
|
|
145
|
+
? animationConfig.slideInOptions
|
|
146
|
+
: animationConfig.slideOutOptions),
|
|
147
|
+
duration: this.animationDurationMilliseconds
|
|
148
|
+
};
|
|
149
|
+
const drawerKeyframes = this.location === DrawerLocation.Right
|
|
150
|
+
? animationConfig.slideRightKeyframes
|
|
151
|
+
: animationConfig.slideLeftKeyframes;
|
|
152
|
+
const dialogAnimation = new AnimateTo(this.dialog, undefined, options);
|
|
153
|
+
dialogAnimation.addKeyframes(drawerKeyframes);
|
|
154
|
+
const animations = [dialogAnimation];
|
|
155
|
+
const overlay = this.shadowRoot?.querySelector('.overlay');
|
|
156
|
+
if (overlay) {
|
|
157
|
+
const overlayAnimation = new AnimateTo(overlay, undefined, options);
|
|
158
|
+
overlayAnimation.addKeyframes(animationConfig.fadeOverlayKeyframes);
|
|
159
|
+
animations.push(overlayAnimation);
|
|
160
|
+
}
|
|
161
|
+
const animationGroup = new AnimateGroup(animations);
|
|
162
|
+
animationGroup.onFinish = () => {
|
|
163
|
+
this.state = drawerOpening
|
|
164
|
+
? DrawerState.Opened
|
|
165
|
+
: DrawerState.Closed;
|
|
166
|
+
};
|
|
167
|
+
this.animationGroup = animationGroup;
|
|
168
|
+
animationGroup.play();
|
|
169
|
+
}
|
|
170
|
+
cancelCurrentAnimation() {
|
|
171
|
+
this.animationGroup?.cancel();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
__decorate([
|
|
175
|
+
attr
|
|
176
|
+
], Drawer.prototype, "location", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
attr
|
|
179
|
+
], Drawer.prototype, "state", void 0);
|
|
180
|
+
__decorate([
|
|
181
|
+
attr({ attribute: 'prevent-dismiss', mode: 'boolean' })
|
|
182
|
+
], Drawer.prototype, "preventDismiss", void 0);
|
|
183
|
+
export const nimbleDrawer = Drawer.compose({
|
|
184
|
+
baseName: 'drawer',
|
|
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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { display } from '@microsoft/fast-foundation';
|
|
3
|
+
import { applicationBackgroundColor, borderWidth, contentFontSize, drawerHeaderFontFamily, drawerHeaderFontSize, fontFamily, labelFontColor, popupBorderColor, popupBoxShadowColor } from '../theme-provider/design-tokens';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
${display('block')} :host {
|
|
6
|
+
position: absolute;
|
|
7
|
+
top: 0;
|
|
8
|
+
bottom: 0;
|
|
9
|
+
width: fit-content;
|
|
10
|
+
height: 100%;
|
|
11
|
+
outline: none;
|
|
12
|
+
font-family: ${fontFamily};
|
|
13
|
+
font-size: ${contentFontSize};
|
|
14
|
+
color: ${labelFontColor};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
:host([location='left']) {
|
|
18
|
+
left: 0px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host([location='right']) {
|
|
22
|
+
right: 0px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.positioning-region {
|
|
26
|
+
display: block;
|
|
27
|
+
position: relative;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
width: fit-content;
|
|
30
|
+
height: 100%;
|
|
31
|
+
inset: 0px;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
z-index: 999;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host([modal]) .positioning-region {
|
|
37
|
+
width: 100%;
|
|
38
|
+
position: fixed;
|
|
39
|
+
display: flex;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.overlay {
|
|
43
|
+
position: fixed;
|
|
44
|
+
inset: 0px;
|
|
45
|
+
background: ${popupBorderColor};
|
|
46
|
+
touch-action: none;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.control {
|
|
50
|
+
position: relative;
|
|
51
|
+
top: 0px;
|
|
52
|
+
bottom: 0px;
|
|
53
|
+
width: fit-content;
|
|
54
|
+
height: 100%;
|
|
55
|
+
display: grid;
|
|
56
|
+
grid-template-rows: max-content auto max-content;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
box-sizing: border-box;
|
|
59
|
+
border-radius: 0px;
|
|
60
|
+
border-width: 0px;
|
|
61
|
+
width: var(--drawer-width);
|
|
62
|
+
background-color: ${applicationBackgroundColor};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host([modal]) .control {
|
|
66
|
+
position: absolute;
|
|
67
|
+
height: 100%;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
:host(.hidden) .control {
|
|
71
|
+
visibility: hidden;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:host([location='left']) .control {
|
|
75
|
+
left: 0px;
|
|
76
|
+
border-right: ${borderWidth} solid ${popupBoxShadowColor};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:host([location='right']) .control {
|
|
80
|
+
right: 0px;
|
|
81
|
+
border-left: ${borderWidth} solid ${popupBoxShadowColor};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
${
|
|
85
|
+
/*
|
|
86
|
+
Styling for a 3-panel drawer with header, footer, and a content
|
|
87
|
+
region filling the remaining space/height
|
|
88
|
+
*/ ''}
|
|
89
|
+
|
|
90
|
+
::slotted(header) {
|
|
91
|
+
padding: var(--standard-padding);
|
|
92
|
+
font-family: ${drawerHeaderFontFamily};
|
|
93
|
+
font-size: ${drawerHeaderFontSize};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
::slotted(section) {
|
|
97
|
+
padding: var(--standard-padding);
|
|
98
|
+
grid-row: 2;
|
|
99
|
+
overflow-y: auto;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
::slotted(footer) {
|
|
103
|
+
padding: var(--standard-padding);
|
|
104
|
+
display: flex;
|
|
105
|
+
justify-content: flex-end;
|
|
106
|
+
border-top: ${borderWidth} solid ${popupBorderColor};
|
|
107
|
+
}
|
|
108
|
+
`;
|
|
109
|
+
//# 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,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,OAAO,CAAC;;;;;;;uBAOC,UAAU;qBACZ,eAAe;iBACnB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA+BT,gBAAgB;;;;;;;;;;;;;;;;;4BAiBV,0BAA0B;;;;;;;;;;;;;;wBAc9B,WAAW,UAAU,mBAAmB;;;;;uBAKzC,WAAW,UAAU,mBAAmB;;;MAGzD;AACE;;;EAGE,CAAC,EACP;;;;uBAImB,sBAAsB;qBACxB,oBAAoB;;;;;;;;;;;;;sBAanB,WAAW,UAAU,gBAAgB;;CAE1D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, Story } from '@storybook/html';
|
|
2
|
+
import '../index';
|
|
3
|
+
declare const metadata: Meta;
|
|
4
|
+
export default metadata;
|
|
5
|
+
export declare const drawerLightThemeWhiteBackground: Story;
|
|
6
|
+
export declare const drawerColorThemeGreenBackground: Story;
|
|
7
|
+
export declare const drawerColorThemeDarkGreenBackground: Story;
|
|
8
|
+
export declare const drawerDarkThemeBlackBackground: Story;
|
|
9
|
+
export declare const drawerLegacyBlueThemeWhiteBackground: Story;
|