@nanoporetech-digital/components 3.3.3 → 3.4.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 +23 -0
- package/dist/assets/fonts/HVMicro500.woff +0 -0
- package/dist/assets/fonts/HVMicro500.woff2 +0 -0
- package/dist/assets/fonts/HVMicro500It.woff +0 -0
- package/dist/assets/fonts/HVMicro500It.woff2 +0 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +14 -56
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +3 -0
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-1cd4b530.js → nano-table-b9cdafab.js} +2 -2
- package/dist/cjs/{nano-table-1cd4b530.js.map → nano-table-b9cdafab.js.map} +1 -1
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{table.worker-715f9aba.js → table.worker-291904c9.js} +2 -2
- package/dist/cjs/table.worker-291904c9.js.map +1 -0
- package/dist/collection/components/global-nav/global-nav.js +3 -0
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.js +29 -56
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/components/nano-global-nav.js +3 -0
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nav-item.js +15 -57
- package/dist/components/nav-item.js.map +1 -1
- package/dist/custom-elements/index.js +18 -57
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +14 -56
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +3 -0
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/{nano-table-c5c414a0.js → nano-table-c8ef2276.js} +2 -2
- package/dist/esm/{nano-table-c5c414a0.js.map → nano-table-c8ef2276.js.map} +1 -1
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{table.worker-70ee9cc5.js → table.worker-65438fa0.js} +2 -2
- package/dist/esm/table.worker-65438fa0.js.map +1 -0
- 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-2c1b860b.entry.js → p-14218d23.entry.js} +2 -2
- package/dist/nano-components/{p-24be19d0.js.map → p-14218d23.entry.js.map} +0 -0
- package/dist/nano-components/{p-6be65357.entry.js → p-807c2e92.entry.js} +2 -2
- package/dist/nano-components/p-807c2e92.entry.js.map +1 -0
- package/dist/nano-components/p-9e8c9bac.entry.js +5 -0
- package/dist/nano-components/p-9e8c9bac.entry.js.map +1 -0
- package/dist/nano-components/{p-5345bd27.js → p-f9349146.js} +2 -2
- package/dist/nano-components/{p-5345bd27.js.map → p-f9349146.js.map} +0 -0
- package/dist/nano-components/{p-24be19d0.js → p-fe1f8360.js} +2 -2
- package/dist/nano-components/{p-2c1b860b.entry.js.map → p-fe1f8360.js.map} +0 -0
- package/dist/themes/nanopore.css +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/nav-item/nav-item.d.ts +1 -3
- package/docs-json.json +15 -2
- package/package.json +2 -2
- package/dist/cjs/table.worker-715f9aba.js.map +0 -1
- package/dist/esm/table.worker-70ee9cc5.js.map +0 -1
- package/dist/nano-components/p-2d0cd874.entry.js +0 -5
- package/dist/nano-components/p-2d0cd874.entry.js.map +0 -1
- package/dist/nano-components/p-6be65357.entry.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["src/components/global-nav/global-nav-user-profile.tsx","src/components/nav-item/nav-item.scss?tag=nano-nav-item&encapsulation=shadow","src/components/nav-item/nav-item.tsx","src/components/select/select.scss?tag=nano-select&encapsulation=scoped","src/components/select/select.tsx"],"names":["GlobalNavUserProfile","[object Object]","h","href","this","userProfileUrl","class","src","myAccountUser","small_avatar_url","alt","height","width","is_nanopore_user","getAssetPath","name","job_title","company","slot","aria-label","navItemCss","NavItem","hasSecondarySlot","hasAnchorEle","animating","closeSecondary","async","didOpen","open","displayTransition","secondaryDiv","nanoClosing","emit","secondaryMenu","openSecondary","window","innerWidth","secondaryActiveWidth","secondaryFallback","call","nanoOpening","toggleSecondary","handleFocus","hasFocus","nanoFocus","handleHostBlur","el","removeAttribute","nanoBlur","handleHostClick","ev","foundlink","target","closest","btn","click","handleMouseEnter","globalNavEle","classList","contains","timeToWait","getSiblings","length","clearTimeout","waitHide","fromHover","waitShow","setTimeout","handleMouseLeave","handleClick","querySelector","focus","document","activeElement","body","preventScroll","tabIndex","nanoClose","panelio","IntersectionObserver","data","boundingClientRect","top","scrollIntoView","behavior","disconnect","threshold","observe","focusableChild","getTabbableElements","nanoOpen","e","composedPath","some","secondaryEle","link","getDirectChildren","addEventListener","isInGlobalNav","isInMenuDrawer","isInMenu","parentElement","Host","has-secondary","secondary-open","selected","has-focus","disabled","nano-global-nav","nano-menu-drawer","nano-menu","onBlur","dir","ownerDocument","onMouseEnter","onMouseLeave","onClick","role","nav-item","part","ref","a","onFocus","notification","div","selectCss","selectIds","Select","hostRef","valueItems","selectId","rtl","onInit","customError","_value","multiple","_options","customValidate","nativeSelect","setCustomValidity","required","valArray","allowCustomValues","isValidValues","max","min","showInlineValidation","validateOn","_invalid","showErrorMsg","errorMessage","validity","valid","validationMessage","nanoValidate","isValid","invalid","originalEvent","handleInvalid","showInlineError","preventDefault","requestAnimationFrame","setValue","value","detail","includes","currInsertIndex","slice","inputSearchVal","removeValue","toFind","filter","val","setFocus","setOptions","datalist","activeOptions","_eOptions","map","ao","label","filterMeta","handleDocumentKeyDown","rm","key","inputCtrl","previousElementSibling","dataset","nextElementSibling","previousSibling","nextSibling","event","Event","dispatchEvent","clearSelectValue","clearSelect","readonly","stopPropagation","onDragStart","ele","dragVal","onDragEnd","onDragLeave","spanVal","to","indexOf","from","tmpArr","tmpVal","onMultiInput","trim","nanoSearchChange","debounce","_inputCtrl","input","setDataListOpts","selectWrap","_selectWrap","_datalist","validityMessage","split","Array","isArray","options","opts","opt","debounceEvent","shouldValidate","nanoChange","currDWConfig","dropDownConfig","tetherTo","validateFirst","Promise","resolve","message","find","mo","MutationObserver","processSlottedContent","childList","subtree","hasLabelSlot","querySelectorAll","hasHelperSlot","hasHelperEndSlot","form","kev","getActiveElement","closestElement","tagName","toLowerCase","debounceChanged","CustomEvent","slotChangeObserver","labelId","moreId","helperEndId","compWrapOptions","floatLabel","hideLabel","placeholder","wrapOptions","hasValue","controlId","controlOptions","clearControl","type","aria-disabled","createColorClasses","color","has-value","is-invalid","has-label","has-float-label","has-multiple","has-clr-btn","masked","mask","FormControlWrap","FormControl","onClearText","control","endValueSlot","multipleValues","getLabel","id","aria-labelledby","readOnly","onNanoOptionsUpdated","onNanoSelect","onNanoDeselect","undefined","select","onInvalid","autoFocus","autofocus","autocomplete","onKeyDown","onInput","onTouchStart","onMouseDown","i","toReturn","onDragOver","draggable","data-value","span","push","tabindex","onTouchEnd","onMouseUp"],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n getAssetPath,\n ComponentInterface,\n} from '@stencil/core';\nimport { MyAccountUser } from './global-nav-interface';\n\n/**\n * Nanopore digital global navigation user profile.\n */\n@Component({\n tag: 'nano-global-nav-user-profile',\n assetsDirs: ['assets'],\n})\nexport class GlobalNavUserProfile implements ComponentInterface {\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop() myAccountUser: MyAccountUser = null;\n\n /**\n * Link to the user profile\n */\n @Prop() userProfileUrl: string = '';\n\n // Render output\n\n render() {\n return (\n <a href={this.userProfileUrl} class=\"user-profile\">\n <div class=\"left\">\n <div class=\"avatar-container\">\n <img\n class=\"avatar\"\n src={this.myAccountUser.small_avatar_url}\n alt=\"User Avatar\"\n height={75}\n width={75}\n />\n {this.myAccountUser.is_nanopore_user && (\n <img\n class=\"logo-small\"\n src={getAssetPath(`./assets/ont-wheel-light.svg`)}\n alt=\"Nanopore Logo\"\n />\n )}\n </div>\n\n <div class=\"user-details\">\n <span class=\"name\">{this.myAccountUser.name}</span>\n\n <span class=\"bio\">\n {this.myAccountUser.job_title} at {this.myAccountUser.company}\n </span>\n </div>\n </div>\n\n <div class=\"right\">\n <div class=\"chevron-right\">\n <nano-icon\n slot=\"icon-end\"\n name=\"light/chevron-right\"\n aria-label=\"navigate to ...\"\n ></nano-icon>\n </div>\n </div>\n </a>\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n\n:host {\n // These can be overwritten, but are automatically set from context components\n\n // --padding-top: inherit;\n // --padding-bottom: inherit;\n // --padding-start: inherit;\n // --padding-end: inherit;\n // --margin: inherit;\n\n // --secondary-padding-top: inherit;\n // --secondary-padding-bottom: inherit;\n // --secondary-padding-start: inherit;\n // --secondary-padding-end: inherit;\n\n // --border-bottom: inherit;\n // --icon-size: inherit;\n\n // --color: inherit;\n // --color-hover: inherit;\n // --color-focus: inherit;\n // --color-selected: inherit;\n // --color-open: inherit;\n\n // --bg-color: inherit;\n // --bg-color-hover: inherit;\n // --bg-color-selected: inherit;\n // --bg-color-open: inherit;\n // --bg-color-focus: inherit;\n\n // --secondary-bg-color: inherit;\n // --secondary-color: inherit;\n\n opacity: inherit;\n display: block;\n color: var(--color) !important;\n margin: var(--margin);\n outline: none !important;\n\n .nav-item,\n .link {\n outline: none !important;\n }\n\n ::slotted(*),\n * {\n box-sizing: border-box;\n }\n\n ::slotted(button),\n button {\n background: none;\n border: none;\n margin: 0;\n }\n\n ::slotted(button),\n ::slotted(a),\n ::slotted(a:visited),\n button,\n a,\n a:visited {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n display: var(--display, block);\n white-space: nowrap;\n color: var(--color) !important;\n background-color: var(--bg-color);\n line-height: inherit;\n outline: none !important;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline-end: var(--padding-end);\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline-start: var(--padding-start);\n }\n\n .link {\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline-start: var(--padding-start);\n padding-inline-end: 0;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline-end: var(--padding-end);\n padding-inline-start: 0;\n }\n }\n\n .link,\n button,\n a {\n border-block-end: var(--border-bottom);\n display: flex;\n align-items: center;\n }\n\n .secondary-menu {\n display: none;\n }\n\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n text-decoration: inherit !important;\n }\n\n button:focus-visible,\n a:focus-visible {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{$control-focus-style};\n }\n\n ::slotted(a:focus-visible),\n ::slotted(button:focus-visible) {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{$control-focus-style};\n }\n}\n\n.nav-item {\n &.selected {\n .link,\n button,\n a {\n color: var(--color-selected, var(--color-open, var(--color))) !important;\n background-color:\n var(\n --bg-color-selected,\n var(--bg-color-open, var(--bg-color))\n );\n }\n }\n\n &.secondary-open {\n button,\n a {\n color: var(--color-open, var(--color-selected, var(--color))) !important;\n background-color:\n var(\n --bg-color-open,\n var(--secondary-bg-color, var(--bg-color-selected, var(--bg-color)))\n );\n }\n }\n\n &.disabled {\n opacity: 0.6;\n\n button,\n a {\n color: var(--color-disabled, var(--color)) !important;\n }\n }\n\n &:not(.nano-menu) {\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n color: var(--color-hover, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-hover,\n var(--bg-color-focus, var(--bg-color))\n );\n }\n }\n}\n\n:host(.has-focus) {\n .link {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n outline: var(--focus-outline, 5px auto -webkit-focus-ring-color);\n }\n}\n\n:host(.nano-global-nav-menu),\n:host(.nano-menu) {\n a,\n a:visited,\n button,\n .link {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: 'currentColor';\n text-decoration: inherit;\n white-space: normal;\n cursor: pointer;\n line-height: 1.2;\n width: 100%;\n }\n\n .text {\n padding-inline-start: 0;\n padding-inline-end: var(--padding-end);\n flex: 1;\n }\n\n ::slotted(a),\n ::slotted(button) {\n flex: 1;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n color: var(--secondary-color, 'currentColor');\n min-height: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.2s ease, transform 0.3s ease;\n background-color: var(--secondary-bg-color, white);\n transform: translateX(100%);\n\n &:focus {\n outline: none;\n }\n\n &.open {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 0.3s ease, transform 0.2s ease;\n }\n }\n}\n\n:host(.nano-global-nav-menu) {\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: 10px;\n flex: 0 0 10px;\n pointer-events: none;\n }\n\n button,\n a {\n ::slotted(nano-icon[slot='icon-end']) {\n padding: 0;\n }\n }\n}\n\n:host(.nano-global-nav-menu[dir='rtl']),\n:host(.nano-menu[dir='rtl']) {\n .secondary-menu {\n transform: translateX(-100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n}\n\n:host(.nano-menu) {\n ::slotted(a:focus),\n ::slotted(button:focus) {\n box-shadow: none;\n }\n\n .secondary-menu-content {\n padding-inline: var(--secondary-padding-start) var(--secondary-padding-end);\n padding-block: var(--secondary-padding-top) var(--secondary-padding-bottom);\n }\n}\n\n:host(.nano-global-nav-bar) {\n .link,\n a,\n button {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n\n .text {\n flex: 1 0 auto;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n margin-inline: var(--padding-end) 0;\n margin-block: 0;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n margin-inline: 0 var(--padding-start);\n margin-block: 0;\n }\n\n ::slotted(a),\n button {\n position: relative;\n\n &::before {\n content: '';\n background-color: rgb(12, 90, 113);\n height: 9px;\n inset-inline: 0 5px;\n inset-block-end: -22px;\n position: absolute;\n transform: translateZ(0) scaleX(0);\n transform-origin: 0;\n transition: 0.2s ease transform;\n }\n }\n\n .selected button::before,\n .secondary-open button::before {\n transform: translateZ(0) scaleX(1);\n }\n}\n\n:host(.nano-global-nav-bar.selected) {\n ::slotted(a) {\n &::before {\n transform: translateZ(0) scaleX(1);\n }\n }\n}\n\n:host(.nano-global-nav-bar.has-secondary) {\n .secondary-open button::before {\n opacity: 0.7;\n }\n\n .secondary-menu {\n display: none;\n transition: transform 0.3s ease;\n transform: translateY(-100%) translateZ(0);\n background-color: var(--secondary-bg-color, #196c82);\n color: var(--secondary-color);\n position: absolute;\n box-shadow: 0 1px 25px 0 rgba(0, 0, 0, 0.15);\n inset-inline: 0;\n z-index: -2;\n outline: none;\n\n &.open {\n transform: translateY(12px) translateZ(0);\n }\n }\n}\n\n:host(.nano-menu-drawer) {\n .link,\n a,\n button {\n padding-block-start: calc(var(--padding-top) / 2);\n padding-inline-end: 0;\n padding-block-end: calc(var(--padding-bottom) / 2);\n padding-inline-start: var(--padding-start);\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentColor;\n text-decoration: inherit;\n white-space: normal;\n border: none;\n cursor: pointer;\n line-height: 1.2;\n width: 100%;\n }\n\n .text {\n padding-inline-end: var(--padding-end);\n padding-inline-start: 0;\n text-align: start;\n flex: 0 1 auto;\n min-width: 130px;\n width: 130px;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: var(--icon-size);\n width: var(--icon-size);\n flex: 0 0 var(--icon-size);\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding: 0 var(--padding-end) 0 0;\n font-size: 10px;\n flex: 0 0 20px;\n min-width: 20px;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n background-color: var(--secondary-bg-color);\n color: var(--secondary-color);\n height: 100vh;\n inset-inline: auto 0;\n inset-block: 0;\n transform: translateX(0);\n z-index: -1;\n transition: transform 0.3s ease, opacity 0.2s ease;\n overflow-y: auto;\n width: var(--secondary-width, 400px);\n max-width: 62vw;\n opacity: 1;\n padding-inline: var(--secondary-padding-start, var(--padding-start)) var(--secondary-padding-end, var(--padding-end));\n padding-block: var(--secondary-padding-top, var(--padding-top)) var(--secondary-padding-bottom, var(--padding-bottom));\n\n &:focus {\n outline: none;\n }\n\n &.open {\n transform: translateX(100%);\n }\n }\n\n .notification {\n position: relative;\n\n &::after {\n content: '';\n display: block;\n position: absolute;\n width: 6px;\n height: 6px;\n background-color: #ef4135;\n inset-inline-start: 10px;\n inset-block-start: 7px;\n border-radius: 50%;\n\n @media (min-width: 52em) {\n width: 7px;\n height: 7px;\n inset-inline-start: 8px;\n inset-block-start: 5px;\n }\n }\n }\n}\n\n:host(.nano-menu-drawer[dir='rtl']) {\n .secondary-menu {\n transform: translateX(0%);\n\n &.open {\n transform: translateX(-100%);\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n h,\n Host,\n Element,\n Prop,\n Watch,\n EventEmitter,\n Event,\n State,\n Method,\n ComponentInterface,\n Listen,\n} from '@stencil/core';\nimport { getDirectChildren, getSiblings } from '../../utils/dom';\nimport { displayTransition } from '../../utils/transitions';\nimport { getTabbableElements } from '../../utils/tabbable';\nimport type { NavItemEventDetail } from '../../interface';\n\n/**\n * Nav items to be used with the various nav items.\n * [Globla-Nav](/story/compounds-global-nav)\n * [Menu-Drawer](/story/components-menu-drawer)\n * [Dropdown](/story/components-dropdown)\n *\n * @slot icon-start - an icon at the start of the main control\n * @slot icon-end - an icon at the end of the main control\n * @slot secondary - a content panel in which you can place any html to display on control click\n * @slot - use the default slot for either `<a>` or text (if constructing a secondary content panel or using `href` directly)\n * @part ctrl - the controlling `<a>` or `<button>` element\n * @part ctrl--button - the controlling `<button>` element\n * @part ctrl--anchor - the controlling <a> element\n * @part ctrl-wrapper - the wrapping div around the control (shadow `<button>` / `<a>` or slotted `<a>`)\n * @part secondary-wrapper - the div surrounding slotted secondary content\n * @part secondary-mask - the div that is added when secondary content is shown\n */\n@Component({\n tag: 'nano-nav-item',\n styleUrl: 'nav-item.scss',\n shadow: true,\n})\nexport class NavItem implements ComponentInterface {\n private hasSecondarySlot: boolean = false;\n private hasAnchorEle: boolean = false;\n private secondaryDiv: HTMLDivElement;\n private btn: HTMLButtonElement | HTMLAnchorElement;\n private fromHover: boolean;\n private animating: boolean = false;\n private waitHide: number;\n private waitShow: number;\n private globalNavEle?: HTMLNanoGlobalNavElement;\n\n @State() didOpen: boolean = false;\n @State() isInGlobalNav: boolean = false;\n @State() isInMenuDrawer: boolean = false;\n @State() isInMenu: boolean = false;\n @State() hasFocus: boolean = false;\n @Element() private el: HTMLNanoNavItemElement;\n\n /**\n * Href to link to\n */\n @Prop({ mutable: true }) href: string = null;\n\n /**\n * Target to use for links\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n /**\n * Disable the nav item\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether a secondary menu should be or is currently open\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether this menu item is currently 'selected'\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Screen pixel width to activate the secondary menu\n */\n @Prop() secondaryActiveWidth: number = 0;\n\n /**\n * Secondary fallback function for when the secondary menu is no longer active.\n */\n @Prop() secondaryFallback = () => {};\n\n /**\n * Whether secondary menus should close on blur\n */\n @Prop() closeOnBlur: boolean = true;\n\n /**\n * Will show an indicator badge - only when placed in a nano-menu-draw\n */\n @Prop() notification: boolean = false;\n\n /**\n * Emitted when the nav item closes it's secondary navigation.\n */\n @Event() nanoClose!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item opens it's secondary navigation.\n */\n @Event() nanoOpen!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to open it's secondary navigation.\n */\n @Event() nanoOpening!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to close it's secondary navigation.\n */\n @Event() nanoClosing!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the nav item has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Sets focus on the first button or anchor present. Use this method instead of the global\n * `element.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.btn) return;\n this.btn.focus();\n }\n\n /**\n * Public open watcher\n */\n @Watch('open')\n openChange() {\n this.open ? this.openSecondary() : this.closeSecondary();\n }\n\n /**\n * Internal open watcher\n */\n @Watch('didOpen')\n didOpenChange() {\n if (!this.hasSecondarySlot) return;\n\n if (!this.didOpen) {\n /* the secondadry panel is not closing via hover,\n remove blur events, add focus back to originating button */\n setTimeout(() => {\n if (\n !this.fromHover &&\n (!document.activeElement || document.activeElement === document.body)\n )\n this.btn.focus({ preventScroll: true });\n this.el.tabIndex = null;\n this.nanoClose.emit({ secondaryMenu: this.secondaryDiv });\n }, 50);\n } else {\n /* the secondadry panel is not opening via hover,\n scroll content into view, focus on it and add blur events */\n if (!this.fromHover) {\n const panelio = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].boundingClientRect.top < 0) {\n this.secondaryDiv.scrollIntoView({\n behavior: 'smooth',\n });\n }\n panelio.disconnect();\n },\n { threshold: 1 }\n );\n panelio.observe(this.secondaryDiv);\n this.secondaryDiv.focus({ preventScroll: true });\n\n const focusableChild = getTabbableElements(this.secondaryDiv, true);\n if (focusableChild[0]) focusableChild[0].focus();\n\n this.el.tabIndex = -1;\n this.nanoOpen.emit({ secondaryMenu: this.secondaryDiv });\n }\n }\n }\n\n @Listen('click', { target: 'body' })\n @Listen('keyup', { target: 'body' })\n handleClose(e: MouseEvent | KeyboardEvent) {\n if (!this.didOpen || !this.hasSecondarySlot) return;\n if (!e.composedPath().some((el) => el === this.secondaryDiv))\n this.toggleSecondary();\n }\n\n private closeSecondary = async () => {\n if (!this.hasSecondarySlot || !this.didOpen) return;\n this.open = false;\n await displayTransition(this.secondaryDiv, 'open', false);\n this.nanoClosing.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = false;\n };\n\n private openSecondary = async () => {\n if (window.innerWidth < this.secondaryActiveWidth) {\n this.secondaryFallback.call(this);\n return;\n }\n\n if (!this.hasSecondarySlot || this.didOpen) return;\n this.open = true;\n await displayTransition(this.secondaryDiv, 'open', true);\n this.nanoOpening.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = true;\n };\n\n private toggleSecondary = () => {\n if (!this.hasSecondarySlot) return;\n if (this.didOpen) this.closeSecondary();\n else this.openSecondary();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n // opens secondary panel when activated via hover\n if (this.href && !this.animating && this.hasSecondarySlot)\n this.openSecondary();\n this.nanoFocus.emit();\n };\n\n private handleHostBlur = () => {\n if (this.animating) return;\n\n // tab index is added to host when secondary panel opens\n // to return focus after secondary panel closes. Remove now if it was added\n this.el.removeAttribute('tabindex');\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n // direct host clicks to internal button\n private handleHostClick = (ev: MouseEvent) => {\n if (!this.hasAnchorEle) return;\n const foundlink = (ev.target as HTMLElement).closest('a, button');\n if (!foundlink) this.btn.click();\n };\n\n // handles secondary menu hover behaviour.\n private handleMouseEnter = async () => {\n if (\n !this.href ||\n this.animating ||\n !this.hasSecondarySlot ||\n (this.globalNavEle && !this.globalNavEle.classList.contains('ready'))\n )\n return;\n\n // if there are sibling secondary panels currently open,\n // we need to wait before opening otherwise we get unwanted overlapping\n let timeToWait = 0;\n if (getSiblings(this.el, '.secondary-open.has-secondary').length)\n timeToWait = 300;\n\n clearTimeout(this.waitHide);\n this.fromHover = true;\n this.animating = true;\n this.waitShow = window.setTimeout(\n async () => await this.openSecondary(),\n timeToWait\n );\n this.animating = false;\n };\n\n // handles secondary menu hover-out behaviour.\n private handleMouseLeave = () => {\n if (!this.href) return;\n clearTimeout(this.waitShow);\n this.fromHover = true;\n this.animating = true;\n\n // prevent closing immediately - makes navigating to items within more forgiving\n this.waitHide = window.setTimeout(\n async () => await this.closeSecondary(),\n 300\n );\n this.animating = false;\n };\n\n private handleClick = () => {\n this.fromHover = false;\n if (this.hasSecondarySlot) this.toggleSecondary();\n else this.el.querySelector<HTMLElement>('*')?.click();\n };\n\n componentWillLoad() {\n const secondaryEle = this.el.querySelector('[slot=\"secondary\"]');\n this.hasSecondarySlot = !!secondaryEle;\n\n const link = getDirectChildren(this.el, 'a, button')[0] as\n | HTMLAnchorElement\n | HTMLButtonElement;\n this.hasAnchorEle = !!link;\n\n if (link) {\n this.href = (link as HTMLAnchorElement).href\n ? (link as HTMLAnchorElement).href\n : null;\n this.btn = link;\n if (this.hasSecondarySlot)\n this.btn.addEventListener('click', this.toggleSecondary);\n\n this.btn.addEventListener('focus', this.handleFocus);\n this.btn.addEventListener('blur', this.handleHostBlur);\n }\n }\n\n connectedCallback() {\n this.isInGlobalNav = false;\n this.isInMenuDrawer = false;\n this.globalNavEle = this.el.closest('nano-global-nav');\n\n this.isInMenuDrawer = !!this.el.closest('nano-menu-drawer');\n this.isInMenu = !!this.el.closest('nano-menu');\n this.isInGlobalNav =\n this.el.parentElement === this.globalNavEle ||\n !!this.el.closest('.global-nav');\n }\n\n render() {\n return (\n <Host\n class={{\n 'has-secondary': this.hasSecondarySlot,\n 'secondary-open': this.open,\n selected: this.selected,\n 'has-focus': this.hasFocus,\n disabled: this.disabled,\n 'nano-global-nav': this.isInGlobalNav,\n 'nano-menu-drawer': this.isInMenuDrawer,\n 'nano-menu': this.isInMenu,\n }}\n onBlur={this.handleHostBlur}\n dir={(this.el.ownerDocument as Document).dir === 'rtl' ? 'rtl' : null}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleHostClick}\n role=\"menuitem\"\n >\n <div\n class={{\n 'nav-item': true,\n 'secondary-open': this.open,\n selected: this.selected,\n }}\n part=\"ctrl-wrapper\"\n >\n {this.href && !this.hasAnchorEle && !this.disabled && (\n <a\n part=\"ctrl ctrl--anchor\"\n target={this.target}\n ref={(a) => (this.btn = a)}\n href={this.href}\n onFocus={this.handleFocus}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </a>\n )}\n {((!this.hasAnchorEle && !this.href) || this.disabled) && (\n <button\n part=\"ctrl ctrl--button\"\n ref={(btn) => (this.btn = btn)}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n disabled={this.disabled}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </button>\n )}\n {this.hasAnchorEle && !this.disabled && (\n <div class=\"link\">\n <slot name=\"icon-start\" />\n <slot />\n <slot name=\"icon-end\" />\n </div>\n )}\n {this.hasSecondarySlot && !this.disabled && (\n <div\n class=\"secondary-menu\"\n ref={(div) => (this.secondaryDiv = div)}\n tabIndex={-1}\n >\n <div class=\"secondary-menu-content\" part=\"secondary-wrapper\">\n <slot name=\"secondary\" />\n </div>\n <div\n class=\"secondary-menu-mask\"\n onClick={this.closeSecondary}\n part=\"secondary-mask\"\n ></div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/layers';\n@import '../form-control/form-control';\n@import '../form-control/form-control-vars';\n\n:host {\n @include formControlVars;\n\n position: relative;\n width: 100%;\n padding: 0 !important;\n font-family: $font-family-base;\n display: block;\n}\n\n:host(.nano-color) {\n --input-border-style--focus: #{$input-border-style} var(--nano-color-tint, #{nano-color(primary, tint)});\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n\n color: current-color(base);\n}\n\n:host-context(nano-item:not(.item-label)) {\n --padding-start: 0;\n}\n\n:host([disabled]:not([disabled='false'])) {\n * {\n pointer-events: none !important;\n }\n}\n\nselect {\n display: none;\n}\n\n.select__native-input {\n @include text-inherit();\n\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n border: 0;\n outline: none;\n background: transparent;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n\n .has-float-label & {\n line-height: 2.1em;\n min-height: 2.1em;\n padding-block-start: 1.4em;\n }\n\n &::selection {\n background: transparent;\n }\n\n &::-moz-selection {\n background: transparent;\n }\n\n &::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-height: initial;\n }\n\n &::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n }\n\n &:-webkit-autofill {\n background-color: transparent;\n }\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &:invalid {\n box-shadow: none;\n }\n\n &::-ms-clear,\n &::-ms-reveal {\n display: none;\n }\n\n &.resizable {\n resize: vertical;\n overflow: auto;\n }\n\n .form-ctrl__textarea & {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n\n &::placeholder {\n line-height: 1.5em;\n }\n }\n\n .has-float-label.textarea & {\n padding-block-start: 1.8em;\n }\n\n :host(.masked) & {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n }\n}\n\n.select__mask {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-height: 2.5em;\n}\n\n// multi stuff\n\n.select__multi {\n &-wrap {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n\n :host(.has-float-label) & {\n padding-block-start: 1em;\n }\n }\n\n &-input {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-width: 50px;\n width: 100%;\n max-height: 100%;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n height: calc(2.5em - var(--padding-bottom));\n\n &:last-child {\n flex: 1;\n }\n }\n\n &-value {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgba(var(--multi-input-value-bg), 0.8);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n max-width: 100%;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-height: calc(2.5em - 8px);\n\n span {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n overflow: hidden;\n line-height: 1;\n }\n }\n\n &-value-remove {\n @include background-position(center);\n\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n\n nano-icon {\n --color: var(--multi-input-value-text-color);\n }\n }\n}\n\n.form-ctrl__float-label {\n width: calc(100% - (1em + (var(--padding-start) * 2)));\n\n :host(.has-focus.has-multiple) & {\n transform: translateY(-110%);\n font-size: 0.8em;\n }\n\n :host(.has-value.has-multiple) & {\n transform: translateY(21%);\n inset-block-start: 0;\n }\n}\n\n:host(.has-focus) select,\n:host(.has-focus) a,\n:host(.has-focus) button {\n pointer-events: auto;\n}\n","import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n VNode,\n Listen,\n} from '@stencil/core';\n\nimport { getActiveElement } from '../../utils/active-element';\nimport { closestElement } from '../../utils/dom';\nimport { createColorClasses } from '../../utils/theme';\nimport { debounce, debounceEvent } from '../../utils/throttle';\nimport { FormControl, FormControlWrap } from '../form-control/form-control';\nimport { OptionInterface } from '../option/option-interface';\nimport type { Dropdown } from '../dropdown/dropdown';\nimport type {\n Color,\n SelectChangeEventDetail,\n InputChangeEventDetail,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\n\nlet selectIds = 0;\n\n/**\n * The select component is a wrapper to the HTML select element with custom styling and additional functionality.\n * It accepts most of the same properties as the HTML [select](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).\n * It's multi selection functionality is vastly improved from the native solution. It allows for the control of\n * value order through drag and drop or changing the insertion point with arrow keys. It also can allow for user defined values.\n *\n * @slot start - suitable for inline action buttons or icons that may add extra contextual information\n * @slot end - suitable for inline action buttons or icons that may add extra contextual information\n * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot helper-end - helper text to accompany the form field on the side.\n * @slot down-arrow - use this to replace the default down arrow\n * @slot - default slot; nest `nano-option` elements\n */\n@Component({\n tag: 'nano-select',\n styleUrl: 'select.scss',\n scoped: true,\n})\nexport class Select implements ComponentInterface {\n private nativeSelect?: HTMLSelectElement;\n private valueItems: Array<HTMLSpanElement> = [];\n private dragVal: string;\n private mo?: MutationObserver;\n private selectId = `nano-select-${selectIds++}`;\n private rtl: boolean = false;\n private onInit: boolean = true;\n private customError: string = '';\n\n private get inputCtrl() {\n return this._inputCtrl;\n }\n private set inputCtrl(input) {\n if (input === this._inputCtrl) return;\n this._inputCtrl = input;\n this.setDataListOpts();\n }\n private _inputCtrl?: HTMLInputElement;\n\n // we don't want these rendered eles decorated with @State\n // because that will cause re-renders. Use get/set to set datalist options\n private _selectWrap: HTMLElement;\n private get selectWrap() {\n return this._selectWrap;\n }\n private set selectWrap(ele: HTMLElement) {\n if (this._selectWrap === ele) return;\n this._selectWrap = ele;\n this.setDataListOpts();\n }\n\n private _datalist: HTMLNanoDatalistElement;\n private get datalist() {\n return this._datalist;\n }\n private set datalist(ele: HTMLNanoDatalistElement) {\n if (this._datalist === ele) return;\n this._datalist = ele;\n this.setDataListOpts();\n }\n\n constructor() {\n this.showInlineValidation = debounce(this.showInlineValidation, 50);\n }\n\n @State() currInsertIndex: number = -1;\n @State() showErrorMsg = false;\n @State() errorMessage: string = '';\n @State() hasFocus = false;\n @State() hasLabelSlot: boolean = false;\n @State() hasHelperSlot: boolean = false;\n @State() hasHelperEndSlot = false;\n @State() inputSearchVal: string = '';\n\n @Element() el!: HTMLNanoSelectElement;\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set.\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.nativeSelect) return '';\n return this.nativeSelect.validationMessage;\n }\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have select focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the select.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element. Alternatively use the 'label' slot\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.selectId + '-name';\n\n /**\n * Instructional text that shows before the select has a value. Text set here will be placed inside the label when a value is set. If you don't want this behaviour just set the first option to have no value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * The initial size of the control.\n */\n @Prop() size?: number;\n\n /**\n * Maximum number of options that can be selected when multiple is true\n */\n @Prop() max?: number;\n\n /**\n * Minimum number of options that can be selected when multiple is true\n */\n @Prop() min?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * in multiple mode, allow users to enter their own values\n */\n @Prop() allowCustomValues: boolean = false;\n\n /**\n * The value of the select.\n */\n @Prop()\n get value() {\n return this._value;\n }\n set value(val: string | string[]) {\n if (typeof val === 'string') {\n if (this.multiple) this._value = val.split(',');\n else this._value = val;\n } else if (Array.isArray(val)) {\n if (this.multiple) this._value = val;\n else this._value = val[0];\n }\n }\n private _value: Array<string> | string = this.multiple ? [] : '';\n\n /**\n * You can set options via js as an array of strings: `domElement.options = ['option 1', 'option 2']` or\n * objects `domElement.options = [{label: 'option 1', value: 'opt-1'}]`. See `nano-option` docs for all available properties.\n * Alternatively, you can nest `<nano-option>` elements within a `<nano-select>`\n * Regardless - reading `options` will return the current component options - slotted or otherwise\n */\n @Prop()\n get options(): Array<OptionInterface | string> {\n if (this._options.length) return this._options;\n\n if (!this.datalist || !this.datalist.activeOptions) return [];\n\n return this._eOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n }\n set options(opts: Array<OptionInterface | string>) {\n this._options = opts.map((opt) => {\n if (typeof opt === 'string') return { value: opt, label: opt };\n else return opt;\n });\n }\n private _options: OptionInterface[] = [];\n @State() _eOptions: OptionInterface[] = [];\n\n /**\n * If `true`, a clear icon will appear in the select when there is a value. Clicking it clears the select.\n */\n @Prop() clearSelect = false;\n\n /**\n * Hide the native select element and cover with a value 'mask'.\n * Enables a fluid nano-select width upon value change (if required). Doesn't work with multiple=\"true\".\n */\n @Prop() mask = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoSearchChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoSearchChange = debounceEvent(this.nanoSearchChange, this.debounce);\n }\n\n @Watch('required')\n @Watch('disabled')\n @Watch('min')\n @Watch('max')\n @Watch('readonly')\n protected shouldValidate() {\n if (this.onInit) return;\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n\n this.customValidate();\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n /**\n * Update the native select element when the value changes\n */\n // eslint-disable-next-line @stencil/no-unused-watch\n @Watch('value')\n valueChanged() {\n this.customValidate();\n\n if (this.onInit) {\n if (this.multiple) this.currInsertIndex = this.value.length - 1;\n return;\n }\n requestAnimationFrame(() => {\n this.shouldValidate();\n this.nanoChange.emit({ value: this.value });\n });\n }\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop({ mutable: true }) dropDownConfig?: Partial<Dropdown> = {};\n\n @Watch('dropDownConfig')\n setDataListOpts() {\n if (!this.datalist || !this.selectWrap) return;\n\n this.datalist.input = this.inputCtrl;\n\n const currDWConfig = this.datalist.dropDownConfig || {};\n this.datalist.dropDownConfig = {\n ...currDWConfig,\n ...this.dropDownConfig,\n tetherTo: this.selectWrap,\n };\n }\n\n // Custom Events\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<SelectChangeEventDetail>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the select has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred on a multiple=\"true\" input\n */\n @Event() nanoSearchChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) {\n this.customValidate();\n this.showInlineValidation();\n }\n setTimeout(() => {\n resolve({\n isValid: !this._invalid,\n errorMessage: this.nativeSelect.validationMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Sets focus on the specified `nano-select`. Use this method instead of the global\n * `select.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.inputCtrl) return;\n this.inputCtrl.focus();\n setTimeout(() => this.inputCtrl.click(), 50);\n }\n\n /**\n * @returns the native `<select>` element used under the hood.\n */\n @Method()\n getSelectElement(): Promise<HTMLSelectElement> {\n return Promise.resolve(this.nativeSelect!);\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeSelect) {\n this.customError = message;\n this.nativeSelect.setCustomValidity(message);\n this.showInlineValidation();\n }\n }\n\n /* Logic */\n\n private get valArray() {\n return typeof this.value === 'string'\n ? this.value.length\n ? [this.value]\n : []\n : this.value;\n }\n\n private isValidValues() {\n return this.valArray.find((val) =>\n (this.options as OptionInterface[]).find((opt) => opt.value === val)\n );\n }\n\n private customValidate = () => {\n if (!this.nativeSelect || !!this.customError) return;\n\n this.nativeSelect.setCustomValidity('');\n // add custom validations 'cos html5 validations are a bit rubbish on selects\n if (this.required && !this.valArray.length) {\n this.nativeSelect.setCustomValidity('Please fill in this field.');\n return true;\n }\n if (\n this.valArray.length &&\n !this.allowCustomValues &&\n !this.isValidValues()\n ) {\n this.nativeSelect.setCustomValidity(\n 'Please choose an item from this field.'\n );\n return true;\n }\n if (this.max && this.valArray.length > this.max) {\n this.nativeSelect.setCustomValidity(\n `Only up to ${this.max} values are allowed.`\n );\n return true;\n }\n if (this.min && this.valArray.length < this.min) {\n this.nativeSelect.setCustomValidity(\n `You must select a minimum of ${this.min} values.`\n );\n return true;\n }\n return false;\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n this._invalid = false;\n this.showErrorMsg = false;\n this.errorMessage = '';\n\n if (!this.nativeSelect.validity.valid) {\n this.errorMessage = this.nativeSelect.validationMessage;\n this._invalid = true;\n this.showErrorMsg = true;\n }\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (this.showInlineError) ev.preventDefault();\n\n requestAnimationFrame(() => this.showInlineValidation(ev));\n };\n\n private setValue = (e: CustomEvent<HTMLNanoOptionElement>) => {\n e.preventDefault();\n\n if (!this.multiple) {\n this.value = e.detail.value;\n return;\n }\n if (this.value && this.value.length && this.value.includes(e.detail.value))\n return;\n if (this.max && this.value.length === this.max) return;\n\n this.currInsertIndex++;\n this.value = [\n ...this.value.slice(0, this.currInsertIndex),\n e.detail.value,\n ...this.value.slice(this.currInsertIndex),\n ];\n this.inputSearchVal = '';\n // this.selectWrap.clientWidth; // force reflow\n };\n\n private removeValue = (toFind?: string) => {\n if (!this.multiple || !this.value.length) return;\n\n if (!toFind) toFind = this.value[this.value.length - 1];\n this.value = (this.value as Array<string>).filter((val) => val !== toFind);\n\n this.currInsertIndex--;\n // this.selectWrap.clientWidth; // force reflow\n this.setFocus();\n };\n\n private slotChangeObserver() {\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have label / helper content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]').length;\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n this.hasHelperEndSlot = !!this.el.querySelector('[slot=\"helper-end\"]');\n }\n\n private getLabel(toFind: string) {\n const label = (this.options as OptionInterface[]).find((opt) => {\n return !opt.disabled && opt.value?.length && opt.value === toFind;\n });\n return label && label.label ? label.label : toFind;\n }\n\n /* Event handling */\n\n @Listen('reset', { target: 'body' })\n onReset(e) {\n const form = this.form\n ? document.querySelector('#' + this.form)\n : this.el.closest('form');\n if (!form || e.target !== this.el.closest('form')) return;\n\n this.clearSelectValue();\n }\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let target: Element;\n\n requestAnimationFrame(() => {\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n target = getActiveElement();\n } else target = e.target as Element;\n\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.onBlur();\n }\n });\n }\n\n private setOptions = () => {\n if (\n !this.datalist ||\n !this.datalist.activeOptions ||\n !this.datalist.activeOptions.length\n )\n return;\n\n this._eOptions = this.datalist.activeOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n this.customValidate();\n };\n\n private handleDocumentKeyDown = (ev: KeyboardEvent) => {\n if (!this.multiple || !this.hasFocus) return;\n\n if (!this.inputSearchVal) {\n let rm: HTMLSpanElement;\n\n switch (ev.key) {\n case 'Backspace':\n if (this.inputCtrl.previousElementSibling)\n rm = this.inputCtrl.previousElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'Delete':\n if (this.inputCtrl.nextElementSibling)\n rm = this.inputCtrl.nextElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n if (!this.value.length) break;\n\n if (ev.key === 'ArrowLeft' && this.inputCtrl.previousSibling)\n this.currInsertIndex--;\n if (ev.key === 'ArrowRight' && this.inputCtrl.nextSibling)\n this.currInsertIndex++;\n\n setTimeout(() => {\n this.inputCtrl.focus();\n }, 20);\n ev.preventDefault();\n break;\n }\n }\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n\n requestAnimationFrame(() => {\n if (this.validateOn === 'dirty' && !this.hasFocus)\n this.showInlineValidation();\n });\n this.nanoBlur.emit();\n\n if (!this.allowCustomValues && this.multiple) {\n this.inputSearchVal = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n }\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private clearSelectValue = (ev?: Event) => {\n if (this.clearSelect && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.multiple) {\n this.value = [];\n this.currInsertIndex = -1;\n } else this.value = '';\n\n this.inputCtrl.value = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n };\n\n private onClick = () => {\n this.setFocus();\n };\n\n /* Multi event handlers */\n\n private onDragStart = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n this.dragVal = ele.dataset.value;\n };\n\n private onDragEnd = (ev) => {\n this.dragVal = null;\n ev.preventDefault();\n };\n\n private onDragLeave = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n const spanVal: string =\n ele.dataset && ele.dataset.value ? ele.dataset.value : null;\n\n if (\n !spanVal ||\n this.dragVal === spanVal ||\n !this.value.includes(this.dragVal)\n ) {\n ev.preventDefault();\n return;\n }\n\n const to = this.value.indexOf(spanVal);\n const from = this.value.indexOf(this.dragVal);\n const tmpArr = this.value as Array<string>;\n const tmpVal = tmpArr[to];\n\n tmpArr[to] = tmpArr[from];\n tmpArr[from] = tmpVal;\n this.value = [...tmpArr];\n };\n\n private onMultiInput = (ev) => {\n this.inputSearchVal = ev.target.value.trim();\n this.nanoSearchChange.emit({ value: ev.target.value.trim() });\n };\n\n /* Stencil Component lifecycle hooks */\n\n connectedCallback() {\n this.debounceChanged();\n\n if (!Build.isBrowser) return;\n\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n }\n\n disconnectedCallback() {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n\n if (!Build.isBrowser) return;\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n this.customValidate();\n this.setDataListOpts();\n requestAnimationFrame(() => (this.onInit = false));\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n render() {\n const labelId = this.selectId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.selectId + '-moreId'\n : '';\n const helperEndId = this.hasHelperEndSlot ? this.selectId + '-helper' : '';\n\n this.rtl = (this.el.ownerDocument as Document).dir === 'rtl';\n this.valueItems = [];\n\n const compWrapOptions = (({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }) => ({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }))(this);\n const wrapOptions = {\n ...compWrapOptions,\n labelId,\n moreId,\n helperEndId,\n hasValue: !!this.value.length || !!this.inputSearchVal.length,\n controlId: this.selectId,\n };\n\n const controlOptions = (({ readonly, disabled }) => ({\n readonly,\n disabled,\n clearControl: this.clearSelect,\n }))(this);\n\n return (\n <Host\n type={this.multiple ? 'select-multiple' : 'select-one'}\n aria-disabled={this.disabled ? 'true' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': !!this.value.length || !!this.inputSearchVal.length,\n 'has-focus': this.hasFocus,\n 'is-invalid': this.invalid,\n 'has-label': this.label !== null && !this.floatLabel,\n 'has-float-label': this.label !== null && this.floatLabel,\n rtl: this.rtl,\n 'has-multiple': this.multiple,\n 'has-clr-btn': this.clearSelect,\n masked: this.mask,\n }}\n >\n <FormControlWrap {...wrapOptions}>\n <FormControl\n {...controlOptions}\n onClearText={this.clearSelectValue}\n control={this.el}\n ref={(el) => (this.selectWrap = el)}\n endValueSlot={\n <slot name=\"down-arrow\">\n <nano-icon slot=\"value-end\" name=\"light/chevron-down\" />\n </slot>\n }\n >\n {this.multiple && (\n <div class=\"select__multi-wrap select\">\n {this.multipleValues(labelId, moreId, helperEndId)}\n </div>\n )}\n {!this.multiple && [\n this.mask && (\n <div class=\"select__mask\">\n {this.getLabel(this.value as string)}\n </div>\n ),\n <input\n id={this.selectId}\n class=\"select__native-input\"\n ref={(input) => (this.inputCtrl = input)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n placeholder={this.placeholder}\n readOnly={true}\n required={this.required}\n value={this.getLabel(this.value as string)}\n onFocus={this.onFocus}\n />,\n ]}\n </FormControl>\n </FormControlWrap>\n {!this.readonly && !this.disabled && (\n <nano-datalist\n onNanoOptionsUpdated={this.setOptions}\n ref={(el) => (this.datalist = el)}\n selected={this.valArray}\n type={this.multiple ? 'selctMulti' : 'select'}\n onNanoSelect={this.setValue}\n onNanoDeselect={(e) => {\n e.preventDefault();\n this.removeValue(e.detail.value);\n }}\n options={this._options.length ? this._options : undefined}\n >\n {this.allowCustomValues && this.multiple && !!this.inputSearchVal && (\n <nano-option\n slot=\"list-top\"\n value={this.inputSearchVal}\n selected={false}\n label={this.inputSearchVal}\n onNanoSelect={() => this.inputCtrl.focus()}\n >\n <span slot=\"check-icon\"></span>\n Add '{this.inputSearchVal}'\n </nano-option>\n )}\n <slot />\n </nano-datalist>\n )}\n\n <select\n id={this.selectId + '-hidden'}\n class=\"select__native-ctrl\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n onInvalid={this.handleInvalid}\n >\n {this.allowCustomValues &&\n this.valArray.map((val) => {\n return (\n <option value={val} selected={true}>\n {val}\n </option>\n );\n })}\n {!this.allowCustomValues &&\n this.options.map((opt: OptionInterface) => {\n return (\n <option\n value={opt.value}\n selected={this.valArray.includes(opt.value)}\n disabled={opt.disabled}\n label={opt.label}\n >\n {this.valArray.includes(opt.value)}\n </option>\n );\n })}\n </select>\n </Host>\n );\n }\n\n private multipleValues(\n labelId: string,\n moreId: string,\n helperEndId: string\n ): VNode | (VNode | VNode[])[] {\n const input: VNode = (\n <input\n class=\"select__multi-input\"\n id={this.selectId}\n ref={(input) => (this.inputCtrl = input)}\n readOnly={this.readonly}\n disabled={this.disabled}\n autoFocus={this.autofocus}\n autocomplete=\"off\"\n onKeyDown={this.handleDocumentKeyDown}\n onInput={this.onMultiInput}\n value={this.inputSearchVal}\n onTouchStart={this.onClick}\n onMouseDown={this.onClick}\n onFocus={this.onFocus}\n placeholder={\n this.placeholder && !this.value.length ? this.placeholder : ''\n }\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n />\n );\n if (!this.value.length) return input;\n\n return (this.value as Array<string>).map((val, i) => {\n let toReturn: VNode | VNode[] = (\n <span\n onDragStart={this.onDragStart}\n onDragLeave={this.onDragLeave}\n onDragEnd={this.onDragEnd}\n onDragOver={(e) => e.preventDefault()}\n draggable\n data-value={val}\n ref={(span) => this.valueItems.push(span)}\n class=\"select__multi-value\"\n >\n <span>{this.getLabel(val)}</span>\n <button\n class=\"select__multi-value-remove\"\n type=\"button\"\n tabindex=\"-1\"\n onTouchEnd={() => {\n this.removeValue(val);\n }}\n onMouseUp={() => {\n this.removeValue(val);\n }}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n </span>\n );\n if (i === 0 && this.currInsertIndex < 0)\n toReturn = [input, toReturn as VNode];\n else if (i === this.currInsertIndex)\n toReturn = [toReturn as VNode, input];\n return toReturn;\n });\n }\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{j as t,h as n,F as i,g as e,e as o,r as s,c as r,d as a,a as l}from"./p-1fe12320.js";import{a as d}from"./p-ee045579.js";import{d as c}from"./p-9746b0a5.js";import{c as h}from"./p-651b3264.js";const p="nano-tbl";const b=(t,n)=>{const i=globalThis[n];return i!=null&&t instanceof i};const f=t=>{if(t!=null){if(b(t,"ArrayBuffer")||b(t,"MessagePort")||b(t,"ImageBitmap")||b(t,"OffscreenCanvas")){return[t]}if(typeof t==="object"){if(t.constructor===Object){t=Object.values(t)}if(Array.isArray(t)){return t.flatMap(f)}return f(t.buffer)}}return[]};let u=0;let _=0;const g=new Map;const m=new Map;const w=(n,i,e)=>{const o=new Worker(n,{name:i});o.addEventListener("message",(({data:n})=>{if(n){const i=n[0];const o=n[1];const s=n[2];if(i===e){const i=n[3];const[e,r,a]=g.get(o);g.delete(o);if(i){const n=i.isError?Object.assign(new Error(i.value.message),i.value):i.value;t(n);r(n)}else{if(a){a.forEach((t=>m.delete(t)))}e(s)}}else if(i===e+".cb"){try{m.get(o)(...s)}catch(n){t(n)}}}}));return o};const x=(t,n,i)=>(...e)=>new Promise(((o,s)=>{let r=u++;let a=0;let l=e.length;let d=[o,s];g.set(r,d);for(;a<l;a++){if(typeof e[a]==="function"){const t=_++;m.set(t,e[a]);e[a]=[n+".cb",t];(d[2]=d[2]||[]).push(t)}}const c=t=>t.postMessage([n,r,i,e],f(e));if(t.then){t.then(c)}else{c(t)}}));const y=import("./p-24be19d0.js").then((t=>t.worker));const v=x(y,"stencil.table.worker","createWorkerStore");const k=x(y,"stencil.table.worker","syncConfigToWorker");const $=x(y,"stencil.table.worker","syncDataToWorker");const z=x(y,"stencil.table.worker","workerFilter");const C=x(y,"stencil.table.worker","workerSearch");const S=x(y,"stencil.table.worker","workerSort");function T(t){const n=JSON.parse(JSON.stringify(t));t.forEach((t=>{if(!!t.sortCompareFn){const i=n.find((n=>n.prop===t.prop));i.sortCompareFn=t.sortCompareFn.toString()}}));return n}const I=new WeakMap;async function R(t,n,i){const e={data:h({rows:[]}),config:h({columns:n}),general:h({workerId:null,scrollParent:i,host:t})};const o=await v(e.data.state.rows,T(e.config.state.columns));e.general.state.workerId=o;I.set(t,e);e.data.use({reset:()=>{if(e.general.state.workerId)$(e.general.state.workerId,null)},dispose:()=>{if(e.general.state.workerId)$(e.general.state.workerId,null)}});e.config.use({reset:()=>{if(e.general.state.workerId)k(e.general.state.workerId,null)},dispose:()=>{if(e.general.state.workerId)k(e.general.state.workerId,null)}});return e}function O(t){return I.get(t)}function j(t,n){const i=I.get(t);if(!i)return;n=n.map(((t,n)=>({...t,__index:n,__uuid:d(Object.values(t).join())})));i.data.state.rows=n;if(i.general.state.workerId)return $(i.general.state.workerId,n)}function M(t,n){const i=I.get(t);if(!i)return;i.config.state.columns=n;if(i.general.state.workerId)return k(i.general.state.workerId,T(n))}async function F(t,n){const i=I.get(t);if(!i||!i.general.state.workerId)return;try{i.data.state.rows=await C(i.general.state.workerId,n)}catch(t){console.log(t)}}async function A(t,n){const i=I.get(t);if(!i||!i.general.state.workerId)return;try{i.data.state.rows=await z(i.general.state.workerId,n)}catch(t){console.log(t)}}async function B(t,n,i){const e=I.get(t);if(!e||!e.general.state.workerId)return;try{e.data.state.rows=await S(e.general.state.workerId,n,i)}catch(t){console.log(t)}}function P(t,n){const i=q();const e=i.config.state.columns;const o=i.data.state.rows;const s=e[n];const r=s?.prop;const a=o[t];const l=a[e[n].prop];return{prop:r,cellModel:l,column:s,rowIndex:t,rowModel:a}}function W(t){const n=q();const i=n.data.state.rows;const e=i[t];return{row:e,rowIndex:t}}function N(t,n){if(!n)return t;const i={...n,...t};if(n.class){if(typeof n.class==="object"&&typeof i.class==="object"){i.class={...n.class,...i.class}}else if(typeof n.class==="string"&&typeof i.class==="object"){i.class[n.class]=true}else if(typeof i.class==="string"){i.class+=" "+n.class}}if(n.style){i.style={...n.style,...i.style}}return i}function q(){return O(e(o()))}function D(t,n,i){const e={...i};const o=q().config.state.columns[n]?.cellProperties;if(!o)return e;const s=P(t,n);const r=o(s);if(!r)return e;return N(e,r)}function J(t,e){const o=q();const s=o.config.state.columns;const r=s[e]?.cellTemplate;const a=P(t,e);return r?r(n,a):n(i,null,a.cellModel.toString())}function L(t){const e=t?.colTemplate;return e?e(n,t):n(i,null,t.title)}function E(t,n,i=false){const e={[`${p}__${t}`]:true,[`${p}__pin`]:!!n,[`${p}__pin--top`]:n==="top",[`${p}__pin--bottom`]:n==="bottom"};if(i){let t="";Object.entries(e).forEach((([n,i])=>{if(i)t+=n+" "}));return t}return e}const H=new WeakMap;const U=new WeakMap;function G(t,n,i){if(H.get(t))return;const e=q();const o=e.general.state.scrollParent;const s=new IntersectionObserver((([t])=>{const e=t.rootBounds||document.scrollingElement.getBoundingClientRect();const s={};if(n==="start"){s.start=t.boundingClientRect.x-(e.x+o.scrollLeft)<0&&!t.isIntersecting}if(n==="end"){s.end=t.boundingClientRect.right>t.boundingClientRect.width&&!t.isIntersecting}i(s)}),{threshold:[1],rootMargin:"1px 0px 100px 0px",root:o===document.scrollingElement?null:o});H.set(t,s);setTimeout((()=>s.observe(t)),300)}function K(t,n,i){if(U.get(t))return;const e=q();const o=e.general.state.scrollParent;const s=new IntersectionObserver((([t])=>{const e=t.rootBounds||document.scrollingElement.getBoundingClientRect();const s={};if(n==="top"){s.top=t.boundingClientRect.y-(e.y+o.scrollTop)<0&&!t.isIntersecting}if(n==="bottom")s.bottom=t.boundingClientRect.height>t.intersectionRect.height&&!t.isIntersecting;i(s)}),{threshold:[1],rootMargin:"0px 100px 0px 100px",root:o===document.scrollingElement?null:o});U.set(t,s);requestAnimationFrame((()=>s.observe(t)))}const Q=({rowRenderer:t,rowIndex:i,row:e},o)=>{let s={};if(!e){const t=W(i);e=t.row}if(t?.rowProperties){s=t.rowProperties({row:e,rowIndex:i})||s}let r;if(t?.pinned&&typeof t.pinned==="function"){r=t.pinned()}const a={class:E("tr",r)};const l=s?N(a,s):a;return n("tr",{...l,key:e.__uuid},o)};const V=({rowRenderer:t,onColumnPinned:i},e,o)=>{let s={};if(t.rowProperties){s=t.rowProperties()||{}}const r=t.pinned||null;const a={class:E("tr",null)};const l=s?N(a,s):a;const d=t?.template;if(d){let t=d(n,{renderedRow:n("tr",{...l},e)});if(Array.isArray(t)){t=o.map(t,(t=>{if(t.vtag==="tr"){t.vattrs=N({class:E("tr",null,true)},t.vattrs);if(!!t.vchildren){t.vchildren=o.map(t.vchildren,(t=>{if(["td","th"].includes(t.vtag.toString())){t.vattrs=N({class:E(t.vtag.toString(),r,true),ref:t=>{K(t,r,i)}},t.vattrs)}return t}))}}return t}))}return t}return n("tr",{...l},e)};const X=({column:t,headRenderer:e,onColumnOrderClick:o,onColumnPinned:s})=>{function r(n){let i;switch(t.order){case"asc":i="desc";break;case"desc":i=null;break;default:i="asc"}o(i,t.prop,n.target.closest("th"))}let a={};if(t.columnProperties){a=t.columnProperties(t)||a}const l={class:{...E("th",e?.pinned),[`${p}__pin--start`]:t.pinned==="start",[`${p}__pin--end`]:t.pinned==="end",[`${p}__ordered`]:!!t.order,[`${p}__filtered`]:!!t.filter}};let d=a?N(l,a):l;const c=L(t);if(!c)return n(i,null);d=Number(d.colspan)>1?{...d,scope:"colgroup"}:{...d,scope:"col"};if(t.sortable!==false){return n("th",{...d,"aria-sort":t.order?t.order==="asc"?"ascending":"descending":"none",ref:n=>{if(["end","start"].includes(t.pinned))G(n,t.pinned,s);if(["top","bottom"].includes(e.pinned))K(n,e.pinned,s)}},n("button",{class:{[`${p}__order-btn`]:true,[`${p}__cell-content`]:true},onClick:r},L(t),!!t.filter&&n("nano-icon",{name:"light/filter"}),!!t.order&&(t.order==="desc"?n("nano-icon",{name:"solid/long-arrow-down"}):n("nano-icon",{name:"solid/long-arrow-up"})),n("div",{class:`${p}__status-icons`},n("nano-icon",{name:"light/chevron-down"}))))}return n("th",{...d,ref:n=>{if(["end","start"].includes(t.pinned))G(n,t.pinned,s);if(["top","bottom"].includes(e.pinned))K(n,e.pinned,s)}},n("div",{class:`${p}__cell-content`},L(t),!!t.filter&&n("nano-icon",{name:"light/bars-filter"})))};const Y=({rowIndex:t,colIndex:e,nestedContent:o})=>{const s=o||J(t,e);if(!s)return n(i,null);const r=q();const a=r.config.state.columns[e];let l="td";let d=D(t,e,{class:{[`${p}__td`]:true,[`${p}__ordered`]:!!a.order,[`${p}__pin`]:!!a.pinned,[`${p}__pin--start`]:a.pinned==="start",[`${p}__pin--end`]:a.pinned==="end"}});if(a.rowHeader){d=Number(d.rowspan)>1?{...d,scope:"rowgroup"}:{...d,scope:"row"};l="th"}return n(l,{...d},n("div",{class:`${p}__cell-content`},s))};const Z=(()=>{let t;let n;let i;let e;const o=60;const s=()=>{t=null;e=0};s();return()=>{n=window.scrollY;if(t!=null)e=n-t;t=n;window.clearTimeout(i);i=window.setTimeout(s,o);return e}})();function tt(t){let n=getComputedStyle(t);const i=n.position==="absolute";const e=/(auto|scroll)/;if(n.position==="fixed")return document.documentElement;for(let o=t;o=o.parentElement;){n=getComputedStyle(o);if(i&&n.position==="static"){continue}if(e.test(n.overflow+n.overflowY+n.overflowX))return o}return document.documentElement}function nt(t,n=100){const i=t.getBoundingClientRect();const e=window.innerHeight||document.documentElement.clientHeight;if(!i.bottom&&!i.top&&!i.left&&!i.right&&!i.height&&!i.width&&!i.x&&!i.y)return false;return!(Math.floor(100-(i.top>=0?0:i.top)/+-i.height*100)<n||Math.floor(100-(i.bottom-e)/i.height*100)<n)}const it=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@charset "UTF-8";nano-table{display:block;width:100%;--max-col-width:200px;--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250, 250, 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.5rem;--td-padding-bottom:0.4125rem;--th-padding-start:0.625rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--foot-th-padding-h:var(--th-padding-start) var(--th-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));border-inline-end:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);border-inline-start:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;scale:0;width:100%;height:0}.nano-tbl__progress-bar--show{scale:1;height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{font-weight:800;background:rgba(var(--head-bg-rgb), 90%);font-size:var(--thead-font-size);border-block-start:none}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}tfoot .nano-tbl__td,tfoot .nano-tbl__th{font-weight:800;border-block-end:none;background:rgba(var(--foot-bg-rgb), 90%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgba(var(--ordered-bg-rgb), 0.8) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl tbody{will-change:scroll-position;visibility:visible}.nano-tbl tbody.nano-tbl__inactive{visibility:hidden}.nano-tbl th[scope=row]{font-weight:800;margin:0}.sm .nano-tbl th[scope=row]{max-width:65vw !important}.nano-tbl__pin{position:sticky;z-index:1}.nano-tbl__pin--start{inset-inline:-1px auto;transition:max-width 0.25s}.nano-tbl__pin--start::after{content:"";position:absolute;inset:0;box-shadow:5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2;max-width:125px}.sm .nano-tbl__pinned--start .nano-tbl__pin--start{max-width:var(--max-col-width)}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline:auto -1px !important;max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:"";position:absolute;inset:0;box-shadow:-5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end{z-index:3}.sm .nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5;border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{border-block-start:none}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}';let et=0;const ot=class{constructor(t){s(this,t);this.nanoTblBlockRendered=r(this,"nanoTblBlockRendered",7);this.nanoTblReady=r(this,"nanoTblReady",7);this.nanoTblBeforeSort=r(this,"nanoTblBeforeSort",7);this.nanoTblAfterSort=r(this,"nanoTblAfterSort",7);this.nanoTblBeforeFilter=r(this,"nanoTblBeforeFilter",7);this.nanoTblAfterFilter=r(this,"nanoTblAfterFilter",7);this.nanoTblBeforeSearch=r(this,"nanoTblBeforeSearch",7);this.nanoTblAfterSearch=r(this,"nanoTblAfterSearch",7);this.debounceSetLoading=t=>{this._loading=!!this.store.data.state.rows.length?t:true};this.renderId="tbl-"+et++;this.filters=[];this.currentFilters="";this.currentSort="";this.blockIos=new WeakMap;this.blockHeights=[];this.unitHeight=0;this.ignoreIO=true;this._isReady=false;this.sortStart=async(t,n,i)=>{if(this.currentSort===t+":"+n)return;this.loading=true;const e=this.nanoTblBeforeSort.emit({column:n,order:t});if(e.defaultPrevented)return;this.currentSort=t+":"+n;this.scrollToTop(i);if(this.customSortFn){try{await this.customSortFn(n,t);this.sortComplete(t,n)}catch(t){console.warn("custom sort failed",t)}return}try{await B(this.host,n,t);this.sortComplete(t,n)}catch(t){console.warn("sort failed",t);this.currentSort=""}finally{this.loading=false}};this.setupBlockIO=(t,n)=>{if(!t||this.blockIos.has(t))return;const i=new IntersectionObserver((([i])=>{if(this.ignoreIO)return;if(i.isIntersecting){a((()=>{if(this.scrollSpeed<100||nt(t,.01)){this.activeBlocks=[n,n+1,Math.max(0,n-1)];this.nanoTblBlockRendered.emit({block:n,totalBlocks:this.blockElements.length});requestAnimationFrame((()=>this.setBlockHeight()))}}))}}),{threshold:[0],root:this.scrollParent===document.scrollingElement?null:this.scrollParent});i.observe(t);this.blockIos.set(t,i)};this.handleColumnPinned=t=>{Object.entries(t).forEach((([t,n])=>{this.tableEle.classList.toggle(`${p}__pinned--${t}`,n)}))};this.type="table";this.caption=undefined;this.showCaption=false;this._loading=false;this.placeholderSize=5;this.rows=undefined;this.columns=[];this.headRender={pinned:"top"};this.rowRender=undefined;this.footRender={pinned:"bottom"};this.showFooter=false;this.perBlock=60;this.searchTerm=undefined;this.customFilterFn=undefined;this.customSortFn=undefined;this.blocks=[];this.activeBlocks=[0,1,2];this.measureHeight=0;this.debounceSetLoading=c(this.debounceSetLoading.bind(this),50)}get loading(){return this._loading}set loading(t){this.debounceSetLoading(t)}handleRowsChange(){if(!this.rows){this.loading=true;return}this.loading=true;Promise.resolve(this.rows).then((async t=>{await j(this.host,t);this.currentFilters="";this.currentSort="";await this.columnInit();if(!this.isReady){this.setInitialBlockDimension()}this.loading=false}))}async handleColsChange(){await M(this.host,this.columns);if(this.isReady)this.columnInit()}get blocksLength(){return this.blocks.length}handleSearchTermChange(){this.searchStart()}async resetSorting(){const t=this.columns.find((t=>!!t.order));if(!t)return;return this.sortStart(null,t.prop)}async addSort(t,n){const i=this.columns.find((n=>n.prop===t));if(!i)throw"Cannot find column with "+t;return this.sortStart(n,i.prop)}async resetFilters(){this.filters=[];return this.filterStart()}async addFilters(t,n=true){if(!n)this.filters=[];return this.filterStart(t,n)}set measureEle(t){if(!t)return;this.measureHeight=t.getBoundingClientRect().height;this.unitHeight=t.querySelector("tr")?.getBoundingClientRect().height||this.unitHeight}get isReady(){return this._isReady}set isReady(t){if(t===this._isReady)return;this._isReady=t;if(this.isReady)requestAnimationFrame((()=>this.handleReady()))}scrollListener(){const t=Z();this.scrollSpeed=t<0?t*-1:t}handleReady(){const t=window.location.hash;if(t.length>1){const n=document.querySelector(t);if(n){n.scrollIntoView()}}this.nanoTblReady.emit()}sortComplete(t,n){this.columns=this.columns.map((i=>{if(i.prop===n)return{...i,order:t};return{...i,order:null}}));this.nanoTblAfterSort.emit({column:n,order:t})}async searchStart(){this.loading=true;const t=this.nanoTblBeforeSearch.emit({term:this.searchTerm});if(t.defaultPrevented)return;this.scrollToTop();try{await F(this.host,this.searchTerm);this.nanoTblAfterSearch.emit({term:this.searchTerm})}catch(t){console.warn("search failed",t)}finally{this.loading=false}}async filterStart(t,n=true){if(t){if(n){this.filters=[...this.filters.filter((n=>!t.find((t=>t.prop===n.prop)))),...t]}else{this.filters=t}}if(this.currentFilters===JSON.stringify(this.filters))return;this.loading=true;const i=this.nanoTblBeforeFilter.emit({filters:this.filters});if(i.defaultPrevented)return;this.currentFilters=JSON.stringify(this.filters);this.scrollToTop();if(this.customFilterFn){try{await this.customFilterFn(this.filters);this.filterComplete()}catch(t){console.warn("custom filter failed",t);this.currentFilters=""}return}try{await A(this.host,this.filters);this.filterComplete()}catch(t){console.warn("filter failed",t)}finally{this.loading=false}}filterComplete(){this.columns=this.columns.map((t=>{const n=this.filters.find((n=>n.prop===t.prop));if(n)t.filter=n.filter;return t}));this.nanoTblAfterFilter.emit({filters:this.filters})}scrollToTop(t){const n=this.scrollParent.style?.scrollBehavior;const i=this.scrollParent.scrollLeft;this.scrollParent.style.scrollBehavior="auto";if(this.topAnchorEle&&!nt(this.topAnchorEle,.1)){this.host.scrollIntoView()}if(t&&!nt(t,1))setTimeout((()=>t.scrollIntoView({block:"start"})),500);if(i)this.scrollParent.scrollLeft=i;if(n)this.scrollParent.style.scrollBehavior=n}setMeasureElement(){a((()=>{this.measureEle=this.blockElements.find((t=>!t?.classList?.contains(`${p}__inactive`)))}))}setInitialBlockDimension(){if(!this.blockElements?.length)return;const t=new Promise((t=>{a((()=>{this.setMeasureElement();if(!this.measureEle&&!this.unitHeight)t();this.blockElements.forEach(((n,i)=>{if(!n||!n.classList?.contains(`${p}__inactive`)){if(i===this.blockElements.length-1)t();return}if(i===this.blockElements.length-1)t()}))}))}));t.then((()=>{requestAnimationFrame((()=>{this.isReady=true}))}))}async columnInit(){this.filters=this.columns.filter((t=>!!t.filter)).map((t=>{const{filter:n,prop:i}=t;return{filter:n,prop:i}}));if(this.searchTerm){await this.searchStart()}if(this.filters.length){await this.filterStart()}const t=this.columns.find((t=>!!t.order));if(!!t){await this.sortStart(t.order,t.prop)}}setBlocks(){this.activeBlocks=[0,1,2];this.ignoreIO=true;let t=1;const n=this.store.data.state.rows.length;let i=[];const e=[];this.blockHeights=[];for(t;t<=n;t++){i.push(this.store.data.state.rows[t-1]);if(t%this.perBlock===0){e.push({rows:i,__uuid:d(i.map((t=>t.__uuid)).join())});i=[]}}if(i.length)e.push({rows:i,__uuid:d(i.map((t=>t.__uuid)).join())});this.blocks=e}getBlockHeight(t){if(this.activeBlocks.includes(t))return undefined;if(this.blockHeights.length){const n=this.blockHeights.find((n=>n.blockIndex===t));if(n)return n.height+"px"}const n=this.blocks[t].rows.length;if(n===this.perBlock&&this.measureHeight){return this.measureHeight+"px"}return this.unitHeight?this.unitHeight*n+"px":undefined}setBlockHeight(){a((()=>{this.activeBlocks.forEach((t=>{const n=this.blockElements[t];if(!n)return;const i=n.getBoundingClientRect().height;const e=this.blockHeights.findIndex((n=>n.blockIndex===t));if(e>0){this.blockHeights[e]={height:i,blockIndex:t}}else this.blockHeights.push({height:i,blockIndex:t})}))}))}processSlots(){if(!this.caption&&!this.host.querySelector('[slot="caption"]')){console.error("For accessibility you must set a `title` prop or use the `caption` slot")}}async componentWillLoad(){this.store=await R(this.host,this.columns,this.scrollParent);await this.handleRowsChange();this.processSlots();this.setBlocks();this.store.data.onChange("rows",(()=>this.setBlocks()))}connectedCallback(){a((()=>this.scrollParent=tt(this.host)))}componentDidLoad(){this.setInitialBlockDimension()}componentShouldUpdate(t,n,i){if(["rows","columns"].includes(i))return false}componentWillRender(){}componentDidRender(){requestAnimationFrame((()=>this.ignoreIO=false));this.setMeasureElement()}render(){this.blockElements=[];return n(l,null,n("div",{class:`${p}__top-anchor`,ref:t=>this.topAnchorEle=t}," "),n("nano-resize-observe",{"aria-labelledby":"table-caption-"+this.renderId,tabindex:this.type==="grid"?"0":undefined,states:"576w sm, 768w md",class:"sm md"},n("div",{class:`${p}__wrap`},n("nano-progress-bar",{indeterminate:true,class:{[`${p}__progress-bar`]:true,[`${p}__progress-bar--show`]:this._loading}}),n("table",{role:this.type==="grid"?"grid":undefined,"aria-readonly":this.type==="table"?"true":undefined,"aria-rowcount":this.store.data.state.rows.length,"aria-colcount":this.store.config.state.columns.length,class:`${p}`,ref:t=>this.tableEle=t},n("caption",{class:{[`${p}__caption`]:true,[`${p}__caption--hide`]:!this.showCaption},id:"table-caption-"+this.renderId},n("slot",{name:"caption"},this.caption)),n("thead",null,n(V,{rowRenderer:this.headRender,onColumnPinned:this.handleColumnPinned},this.store.config.state.columns.map((t=>[n(X,{column:t,headRenderer:this.headRender,onColumnOrderClick:this.sortStart,onColumnPinned:this.handleColumnPinned})])))),this._loading&&!this.blocks.length&&n("tbody",{class:`${p}__active`},[...Array(10).keys()].map((t=>n("tr",null,this.store.config.state.columns.map(((i,e)=>n(Y,{rowIndex:t,colIndex:e,nestedContent:n("nano-skeleton",null)}))))))),this.blocks.map(((t,i)=>n("tbody",{key:t.__uuid,id:`tbody-${this.renderId}-${i}`,ref:t=>{this.blockElements.push(t);this.setupBlockIO(t,i)},class:{[`${p}__inactive`]:!this.activeBlocks.includes(i),[`${p}__active`]:this.activeBlocks.includes(i)}},this.activeBlocks.includes(i)?t.rows.map(((t,e)=>{const o=i>0?i*this.perBlock+e:e;return n(Q,{rowRenderer:this.rowRender,row:t},this.store.config.state.columns.map(((t,i)=>n(Y,{rowIndex:o,colIndex:i}))))})):n("td",{colSpan:this.store.config.state.columns.length,style:{height:this.getBlockHeight(i)}})))),this.showFooter&&n("tfoot",null,n(V,{rowRenderer:this.footRender,onColumnPinned:this.handleColumnPinned},this.store.config.state.columns.map((t=>[n(X,{column:t,headRenderer:this.footRender,onColumnPinned:this.handleColumnPinned,onColumnOrderClick:this.sortStart})]))))),!!this.blocks.length&&n("nano-spinner",{type:"circle",class:{[`${p}__spinner`]:true,[`${p}__spinner--show`]:this._loading}}))))}get host(){return e(this)}static get watchers(){return{rows:["handleRowsChange"],columns:["handleColsChange"],searchTerm:["handleSearchTermChange"]}}};ot.style=it;export{ot as T,w as c};
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{j as t,h as n,F as i,g as e,e as o,r as s,c as r,d as a,a as l}from"./p-1fe12320.js";import{a as d}from"./p-ee045579.js";import{d as c}from"./p-9746b0a5.js";import{c as h}from"./p-651b3264.js";const p="nano-tbl";const b=(t,n)=>{const i=globalThis[n];return i!=null&&t instanceof i};const f=t=>{if(t!=null){if(b(t,"ArrayBuffer")||b(t,"MessagePort")||b(t,"ImageBitmap")||b(t,"OffscreenCanvas")){return[t]}if(typeof t==="object"){if(t.constructor===Object){t=Object.values(t)}if(Array.isArray(t)){return t.flatMap(f)}return f(t.buffer)}}return[]};let u=0;let _=0;const g=new Map;const m=new Map;const w=(n,i,e)=>{const o=new Worker(n,{name:i});o.addEventListener("message",(({data:n})=>{if(n){const i=n[0];const o=n[1];const s=n[2];if(i===e){const i=n[3];const[e,r,a]=g.get(o);g.delete(o);if(i){const n=i.isError?Object.assign(new Error(i.value.message),i.value):i.value;t(n);r(n)}else{if(a){a.forEach((t=>m.delete(t)))}e(s)}}else if(i===e+".cb"){try{m.get(o)(...s)}catch(n){t(n)}}}}));return o};const x=(t,n,i)=>(...e)=>new Promise(((o,s)=>{let r=u++;let a=0;let l=e.length;let d=[o,s];g.set(r,d);for(;a<l;a++){if(typeof e[a]==="function"){const t=_++;m.set(t,e[a]);e[a]=[n+".cb",t];(d[2]=d[2]||[]).push(t)}}const c=t=>t.postMessage([n,r,i,e],f(e));if(t.then){t.then(c)}else{c(t)}}));const y=import("./p-fe1f8360.js").then((t=>t.worker));const v=x(y,"stencil.table.worker","createWorkerStore");const k=x(y,"stencil.table.worker","syncConfigToWorker");const $=x(y,"stencil.table.worker","syncDataToWorker");const z=x(y,"stencil.table.worker","workerFilter");const C=x(y,"stencil.table.worker","workerSearch");const S=x(y,"stencil.table.worker","workerSort");function T(t){const n=JSON.parse(JSON.stringify(t));t.forEach((t=>{if(!!t.sortCompareFn){const i=n.find((n=>n.prop===t.prop));i.sortCompareFn=t.sortCompareFn.toString()}}));return n}const I=new WeakMap;async function R(t,n,i){const e={data:h({rows:[]}),config:h({columns:n}),general:h({workerId:null,scrollParent:i,host:t})};const o=await v(e.data.state.rows,T(e.config.state.columns));e.general.state.workerId=o;I.set(t,e);e.data.use({reset:()=>{if(e.general.state.workerId)$(e.general.state.workerId,null)},dispose:()=>{if(e.general.state.workerId)$(e.general.state.workerId,null)}});e.config.use({reset:()=>{if(e.general.state.workerId)k(e.general.state.workerId,null)},dispose:()=>{if(e.general.state.workerId)k(e.general.state.workerId,null)}});return e}function O(t){return I.get(t)}function j(t,n){const i=I.get(t);if(!i)return;n=n.map(((t,n)=>({...t,__index:n,__uuid:d(Object.values(t).join())})));i.data.state.rows=n;if(i.general.state.workerId)return $(i.general.state.workerId,n)}function M(t,n){const i=I.get(t);if(!i)return;i.config.state.columns=n;if(i.general.state.workerId)return k(i.general.state.workerId,T(n))}async function F(t,n){const i=I.get(t);if(!i||!i.general.state.workerId)return;try{i.data.state.rows=await C(i.general.state.workerId,n)}catch(t){console.log(t)}}async function A(t,n){const i=I.get(t);if(!i||!i.general.state.workerId)return;try{i.data.state.rows=await z(i.general.state.workerId,n)}catch(t){console.log(t)}}async function B(t,n,i){const e=I.get(t);if(!e||!e.general.state.workerId)return;try{e.data.state.rows=await S(e.general.state.workerId,n,i)}catch(t){console.log(t)}}function P(t,n){const i=q();const e=i.config.state.columns;const o=i.data.state.rows;const s=e[n];const r=s?.prop;const a=o[t];const l=a[e[n].prop];return{prop:r,cellModel:l,column:s,rowIndex:t,rowModel:a}}function W(t){const n=q();const i=n.data.state.rows;const e=i[t];return{row:e,rowIndex:t}}function N(t,n){if(!n)return t;const i={...n,...t};if(n.class){if(typeof n.class==="object"&&typeof i.class==="object"){i.class={...n.class,...i.class}}else if(typeof n.class==="string"&&typeof i.class==="object"){i.class[n.class]=true}else if(typeof i.class==="string"){i.class+=" "+n.class}}if(n.style){i.style={...n.style,...i.style}}return i}function q(){return O(e(o()))}function D(t,n,i){const e={...i};const o=q().config.state.columns[n]?.cellProperties;if(!o)return e;const s=P(t,n);const r=o(s);if(!r)return e;return N(e,r)}function J(t,e){const o=q();const s=o.config.state.columns;const r=s[e]?.cellTemplate;const a=P(t,e);return r?r(n,a):n(i,null,a.cellModel.toString())}function L(t){const e=t?.colTemplate;return e?e(n,t):n(i,null,t.title)}function E(t,n,i=false){const e={[`${p}__${t}`]:true,[`${p}__pin`]:!!n,[`${p}__pin--top`]:n==="top",[`${p}__pin--bottom`]:n==="bottom"};if(i){let t="";Object.entries(e).forEach((([n,i])=>{if(i)t+=n+" "}));return t}return e}const H=new WeakMap;const U=new WeakMap;function G(t,n,i){if(H.get(t))return;const e=q();const o=e.general.state.scrollParent;const s=new IntersectionObserver((([t])=>{const e=t.rootBounds||document.scrollingElement.getBoundingClientRect();const s={};if(n==="start"){s.start=t.boundingClientRect.x-(e.x+o.scrollLeft)<0&&!t.isIntersecting}if(n==="end"){s.end=t.boundingClientRect.right>t.boundingClientRect.width&&!t.isIntersecting}i(s)}),{threshold:[1],rootMargin:"1px 0px 100px 0px",root:o===document.scrollingElement?null:o});H.set(t,s);setTimeout((()=>s.observe(t)),300)}function K(t,n,i){if(U.get(t))return;const e=q();const o=e.general.state.scrollParent;const s=new IntersectionObserver((([t])=>{const e=t.rootBounds||document.scrollingElement.getBoundingClientRect();const s={};if(n==="top"){s.top=t.boundingClientRect.y-(e.y+o.scrollTop)<0&&!t.isIntersecting}if(n==="bottom")s.bottom=t.boundingClientRect.height>t.intersectionRect.height&&!t.isIntersecting;i(s)}),{threshold:[1],rootMargin:"0px 100px 0px 100px",root:o===document.scrollingElement?null:o});U.set(t,s);requestAnimationFrame((()=>s.observe(t)))}const Q=({rowRenderer:t,rowIndex:i,row:e},o)=>{let s={};if(!e){const t=W(i);e=t.row}if(t?.rowProperties){s=t.rowProperties({row:e,rowIndex:i})||s}let r;if(t?.pinned&&typeof t.pinned==="function"){r=t.pinned()}const a={class:E("tr",r)};const l=s?N(a,s):a;return n("tr",{...l,key:e.__uuid},o)};const V=({rowRenderer:t,onColumnPinned:i},e,o)=>{let s={};if(t.rowProperties){s=t.rowProperties()||{}}const r=t.pinned||null;const a={class:E("tr",null)};const l=s?N(a,s):a;const d=t?.template;if(d){let t=d(n,{renderedRow:n("tr",{...l},e)});if(Array.isArray(t)){t=o.map(t,(t=>{if(t.vtag==="tr"){t.vattrs=N({class:E("tr",null,true)},t.vattrs);if(!!t.vchildren){t.vchildren=o.map(t.vchildren,(t=>{if(["td","th"].includes(t.vtag.toString())){t.vattrs=N({class:E(t.vtag.toString(),r,true),ref:t=>{K(t,r,i)}},t.vattrs)}return t}))}}return t}))}return t}return n("tr",{...l},e)};const X=({column:t,headRenderer:e,onColumnOrderClick:o,onColumnPinned:s})=>{function r(n){let i;switch(t.order){case"asc":i="desc";break;case"desc":i=null;break;default:i="asc"}o(i,t.prop,n.target.closest("th"))}let a={};if(t.columnProperties){a=t.columnProperties(t)||a}const l={class:{...E("th",e?.pinned),[`${p}__pin--start`]:t.pinned==="start",[`${p}__pin--end`]:t.pinned==="end",[`${p}__ordered`]:!!t.order,[`${p}__filtered`]:!!t.filter}};let d=a?N(l,a):l;const c=L(t);if(!c)return n(i,null);d=Number(d.colspan)>1?{...d,scope:"colgroup"}:{...d,scope:"col"};if(t.sortable!==false){return n("th",{...d,"aria-sort":t.order?t.order==="asc"?"ascending":"descending":"none",ref:n=>{if(["end","start"].includes(t.pinned))G(n,t.pinned,s);if(["top","bottom"].includes(e.pinned))K(n,e.pinned,s)}},n("button",{class:{[`${p}__order-btn`]:true,[`${p}__cell-content`]:true},onClick:r},L(t),!!t.filter&&n("nano-icon",{name:"light/filter"}),!!t.order&&(t.order==="desc"?n("nano-icon",{name:"solid/long-arrow-down"}):n("nano-icon",{name:"solid/long-arrow-up"})),n("div",{class:`${p}__status-icons`},n("nano-icon",{name:"light/chevron-down"}))))}return n("th",{...d,ref:n=>{if(["end","start"].includes(t.pinned))G(n,t.pinned,s);if(["top","bottom"].includes(e.pinned))K(n,e.pinned,s)}},n("div",{class:`${p}__cell-content`},L(t),!!t.filter&&n("nano-icon",{name:"light/bars-filter"})))};const Y=({rowIndex:t,colIndex:e,nestedContent:o})=>{const s=o||J(t,e);if(!s)return n(i,null);const r=q();const a=r.config.state.columns[e];let l="td";let d=D(t,e,{class:{[`${p}__td`]:true,[`${p}__ordered`]:!!a.order,[`${p}__pin`]:!!a.pinned,[`${p}__pin--start`]:a.pinned==="start",[`${p}__pin--end`]:a.pinned==="end"}});if(a.rowHeader){d=Number(d.rowspan)>1?{...d,scope:"rowgroup"}:{...d,scope:"row"};l="th"}return n(l,{...d},n("div",{class:`${p}__cell-content`},s))};const Z=(()=>{let t;let n;let i;let e;const o=60;const s=()=>{t=null;e=0};s();return()=>{n=window.scrollY;if(t!=null)e=n-t;t=n;window.clearTimeout(i);i=window.setTimeout(s,o);return e}})();function tt(t){let n=getComputedStyle(t);const i=n.position==="absolute";const e=/(auto|scroll)/;if(n.position==="fixed")return document.documentElement;for(let o=t;o=o.parentElement;){n=getComputedStyle(o);if(i&&n.position==="static"){continue}if(e.test(n.overflow+n.overflowY+n.overflowX))return o}return document.documentElement}function nt(t,n=100){const i=t.getBoundingClientRect();const e=window.innerHeight||document.documentElement.clientHeight;if(!i.bottom&&!i.top&&!i.left&&!i.right&&!i.height&&!i.width&&!i.x&&!i.y)return false;return!(Math.floor(100-(i.top>=0?0:i.top)/+-i.height*100)<n||Math.floor(100-(i.bottom-e)/i.height*100)<n)}const it=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@charset "UTF-8";nano-table{display:block;width:100%;--max-col-width:200px;--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250, 250, 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.5rem;--td-padding-bottom:0.4125rem;--th-padding-start:0.625rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--foot-th-padding-h:var(--th-padding-start) var(--th-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));border-inline-end:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);border-inline-start:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;transition:scale 0.25s;scale:0;width:100%;height:0}.nano-tbl__progress-bar--show{scale:1;height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{font-weight:800;background:rgba(var(--head-bg-rgb), 90%);font-size:var(--thead-font-size);border-block-start:none}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}tfoot .nano-tbl__td,tfoot .nano-tbl__th{font-weight:800;border-block-end:none;background:rgba(var(--foot-bg-rgb), 90%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgba(var(--ordered-bg-rgb), 0.8) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl tbody{will-change:scroll-position;visibility:visible}.nano-tbl tbody.nano-tbl__inactive{visibility:hidden}.nano-tbl th[scope=row]{font-weight:800;margin:0}.sm .nano-tbl th[scope=row]{max-width:65vw !important}.nano-tbl__pin{position:sticky;z-index:1}.nano-tbl__pin--start{inset-inline:-1px auto;transition:max-width 0.25s}.nano-tbl__pin--start::after{content:"";position:absolute;inset:0;box-shadow:5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2;max-width:125px}.sm .nano-tbl__pinned--start .nano-tbl__pin--start{max-width:var(--max-col-width)}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline:auto -1px !important;max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:"";position:absolute;inset:0;box-shadow:-5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end{z-index:3}.sm .nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5;border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{border-block-start:none}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}';let et=0;const ot=class{constructor(t){s(this,t);this.nanoTblBlockRendered=r(this,"nanoTblBlockRendered",7);this.nanoTblReady=r(this,"nanoTblReady",7);this.nanoTblBeforeSort=r(this,"nanoTblBeforeSort",7);this.nanoTblAfterSort=r(this,"nanoTblAfterSort",7);this.nanoTblBeforeFilter=r(this,"nanoTblBeforeFilter",7);this.nanoTblAfterFilter=r(this,"nanoTblAfterFilter",7);this.nanoTblBeforeSearch=r(this,"nanoTblBeforeSearch",7);this.nanoTblAfterSearch=r(this,"nanoTblAfterSearch",7);this.debounceSetLoading=t=>{this._loading=!!this.store.data.state.rows.length?t:true};this.renderId="tbl-"+et++;this.filters=[];this.currentFilters="";this.currentSort="";this.blockIos=new WeakMap;this.blockHeights=[];this.unitHeight=0;this.ignoreIO=true;this._isReady=false;this.sortStart=async(t,n,i)=>{if(this.currentSort===t+":"+n)return;this.loading=true;const e=this.nanoTblBeforeSort.emit({column:n,order:t});if(e.defaultPrevented)return;this.currentSort=t+":"+n;this.scrollToTop(i);if(this.customSortFn){try{await this.customSortFn(n,t);this.sortComplete(t,n)}catch(t){console.warn("custom sort failed",t)}return}try{await B(this.host,n,t);this.sortComplete(t,n)}catch(t){console.warn("sort failed",t);this.currentSort=""}finally{this.loading=false}};this.setupBlockIO=(t,n)=>{if(!t||this.blockIos.has(t))return;const i=new IntersectionObserver((([i])=>{if(this.ignoreIO)return;if(i.isIntersecting){a((()=>{if(this.scrollSpeed<100||nt(t,.01)){this.activeBlocks=[n,n+1,Math.max(0,n-1)];this.nanoTblBlockRendered.emit({block:n,totalBlocks:this.blockElements.length});requestAnimationFrame((()=>this.setBlockHeight()))}}))}}),{threshold:[0],root:this.scrollParent===document.scrollingElement?null:this.scrollParent});i.observe(t);this.blockIos.set(t,i)};this.handleColumnPinned=t=>{Object.entries(t).forEach((([t,n])=>{this.tableEle.classList.toggle(`${p}__pinned--${t}`,n)}))};this.type="table";this.caption=undefined;this.showCaption=false;this._loading=false;this.placeholderSize=5;this.rows=undefined;this.columns=[];this.headRender={pinned:"top"};this.rowRender=undefined;this.footRender={pinned:"bottom"};this.showFooter=false;this.perBlock=60;this.searchTerm=undefined;this.customFilterFn=undefined;this.customSortFn=undefined;this.blocks=[];this.activeBlocks=[0,1,2];this.measureHeight=0;this.debounceSetLoading=c(this.debounceSetLoading.bind(this),50)}get loading(){return this._loading}set loading(t){this.debounceSetLoading(t)}handleRowsChange(){if(!this.rows){this.loading=true;return}this.loading=true;Promise.resolve(this.rows).then((async t=>{await j(this.host,t);this.currentFilters="";this.currentSort="";await this.columnInit();if(!this.isReady){this.setInitialBlockDimension()}this.loading=false}))}async handleColsChange(){await M(this.host,this.columns);if(this.isReady)this.columnInit()}get blocksLength(){return this.blocks.length}handleSearchTermChange(){this.searchStart()}async resetSorting(){const t=this.columns.find((t=>!!t.order));if(!t)return;return this.sortStart(null,t.prop)}async addSort(t,n){const i=this.columns.find((n=>n.prop===t));if(!i)throw"Cannot find column with "+t;return this.sortStart(n,i.prop)}async resetFilters(){this.filters=[];return this.filterStart()}async addFilters(t,n=true){if(!n)this.filters=[];return this.filterStart(t,n)}set measureEle(t){if(!t)return;this.measureHeight=t.getBoundingClientRect().height;this.unitHeight=t.querySelector("tr")?.getBoundingClientRect().height||this.unitHeight}get isReady(){return this._isReady}set isReady(t){if(t===this._isReady)return;this._isReady=t;if(this.isReady)requestAnimationFrame((()=>this.handleReady()))}scrollListener(){const t=Z();this.scrollSpeed=t<0?t*-1:t}handleReady(){const t=window.location.hash;if(t.length>1){const n=document.querySelector(t);if(n){n.scrollIntoView()}}this.nanoTblReady.emit()}sortComplete(t,n){this.columns=this.columns.map((i=>{if(i.prop===n)return{...i,order:t};return{...i,order:null}}));this.nanoTblAfterSort.emit({column:n,order:t})}async searchStart(){this.loading=true;const t=this.nanoTblBeforeSearch.emit({term:this.searchTerm});if(t.defaultPrevented)return;this.scrollToTop();try{await F(this.host,this.searchTerm);this.nanoTblAfterSearch.emit({term:this.searchTerm})}catch(t){console.warn("search failed",t)}finally{this.loading=false}}async filterStart(t,n=true){if(t){if(n){this.filters=[...this.filters.filter((n=>!t.find((t=>t.prop===n.prop)))),...t]}else{this.filters=t}}if(this.currentFilters===JSON.stringify(this.filters))return;this.loading=true;const i=this.nanoTblBeforeFilter.emit({filters:this.filters});if(i.defaultPrevented)return;this.currentFilters=JSON.stringify(this.filters);this.scrollToTop();if(this.customFilterFn){try{await this.customFilterFn(this.filters);this.filterComplete()}catch(t){console.warn("custom filter failed",t);this.currentFilters=""}return}try{await A(this.host,this.filters);this.filterComplete()}catch(t){console.warn("filter failed",t)}finally{this.loading=false}}filterComplete(){this.columns=this.columns.map((t=>{const n=this.filters.find((n=>n.prop===t.prop));if(n)t.filter=n.filter;return t}));this.nanoTblAfterFilter.emit({filters:this.filters})}scrollToTop(t){const n=this.scrollParent.style?.scrollBehavior;const i=this.scrollParent.scrollLeft;this.scrollParent.style.scrollBehavior="auto";if(this.topAnchorEle&&!nt(this.topAnchorEle,.1)){this.host.scrollIntoView()}if(t&&!nt(t,1))setTimeout((()=>t.scrollIntoView({block:"start"})),500);if(i)this.scrollParent.scrollLeft=i;if(n)this.scrollParent.style.scrollBehavior=n}setMeasureElement(){a((()=>{this.measureEle=this.blockElements.find((t=>!t?.classList?.contains(`${p}__inactive`)))}))}setInitialBlockDimension(){if(!this.blockElements?.length)return;const t=new Promise((t=>{a((()=>{this.setMeasureElement();if(!this.measureEle&&!this.unitHeight)t();this.blockElements.forEach(((n,i)=>{if(!n||!n.classList?.contains(`${p}__inactive`)){if(i===this.blockElements.length-1)t();return}if(i===this.blockElements.length-1)t()}))}))}));t.then((()=>{requestAnimationFrame((()=>{this.isReady=true}))}))}async columnInit(){this.filters=this.columns.filter((t=>!!t.filter)).map((t=>{const{filter:n,prop:i}=t;return{filter:n,prop:i}}));if(this.searchTerm){await this.searchStart()}if(this.filters.length){await this.filterStart()}const t=this.columns.find((t=>!!t.order));if(!!t){await this.sortStart(t.order,t.prop)}}setBlocks(){this.activeBlocks=[0,1,2];this.ignoreIO=true;let t=1;const n=this.store.data.state.rows.length;let i=[];const e=[];this.blockHeights=[];for(t;t<=n;t++){i.push(this.store.data.state.rows[t-1]);if(t%this.perBlock===0){e.push({rows:i,__uuid:d(i.map((t=>t.__uuid)).join())});i=[]}}if(i.length)e.push({rows:i,__uuid:d(i.map((t=>t.__uuid)).join())});this.blocks=e}getBlockHeight(t){if(this.activeBlocks.includes(t))return undefined;if(this.blockHeights.length){const n=this.blockHeights.find((n=>n.blockIndex===t));if(n)return n.height+"px"}const n=this.blocks[t].rows.length;if(n===this.perBlock&&this.measureHeight){return this.measureHeight+"px"}return this.unitHeight?this.unitHeight*n+"px":undefined}setBlockHeight(){a((()=>{this.activeBlocks.forEach((t=>{const n=this.blockElements[t];if(!n)return;const i=n.getBoundingClientRect().height;const e=this.blockHeights.findIndex((n=>n.blockIndex===t));if(e>0){this.blockHeights[e]={height:i,blockIndex:t}}else this.blockHeights.push({height:i,blockIndex:t})}))}))}processSlots(){if(!this.caption&&!this.host.querySelector('[slot="caption"]')){console.error("For accessibility you must set a `title` prop or use the `caption` slot")}}async componentWillLoad(){this.store=await R(this.host,this.columns,this.scrollParent);await this.handleRowsChange();this.processSlots();this.setBlocks();this.store.data.onChange("rows",(()=>this.setBlocks()))}connectedCallback(){a((()=>this.scrollParent=tt(this.host)))}componentDidLoad(){this.setInitialBlockDimension()}componentShouldUpdate(t,n,i){if(["rows","columns"].includes(i))return false}componentWillRender(){}componentDidRender(){requestAnimationFrame((()=>this.ignoreIO=false));this.setMeasureElement()}render(){this.blockElements=[];return n(l,null,n("div",{class:`${p}__top-anchor`,ref:t=>this.topAnchorEle=t}," "),n("nano-resize-observe",{"aria-labelledby":"table-caption-"+this.renderId,tabindex:this.type==="grid"?"0":undefined,states:"576w sm, 768w md",class:"sm md"},n("div",{class:`${p}__wrap`},n("nano-progress-bar",{indeterminate:true,class:{[`${p}__progress-bar`]:true,[`${p}__progress-bar--show`]:this._loading}}),n("table",{role:this.type==="grid"?"grid":undefined,"aria-readonly":this.type==="table"?"true":undefined,"aria-rowcount":this.store.data.state.rows.length,"aria-colcount":this.store.config.state.columns.length,class:`${p}`,ref:t=>this.tableEle=t},n("caption",{class:{[`${p}__caption`]:true,[`${p}__caption--hide`]:!this.showCaption},id:"table-caption-"+this.renderId},n("slot",{name:"caption"},this.caption)),n("thead",null,n(V,{rowRenderer:this.headRender,onColumnPinned:this.handleColumnPinned},this.store.config.state.columns.map((t=>[n(X,{column:t,headRenderer:this.headRender,onColumnOrderClick:this.sortStart,onColumnPinned:this.handleColumnPinned})])))),this._loading&&!this.blocks.length&&n("tbody",{class:`${p}__active`},[...Array(10).keys()].map((t=>n("tr",null,this.store.config.state.columns.map(((i,e)=>n(Y,{rowIndex:t,colIndex:e,nestedContent:n("nano-skeleton",null)}))))))),this.blocks.map(((t,i)=>n("tbody",{key:t.__uuid,id:`tbody-${this.renderId}-${i}`,ref:t=>{this.blockElements.push(t);this.setupBlockIO(t,i)},class:{[`${p}__inactive`]:!this.activeBlocks.includes(i),[`${p}__active`]:this.activeBlocks.includes(i)}},this.activeBlocks.includes(i)?t.rows.map(((t,e)=>{const o=i>0?i*this.perBlock+e:e;return n(Q,{rowRenderer:this.rowRender,row:t},this.store.config.state.columns.map(((t,i)=>n(Y,{rowIndex:o,colIndex:i}))))})):n("td",{colSpan:this.store.config.state.columns.length,style:{height:this.getBlockHeight(i)}})))),this.showFooter&&n("tfoot",null,n(V,{rowRenderer:this.footRender,onColumnPinned:this.handleColumnPinned},this.store.config.state.columns.map((t=>[n(X,{column:t,headRenderer:this.footRender,onColumnPinned:this.handleColumnPinned,onColumnOrderClick:this.sortStart})]))))),!!this.blocks.length&&n("nano-spinner",{type:"circle",class:{[`${p}__spinner`]:true,[`${p}__spinner--show`]:this._loading}}))))}get host(){return e(this)}static get watchers(){return{rows:["handleRowsChange"],columns:["handleColsChange"],searchTerm:["handleSearchTermChange"]}}};ot.style=it;export{ot as T,w as c};
|
5
|
+
//# sourceMappingURL=p-f9349146.js.map
|
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
2
|
* Web Components for Nanopore digital Web Apps
|
3
3
|
*/
|
4
|
-
import{c as t}from"./p-
|
5
|
-
//# sourceMappingURL=p-
|
4
|
+
import{c as t}from"./p-f9349146.js";import"./p-1fe12320.js";import"./p-ee045579.js";import"./p-9746b0a5.js";import"./p-651b3264.js";const o="table.worker";const p="stencil.table.worker";const s=new URL("p-1fd13775.js",import.meta.url).href;const r=new Blob(['importScripts("'+s+'")'],{type:"text/javascript"});const e=URL.createObjectURL(r);const c=t(e,o,p);URL.revokeObjectURL(e);export{c as worker,p as workerMsgId,o as workerName,s as workerPath};
|
5
|
+
//# sourceMappingURL=p-fe1f8360.js.map
|
File without changes
|
package/dist/themes/nanopore.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
.nano-hide{display:none !important}.nano-hide-up{display:none !important}.nano-hide-down{display:none !important}@media(min-width: 576px){.nano-hide-sm-up{display:none !important}}@media(max-width: 576px){.nano-hide-sm-down{display:none !important}}@media(min-width: 768px){.nano-hide-md-up{display:none !important}}@media(max-width: 768px){.nano-hide-md-down{display:none !important}}@media(min-width: 992px){.nano-hide-lg-up{display:none !important}}@media(max-width: 992px){.nano-hide-lg-down{display:none !important}}@media(min-width: 1200px){.nano-hide-xl-up{display:none !important}}@media(max-width: 1200px){.nano-hide-xl-down{display:none !important}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;block-size:0}b,strong{font-weight:bold}img{max-inline-size:100%;border:0}svg:not(:root){overflow:hidden}figure{margin-block:1em;margin-inline:40px}hr{block-size:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;block-size:auto;font:inherit;color:inherit}textarea::placeholder{padding-inline-start:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{padding:0;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{block-size:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}button,input,select,textarea{-webkit-tap-highlight-color:rgba(201,224,253,.8)}*,*::before,*::after{box-sizing:border-box;font-family:inherit}html{inline-size:100%;text-size-adjust:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;text-rendering:optimizeLegibility}.nano-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.nano-padding{--padding-start: var(--nano-spacing-medium, 16px);--padding-end: var(--nano-spacing-medium, 16px);--padding-top: var(--nano-spacing-medium, 16px);--padding-bottom: var(--nano-spacing-medium, 16px);padding:var(--nano-spacing-medium, 16px)}.nano-padding-top{--padding-top: var(--nano-spacing-medium, 16px);padding-block-start:var(--nano-spacing-medium, 16px)}.nano-padding-start{--padding-start: var(--nano-spacing-medium, 16px);padding-inline-start:var(--nano-spacing-medium, 16px)}.nano-padding-end{--padding-end: var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}.nano-padding-bottom{--padding-bottom: var(--nano-spacing-medium, 16px);padding-block-end:var(--nano-spacing-medium, 16px)}.nano-padding-vertical{--padding-top: var(--nano-spacing-medium, 16px);--padding-bottom: var(--nano-spacing-medium, 16px);padding-block:var(--nano-spacing-medium, 16px)}.nano-padding-horizontal{--padding-start: var(--nano-spacing-medium, 16px);--padding-end: var(--nano-spacing-medium, 16px);padding-inline:var(--nano-spacing-medium, 16px)}.nano-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.nano-margin{--margin-start: var(--nano-spacing-medium, 16px);--margin-end: var(--nano-spacing-medium, 16px);--margin-top: var(--nano-spacing-medium, 16px);--margin-bottom: var(--nano-spacing-medium, 16px);margin:var(--nano-spacing-medium, 16px)}.nano-margin-top{--margin-top: var(--nano-spacing-medium, 16px);margin-block-start:var(--nano-spacing-medium, 16px)}.nano-margin-start{--margin-start: var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px)}.nano-margin-end{--margin-end: var(--nano-spacing-medium, 16px);margin-inline-end:var(--nano-spacing-medium, 16px)}.nano-margin-bottom{--margin-bottom: var(--nano-spacing-medium, 16px);margin-block-end:var(--nano-spacing-medium, 16px)}.nano-margin-vertical{--margin-top: var(--nano-spacing-medium, 16px);--margin-bottom: var(--nano-spacing-medium, 16px);margin-block:var(--nano-spacing-medium, 16px)}.nano-margin-horizontal{--margin-start: var(--nano-spacing-medium, 16px);--margin-end: var(--nano-spacing-medium, 16px);margin-inline:var(--nano-spacing-medium, 16px)}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1_0.woff") format("woff");font-weight:400;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_8_0.woff2") format("woff2"),url("../assets/fonts/3AF163_8_0.woff") format("woff");font-weight:400;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_5_0.woff2") format("woff2"),url("../assets/fonts/3AF163_5_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_2_0.woff2") format("woff2"),url("../assets/fonts/3AF163_2_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_9_0.woff2") format("woff2"),url("../assets/fonts/3AF163_9_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_A_0.woff2") format("woff2"),url("../assets/fonts/3AF163_A_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_21_0.woff2") format("woff2"),url("../assets/fonts/3AF163_21_0.woff") format("woff");font-weight:400;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_28_0.woff2") format("woff2"),url("../assets/fonts/3AF163_28_0.woff") format("woff");font-weight:400;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_25_0.woff2") format("woff2"),url("../assets/fonts/3AF163_25_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_22_0.woff2") format("woff2"),url("../assets/fonts/3AF163_22_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_29_0.woff2") format("woff2"),url("../assets/fonts/3AF163_29_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_2A_0.woff2") format("woff2"),url("../assets/fonts/3AF163_2A_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_15_0.woff2") format("woff2"),url("../assets/fonts/3AF163_15_0.woff") format("woff");font-weight:400;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_16_0.woff2") format("woff2"),url("../assets/fonts/3AF163_16_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_17_0.woff2") format("woff2"),url("../assets/fonts/3AF163_17_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1B_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1B_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1C_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1C_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:expanded;font-display:swap}html{font-family:var(--nano-font-family);font-weight:var(--nano-font-weight, 500);color:var(--nano-text-color, #4a4a4a);font-size:var(--nano-base-font-size)}a{color:var(--nano-color-primary, #007495);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-block:16px 10px;font-weight:600;line-height:1.2}h1{margin-block-start:10px;font-size:28px}h2{margin-block-start:18px;font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{inset-block-start:-0.5em}sub{inset-block-end:-0.25em}p{font-size:1.125rem;line-height:1.4;margin-block:0 1rem}p.supporting{font-size:.875rem}.heading{font-weight:500;line-height:1.3;margin-block:0 1.5rem;margin-inline:0}.heading__highlight{color:#007495}@media print{.heading{color:#4a4a4a}}.heading--one{font-size:2.5rem}@media(min-width: 768px){.heading--one{font-size:3.25rem}}.heading--two{font-size:1.5rem}@media(min-width: 768px){.heading--two{font-size:2rem}}.heading--three{font-size:1.125rem}@media(min-width: 768px){.heading--three{font-size:1.375rem}}.heading--four{font-size:1.125rem}.heading--five{font-size:1rem}.heading--light{font-weight:200}.heading--upper{text-transform:uppercase}.heading--meta{font-size:.875rem;text-transform:uppercase;letter-spacing:1.3px;font-weight:bold;margin-block-end:1rem}.button{padding:0;border:none;background-color:rgba(0,0,0,0);font:inherit;-webkit-box-align:center;text-decoration:none;color:inherit;transition:background-color 100ms ease-in-out,box-shadow 100ms ease-in-out,border-color 100ms ease-in-out,color 100ms ease-in-out;padding-inline:var(--nano-btn-padding-start, 1rem) var(--nano-btn-padding-end, 1rem);padding-block:var(--nano-btn-padding-top, 0.5rem) var(--nano-btn-padding-bottom, 0.5rem);box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2));display:inline-block;border-radius:var(--nano-btn-border-radius, 5px);line-height:var(--nano-btn-line-height, 1.5em);font-weight:500;cursor:pointer;background:rgba(0,0,0,.02)}.button::-moz-focus-inner{border:0;padding:0}.button:hover,.button:focus{text-decoration:none;color:inherit}@media print{.button{display:none}}.button:focus,.button.button--focus{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}.button nano-icon,.button nano-spinner{--base-color-rgb: 255, 255, 255;margin-inline-start:.5em;margin-inline-end:0;font-size:var(--nano-btn-icon-size, 1em);vertical-align:middle;margin-block-start:-0.188em;display:inline-block}.button.button--icon-start nano-icon,.button.button--icon-start nano-spinner{margin-inline-start:0;margin-inline-end:.5em}.button:hover:not(.button--disabled){box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2))}.button:active:not(.button--disabled):not(:disabled){box-shadow:none}.button--disabled,.button:disabled{opacity:.6}.button--disabled:hover,.button:disabled:hover{cursor:default}.button--primary{background-color:var(--nano-color-primary, #007495);color:var(--nano-color-primary-contrast, #fff)}.button--primary:hover:not(.button--disabled):not(:disabled),.button--primary.button--active{background-color:var(--nano-color-primary-shade, #00637f);color:var(--nano-color-primary-contrast, #fff)}.button--primary:hover:not(.button--disabled):not(:disabled).button--keyline,.button--primary.button--active.button--keyline{background-color:var(--nano-color-primary, #007495);color:var(--nano-color-primary-contrast, #fff)}.button--primary:focus{color:var(--nano-color-primary-contrast, #fff)}.button--primary.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:var(--nano-color-primary, #007495);border-color:var(--nano-color-primary, #007495)}.button--primary.button--keyline:hover:not(.button--disabled):not(:disabled),.button--primary.button--keyline:not(:focus):not(.button--focus),.button--primary.button--keyline.button--active{box-shadow:none}.button--secondary{background-color:#17bb75;color:#fff}.button--secondary:hover:not(.button--disabled):not(:disabled),.button--secondary.button--active{background-color:#0b814f;color:#fff}.button--secondary:hover:not(.button--disabled):not(:disabled).button--keyline,.button--secondary.button--active.button--keyline{background-color:#17bb75;color:#fff}.button--secondary:focus{color:#fff}.button--secondary.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#17bb75;border-color:#17bb75}.button--secondary.button--keyline:hover:not(.button--disabled):not(:disabled),.button--secondary.button--keyline:not(:focus):not(.button--focus),.button--secondary.button--keyline.button--active{box-shadow:none}.button--light{background-color:#fff;color:#007495}.button--light:hover:not(.button--disabled):not(:disabled),.button--light.button--active{background-color:#fff;color:#0c5a71}.button--light:hover:not(.button--disabled):not(:disabled).button--keyline,.button--light.button--active.button--keyline{background-color:#fff;color:#007495}.button--light:focus{color:#007495}.button--light.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#fff;border-color:#fff}.button--light.button--keyline:hover:not(.button--disabled):not(:disabled),.button--light.button--keyline:not(:focus):not(.button--focus),.button--light.button--keyline.button--active{box-shadow:none}.button--danger{background-color:#ef4135;color:#fff}.button--danger:hover:not(.button--disabled):not(:disabled),.button--danger.button--active{background-color:#be2a20;color:#fff}.button--danger:hover:not(.button--disabled):not(:disabled).button--keyline,.button--danger.button--active.button--keyline{background-color:#ef4135;color:#fff}.button--danger:focus{color:#fff}.button--danger.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#ef4135;border-color:#ef4135}.button--danger.button--keyline:hover:not(.button--disabled):not(:disabled),.button--danger.button--keyline:not(:focus):not(.button--focus),.button--danger.button--keyline.button--active{box-shadow:none}.button--warning{background-color:#f57e20;color:#fff}.button--warning:hover:not(.button--disabled):not(:disabled),.button--warning.button--active{background-color:#b95e17;color:#fff}.button--warning:hover:not(.button--disabled):not(:disabled).button--keyline,.button--warning.button--active.button--keyline{background-color:#f57e20;color:#fff}.button--warning:focus{color:#fff}.button--warning.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#f57e20;border-color:#f57e20}.button--warning.button--keyline:hover:not(.button--disabled):not(:disabled),.button--warning.button--keyline:not(:focus):not(.button--focus),.button--warning.button--keyline.button--active{box-shadow:none}.button--tertiary{background:rgba(0,0,0,0);box-shadow:none;text-decoration:underline;font-weight:400}.button--tertiary:hover:not(.button--disabled):not(:disabled),.button--tertiary:hover.button--active,.button--tertiary:focus:not(.button--disabled):not(:disabled),.button--tertiary:focus.button--active{color:#b5aea7;box-shadow:none;text-decoration:underline}.nano-color-primary{--nano-color-base: var(--nano-color-primary, #007495) ;--nano-color-base-rgb: var( --nano-color-primary-rgb, 0, 116, 149 ) ;--nano-color-contrast: var(--nano-color-primary-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-primary-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-primary-shade, #00637f) ;--nano-color-tint: var(--nano-color-primary-tint, #2689a5) ;--nano-color-tint-rgb: var( --nano-color-primary-tint-rgb, 38, 137, 165 ) }.nano-color-secondary{--nano-color-base: var(--nano-color-secondary, #548caf) ;--nano-color-base-rgb: var( --nano-color-secondary-rgb, 84, 140, 175 ) ;--nano-color-contrast: var(--nano-color-secondary-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-secondary-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-secondary-shade, #477795) ;--nano-color-tint: var(--nano-color-secondary-tint, #6e9dbb) ;--nano-color-tint-rgb: var( --nano-color-secondary-tint-rgb, 110, 157, 187 ) }.nano-color-tertiary{--nano-color-base: var(--nano-color-tertiary, #b5aea7) ;--nano-color-base-rgb: var( --nano-color-tertiary-rgb, 181, 174, 167 ) ;--nano-color-contrast: var(--nano-color-tertiary-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-tertiary-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-tertiary-shade, #9a948e) ;--nano-color-tint: var(--nano-color-tertiary-tint, #c0bab4) ;--nano-color-tint-rgb: var( --nano-color-tertiary-tint-rgb, 192, 186, 180 ) }.nano-color-success{--nano-color-base: var(--nano-color-success, #17bb75) ;--nano-color-base-rgb: var( --nano-color-success-rgb, 23, 187, 117 ) ;--nano-color-contrast: var(--nano-color-success-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-success-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-success-shade, #149f63) ;--nano-color-tint: var(--nano-color-success-tint, #3ac58a) ;--nano-color-tint-rgb: var( --nano-color-success-tint-rgb, 58, 197, 138 ) }.nano-color-warning{--nano-color-base: var(--nano-color-warning, #f57e20) ;--nano-color-base-rgb: var( --nano-color-warning-rgb, 245, 126, 32 ) ;--nano-color-contrast: var(--nano-color-warning-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-warning-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-warning-shade, #d06b1b) ;--nano-color-tint: var(--nano-color-warning-tint, #f79141) ;--nano-color-tint-rgb: var( --nano-color-warning-tint-rgb, 247, 145, 65 ) }.nano-color-danger{--nano-color-base: var(--nano-color-danger, #ef4135) ;--nano-color-base-rgb: var( --nano-color-danger-rgb, 239, 65, 53 ) ;--nano-color-contrast: var(--nano-color-danger-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-danger-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-danger-shade, #cb372d) ;--nano-color-tint: var(--nano-color-danger-tint, #f15e53) ;--nano-color-tint-rgb: var( --nano-color-danger-tint-rgb, 241, 94, 83 ) }.nano-color-light{--nano-color-base: var(--nano-color-light, #f2f7f9) ;--nano-color-base-rgb: var( --nano-color-light-rgb, 242, 247, 249 ) ;--nano-color-contrast: var(--nano-color-light-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-light-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-light-shade, #ced2d4) ;--nano-color-tint: var(--nano-color-light-tint, #f4f8fa) ;--nano-color-tint-rgb: var( --nano-color-light-tint-rgb, 244, 248, 250 ) }.nano-color-medium{--nano-color-base: var(--nano-color-medium, #005c75) ;--nano-color-base-rgb: var( --nano-color-medium-rgb, 0, 92, 117 ) ;--nano-color-contrast: var(--nano-color-medium-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-medium-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-medium-shade, #004e63) ;--nano-color-tint: var(--nano-color-medium-tint, #26748a) ;--nano-color-tint-rgb: var( --nano-color-medium-tint-rgb, 38, 116, 138 ) }.nano-color-dark{--nano-color-base: var(--nano-color-dark, #455556) ;--nano-color-base-rgb: var( --nano-color-dark-rgb, 69, 85, 86 ) ;--nano-color-contrast: var(--nano-color-dark-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-dark-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-dark-shade, #3b4849) ;--nano-color-tint: var(--nano-color-dark-tint, #616f6f) ;--nano-color-tint-rgb: var( --nano-color-dark-tint-rgb, 97, 111, 111 ) }:root{--nano-base-font-size: 16px;--nano-padding: 1rem;--nano-font-family: "HelveticaNow", "Helvetica Neue", helvetica, arial, "Lucida Grande", sans-serif;--nano-color-white:#fff;--nano-color-white-rgb:255, 255, 255;--nano-color-lightblue:#90c6e7;--nano-color-lightblue-rgb:144, 198, 231;--nano-color-blue:#007495;--nano-color-blue-rgb:0, 116, 149;--nano-color-darkblue:#0c5a71;--nano-color-darkblue-rgb:12, 90, 113;--nano-color-darkgrey:#455556;--nano-color-darkgrey-rgb:69, 85, 86;--nano-color-palegrey:#b5aea7;--nano-color-palegrey-rgb:181, 174, 167;--nano-color-dimgrey:#918b86;--nano-color-dimgrey-rgb:145, 139, 134;--nano-color-lightgrey:#e4e6e8;--nano-color-lightgrey-rgb:228, 230, 232;--nano-color-mediumgrey:#687576;--nano-color-mediumgrey-rgb:104, 117, 118;--nano-color-green:#17bb75;--nano-color-green-rgb:23, 187, 117;--nano-color-orange:#f57e20;--nano-color-orange-rgb:245, 126, 32;--nano-color-paleyellow:#ede797;--nano-color-paleyellow-rgb:237, 231, 151;--nano-color-purple:#a53f97;--nano-color-purple-rgb:165, 63, 151;--nano-color-red:#ef4135;--nano-color-red-rgb:239, 65, 53;--nano-color-yellow:#f5cc49;--nano-color-yellow-rgb:245, 204, 73;--nano-color-background:#f0efed;--nano-color-background-rgb:240, 239, 237;--nano-color-black:#4a4a4a;--nano-color-black-rgb:74, 74, 74;--nano-color-celsius:#f0efed;--nano-color-celsius-rgb:240, 239, 237;--nano-color-offwhite:#f9f9fb;--nano-color-offwhite-rgb:249, 249, 251;--nano-color-darkblue--faded:#005c75;--nano-color-darkblue--faded-rgb:0, 92, 117;--nano-color-red--faded:#fee8de;--nano-color-red--faded-rgb:254, 232, 222;--nano-color-orange--faded:#feeddb;--nano-color-orange--faded-rgb:254, 237, 219;--nano-color-yellow--faded:#fefcf2;--nano-color-yellow--faded-rgb:254, 252, 242;--nano-color-green--faded:#edf5f2;--nano-color-green--faded-rgb:237, 245, 242;--nano-color-blue--faded:#f2f7f9;--nano-color-blue--faded-rgb:242, 247, 249;--nano-color-blue--darker:#245a6f;--nano-color-blue--darker-rgb:36, 90, 111;--nano-color-green--darker:#0b814f;--nano-color-green--darker-rgb:11, 129, 79;--nano-color-red--darker:#be2a20;--nano-color-red--darker-rgb:190, 42, 32;--nano-color-purple--darker:#772c6d;--nano-color-purple--darker-rgb:119, 44, 109;--nano-color-orange--darker:#b95e17;--nano-color-orange--darker-rgb:185, 94, 23;--nano-color-palegrey--darker:#8c8379;--nano-color-palegrey--darker-rgb:140, 131, 121;--nano-color-lightblue--darker:#548caf;--nano-color-lightblue--darker-rgb:84, 140, 175}@media(max-width: 576px){:root{--nano-base-font-size: 14px}}body{background-color:var(--nano-background-color, #f0efed)}hr,.horizontal-rule,.content-divider{display:block;block-size:1px;border:0;background-color:rgba(181,174,167,.5);margin-block:.5em;margin-inline:0;padding:0}area[href]:not([tabindex="-1"]):focus,iframe:not([tabindex="-1"]):focus,[contentEditable=true]:not([tabindex="-1"]):focus{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));border-radius:3px}/*# sourceMappingURL=nanopore.css.map */
|
1
|
+
.nano-hide{display:none !important}.nano-hide-up{display:none !important}.nano-hide-down{display:none !important}@media(min-width: 576px){.nano-hide-sm-up{display:none !important}}@media(max-width: 576px){.nano-hide-sm-down{display:none !important}}@media(min-width: 768px){.nano-hide-md-up{display:none !important}}@media(max-width: 768px){.nano-hide-md-down{display:none !important}}@media(min-width: 992px){.nano-hide-lg-up{display:none !important}}@media(max-width: 992px){.nano-hide-lg-down{display:none !important}}@media(min-width: 1200px){.nano-hide-xl-up{display:none !important}}@media(max-width: 1200px){.nano-hide-xl-down{display:none !important}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;block-size:0}b,strong{font-weight:bold}img{max-inline-size:100%;border:0}svg:not(:root){overflow:hidden}figure{margin-block:1em;margin-inline:40px}hr{block-size:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;block-size:auto;font:inherit;color:inherit}textarea::placeholder{padding-inline-start:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{padding:0;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{block-size:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}button,input,select,textarea{-webkit-tap-highlight-color:rgba(201,224,253,.8)}*,*::before,*::after{box-sizing:border-box;font-family:inherit}html{inline-size:100%;text-size-adjust:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;text-rendering:optimizeLegibility}.nano-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.nano-padding{--padding-start: var(--nano-spacing-medium, 16px);--padding-end: var(--nano-spacing-medium, 16px);--padding-top: var(--nano-spacing-medium, 16px);--padding-bottom: var(--nano-spacing-medium, 16px);padding:var(--nano-spacing-medium, 16px)}.nano-padding-top{--padding-top: var(--nano-spacing-medium, 16px);padding-block-start:var(--nano-spacing-medium, 16px)}.nano-padding-start{--padding-start: var(--nano-spacing-medium, 16px);padding-inline-start:var(--nano-spacing-medium, 16px)}.nano-padding-end{--padding-end: var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}.nano-padding-bottom{--padding-bottom: var(--nano-spacing-medium, 16px);padding-block-end:var(--nano-spacing-medium, 16px)}.nano-padding-vertical{--padding-top: var(--nano-spacing-medium, 16px);--padding-bottom: var(--nano-spacing-medium, 16px);padding-block:var(--nano-spacing-medium, 16px)}.nano-padding-horizontal{--padding-start: var(--nano-spacing-medium, 16px);--padding-end: var(--nano-spacing-medium, 16px);padding-inline:var(--nano-spacing-medium, 16px)}.nano-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.nano-margin{--margin-start: var(--nano-spacing-medium, 16px);--margin-end: var(--nano-spacing-medium, 16px);--margin-top: var(--nano-spacing-medium, 16px);--margin-bottom: var(--nano-spacing-medium, 16px);margin:var(--nano-spacing-medium, 16px)}.nano-margin-top{--margin-top: var(--nano-spacing-medium, 16px);margin-block-start:var(--nano-spacing-medium, 16px)}.nano-margin-start{--margin-start: var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px)}.nano-margin-end{--margin-end: var(--nano-spacing-medium, 16px);margin-inline-end:var(--nano-spacing-medium, 16px)}.nano-margin-bottom{--margin-bottom: var(--nano-spacing-medium, 16px);margin-block-end:var(--nano-spacing-medium, 16px)}.nano-margin-vertical{--margin-top: var(--nano-spacing-medium, 16px);--margin-bottom: var(--nano-spacing-medium, 16px);margin-block:var(--nano-spacing-medium, 16px)}.nano-margin-horizontal{--margin-start: var(--nano-spacing-medium, 16px);--margin-end: var(--nano-spacing-medium, 16px);margin-inline:var(--nano-spacing-medium, 16px)}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1_0.woff") format("woff");font-weight:400;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_8_0.woff2") format("woff2"),url("../assets/fonts/3AF163_8_0.woff") format("woff");font-weight:400;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_5_0.woff2") format("woff2"),url("../assets/fonts/3AF163_5_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_2_0.woff2") format("woff2"),url("../assets/fonts/3AF163_2_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_9_0.woff2") format("woff2"),url("../assets/fonts/3AF163_9_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_A_0.woff2") format("woff2"),url("../assets/fonts/3AF163_A_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:condensed;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_21_0.woff2") format("woff2"),url("../assets/fonts/3AF163_21_0.woff") format("woff");font-weight:400;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_28_0.woff2") format("woff2"),url("../assets/fonts/3AF163_28_0.woff") format("woff");font-weight:400;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_25_0.woff2") format("woff2"),url("../assets/fonts/3AF163_25_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_22_0.woff2") format("woff2"),url("../assets/fonts/3AF163_22_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_29_0.woff2") format("woff2"),url("../assets/fonts/3AF163_29_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_2A_0.woff2") format("woff2"),url("../assets/fonts/3AF163_2A_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:normal;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_16_0.woff2") format("woff2"),url("../assets/fonts/3AF163_16_0.woff") format("woff");font-weight:600;font-style:italic;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_17_0.woff2") format("woff2"),url("../assets/fonts/3AF163_17_0.woff") format("woff");font-weight:600;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/HVMicro500.woff2") format("woff2"),url("../assets/fonts/HVMicro500.woff") format("woff");font-weight:400;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/HVMicro500It.woff2") format("woff2"),url("../assets/fonts/HVMicro500It.woff") format("woff");font-weight:400;font-style:italic;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_15_0.woff2") format("woff2"),url("../assets/fonts/3AF163_15_0.woff") format("woff");font-weight:300;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1B_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1B_0.woff") format("woff");font-weight:200;font-style:normal;font-stretch:expanded;font-display:swap}@font-face{font-family:"HelveticaNow";src:url("../assets/fonts/3AF163_1C_0.woff2") format("woff2"),url("../assets/fonts/3AF163_1C_0.woff") format("woff");font-weight:200;font-style:italic;font-stretch:expanded;font-display:swap}html{font-family:var(--nano-font-family);font-weight:var(--nano-font-weight, 500);color:var(--nano-text-color, #4a4a4a);font-size:var(--nano-base-font-size)}a{color:var(--nano-color-primary, #007495);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-block:16px 10px;font-weight:600;line-height:1.2}h1{margin-block-start:10px;font-size:28px}h2{margin-block-start:18px;font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{inset-block-start:-0.5em}sub{inset-block-end:-0.25em}p{font-size:1.125rem;line-height:1.4;margin-block:0 1rem}p.supporting{font-size:.875rem}.heading{font-weight:500;line-height:1.3;margin-block:0 1.5rem;margin-inline:0}.heading__highlight{color:#007495}@media print{.heading{color:#4a4a4a}}.heading--one{font-size:2.5rem}@media(min-width: 768px){.heading--one{font-size:3.25rem}}.heading--two{font-size:1.5rem}@media(min-width: 768px){.heading--two{font-size:2rem}}.heading--three{font-size:1.125rem}@media(min-width: 768px){.heading--three{font-size:1.375rem}}.heading--four{font-size:1.125rem}.heading--five{font-size:1rem}.heading--light{font-weight:200}.heading--upper{text-transform:uppercase}.heading--meta{font-size:.875rem;text-transform:uppercase;letter-spacing:1.3px;font-weight:bold;margin-block-end:1rem}.button{padding:0;border:none;background-color:rgba(0,0,0,0);font:inherit;-webkit-box-align:center;text-decoration:none;color:inherit;transition:background-color 100ms ease-in-out,box-shadow 100ms ease-in-out,border-color 100ms ease-in-out,color 100ms ease-in-out;padding-inline:var(--nano-btn-padding-start, 1rem) var(--nano-btn-padding-end, 1rem);padding-block:var(--nano-btn-padding-top, 0.5rem) var(--nano-btn-padding-bottom, 0.5rem);box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2));display:inline-block;border-radius:var(--nano-btn-border-radius, 5px);line-height:var(--nano-btn-line-height, 1.5em);font-weight:500;cursor:pointer;background:rgba(0,0,0,.02)}.button::-moz-focus-inner{border:0;padding:0}.button:hover,.button:focus{text-decoration:none;color:inherit}@media print{.button{display:none}}.button:focus,.button.button--focus{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}.button nano-icon,.button nano-spinner{--base-color-rgb: 255, 255, 255;margin-inline-start:.5em;margin-inline-end:0;font-size:var(--nano-btn-icon-size, 1em);vertical-align:middle;margin-block-start:-0.188em;display:inline-block}.button.button--icon-start nano-icon,.button.button--icon-start nano-spinner{margin-inline-start:0;margin-inline-end:.5em}.button:hover:not(.button--disabled){box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2))}.button:active:not(.button--disabled):not(:disabled){box-shadow:none}.button--disabled,.button:disabled{opacity:.6}.button--disabled:hover,.button:disabled:hover{cursor:default}.button--primary{background-color:var(--nano-color-primary, #007495);color:var(--nano-color-primary-contrast, #fff)}.button--primary:hover:not(.button--disabled):not(:disabled),.button--primary.button--active{background-color:var(--nano-color-primary-shade, #00637f);color:var(--nano-color-primary-contrast, #fff)}.button--primary:hover:not(.button--disabled):not(:disabled).button--keyline,.button--primary.button--active.button--keyline{background-color:var(--nano-color-primary, #007495);color:var(--nano-color-primary-contrast, #fff)}.button--primary:focus{color:var(--nano-color-primary-contrast, #fff)}.button--primary.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:var(--nano-color-primary, #007495);border-color:var(--nano-color-primary, #007495)}.button--primary.button--keyline:hover:not(.button--disabled):not(:disabled),.button--primary.button--keyline:not(:focus):not(.button--focus),.button--primary.button--keyline.button--active{box-shadow:none}.button--secondary{background-color:#17bb75;color:#fff}.button--secondary:hover:not(.button--disabled):not(:disabled),.button--secondary.button--active{background-color:#0b814f;color:#fff}.button--secondary:hover:not(.button--disabled):not(:disabled).button--keyline,.button--secondary.button--active.button--keyline{background-color:#17bb75;color:#fff}.button--secondary:focus{color:#fff}.button--secondary.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#17bb75;border-color:#17bb75}.button--secondary.button--keyline:hover:not(.button--disabled):not(:disabled),.button--secondary.button--keyline:not(:focus):not(.button--focus),.button--secondary.button--keyline.button--active{box-shadow:none}.button--light{background-color:#fff;color:#007495}.button--light:hover:not(.button--disabled):not(:disabled),.button--light.button--active{background-color:#fff;color:#0c5a71}.button--light:hover:not(.button--disabled):not(:disabled).button--keyline,.button--light.button--active.button--keyline{background-color:#fff;color:#007495}.button--light:focus{color:#007495}.button--light.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#fff;border-color:#fff}.button--light.button--keyline:hover:not(.button--disabled):not(:disabled),.button--light.button--keyline:not(:focus):not(.button--focus),.button--light.button--keyline.button--active{box-shadow:none}.button--danger{background-color:#ef4135;color:#fff}.button--danger:hover:not(.button--disabled):not(:disabled),.button--danger.button--active{background-color:#be2a20;color:#fff}.button--danger:hover:not(.button--disabled):not(:disabled).button--keyline,.button--danger.button--active.button--keyline{background-color:#ef4135;color:#fff}.button--danger:focus{color:#fff}.button--danger.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#ef4135;border-color:#ef4135}.button--danger.button--keyline:hover:not(.button--disabled):not(:disabled),.button--danger.button--keyline:not(:focus):not(.button--focus),.button--danger.button--keyline.button--active{box-shadow:none}.button--warning{background-color:#f57e20;color:#fff}.button--warning:hover:not(.button--disabled):not(:disabled),.button--warning.button--active{background-color:#b95e17;color:#fff}.button--warning:hover:not(.button--disabled):not(:disabled).button--keyline,.button--warning.button--active.button--keyline{background-color:#f57e20;color:#fff}.button--warning:focus{color:#fff}.button--warning.button--keyline{background:rgba(0,0,0,0);border-style:var(--nano-btn-border-style, solid);border-width:var(--nano-btn-border-width, 2px);border-radius:var(--nano-btn-border-radius, 5px);padding-block:calc(var(--nano-btn-padding-top, 0.5rem) - var(--nano-btn-border-width, 2px)) calc(var(--nano-btn-padding-bottom, 0.5rem) - var(--nano-btn-border-width, 2px));color:#f57e20;border-color:#f57e20}.button--warning.button--keyline:hover:not(.button--disabled):not(:disabled),.button--warning.button--keyline:not(:focus):not(.button--focus),.button--warning.button--keyline.button--active{box-shadow:none}.button--tertiary{background:rgba(0,0,0,0);box-shadow:none;text-decoration:underline;font-weight:400}.button--tertiary:hover:not(.button--disabled):not(:disabled),.button--tertiary:hover.button--active,.button--tertiary:focus:not(.button--disabled):not(:disabled),.button--tertiary:focus.button--active{color:#b5aea7;box-shadow:none;text-decoration:underline}.nano-color-primary{--nano-color-base: var(--nano-color-primary, #007495) ;--nano-color-base-rgb: var( --nano-color-primary-rgb, 0, 116, 149 ) ;--nano-color-contrast: var(--nano-color-primary-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-primary-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-primary-shade, #00637f) ;--nano-color-tint: var(--nano-color-primary-tint, #2689a5) ;--nano-color-tint-rgb: var( --nano-color-primary-tint-rgb, 38, 137, 165 ) }.nano-color-secondary{--nano-color-base: var(--nano-color-secondary, #548caf) ;--nano-color-base-rgb: var( --nano-color-secondary-rgb, 84, 140, 175 ) ;--nano-color-contrast: var(--nano-color-secondary-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-secondary-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-secondary-shade, #477795) ;--nano-color-tint: var(--nano-color-secondary-tint, #6e9dbb) ;--nano-color-tint-rgb: var( --nano-color-secondary-tint-rgb, 110, 157, 187 ) }.nano-color-tertiary{--nano-color-base: var(--nano-color-tertiary, #b5aea7) ;--nano-color-base-rgb: var( --nano-color-tertiary-rgb, 181, 174, 167 ) ;--nano-color-contrast: var(--nano-color-tertiary-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-tertiary-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-tertiary-shade, #9a948e) ;--nano-color-tint: var(--nano-color-tertiary-tint, #c0bab4) ;--nano-color-tint-rgb: var( --nano-color-tertiary-tint-rgb, 192, 186, 180 ) }.nano-color-success{--nano-color-base: var(--nano-color-success, #17bb75) ;--nano-color-base-rgb: var( --nano-color-success-rgb, 23, 187, 117 ) ;--nano-color-contrast: var(--nano-color-success-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-success-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-success-shade, #149f63) ;--nano-color-tint: var(--nano-color-success-tint, #3ac58a) ;--nano-color-tint-rgb: var( --nano-color-success-tint-rgb, 58, 197, 138 ) }.nano-color-warning{--nano-color-base: var(--nano-color-warning, #f57e20) ;--nano-color-base-rgb: var( --nano-color-warning-rgb, 245, 126, 32 ) ;--nano-color-contrast: var(--nano-color-warning-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-warning-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-warning-shade, #d06b1b) ;--nano-color-tint: var(--nano-color-warning-tint, #f79141) ;--nano-color-tint-rgb: var( --nano-color-warning-tint-rgb, 247, 145, 65 ) }.nano-color-danger{--nano-color-base: var(--nano-color-danger, #ef4135) ;--nano-color-base-rgb: var( --nano-color-danger-rgb, 239, 65, 53 ) ;--nano-color-contrast: var(--nano-color-danger-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-danger-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-danger-shade, #cb372d) ;--nano-color-tint: var(--nano-color-danger-tint, #f15e53) ;--nano-color-tint-rgb: var( --nano-color-danger-tint-rgb, 241, 94, 83 ) }.nano-color-light{--nano-color-base: var(--nano-color-light, #f2f7f9) ;--nano-color-base-rgb: var( --nano-color-light-rgb, 242, 247, 249 ) ;--nano-color-contrast: var(--nano-color-light-contrast, #4a4a4a) ;--nano-color-contrast-rgb: var( --nano-color-light-contrast-rgb, 74, 74, 74 ) ;--nano-color-shade: var(--nano-color-light-shade, #ced2d4) ;--nano-color-tint: var(--nano-color-light-tint, #f4f8fa) ;--nano-color-tint-rgb: var( --nano-color-light-tint-rgb, 244, 248, 250 ) }.nano-color-medium{--nano-color-base: var(--nano-color-medium, #005c75) ;--nano-color-base-rgb: var( --nano-color-medium-rgb, 0, 92, 117 ) ;--nano-color-contrast: var(--nano-color-medium-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-medium-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-medium-shade, #004e63) ;--nano-color-tint: var(--nano-color-medium-tint, #26748a) ;--nano-color-tint-rgb: var( --nano-color-medium-tint-rgb, 38, 116, 138 ) }.nano-color-dark{--nano-color-base: var(--nano-color-dark, #455556) ;--nano-color-base-rgb: var( --nano-color-dark-rgb, 69, 85, 86 ) ;--nano-color-contrast: var(--nano-color-dark-contrast, #fff) ;--nano-color-contrast-rgb: var( --nano-color-dark-contrast-rgb, 255, 255, 255 ) ;--nano-color-shade: var(--nano-color-dark-shade, #3b4849) ;--nano-color-tint: var(--nano-color-dark-tint, #616f6f) ;--nano-color-tint-rgb: var( --nano-color-dark-tint-rgb, 97, 111, 111 ) }:root{--nano-base-font-size: 16px;--nano-padding: 1rem;--nano-font-family: "HelveticaNow", "Helvetica Neue", helvetica, arial, "Lucida Grande", sans-serif;--nano-color-white:#fff;--nano-color-white-rgb:255, 255, 255;--nano-color-lightblue:#90c6e7;--nano-color-lightblue-rgb:144, 198, 231;--nano-color-blue:#007495;--nano-color-blue-rgb:0, 116, 149;--nano-color-darkblue:#0c5a71;--nano-color-darkblue-rgb:12, 90, 113;--nano-color-darkgrey:#455556;--nano-color-darkgrey-rgb:69, 85, 86;--nano-color-palegrey:#b5aea7;--nano-color-palegrey-rgb:181, 174, 167;--nano-color-dimgrey:#918b86;--nano-color-dimgrey-rgb:145, 139, 134;--nano-color-lightgrey:#e4e6e8;--nano-color-lightgrey-rgb:228, 230, 232;--nano-color-mediumgrey:#687576;--nano-color-mediumgrey-rgb:104, 117, 118;--nano-color-green:#17bb75;--nano-color-green-rgb:23, 187, 117;--nano-color-orange:#f57e20;--nano-color-orange-rgb:245, 126, 32;--nano-color-paleyellow:#ede797;--nano-color-paleyellow-rgb:237, 231, 151;--nano-color-purple:#a53f97;--nano-color-purple-rgb:165, 63, 151;--nano-color-red:#ef4135;--nano-color-red-rgb:239, 65, 53;--nano-color-yellow:#f5cc49;--nano-color-yellow-rgb:245, 204, 73;--nano-color-background:#f0efed;--nano-color-background-rgb:240, 239, 237;--nano-color-black:#4a4a4a;--nano-color-black-rgb:74, 74, 74;--nano-color-celsius:#f0efed;--nano-color-celsius-rgb:240, 239, 237;--nano-color-offwhite:#f9f9fb;--nano-color-offwhite-rgb:249, 249, 251;--nano-color-darkblue--faded:#005c75;--nano-color-darkblue--faded-rgb:0, 92, 117;--nano-color-red--faded:#fee8de;--nano-color-red--faded-rgb:254, 232, 222;--nano-color-orange--faded:#feeddb;--nano-color-orange--faded-rgb:254, 237, 219;--nano-color-yellow--faded:#fefcf2;--nano-color-yellow--faded-rgb:254, 252, 242;--nano-color-green--faded:#edf5f2;--nano-color-green--faded-rgb:237, 245, 242;--nano-color-blue--faded:#f2f7f9;--nano-color-blue--faded-rgb:242, 247, 249;--nano-color-blue--darker:#245a6f;--nano-color-blue--darker-rgb:36, 90, 111;--nano-color-green--darker:#0b814f;--nano-color-green--darker-rgb:11, 129, 79;--nano-color-red--darker:#be2a20;--nano-color-red--darker-rgb:190, 42, 32;--nano-color-purple--darker:#772c6d;--nano-color-purple--darker-rgb:119, 44, 109;--nano-color-orange--darker:#b95e17;--nano-color-orange--darker-rgb:185, 94, 23;--nano-color-palegrey--darker:#8c8379;--nano-color-palegrey--darker-rgb:140, 131, 121;--nano-color-lightblue--darker:#548caf;--nano-color-lightblue--darker-rgb:84, 140, 175}@media(max-width: 576px){:root{--nano-base-font-size: 14px}}body{background-color:var(--nano-background-color, #f0efed)}hr,.horizontal-rule,.content-divider{display:block;block-size:1px;border:0;background-color:rgba(181,174,167,.5);margin-block:.5em;margin-inline:0;padding:0}area[href]:not([tabindex="-1"]):focus,iframe:not([tabindex="-1"]):focus,[contentEditable=true]:not([tabindex="-1"]):focus{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));border-radius:3px}/*# sourceMappingURL=nanopore.css.map */
|