@nanoporetech-digital/components 8.1.1 → 8.3.0
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/cjs/{fade-DiBAr_-0.js → fade-Cvsqaxtn.js} +1 -1
- package/dist/cjs/{fullscreen-DiSrws4D.js → fullscreen-BtSF9KqT.js} +1 -1
- package/dist/cjs/index-Bp8uD6Gl.js +8 -0
- package/dist/cjs/{lazyload-CilBX2zO.js → lazyload-DxM1Zo3E.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{local-logged-in-CX0THX6r.js → local-logged-in-CLtc2TZa.js} +1 -1
- package/dist/cjs/{local-logged-out-C-cPz-8v.js → local-logged-out-Ao69_vQl.js} +1 -1
- package/dist/cjs/nano-avatar_5.cjs.entry.js +7 -7
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +29 -26
- package/dist/cjs/nano-global-nav.cjs.entry.js +3 -3
- package/dist/cjs/nano-icon_3.cjs.entry.js +3 -3
- package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
- package/dist/cjs/nano-increment.cjs.entry.js +81 -0
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +1 -1
- package/dist/cjs/nano-masked-overflow.cjs.entry.js +3 -3
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +6 -3
- package/dist/cjs/nano-more-less.cjs.entry.js +2 -2
- package/dist/cjs/nano-option-box.cjs.entry.js +17 -0
- package/dist/cjs/nano-rating.cjs.entry.js +4 -4
- package/dist/cjs/nano-resize-observe.cjs.entry.js +2 -2
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/{nano-slides-CFlLOF1V.js → nano-slides-DLbZhf2H.js} +7 -7
- package/dist/cjs/nano-slides.cjs.entry.js +1 -1
- package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-table.cjs.entry.js +2 -2
- package/dist/cjs/{page-dots-B69b5Pqb.js → page-dots-DpnNe0bi.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/global-nav/assets/local-logged-in.json +1 -1
- package/dist/collection/components/global-nav/assets/local-logged-out.json +1 -1
- package/dist/collection/components/global-nav/global-nav.css +1 -0
- package/dist/collection/components/icon-button/icon-button.css +1 -1
- package/dist/collection/components/in-page-nav/in-page-nav.js +2 -2
- package/dist/collection/components/increment/increment.css +102 -0
- package/dist/collection/components/increment/increment.js +97 -0
- package/dist/collection/components/input/input.js +30 -27
- package/dist/collection/components/intersection-observe/intersection-observe.js +1 -1
- package/dist/collection/components/masked-overflow/masked-overflow.js +3 -3
- package/dist/collection/components/menu-drawer/menu-drawer.css +11 -7
- package/dist/collection/components/menu-drawer/menu-drawer.js +7 -3
- package/dist/collection/components/more-less/more-less.js +2 -2
- package/dist/collection/components/option-box/option-box.css +41 -0
- package/dist/collection/components/option-box/option-box.js +25 -0
- package/dist/collection/components/rating/rating.js +4 -4
- package/dist/collection/components/resize-observe/resize-observe.js +2 -2
- package/dist/collection/components/select/select.js +7 -7
- package/dist/collection/components/slides/slide.js +1 -1
- package/dist/collection/components/slides/slides.js +3 -3
- package/dist/collection/components/sortable/sortable.js +1 -1
- package/dist/collection/components/sticker/sticker.js +2 -2
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/tabs/tab-content.js +2 -2
- package/dist/collection/components/tabs/tab.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/components/icon-button.js +1 -1
- package/dist/components/input.js +39 -36
- package/dist/components/local-logged-in.js +1 -1
- package/dist/components/local-logged-out.js +1 -1
- package/dist/components/masked-overflow.js +3 -3
- package/dist/components/nano-global-nav.js +1 -1
- package/dist/components/nano-in-page-nav.js +1 -1
- package/dist/components/nano-increment.d.ts +11 -0
- package/dist/components/nano-increment.js +119 -0
- package/dist/components/nano-intersection-observe.js +1 -1
- package/dist/components/nano-menu-drawer.js +8 -4
- package/dist/components/nano-more-less.js +2 -2
- package/dist/components/nano-option-box.d.ts +11 -0
- package/dist/components/nano-option-box.js +32 -0
- package/dist/components/nano-rating.js +4 -4
- package/dist/components/nano-slide.js +1 -1
- package/dist/components/nano-sortable.js +1 -1
- package/dist/components/nano-tab-content.js +2 -2
- package/dist/components/nano-tab.js +2 -2
- package/dist/components/nano-table.js +2 -2
- package/dist/components/resize-observe.js +2 -2
- package/dist/components/select.js +7 -7
- package/dist/components/slides.js +3 -3
- package/dist/components/sticker.js +2 -2
- package/dist/components/tooltip.js +2 -2
- package/dist/esm/{fade-CJJNY8cW.js → fade-M1mjf4zm.js} +1 -1
- package/dist/esm/{fullscreen-kmgJDkI-.js → fullscreen-BJlrN4_5.js} +1 -1
- package/dist/esm/index-DgO0qeQ9.js +8 -0
- package/dist/esm/{lazyload-DqTFDE4y.js → lazyload-B6FI3nbb.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{local-logged-in-Bycp-mPl.js → local-logged-in-Bh5fOkeO.js} +1 -1
- package/dist/esm/{local-logged-out-BhOAka-2.js → local-logged-out-BQyUtSml.js} +1 -1
- package/dist/esm/nano-avatar_5.entry.js +7 -7
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-date-picker_2.entry.js +29 -26
- package/dist/esm/nano-global-nav.entry.js +3 -3
- package/dist/esm/nano-icon_3.entry.js +3 -3
- package/dist/esm/nano-in-page-nav.entry.js +1 -1
- package/dist/esm/nano-increment.entry.js +79 -0
- package/dist/esm/nano-intersection-observe.entry.js +1 -1
- package/dist/esm/nano-masked-overflow.entry.js +3 -3
- package/dist/esm/nano-menu-drawer.entry.js +6 -3
- package/dist/esm/nano-more-less.entry.js +2 -2
- package/dist/esm/nano-option-box.entry.js +15 -0
- package/dist/esm/nano-rating.entry.js +4 -4
- package/dist/esm/nano-resize-observe.entry.js +2 -2
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/{nano-slides-Bdq8L4lE.js → nano-slides-CI0F1FDY.js} +7 -7
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-sortable.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-tab-content.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-table.entry.js +2 -2
- package/dist/esm/{page-dots-BBtKwJtf.js → page-dots-BsFo0sLb.js} +1 -1
- package/dist/nano-assets/hash.txt +1 -1
- package/dist/nano-assets/local-logged-in.json +1 -1
- package/dist/nano-assets/local-logged-out.json +1 -1
- package/dist/nano-components/assets/local-logged-in.json +1 -1
- package/dist/nano-components/assets/local-logged-out.json +1 -1
- package/dist/nano-components/{fade-CJJNY8cW.js → fade-M1mjf4zm.js} +1 -1
- package/dist/nano-components/{fullscreen-kmgJDkI-.js → fullscreen-BJlrN4_5.js} +1 -1
- package/dist/nano-components/{lazyload-DqTFDE4y.js → lazyload-B6FI3nbb.js} +1 -1
- package/dist/nano-components/{local-logged-in-Bycp-mPl.js → local-logged-in-Bh5fOkeO.js} +1 -1
- package/dist/nano-components/{local-logged-out-BhOAka-2.js → local-logged-out-BQyUtSml.js} +1 -1
- package/dist/nano-components/nano-avatar_5.entry.js +1 -1
- package/dist/nano-components/nano-components.css +203 -10
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
- package/dist/nano-components/nano-global-nav.entry.js +1 -1
- package/dist/nano-components/nano-icon_3.entry.js +1 -1
- package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
- package/dist/nano-components/nano-increment.entry.js +4 -0
- package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
- package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
- package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
- package/dist/nano-components/nano-more-less.entry.js +1 -1
- package/dist/nano-components/nano-option-box.entry.js +4 -0
- package/dist/nano-components/nano-rating.entry.js +1 -1
- package/dist/nano-components/nano-resize-observe.entry.js +1 -1
- package/dist/nano-components/nano-slide.entry.js +1 -1
- package/dist/nano-components/{nano-slides-Bdq8L4lE.js → nano-slides-CI0F1FDY.js} +2 -2
- package/dist/nano-components/nano-slides.entry.js +1 -1
- package/dist/nano-components/nano-sortable.entry.js +1 -1
- package/dist/nano-components/nano-sticker.entry.js +1 -1
- package/dist/nano-components/nano-tab-content.entry.js +1 -1
- package/dist/nano-components/nano-tab.entry.js +1 -1
- package/dist/nano-components/nano-table.entry.js +1 -1
- package/dist/nano-components/{page-dots-BBtKwJtf.js → page-dots-BsFo0sLb.js} +1 -1
- package/dist/style/components.css +1 -1
- package/dist/style/components.css.map +1 -1
- package/dist/style/nano.css +1 -1
- package/dist/style/nano.css.map +1 -1
- package/dist/types/components/in-page-nav/in-page-nav.d.ts +1 -1
- package/dist/types/components/increment/increment.d.ts +19 -0
- package/dist/types/components/input/input.d.ts +6 -2
- package/dist/types/components/menu-drawer/menu-drawer.d.ts +1 -0
- package/dist/types/components/option-box/option-box.d.ts +14 -0
- package/dist/types/components.d.ts +70 -4
- package/dist/wdio.conf.js +2 -2
- package/docs-json.json +117 -4
- package/docs-vscode.json +18 -2
- package/hydrate/index.js +196 -70
- package/hydrate/index.mjs +196 -70
- package/package.json +2 -2
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/builds/{W1hp42tj → uSGJX_GU}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -24,10 +24,10 @@ const NanoTabContent = class {
|
|
24
24
|
requestAnimationFrame(() => (this.ready = true));
|
25
25
|
}
|
26
26
|
render() {
|
27
|
-
return (renderer.h(index.Host, { key: '
|
27
|
+
return (renderer.h(index.Host, { key: 'f182a99dab031220a40b2c5125d3229b8bacca1c', id: this.host.id || this.tabContentId, style: { display: this.active ? 'block' : 'none' }, role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true', class: {
|
28
28
|
ready: this.ready,
|
29
29
|
'nano-tab-content': true,
|
30
|
-
} }, renderer.h("div", { key: '
|
30
|
+
} }, renderer.h("div", { key: '47b383859162b6a64518273a9057464de1d37479', part: "base", class: "nano-tab-content" }, renderer.h("slot", { key: '3f908fec081c956f9ffd8d7de5e0f45b5e193a8c' }))));
|
31
31
|
}
|
32
32
|
};
|
33
33
|
NanoTabContent.style = tabContentCss;
|
@@ -46,12 +46,12 @@ const NanoTab = class {
|
|
46
46
|
}
|
47
47
|
};
|
48
48
|
render() {
|
49
|
-
return (renderer.h(index.Host, { key: '
|
49
|
+
return (renderer.h(index.Host, { key: '7eca94a330509cbd3c6d232444fbcde422b755a6', id: this.host.id || this.tabId, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', class: "nano-tab" }, renderer.h("div", { key: 'fca6ace8b5fc9c0142fcd04d70cb475323d8ef9d', part: `base${this.active ? ' base--active' : ''}${this.disabled ? ' base--disabled' : ''}${this.closable ? ' base--closable' : ''}`, class: {
|
50
50
|
tab: true,
|
51
51
|
'tab--active': this.active,
|
52
52
|
'tab--disabled': this.disabled,
|
53
53
|
'tab--closable': this.closable,
|
54
|
-
} }, renderer.h("slot", { key: '
|
54
|
+
} }, renderer.h("slot", { key: '3693ff8719b24c34db9018941daab7c840434502', name: "start" }), renderer.h("div", { key: 'c792fce22a28175e32f7e0b23a1a62f799016c76', part: "label", ref: (el) => (this.tab = el), tabindex: this.disabled || !this.active ? '-1' : '0', class: "tab__label" }, renderer.h("slot", { key: '76b725cd050993d377bf5c7208ce5b7fdf224136' })), renderer.h("slot", { key: 'f7bd50a43bb64b67b2ce181bf9215ada4c0ccd12', name: "end" }), this.closable && !this.disabled && (renderer.h("nano-icon-button", { key: '96f6bddd3dee12d2e8adeb7a59f98d0cfe8b9c82', label: "Close this tab", iconName: "light/xmark", class: "tab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-button" })))));
|
55
55
|
}
|
56
56
|
};
|
57
57
|
NanoTab.style = tabCss;
|
@@ -224,10 +224,10 @@ const NanoTable = class {
|
|
224
224
|
this.cleanUpObservers();
|
225
225
|
}
|
226
226
|
render() {
|
227
|
-
return (renderer.h(index.Host, { key: '
|
227
|
+
return (renderer.h(index.Host, { key: '61967ae8d9228be1374d9a4ee4e08b286cd4dd57', class: {
|
228
228
|
'nano-table': true,
|
229
229
|
'nano-table--props-ready': this.propsReady,
|
230
|
-
} }, this.scrollable && (renderer.h("nano-masked-overflow", { key: '
|
230
|
+
} }, this.scrollable && (renderer.h("nano-masked-overflow", { key: 'eca1991383ebca49f6032066078f02b62c839d6c', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, renderer.h("div", { key: 'f3bcb6830439858393c1eda96d68c2c5ccadd15a', class: "nano-table__overflow" }))), renderer.h("slot", { key: '7662741dcb672f75bae03c16b5745ff4946f12f7' })));
|
231
231
|
}
|
232
232
|
static get watchers() { return {
|
233
233
|
"compact": ["handleCompactChange"],
|
@@ -43,10 +43,12 @@
|
|
43
43
|
"components/icon-item/icon-item.js",
|
44
44
|
"components/img/img.js",
|
45
45
|
"components/in-page-nav/in-page-nav.js",
|
46
|
+
"components/increment/increment.js",
|
46
47
|
"components/intersection-observe/intersection-observe.js",
|
47
48
|
"components/masked-overflow/masked-overflow.js",
|
48
49
|
"components/menu-drawer/menu-drawer.js",
|
49
50
|
"components/more-less/more-less.js",
|
51
|
+
"components/option-box/option-box.js",
|
50
52
|
"components/progress-bar/progress-bar.js",
|
51
53
|
"components/range/range.js",
|
52
54
|
"components/rating/rating.js",
|
@@ -89,7 +89,7 @@ export class NanoBreadcrumb {
|
|
89
89
|
"references": {
|
90
90
|
"Breadcrumb": {
|
91
91
|
"location": "local",
|
92
|
-
"path": "/builds/
|
92
|
+
"path": "/builds/uSGJX_GU/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
|
93
93
|
"id": "src/components/breadcrumb/breadcrumb.tsx::Breadcrumb"
|
94
94
|
}
|
95
95
|
}
|
@@ -96,7 +96,7 @@
|
|
96
96
|
},
|
97
97
|
"search": {
|
98
98
|
"app_id": "N8NZI5A47F",
|
99
|
-
"api_key": "
|
99
|
+
"api_key": "MDQ0OWZiMzhmZjI4YmZmMmIzY2NhNzI3NGU4Yjc5YWVhNmExMzcxNDRlZTNlN2U2NGEwNzRlZmJjZTZkZmExZWZpbHRlcnM9JTI4JTI3cmVnaW9uJTI3JTNBJTI3dXMlMjcrT1IrJTI3cmVnaW9uJTI3JTNBJTI3YW55JTI3JTI5K0FORCslMjhOT1QrJTI3dHlwZSUyNyUzQSUyN3doaXRlX3BhcGVyJTI3JTI5K0FORCslMjhOT1QrJTI3b3JpZ2luJTI3JTNBJTI3Y29tbXVuaXR5JTI3JTI5JnZhbGlkVW50aWw9MTc1NTk0Mzc5MA==",
|
100
100
|
"indeces": [
|
101
101
|
{
|
102
102
|
"index": "ont_prod_en_v3",
|
@@ -92,7 +92,7 @@
|
|
92
92
|
},
|
93
93
|
"search": {
|
94
94
|
"app_id": "N8NZI5A47F",
|
95
|
-
"api_key": "
|
95
|
+
"api_key": "MDQ0OWZiMzhmZjI4YmZmMmIzY2NhNzI3NGU4Yjc5YWVhNmExMzcxNDRlZTNlN2U2NGEwNzRlZmJjZTZkZmExZWZpbHRlcnM9JTI4JTI3cmVnaW9uJTI3JTNBJTI3dXMlMjcrT1IrJTI3cmVnaW9uJTI3JTNBJTI3YW55JTI3JTI5K0FORCslMjhOT1QrJTI3dHlwZSUyNyUzQSUyN3doaXRlX3BhcGVyJTI3JTI5K0FORCslMjhOT1QrJTI3b3JpZ2luJTI3JTNBJTI3Y29tbXVuaXR5JTI3JTI5JnZhbGlkVW50aWw9MTc1NTk0Mzc5MA==",
|
96
96
|
"indeces": [
|
97
97
|
{
|
98
98
|
"index": "ont_prod_en_v3",
|
@@ -5,7 +5,7 @@ import { Host, } from "@stencil/core";
|
|
5
5
|
import { h } from "../../utils/renderer";
|
6
6
|
import { HasSlotController } from "../../utils/slot";
|
7
7
|
import { getDirectChildren } from "../../utils/dom";
|
8
|
-
|
8
|
+
/**
|
9
9
|
* In-page navigation allows users to quickly find different sections on a page.
|
10
10
|
*
|
11
11
|
* @status new
|
@@ -58,7 +58,7 @@ export class NanoInPageNav {
|
|
58
58
|
return node;
|
59
59
|
}
|
60
60
|
render() {
|
61
|
-
return (h(Host, { key: '
|
61
|
+
return (h(Host, { key: '5fc7993edd48363da225ffce7e8d3dad8689e761', class: "nano-in-page-nav" }, h("nav", { key: '4cc75849661bb1e2fd144ac075a693ce9e5af58f', part: "root" }, (this.slotCtrl.has('back') || this.slotCtrl.has('accessory')) && (h("div", { key: '286df7a444423180967750017575414cce154b0d', class: "header" }, h("slot", { key: '255d81a0c2d26b0069a83a08e552e6afeb035295', name: "back" }), h("slot", { key: 'c939561b8be1b4a479e1f0c01684f5dd0a3014ce', name: "accessory" }))), h("div", { key: '411231a64e23575d76722f59446567f5cd68575e', class: "desktop-nav" }, h("slot", { key: '892a93de5de705e392b687ee62ab89c17bcc349a' })), h("nano-details", { key: '34d89f9f7927db1cb817124cf0d053f88963484c', label: "Menu", class: "details-wrapper mobile-nav", ref: (el) => (this.mobileNavWrapper = el) }))));
|
62
62
|
}
|
63
63
|
static get is() { return "nano-in-page-nav"; }
|
64
64
|
static get encapsulation() { return "shadow"; }
|
@@ -0,0 +1,102 @@
|
|
1
|
+
:host,
|
2
|
+
*,
|
3
|
+
*::before,
|
4
|
+
*::after {
|
5
|
+
box-sizing: border-box;
|
6
|
+
}
|
7
|
+
[hidden] {
|
8
|
+
display: none !important;
|
9
|
+
}
|
10
|
+
@media (prefers-reduced-motion: reduce) {
|
11
|
+
:host,
|
12
|
+
*,
|
13
|
+
*::before,
|
14
|
+
*::after {
|
15
|
+
animation-duration: 0.01ms !important;
|
16
|
+
animation-iteration-count: 1 !important;
|
17
|
+
transition-duration: 0.01ms !important;
|
18
|
+
scroll-behavior: auto !important;
|
19
|
+
}
|
20
|
+
}:host,
|
21
|
+
*,
|
22
|
+
*::before,
|
23
|
+
*::after {
|
24
|
+
box-sizing: border-box;
|
25
|
+
}
|
26
|
+
[hidden] {
|
27
|
+
display: none !important;
|
28
|
+
}
|
29
|
+
@media (prefers-reduced-motion: reduce) {
|
30
|
+
:host,
|
31
|
+
*,
|
32
|
+
*::before,
|
33
|
+
*::after {
|
34
|
+
animation-duration: 0.01ms !important;
|
35
|
+
animation-iteration-count: 1 !important;
|
36
|
+
transition-duration: 0.01ms !important;
|
37
|
+
scroll-behavior: auto !important;
|
38
|
+
}
|
39
|
+
}:host {
|
40
|
+
display: inline-block;
|
41
|
+
}
|
42
|
+
|
43
|
+
.root {
|
44
|
+
display: grid;
|
45
|
+
grid-template-columns: min-content auto 1fr;
|
46
|
+
grid-template-rows: max-content max-content;
|
47
|
+
align-items: stretch;
|
48
|
+
}
|
49
|
+
|
50
|
+
::slotted(*) {
|
51
|
+
text-align: center;
|
52
|
+
}
|
53
|
+
|
54
|
+
nano-icon-button {
|
55
|
+
background: var(--nano-color-base-0);
|
56
|
+
color: var(--nano-color-primary-1000);
|
57
|
+
display: flex;
|
58
|
+
border-radius: var(--nano-border-radius-pill);
|
59
|
+
position: relative;
|
60
|
+
z-index: 1;
|
61
|
+
inline-size: fit-content;
|
62
|
+
block-size: 100%;
|
63
|
+
}
|
64
|
+
nano-icon-button:hover {
|
65
|
+
background: var(--nano-color-primary-100);
|
66
|
+
}
|
67
|
+
nano-icon-button:active {
|
68
|
+
background: var(--nano-color-primary-300);
|
69
|
+
}
|
70
|
+
nano-icon-button::part(base) {
|
71
|
+
border: 1px solid var(--nano-color-neutral-300);
|
72
|
+
}
|
73
|
+
nano-icon-button::part(base):focus-visible {
|
74
|
+
outline: var(--nano-focus-ring-color) solid 3px;
|
75
|
+
outline-offset: -2px;
|
76
|
+
}
|
77
|
+
|
78
|
+
.minus {
|
79
|
+
grid-column: 1;
|
80
|
+
grid-row: 1;
|
81
|
+
}
|
82
|
+
.minus nano-icon-button {
|
83
|
+
--padding: 0.4375em 0.625em 0.4375em 1.125em;
|
84
|
+
border-start-end-radius: 0;
|
85
|
+
border-end-end-radius: 0;
|
86
|
+
}
|
87
|
+
.minus nano-icon-button::part(base) {
|
88
|
+
border-inline-end: none;
|
89
|
+
}
|
90
|
+
|
91
|
+
.plus {
|
92
|
+
grid-column: 3;
|
93
|
+
grid-row: 1;
|
94
|
+
}
|
95
|
+
.plus nano-icon-button {
|
96
|
+
--padding: 0.4375em 1.125em 0.4375em 0.625em;
|
97
|
+
border-start-start-radius: 0;
|
98
|
+
border-end-start-radius: 0;
|
99
|
+
}
|
100
|
+
.plus nano-icon-button::part(base) {
|
101
|
+
border-inline-start: none;
|
102
|
+
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
/*!
|
2
|
+
* Custom elements for Nanopore-Digital Web applications
|
3
|
+
*/
|
4
|
+
import { Host, } from "@stencil/core";
|
5
|
+
import { h } from "../../utils/renderer";
|
6
|
+
/**
|
7
|
+
* Increments and decrements a value using an [input](/components/input).
|
8
|
+
*
|
9
|
+
* @status new
|
10
|
+
* @version 8.2.0
|
11
|
+
*/
|
12
|
+
export class NanoIncrement {
|
13
|
+
host;
|
14
|
+
inputElement;
|
15
|
+
ignoreInputChange = false;
|
16
|
+
inputElementChanged(_newValue, oldValue) {
|
17
|
+
if (oldValue) {
|
18
|
+
oldValue.removeEventListener('nanoChange', this.inputChangeHandler);
|
19
|
+
}
|
20
|
+
if (this.inputElement) {
|
21
|
+
this.inputElement.label = this.inputElement.label || 'Increment value';
|
22
|
+
this.inputElement.hideLabel = true;
|
23
|
+
this.inputElement.type = 'number';
|
24
|
+
this.inputElement.max = this.inputElement.max || '10';
|
25
|
+
this.inputElement.min = this.inputElement.min || '0';
|
26
|
+
this.inputElement.step = this.inputElement.step || '1';
|
27
|
+
this.inputElement.value = this.inputElement.value || '0';
|
28
|
+
this.inputElement.addEventListener('nanoChange', this.inputChangeHandler);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
inputChangeHandler = () => {
|
32
|
+
if (!this.ignoreInputChange) {
|
33
|
+
this.ignoreInputChange = true;
|
34
|
+
let value = Number(this.inputElement.value);
|
35
|
+
value = isNaN(value) ? 0 : value;
|
36
|
+
value = Math.max(value, parseFloat(this.inputElement.min) || 0);
|
37
|
+
value = Math.min(value, parseFloat(this.inputElement.max) || Infinity);
|
38
|
+
this.inputElement.value = value.toString();
|
39
|
+
requestAnimationFrame(() => {
|
40
|
+
this.ignoreInputChange = false;
|
41
|
+
});
|
42
|
+
}
|
43
|
+
};
|
44
|
+
handleSlotChange = () => {
|
45
|
+
this.inputElement = this.host.querySelector('nano-input');
|
46
|
+
};
|
47
|
+
handleMinus = () => {
|
48
|
+
if (this.inputElement) {
|
49
|
+
const currentValue = parseFloat(this.inputElement.value) || 0;
|
50
|
+
const step = parseFloat(this.inputElement.step) || 1;
|
51
|
+
const newValue = Math.max(currentValue - step, parseFloat(this.inputElement.min) || 0);
|
52
|
+
this.ignoreInputChange = true;
|
53
|
+
this.inputElement.value = newValue.toString();
|
54
|
+
this.ignoreInputChange = false;
|
55
|
+
}
|
56
|
+
};
|
57
|
+
handlePlus = () => {
|
58
|
+
if (this.inputElement) {
|
59
|
+
const currentValue = parseFloat(this.inputElement.value) || 0;
|
60
|
+
const step = parseFloat(this.inputElement.step) || 1;
|
61
|
+
const newValue = Math.min(currentValue + step, parseFloat(this.inputElement.max) || Infinity);
|
62
|
+
this.ignoreInputChange = true;
|
63
|
+
this.inputElement.value = newValue.toString();
|
64
|
+
this.ignoreInputChange = false;
|
65
|
+
}
|
66
|
+
};
|
67
|
+
componentWillLoad() {
|
68
|
+
this.handleSlotChange();
|
69
|
+
}
|
70
|
+
render() {
|
71
|
+
return (h(Host, { key: 'fab6b5bdecb8ccd3661d7054e08d66a46c2dd0a8', class: "nano-increment" }, h("div", { key: 'c064903981622ce66ac3a19efce6d595d59b7ed0', class: "root" }, h("div", { key: '447735cf16956d0ae172cc2bb1b3a7ffffd7fa0c', class: "minus" }, h("nano-icon-button", { key: '24e73eee061669ea0dd5423bae53886bed60478a', iconName: "light/minus", label: "Decrement", onClick: this.handleMinus })), h("slot", { key: '855358fe5a99004f52432dd42cf8c986f67afe69', onSlotchange: this.handleSlotChange }), h("div", { key: '17b1a5d9988023f4869489beffd697f4329a1d61', class: "plus" }, h("nano-icon-button", { key: '8b2e763e3f871355085e13b20a26f751c153a329', iconName: "light/plus", label: "Increment", onClick: this.handlePlus })))));
|
72
|
+
}
|
73
|
+
static get is() { return "nano-increment"; }
|
74
|
+
static get encapsulation() { return "shadow"; }
|
75
|
+
static get originalStyleUrls() {
|
76
|
+
return {
|
77
|
+
"$": ["increment.scss"]
|
78
|
+
};
|
79
|
+
}
|
80
|
+
static get styleUrls() {
|
81
|
+
return {
|
82
|
+
"$": ["increment.css"]
|
83
|
+
};
|
84
|
+
}
|
85
|
+
static get states() {
|
86
|
+
return {
|
87
|
+
"inputElement": {}
|
88
|
+
};
|
89
|
+
}
|
90
|
+
static get elementRef() { return "host"; }
|
91
|
+
static get watchers() {
|
92
|
+
return [{
|
93
|
+
"propName": "inputElement",
|
94
|
+
"methodName": "inputElementChanged"
|
95
|
+
}];
|
96
|
+
}
|
97
|
+
}
|
@@ -33,6 +33,7 @@ export class Input {
|
|
33
33
|
pickerDropdown;
|
34
34
|
picker;
|
35
35
|
pickerCloseBtn;
|
36
|
+
shouldValidate = false;
|
36
37
|
// we don't want these rendered eles decorated with @State
|
37
38
|
// because that will cause re-renders. User get/set to set datalist options
|
38
39
|
_nativeInputWrap;
|
@@ -211,7 +212,9 @@ export class Input {
|
|
211
212
|
*/
|
212
213
|
step;
|
213
214
|
/**
|
214
|
-
* The initial size of the control. This value is in pixels unless the value of the type attribute
|
215
|
+
* The initial size of the control. This value is in pixels unless the value of the type attribute
|
216
|
+
* is `"text"` or `"password"`, in which case it is an integer number of characters.
|
217
|
+
* This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
|
215
218
|
*/
|
216
219
|
size;
|
217
220
|
/**
|
@@ -245,10 +248,7 @@ export class Input {
|
|
245
248
|
this.nativeInput.setCustomValidity('');
|
246
249
|
}
|
247
250
|
}
|
248
|
-
|
249
|
-
if (this.validateOn === 'dirty')
|
250
|
-
this.validate();
|
251
|
-
});
|
251
|
+
this.shouldValidate = true;
|
252
252
|
}
|
253
253
|
/** Represents the value of the input or NaN if numeric conversion is impossible */
|
254
254
|
get valueAsNumber() {
|
@@ -266,13 +266,10 @@ export class Input {
|
|
266
266
|
* Whether to show a character count / remaining count when using the `maxlength` attribute.
|
267
267
|
*/
|
268
268
|
showCharCount = false;
|
269
|
-
|
269
|
+
handleValidatePropChange() {
|
270
270
|
if (!this.hasRendered)
|
271
271
|
return;
|
272
|
-
|
273
|
-
if (this.validateOn === 'dirty')
|
274
|
-
this.validate();
|
275
|
-
});
|
272
|
+
this.shouldValidate = true;
|
276
273
|
}
|
277
274
|
///// TYPE SPECIFIC PROPS /////
|
278
275
|
/**
|
@@ -427,7 +424,7 @@ export class Input {
|
|
427
424
|
validate = (ev) => {
|
428
425
|
if (this.validateOn === 'submitThenDirty')
|
429
426
|
this.validateOn = 'dirty';
|
430
|
-
if (!this.nativeInput.validity
|
427
|
+
if (!this.nativeInput.validity?.valid) {
|
431
428
|
if (this.showInlineError) {
|
432
429
|
if (ev)
|
433
430
|
ev.preventDefault();
|
@@ -542,6 +539,12 @@ export class Input {
|
|
542
539
|
componentWillLoad() {
|
543
540
|
this.processSlottedContent();
|
544
541
|
}
|
542
|
+
componentDidRender() {
|
543
|
+
if (this.shouldValidate) {
|
544
|
+
this.validate();
|
545
|
+
this.shouldValidate = false;
|
546
|
+
}
|
547
|
+
}
|
545
548
|
render() {
|
546
549
|
const value = this.getValue();
|
547
550
|
const labelId = this.inputId + '-lbl';
|
@@ -580,18 +583,18 @@ export class Input {
|
|
580
583
|
disabled,
|
581
584
|
clearControl: this.clearable,
|
582
585
|
}))(this);
|
583
|
-
return (h(Host, { key: '
|
586
|
+
return (h(Host, { key: '636d7624bcfe136a0e93b55cf9fc38e272f7aed6', "aria-disabled": this.disabled ? 'true' : null, class: {
|
584
587
|
'has-value': this.hasValue(),
|
585
588
|
'has-focus': this.hasFocus,
|
586
589
|
'is-invalid': this._invalid === true,
|
587
590
|
'is-valid': this._invalid === false,
|
588
591
|
'nano-input': true,
|
589
|
-
} }, h("div", { key: '
|
592
|
+
} }, h("div", { key: '942db1636f7d08dd581359b66df66ebf080d23ae', style: { width: '100%' } }, h(FormControlWrap, { key: 'd944b897545398b51ab0a76e1f8d62c57cd85843', ...wrapOptions, class: {
|
590
593
|
'has-helper': this.hasHelperSlot,
|
591
594
|
'has-error': !!this.errorMessage &&
|
592
595
|
this.showInlineError &&
|
593
596
|
this._invalid === true,
|
594
|
-
} }, h(FormControl, { key: '
|
597
|
+
} }, h(FormControl, { key: 'efd29f841ff0724228fc47754a5aad8d82f88d49', ...controlOptions, onClearText: this.clearTextInput, control: this.el, ref: (el) => (this.nativeInputWrap = el), showInlineError: this.showInlineError, endSlot: this.showPicker &&
|
595
598
|
this.type === 'date' &&
|
596
599
|
!this.readonly &&
|
597
600
|
!this.disabled && [
|
@@ -606,10 +609,10 @@ export class Input {
|
|
606
609
|
this.value = e.detail.value;
|
607
610
|
this.pickerDropdown?.hide();
|
608
611
|
}, min: this.min, max: this.max, "is-modal": true, selectedDate: this.value || this.initialPickerDate || undefined }))),
|
609
|
-
] }, this.type !== 'textarea' && (h("input", { key: '
|
612
|
+
] }, this.type !== 'textarea' && (h("input", { key: 'ce5547777de11926717b27712f7d687171d0dde7', id: this.inputId, class: "input__native-ctrl", ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalise, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onClick: (e) => e.preventDefault(), onChange: this.onInput, onFocus: this.onFocus, onBlur: this.handleBlur, onKeyDown: this.onKeydown, onInvalid: this.validate })), this.type === 'textarea' && (h("textarea", { key: 'e1dc2377200cdccda85cdbb6cda08a49d8459c1e', rows: this.floatLabel ? 1 : this.rows, id: this.inputId, class: {
|
610
613
|
'input__native-ctrl': true,
|
611
614
|
input__resizable: this.resize === 'true',
|
612
|
-
}, ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, autoCapitalize: this.autocapitalise, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown, onInvalid: this.validate, onBlur: this.handleBlur })))), h("slot", { key: '
|
615
|
+
}, ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, autoCapitalize: this.autocapitalise, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown, onInvalid: this.validate, onBlur: this.handleBlur })))), h("slot", { key: '564511c369dc13eb85cbf7e1c48b5d5fbbea8679' }))));
|
613
616
|
}
|
614
617
|
static get is() { return "nano-input"; }
|
615
618
|
static get encapsulation() { return "scoped"; }
|
@@ -1231,7 +1234,7 @@ export class Input {
|
|
1231
1234
|
"optional": true,
|
1232
1235
|
"docs": {
|
1233
1236
|
"tags": [],
|
1234
|
-
"text": "The initial size of the control. This value is in pixels unless the value of the type attribute
|
1237
|
+
"text": "The initial size of the control. This value is in pixels unless the value of the type attribute\nis `\"text\"` or `\"password\"`, in which case it is an integer number of characters.\nThis attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored."
|
1235
1238
|
},
|
1236
1239
|
"getter": false,
|
1237
1240
|
"setter": false,
|
@@ -1799,34 +1802,34 @@ export class Input {
|
|
1799
1802
|
"methodName": "valueChanged"
|
1800
1803
|
}, {
|
1801
1804
|
"propName": "minlength",
|
1802
|
-
"methodName": "
|
1805
|
+
"methodName": "handleValidatePropChange"
|
1803
1806
|
}, {
|
1804
1807
|
"propName": "maxlength",
|
1805
|
-
"methodName": "
|
1808
|
+
"methodName": "handleValidatePropChange"
|
1806
1809
|
}, {
|
1807
1810
|
"propName": "min",
|
1808
|
-
"methodName": "
|
1811
|
+
"methodName": "handleValidatePropChange"
|
1809
1812
|
}, {
|
1810
1813
|
"propName": "max",
|
1811
|
-
"methodName": "
|
1814
|
+
"methodName": "handleValidatePropChange"
|
1812
1815
|
}, {
|
1813
1816
|
"propName": "required",
|
1814
|
-
"methodName": "
|
1817
|
+
"methodName": "handleValidatePropChange"
|
1815
1818
|
}, {
|
1816
1819
|
"propName": "disabled",
|
1817
|
-
"methodName": "
|
1820
|
+
"methodName": "handleValidatePropChange"
|
1818
1821
|
}, {
|
1819
1822
|
"propName": "readonly",
|
1820
|
-
"methodName": "
|
1823
|
+
"methodName": "handleValidatePropChange"
|
1821
1824
|
}, {
|
1822
1825
|
"propName": "pattern",
|
1823
|
-
"methodName": "
|
1826
|
+
"methodName": "handleValidatePropChange"
|
1824
1827
|
}, {
|
1825
1828
|
"propName": "inputmode",
|
1826
|
-
"methodName": "
|
1829
|
+
"methodName": "handleValidatePropChange"
|
1827
1830
|
}, {
|
1828
1831
|
"propName": "type",
|
1829
|
-
"methodName": "
|
1832
|
+
"methodName": "handleValidatePropChange"
|
1830
1833
|
}];
|
1831
1834
|
}
|
1832
1835
|
static get listeners() {
|
@@ -143,7 +143,7 @@ export class IntersectionObserve {
|
|
143
143
|
this.removeIO();
|
144
144
|
}
|
145
145
|
render() {
|
146
|
-
return (h(Host, { key: '
|
146
|
+
return (h(Host, { key: 'be24c77cb033ff3fdb33b37cd8414edd99785795', class: "nano-intersection-observe" }, h("slot", { key: 'e1cf1e9175a9249c6f6f5b202d27a3f9bf937bac', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
|
147
147
|
}
|
148
148
|
static get is() { return "nano-intersection-observe"; }
|
149
149
|
static get encapsulation() { return "shadow"; }
|
@@ -327,7 +327,7 @@ export class MaskedOverflow {
|
|
327
327
|
}
|
328
328
|
}
|
329
329
|
render() {
|
330
|
-
return (h(Host, { key: '
|
330
|
+
return (h(Host, { key: '5e3818d9ff886b75194db22fd7f42af484fe17d7', dir: this.isRtl ? 'rtl' : null, class: "nano-masked-overflow", "has-scroll-controls": this.hasScrollControls }, h("div", { key: '991fa196ffc2eb42c907519bb8187f15c9868161', part: "base", class: {
|
331
331
|
onav: true,
|
332
332
|
[`onav--${this.orientation}`]: true,
|
333
333
|
'onav--has-scroll-controls': this.hasScrollControls,
|
@@ -336,12 +336,12 @@ export class MaskedOverflow {
|
|
336
336
|
'onav--no-transitions': this.instantReCalc,
|
337
337
|
'onnav--has-indicator': this.showIndicator,
|
338
338
|
'onnav--hide-scrollbars': this.hideScrollbars && this.hideScrollbars !== 'false',
|
339
|
-
}, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: '
|
339
|
+
}, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'e6958d0060691af605afa2c6fd53194b4284f29d', class: "onav__nav" }, this.scrollControls && (h("nano-icon-button", { key: '167bb7fa1450371ceab4dc8467e5debbd672101f', part: "scroll-button scroll-button-prev", class: {
|
340
340
|
'onav__scroll-button': true,
|
341
341
|
'onav__scroll-button--start': true,
|
342
342
|
}, ref: (btn) => (this.startBtn = btn), onClick: () => this.handleBtnClick(false), label: "Click to scroll", iconName: this.orientation === 'horizontal'
|
343
343
|
? 'light/chevron-left'
|
344
|
-
: 'light/chevron-up' })), h("div", { key: '
|
344
|
+
: 'light/chevron-up' })), h("div", { key: '8d8d7c305c0c89738d9660aff6b75ca029506ab7', part: "scroller", ref: (el) => (this.nav = el), class: "onav__scroller", onScroll: this.handleScroll, tabindex: this.hasScrollControls ? 0 : undefined, role: "region", "aria-label": this.label || undefined }, h("div", { key: 'fdd83d15c431538a2992887e58aed07e9393d411', part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, this.showIndicator && (h("div", { key: 'a1fba6d2c2e62e05b5a062c563f22c8e2b0222a4', part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" })), h("slot", { key: 'a6d602d437702479bd67d71bd5ac838d0ae02941', onSlotchange: this.slotChangeHandler }))), this.scrollControls && (h("nano-icon-button", { key: '30eae4cf86f7bead75734736b7192420255a64fc', part: "scroll-button scroll-button-next", class: {
|
345
345
|
'onav__scroll-button': true,
|
346
346
|
'onav__scroll-button--end': true,
|
347
347
|
}, ref: (btn) => (this.endBtn = btn), onClick: () => this.handleBtnClick(true), label: "Click to scroll", iconName: this.orientation === 'horizontal'
|
@@ -43,11 +43,12 @@
|
|
43
43
|
--padding-start: 13px;
|
44
44
|
--icon-size: 19px;
|
45
45
|
--font-size: var(--nano-font-size-xs);
|
46
|
-
--bg-color: var(--nano-color-
|
47
|
-
--bg-color-hover: var(--nano-color-
|
48
|
-
--bg-color-selected: var(--nano-color-
|
49
|
-
--bg-color-open: var(--nano-color-
|
50
|
-
--content-color: var(--nano-color-
|
46
|
+
--bg-color: var(--nano-color-surface-50);
|
47
|
+
--bg-color-hover: var(--nano-color-neutral-75);
|
48
|
+
--bg-color-selected: var(--nano-color-neutral-300);
|
49
|
+
--bg-color-open: var(--nano-color-neutral-300);
|
50
|
+
--content-color: var(--nano-color-neutral-1400);
|
51
|
+
--divider-color: var(--nano-color-neutral-300);
|
51
52
|
--global-nav-height: 76px;
|
52
53
|
--menu-width: calc((var(--padding-end) + var(--padding-start)) + var(--icon-size));
|
53
54
|
color-scheme: dark;
|
@@ -63,7 +64,7 @@
|
|
63
64
|
}
|
64
65
|
|
65
66
|
.head {
|
66
|
-
border-block-end: var(--
|
67
|
+
border-block-end: var(--divider-color) 1px solid;
|
67
68
|
}
|
68
69
|
|
69
70
|
.container {
|
@@ -94,6 +95,10 @@
|
|
94
95
|
flex-direction: column;
|
95
96
|
align-items: stretch;
|
96
97
|
flex: 1;
|
98
|
+
box-shadow: var(--nano-shadow-ls);
|
99
|
+
}
|
100
|
+
.content-wrap.secondary-open {
|
101
|
+
box-shadow: none;
|
97
102
|
}
|
98
103
|
.content-wrap::after {
|
99
104
|
content: "";
|
@@ -119,7 +124,6 @@
|
|
119
124
|
inline-size: 100%;
|
120
125
|
display: flex;
|
121
126
|
justify-items: flex-start;
|
122
|
-
background-color: var(--bg-color);
|
123
127
|
appearance: none;
|
124
128
|
cursor: pointer;
|
125
129
|
font-size: var(--icon-size);
|
@@ -26,6 +26,7 @@ export class MenuDrawer {
|
|
26
26
|
reset = false;
|
27
27
|
isLoading = true;
|
28
28
|
hide = false;
|
29
|
+
secondaryOpen = false;
|
29
30
|
/**
|
30
31
|
* Set the initial menu drawer open or closed
|
31
32
|
*/
|
@@ -38,6 +39,7 @@ export class MenuDrawer {
|
|
38
39
|
if (!ev.detail.secondaryMenu)
|
39
40
|
return;
|
40
41
|
ev.stopPropagation();
|
42
|
+
this.secondaryOpen = ev.type === 'nanoOpen';
|
41
43
|
}
|
42
44
|
openChange() {
|
43
45
|
if (Build.isBrowser) {
|
@@ -145,13 +147,14 @@ export class MenuDrawer {
|
|
145
147
|
}
|
146
148
|
}
|
147
149
|
render() {
|
148
|
-
return (h(Host, { key: '
|
150
|
+
return (h(Host, { key: '39da1804ff710702cacbbadf0d8bb1d47c2d732b', class: {
|
149
151
|
open: this.open,
|
152
|
+
'secondary-open': this.secondaryOpen,
|
150
153
|
hide: this.hide,
|
151
154
|
loading: this.isLoading,
|
152
155
|
'has-global-nav': !!this.globalNav,
|
153
156
|
'nano-menu-drawer': true,
|
154
|
-
}, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: '
|
157
|
+
}, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: '90b0e1a831d49af7d81fe5ca2da977a697c08ee7', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: '37d6443befe1a93169e15a8becbefe974c8a8d1c', class: `content-wrap ${this.secondaryOpen ? 'secondary-open' : ''}` }, h("nav", { key: '7373abf5ec1ef567407abedc4b786ae3d51c9e93', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: '6f243a3de7b59072d43fac86c1d9c8acd62ec9d4', class: "head" }, h("button", { key: '6bf443330190314bf84583fc540cd2cb821f4f53', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: '87025c0165c2e61bd51724ef15e8e1b110ded3e4', name: "light/arrow-right-to-line" }), h("span", { key: '6bfd0162936fc4ce0546194a227960ce9dd718a1', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: '07039af321133321dedceaaff462472bd22b4f12' }), this.slotCtrl.has('foot') && (h("div", { key: '252fe22caae99dc7ba850207a92f9390665bf3c0', class: "foot" }, h("slot", { key: 'f142bd0852c6fa01fcc3fba2de5528d1d96d03b7', name: "foot" }))))))));
|
155
158
|
}
|
156
159
|
static get is() { return "nano-menu-drawer"; }
|
157
160
|
static get encapsulation() { return "shadow"; }
|
@@ -213,7 +216,8 @@ export class MenuDrawer {
|
|
213
216
|
return {
|
214
217
|
"reset": {},
|
215
218
|
"isLoading": {},
|
216
|
-
"hide": {}
|
219
|
+
"hide": {},
|
220
|
+
"secondaryOpen": {}
|
217
221
|
};
|
218
222
|
}
|
219
223
|
static get elementRef() { return "el"; }
|