@nanoporetech-digital/components 5.2.1 → 5.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/CHANGELOG.md +20 -0
- package/dist/cjs/{_commonjsHelpers-9f2314fc.js → _commonjsHelpers-29614748.js} +1 -17
- package/dist/cjs/_commonjsHelpers-29614748.js.map +1 -0
- package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js +922 -0
- package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +1 -0
- package/dist/cjs/component-store-21cb4901.js +328 -0
- package/dist/cjs/component-store-21cb4901.js.map +1 -0
- package/dist/cjs/events-db0a42ee.js +39 -0
- package/dist/cjs/events-db0a42ee.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +9 -2
- package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -2
- package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia-input.cjs.entry.js +8 -4
- package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-algolia.cjs.entry.js +4 -4
- package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-datalist_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +23 -22
- package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-drawer.cjs.entry.js +169 -111
- package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-dropdown.cjs.entry.js +16 -2
- package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +5 -6
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -1
- package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +1 -1
- package/dist/cjs/nano-sortable.cjs.entry.js +3 -15
- package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +16 -9
- package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -2
- package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-10a40ab3.js → nano-table-e15cc6b0.js} +6 -6
- package/dist/cjs/nano-table-e15cc6b0.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{slot-a448c1a7.js → slot-2dd6ed1d.js} +20 -15
- package/dist/cjs/slot-2dd6ed1d.js.map +1 -0
- package/dist/cjs/{table.worker-f04588c1.js → table.worker-8759e6ea.js} +2 -2
- package/dist/cjs/table.worker-8759e6ea.js.map +1 -0
- package/dist/collection/components/alert/alert.css +15 -0
- package/dist/collection/components/alert/alert.js +10 -2
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/algolia/algolia-interface.js.map +1 -1
- package/dist/collection/components/algolia/algolia.js +1 -1
- package/dist/collection/components/algolia/algolia.js.map +1 -1
- package/dist/collection/components/dialog/dialog.css +1 -17
- package/dist/collection/components/dialog/dialog.js +31 -20
- package/dist/collection/components/dialog/dialog.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +136 -67
- package/dist/collection/components/drawer/drawer.js +282 -154
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +10 -0
- package/dist/collection/components/dropdown/dropdown.js +15 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +2 -2
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/style/global-nav.css +5 -1
- package/dist/collection/components/global-search-results/global-search-results.js +2 -1
- package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
- package/dist/collection/components/sticker/sticker.js +16 -9
- package/dist/collection/components/sticker/sticker.js.map +1 -1
- package/dist/collection/components/table/table.pin-service.js +4 -4
- package/dist/collection/components/table/table.pin-service.js.map +1 -1
- package/dist/collection/utils/events.js +17 -0
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/collection/utils/slot.js +19 -14
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/store/get-set.js +6 -12
- package/dist/collection/utils/store/get-set.js.map +1 -1
- package/dist/components/_commonjsHelpers.js +1 -16
- package/dist/components/_commonjsHelpers.js.map +1 -1
- package/dist/components/algolia.js +2 -2
- package/dist/components/algolia.js.map +1 -1
- package/dist/components/algoliasearch-lite.esm.browser.js +920 -0
- package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -0
- package/dist/components/component-store.js +68 -2001
- package/dist/components/component-store.js.map +1 -1
- package/dist/components/dropdown.js +16 -2
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/events.js +36 -0
- package/dist/components/events.js.map +1 -0
- package/dist/components/nano-alert.js +10 -2
- package/dist/components/nano-alert.js.map +1 -1
- package/dist/components/nano-algolia-input.js +6 -1
- package/dist/components/nano-algolia-input.js.map +1 -1
- package/dist/components/nano-dialog.js +21 -20
- package/dist/components/nano-dialog.js.map +1 -1
- package/dist/components/nano-drawer.js +205 -122
- package/dist/components/nano-drawer.js.map +1 -1
- package/dist/components/nano-global-nav.js +4 -4
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-global-search-results.js +2 -1
- package/dist/components/nano-global-search-results.js.map +1 -1
- package/dist/components/nano-sortable.js +1 -13
- package/dist/components/nano-sortable.js.map +1 -1
- package/dist/components/slot.js +19 -14
- package/dist/components/slot.js.map +1 -1
- package/dist/components/sticker.js +16 -9
- package/dist/components/sticker.js.map +1 -1
- package/dist/components/table.js +4 -4
- package/dist/components/table.js.map +1 -1
- package/dist/esm/{_commonjsHelpers-e401b2a2.js → _commonjsHelpers-04a0e019.js} +2 -17
- package/dist/esm/_commonjsHelpers-04a0e019.js.map +1 -0
- package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js +920 -0
- package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +1 -0
- package/dist/esm/component-store-65d7e36a.js +326 -0
- package/dist/esm/component-store-65d7e36a.js.map +1 -0
- package/dist/esm/events-6a805b42.js +36 -0
- package/dist/esm/events-6a805b42.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-alert.entry.js +9 -2
- package/dist/esm/nano-alert.entry.js.map +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +1 -2
- package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
- package/dist/esm/nano-algolia-input.entry.js +7 -3
- package/dist/esm/nano-algolia-input.entry.js.map +1 -1
- package/dist/esm/nano-algolia.entry.js +4 -4
- package/dist/esm/nano-algolia.entry.js.map +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-datalist_3.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +23 -22
- package/dist/esm/nano-dialog.entry.js.map +1 -1
- package/dist/esm/nano-drawer.entry.js +171 -113
- package/dist/esm/nano-drawer.entry.js.map +1 -1
- package/dist/esm/nano-dropdown.entry.js +16 -2
- package/dist/esm/nano-dropdown.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +5 -6
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-global-search-results.entry.js +2 -1
- package/dist/esm/nano-global-search-results.entry.js.map +1 -1
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-sortable.entry.js +1 -13
- package/dist/esm/nano-sortable.entry.js.map +1 -1
- package/dist/esm/nano-sticker.entry.js +16 -9
- package/dist/esm/nano-sticker.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +1 -2
- package/dist/esm/nano-tab-group.entry.js.map +1 -1
- package/dist/esm/{nano-table-2bbcaa8d.js → nano-table-5c5bd3f2.js} +6 -6
- package/dist/esm/nano-table-5c5bd3f2.js.map +1 -0
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{slot-a4f6e2af.js → slot-8126e238.js} +20 -15
- package/dist/esm/slot-8126e238.js.map +1 -0
- package/dist/esm/{table.worker-7324ad73.js → table.worker-e7f4f50c.js} +2 -2
- package/dist/esm/table.worker-e7f4f50c.js.map +1 -0
- package/dist/nano-components/nano-components.css +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/p-0301e8f7.entry.js +5 -0
- package/dist/nano-components/p-0301e8f7.entry.js.map +1 -0
- package/dist/nano-components/p-27422aa9.entry.js +5 -0
- package/dist/nano-components/{p-6920ad69.entry.js.map → p-27422aa9.entry.js.map} +1 -1
- package/dist/nano-components/{p-52ae36ec.js → p-2d79f5b3.js} +2 -2
- package/dist/nano-components/{p-0697795a.entry.js → p-31c23d6e.entry.js} +2 -2
- package/dist/nano-components/p-31c23d6e.entry.js.map +1 -0
- package/dist/nano-components/p-487de04d.entry.js.map +1 -1
- package/dist/nano-components/p-570d2e50.entry.js +5 -0
- package/dist/nano-components/p-570d2e50.entry.js.map +1 -0
- package/dist/nano-components/{p-3eb6d833.entry.js → p-5a4b3fa9.entry.js} +2 -2
- package/dist/nano-components/p-653ae985.js +5 -0
- package/dist/nano-components/p-653ae985.js.map +1 -0
- package/dist/nano-components/p-676a4744.entry.js +5 -0
- package/dist/nano-components/{p-d0eefd52.entry.js.map → p-676a4744.entry.js.map} +1 -1
- package/dist/nano-components/p-8fe51abf.js +5 -0
- package/dist/nano-components/{p-4884b65a.entry.js → p-90cd4f56.entry.js} +2 -2
- package/dist/nano-components/p-90cd4f56.entry.js.map +1 -0
- package/dist/nano-components/p-9ba81ed2.js +5 -0
- package/dist/nano-components/p-9ba81ed2.js.map +1 -0
- package/dist/nano-components/p-9bfdee71.js +5 -0
- package/dist/nano-components/p-9bfdee71.js.map +1 -0
- package/dist/nano-components/p-a8d6ca38.entry.js +5 -0
- package/dist/nano-components/p-a8d6ca38.entry.js.map +1 -0
- package/dist/nano-components/p-ace7743c.entry.js +5 -0
- package/dist/nano-components/p-ace7743c.entry.js.map +1 -0
- package/dist/nano-components/{p-39aec880.entry.js → p-bab2888b.entry.js} +2 -2
- package/dist/nano-components/p-bdb5b6fc.entry.js +5 -0
- package/dist/nano-components/p-bdb5b6fc.entry.js.map +1 -0
- package/dist/nano-components/p-cad86fb8.js +5 -0
- package/dist/nano-components/p-cad86fb8.js.map +1 -0
- package/dist/nano-components/p-dc565459.js +5 -0
- package/dist/nano-components/p-dc565459.js.map +1 -0
- package/dist/nano-components/p-ede12d35.entry.js +5 -0
- package/dist/nano-components/p-ede12d35.entry.js.map +1 -0
- package/dist/nano-components/p-f504b1df.entry.js +7 -0
- package/dist/nano-components/p-f504b1df.entry.js.map +1 -0
- package/dist/nano-components/{p-db370094.entry.js → p-f7a4c62b.entry.js} +2 -2
- package/dist/themes/london-calling.css.map +1 -1
- package/dist/themes/nanopore.cn.css.map +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/alert/alert.d.ts +1 -0
- package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
- package/dist/types/components/algolia/algolia.d.ts +1 -1
- package/dist/types/components/dialog/dialog.d.ts +15 -4
- package/dist/types/components/drawer/drawer.d.ts +69 -50
- package/dist/types/components/sticker/sticker.d.ts +4 -4
- package/dist/types/components.d.ts +50 -28
- package/dist/types/types/algolia.d.ts +4 -0
- package/dist/types/types/scss.vars.d.ts +4 -0
- package/dist/types/utils/events.d.ts +7 -0
- package/dist/types/utils/slot.d.ts +3 -3
- package/docs-json.json +268 -61
- package/docs-vscode.json +28 -11
- package/hydrate/index.js +1335 -2236
- package/package.json +4 -4
- package/dist/cjs/_commonjsHelpers-9f2314fc.js.map +0 -1
- package/dist/cjs/algoliasearch.umd-689c1560.js +0 -15
- package/dist/cjs/algoliasearch.umd-689c1560.js.map +0 -1
- package/dist/cjs/component-store-f1dc1276.js +0 -2261
- package/dist/cjs/component-store-f1dc1276.js.map +0 -1
- package/dist/cjs/nano-table-10a40ab3.js.map +0 -1
- package/dist/cjs/slot-a448c1a7.js.map +0 -1
- package/dist/cjs/table.worker-f04588c1.js.map +0 -1
- package/dist/components/algoliasearch.umd.js +0 -13
- package/dist/components/algoliasearch.umd.js.map +0 -1
- package/dist/esm/_commonjsHelpers-e401b2a2.js.map +0 -1
- package/dist/esm/algoliasearch.umd-4f7efa84.js +0 -13
- package/dist/esm/algoliasearch.umd-4f7efa84.js.map +0 -1
- package/dist/esm/component-store-c23ebc9c.js +0 -2259
- package/dist/esm/component-store-c23ebc9c.js.map +0 -1
- package/dist/esm/nano-table-2bbcaa8d.js.map +0 -1
- package/dist/esm/slot-a4f6e2af.js.map +0 -1
- package/dist/esm/table.worker-7324ad73.js.map +0 -1
- package/dist/nano-components/p-0697795a.entry.js.map +0 -1
- package/dist/nano-components/p-17b099cc.entry.js +0 -5
- package/dist/nano-components/p-17b099cc.entry.js.map +0 -1
- package/dist/nano-components/p-1a0b5bc3.js +0 -5
- package/dist/nano-components/p-1a0b5bc3.js.map +0 -1
- package/dist/nano-components/p-4884b65a.entry.js.map +0 -1
- package/dist/nano-components/p-58cf5446.js +0 -5
- package/dist/nano-components/p-58cf5446.js.map +0 -1
- package/dist/nano-components/p-6920ad69.entry.js +0 -5
- package/dist/nano-components/p-69a3e911.js +0 -5
- package/dist/nano-components/p-7baa9e14.entry.js +0 -5
- package/dist/nano-components/p-7baa9e14.entry.js.map +0 -1
- package/dist/nano-components/p-9b533dc3.js +0 -5
- package/dist/nano-components/p-9b533dc3.js.map +0 -1
- package/dist/nano-components/p-a362bd23.entry.js +0 -5
- package/dist/nano-components/p-a362bd23.entry.js.map +0 -1
- package/dist/nano-components/p-b04fd7ca.entry.js +0 -5
- package/dist/nano-components/p-b04fd7ca.entry.js.map +0 -1
- package/dist/nano-components/p-b72df1aa.entry.js +0 -5
- package/dist/nano-components/p-b72df1aa.entry.js.map +0 -1
- package/dist/nano-components/p-ce5efc3f.entry.js +0 -5
- package/dist/nano-components/p-ce5efc3f.entry.js.map +0 -1
- package/dist/nano-components/p-d0eefd52.entry.js +0 -5
- package/dist/nano-components/p-e2b2b015.entry.js +0 -5
- package/dist/nano-components/p-e2b2b015.entry.js.map +0 -1
- package/dist/nano-components/p-ed6adde2.js +0 -7
- package/dist/nano-components/p-ed6adde2.js.map +0 -1
- package/dist/types/dom.ie.d.ts +0 -3
- /package/dist/nano-components/{p-39aec880.entry.js.map → p-2d79f5b3.js.map} +0 -0
- /package/dist/nano-components/{p-3eb6d833.entry.js.map → p-5a4b3fa9.entry.js.map} +0 -0
- /package/dist/nano-components/{p-52ae36ec.js.map → p-8fe51abf.js.map} +0 -0
- /package/dist/nano-components/{p-69a3e911.js.map → p-bab2888b.entry.js.map} +0 -0
- /package/dist/nano-components/{p-db370094.entry.js.map → p-f7a4c62b.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{r as t,c as i,h as s,a as n,g as h}from"./p-f6a8467a.js";import{c as e,a as r}from"./p-
|
4
|
+
import{r as t,c as i,h as s,a as n,g as h}from"./p-f6a8467a.js";import{c as e,a as r}from"./p-8fe51abf.js";var a=e((function(t){(function(i,s){if(t.exports){t.exports=s()}else{i.EvEmitter=s()}})(typeof window!="undefined"?window:r,(function(){function t(){}var i=t.prototype;i.on=function(t,i){if(!t||!i){return}var s=this._events=this._events||{};var n=s[t]=s[t]||[];if(n.indexOf(i)==-1){n.push(i)}return this};i.once=function(t,i){if(!t||!i){return}this.on(t,i);var s=this._onceEvents=this._onceEvents||{};var n=s[t]=s[t]||{};n[i]=true;return this};i.off=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}var n=s.indexOf(i);if(n!=-1){s.splice(n,1)}return this};i.emitEvent=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}s=s.slice(0);i=i||[];var n=this._onceEvents&&this._onceEvents[t];for(var h=0;h<s.length;h++){var e=s[h];var r=n&&n[e];if(r){this.off(t,e);delete n[e]}e.apply(this,i)}return this};i.allOff=function(){delete this._events;delete this._onceEvents};return t}))}));var o=e((function(t){
|
5
5
|
/*!
|
6
6
|
* getSize v2.0.3
|
7
7
|
* measure size of elements
|
@@ -20,4 +20,4 @@ import{r as t,c as i,h as s,a as n,g as h}from"./p-f6a8467a.js";import{c as e,a
|
|
20
20
|
* MIT license
|
21
21
|
*/
|
22
22
|
(function(i,s){if(t.exports){t.exports=s(i,M)}else{i.Unidragger=s(i,i.Unipointer)}})(window,(function t(i,s){function n(){}var h=n.prototype=Object.create(s.prototype);h.bindHandles=function(){this._bindHandles(true)};h.unbindHandles=function(){this._bindHandles(false)};h._bindHandles=function(t){t=t===undefined?true:t;var s=t?"addEventListener":"removeEventListener";var n=t?this._touchActionValue:"";for(var h=0;h<this.handles.length;h++){var e=this.handles[h];this._bindStartEvent(e,t);e[s]("click",this);if(i.PointerEvent){e.style.touchAction=n}}};h._touchActionValue="none";h.pointerDown=function(t,i){var s=this.okayPointerDown(t);if(!s){return}this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};t.preventDefault();this.pointerDownBlur();this._bindPostStartEvents(t);this.emitEvent("pointerDown",[t,i])};var e={TEXTAREA:true,INPUT:true,SELECT:true,OPTION:true};var r={radio:true,checkbox:true,button:true,submit:true,image:true,file:true};h.okayPointerDown=function(t){var i=e[t.target.nodeName];var s=r[t.target.type];var n=!i||s;if(!n){this._pointerReset()}return n};h.pointerDownBlur=function(){var t=document.activeElement;var i=t&&t.blur&&t!=document.body;if(i){t.blur()}};h.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.emitEvent("pointerMove",[t,i,s]);this._dragMove(t,i,s)};h._dragPointerMove=function(t,i){var s={x:i.pageX-this.pointerDownPointer.pageX,y:i.pageY-this.pointerDownPointer.pageY};if(!this.isDragging&&this.hasDragStarted(s)){this._dragStart(t,i)}return s};h.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3};h.pointerUp=function(t,i){this.emitEvent("pointerUp",[t,i]);this._dragPointerUp(t,i)};h._dragPointerUp=function(t,i){if(this.isDragging){this._dragEnd(t,i)}else{this._staticClick(t,i)}};h._dragStart=function(t,i){this.isDragging=true;this.isPreventingClicks=true;this.dragStart(t,i)};h.dragStart=function(t,i){this.emitEvent("dragStart",[t,i])};h._dragMove=function(t,i,s){if(!this.isDragging){return}this.dragMove(t,i,s)};h.dragMove=function(t,i,s){t.preventDefault();this.emitEvent("dragMove",[t,i,s])};h._dragEnd=function(t,i){this.isDragging=false;setTimeout(function(){delete this.isPreventingClicks}.bind(this));this.dragEnd(t,i)};h.dragEnd=function(t,i){this.emitEvent("dragEnd",[t,i])};h.onclick=function(t){if(this.isPreventingClicks){t.preventDefault()}};h._staticClick=function(t,i){if(this.isIgnoringMouseUp&&t.type=="mouseup"){return}this.staticClick(t,i);if(t.type!="mouseup"){this.isIgnoringMouseUp=true;setTimeout(function(){delete this.isIgnoringMouseUp}.bind(this),400)}};h.staticClick=function(t,i){this.emitEvent("staticClick",[t,i])};n.getPointerPoint=s.getPointerPoint;return n}))}));f.extend(m.defaults,{draggable:">1",dragThreshold:3});m.createMethods.push("_createDrag");var S=m.prototype;f.extend(S,C.prototype);S._touchActionValue="pan-y";var L="createTouch"in document;var T=false;S._createDrag=function(){this.on("activate",this.onActivateDrag);this.on("uiChange",this._uiChangeDrag);this.on("deactivate",this.onDeactivateDrag);this.on("cellChange",this.updateDraggable);if(L&&!T){window.addEventListener("touchmove",(function(){}));T=true}};S.onActivateDrag=function(){this.handles=[this.viewport];this.bindHandles();this.updateDraggable()};S.onDeactivateDrag=function(){this.unbindHandles();this.element.classList.remove("is-draggable")};S.updateDraggable=function(){if(this.options.draggable==">1"){this.isDraggable=this.slides.length>1}else{this.isDraggable=this.options.draggable}if(this.isDraggable){this.element.classList.add("is-draggable")}else{this.element.classList.remove("is-draggable")}};S.bindDrag=function(){this.options.draggable=true;this.updateDraggable()};S.unbindDrag=function(){this.options.draggable=false;this.updateDraggable()};S._uiChangeDrag=function(){delete this.isFreeScrolling};S.pointerDown=function(t,i){if(!this.isDraggable){this._pointerDownDefault(t,i);return}var s=this.okayPointerDown(t);if(!s){return}this._pointerDownPreventDefault(t);this.pointerDownFocus(t);if(document.activeElement!=this.element){this.pointerDownBlur()}this.dragX=this.x;this.viewport.classList.add("is-pointer-down");this.pointerDownScroll=E();window.addEventListener("scroll",this);this._pointerDownDefault(t,i)};S._pointerDownDefault=function(t,i){this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};this._bindPostStartEvents(t);this.dispatchEvent("pointerDown",t,[i])};var P={INPUT:true,TEXTAREA:true,SELECT:true};S.pointerDownFocus=function(t){var i=P[t.target.nodeName];if(!i){this.focus()}};S._pointerDownPreventDefault=function(t){var i=t.type=="touchstart";var s=t.pointerType=="touch";var n=P[t.target.nodeName];if(!i&&!s&&!n){t.preventDefault()}};S.hasDragStarted=function(t){return Math.abs(t.x)>this.options.dragThreshold};S.pointerUp=function(t,i){delete this.isTouchScrolling;this.viewport.classList.remove("is-pointer-down");this.dispatchEvent("pointerUp",t,[i]);this._dragPointerUp(t,i)};S.pointerDone=function(){window.removeEventListener("scroll",this);delete this.pointerDownScroll};S.dragStart=function(t,i){if(!this.isDraggable){return}this.dragStartPosition=this.x;this.startAnimation();window.removeEventListener("scroll",this);this.dispatchEvent("dragStart",t,[i])};S.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.dispatchEvent("pointerMove",t,[i,s]);this._dragMove(t,i,s)};S.dragMove=function(t,i,s){if(!this.isDraggable){return}t.preventDefault();this.previousDragX=this.dragX;var n=this.options.rightToLeft?-1:1;if(this.options.wrapAround){s.x=s.x%this.slideableWidth}var h=this.dragStartPosition+s.x*n;if(!this.options.wrapAround&&this.slides.length){var e=Math.max(-this.slides[0].target,this.dragStartPosition);h=h>e?(h+e)*.5:h;var r=Math.min(-this.getLastSlide().target,this.dragStartPosition);h=h<r?(h+r)*.5:h}this.dragX=h;this.dragMoveTime=new Date;this.dispatchEvent("dragMove",t,[i,s])};S.dragEnd=function(t,i){if(!this.isDraggable){return}if(this.options.freeScroll){this.isFreeScrolling=true}var s=this.dragEndRestingSelect();if(this.options.freeScroll&&!this.options.wrapAround){var n=this.getRestingPosition();this.isFreeScrolling=-n>this.slides[0].target&&-n<this.getLastSlide().target}else if(!this.options.freeScroll&&s==this.selectedIndex){s+=this.dragEndBoostSelect()}delete this.previousDragX;this.isDragSelect=this.options.wrapAround;this.select(s);delete this.isDragSelect;this.dispatchEvent("dragEnd",t,[i])};S.dragEndRestingSelect=function(){var t=this.getRestingPosition();var i=Math.abs(this.getSlideDistance(-t,this.selectedIndex));var s=this._getClosestResting(t,i,1);var n=this._getClosestResting(t,i,-1);var h=s.distance<n.distance?s.index:n.index;return h};S._getClosestResting=function(t,i,s){var n=this.selectedIndex;var h=Infinity;var e=this.options.contain&&!this.options.wrapAround?function(t,i){return t<=i}:function(t,i){return t<i};while(e(i,h)){n+=s;h=i;i=this.getSlideDistance(-t,n);if(i===null){break}i=Math.abs(i)}return{distance:h,index:n-s}};S.getSlideDistance=function(t,i){var s=this.slides.length;var n=this.options.wrapAround&&s>1;var h=n?f.modulo(i,s):i;var e=this.slides[h];if(!e){return null}var r=n?this.slideableWidth*Math.floor(i/s):0;return t-(e.target+r)};S.dragEndBoostSelect=function(){if(this.previousDragX===undefined||!this.dragMoveTime||new Date-this.dragMoveTime>100){return 0}var t=this.getSlideDistance(-this.dragX,this.selectedIndex);var i=this.previousDragX-this.dragX;if(t>0&&i>0){return 1}else if(t<0&&i<0){return-1}return 0};S.staticClick=function(t,i){var s=this.getParentCell(t.target);var n=s&&s.element;var h=s&&this.cells.indexOf(s);this.dispatchEvent("staticClick",t,[i,n,h])};S.onscroll=function(){var t=E();var i=this.pointerDownScroll.x-t.x;var s=this.pointerDownScroll.y-t.y;if(Math.abs(i)>3||Math.abs(s)>3){this._pointerDone()}};function E(){return{x:window.pageXOffset,y:window.pageYOffset}}var A="http://www.w3.org/2000/svg";function O(t,i){this.direction=t;this.parent=i;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}O.prototype=Object.create(M.prototype);O.prototype._create=function(){this.isEnabled=true;this.isPrevious=this.direction==-1;var t=this.parent.options.rightToLeft?1:-1;this.isLeft=this.direction==t;var i=this.element=document.createElement("button");i.className="flickity-button flickity-prev-next-button";i.className+=this.isPrevious?" previous":" next";i.setAttribute("type","button");this.disable();i.setAttribute("aria-label",this.isPrevious?"Previous":"Next");var s=this.createSVG();i.appendChild(s);this.parent.on("select",this.update.bind(this));this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};O.prototype.activate=function(){this.bindStartEvent(this.element);this.element.addEventListener("click",this);this.parentElement.appendChild(this.element)};O.prototype.deactivate=function(){this.parentElement.removeChild(this.element);this.unbindStartEvent(this.element);this.element.removeEventListener("click",this)};O.prototype.createSVG=function(){var t=document.createElementNS(A,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 100 100");var i=document.createElementNS(A,"path");var s=D(this.parent.options.arrowShape);i.setAttribute("d",s);i.setAttribute("class","arrow");if(!this.isLeft){i.setAttribute("transform","translate(100, 100) rotate(180) ")}t.appendChild(i);return t};function D(t){if(typeof t=="string"){return t}return"M "+t.x0+",50"+" L "+t.x1+","+(t.y1+50)+" L "+t.x2+","+(t.y2+50)+" L "+t.x3+",50 "+" L "+t.x2+","+(50-t.y2)+" L "+t.x1+","+(50-t.y1)+" Z"}O.prototype.handleEvent=f.handleEvent;O.prototype.onclick=function(){if(!this.isEnabled){return}this.parent.uiChange();var t=this.isPrevious?"previous":"next";this.parent[t]()};O.prototype.enable=function(){if(this.isEnabled){return}this.element.disabled=false;this.isEnabled=true};O.prototype.disable=function(){if(!this.isEnabled){return}this.element.disabled=true;this.isEnabled=false};O.prototype.update=function(){var t=this.parent.slides;if(this.parent.options.wrapAround&&t.length>1){this.enable();return}var i=t.length?t.length-1:0;var s=this.isPrevious?0:i;var n=this.parent.selectedIndex==s?"disable":"enable";this[n]()};O.prototype.destroy=function(){this.deactivate();this.allOff()};f.extend(m.defaults,{prevNextButtons:true,arrowShape:{x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}});m.createMethods.push("_createPrevNextButtons");var j=m.prototype;j._createPrevNextButtons=function(){if(!this.options.prevNextButtons){return}this.prevButton=new O(-1,this);this.nextButton=new O(1,this);this.on("activate",this.activatePrevNextButtons)};j.activatePrevNextButtons=function(){this.prevButton.activate();this.nextButton.activate();this.on("deactivate",this.deactivatePrevNextButtons)};j.deactivatePrevNextButtons=function(){this.prevButton.deactivate();this.nextButton.deactivate();this.off("deactivate",this.deactivatePrevNextButtons)};m.PrevNextButton=O;function R(t){this.parent=t;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}R.prototype=Object.create(M.prototype);R.prototype._create=function(){this.holder=document.createElement("ol");this.holder.className="flickity-page-dots";this.dots=[];this.handleClick=this.onClick.bind(this);this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};R.prototype.activate=function(){this.setDots();this.holder.addEventListener("click",this.handleClick);this.bindStartEvent(this.holder);this.parentElement.appendChild(this.holder)};R.prototype.deactivate=function(){this.holder.removeEventListener("click",this.handleClick);this.unbindStartEvent(this.holder);this.parentElement.removeChild(this.holder)};R.prototype.setDots=function(){var t=this.parent.slides.length-this.dots.length;if(t>0){this.addDots(t)}else if(t<0){this.removeDots(-t)}};R.prototype.addDots=function(t){var i=document.createDocumentFragment();var s=[];var n=this.dots.length;var h=n+t;for(var e=n;e<h;e++){var r=document.createElement("li");r.classList.add("dot");r.setAttribute("aria-label","Page dot "+(e+1));i.appendChild(r);s.push(r)}this.holder.appendChild(i);this.dots=this.dots.concat(s)};R.prototype.removeDots=function(t){var i=this.dots.splice(this.dots.length-t,t);i.forEach((function(t){this.holder.removeChild(t)}),this)};R.prototype.updateSelected=function(){if(this.selectedDot){this.selectedDot.classList.remove("is-selected");this.selectedDot.removeAttribute("aria-current")}if(!this.dots.length){return}this.selectedDot=this.dots[this.parent.selectedIndex];this.selectedDot.classList.add("is-selected");this.selectedDot.setAttribute("aria-current","step")};R.prototype.onTap=R.prototype.onClick=function(t){var i=t.target;if(i.nodeName!="LI"){return}this.parent.uiChange();var s=this.dots.indexOf(i);this.parent.select(s)};R.prototype.destroy=function(){this.deactivate();this.allOff()};m.PageDots=R;f.extend(m.defaults,{pageDots:true});m.createMethods.push("_createPageDots");var I=m.prototype;I._createPageDots=function(){if(!this.options.pageDots){return}this.pageDots=new R(this);this.on("activate",this.activatePageDots);this.on("select",this.updateSelectedPageDots);this.on("cellChange",this.updatePageDots);this.on("resize",this.updatePageDots);this.on("deactivate",this.deactivatePageDots)};I.activatePageDots=function(){this.pageDots.activate()};I.updateSelectedPageDots=function(){this.pageDots.updateSelected()};I.updatePageDots=function(){this.pageDots.setDots()};I.deactivatePageDots=function(){this.pageDots.deactivate()};m.PageDots=R;function N(t){this.parent=t;this.state="stopped";this.onVisibilityChange=this.visibilityChange.bind(this);this.onVisibilityPlay=this.visibilityPlay.bind(this)}N.prototype=Object.create(a.prototype);N.prototype.play=function(){if(this.state=="playing"){return}var t=document.hidden;if(t){document.addEventListener("visibilitychange",this.onVisibilityPlay);return}this.state="playing";document.addEventListener("visibilitychange",this.onVisibilityChange);this.tick()};N.prototype.tick=function(){if(this.state!="playing"){return}var t=this.parent.options.autoPlay;t=typeof t=="number"?t:3e3;var i=this;this.clear();this.timeout=setTimeout((function(){i.parent.next(true);i.tick()}),t)};N.prototype.stop=function(){this.state="stopped";this.clear();document.removeEventListener("visibilitychange",this.onVisibilityChange)};N.prototype.clear=function(){clearTimeout(this.timeout)};N.prototype.pause=function(){if(this.state=="playing"){this.state="paused";this.clear()}};N.prototype.unpause=function(){if(this.state=="paused"){this.play()}};N.prototype.visibilityChange=function(){var t=document.hidden;this[t?"pause":"unpause"]()};N.prototype.visibilityPlay=function(){this.play();document.removeEventListener("visibilitychange",this.onVisibilityPlay)};f.extend(m.defaults,{pauseAutoPlayOnHover:true});m.createMethods.push("_createPlayer");var B=m.prototype;B._createPlayer=function(){this.player=new N(this);this.on("activate",this.activatePlayer);this.on("uiChange",this.stopPlayer);this.on("pointerDown",this.stopPlayer);this.on("deactivate",this.deactivatePlayer)};B.activatePlayer=function(){if(!this.options.autoPlay){return}this.player.play();this.element.addEventListener("mouseenter",this)};B.playPlayer=function(){this.player.play()};B.stopPlayer=function(){this.player.stop()};B.pausePlayer=function(){this.player.pause()};B.unpausePlayer=function(){this.player.unpause()};B.deactivatePlayer=function(){this.player.stop();this.element.removeEventListener("mouseenter",this)};B.onmouseenter=function(){if(!this.options.pauseAutoPlayOnHover){return}this.player.pause();this.element.addEventListener("mouseleave",this)};B.onmouseleave=function(){this.player.unpause();this.element.removeEventListener("mouseleave",this)};m.Player=N;function F(t){var i=document.createDocumentFragment();t.forEach((function(t){i.appendChild(t.element)}));return i}var H=m.prototype;H.insert=function(t,i){var s=this._makeCells(t);if(!s||!s.length){return}var n=this.cells.length;i=i===undefined?n:i;var h=F(s);var e=i==n;if(e){this.slider.appendChild(h)}else{var r=this.cells[i].element;this.slider.insertBefore(h,r)}if(i===0){this.cells=s.concat(this.cells)}else if(e){this.cells=this.cells.concat(s)}else{var a=this.cells.splice(i,n-i);this.cells=this.cells.concat(s).concat(a)}this._sizeCells(s);this.cellChange(i,true)};H.append=function(t){this.insert(t,this.cells.length)};H.prepend=function(t){this.insert(t,0)};H.remove=function(t){var i=this.getCells(t);if(!i||!i.length){return}var s=this.cells.length-1;i.forEach((function(t){t.remove();var i=this.cells.indexOf(t);s=Math.min(i,s);f.removeFrom(this.cells,t)}),this);this.cellChange(s,true)};H.cellSizeChange=function(t){var i=this.getCell(t);if(!i){return}i.getSize();var s=this.cells.indexOf(i);this.cellChange(s)};H.cellChange=function(t,i){var s=this.selectedElement;this._positionCells(t);this._getWrapShiftCells();this.setGallerySize();var n=this.getCell(s);if(n){this.selectedIndex=this.getCellSlideIndex(n)}this.selectedIndex=Math.min(this.slides.length-1,this.selectedIndex);this.emitEvent("cellChange",[t]);this.select(this.selectedIndex);if(i){this.positionSliderAtSelected()}};m.createMethods.push("_createLazyload");var _=m.prototype;_._createLazyload=function(){this.on("select",this.lazyLoad)};_.lazyLoad=function(){var t=this.options.lazyLoad;if(!t){return}var i=typeof t=="number"?t:0;var s=this.getAdjacentCellElements(i);var n=[];s.forEach((function(t){var i=W(t);n=n.concat(i)}));n.forEach((function(t){new V(t,this)}),this)};function W(t){if(t.nodeName=="IMG"){var i=t.getAttribute("data-flickity-lazyload");var s=t.getAttribute("data-flickity-lazyload-src");var n=t.getAttribute("data-flickity-lazyload-srcset");if(i||s||n){return[t]}}var h="img[data-flickity-lazyload], "+"img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]";var e=t.querySelectorAll(h);return f.makeArray(e)}function V(t,i){this.img=t;this.flickity=i;this.load()}V.prototype.handleEvent=f.handleEvent;V.prototype.load=function(){this.img.addEventListener("load",this);this.img.addEventListener("error",this);var t=this.img.getAttribute("data-flickity-lazyload")||this.img.getAttribute("data-flickity-lazyload-src");var i=this.img.getAttribute("data-flickity-lazyload-srcset");this.img.src=t;if(i){this.img.setAttribute("srcset",i)}this.img.removeAttribute("data-flickity-lazyload");this.img.removeAttribute("data-flickity-lazyload-src");this.img.removeAttribute("data-flickity-lazyload-srcset")};V.prototype.onload=function(t){this.complete(t,"flickity-lazyloaded")};V.prototype.onerror=function(t){this.complete(t,"flickity-lazyerror")};V.prototype.complete=function(t,i){this.img.removeEventListener("load",this);this.img.removeEventListener("error",this);var s=this.flickity.getParentCell(this.img);var n=s&&s.element;this.flickity.cellSizeChange(n);this.img.classList.add(i);this.flickity.dispatchEvent("lazyLoad",t,n)};m.LazyLoader=V;m.createMethods.push("_createFullscreen");var X=m.prototype;X._createFullscreen=function(){this.isFullscreen=false;if(!this.options.fullscreen){return}this.viewFullscreenButton=new U("view",this);this.exitFullscreenButton=new U("exit",this);this.on("activate",this._changeFullscreenActive);this.on("deactivate",this._changeFullscreenActive)};X._changeFullscreenActive=function(){var t=this.isActive?"appendChild":"removeChild";this.element[t](this.viewFullscreenButton.element);this.element[t](this.exitFullscreenButton.element);var i=this.isActive?"activate":"deactivate";this.viewFullscreenButton[i]();this.exitFullscreenButton[i]()};X.viewFullscreen=function(){this._changeFullscreen(true);this.focus()};X.exitFullscreen=function(){this._changeFullscreen(false)};X._changeFullscreen=function(t){if(this.isFullscreen==t){return}this.isFullscreen=t;var i=t?"add":"remove";document.documentElement.classList[i]("is-flickity-fullscreen");this.element.classList[i]("is-fullscreen");this.resize();if(this.isFullscreen){this.reposition()}this.dispatchEvent("fullscreenChange",null,[t])};X.toggleFullscreen=function(){this._changeFullscreen(!this.isFullscreen)};var Z=X.setGallerySize;X.setGallerySize=function(){if(!this.options.setGallerySize){return}if(this.isFullscreen){this.viewport.style.height=""}else{Z.call(this)}};m.keyboardHandlers[27]=function(){this.exitFullscreen()};function U(t,i){this.name=t;this.createButton();this.createIcon();this.onClick=function(){i[t+"Fullscreen"]()};this.clickHandler=this.onClick.bind(this)}U.prototype.createButton=function(){var t=this.element=document.createElement("button");t.className="flickity-button flickity-fullscreen-button "+"flickity-fullscreen-button-"+this.name;t.setAttribute("type","button");var i=Y(this.name+" full-screen");t.setAttribute("aria-label",i);t.title=i};function Y(t){return t[0].toUpperCase()+t.slice(1)}var G="http://www.w3.org/2000/svg";var J={view:"M15,20,7,28h5v4H0V20H4v5l8-8Zm5-5,8-8v5h4V0H20V4h5l-8,8Z",exit:"M32,3l-7,7h5v4H18V2h4V7l7-7ZM3,32l7-7v5h4V18H2v4H7L0,29Z"};U.prototype.createIcon=function(){var t=document.createElementNS(G,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 32 32");var i=document.createElementNS(G,"path");var s=J[this.name];i.setAttribute("d",s);t.appendChild(i);this.element.appendChild(t)};U.prototype.activate=function(){this.element.addEventListener("click",this.clickHandler)};U.prototype.deactivate=function(){this.element.removeEventListener("click",this.clickHandler)};m.FullscreenButton=U;var q=m.Slide;var Q=q.prototype.updateTarget;q.prototype.updateTarget=function(){Q.apply(this,arguments);if(!this.parent.options.fade){return}var t=this.target-this.x;var i=this.cells[0].x;this.cells.forEach((function(s){var n=s.x-i-t;s.renderPosition(n)}))};q.prototype.setOpacity=function(t){this.cells.forEach((function(i){i.element.style.opacity=t}))};var $=m.prototype;m.createMethods.push("_createFade");$._createFade=function(){this.fadeIndex=this.selectedIndex;this.prevSelectedIndex=this.selectedIndex;this.on("select",this.onSelectFade);this.on("dragEnd",this.onDragEndFade);this.on("settle",this.onSettleFade);this.on("activate",this.onActivateFade);this.on("deactivate",this.onDeactivateFade)};var K=$.updateSlides;$.updateSlides=function(){K.apply(this,arguments);if(!this.options.fade){return}this.slides.forEach((function(t,i){var s=i==this.selectedIndex?1:0;t.setOpacity(s)}),this)};$.onSelectFade=function(){this.fadeIndex=Math.min(this.prevSelectedIndex,this.slides.length-1);this.prevSelectedIndex=this.selectedIndex};$.onSettleFade=function(){delete this.didDragEnd;if(!this.options.fade){return}this.selectedSlide.setOpacity(1);var t=this.slides[this.fadeIndex];if(t&&this.fadeIndex!=this.selectedIndex){this.slides[this.fadeIndex].setOpacity(0)}};$.onDragEndFade=function(){this.didDragEnd=true};$.onActivateFade=function(){if(this.options.fade){this.element.classList.add("is-fade")}};$.onDeactivateFade=function(){if(!this.options.fade){return}this.element.classList.remove("is-fade");this.slides.forEach((function(t){t.setOpacity("")}))};var tt=$.positionSlider;$.positionSlider=function(){if(!this.options.fade){tt.apply(this,arguments);return}this.fadeSlides();this.dispatchScrollEvent()};var it=$.positionSliderAtSelected;$.positionSliderAtSelected=function(){if(this.options.fade){this.setTranslateX(0)}it.apply(this,arguments)};$.fadeSlides=function(){if(this.slides.length<2){return}var t=this.getFadeIndexes();var i=this.slides[t.a];var s=this.slides[t.b];var n=this.wrapDifference(i.target,s.target);var h=this.wrapDifference(i.target,-this.x);h=h/n;i.setOpacity(1-h);s.setOpacity(h);var e=t.a;if(this.isDragging){e=h>.5?t.a:t.b}var r=this.fadeHideIndex!=undefined&&this.fadeHideIndex!=e&&this.fadeHideIndex!=t.a&&this.fadeHideIndex!=t.b;if(r){this.slides[this.fadeHideIndex].setOpacity(0)}this.fadeHideIndex=e};$.getFadeIndexes=function(){if(!this.isDragging&&!this.didDragEnd){return{a:this.fadeIndex,b:this.selectedIndex}}if(this.options.wrapAround){return this.getFadeDragWrapIndexes()}else{return this.getFadeDragLimitIndexes()}};$.getFadeDragWrapIndexes=function(){var t=this.slides.map((function(t,i){return this.getSlideDistance(-this.x,i)}),this);var i=t.map((function(t){return Math.abs(t)}));var s=Math.min.apply(Math,i);var n=i.indexOf(s);var h=t[n];var e=this.slides.length;var r=h>=0?1:-1;return{a:n,b:f.modulo(n+r,e)}};$.getFadeDragLimitIndexes=function(){var t=0;for(var i=0;i<this.slides.length-1;i++){var s=this.slides[i];if(-this.x<s.target){break}t=i}return{a:t,b:t+1}};$.wrapDifference=function(t,i){var s=i-t;if(!this.options.wrapAround){return s}var n=s+this.slideableWidth;var h=s-this.slideableWidth;if(Math.abs(n)<Math.abs(s)){s=n}if(Math.abs(h)<Math.abs(s)){s=h}return s};var st=$._getWrapShiftCells;$._getWrapShiftCells=function(){if(!this.options.fade){st.apply(this,arguments)}};var nt=$.shiftWrapCells;$.shiftWrapCells=function(){if(!this.options.fade){nt.apply(this,arguments)}};const ht=m;const et=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--dot-color:#ccc;--dot-color-active:var(--nano-color-primary, #007495);--navbtns-icon-color:var(--dot-color-active);--navbtns-bg-color:white;--navbtns-icon-color-disabled:var(--dot-color-active);--navbtns-bg-color-disabled:white;--fsbtn-icon-color:var(--dot-color-active);--fsbtn-bg-color:white;display:block;-webkit-user-select:none;user-select:none;overflow:hidden;transition:opacity 0.2s;opacity:0;max-width:100vw}:host([ready]){opacity:1}.slideshow{max-height:100%;min-height:inherit;height:inherit;position:relative}.slideshow.not-ready{max-width:98vw}.flickity-container{opacity:0;transition:opacity 0.2s;display:flex;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.not-ready .flickity-container{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.flickity-container.slides-ready{min-height:inherit;max-height:inherit;height:inherit;width:auto}[hidden]{display:none !important}.ui-extras{pointer-events:none;position:absolute;block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0}.ui-extras *{pointer-events:all}/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */.flickity-enabled{position:relative;opacity:1}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;min-block-size:100%;flex:1}.flickity-slider{position:absolute;inline-size:100%;block-size:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:grabbing}.flickity-button{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}.flickity-button:hover{opacity:1;cursor:pointer}.flickity-button:focus{outline:none;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:0.6}.flickity-button:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}.flickity-button-icon{fill:var(--navbtns-icon-color)}.flickity-button:disabled .flickity-button-icon{fill:var(--navbtns-icon-color-disabled)}.flickity-prev-next-button{inset-block-start:50%;inline-size:44px;block-size:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{inset-inline-start:10px}.flickity-prev-next-button.next{inset-inline-end:10px}.flickity-rtl .flickity-prev-next-button.previous{inset-inline:auto 10px}.flickity-rtl .flickity-prev-next-button.next{inset-inline:10px auto}.flickity-prev-next-button .flickity-button-icon{position:absolute;inset-inline-start:20%;inset-block-start:20%;inline-size:60%;block-size:60%}.flickity-page-dots{position:absolute;inline-size:100%;inset-block-end:10px;padding:0;margin:0;list-style:none;text-align:center;line-height:1;z-index:4}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;inline-size:10px;block-size:10px;margin-block:0;margin-inline:8px;border-radius:50%;cursor:pointer;background:var(--dot-color)}.flickity-page-dots .dot.is-selected{opacity:1;background:var(--dot-color-active)}.flickity-enabled.is-fullscreen{position:fixed;inset-inline-start:0;inset-block-start:0;inline-size:100%;block-size:100%;background:rgba(0, 0, 0, 0.9);-webkit-padding-after:35px;padding-block-end:35px;z-index:100}.flickity-enabled.is-fullscreen .flickity-page-dots{inset-block-end:45px}html.is-flickity-fullscreen{overflow:hidden}.flickity-fullscreen-button{display:block;inset-inline-end:10px;inset-block-start:10px;inline-size:24px;block-size:24px;border-radius:4px;background:var(--fsbtn-bg-color);fill:var(--fsbtn-icon-color)}.flickity-rtl .flickity-fullscreen-button{inset-inline:10px auto}.flickity-fullscreen-button-exit{display:none}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit{display:block}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view{display:none}.flickity-fullscreen-button .flickity-button-icon{position:absolute;inline-size:16px;block-size:16px;inset-inline-start:4px;inset-block-start:4px}.flickity-enabled.is-fade .flickity-slider>*{pointer-events:none;z-index:0}.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected){pointer-events:auto;z-index:1}";const rt=class{constructor(s){t(this,s);this.nanoSlidesDidLoad=i(this,"nanoSlidesDidLoad",7);this.nanoSlidesReady=i(this,"nanoSlidesReady",7);this.nanoSlidesSelect=i(this,"nanoSlidesSelect",7);this.nanoSlidesChange=i(this,"nanoSlidesChange",7);this.nanoSlidesScroll=i(this,"nanoSlidesScroll",7);this.nanoSlidesTransitionEnd=i(this,"nanoSlidesTransitionEnd",7);this.nanoSlidesDragStart=i(this,"nanoSlidesDragStart",7);this.nanoSlidesDragMove=i(this,"nanoSlidesDragMove",7);this.nanoSlidesDragEnd=i(this,"nanoSlidesDragEnd",7);this.nanoSlidesTap=i(this,"nanoSlidesTap",7);this.nanoSlidesFullscreenChange=i(this,"nanoSlidesFullscreenChange",7);this.flickityReady=false;this.flickity=new Promise((t=>{this.readyflickity=t}));this.parralax=async()=>{const t=await this.flickity;t.slides.forEach(((i,s)=>{const n=this.childrenEles[s];const h=(i.target+t.x)*-1/3;n.style["transform"]="translateX("+h+"px)"}))};this.handleFullscreen=t=>{this.fullscreen=t;this.nanoSlidesFullscreenChange.emit(t)};this.handleSlideSelect=t=>{this.iCurrentSlide=t;this.nanoSlidesSelect.emit(t)};this.iCurrentSlide=undefined;this.slidesReady=undefined;this.didInit=false;this.options={};this.navbtns=false;this.pager=false;this.fullscreenbtn=false;this.fullscreen=false;this.animation="scroll";this.currentSlide=0;this.autoplay=false;this.ready=false}async optionsChanged(){if(this.flickityReady){const t=await this.getflickity();Object.assign(t.options,this.options);await this.update()}}async navbtnsChanged(){Array.from(this._getRoot().querySelectorAll(".flickity-prev-next-button")).forEach((t=>{t.hidden=!this.navbtns}))}async pagerChanged(){const t=this._getRoot().querySelector(".flickity-page-dots");t.hidden=!this.pager}async fullscreenBtnChanged(){const t=this._getRoot().querySelector(".flickity-fullscreen-button");t.hidden=!this.fullscreenbtn}async fullscreenChanged(t,i){const s=await this.getflickity();if(this.fullscreen)s.viewFullscreen();else if(typeof i!=="undefined")s.exitFullscreen()}async animationChange(t,i){const[s,n]=await Promise.all([this.getflickity(),at(this.host)]);n.forEach((t=>{t.style["left"]=undefined}));if(i==="parallax"){s.off("scroll",this.parralax);n.forEach(((t,i)=>{if(this.childrenEles&&this.childrenEles[i])this.childrenEles[i].style["transform"]=undefined}));this.update()}switch(this.animation){case"fade":this.options={fade:true,percentPosition:true};break;case"parallax":this.options={fade:false,percentPosition:false};s.on("scroll",this.parralax);break;default:this.options={fade:false,percentPosition:true};break}}currentSlideChange(){if(this.currentSlide!==this.iCurrentSlide)this.slideTo(this.currentSlide)}internalSlideChange(){this.currentSlide=this.iCurrentSlide}async autoPlayChange(){await this.stopAutoplay();if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)this.startAutoplay(this.autoplay)}}async update(){const[t]=await Promise.all([this.getflickity(),at(this.host)]);this.childrenEles=this.host.querySelectorAll("nano-slide > *");t.reloadCells();t.resize();t.reposition()}async updateAutoHeight(t){const i=document.querySelector(".flickity-viewport");if(i)i.style.transition=t+"ms"}async slideTo(t,i){const s=await this.getflickity();s.select(t,i)}async slideNext(t,i){const s=await this.getflickity();s.next(i,t)}async slidePrev(t,i){const s=await this.getflickity();s.previous(t,i)}async getActiveIndex(){const t=await this.getflickity();return t.selectedIndex}async length(){const t=await this.getflickity();return t.slides.length}async isEnd(){const t=await this.getflickity();return t.selectedIndex===t.slides.length-1}async isBeginning(){const t=await this.getflickity();return t.selectedIndex===0}async startAutoplay(t){const i=await this.getflickity();if(t)this.options={autoPlay:t};setTimeout((()=>i.playPlayer()))}async stopAutoplay(){const t=await this.getflickity();t.stopPlayer()}async lockSwipes(t){const i=await this.getflickity();i.options.draggable=!t;i.updateDraggable()}async getflickity(){return this.flickity}async reload(){this.destroyflickity();setTimeout((()=>this.initflickity()),20)}_getRoot(){return this.host.shadowRoot?this.host.shadowRoot:this.host}destroyflickity(){const t=this.syncflickity;if(t!==undefined){t.destroy();this.flickity=new Promise((t=>{this.readyflickity=t}));this.flickityReady=false;this.syncflickity=undefined;this.ready=false}this.didInit=false}async initflickity(){const t=this.normalizeOptions();await at(this.host);this.flickityEl.style.height=this.flickityEl.getBoundingClientRect().height+"px";this.slidesReady=true;this.flickityEl=this.flickityEl||this._getRoot().querySelector(".flickity-container");if(this.flickityEl&&this.flickityEl.classList.contains("flickity-enabled"))this.destroyflickity();setTimeout((()=>{this.flickityEl.style.height="";const i=new ht(this.flickityEl,t);this.flickityReady=true;this.syncflickity=i;this.animationChange();this.navbtnsChanged();this.pagerChanged();this.fullscreenChanged();this.fullscreenBtnChanged();this.readyflickity(i);this.ready=true;if(!window["ResizeObserver"])return;const s=this.resizeO=new ResizeObserver((()=>{i.resize()}));s.observe(this.host)}),100)}normalizeOptions(){const t={cellSelector:"nano-slide",contain:true,prevNextButtons:true,fullscreen:true,accessibility:true,imagesLoaded:true,pageDots:true};if(this.animation==="fade"){t.fade=true}if(this.currentSlide>0){t.initialIndex=this.currentSlide}if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)t.autoPlay=this.autoplay}const i={ready:()=>{setTimeout((()=>{this.nanoSlidesReady.emit()}),20)},select:this.handleSlideSelect,change:this.nanoSlidesChange.emit,scroll:this.nanoSlidesScroll.emit,settle:this.nanoSlidesTransitionEnd.emit,dragStart:this.nanoSlidesDragStart.emit,dragMove:this.nanoSlidesDragMove.emit,dragEnd:this.nanoSlidesDragEnd.emit,staticClick:this.nanoSlidesTap.emit,fullscreenChange:this.handleFullscreen};const s=!!this.options&&!!this.options.on?this.options.on:{};const n={on:Object.assign(Object.assign({},s),i)};return Object.assign(Object.assign(Object.assign({},t),n),this.options)}componentDidLoad(){if(typeof window!=="undefined"&&window.MutationObserver){const t=this.mutationO=new MutationObserver((t=>{if(t[0].addedNodes[0]&&t[0].addedNodes[0].nodeName.toLowerCase()==="nano-slide"&&this.flickityReady){this.update()}}));t.observe(this.host,{childList:true,subtree:true})}}componentWillLoad(){this.nanoSlidesDidLoad.emit();if(!this.didInit){this.didInit=true;this.initflickity()}}disconnectedCallback(){if(this.mutationO){this.mutationO.disconnect();this.mutationO=undefined}if(this.resizeO)this.resizeO.disconnect();this.destroyflickity()}render(){return s(n,null,s("div",{class:{slideshow:true,ready:this.ready,"not-ready":!this.ready}},s("div",{ref:t=>this.flickityEl=t,class:{"flickity-container":true,"slides-ready":this.slidesReady,"slides-not-ready":!this.slidesReady}},s("slot",null)),s("div",{class:"ui-extras"},s("slot",{name:"ui"}))))}get host(){return h(this)}static get watchers(){return{options:["optionsChanged"],navbtns:["navbtnsChanged"],pager:["pagerChanged"],fullscreenbtn:["fullscreenBtnChanged"],fullscreen:["fullscreenChanged"],animation:["animationChange"],currentSlide:["currentSlideChange"],iCurrentSlide:["internalSlideChange"],autoplay:["autoPlayChange"]}}};const at=t=>{const i=Array.from(t.querySelectorAll("nano-slide"));let s=i.filter((t=>!t.ready));if(!s.length)return Promise.resolve(i);return new Promise((n=>{const h=e=>{s=s.filter((t=>t!==e.target));if(!s.length){n(i);t.removeEventListener("nanoSlideReady",h)}};t.addEventListener("nanoSlideReady",h);t.addEventListener("nano-slide-ready",h)}))};rt.style=et;export{rt as nano_slides};
|
23
|
-
//# sourceMappingURL=p-
|
23
|
+
//# sourceMappingURL=p-f7a4c62b.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/global/style/base/display.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/base/normalize.scss","../src/global/style/base/structure.scss","../src/global/style/base/padding.scss","../src/global/style/nano-theme/_base.scss"],"names":[],"mappings":"AAMA,WACE,wBAUE,cACE,wBAOF,gBACE,wBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,0BD9FA,iBACE,yBC8IF,0BDvIA,mBACE,yBEpBN,4BAIE,wBAKF,sBACE,aACA,aAOF,SAEE,iBAOF,IACE,qBACA,SAIF,eACE,gBAOF,OACE,iBACA,mBAGF,GACE,eACA,eACA,uBAIF,IACE,cAIF,kBAIE,sBACA,cAeF,4BAIE,oBACA,mBAGF,SACE,cACA,gBACA,aACA,cAGF,sBACE,yBAGF,2BAIE,SACA,aACA,cAQF,6DAGE,eACA,kBAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eACA,kBAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UACA,SAMF,uCAEE,UACA,sBAMF,4FAEE,gBAMF,+FAEE,gBAOF,MACE,yBACA,iBAGF,MAEE,UCrNF,EACE,sBACA,0CACA,0CACA,2BAGF,6BAIE,iDAGF,qBAGE,sBACA,oBAGF,KACE,iBACA,sBAGF,KF8BE,kCACA,mCE5BA,SACA,UACA,kCCxBF,iBACE,mBACA,iBACA,iBACA,oBAEA,UAGF,cACE,kDACA,gDACA,gDACA,mDAEA,QCrBe,iCDwBjB,kBACE,gDAEA,oBC3Be,iCD8BjB,oBACE,kDAEA,qBCjCe,iCDoCjB,kBACE,gDAEA,mBCvCe,iCD0CjB,qBACE,mDAEA,kBC7Ce,iCDgDjB,uBACE,gDACA,mDAEA,cCpDe,iCDuDjB,yBACE,kDACA,gDAEA,eC3De,iCDiEjB,gBACE,kBACA,gBACA,gBACA,mBAEA,SAGF,aACE,iDACA,+CACA,+CACA,kDAEA,OChFe,iCDmFjB,iBACE,+CAEA,mBCtFe,iCDyFjB,mBACE,iDAEA,oBC5Fe,iCD+FjB,iBACE,+CAEA,kBClGe,iCDqGjB,oBACE,kDAEA,iBCxGe,iCD2GjB,sBACE,+CACA,kDAEA,aC/Ge,iCDkHjB,wBACE,iDACA,+CAEA,cCtHe","file":"london-calling.css","sourcesContent":["@import '../utilities/globals';\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.nano-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n","@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}[dir='rtl']) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin ltr-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:not([dir='rtl'])) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n block-size: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Remove border when inside `a` element in IE 8/9/10.\nimg {\n max-inline-size: 100%;\n border: 0;\n}\n\n// Correct overflow not hidden in IE 9/10/11.\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n// Address margin not present in IE 8/9 and Safari.\nfigure {\n margin-block: 1em;\n margin-inline: 40px;\n}\n\nhr {\n block-size: 1px;\n border-width: 0;\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n block-size: auto;\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-inline-start: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n cursor: pointer; // 3\n appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\ninput[type='checkbox'],\ninput[type='radio'] {\n padding: 0; // 2\n box-sizing: border-box; // 1\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n block-size: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n appearance: none;\n}\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n -webkit-tap-highlight-color: rgb(201 224 253 / 80%);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n font-family: inherit;\n}\n\nhtml {\n inline-size: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n @include font-smoothing();\n\n margin: 0;\n padding: 0;\n text-rendering: optimizelegibility;\n}\n","@import '../nano-theme/base';\n@import '../utilities/globals';\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n// Padding\n// --------------------------------------------------\n\n.nano-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n padding: 0;\n}\n\n.nano-padding {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding: $spacing-medium;\n}\n\n.nano-padding-top {\n --padding-top: #{$spacing-medium};\n\n padding-block-start: $spacing-medium;\n}\n\n.nano-padding-start {\n --padding-start: #{$spacing-medium};\n\n padding-inline-start: $spacing-medium;\n}\n\n.nano-padding-end {\n --padding-end: #{$spacing-medium};\n\n padding-inline-end: $spacing-medium;\n}\n\n.nano-padding-bottom {\n --padding-bottom: #{$spacing-medium};\n\n padding-block-end: $spacing-medium;\n}\n\n.nano-padding-vertical {\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding-block: $spacing-medium;\n}\n\n.nano-padding-horizontal {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n\n padding-inline: $spacing-medium;\n}\n\n// Margin\n// --------------------------------------------------\n\n.nano-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n margin: 0;\n}\n\n.nano-margin {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin: $spacing-medium;\n}\n\n.nano-margin-top {\n --margin-top: #{$spacing-medium};\n\n margin-block-start: $spacing-medium;\n}\n\n.nano-margin-start {\n --margin-start: #{$spacing-medium};\n\n margin-inline-start: $spacing-medium;\n}\n\n.nano-margin-end {\n --margin-end: #{$spacing-medium};\n\n margin-inline-end: $spacing-medium;\n}\n\n.nano-margin-bottom {\n --margin-bottom: #{$spacing-medium};\n\n margin-block-end: $spacing-medium;\n}\n\n.nano-margin-vertical {\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin-block: $spacing-medium;\n}\n\n.nano-margin-horizontal {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n\n margin-inline: $spacing-medium;\n}\n","// Setup global / theme css variables with default fallbacks\n\n// Padding, Margin\n$spacing-xsmall: var(--nano-spacing-xsmall, 4px);\n$spacing-small: var(--nano-spacing-small, 8px);\n$spacing-medium: var(--nano-spacing-medium, 16px);\n$spacing-large: var(--nano-spacing-large, 20px);\n$spacing-xlarge: var(--nano-spacing-xlarge, 24px);\n\n// Text\n$fontsize-xsmall: var(--nano-fontsize-xsmall, 0.625rem);\n$fontsize-small: var(--nano-fontsize-small, 0.875rem);\n$fontsize-medium: var(--nano-fontsize-medium, 1rem);\n$fontsize-large: var(--nano-fontsize-large, 1.25rem);\n$fontsize-xlarge: var(--nano-fontsize-xlarge, 1.5rem);\n\n// Border radius\n$border-radius-small: var(--nano-border-radius-small, 2px);\n$border-radius-medium: var(--nano-border-radius-medium, 4px);\n$border-radius-large: var(--nano-border-radius-large, 8px);\n$border-radius-xlarge: var(--nano-border-radius-xlarge, 16px);\n\n// Transition\n$transition-xslow: var(--nano-transition-x-slow, 1s);\n$transition-slow: var(--nano-transition-slow, 0.7s);\n$transition-medium: var(--nano-transition-medium, 0.5s);\n$transition-fast: var(--nano-transition-fast, 0.3s);\n$transition-xfast: var(--nano-transition-fast, 0.1s);\n"]}
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/global/style/base/display.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/base/normalize.scss","../src/global/style/base/structure.scss","../src/global/style/base/padding.scss","../src/global/style/nano-theme/_base.scss"],"names":[],"mappings":"AAMA,WACE,wBAUE,cACE,wBAOF,gBACE,wBCuFF,yBDhGA,iBACE,yBCgJF,yBDzIA,mBACE,yBCuFF,yBDhGA,iBACE,yBCgJF,yBDzIA,mBACE,yBCuFF,yBDhGA,iBACE,yBCgJF,yBDzIA,mBACE,yBCuFF,0BDhGA,iBACE,yBCgJF,0BDzIA,mBACE,yBEpBN,4BAIE,wBAKF,sBACE,aACA,aAOF,SAEE,iBAOF,IACE,qBACA,SAIF,eACE,gBAOF,OACE,iBACA,mBAGF,GACE,eACA,eACA,uBAIF,IACE,cAIF,kBAIE,sBACA,cAeF,4BAIE,oBACA,mBAGF,SACE,cACA,gBACA,aACA,cAGF,sBACE,yBAGF,2BAIE,SACA,aACA,cAQF,6DAGE,eACA,kBAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eACA,kBAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UACA,SAMF,uCAEE,UACA,sBAMF,4FAEE,gBAMF,+FAEE,gBAOF,MACE,yBACA,iBAGF,MAEE,UCrNF,EACE,sBACA,0CACA,0CACA,2BAGF,6BAIE,iDAGF,qBAGE,sBACA,oBAGF,KACE,iBACA,sBAGF,KFgCE,kCACA,mCE9BA,SACA,UACA,kCCxBF,iBACE,mBACA,iBACA,iBACA,oBAEA,UAGF,cACE,kDACA,gDACA,gDACA,mDAEA,QCrBe,iCDwBjB,kBACE,gDAEA,oBC3Be,iCD8BjB,oBACE,kDAEA,qBCjCe,iCDoCjB,kBACE,gDAEA,mBCvCe,iCD0CjB,qBACE,mDAEA,kBC7Ce,iCDgDjB,uBACE,gDACA,mDAEA,cCpDe,iCDuDjB,yBACE,kDACA,gDAEA,eC3De,iCDiEjB,gBACE,kBACA,gBACA,gBACA,mBAEA,SAGF,aACE,iDACA,+CACA,+CACA,kDAEA,OChFe,iCDmFjB,iBACE,+CAEA,mBCtFe,iCDyFjB,mBACE,iDAEA,oBC5Fe,iCD+FjB,iBACE,+CAEA,kBClGe,iCDqGjB,oBACE,kDAEA,iBCxGe,iCD2GjB,sBACE,+CACA,kDAEA,aC/Ge,iCDkHjB,wBACE,iDACA,+CAEA,cCtHe","file":"london-calling.css","sourcesContent":["@import '../utilities/globals';\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.nano-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n","@use 'sass:string';\n\n@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:dir(rtl)) {\n @if string.length($root) > 0 {\n #{$root} { @content; }\n }\n\n @else {\n @content;\n }\n }\n\n @at-root :host-context([dir=\"rtl\"]) {\n @if string.length($root) > 0 {\n #{$root} { @content; }\n }\n\n @else {\n @content;\n }\n }\n}\n\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n block-size: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Remove border when inside `a` element in IE 8/9/10.\nimg {\n max-inline-size: 100%;\n border: 0;\n}\n\n// Correct overflow not hidden in IE 9/10/11.\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n// Address margin not present in IE 8/9 and Safari.\nfigure {\n margin-block: 1em;\n margin-inline: 40px;\n}\n\nhr {\n block-size: 1px;\n border-width: 0;\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n block-size: auto;\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-inline-start: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n cursor: pointer; // 3\n appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\ninput[type='checkbox'],\ninput[type='radio'] {\n padding: 0; // 2\n box-sizing: border-box; // 1\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n block-size: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n appearance: none;\n}\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgb(0 0 0 / 0%);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n -webkit-tap-highlight-color: rgb(201 224 253 / 80%);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n font-family: inherit;\n}\n\nhtml {\n inline-size: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n @include font-smoothing();\n\n margin: 0;\n padding: 0;\n text-rendering: optimizelegibility;\n}\n","@import '../nano-theme/base';\n@import '../utilities/globals';\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n// Padding\n// --------------------------------------------------\n\n.nano-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n padding: 0;\n}\n\n.nano-padding {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding: $spacing-medium;\n}\n\n.nano-padding-top {\n --padding-top: #{$spacing-medium};\n\n padding-block-start: $spacing-medium;\n}\n\n.nano-padding-start {\n --padding-start: #{$spacing-medium};\n\n padding-inline-start: $spacing-medium;\n}\n\n.nano-padding-end {\n --padding-end: #{$spacing-medium};\n\n padding-inline-end: $spacing-medium;\n}\n\n.nano-padding-bottom {\n --padding-bottom: #{$spacing-medium};\n\n padding-block-end: $spacing-medium;\n}\n\n.nano-padding-vertical {\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding-block: $spacing-medium;\n}\n\n.nano-padding-horizontal {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n\n padding-inline: $spacing-medium;\n}\n\n// Margin\n// --------------------------------------------------\n\n.nano-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n margin: 0;\n}\n\n.nano-margin {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin: $spacing-medium;\n}\n\n.nano-margin-top {\n --margin-top: #{$spacing-medium};\n\n margin-block-start: $spacing-medium;\n}\n\n.nano-margin-start {\n --margin-start: #{$spacing-medium};\n\n margin-inline-start: $spacing-medium;\n}\n\n.nano-margin-end {\n --margin-end: #{$spacing-medium};\n\n margin-inline-end: $spacing-medium;\n}\n\n.nano-margin-bottom {\n --margin-bottom: #{$spacing-medium};\n\n margin-block-end: $spacing-medium;\n}\n\n.nano-margin-vertical {\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin-block: $spacing-medium;\n}\n\n.nano-margin-horizontal {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n\n margin-inline: $spacing-medium;\n}\n","// Setup global / theme css variables with default fallbacks\n\n// Padding, Margin\n$spacing-xsmall: var(--nano-spacing-xsmall, 4px);\n$spacing-small: var(--nano-spacing-small, 8px);\n$spacing-medium: var(--nano-spacing-medium, 16px);\n$spacing-large: var(--nano-spacing-large, 20px);\n$spacing-xlarge: var(--nano-spacing-xlarge, 24px);\n\n// Text\n$fontsize-xsmall: var(--nano-fontsize-xsmall, 0.625rem);\n$fontsize-small: var(--nano-fontsize-small, 0.875rem);\n$fontsize-medium: var(--nano-fontsize-medium, 1rem);\n$fontsize-large: var(--nano-fontsize-large, 1.25rem);\n$fontsize-xlarge: var(--nano-fontsize-xlarge, 1.5rem);\n\n// Border radius\n$border-radius-small: var(--nano-border-radius-small, 2px);\n$border-radius-medium: var(--nano-border-radius-medium, 4px);\n$border-radius-large: var(--nano-border-radius-large, 8px);\n$border-radius-xlarge: var(--nano-border-radius-xlarge, 16px);\n\n// Transition\n$transition-xslow: var(--nano-transition-x-slow, 1s);\n$transition-slow: var(--nano-transition-slow, 0.7s);\n$transition-medium: var(--nano-transition-medium, 0.5s);\n$transition-fast: var(--nano-transition-fast, 0.3s);\n$transition-xfast: var(--nano-transition-fast, 0.1s);\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/global/style/nano-theme/_mheiprc.scss","../src/global/style/nano-theme/typography.scss","../src/global/style/nano-theme/_colours.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/nano-theme/buttons.scss","../src/global/style/utilities/css-patterns/_unstyled_input.scss","../src/global/style/utilities/css-patterns/_unstyled_anchor.scss","../src/global/style/nano-theme/_button.scss","../src/themes/nanopore.cn.scss","../src/global/style/utilities/_colours.scss","../src/global/style/nano-theme/_form.scss"],"names":[],"mappings":"AAAA,WACE,oBACA,IACE,wJAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,0JAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,sJAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,wJAEF,gBACA,kBACA,kBCdF,KACE,oCACA,yCACA,MCsGW,gCDrGX,qCAGF,EACE,yCACA,qBAEA,QACE,0BAIJ,kBAME,uBACA,YAvCqB,IAwCrB,YAtCqB,IAyCvB,GACE,wBACA,UAzCa,KA4Cf,GACE,wBACA,UA5Ca,KA+Cf,GACE,UA9Ca,KAiDf,GACE,UAhDa,KAmDf,GACE,UAlDa,KAqDf,GACE,UApDa,KAuDf,MACE,cAGF,QAEE,kBACA,cACA,cACA,wBAGF,IACE,yBAGF,IACE,wBAGF,EACE,mBACA,gBACA,oBAEA,aACE,kBAIJ,SACE,gBACA,gBACA,sBACA,gBAEA,oBACE,cAGF,aAVF,SAWI,eAGF,cACE,iBEVA,yBFSF,cAII,mBAIJ,cACE,iBElBA,yBFiBF,cAII,gBAIJ,gBACE,mBE1BA,yBFyBF,gBAII,oBAIJ,eACE,mBAGF,eACE,eAGF,gBACE,gBAGF,gBACE,yBAGF,eACE,kBACA,yBACA,qBACA,iBACA,sBG/JJ,QCHE,UACA,YACA,+BACA,aACA,yBCJA,qBACA,cCgBA,WACE,uHAyDF,qFACA,yFACA,yEACA,qBACA,iDACA,+CACA,gBACA,eACA,2BFzEA,0BACE,SACA,UCTF,4BAEE,qBACA,cC+EF,aHlFF,QGmFI,cAGF,oCAEE,aACA,wHAGF,uCAEE,8BAEA,yBACA,oBACA,yCACA,sBACA,4BACA,qBAIA,6EAEE,sBACA,uBAIJ,qCACE,wEAGF,qDACE,gBAGF,mCAEE,WAEA,+CACE,eHzHN,iBGqCE,iBHnCE,mCGoCF,MHnCE,yCGqCF,6FAEE,iBAPS,yCAQT,MATW,yCAWX,6HACE,iBH5CF,mCG6CE,MH5CF,yCGgDF,uBACE,MHjDA,yCGoDF,iCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHxDA,mCGyDA,aHzDA,mCGwBF,8LAGE,gBHrBJ,mBG6BE,iBH3BE,QG4BF,MH3BE,KG6BF,iGAEE,iBAPS,QAQT,MATW,KAWX,iIACE,iBHpCF,QGqCE,MHpCF,KGwCF,yBACE,MHzCA,KG4CF,mCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHhDA,QGiDA,aHjDA,QGgBF,oMAGE,gBHbJ,eGqBE,iBHnBE,KGoBF,MHnBE,QGqBF,yFAEE,iBAPS,KAQT,MATW,QAWX,yHACE,iBH5BF,KG6BE,MH5BF,QGgCF,qBACE,MHjCA,QGoCF,+BArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHxCA,KGyCA,aHzCA,KGQF,wLAGE,gBHJJ,gBGYE,iBHVE,QGWF,MHVE,KGYF,2FAEE,iBAPS,QAQT,MATW,KAWX,2HACE,iBHnBF,QGoBE,MHnBF,KGuBF,sBACE,MHxBA,KG2BF,gCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MH/BA,QGgCA,aHhCA,QGDF,2LAGE,gBHIJ,iBGIE,iBHFE,QGGF,MHFE,KGIF,6FAEE,iBAPS,QAQT,MATW,KAWX,6HACE,iBHXF,QGYE,MHXF,KGeF,uBACE,MHhBA,KGmBF,iCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHvBA,QGwBA,aHxBA,QGTF,8LAGE,gBHYJ,kBACE,yBACA,gBACA,0BACA,gBAIE,0MAEE,cACA,gBACA,0BIpDJ,oBC4FA,uDACA,mEAMA,iEAGA,kFAMA,8DACA,4DACA,yED9GA,sBC4FA,yDACA,sEAMA,mEAGA,oFAMA,gEACA,8DACA,4ED9GA,qBC4FA,wDACA,sEAMA,qEAGA,gFAMA,+DACA,6DACA,2ED9GA,oBC4FA,uDACA,oEAMA,oEAGA,+EAMA,8DACA,4DACA,yED9GA,oBC4FA,uDACA,oEAMA,iEAGA,kFAMA,8DACA,4DACA,yED9GA,mBC4FA,sDACA,kEAMA,gEAGA,iFAMA,6DACA,2DACA,uED9GA,kBC4FA,qDACA,mEAMA,kEAGA,6EAMA,4DACA,0DACA,wED9GA,mBC4FA,sDACA,iEAMA,gEAGA,iFAMA,6DACA,2DACA,wED9GA,iBC4FA,oDACA,+DAMA,8DAGA,+EAMA,2DACA,yDACA,sEDzGF,MACE,4BAMA,qBACA,2EAGE,wBACA,mCADA,+BACA,uCADA,0BACA,gCADA,8BACA,oCADA,8BACA,mCADA,8BACA,sCADA,6BACA,qCADA,+BACA,uCADA,gCACA,wCADA,2BACA,kCADA,4BACA,mCADA,gCACA,wCADA,4BACA,mCADA,yBACA,+BADA,4BACA,mCADA,gCACA,wCADA,2BACA,gCADA,6BACA,qCADA,8BACA,sCADA,qCACA,0CADA,gCACA,wCADA,mCACA,2CADA,mCACA,2CADA,kCACA,0CADA,iCACA,yCADA,kCACA,wCADA,mCACA,yCADA,iCACA,uCADA,oCACA,2CADA,oCACA,0CADA,sCACA,8CADA,uCACA,8CLoIA,yBKhJJ,MAII,6BAYJ,KACE,iBNkGiB,sCM9FnB,KACE,6BAGF,qCAGE,cACA,eACA,SACA,sCACA,kBACA,gBACA,UAMA,0HACE,aACA,WE4DkB,6GF3DlB","file":"nanopore.cn.css","sourcesContent":["@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCLight_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCLight_normal_normal.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCMedium_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCMedium_normal_normal.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCBold_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCBold_normal_normal.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCHeavy_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCHeavy_normal_normal.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'colours';\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 600 !default;\n/// @prop - Line height of all headings\n$headings-line-height: 1.2 !default;\n/// @prop - Font size of heading level 1\n$h1-font-size: 28px !default;\n/// @prop - Font size of heading level 2\n$h2-font-size: 24px !default;\n/// @prop - Font size of heading level 3\n$h3-font-size: 22px !default;\n/// @prop - Font size of heading level 4\n$h4-font-size: 20px !default;\n/// @prop - Font size of heading level 5\n$h5-font-size: 18px !default;\n/// @prop - Font size of heading level 6\n$h6-font-size: 16px !default;\n\nhtml {\n font-family: var(--nano-font-family);\n font-weight: var(--nano-font-weight, 400);\n color: $text-color;\n font-size: var(--nano-base-font-size);\n}\n\na {\n color: nano-color(primary, base);\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-block: 16px 10px;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n}\n\nh1 {\n margin-block-start: 10px;\n font-size: $h1-font-size;\n}\n\nh2 {\n margin-block-start: 18px;\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsup {\n inset-block-start: -0.5em;\n}\n\nsub {\n inset-block-end: -0.25em;\n}\n\np {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-block: 0 1rem;\n\n &.supporting {\n font-size: 0.875rem;\n }\n}\n\n.heading {\n font-weight: 500;\n line-height: 1.3;\n margin-block: 0 1.5rem;\n margin-inline: 0;\n\n &__highlight {\n color: map.get($colors, blue);\n }\n\n @media print {\n color: map.get($colors, black);\n }\n\n &--one {\n font-size: 2.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 3.25rem;\n }\n }\n\n &--two {\n font-size: 1.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 2rem;\n }\n }\n\n &--three {\n font-size: 1.125rem;\n\n @include media-breakpoint-up('md') {\n font-size: 1.375rem;\n }\n }\n\n &--four {\n font-size: 1.125rem;\n }\n\n &--five {\n font-size: 1rem;\n }\n\n &--light {\n font-weight: 200;\n }\n\n &--upper {\n text-transform: uppercase;\n }\n\n &--meta {\n font-size: 0.875rem;\n text-transform: uppercase;\n letter-spacing: 1.3px;\n font-weight: bold;\n margin-block-end: 1rem;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/colours';\n\n$colors: (\n white: #fff,\n lightblue: #90c6e7,\n blue: darken(#0084a9, 4%),\n darkblue: #0c5a71,\n darkgrey: #455556,\n palegrey: #b5aea7,\n dimgrey: #918b86,\n lightgrey: #e4e6e8,\n mediumgrey: #687576,\n green: #17bb75,\n orange: #f57e20,\n paleyellow: #ede797,\n purple: #a53f97,\n red: #ef4135,\n yellow: #f5cc49,\n background: #f0efed,\n black: #4a4a4a,\n // Bg Colors\n celsius: #f0efed,\n offwhite: #f9f9fb,\n darkblue--faded: #005c75,\n // Faded Colors\n red--faded: #fee8de,\n orange--faded: #feeddb,\n yellow--faded: #fefcf2,\n green--faded: #edf5f2,\n blue--faded: #f2f7f9,\n // Darkened Colours\n blue--darker: #245a6f,\n green--darker: #0b814f,\n red--darker: #be2a20,\n purple--darker: #772c6d,\n orange--darker: #b95e17,\n palegrey--darker: #8c8379,\n lightblue--darker: #548caf,\n);\n\n// Text\n$dark-text-default: map.get($colors, black);\n$light-text-default: map.get($colors, white);\n\n// Theme\n$primary: map.get($colors, blue) !default;\n$secondary: map.get($colors, lightblue--darker) !default;\n$tertiary: map.get($colors, palegrey) !default;\n$success: map.get($colors, green) !default;\n$warning: map.get($colors, orange) !default;\n$danger: map.get($colors, red) !default;\n$light: map.get($colors, blue--faded) !default;\n$medium: map.get($colors, darkblue--faded) !default;\n$dark: map.get($colors, darkgrey) !default;\n\n// Theme css variables and variations\n$themes: (\n primary: (\n base: $primary,\n contrast: color-contrast($primary),\n shade: get-color-shade($primary),\n tint: get-color-tint($primary),\n ),\n secondary: (\n base: $secondary,\n contrast: color-contrast($secondary),\n shade: get-color-shade($secondary),\n tint: get-color-tint($secondary),\n ),\n tertiary: (\n base: $tertiary,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($tertiary),\n tint: get-color-tint($tertiary),\n ),\n success: (\n base: $success,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($success),\n tint: get-color-tint($success),\n ),\n warning: (\n base: $warning,\n contrast: color-contrast($warning),\n shade: get-color-shade($warning),\n tint: get-color-tint($warning),\n ),\n danger: (\n base: $danger,\n contrast: color-contrast($danger),\n shade: get-color-shade($danger),\n tint: get-color-tint($danger),\n ),\n light: (\n base: $light,\n contrast: color-contrast($light),\n shade: get-color-shade($light),\n tint: get-color-tint($light),\n ),\n medium: (\n base: $medium,\n contrast: color-contrast($medium),\n shade: get-color-shade($medium),\n tint: get-color-tint($medium),\n ),\n dark: (\n base: $dark,\n contrast: color-contrast($dark),\n shade: get-color-shade($dark),\n tint: get-color-tint($dark),\n ),\n) !default;\n\n// Default Foreground and Background Colors\n// -------------------------------------------------------------------------------------------\n// Used internally to calculate the default steps\n\n$background-color-value: map.get($colors, background) !default;\n$background-color-rgb-value: color-to-rgb-list(\n $background-color-value\n) !default;\n\n$text-color-value: map.get($colors, black) !default;\n$text-color-rgb-value: color-to-rgb-list($text-color-value) !default;\n\n$text-color: var(--nano-text-color, $text-color-value) !default;\n$text-color-rgb: var(--nano-text-color-rgb, $text-color-rgb-value) !default;\n\n$background-color: var(\n --nano-background-color,\n $background-color-value\n) !default;\n$background-color-rgb: var(\n --nano-background-color-rgb,\n $background-color-rgb-value\n) !default;\n","@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}[dir='rtl']) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin ltr-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:not([dir='rtl'])) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import './colours';\n@import './button';\n\n.button {\n @include button-base;\n}\n\n.button--primary {\n @include button-standard(\n #{nano-color(primary, base)},\n #{nano-color(primary, contrast)},\n #{nano-color(primary, shade)}\n );\n}\n\n.button--secondary {\n @include button-standard(\n map.get($colors, green),\n map.get($colors, white),\n map.get($colors, green--darker)\n );\n}\n\n.button--light {\n @include button-standard(\n map.get($colors, white),\n map.get($colors, blue),\n map.get($colors, white),\n map.get($colors, darkblue)\n );\n}\n\n.button--danger {\n @include button-standard(\n map.get($colors, red),\n map.get($colors, white),\n map.get($colors, red--darker)\n );\n}\n\n.button--warning {\n @include button-standard(\n map.get($colors, orange),\n map.get($colors, white),\n map.get($colors, orange--darker)\n );\n}\n\n.button--tertiary {\n background: transparent;\n box-shadow: none;\n text-decoration: underline;\n font-weight: 400;\n\n &:hover,\n &:focus {\n &:not(.button--disabled):not(:disabled),\n &.button--active {\n color: map.get($colors, palegrey);\n box-shadow: none;\n text-decoration: underline;\n }\n }\n}\n","/// Strips browser styling from an input.\n\n@mixin unstyled-input($outline: false) {\n padding: 0;\n border: none;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n\n @if $outline == false {\n outline: none;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n}\n","/// Displays an anchor as plain text.\n\n@mixin unstyled-anchor {\n text-decoration: none;\n color: inherit;\n\n &:hover,\n &:focus {\n text-decoration: none;\n color: inherit;\n }\n}\n","@import '../utilities/css-patterns/patterns';\n@import './layers';\n@import './form';\n\n// Border\n$btn-border-radius: var(--nano-btn-border-radius, 5px);\n$btn-border-width: var(--nano-btn-border-width, 2px);\n$btn-border-style: var(--nano-btn-border-style, solid);\n\n// Spacing\n$btn-padding-top: var(--nano-btn-padding-top, 0.5rem);\n$btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5rem);\n$btn-padding-start: var(--nano-btn-padding-start, 1rem);\n$btn-padding-end: var(--nano-btn-padding-end, 1rem);\n$btn-line-height: var(--nano-btn-line-height, 1.5em);\n\n// Misc\n$btn-icon-size: var(--nano-btn-icon-size, 1em);\n\n@mixin transition-hover {\n transition:\n background-color 100ms ease-in-out,\n box-shadow 100ms ease-in-out,\n border-color 100ms ease-in-out,\n color 100ms ease-in-out;\n}\n\n@mixin button-keyline {\n background: transparent;\n border-style: #{$btn-border-style};\n border-width: #{$btn-border-width};\n border-radius: #{$btn-border-radius};\n padding-block:\n calc(#{$btn-padding-top} - #{$btn-border-width})\n calc(#{$btn-padding-bottom} - #{$btn-border-width});\n\n &:hover:not(.button--disabled):not(:disabled),\n &:not(:focus):not(.button--focus),\n &.button--active {\n box-shadow: none;\n }\n}\n\n@mixin button-standard($bg, $font, $bg-hover: false, $font-hover: false) {\n $font-hover: if($font-hover, $font-hover, $font);\n $bg-hover: if($bg-hover, $bg-hover, $bg);\n\n background-color: $bg;\n color: $font;\n\n &:hover:not(.button--disabled):not(:disabled),\n &.button--active {\n background-color: $bg-hover;\n color: $font-hover;\n\n &.button--keyline {\n background-color: $bg;\n color: $font;\n }\n }\n\n &:focus {\n color: $font;\n }\n\n &.button--keyline {\n @include button-keyline;\n\n color: $bg;\n border-color: $bg;\n }\n}\n\n@mixin button-base {\n @include unstyled-input($outline: true);\n @include unstyled-anchor;\n @include transition-hover;\n\n padding-inline: #{$btn-padding-start} #{$btn-padding-end};\n padding-block: #{$btn-padding-top} #{$btn-padding-bottom};\n box-shadow: #{$layer-shadow-medium};\n display: inline-block;\n border-radius: #{$btn-border-radius};\n line-height: #{$btn-line-height};\n font-weight: 400;\n cursor: pointer;\n background: rgb(0 0 0 / 2%);\n\n @media print {\n display: none;\n }\n\n &:focus,\n &.button--focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n\n nano-icon,\n nano-spinner {\n --base-color-rgb: 255 255 255;\n\n margin-inline-start: 0.5em;\n margin-inline-end: 0;\n font-size: #{$btn-icon-size};\n vertical-align: middle;\n margin-block-start: -0.188em;\n display: inline-block;\n }\n\n &.button--icon-start {\n nano-icon,\n nano-spinner {\n margin-inline-start: 0;\n margin-inline-end: 0.5em;\n }\n }\n\n &:hover:not(.button--disabled) {\n box-shadow: #{$layer-shadow-large};\n }\n\n &:active:not(.button--disabled):not(:disabled) {\n box-shadow: none;\n }\n\n &--disabled,\n &:disabled {\n opacity: 0.6;\n\n &:hover {\n cursor: default;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../global/style/utilities/globals';\n@import '../global/style/nano-theme/mheiprc';\n@import '../global/style/nano-theme/colours';\n@import '../global/style/nano-theme/typography';\n@import '../global/style/nano-theme/buttons';\n@import '../global/style/nano-theme/form';\n\n@each $color-name, $value in $themes {\n .nano-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n:root {\n --nano-base-font-size: 16px;\n\n @include media-breakpoint-down('sm') {\n --nano-base-font-size: 14px;\n }\n\n --nano-padding: 1rem;\n --nano-font-family: MHeiPRC, helvetica, arial, 'Lucida Grande', sans-serif;\n\n @each $key, $value in $colors {\n #{'--nano-color-' + $key}: #{$value};\n #{'--nano-color-' + $key + '-rgb'}: #{color-to-rgb-list($value)};\n }\n}\n\nbody {\n background-color: $background-color;\n}\n\n// no italics in chinese\nem, i {\n font-style: normal !important;\n}\n\nhr,\n.horizontal-rule,\n.content-divider {\n display: block;\n block-size: 1px;\n border: 0;\n background-color: rgba(map.get($colors, palegrey), 0.5);\n margin-block: 0.5em;\n margin-inline: 0;\n padding: 0;\n}\n\narea[href]:not([tabindex='-1']),\niframe:not([tabindex='-1']),\n[contentEditable='true']:not([tabindex='-1']) {\n &:focus {\n outline: none;\n box-shadow: $control-focus-style;\n border-radius: 3px;\n }\n}\n","@use 'sass:math';\n\n@import 'mixins';\n\n$dark-text-default: #000 !default;\n$light-text-default: #fff !default;\n\n@function current-color($variation, $alpha: null) {\n @if not $alpha {\n @return var(--nano-color-#{$variation});\n }\n\n @else {\n @return rgb(var(--nano-color-#{$variation}-rgb) / #{$alpha});\n }\n}\n\n// Mixes a color with black to create its shade.\n// --------------------------------------------------------------------------------------------\n@function get-color-shade($color) {\n @return mix(#000, $color, 15%);\n}\n\n// Mixes a color with white to create its tint.\n// --------------------------------------------------------------------------------------------\n@function get-color-tint($color) {\n @return mix(#fff, $color, 15%);\n}\n\n// Converts a color to a comma separated hsl.\n// --------------------------------------------------------------------------------------------\n@function color-to-hsl-list($color) {\n @return #{hue($color)} #{saturation($color)} #{lightness($color)};\n}\n\n// Converts a color to a comma separated rgb.\n// --------------------------------------------------------------------------------------------\n@function color-to-rgb-list($color) {\n @return #{red($color)} #{green($color)} #{blue($color)};\n}\n\n// Calculeate brightness of a given color.\n@function brightness($color) {\n @return math.div(\n (red($color) * 0.299) + (green($color) * 0.587) + (blue($color) * 0.114),\n 255\n ) * 100%;\n}\n\n// Compares contrast of a given color to the light/dark arguments and returns whichever is most \"contrasty\"\n@function color-contrast(\n $color,\n $dark: $dark-text-default,\n $light: $light-text-default\n) {\n @if $color==null {\n @return null;\n }\n\n @else {\n $color-brightness: brightness($color);\n $light-text-brightness: brightness($light);\n $dark-text-brightness: brightness($dark);\n\n @return if(\n abs($color-brightness - $light-text-brightness) > abs($color-brightness - $dark-text-brightness),\n $light,\n $dark\n );\n }\n}\n\n@function nano-color($name, $variation, $alpha: null, $rgb: null) {\n $values: map-get($themes, $name);\n $value: map-get($values, $variation);\n $variable: --nano-color-#{$name}-#{$variation};\n\n @if ($variation == base) {\n $variable: --nano-color-#{$name};\n }\n\n @if ($alpha) {\n $value: color-to-rgb-list($value);\n\n @return rgb(var(#{$variable}-rgb, $value) / $alpha);\n }\n\n @if ($rgb) {\n $value: color-to-rgb-list($value);\n $variable: #{$variable}-rgb;\n }\n\n @return var(#{$variable}, $value);\n}\n\n@mixin generate-color($color-name, $important: '') {\n $value: map-get($themes, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --nano-color-base: var(--nano-color-#{$color-name}, #{$base}) #{$important};\n --nano-color-base-rgb:\n var(\n --nano-color-#{$color-name}-rgb,\n #{color-to-rgb-list($base)}\n )\n #{$important};\n --nano-color-contrast:\n var(--nano-color-#{$color-name}-contrast, #{$contrast})\n #{$important};\n --nano-color-contrast-rgb:\n var(\n --nano-color-#{$color-name}-contrast-rgb,\n #{color-to-rgb-list($contrast)}\n )\n #{$important};\n --nano-color-shade: var(--nano-color-#{$color-name}-shade, #{$shade}) #{$important};\n --nano-color-tint: var(--nano-color-#{$color-name}-tint, #{$tint}) #{$important};\n --nano-color-tint-rgb:\n var(\n --nano-color-#{$color-name}-tint-rgb,\n #{color-to-rgb-list($tint)}\n )\n #{$important};\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import 'colours';\n\n// Defaults\n\n$df-input-padding-top: 8px;\n$df-input-padding-bottom: 6px;\n$df-input-padding-start: 8px;\n$df-input-padding-end: 8px;\n\n$df-input-background-color: map.get($colors, white);\n$df-input-background-color--invalid: white;\n\n$df-input-text-color: $text-color-value;\n$df-input-font-size: 0.87em;\n\n$df-input-border-width: 1px;\n$df-input-border-style: solid;\n$df-input-border-radius: 0;\n\n$df-input-border-color: map.get($colors, lightgrey);\n$df-input-border--focus-color: map.get($colors, lightblue);\n$df-input-border--invalid-color: map.get($colors, lightgrey);\n$df-input-border--invalid-focus-color: map.get($colors, red);\n\n$df-clear-btn-color: rgb(0 0 0 / 30%);\n$df-clear-btn-color--invalid: lighten(map.get($colors, red), 30%);\n\n$df-label-color: 'currentcolor';\n$df-label-font-size: 1em;\n\n$df-input-help-font-size: 0.75em;\n$df-input-help-color: darken(map.get($colors, mediumgrey), 3%);\n\n$df-input-tag-bg: color-to-rgb-list(#badcf0);\n$df-input-tag-color: #455556;\n$df-input-tag-border-color: #badcf0;\n\n// Setup global / theme css variables with default fallbacks\n\n// Placeholders\n$input-placeholder-color: var(--nano-input-placeholder-color, initial);\n$input-placeholder-style: var(--nano-input-placeholder-style, initial);\n$input-placeholder-weight: var(--nano-input-placeholder-weight, initial);\n$input-placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n\n// Space around labels, help, errors and inside inputs\n$input-padding-bottom: var(\n --nano-input-padding-bottom,\n var(--nano-input-padding, $df-input-padding-bottom)\n);\n$input-padding-start: var(\n --nano-input-padding-start,\n var(--nano-input-padding, $df-input-padding-start)\n);\n$input-padding-end: var(\n --nano-input-padding-end,\n var(--nano-input-padding, $df-input-padding-end)\n);\n$input-padding-top: var(\n --nano-input-padding-top,\n var(--nano-input-padding, $df-input-padding-top)\n);\n\n// Input background\n$input-background-color: var(\n --nano-input-background-color,\n $df-input-background-color\n);\n$input-background-color--invalid: var(\n --nano-input-background-color,\n $df-input-background-color--invalid\n);\n\n// Input text\n$input-text-color: var(--nano-input-text-color, $df-input-text-color);\n$input-font-size: var(--nano-input-font-size, $df-input-font-size);\n\n// Input border\n$input-border-width: var(--nano-input-border-width, $df-input-border-width);\n$input-border-color: var(--nano-input-border-color, $df-input-border-color);\n$input-border-style: var(--nano-input-border-style, $df-input-border-style);\n$input-border-radius: var(--nano-input-border-radius, $df-input-border-radius);\n\n// Input border state variants\n$input-border--focus-color: var(\n --nano-input-border-color--focus,\n $df-input-border--focus-color\n);\n$input-border--invalid-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-color\n);\n$input-border--invalid-focus-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-focus-color\n);\n\n// Clear button\n$clear-btn-color: var(--nano-clear-btn-color, $df-clear-btn-color);\n$clear-btn-color--invalid: var(\n --nano-clear-btn-color--invalid,\n $df-clear-btn-color--invalid\n);\n\n// Label\n$label-color: var(--nano-input-label-color, $df-label-color);\n$label-color-invalid: var(--nano-input-label-color-invalid, $df-label-color);\n$label-font-size: var(--nano-input-label-color, $df-label-font-size);\n\n// Focus shadow / outline\n$control-focus-color: var(\n --nano-control-focus-color,\n rgba(map.get($colors, lightblue), 0.8)\n);\n$control-focus-size: 0 0 0 0.1875rem;\n$control-focus-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $control-focus-color}\n);\n$control-invalid-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $df-input-border--invalid-color}\n);\n\n// Helper / Error text\n$input-help-font-size: var(\n --nano-input-help-font-size,\n $df-input-help-font-size\n);\n$input-help-color: var(--nano-input-help-color, $df-input-help-color);\n\n// General button\n$button-bg-color: var(--nano-button-color, #{map.get($colors, celsius)});\n\n// Tags / Multi value\n$input-tag-bg: var(--nano-input-tag-bg, $df-input-tag-bg);\n$input-tag-color: var(--nano-input-tag-color, $df-input-tag-color);\n$input-tag-border-color: var(\n --nano-input-tag-color,\n $df-input-tag-border-color\n);\n\n// Select\n$select-opt-focus: var(\n --nano-select-opt-bg,\n darken(map.get($colors, blue--faded), 5%)\n);\n$select-opt-selected: var(--nano-select-opt-bg, map.get($colors, blue--faded));\n"]}
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/global/style/nano-theme/_mheiprc.scss","../src/global/style/nano-theme/typography.scss","../src/global/style/nano-theme/_colours.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/nano-theme/buttons.scss","../src/global/style/utilities/css-patterns/_unstyled_input.scss","../src/global/style/utilities/css-patterns/_unstyled_anchor.scss","../src/global/style/nano-theme/_button.scss","../src/themes/nanopore.cn.scss","../src/global/style/utilities/_colours.scss","../src/global/style/nano-theme/_form.scss"],"names":[],"mappings":"AAAA,WACE,oBACA,IACE,wJAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,0JAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,sJAEF,gBACA,kBACA,kBAGF,WACE,oBACA,IACE,wJAEF,gBACA,kBACA,kBCdF,KACE,oCACA,yCACA,MCsGW,gCDrGX,qCAGF,EACE,yCACA,qBAEA,QACE,0BAIJ,kBAME,uBACA,YAvCqB,IAwCrB,YAtCqB,IAyCvB,GACE,wBACA,UAzCa,KA4Cf,GACE,wBACA,UA5Ca,KA+Cf,GACE,UA9Ca,KAiDf,GACE,UAhDa,KAmDf,GACE,UAlDa,KAqDf,GACE,UApDa,KAuDf,MACE,cAGF,QAEE,kBACA,cACA,cACA,wBAGF,IACE,yBAGF,IACE,wBAGF,EACE,mBACA,gBACA,oBAEA,aACE,kBAIJ,SACE,gBACA,gBACA,sBACA,gBAEA,oBACE,cAGF,aAVF,SAWI,eAGF,cACE,iBERA,yBFOF,cAII,mBAIJ,cACE,iBEhBA,yBFeF,cAII,gBAIJ,gBACE,mBExBA,yBFuBF,gBAII,oBAIJ,eACE,mBAGF,eACE,eAGF,gBACE,gBAGF,gBACE,yBAGF,eACE,kBACA,yBACA,qBACA,iBACA,sBG/JJ,QCHE,UACA,YACA,+BACA,aACA,yBCJA,qBACA,cCgBA,WACE,uHAyDF,qFACA,yFACA,yEACA,qBACA,iDACA,+CACA,gBACA,eACA,2BFzEA,0BACE,SACA,UCTF,4BAEE,qBACA,cC+EF,aHlFF,QGmFI,cAGF,oCAEE,aACA,wHAGF,uCAEE,8BAEA,yBACA,oBACA,yCACA,sBACA,4BACA,qBAIA,6EAEE,sBACA,uBAIJ,qCACE,wEAGF,qDACE,gBAGF,mCAEE,WAEA,+CACE,eHzHN,iBGqCE,iBHnCE,mCGoCF,MHnCE,yCGqCF,6FAEE,iBAPS,yCAQT,MATW,yCAWX,6HACE,iBH5CF,mCG6CE,MH5CF,yCGgDF,uBACE,MHjDA,yCGoDF,iCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHxDA,mCGyDA,aHzDA,mCGwBF,8LAGE,gBHrBJ,mBG6BE,iBH3BE,QG4BF,MH3BE,KG6BF,iGAEE,iBAPS,QAQT,MATW,KAWX,iIACE,iBHpCF,QGqCE,MHpCF,KGwCF,yBACE,MHzCA,KG4CF,mCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHhDA,QGiDA,aHjDA,QGgBF,oMAGE,gBHbJ,eGqBE,iBHnBE,KGoBF,MHnBE,QGqBF,yFAEE,iBAPS,KAQT,MATW,QAWX,yHACE,iBH5BF,KG6BE,MH5BF,QGgCF,qBACE,MHjCA,QGoCF,+BArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHxCA,KGyCA,aHzCA,KGQF,wLAGE,gBHJJ,gBGYE,iBHVE,QGWF,MHVE,KGYF,2FAEE,iBAPS,QAQT,MATW,KAWX,2HACE,iBHnBF,QGoBE,MHnBF,KGuBF,sBACE,MHxBA,KG2BF,gCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MH/BA,QGgCA,aHhCA,QGDF,2LAGE,gBHIJ,iBGIE,iBHFE,QGGF,MHFE,KGIF,6FAEE,iBAPS,QAQT,MATW,KAWX,6HACE,iBHXF,QGYE,MHXF,KGeF,uBACE,MHhBA,KGmBF,iCArCA,yBACA,iDACA,+CACA,iDACA,cACE,+JAmCA,MHvBA,QGwBA,aHxBA,QGTF,8LAGE,gBHYJ,kBACE,yBACA,gBACA,0BACA,gBAIE,0MAEE,cACA,gBACA,0BIpDJ,oBC4FA,uDACA,mEAMA,iEAGA,kFAMA,8DACA,4DACA,yED9GA,sBC4FA,yDACA,sEAMA,mEAGA,oFAMA,gEACA,8DACA,4ED9GA,qBC4FA,wDACA,sEAMA,qEAGA,gFAMA,+DACA,6DACA,2ED9GA,oBC4FA,uDACA,oEAMA,oEAGA,+EAMA,8DACA,4DACA,yED9GA,oBC4FA,uDACA,oEAMA,iEAGA,kFAMA,8DACA,4DACA,yED9GA,mBC4FA,sDACA,kEAMA,gEAGA,iFAMA,6DACA,2DACA,uED9GA,kBC4FA,qDACA,mEAMA,kEAGA,6EAMA,4DACA,0DACA,wED9GA,mBC4FA,sDACA,iEAMA,gEAGA,iFAMA,6DACA,2DACA,wED9GA,iBC4FA,oDACA,+DAMA,8DAGA,+EAMA,2DACA,yDACA,sEDzGF,MACE,4BAMA,qBACA,2EAGE,wBACA,mCADA,+BACA,uCADA,0BACA,gCADA,8BACA,oCADA,8BACA,mCADA,8BACA,sCADA,6BACA,qCADA,+BACA,uCADA,gCACA,wCADA,2BACA,kCADA,4BACA,mCADA,gCACA,wCADA,4BACA,mCADA,yBACA,+BADA,4BACA,mCADA,gCACA,wCADA,2BACA,gCADA,6BACA,qCADA,8BACA,sCADA,qCACA,0CADA,gCACA,wCADA,mCACA,2CADA,mCACA,2CADA,kCACA,0CADA,iCACA,yCADA,kCACA,wCADA,mCACA,yCADA,iCACA,uCADA,oCACA,2CADA,oCACA,0CADA,sCACA,8CADA,uCACA,8CLsIA,yBKlJJ,MAII,6BAYJ,KACE,iBNkGiB,sCM9FnB,KACE,6BAGF,qCAGE,cACA,eACA,SACA,sCACA,kBACA,gBACA,UAMA,0HACE,aACA,WE4DkB,6GF3DlB","file":"nanopore.cn.css","sourcesContent":["@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCLight_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCLight_normal_normal.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCMedium_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCMedium_normal_normal.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCBold_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCBold_normal_normal.woff') format('woff');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: MHeiPRC;\n src:\n url('../nano-assets/fonts/MHeiPRCHeavy_normal_normal.woff2') format('woff2'),\n url('../nano-assets/fonts/MHeiPRCHeavy_normal_normal.woff') format('woff');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'colours';\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 600 !default;\n/// @prop - Line height of all headings\n$headings-line-height: 1.2 !default;\n/// @prop - Font size of heading level 1\n$h1-font-size: 28px !default;\n/// @prop - Font size of heading level 2\n$h2-font-size: 24px !default;\n/// @prop - Font size of heading level 3\n$h3-font-size: 22px !default;\n/// @prop - Font size of heading level 4\n$h4-font-size: 20px !default;\n/// @prop - Font size of heading level 5\n$h5-font-size: 18px !default;\n/// @prop - Font size of heading level 6\n$h6-font-size: 16px !default;\n\nhtml {\n font-family: var(--nano-font-family);\n font-weight: var(--nano-font-weight, 400);\n color: $text-color;\n font-size: var(--nano-base-font-size);\n}\n\na {\n color: nano-color(primary, base);\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-block: 16px 10px;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n}\n\nh1 {\n margin-block-start: 10px;\n font-size: $h1-font-size;\n}\n\nh2 {\n margin-block-start: 18px;\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsup {\n inset-block-start: -0.5em;\n}\n\nsub {\n inset-block-end: -0.25em;\n}\n\np {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-block: 0 1rem;\n\n &.supporting {\n font-size: 0.875rem;\n }\n}\n\n.heading {\n font-weight: 500;\n line-height: 1.3;\n margin-block: 0 1.5rem;\n margin-inline: 0;\n\n &__highlight {\n color: map.get($colors, blue);\n }\n\n @media print {\n color: map.get($colors, black);\n }\n\n &--one {\n font-size: 2.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 3.25rem;\n }\n }\n\n &--two {\n font-size: 1.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 2rem;\n }\n }\n\n &--three {\n font-size: 1.125rem;\n\n @include media-breakpoint-up('md') {\n font-size: 1.375rem;\n }\n }\n\n &--four {\n font-size: 1.125rem;\n }\n\n &--five {\n font-size: 1rem;\n }\n\n &--light {\n font-weight: 200;\n }\n\n &--upper {\n text-transform: uppercase;\n }\n\n &--meta {\n font-size: 0.875rem;\n text-transform: uppercase;\n letter-spacing: 1.3px;\n font-weight: bold;\n margin-block-end: 1rem;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/colours';\n\n$colors: (\n white: #fff,\n lightblue: #90c6e7,\n blue: darken(#0084a9, 4%),\n darkblue: #0c5a71,\n darkgrey: #455556,\n palegrey: #b5aea7,\n dimgrey: #918b86,\n lightgrey: #e4e6e8,\n mediumgrey: #687576,\n green: #17bb75,\n orange: #f57e20,\n paleyellow: #ede797,\n purple: #a53f97,\n red: #ef4135,\n yellow: #f5cc49,\n background: #f0efed,\n black: #4a4a4a,\n // Bg Colors\n celsius: #f0efed,\n offwhite: #f9f9fb,\n darkblue--faded: #005c75,\n // Faded Colors\n red--faded: #fee8de,\n orange--faded: #feeddb,\n yellow--faded: #fefcf2,\n green--faded: #edf5f2,\n blue--faded: #f2f7f9,\n // Darkened Colours\n blue--darker: #245a6f,\n green--darker: #0b814f,\n red--darker: #be2a20,\n purple--darker: #772c6d,\n orange--darker: #b95e17,\n palegrey--darker: #8c8379,\n lightblue--darker: #548caf,\n);\n\n// Text\n$dark-text-default: map.get($colors, black);\n$light-text-default: map.get($colors, white);\n\n// Theme\n$primary: map.get($colors, blue) !default;\n$secondary: map.get($colors, lightblue--darker) !default;\n$tertiary: map.get($colors, palegrey) !default;\n$success: map.get($colors, green) !default;\n$warning: map.get($colors, orange) !default;\n$danger: map.get($colors, red) !default;\n$light: map.get($colors, blue--faded) !default;\n$medium: map.get($colors, darkblue--faded) !default;\n$dark: map.get($colors, darkgrey) !default;\n\n// Theme css variables and variations\n$themes: (\n primary: (\n base: $primary,\n contrast: color-contrast($primary),\n shade: get-color-shade($primary),\n tint: get-color-tint($primary),\n ),\n secondary: (\n base: $secondary,\n contrast: color-contrast($secondary),\n shade: get-color-shade($secondary),\n tint: get-color-tint($secondary),\n ),\n tertiary: (\n base: $tertiary,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($tertiary),\n tint: get-color-tint($tertiary),\n ),\n success: (\n base: $success,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($success),\n tint: get-color-tint($success),\n ),\n warning: (\n base: $warning,\n contrast: color-contrast($warning),\n shade: get-color-shade($warning),\n tint: get-color-tint($warning),\n ),\n danger: (\n base: $danger,\n contrast: color-contrast($danger),\n shade: get-color-shade($danger),\n tint: get-color-tint($danger),\n ),\n light: (\n base: $light,\n contrast: color-contrast($light),\n shade: get-color-shade($light),\n tint: get-color-tint($light),\n ),\n medium: (\n base: $medium,\n contrast: color-contrast($medium),\n shade: get-color-shade($medium),\n tint: get-color-tint($medium),\n ),\n dark: (\n base: $dark,\n contrast: color-contrast($dark),\n shade: get-color-shade($dark),\n tint: get-color-tint($dark),\n ),\n) !default;\n\n// Default Foreground and Background Colors\n// -------------------------------------------------------------------------------------------\n// Used internally to calculate the default steps\n\n$background-color-value: map.get($colors, background) !default;\n$background-color-rgb-value: color-to-rgb-list(\n $background-color-value\n) !default;\n\n$text-color-value: map.get($colors, black) !default;\n$text-color-rgb-value: color-to-rgb-list($text-color-value) !default;\n\n$text-color: var(--nano-text-color, $text-color-value) !default;\n$text-color-rgb: var(--nano-text-color-rgb, $text-color-rgb-value) !default;\n\n$background-color: var(\n --nano-background-color,\n $background-color-value\n) !default;\n$background-color-rgb: var(\n --nano-background-color-rgb,\n $background-color-rgb-value\n) !default;\n","@use 'sass:string';\n\n@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:dir(rtl)) {\n @if string.length($root) > 0 {\n #{$root} { @content; }\n }\n\n @else {\n @content;\n }\n }\n\n @at-root :host-context([dir=\"rtl\"]) {\n @if string.length($root) > 0 {\n #{$root} { @content; }\n }\n\n @else {\n @content;\n }\n }\n}\n\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import './colours';\n@import './button';\n\n.button {\n @include button-base;\n}\n\n.button--primary {\n @include button-standard(\n #{nano-color(primary, base)},\n #{nano-color(primary, contrast)},\n #{nano-color(primary, shade)}\n );\n}\n\n.button--secondary {\n @include button-standard(\n map.get($colors, green),\n map.get($colors, white),\n map.get($colors, green--darker)\n );\n}\n\n.button--light {\n @include button-standard(\n map.get($colors, white),\n map.get($colors, blue),\n map.get($colors, white),\n map.get($colors, darkblue)\n );\n}\n\n.button--danger {\n @include button-standard(\n map.get($colors, red),\n map.get($colors, white),\n map.get($colors, red--darker)\n );\n}\n\n.button--warning {\n @include button-standard(\n map.get($colors, orange),\n map.get($colors, white),\n map.get($colors, orange--darker)\n );\n}\n\n.button--tertiary {\n background: transparent;\n box-shadow: none;\n text-decoration: underline;\n font-weight: 400;\n\n &:hover,\n &:focus {\n &:not(.button--disabled):not(:disabled),\n &.button--active {\n color: map.get($colors, palegrey);\n box-shadow: none;\n text-decoration: underline;\n }\n }\n}\n","/// Strips browser styling from an input.\n\n@mixin unstyled-input($outline: false) {\n padding: 0;\n border: none;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n\n @if $outline == false {\n outline: none;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n}\n","/// Displays an anchor as plain text.\n\n@mixin unstyled-anchor {\n text-decoration: none;\n color: inherit;\n\n &:hover,\n &:focus {\n text-decoration: none;\n color: inherit;\n }\n}\n","@import '../utilities/css-patterns/patterns';\n@import './layers';\n@import './form';\n\n// Border\n$btn-border-radius: var(--nano-btn-border-radius, 5px);\n$btn-border-width: var(--nano-btn-border-width, 2px);\n$btn-border-style: var(--nano-btn-border-style, solid);\n\n// Spacing\n$btn-padding-top: var(--nano-btn-padding-top, 0.5rem);\n$btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5rem);\n$btn-padding-start: var(--nano-btn-padding-start, 1rem);\n$btn-padding-end: var(--nano-btn-padding-end, 1rem);\n$btn-line-height: var(--nano-btn-line-height, 1.5em);\n\n// Misc\n$btn-icon-size: var(--nano-btn-icon-size, 1em);\n\n@mixin transition-hover {\n transition:\n background-color 100ms ease-in-out,\n box-shadow 100ms ease-in-out,\n border-color 100ms ease-in-out,\n color 100ms ease-in-out;\n}\n\n@mixin button-keyline {\n background: transparent;\n border-style: #{$btn-border-style};\n border-width: #{$btn-border-width};\n border-radius: #{$btn-border-radius};\n padding-block:\n calc(#{$btn-padding-top} - #{$btn-border-width})\n calc(#{$btn-padding-bottom} - #{$btn-border-width});\n\n &:hover:not(.button--disabled):not(:disabled),\n &:not(:focus):not(.button--focus),\n &.button--active {\n box-shadow: none;\n }\n}\n\n@mixin button-standard($bg, $font, $bg-hover: false, $font-hover: false) {\n $font-hover: if($font-hover, $font-hover, $font);\n $bg-hover: if($bg-hover, $bg-hover, $bg);\n\n background-color: $bg;\n color: $font;\n\n &:hover:not(.button--disabled):not(:disabled),\n &.button--active {\n background-color: $bg-hover;\n color: $font-hover;\n\n &.button--keyline {\n background-color: $bg;\n color: $font;\n }\n }\n\n &:focus {\n color: $font;\n }\n\n &.button--keyline {\n @include button-keyline;\n\n color: $bg;\n border-color: $bg;\n }\n}\n\n@mixin button-base {\n @include unstyled-input($outline: true);\n @include unstyled-anchor;\n @include transition-hover;\n\n padding-inline: #{$btn-padding-start} #{$btn-padding-end};\n padding-block: #{$btn-padding-top} #{$btn-padding-bottom};\n box-shadow: #{$layer-shadow-medium};\n display: inline-block;\n border-radius: #{$btn-border-radius};\n line-height: #{$btn-line-height};\n font-weight: 400;\n cursor: pointer;\n background: rgb(0 0 0 / 2%);\n\n @media print {\n display: none;\n }\n\n &:focus,\n &.button--focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n\n nano-icon,\n nano-spinner {\n --base-color-rgb: 255 255 255;\n\n margin-inline-start: 0.5em;\n margin-inline-end: 0;\n font-size: #{$btn-icon-size};\n vertical-align: middle;\n margin-block-start: -0.188em;\n display: inline-block;\n }\n\n &.button--icon-start {\n nano-icon,\n nano-spinner {\n margin-inline-start: 0;\n margin-inline-end: 0.5em;\n }\n }\n\n &:hover:not(.button--disabled) {\n box-shadow: #{$layer-shadow-large};\n }\n\n &:active:not(.button--disabled):not(:disabled) {\n box-shadow: none;\n }\n\n &--disabled,\n &:disabled {\n opacity: 0.6;\n\n &:hover {\n cursor: default;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../global/style/utilities/globals';\n@import '../global/style/nano-theme/mheiprc';\n@import '../global/style/nano-theme/colours';\n@import '../global/style/nano-theme/typography';\n@import '../global/style/nano-theme/buttons';\n@import '../global/style/nano-theme/form';\n\n@each $color-name, $value in $themes {\n .nano-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n:root {\n --nano-base-font-size: 16px;\n\n @include media-breakpoint-down('sm') {\n --nano-base-font-size: 14px;\n }\n\n --nano-padding: 1rem;\n --nano-font-family: MHeiPRC, helvetica, arial, 'Lucida Grande', sans-serif;\n\n @each $key, $value in $colors {\n #{'--nano-color-' + $key}: #{$value};\n #{'--nano-color-' + $key + '-rgb'}: #{color-to-rgb-list($value)};\n }\n}\n\nbody {\n background-color: $background-color;\n}\n\n// no italics in chinese\nem, i {\n font-style: normal !important;\n}\n\nhr,\n.horizontal-rule,\n.content-divider {\n display: block;\n block-size: 1px;\n border: 0;\n background-color: rgba(map.get($colors, palegrey), 0.5);\n margin-block: 0.5em;\n margin-inline: 0;\n padding: 0;\n}\n\narea[href]:not([tabindex='-1']),\niframe:not([tabindex='-1']),\n[contentEditable='true']:not([tabindex='-1']) {\n &:focus {\n outline: none;\n box-shadow: $control-focus-style;\n border-radius: 3px;\n }\n}\n","@use 'sass:math';\n\n@import 'mixins';\n\n$dark-text-default: #000 !default;\n$light-text-default: #fff !default;\n\n@function current-color($variation, $alpha: null) {\n @if not $alpha {\n @return var(--nano-color-#{$variation});\n }\n\n @else {\n @return rgb(var(--nano-color-#{$variation}-rgb) / #{$alpha});\n }\n}\n\n// Mixes a color with black to create its shade.\n// --------------------------------------------------------------------------------------------\n@function get-color-shade($color) {\n @return mix(#000, $color, 15%);\n}\n\n// Mixes a color with white to create its tint.\n// --------------------------------------------------------------------------------------------\n@function get-color-tint($color) {\n @return mix(#fff, $color, 15%);\n}\n\n// Converts a color to a comma separated hsl.\n// --------------------------------------------------------------------------------------------\n@function color-to-hsl-list($color) {\n @return #{hue($color)} #{saturation($color)} #{lightness($color)};\n}\n\n// Converts a color to a comma separated rgb.\n// --------------------------------------------------------------------------------------------\n@function color-to-rgb-list($color) {\n @return #{red($color)} #{green($color)} #{blue($color)};\n}\n\n// Calculeate brightness of a given color.\n@function brightness($color) {\n @return math.div(\n (red($color) * 0.299) + (green($color) * 0.587) + (blue($color) * 0.114),\n 255\n ) * 100%;\n}\n\n// Compares contrast of a given color to the light/dark arguments and returns whichever is most \"contrasty\"\n@function color-contrast(\n $color,\n $dark: $dark-text-default,\n $light: $light-text-default\n) {\n @if $color==null {\n @return null;\n }\n\n @else {\n $color-brightness: brightness($color);\n $light-text-brightness: brightness($light);\n $dark-text-brightness: brightness($dark);\n\n @return if(\n abs($color-brightness - $light-text-brightness) > abs($color-brightness - $dark-text-brightness),\n $light,\n $dark\n );\n }\n}\n\n@function nano-color($name, $variation, $alpha: null, $rgb: null) {\n $values: map-get($themes, $name);\n $value: map-get($values, $variation);\n $variable: --nano-color-#{$name}-#{$variation};\n\n @if ($variation == base) {\n $variable: --nano-color-#{$name};\n }\n\n @if ($alpha) {\n $value: color-to-rgb-list($value);\n\n @return rgb(var(#{$variable}-rgb, $value) / $alpha);\n }\n\n @if ($rgb) {\n $value: color-to-rgb-list($value);\n $variable: #{$variable}-rgb;\n }\n\n @return var(#{$variable}, $value);\n}\n\n@mixin generate-color($color-name, $important: '') {\n $value: map-get($themes, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --nano-color-base: var(--nano-color-#{$color-name}, #{$base}) #{$important};\n --nano-color-base-rgb:\n var(\n --nano-color-#{$color-name}-rgb,\n #{color-to-rgb-list($base)}\n )\n #{$important};\n --nano-color-contrast:\n var(--nano-color-#{$color-name}-contrast, #{$contrast})\n #{$important};\n --nano-color-contrast-rgb:\n var(\n --nano-color-#{$color-name}-contrast-rgb,\n #{color-to-rgb-list($contrast)}\n )\n #{$important};\n --nano-color-shade: var(--nano-color-#{$color-name}-shade, #{$shade}) #{$important};\n --nano-color-tint: var(--nano-color-#{$color-name}-tint, #{$tint}) #{$important};\n --nano-color-tint-rgb:\n var(\n --nano-color-#{$color-name}-tint-rgb,\n #{color-to-rgb-list($tint)}\n )\n #{$important};\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import 'colours';\n\n// Defaults\n\n$df-input-padding-top: 8px;\n$df-input-padding-bottom: 6px;\n$df-input-padding-start: 8px;\n$df-input-padding-end: 8px;\n\n$df-input-background-color: map.get($colors, white);\n$df-input-background-color--invalid: white;\n\n$df-input-text-color: $text-color-value;\n$df-input-font-size: 0.87em;\n\n$df-input-border-width: 1px;\n$df-input-border-style: solid;\n$df-input-border-radius: 0;\n\n$df-input-border-color: map.get($colors, lightgrey);\n$df-input-border--focus-color: map.get($colors, lightblue);\n$df-input-border--invalid-color: map.get($colors, lightgrey);\n$df-input-border--invalid-focus-color: map.get($colors, red);\n\n$df-clear-btn-color: rgb(0 0 0 / 30%);\n$df-clear-btn-color--invalid: lighten(map.get($colors, red), 30%);\n\n$df-label-color: 'currentcolor';\n$df-label-font-size: 1em;\n\n$df-input-help-font-size: 0.75em;\n$df-input-help-color: darken(map.get($colors, mediumgrey), 3%);\n\n$df-input-tag-bg: color-to-rgb-list(#badcf0);\n$df-input-tag-color: #455556;\n$df-input-tag-border-color: #badcf0;\n\n// Setup global / theme css variables with default fallbacks\n\n// Placeholders\n$input-placeholder-color: var(--nano-input-placeholder-color, initial);\n$input-placeholder-style: var(--nano-input-placeholder-style, initial);\n$input-placeholder-weight: var(--nano-input-placeholder-weight, initial);\n$input-placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n\n// Space around labels, help, errors and inside inputs\n$input-padding-bottom: var(\n --nano-input-padding-bottom,\n var(--nano-input-padding, $df-input-padding-bottom)\n);\n$input-padding-start: var(\n --nano-input-padding-start,\n var(--nano-input-padding, $df-input-padding-start)\n);\n$input-padding-end: var(\n --nano-input-padding-end,\n var(--nano-input-padding, $df-input-padding-end)\n);\n$input-padding-top: var(\n --nano-input-padding-top,\n var(--nano-input-padding, $df-input-padding-top)\n);\n\n// Input background\n$input-background-color: var(\n --nano-input-background-color,\n $df-input-background-color\n);\n$input-background-color--invalid: var(\n --nano-input-background-color,\n $df-input-background-color--invalid\n);\n\n// Input text\n$input-text-color: var(--nano-input-text-color, $df-input-text-color);\n$input-font-size: var(--nano-input-font-size, $df-input-font-size);\n\n// Input border\n$input-border-width: var(--nano-input-border-width, $df-input-border-width);\n$input-border-color: var(--nano-input-border-color, $df-input-border-color);\n$input-border-style: var(--nano-input-border-style, $df-input-border-style);\n$input-border-radius: var(--nano-input-border-radius, $df-input-border-radius);\n\n// Input border state variants\n$input-border--focus-color: var(\n --nano-input-border-color--focus,\n $df-input-border--focus-color\n);\n$input-border--invalid-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-color\n);\n$input-border--invalid-focus-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-focus-color\n);\n\n// Clear button\n$clear-btn-color: var(--nano-clear-btn-color, $df-clear-btn-color);\n$clear-btn-color--invalid: var(\n --nano-clear-btn-color--invalid,\n $df-clear-btn-color--invalid\n);\n\n// Label\n$label-color: var(--nano-input-label-color, $df-label-color);\n$label-color-invalid: var(--nano-input-label-color-invalid, $df-label-color);\n$label-font-size: var(--nano-input-label-color, $df-label-font-size);\n\n// Focus shadow / outline\n$control-focus-color: var(\n --nano-control-focus-color,\n rgba(map.get($colors, lightblue), 0.8)\n);\n$control-focus-size: 0 0 0 0.1875rem;\n$control-focus-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $control-focus-color}\n);\n$control-invalid-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $df-input-border--invalid-color}\n);\n\n// Helper / Error text\n$input-help-font-size: var(\n --nano-input-help-font-size,\n $df-input-help-font-size\n);\n$input-help-color: var(--nano-input-help-color, $df-input-help-color);\n\n// General button\n$button-bg-color: var(--nano-button-color, #{map.get($colors, celsius)});\n\n// Tags / Multi value\n$input-tag-bg: var(--nano-input-tag-bg, $df-input-tag-bg);\n$input-tag-color: var(--nano-input-tag-color, $df-input-tag-color);\n$input-tag-border-color: var(\n --nano-input-tag-color,\n $df-input-tag-border-color\n);\n\n// Select\n$select-opt-focus: var(\n --nano-select-opt-bg,\n darken(map.get($colors, blue--faded), 5%)\n);\n$select-opt-selected: var(--nano-select-opt-bg, map.get($colors, blue--faded));\n"]}
|