@nanoporetech-digital/components 3.3.4 → 3.5.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/assets/fonts/HVMicro500.woff +0 -0
  3. package/dist/assets/fonts/HVMicro500.woff2 +0 -0
  4. package/dist/assets/fonts/HVMicro500It.woff +0 -0
  5. package/dist/assets/fonts/HVMicro500It.woff2 +0 -0
  6. package/dist/cjs/index-41582c2a.js +16 -12
  7. package/dist/cjs/index.cjs.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/nano-components.cjs.js +1 -1
  10. package/dist/cjs/nano-demo.cjs.entry.js +291 -0
  11. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -0
  12. package/dist/cjs/{nano-table-bf5002c4.js → nano-table-83e46f68.js} +486 -202
  13. package/dist/cjs/nano-table-83e46f68.js.map +1 -0
  14. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  15. package/dist/cjs/{table.worker-496b9e90.js → table.worker-525ec230.js} +3 -3
  16. package/dist/cjs/table.worker-525ec230.js.map +1 -0
  17. package/dist/cjs/table.worker-e9fb087e.js +4 -0
  18. package/dist/collection/collection-manifest.json +1 -0
  19. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  20. package/dist/collection/components/demo/demo.js +284 -0
  21. package/dist/collection/components/demo/demo.js.map +1 -0
  22. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  23. package/dist/collection/components/table/table-interface.js.map +1 -1
  24. package/dist/collection/components/table/table.cell.js +65 -0
  25. package/dist/collection/components/table/table.cell.js.map +1 -0
  26. package/dist/collection/components/table/table.css +98 -20
  27. package/dist/collection/components/table/table.header.js +156 -0
  28. package/dist/collection/components/table/table.header.js.map +1 -0
  29. package/dist/collection/components/table/table.js +170 -18
  30. package/dist/collection/components/table/table.js.map +1 -1
  31. package/dist/collection/components/table/table.row.js +113 -0
  32. package/dist/collection/components/table/table.row.js.map +1 -0
  33. package/dist/collection/components/table/table.store.js +46 -9
  34. package/dist/collection/components/table/table.store.js.map +1 -1
  35. package/dist/collection/components/table/table.utils.js +230 -0
  36. package/dist/collection/components/table/table.utils.js.map +1 -1
  37. package/dist/collection/components/table/table.worker.js +1 -0
  38. package/dist/collection/components/table/table.worker.js.map +1 -1
  39. package/dist/components/index.d.ts +1 -0
  40. package/dist/components/index.js +1 -0
  41. package/dist/components/index.js.map +1 -1
  42. package/dist/components/nano-demo.d.ts +11 -0
  43. package/dist/components/nano-demo.js +341 -0
  44. package/dist/components/nano-demo.js.map +1 -0
  45. package/dist/components/nano-table.js +2 -1247
  46. package/dist/components/nano-table.js.map +1 -1
  47. package/dist/components/table.js +1539 -0
  48. package/dist/components/table.js.map +1 -0
  49. package/dist/components/table.worker.js +2 -2
  50. package/dist/custom-elements/index.d.ts +6 -0
  51. package/dist/custom-elements/index.js +772 -204
  52. package/dist/custom-elements/index.js.map +1 -1
  53. package/dist/esm/index-3c280603.js +16 -12
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/loader.js +1 -1
  56. package/dist/esm/nano-components.js +1 -1
  57. package/dist/esm/nano-demo.entry.js +287 -0
  58. package/dist/esm/nano-demo.entry.js.map +1 -0
  59. package/dist/esm/{nano-table-c1b7d929.js → nano-table-e2405350.js} +487 -203
  60. package/dist/esm/nano-table-e2405350.js.map +1 -0
  61. package/dist/esm/nano-table.entry.js +1 -1
  62. package/dist/esm/{table.worker-7c546c85.js → table.worker-739c193f.js} +3 -3
  63. package/dist/esm/table.worker-739c193f.js.map +1 -0
  64. package/dist/esm/table.worker-e9fb087e.js +4 -0
  65. package/dist/nano-components/index.esm.js.map +1 -1
  66. package/dist/nano-components/nano-components.esm.js +1 -1
  67. package/dist/nano-components/nano-components.esm.js.map +1 -1
  68. package/dist/nano-components/p-28fdfa6b.js +5 -0
  69. package/dist/nano-components/p-28fdfa6b.js.map +1 -0
  70. package/dist/nano-components/p-85cfb0af.entry.js +5 -0
  71. package/dist/nano-components/p-85cfb0af.entry.js.map +1 -0
  72. package/dist/nano-components/p-a71989f3.js +5 -0
  73. package/dist/nano-components/{p-47d4385c.entry.js.map → p-a71989f3.js.map} +0 -0
  74. package/dist/nano-components/{p-47d4385c.entry.js → p-e4a28360.entry.js} +2 -2
  75. package/dist/nano-components/{p-bc92bdcd.js.map → p-e4a28360.entry.js.map} +0 -0
  76. package/dist/nano-components/p-e9fb087e.js +4 -0
  77. package/dist/themes/nanopore.css +1 -1
  78. package/dist/themes/nanopore.css.map +1 -1
  79. package/dist/types/components/alert/alert.helpers.d.ts +1 -1
  80. package/dist/types/components/demo/demo.d.ts +6 -0
  81. package/dist/types/components/dialog/dialog.helpers.d.ts +1 -1
  82. package/dist/types/components/table/table-interface.d.ts +38 -23
  83. package/dist/types/components/table/table.cell.d.ts +18 -0
  84. package/dist/types/components/table/table.d.ts +36 -1
  85. package/dist/types/components/table/table.header.d.ts +16 -0
  86. package/dist/types/components/table/table.row.d.ts +15 -0
  87. package/dist/types/components/table/table.utils.d.ts +99 -0
  88. package/dist/types/components.d.ts +50 -0
  89. package/docs-json.json +124 -3
  90. package/docs-vscode.json +17 -1
  91. package/package.json +2 -2
  92. package/dist/cjs/nano-table-bf5002c4.js.map +0 -1
  93. package/dist/cjs/table.worker-1fd13775.js +0 -4
  94. package/dist/cjs/table.worker-496b9e90.js.map +0 -1
  95. package/dist/collection/components/table/table.children.js +0 -224
  96. package/dist/collection/components/table/table.children.js.map +0 -1
  97. package/dist/collection/components/table/table.service.js +0 -121
  98. package/dist/collection/components/table/table.service.js.map +0 -1
  99. package/dist/esm/nano-table-c1b7d929.js.map +0 -1
  100. package/dist/esm/table.worker-1fd13775.js +0 -4
  101. package/dist/esm/table.worker-7c546c85.js.map +0 -1
  102. package/dist/nano-components/p-07238842.js +0 -5
  103. package/dist/nano-components/p-07238842.js.map +0 -1
  104. package/dist/nano-components/p-1fd13775.js +0 -4
  105. package/dist/nano-components/p-bc92bdcd.js +0 -5
  106. package/dist/types/components/table/table.children.d.ts +0 -30
  107. package/dist/types/components/table/table.service.d.ts +0 -42
@@ -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 */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/global/style/base/display.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/base/normalize.scss","../src/global/style/base/structure.scss","../src/global/style/base/padding.scss","../src/global/style/nano-theme/_base.scss","../src/global/style/nano-theme/_helvetica-now.scss","../src/global/style/nano-theme/typography.scss","../src/global/style/nano-theme/_colours.scss","../src/global/style/nano-theme/buttons.scss","../src/global/style/utilities/css-patterns/_unstyled_input.scss","../src/global/style/utilities/css-patterns/_unstyled_anchor.scss","../src/global/style/nano-theme/_button.scss","../src/global/style/nano-theme/theme.scss","../src/global/style/utilities/_colours.scss","../src/global/style/nano-theme/_form.scss"],"names":[],"mappings":"AAMA,WACE,wBAUE,cACE,wBAOF,gBACE,wBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,0BD9FA,iBACE,yBC8IF,0BDvIA,mBACE,yBEpBN,4BAIE,wBAKF,sBACE,aACA,aAOF,SAEE,iBAOF,IACE,qBACA,SAIF,eACE,gBAOF,OACE,iBACA,mBAGF,GACE,eACA,eACA,uBAIF,IACE,cAIF,kBAIE,sBACA,cAeF,4BAIE,oBACA,mBAGF,SACE,cACA,gBACA,aACA,cAGF,sBACE,yBAGF,2BAIE,SACA,aACA,cAQF,6DAGE,eACA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eACA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UACA,SAMF,uCAEE,UACA,sBAMF,4FAEE,gBAMF,+FAEE,wBAOF,MACE,yBACA,iBAGF,MAEE,UCrNF,EACE,sBACA,0CACA,0CACA,2BAGF,6BAIE,iDAGF,qBAGE,sBACA,oBAGF,KACE,iBACA,sBAGF,KF8BE,kCACA,mCE5BA,SACA,UACA,kCCxBF,iBACE,mBACA,iBACA,iBACA,oBAEA,UAGF,cACE,kDACA,gDACA,gDACA,mDAEA,QCrBe,iCDwBjB,kBACE,gDAEA,oBC3Be,iCD8BjB,oBACE,kDAEA,qBCjCe,iCDoCjB,kBACE,gDAEA,mBCvCe,iCD0CjB,qBACE,mDAEA,kBC7Ce,iCDgDjB,uBACE,gDACA,mDAEA,cCpDe,iCDuDjB,yBACE,kDACA,gDAEA,eC3De,iCDiEjB,gBACE,kBACA,gBACA,gBACA,mBAEA,SAGF,aACE,iDACA,+CACA,+CACA,kDAEA,OChFe,iCDmFjB,iBACE,+CAEA,mBCtFe,iCDyFjB,mBACE,iDAEA,oBC5Fe,iCD+FjB,iBACE,+CAEA,kBClGe,iCDqGjB,oBACE,kDAEA,iBCxGe,iCD2GjB,sBACE,+CACA,kDAEA,aC/Ge,iCDkHjB,wBACE,iDACA,+CAEA,cCtHe,iCCiBjB,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAKF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAKF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBC3LF,KACE,oCACA,yCACA,MCsGW,gCDrGX,qCAGF,EACE,yCACA,qBAEA,QACE,0BAIJ,kBAME,uBACA,YAvCqB,IAwCrB,YAtCqB,IAyCvB,GACE,wBACA,UAzCa,KA4Cf,GACE,wBACA,UA5Ca,KA+Cf,GACE,UA9Ca,KAiDf,GACE,UAhDa,KAmDf,GACE,UAlDa,KAqDf,GACE,UApDa,KAuDf,MACE,cAGF,QAEE,kBACA,cACA,cACA,wBAGF,IACE,yBAGF,IACE,wBAGF,EACE,mBACA,gBACA,oBAEA,aACE,kBAIJ,SACE,gBACA,gBACA,sBACA,gBAEA,oBACE,cAGF,aAVF,SAWI,eAGF,cACE,iBNVA,yBMSF,cAII,mBAIJ,cACE,iBNlBA,yBMiBF,cAII,gBAIJ,gBACE,mBN1BA,yBMyBF,gBAII,oBAIJ,eACE,mBAGF,eACE,eAGF,gBACE,gBAGF,gBACE,yBAGF,eACE,kBACA,yBACA,qBACA,iBACA,sBE/JJ,QCHE,UACA,YACA,+BACA,aACA,yBCJA,qBACA,cCgBA,WACE,uHAuDF,qFACA,yFACA,yEACA,qBACA,iDACA,+CACA,gBACA,eACA,2BFvEA,0BACE,SACA,UCTF,4BAEE,qBACA,cC6EF,aHhFF,QGiFI,cAGF,oCAEE,aACA,wHAGF,uCAEE,gCAEA,yBACA,oBACA,yCACA,sBACA,4BACA,qBAIA,6EAEE,sBACA,uBAIJ,qCACE,wEAGF,qDACE,gBAGF,mCAEE,WAEA,+CACE,eHvHN,iBGmCE,iBHjCE,mCGkCF,MHjCE,yCGmCF,6FAEE,iBAPS,yCAQT,MATW,yCAWX,6HACE,iBH1CF,mCG2CE,MH1CF,yCG8CF,uBACE,MH/CA,yCGkDF,iCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MHtDA,mCGuDA,aHvDA,mCGsBF,8LAGE,gBHnBJ,mBG2BE,iBHzBE,QG0BF,MHzBE,KG2BF,iGAEE,iBAPS,QAQT,MATW,KAWX,iIACE,iBHlCF,QGmCE,MHlCF,KGsCF,yBACE,MHvCA,KG0CF,mCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH9CA,QG+CA,aH/CA,QGcF,oMAGE,gBHXJ,eGmBE,iBHjBE,KGkBF,MHjBE,QGmBF,yFAEE,iBAPS,KAQT,MATW,QAWX,yHACE,iBH1BF,KG2BE,MH1BF,QG8BF,qBACE,MH/BA,QGkCF,+BAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MHtCA,KGuCA,aHvCA,KGMF,wLAGE,gBHFJ,gBGUE,iBHTyB,QGUzB,MHVgD,KGYhD,2FAEE,iBAPS,QAQT,MATW,KAWX,2HACE,iBHlBqB,QGmBrB,MHnB4C,KGuBhD,sBACE,MHxB8C,KG2BhD,gCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH9BuB,QG+BvB,aH/BuB,QGFzB,2LAGE,gBHEJ,iBGME,iBHLyB,QGMzB,MHNmD,KGQnD,6FAEE,iBAPS,QAQT,MATW,KAWX,6HACE,iBHdqB,QGerB,MHf+C,KGmBnD,uBACE,MHpBiD,KGuBnD,iCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH1BuB,QG2BvB,aH3BuB,QGNzB,8LAGE,gBHMJ,kBACE,yBACA,gBACA,0BACA,gBAIE,0MAEE,cACA,gBACA,0BI5CJ,oBC0FA,uDACA,qEAMA,iEAGA,oFAMA,8DACA,4DACA,2ED5GA,sBC0FA,yDACA,wEAMA,mEAGA,sFAMA,gEACA,8DACA,8ED5GA,qBC0FA,wDACA,wEAMA,qEAGA,kFAMA,+DACA,6DACA,6ED5GA,oBC0FA,uDACA,sEAMA,oEAGA,iFAMA,8DACA,4DACA,2ED5GA,oBC0FA,uDACA,sEAMA,iEAGA,oFAMA,8DACA,4DACA,2ED5GA,mBC0FA,sDACA,oEAMA,gEAGA,mFAMA,6DACA,2DACA,yED5GA,kBC0FA,qDACA,qEAMA,kEAGA,+EAMA,4DACA,0DACA,0ED5GA,mBC0FA,sDACA,mEAMA,gEAGA,mFAMA,6DACA,2DACA,0ED5GA,iBC0FA,oDACA,iEAMA,8DAGA,iFAMA,2DACA,yDACA,wEDvGF,MACE,4BAMA,qBACA,oGASE,wBAEA,qCAFA,+BAEA,yCAFA,0BAEA,kCAFA,8BAEA,sCAFA,8BAEA,qCAFA,8BAEA,wCAFA,6BAEA,uCAFA,+BAEA,yCAFA,gCAEA,0CAFA,2BAEA,oCAFA,4BAEA,qCAFA,gCAEA,0CAFA,4BAEA,qCAFA,yBAEA,iCAFA,4BAEA,qCAFA,gCAEA,0CAFA,2BAEA,kCAFA,6BAEA,uCAFA,8BAEA,wCAFA,qCAEA,4CAFA,gCAEA,0CAFA,mCAEA,6CAFA,mCAEA,6CAFA,kCAEA,4CAFA,iCAEA,2CAFA,kCAEA,0CAFA,mCAEA,2CAFA,iCAEA,yCAFA,oCAEA,6CAFA,oCAEA,4CAFA,sCAEA,gDAFA,uCAEA,gDZ6HA,yBYhJJ,MAII,6BAmBJ,KACE,iBL2FiB,sCKxFnB,qCAGE,cACA,eACA,SACA,sCACA,kBACA,gBACA,UAMA,0HACE,aACA,WE0DkB,6GFzDlB","file":"nanopore.css","sourcesContent":["@import '../utilities/globals';\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.nano-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n","@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name !=index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}[dir='rtl']) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin ltr-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:not([dir='rtl'])) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n block-size: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Remove border when inside `a` element in IE 8/9/10.\nimg {\n max-inline-size: 100%;\n border: 0;\n}\n\n// Correct overflow not hidden in IE 9/10/11.\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n// Address margin not present in IE 8/9 and Safari.\nfigure {\n margin-block: 1em;\n margin-inline: 40px;\n}\n\nhr {\n block-size: 1px;\n border-width: 0;\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n block-size: auto;\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-inline-start: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n cursor: pointer; // 3\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\ninput[type='checkbox'],\ninput[type='radio'] {\n padding: 0; // 2\n box-sizing: border-box; // 1\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n block-size: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n -webkit-tap-highlight-color: rgba(201, 224, 253, 0.8);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n font-family: inherit;\n}\n\nhtml {\n inline-size: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n @include font-smoothing();\n\n margin: 0;\n padding: 0;\n text-rendering: optimizeLegibility;\n}\n","@import '../nano-theme/base';\n@import '../utilities/globals';\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n// Padding\n// --------------------------------------------------\n\n.nano-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n padding: 0;\n}\n\n.nano-padding {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding: $spacing-medium;\n}\n\n.nano-padding-top {\n --padding-top: #{$spacing-medium};\n\n padding-block-start: $spacing-medium;\n}\n\n.nano-padding-start {\n --padding-start: #{$spacing-medium};\n\n padding-inline-start: $spacing-medium;\n}\n\n.nano-padding-end {\n --padding-end: #{$spacing-medium};\n\n padding-inline-end: $spacing-medium;\n}\n\n.nano-padding-bottom {\n --padding-bottom: #{$spacing-medium};\n\n padding-block-end: $spacing-medium;\n}\n\n.nano-padding-vertical {\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding-block: $spacing-medium;\n}\n\n.nano-padding-horizontal {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n\n padding-inline: $spacing-medium;\n}\n\n// Margin\n// --------------------------------------------------\n\n.nano-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n margin: 0;\n}\n\n.nano-margin {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin: $spacing-medium;\n}\n\n.nano-margin-top {\n --margin-top: #{$spacing-medium};\n\n margin-block-start: $spacing-medium;\n}\n\n.nano-margin-start {\n --margin-start: #{$spacing-medium};\n\n margin-inline-start: $spacing-medium;\n}\n\n.nano-margin-end {\n --margin-end: #{$spacing-medium};\n\n margin-inline-end: $spacing-medium;\n}\n\n.nano-margin-bottom {\n --margin-bottom: #{$spacing-medium};\n\n margin-block-end: $spacing-medium;\n}\n\n.nano-margin-vertical {\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin-block: $spacing-medium;\n}\n\n.nano-margin-horizontal {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n\n margin-inline: $spacing-medium;\n}\n","// Setup global / theme css variables with default fallbacks\n\n// Padding, Margin\n$spacing-xsmall: var(--nano-spacing-xsmall, 4px);\n$spacing-small: var(--nano-spacing-small, 8px);\n$spacing-medium: var(--nano-spacing-medium, 16px);\n$spacing-large: var(--nano-spacing-large, 20px);\n$spacing-xlarge: var(--nano-spacing-xlarge, 24px);\n\n// Text\n$fontsize-xsmall: var(--nano-fontsize-xsmall, 0.625rem);\n$fontsize-small: var(--nano-fontsize-small, 0.875rem);\n$fontsize-medium: var(--nano-fontsize-medium, 1rem);\n$fontsize-large: var(--nano-fontsize-large, 1.25rem);\n$fontsize-xlarge: var(--nano-fontsize-xlarge, 1.5rem);\n\n// Border radius\n$border-radius-small: var(--nano-border-radius-small, 2px);\n$border-radius-medium: var(--nano-border-radius-medium, 4px);\n$border-radius-large: var(--nano-border-radius-large, 8px);\n$border-radius-xlarge: var(--nano-border-radius-xlarge, 16px);\n\n// Transition\n$transition-xslow: var(--nano-transition-x-slow, 1s);\n$transition-slow: var(--nano-transition-slow, 0.7s);\n$transition-medium: var(--nano-transition-medium, 0.5s);\n$transition-fast: var(--nano-transition-fast, 0.3s);\n$transition-xfast: var(--nano-transition-fast, 0.1s);\n","/**\n * @license\n * MyFonts Webfont Build ID 3183969,\n 2016-03-09T09:39:13-0500\n *\n * The fonts listed in this notice are subject to the End User License\n * Agreement(s) entered into by the website owner. All other parties are\n * explicitly restricted from using the Licensed Webfonts(s).\n *\n * You may obtain a valid license at the URLs below.\n *\n *\n * License: http://www.myfonts.com/viewlicense?type=web&buildid=3183969\n * Webfonts copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted &#x00A9; 1988 - 2006 Linotype GmbH,\n www.linotype.com. All rights reserved. This software is the property of Linotype GmbH,\n and may not be repro\n *\n * © 2016 MyFonts Inc\n*/\n\n// Helvetica Now Display\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1_0.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_8_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_8_0.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_5_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_5_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_2_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_2_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_9_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_9_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_A_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_A_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n// Helvetica Now Text\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_21_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_21_0.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_28_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_28_0.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_25_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_25_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_22_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_22_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_29_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_29_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_2A_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_2A_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n// Helvetica Now Micro\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_15_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_15_0.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_16_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_16_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_17_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_17_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1B_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1B_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1C_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1C_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: expanded;\n font-display: swap;\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'colours';\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 600 !default;\n/// @prop - Line height of all headings\n$headings-line-height: 1.2 !default;\n/// @prop - Font size of heading level 1\n$h1-font-size: 28px !default;\n/// @prop - Font size of heading level 2\n$h2-font-size: 24px !default;\n/// @prop - Font size of heading level 3\n$h3-font-size: 22px !default;\n/// @prop - Font size of heading level 4\n$h4-font-size: 20px !default;\n/// @prop - Font size of heading level 5\n$h5-font-size: 18px !default;\n/// @prop - Font size of heading level 6\n$h6-font-size: 16px !default;\n\nhtml {\n font-family: var(--nano-font-family);\n font-weight: var(--nano-font-weight, 500);\n color: $text-color;\n font-size: var(--nano-base-font-size);\n}\n\na {\n color: nano-color(primary, base);\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-block: 16px 10px;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n}\n\nh1 {\n margin-block-start: 10px;\n font-size: $h1-font-size;\n}\n\nh2 {\n margin-block-start: 18px;\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsup {\n inset-block-start: -0.5em;\n}\n\nsub {\n inset-block-end: -0.25em;\n}\n\np {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-block: 0 1rem;\n\n &.supporting {\n font-size: 0.875rem;\n }\n}\n\n.heading {\n font-weight: 500;\n line-height: 1.3;\n margin-block: 0 1.5rem;\n margin-inline: 0;\n\n &__highlight {\n color: map.get($colors, blue);\n }\n\n @media print {\n color: map.get($colors, black);\n }\n\n &--one {\n font-size: 2.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 3.25rem;\n }\n }\n\n &--two {\n font-size: 1.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 2rem;\n }\n }\n\n &--three {\n font-size: 1.125rem;\n\n @include media-breakpoint-up('md') {\n font-size: 1.375rem;\n }\n }\n\n &--four {\n font-size: 1.125rem;\n }\n\n &--five {\n font-size: 1rem;\n }\n\n &--light {\n font-weight: 200;\n }\n\n &--upper {\n text-transform: uppercase;\n }\n\n &--meta {\n font-size: 0.875rem;\n text-transform: uppercase;\n letter-spacing: 1.3px;\n font-weight: bold;\n margin-block-end: 1rem;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/colours';\n\n$colors: (\n white: #fff,\n lightblue: #90c6e7,\n blue: darken(#0084a9, 4%),\n darkblue: #0c5a71,\n darkgrey: #455556,\n palegrey: #b5aea7,\n dimgrey: #918b86,\n lightgrey: #e4e6e8,\n mediumgrey: #687576,\n green: #17bb75,\n orange: #f57e20,\n paleyellow: #ede797,\n purple: #a53f97,\n red: #ef4135,\n yellow: #f5cc49,\n background: #f0efed,\n black: #4a4a4a,\n // Bg Colors\n celsius: #f0efed,\n offwhite: #f9f9fb,\n darkblue--faded: #005c75,\n // Faded Colors\n red--faded: #fee8de,\n orange--faded: #feeddb,\n yellow--faded: #fefcf2,\n green--faded: #edf5f2,\n blue--faded: #f2f7f9,\n // Darkened Colours\n blue--darker: #245a6f,\n green--darker: #0b814f,\n red--darker: #be2a20,\n purple--darker: #772c6d,\n orange--darker: #b95e17,\n palegrey--darker: #8c8379,\n lightblue--darker: #548caf,\n);\n\n// Text\n$dark-text-default: map.get($colors, black);\n$light-text-default: map.get($colors, white);\n\n// Theme\n$primary: map.get($colors, blue) !default;\n$secondary: map.get($colors, lightblue--darker) !default;\n$tertiary: map.get($colors, palegrey) !default;\n$success: map.get($colors, green) !default;\n$warning: map.get($colors, orange) !default;\n$danger: map.get($colors, red) !default;\n$light: map.get($colors, blue--faded) !default;\n$medium: map.get($colors, darkblue--faded) !default;\n$dark: map.get($colors, darkgrey) !default;\n\n// Theme css variables and variations\n$themes: (\n primary: (\n base: $primary,\n contrast: color-contrast($primary),\n shade: get-color-shade($primary),\n tint: get-color-tint($primary),\n ),\n secondary: (\n base: $secondary,\n contrast: color-contrast($secondary),\n shade: get-color-shade($secondary),\n tint: get-color-tint($secondary),\n ),\n tertiary: (\n base: $tertiary,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($tertiary),\n tint: get-color-tint($tertiary),\n ),\n success: (\n base: $success,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($success),\n tint: get-color-tint($success),\n ),\n warning: (\n base: $warning,\n contrast: color-contrast($warning),\n shade: get-color-shade($warning),\n tint: get-color-tint($warning),\n ),\n danger: (\n base: $danger,\n contrast: color-contrast($danger),\n shade: get-color-shade($danger),\n tint: get-color-tint($danger),\n ),\n light: (\n base: $light,\n contrast: color-contrast($light),\n shade: get-color-shade($light),\n tint: get-color-tint($light),\n ),\n medium: (\n base: $medium,\n contrast: color-contrast($medium),\n shade: get-color-shade($medium),\n tint: get-color-tint($medium),\n ),\n dark: (\n base: $dark,\n contrast: color-contrast($dark),\n shade: get-color-shade($dark),\n tint: get-color-tint($dark),\n ),\n) !default;\n\n// Default Foreground and Background Colors\n// -------------------------------------------------------------------------------------------\n// Used internally to calculate the default steps\n\n$background-color-value: map.get($colors, background) !default;\n$background-color-rgb-value: color-to-rgb-list(\n $background-color-value\n) !default;\n\n$text-color-value: map.get($colors, black) !default;\n$text-color-rgb-value: color-to-rgb-list($text-color-value) !default;\n\n$text-color: var(--nano-text-color, $text-color-value) !default;\n$text-color-rgb: var(--nano-text-color-rgb, $text-color-rgb-value) !default;\n\n$background-color: var(\n --nano-background-color,\n $background-color-value\n) !default;\n$background-color-rgb: var(\n --nano-background-color-rgb,\n $background-color-rgb-value\n) !default;\n","@use 'sass:map';\n@use 'sass:list';\n\n@import './colours';\n@import './button';\n\n.button {\n @include button-base;\n}\n\n.button--primary {\n @include button-standard(\n #{nano-color(primary, base)},\n #{nano-color(primary, contrast)},\n #{nano-color(primary, shade)}\n );\n}\n\n.button--secondary {\n @include button-standard(\n map.get($colors, green),\n map.get($colors, white),\n map.get($colors, green--darker)\n );\n}\n\n.button--light {\n @include button-standard(\n map.get($colors, white),\n map.get($colors, blue),\n map.get($colors, white),\n map.get($colors, darkblue)\n );\n}\n\n.button--danger {\n @include button-standard(map.get($colors, red), map.get($colors, white), map.get($colors, red--darker));\n}\n\n.button--warning {\n @include button-standard(map.get($colors, orange), map.get($colors, white), map.get($colors, orange--darker));\n}\n\n.button--tertiary {\n background: transparent;\n box-shadow: none;\n text-decoration: underline;\n font-weight: 400;\n\n &:hover,\n &:focus {\n &:not(.button--disabled):not(:disabled),\n &.button--active {\n color: map.get($colors, palegrey);\n box-shadow: none;\n text-decoration: underline;\n }\n }\n}\n","/// Strips browser styling from an input.\n\n@mixin unstyled-input($outline: false) {\n padding: 0;\n border: none;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n\n @if $outline == false {\n outline: none;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n}\n","/// Displays an anchor as plain text.\n\n@mixin unstyled-anchor {\n text-decoration: none;\n color: inherit;\n\n &:hover,\n &:focus {\n text-decoration: none;\n color: inherit;\n }\n}\n","@import '../utilities/css-patterns/patterns';\n@import './layers';\n@import './form';\n\n// Border\n$btn-border-radius: var(--nano-btn-border-radius, 5px);\n$btn-border-width: var(--nano-btn-border-width, 2px);\n$btn-border-style: var(--nano-btn-border-style, solid);\n\n// Spacing\n$btn-padding-top: var(--nano-btn-padding-top, 0.5rem);\n$btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5rem);\n$btn-padding-start: var(--nano-btn-padding-start, 1rem);\n$btn-padding-end: var(--nano-btn-padding-end, 1rem);\n$btn-line-height: var(--nano-btn-line-height, 1.5em);\n\n// Misc\n$btn-icon-size: var(--nano-btn-icon-size, 1em);\n\n@mixin transition-hover {\n transition:\n background-color 100ms ease-in-out,\n box-shadow 100ms ease-in-out,\n border-color 100ms ease-in-out,\n color 100ms ease-in-out;\n}\n\n@mixin button-keyline {\n background: transparent;\n border-style: #{$btn-border-style};\n border-width: #{$btn-border-width};\n border-radius: #{$btn-border-radius};\n padding-block: calc(#{$btn-padding-top} - #{$btn-border-width}) calc(#{$btn-padding-bottom} - #{$btn-border-width});\n\n &:hover:not(.button--disabled):not(:disabled),\n &:not(:focus):not(.button--focus),\n &.button--active {\n box-shadow: none;\n }\n}\n\n@mixin button-standard($bg, $font, $bg-hover: false, $font-hover: false) {\n $font-hover: if($font-hover, $font-hover, $font);\n $bg-hover: if($bg-hover, $bg-hover, $bg);\n\n background-color: $bg;\n color: $font;\n\n &:hover:not(.button--disabled):not(:disabled),\n &.button--active {\n background-color: $bg-hover;\n color: $font-hover;\n\n &.button--keyline {\n background-color: $bg;\n color: $font;\n }\n }\n\n &:focus {\n color: $font;\n }\n\n &.button--keyline {\n @include button-keyline;\n\n color: $bg;\n border-color: $bg;\n }\n}\n\n@mixin button-base {\n @include unstyled-input($outline: true);\n @include unstyled-anchor;\n @include transition-hover;\n\n padding-inline: #{$btn-padding-start} #{$btn-padding-end};\n padding-block: #{$btn-padding-top} #{$btn-padding-bottom};\n box-shadow: #{$layer-shadow-medium};\n display: inline-block;\n border-radius: #{$btn-border-radius};\n line-height: #{$btn-line-height};\n font-weight: 500;\n cursor: pointer;\n background: rgba(0, 0, 0, 0.02);\n\n @media print {\n display: none;\n }\n\n &:focus,\n &.button--focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n\n nano-icon,\n nano-spinner {\n --base-color-rgb: 255, 255, 255;\n\n margin-inline-start: 0.5em;\n margin-inline-end: 0;\n font-size: #{$btn-icon-size};\n vertical-align: middle;\n margin-block-start: -0.188em;\n display: inline-block;\n }\n\n &.button--icon-start {\n nano-icon,\n nano-spinner {\n margin-inline-start: 0;\n margin-inline-end: 0.5em;\n }\n }\n\n &:hover:not(&--disabled) {\n box-shadow: #{$layer-shadow-large};\n }\n\n &:active:not(.button--disabled):not(:disabled) {\n box-shadow: none;\n }\n\n &--disabled,\n &:disabled {\n opacity: 0.6;\n\n &:hover {\n cursor: default;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'helvetica-now';\n@import 'colours';\n@import 'typography';\n@import 'buttons';\n@import 'form';\n\n@each $color-name, $value in $themes {\n .nano-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n:root {\n --nano-base-font-size: 16px;\n\n @include media-breakpoint-down('sm') {\n --nano-base-font-size: 14px;\n }\n\n --nano-padding: 1rem;\n --nano-font-family:\n 'HelveticaNow',\n 'Helvetica Neue',\n helvetica,\n arial,\n 'Lucida Grande',\n sans-serif;\n\n @each $key, $value in $colors {\n #{'--nano-color-' + $key}: #{$value};\n // nice!\n #{'--nano-color-' + $key + '-rgb'}: #{color-to-rgb-list($value)};\n }\n}\n\nbody {\n background-color: $background-color;\n}\n\nhr,\n.horizontal-rule,\n.content-divider {\n display: block;\n block-size: 1px;\n border: 0;\n background-color: rgba(map.get($colors, palegrey), 0.5);\n margin-block: 0.5em;\n margin-inline: 0;\n padding: 0;\n}\n\narea[href]:not([tabindex='-1']),\niframe:not([tabindex='-1']),\n[contentEditable='true']:not([tabindex='-1']) {\n &:focus {\n outline: none;\n box-shadow: $control-focus-style;\n border-radius: 3px;\n }\n}\n","@use 'sass:math';\n\n@import 'mixins';\n\n$dark-text-default: #000 !default;\n$light-text-default: #fff !default;\n\n@function current-color($variation, $alpha: null) {\n @if $alpha==null {\n @return var(--nano-color-#{$variation});\n }\n\n @else {\n @return rgba(var(--nano-color-#{$variation}-rgb), #{$alpha});\n }\n}\n\n// Mixes a color with black to create its shade.\n// --------------------------------------------------------------------------------------------\n@function get-color-shade($color) {\n @return mix(#000, $color, 15%);\n}\n\n// Mixes a color with white to create its tint.\n// --------------------------------------------------------------------------------------------\n@function get-color-tint($color) {\n @return mix(#fff, $color, 15%);\n}\n\n// Converts a color to a comma separated hsl.\n// --------------------------------------------------------------------------------------------\n@function color-to-hsl-list($color) {\n @return #{hue($color)}, #{saturation($color)}, #{lightness($color)};\n}\n\n// Converts a color to a comma separated rgb.\n// --------------------------------------------------------------------------------------------\n@function color-to-rgb-list($color) {\n @return #{red($color)}, #{green($color)}, #{blue($color)};\n}\n\n// Calculeate brightness of a given color.\n@function brightness($color) {\n @return math.div((red($color) * 0.299) + (green($color) * 0.587) + (blue($color) * 0.114), 255) * 100%;\n}\n\n// Compares contrast of a given color to the light/dark arguments and returns whichever is most \"contrasty\"\n@function color-contrast(\n $color,\n $dark: $dark-text-default,\n $light: $light-text-default\n) {\n @if $color==null {\n @return null;\n }\n\n @else {\n $color-brightness: brightness($color);\n $light-text-brightness: brightness($light);\n $dark-text-brightness: brightness($dark);\n\n @return if(\n abs($color-brightness - $light-text-brightness) >\n abs($color-brightness - $dark-text-brightness),\n $light,\n $dark\n );\n }\n}\n\n@function nano-color($name, $variation, $alpha: null, $rgb: null) {\n $values: map-get($themes, $name);\n $value: map-get($values, $variation);\n $variable: --nano-color-#{$name}-#{$variation};\n\n @if ($variation==base) {\n $variable: --nano-color-#{$name};\n }\n\n @if ($alpha) {\n $value: color-to-rgb-list($value);\n\n @return rgba(var(#{$variable}-rgb, $value), $alpha);\n }\n\n @if ($rgb) {\n $value: color-to-rgb-list($value);\n $variable: #{$variable}-rgb;\n }\n\n @return var(#{$variable}, $value);\n}\n\n@mixin generate-color($color-name, $important: '') {\n $value: map-get($themes, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --nano-color-base: var(--nano-color-#{$color-name}, #{$base}) #{$important};\n --nano-color-base-rgb:\n var(\n --nano-color-#{$color-name}-rgb,\n #{color-to-rgb-list($base)}\n )\n #{$important};\n --nano-color-contrast:\n var(--nano-color-#{$color-name}-contrast, #{$contrast})\n #{$important};\n --nano-color-contrast-rgb:\n var(\n --nano-color-#{$color-name}-contrast-rgb,\n #{color-to-rgb-list($contrast)}\n )\n #{$important};\n --nano-color-shade: var(--nano-color-#{$color-name}-shade, #{$shade}) #{$important};\n --nano-color-tint: var(--nano-color-#{$color-name}-tint, #{$tint}) #{$important};\n --nano-color-tint-rgb:\n var(\n --nano-color-#{$color-name}-tint-rgb,\n #{color-to-rgb-list($tint)}\n )\n #{$important};\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import 'colours';\n\n// Defaults\n\n$df-input-padding-top: 8px;\n$df-input-padding-bottom: 6px;\n$df-input-padding-start: 8px;\n$df-input-padding-end: 8px;\n\n$df-input-background-color: map.get($colors, white);\n$df-input-background-color--invalid: white;\n\n$df-input-text-color: $text-color-value;\n$df-input-font-size: 0.87em;\n\n$df-input-border-width: 1px;\n$df-input-border-style: solid;\n$df-input-border-radius: 0;\n\n$df-input-border-color: map.get($colors, lightgrey);\n$df-input-border--focus-color: map.get($colors, lightblue);\n$df-input-border--invalid-color: map.get($colors, lightgrey);\n$df-input-border--invalid-focus-color: map.get($colors, red);\n\n$df-clear-btn-color: rgba(0, 0, 0, 0.3);\n$df-clear-btn-color--invalid: lighten(map.get($colors, red), 30%);\n\n$df-label-color: 'currentColor';\n$df-label-font-size: 1em;\n\n$df-input-help-font-size: 0.75em;\n$df-input-help-color: darken(map.get($colors, mediumgrey), 3%);\n\n$df-input-tag-bg: color-to-rgb-list(#badcf0);\n$df-input-tag-color: #455556;\n$df-input-tag-border-color: #badcf0;\n\n// Setup global / theme css variables with default fallbacks\n\n// Placeholders\n$input-placeholder-color: var(--nano-input-placeholder-color, initial);\n$input-placeholder-style: var(--nano-input-placeholder-style, initial);\n$input-placeholder-weight: var(--nano-input-placeholder-weight, initial);\n$input-placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n\n// Space around labels, help, errors and inside inputs\n$input-padding-bottom: var(\n --nano-input-padding-bottom,\n var(--nano-input-padding, $df-input-padding-bottom)\n);\n$input-padding-start: var(\n --nano-input-padding-start,\n var(--nano-input-padding, $df-input-padding-start)\n);\n$input-padding-end: var(\n --nano-input-padding-end,\n var(--nano-input-padding, $df-input-padding-end)\n);\n$input-padding-top: var(\n --nano-input-padding-top,\n var(--nano-input-padding, $df-input-padding-top)\n);\n\n// Input background\n$input-background-color: var(\n --nano-input-background-color,\n $df-input-background-color\n);\n$input-background-color--invalid: var(\n --nano-input-background-color,\n $df-input-background-color--invalid\n);\n\n// Input text\n$input-text-color: var(--nano-input-text-color, $df-input-text-color);\n$input-font-size: var(--nano-input-font-size, $df-input-font-size);\n\n// Input border\n$input-border-width: var(--nano-input-border-width, $df-input-border-width);\n$input-border-color: var(--nano-input-border-color, $df-input-border-color);\n$input-border-style: var(--nano-input-border-style, $df-input-border-style);\n$input-border-radius: var(--nano-input-border-radius, $df-input-border-radius);\n\n// Input border state variants\n$input-border--focus-color: var(\n --nano-input-border-color--focus,\n $df-input-border--focus-color\n);\n$input-border--invalid-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-color\n);\n$input-border--invalid-focus-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-focus-color\n);\n\n// Clear button\n$clear-btn-color: var(--nano-clear-btn-color, $df-clear-btn-color);\n$clear-btn-color--invalid: var(\n --nano-clear-btn-color--invalid,\n $df-clear-btn-color--invalid\n);\n\n// Label\n$label-color: var(--nano-input-label-color, $df-label-color);\n$label-color-invalid: var(--nano-input-label-color-invalid, $df-label-color);\n$label-font-size: var(--nano-input-label-color, $df-label-font-size);\n\n// Focus shadow / outline\n$control-focus-color: var(\n --nano-control-focus-color,\n rgba(map.get($colors, lightblue), 0.8)\n);\n$control-focus-size: 0 0 0 0.1875rem;\n$control-focus-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $control-focus-color}\n);\n$control-invalid-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $df-input-border--invalid-color}\n);\n\n// Helper / Error text\n$input-help-font-size: var(\n --nano-input-help-font-size,\n $df-input-help-font-size\n);\n$input-help-color: var(--nano-input-help-color, $df-input-help-color);\n\n// General button\n$button-bg-color: var(--nano-button-color, #{map.get($colors, celsius)});\n\n// Tags / Multi value\n$input-tag-bg: var(--nano-input-tag-bg, $df-input-tag-bg);\n$input-tag-color: var(--nano-input-tag-color, $df-input-tag-color);\n$input-tag-border-color: var(\n --nano-input-tag-color,\n $df-input-tag-border-color\n);\n\n// Select\n$select-opt-focus: var(--nano-select-opt-bg, darken(map.get($colors, blue--faded), 5%));\n$select-opt-selected: var(--nano-select-opt-bg, map.get($colors, blue--faded));\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/global/style/base/display.scss","../src/global/style/utilities/_mixins.scss","../src/global/style/base/normalize.scss","../src/global/style/base/structure.scss","../src/global/style/base/padding.scss","../src/global/style/nano-theme/_base.scss","../src/global/style/nano-theme/_helvetica-now.scss","../src/global/style/nano-theme/typography.scss","../src/global/style/nano-theme/_colours.scss","../src/global/style/nano-theme/buttons.scss","../src/global/style/utilities/css-patterns/_unstyled_input.scss","../src/global/style/utilities/css-patterns/_unstyled_anchor.scss","../src/global/style/nano-theme/_button.scss","../src/global/style/nano-theme/theme.scss","../src/global/style/utilities/_colours.scss","../src/global/style/nano-theme/_form.scss"],"names":[],"mappings":"AAMA,WACE,wBAUE,cACE,wBAOF,gBACE,wBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,yBD9FA,iBACE,yBC8IF,yBDvIA,mBACE,yBCqFF,0BD9FA,iBACE,yBC8IF,0BDvIA,mBACE,yBEpBN,4BAIE,wBAKF,sBACE,aACA,aAOF,SAEE,iBAOF,IACE,qBACA,SAIF,eACE,gBAOF,OACE,iBACA,mBAGF,GACE,eACA,eACA,uBAIF,IACE,cAIF,kBAIE,sBACA,cAeF,4BAIE,oBACA,mBAGF,SACE,cACA,gBACA,aACA,cAGF,sBACE,yBAGF,2BAIE,SACA,aACA,cAQF,6DAGE,eACA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eACA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UACA,SAMF,uCAEE,UACA,sBAMF,4FAEE,gBAMF,+FAEE,wBAOF,MACE,yBACA,iBAGF,MAEE,UCrNF,EACE,sBACA,0CACA,0CACA,2BAGF,6BAIE,iDAGF,qBAGE,sBACA,oBAGF,KACE,iBACA,sBAGF,KF8BE,kCACA,mCE5BA,SACA,UACA,kCCxBF,iBACE,mBACA,iBACA,iBACA,oBAEA,UAGF,cACE,kDACA,gDACA,gDACA,mDAEA,QCrBe,iCDwBjB,kBACE,gDAEA,oBC3Be,iCD8BjB,oBACE,kDAEA,qBCjCe,iCDoCjB,kBACE,gDAEA,mBCvCe,iCD0CjB,qBACE,mDAEA,kBC7Ce,iCDgDjB,uBACE,gDACA,mDAEA,cCpDe,iCDuDjB,yBACE,kDACA,gDAEA,eC3De,iCDiEjB,gBACE,kBACA,gBACA,gBACA,mBAEA,SAGF,aACE,iDACA,+CACA,+CACA,kDAEA,OChFe,iCDmFjB,iBACE,+CAEA,mBCtFe,iCDyFjB,mBACE,iDAEA,oBC5Fe,iCD+FjB,iBACE,+CAEA,kBClGe,iCDqGjB,oBACE,kDAEA,iBCxGe,iCD2GjB,sBACE,+CACA,kDAEA,aC/Ge,iCDkHjB,wBACE,iDACA,+CAEA,cCtHe,iCCiBjB,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,uBACA,kBAKF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,oBACA,kBAKF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,8GAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,kHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBAGF,WACE,2BACA,IACE,gHAEF,gBACA,kBACA,sBACA,kBCjNF,KACE,oCACA,yCACA,MCsGW,gCDrGX,qCAGF,EACE,yCACA,qBAEA,QACE,0BAIJ,kBAME,uBACA,YAvCqB,IAwCrB,YAtCqB,IAyCvB,GACE,wBACA,UAzCa,KA4Cf,GACE,wBACA,UA5Ca,KA+Cf,GACE,UA9Ca,KAiDf,GACE,UAhDa,KAmDf,GACE,UAlDa,KAqDf,GACE,UApDa,KAuDf,MACE,cAGF,QAEE,kBACA,cACA,cACA,wBAGF,IACE,yBAGF,IACE,wBAGF,EACE,mBACA,gBACA,oBAEA,aACE,kBAIJ,SACE,gBACA,gBACA,sBACA,gBAEA,oBACE,cAGF,aAVF,SAWI,eAGF,cACE,iBNVA,yBMSF,cAII,mBAIJ,cACE,iBNlBA,yBMiBF,cAII,gBAIJ,gBACE,mBN1BA,yBMyBF,gBAII,oBAIJ,eACE,mBAGF,eACE,eAGF,gBACE,gBAGF,gBACE,yBAGF,eACE,kBACA,yBACA,qBACA,iBACA,sBE/JJ,QCHE,UACA,YACA,+BACA,aACA,yBCJA,qBACA,cCgBA,WACE,uHAuDF,qFACA,yFACA,yEACA,qBACA,iDACA,+CACA,gBACA,eACA,2BFvEA,0BACE,SACA,UCTF,4BAEE,qBACA,cC6EF,aHhFF,QGiFI,cAGF,oCAEE,aACA,wHAGF,uCAEE,gCAEA,yBACA,oBACA,yCACA,sBACA,4BACA,qBAIA,6EAEE,sBACA,uBAIJ,qCACE,wEAGF,qDACE,gBAGF,mCAEE,WAEA,+CACE,eHvHN,iBGmCE,iBHjCE,mCGkCF,MHjCE,yCGmCF,6FAEE,iBAPS,yCAQT,MATW,yCAWX,6HACE,iBH1CF,mCG2CE,MH1CF,yCG8CF,uBACE,MH/CA,yCGkDF,iCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MHtDA,mCGuDA,aHvDA,mCGsBF,8LAGE,gBHnBJ,mBG2BE,iBHzBE,QG0BF,MHzBE,KG2BF,iGAEE,iBAPS,QAQT,MATW,KAWX,iIACE,iBHlCF,QGmCE,MHlCF,KGsCF,yBACE,MHvCA,KG0CF,mCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH9CA,QG+CA,aH/CA,QGcF,oMAGE,gBHXJ,eGmBE,iBHjBE,KGkBF,MHjBE,QGmBF,yFAEE,iBAPS,KAQT,MATW,QAWX,yHACE,iBH1BF,KG2BE,MH1BF,QG8BF,qBACE,MH/BA,QGkCF,+BAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MHtCA,KGuCA,aHvCA,KGMF,wLAGE,gBHFJ,gBGUE,iBHTyB,QGUzB,MHVgD,KGYhD,2FAEE,iBAPS,QAQT,MATW,KAWX,2HACE,iBHlBqB,QGmBrB,MHnB4C,KGuBhD,sBACE,MHxB8C,KG2BhD,gCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH9BuB,QG+BvB,aH/BuB,QGFzB,2LAGE,gBHEJ,iBGME,iBHLyB,QGMzB,MHNmD,KGQnD,6FAEE,iBAPS,QAQT,MATW,KAWX,6HACE,iBHdqB,QGerB,MHf+C,KGmBnD,uBACE,MHpBiD,KGuBnD,iCAnCA,yBACA,iDACA,+CACA,iDACA,6KAkCE,MH1BuB,QG2BvB,aH3BuB,QGNzB,8LAGE,gBHMJ,kBACE,yBACA,gBACA,0BACA,gBAIE,0MAEE,cACA,gBACA,0BI5CJ,oBC0FA,uDACA,qEAMA,iEAGA,oFAMA,8DACA,4DACA,2ED5GA,sBC0FA,yDACA,wEAMA,mEAGA,sFAMA,gEACA,8DACA,8ED5GA,qBC0FA,wDACA,wEAMA,qEAGA,kFAMA,+DACA,6DACA,6ED5GA,oBC0FA,uDACA,sEAMA,oEAGA,iFAMA,8DACA,4DACA,2ED5GA,oBC0FA,uDACA,sEAMA,iEAGA,oFAMA,8DACA,4DACA,2ED5GA,mBC0FA,sDACA,oEAMA,gEAGA,mFAMA,6DACA,2DACA,yED5GA,kBC0FA,qDACA,qEAMA,kEAGA,+EAMA,4DACA,0DACA,0ED5GA,mBC0FA,sDACA,mEAMA,gEAGA,mFAMA,6DACA,2DACA,0ED5GA,iBC0FA,oDACA,iEAMA,8DAGA,iFAMA,2DACA,yDACA,wEDvGF,MACE,4BAMA,qBACA,oGASE,wBAEA,qCAFA,+BAEA,yCAFA,0BAEA,kCAFA,8BAEA,sCAFA,8BAEA,qCAFA,8BAEA,wCAFA,6BAEA,uCAFA,+BAEA,yCAFA,gCAEA,0CAFA,2BAEA,oCAFA,4BAEA,qCAFA,gCAEA,0CAFA,4BAEA,qCAFA,yBAEA,iCAFA,4BAEA,qCAFA,gCAEA,0CAFA,2BAEA,kCAFA,6BAEA,uCAFA,8BAEA,wCAFA,qCAEA,4CAFA,gCAEA,0CAFA,mCAEA,6CAFA,mCAEA,6CAFA,kCAEA,4CAFA,iCAEA,2CAFA,kCAEA,0CAFA,mCAEA,2CAFA,iCAEA,yCAFA,oCAEA,6CAFA,oCAEA,4CAFA,sCAEA,gDAFA,uCAEA,gDZ6HA,yBYhJJ,MAII,6BAmBJ,KACE,iBL2FiB,sCKxFnB,qCAGE,cACA,eACA,SACA,sCACA,kBACA,gBACA,UAMA,0HACE,aACA,WE0DkB,6GFzDlB","file":"nanopore.css","sourcesContent":["@import '../utilities/globals';\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.nano-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .nano-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n","@mixin input-cover() {\n inset-block: 0;\n inset-inline: auto;\n margin: 0;\n inline-size: 100%;\n block-size: 100%;\n border: 0;\n background: transparent;\n cursor: pointer;\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n// A transition-friendly alternative to `display: none` for hiding content\n@mixin hidden {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n overflow: hidden;\n pointer-events: none;\n visibility: hidden; // prevent tab stops and screen reader discovery\n}\n\n// Hides content visually while still making it available to screen readers\n@mixin visually-hide {\n clip: rect(1px, 1px, 1px, 1px);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name !=index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) ==null, '', '-#{$name}');\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next(\n $name,\n $breakpoints: $screen-breakpoints,\n $breakpoint-names: map-keys($breakpoints)\n) {\n $n: index($breakpoint-names, $name);\n\n @return if(\n $n < length($breakpoint-names),\n nth($breakpoint-names, $n + 1),\n null\n );\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is calculated as the minimum of the current one.\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @return if($min, breakpoint-min($name, $breakpoints), null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n }\n\n @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin host($hostCtx: null) {\n $root: #{&};\n\n @if $hostCtx {\n @at-root :host(#{$hostCtx}) {\n #{$root} {\n @content;\n }\n }\n }\n\n @else {\n @at-root :host {\n #{$root} {\n @content;\n }\n }\n }\n}\n\n@mixin rtl-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}[dir='rtl']) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin ltr-host($hostCtx: '') {\n $root: #{&};\n\n @at-root :host(#{$hostCtx}:not([dir='rtl'])) {\n #{$root} {\n @content;\n }\n }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n @at-root #{$root + '[dir=rtl]'} {\n @content;\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), ' ');\n\n @if $flip-rtl !=true or $viewBox==null {\n @include multi-dir() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n }\n\n @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, '<path', '<path #{$transform}');\n $flipped-url: str-replace($flipped-url, '<line', '<line #{$transform}');\n $flipped-url: str-replace(\n $flipped-url,\n '<polygon',\n '<polygon #{$transform}'\n );\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$url}');\n }\n\n @include rtl() {\n background-image: url('data:image/svg+xml;charset=utf-8,#{$flipped-url}');\n }\n }\n}\n\n@mixin background-position(\n $horizontal,\n $horizontal-amount: null,\n $vertical: null,\n $vertical-amount: null\n) {\n @if $horizontal==start or $horizontal==end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal==start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n }\n\n @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position:\n $horizontal-ltr $horizontal-amount $vertical\n $vertical-amount;\n }\n\n @include rtl() {\n background-position:\n $horizontal-rtl $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n\n @else {\n @include multi-dir() {\n background-position:\n $horizontal $horizontal-amount $vertical\n $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis==start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n }\n\n @else if $x-axis==end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n }\n\n @else if $x-axis==left or $x-axis==right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n }\n\n @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n }\n\n @else {\n @if $extra==null {\n $extra: $transform;\n }\n\n @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x== '0' or $x==null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n }\n\n @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n\n@mixin hide-scrollbar() {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n inline-size: 0;\n block-size: 0;\n }\n}\n","// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n block-size: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Remove border when inside `a` element in IE 8/9/10.\nimg {\n max-inline-size: 100%;\n border: 0;\n}\n\n// Correct overflow not hidden in IE 9/10/11.\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n// Address margin not present in IE 8/9 and Safari.\nfigure {\n margin-block: 1em;\n margin-inline: 40px;\n}\n\nhr {\n block-size: 1px;\n border-width: 0;\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n block-size: auto;\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-inline-start: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n cursor: pointer; // 3\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\ninput[type='checkbox'],\ninput[type='radio'] {\n padding: 0; // 2\n box-sizing: border-box; // 1\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type='number']::-webkit-inner-spin-button,\ninput[type='number']::-webkit-outer-spin-button {\n block-size: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type='search']::-webkit-search-cancel-button,\ninput[type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n -webkit-tap-highlight-color: rgba(201, 224, 253, 0.8);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n font-family: inherit;\n}\n\nhtml {\n inline-size: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n @include font-smoothing();\n\n margin: 0;\n padding: 0;\n text-rendering: optimizeLegibility;\n}\n","@import '../nano-theme/base';\n@import '../utilities/globals';\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n// Padding\n// --------------------------------------------------\n\n.nano-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n padding: 0;\n}\n\n.nano-padding {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding: $spacing-medium;\n}\n\n.nano-padding-top {\n --padding-top: #{$spacing-medium};\n\n padding-block-start: $spacing-medium;\n}\n\n.nano-padding-start {\n --padding-start: #{$spacing-medium};\n\n padding-inline-start: $spacing-medium;\n}\n\n.nano-padding-end {\n --padding-end: #{$spacing-medium};\n\n padding-inline-end: $spacing-medium;\n}\n\n.nano-padding-bottom {\n --padding-bottom: #{$spacing-medium};\n\n padding-block-end: $spacing-medium;\n}\n\n.nano-padding-vertical {\n --padding-top: #{$spacing-medium};\n --padding-bottom: #{$spacing-medium};\n\n padding-block: $spacing-medium;\n}\n\n.nano-padding-horizontal {\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n\n padding-inline: $spacing-medium;\n}\n\n// Margin\n// --------------------------------------------------\n\n.nano-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n margin: 0;\n}\n\n.nano-margin {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin: $spacing-medium;\n}\n\n.nano-margin-top {\n --margin-top: #{$spacing-medium};\n\n margin-block-start: $spacing-medium;\n}\n\n.nano-margin-start {\n --margin-start: #{$spacing-medium};\n\n margin-inline-start: $spacing-medium;\n}\n\n.nano-margin-end {\n --margin-end: #{$spacing-medium};\n\n margin-inline-end: $spacing-medium;\n}\n\n.nano-margin-bottom {\n --margin-bottom: #{$spacing-medium};\n\n margin-block-end: $spacing-medium;\n}\n\n.nano-margin-vertical {\n --margin-top: #{$spacing-medium};\n --margin-bottom: #{$spacing-medium};\n\n margin-block: $spacing-medium;\n}\n\n.nano-margin-horizontal {\n --margin-start: #{$spacing-medium};\n --margin-end: #{$spacing-medium};\n\n margin-inline: $spacing-medium;\n}\n","// Setup global / theme css variables with default fallbacks\n\n// Padding, Margin\n$spacing-xsmall: var(--nano-spacing-xsmall, 4px);\n$spacing-small: var(--nano-spacing-small, 8px);\n$spacing-medium: var(--nano-spacing-medium, 16px);\n$spacing-large: var(--nano-spacing-large, 20px);\n$spacing-xlarge: var(--nano-spacing-xlarge, 24px);\n\n// Text\n$fontsize-xsmall: var(--nano-fontsize-xsmall, 0.625rem);\n$fontsize-small: var(--nano-fontsize-small, 0.875rem);\n$fontsize-medium: var(--nano-fontsize-medium, 1rem);\n$fontsize-large: var(--nano-fontsize-large, 1.25rem);\n$fontsize-xlarge: var(--nano-fontsize-xlarge, 1.5rem);\n\n// Border radius\n$border-radius-small: var(--nano-border-radius-small, 2px);\n$border-radius-medium: var(--nano-border-radius-medium, 4px);\n$border-radius-large: var(--nano-border-radius-large, 8px);\n$border-radius-xlarge: var(--nano-border-radius-xlarge, 16px);\n\n// Transition\n$transition-xslow: var(--nano-transition-x-slow, 1s);\n$transition-slow: var(--nano-transition-slow, 0.7s);\n$transition-medium: var(--nano-transition-medium, 0.5s);\n$transition-fast: var(--nano-transition-fast, 0.3s);\n$transition-xfast: var(--nano-transition-fast, 0.1s);\n","/**\n * @license\n * MyFonts Webfont Build ID 3183969,\n 2016-03-09T09:39:13-0500\n *\n * The fonts listed in this notice are subject to the End User License\n * Agreement(s) entered into by the website owner. All other parties are\n * explicitly restricted from using the Licensed Webfonts(s).\n *\n * You may obtain a valid license at the URLs below.\n *\n *\n * License: http://www.myfonts.com/viewlicense?type=web&buildid=3183969\n * Webfonts copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted &#x00A9; 1988 - 2006 Linotype GmbH,\n www.linotype.com. All rights reserved. This software is the property of Linotype GmbH,\n and may not be repro\n *\n * © 2016 MyFonts Inc\n*/\n\n// Helvetica Now Display\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1_0.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_8_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_8_0.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_5_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_5_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_2_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_2_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_9_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_9_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: condensed;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_A_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_A_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: condensed;\n font-display: swap;\n}\n\n// Helvetica Now Text\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_21_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_21_0.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_28_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_28_0.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_25_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_25_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_22_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_22_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_29_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_29_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: normal;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_2A_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_2A_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: normal;\n font-display: swap;\n}\n\n// Helvetica Now Micro\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_16_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_16_0.woff') format('woff');\n font-weight: 600;\n font-style: italic;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_17_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_17_0.woff') format('woff');\n font-weight: 600;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/HVMicro500.woff2') format('woff2'),\n url('../assets/fonts/HVMicro500.woff') format('woff');\n font-weight: 400;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/HVMicro500It.woff2') format('woff2'),\n url('../assets/fonts/HVMicro500It.woff') format('woff');\n font-weight: 400;\n font-style: italic;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_15_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_15_0.woff') format('woff');\n font-weight: 300;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1B_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1B_0.woff') format('woff');\n font-weight: 200;\n font-style: normal;\n font-stretch: expanded;\n font-display: swap;\n}\n\n@font-face {\n font-family: 'HelveticaNow';\n src:\n url('../assets/fonts/3AF163_1C_0.woff2') format('woff2'),\n url('../assets/fonts/3AF163_1C_0.woff') format('woff');\n font-weight: 200;\n font-style: italic;\n font-stretch: expanded;\n font-display: swap;\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'colours';\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 600 !default;\n/// @prop - Line height of all headings\n$headings-line-height: 1.2 !default;\n/// @prop - Font size of heading level 1\n$h1-font-size: 28px !default;\n/// @prop - Font size of heading level 2\n$h2-font-size: 24px !default;\n/// @prop - Font size of heading level 3\n$h3-font-size: 22px !default;\n/// @prop - Font size of heading level 4\n$h4-font-size: 20px !default;\n/// @prop - Font size of heading level 5\n$h5-font-size: 18px !default;\n/// @prop - Font size of heading level 6\n$h6-font-size: 16px !default;\n\nhtml {\n font-family: var(--nano-font-family);\n font-weight: var(--nano-font-weight, 500);\n color: $text-color;\n font-size: var(--nano-base-font-size);\n}\n\na {\n color: nano-color(primary, base);\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-block: 16px 10px;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n}\n\nh1 {\n margin-block-start: 10px;\n font-size: $h1-font-size;\n}\n\nh2 {\n margin-block-start: 18px;\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsup {\n inset-block-start: -0.5em;\n}\n\nsub {\n inset-block-end: -0.25em;\n}\n\np {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-block: 0 1rem;\n\n &.supporting {\n font-size: 0.875rem;\n }\n}\n\n.heading {\n font-weight: 500;\n line-height: 1.3;\n margin-block: 0 1.5rem;\n margin-inline: 0;\n\n &__highlight {\n color: map.get($colors, blue);\n }\n\n @media print {\n color: map.get($colors, black);\n }\n\n &--one {\n font-size: 2.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 3.25rem;\n }\n }\n\n &--two {\n font-size: 1.5rem;\n\n @include media-breakpoint-up('md') {\n font-size: 2rem;\n }\n }\n\n &--three {\n font-size: 1.125rem;\n\n @include media-breakpoint-up('md') {\n font-size: 1.375rem;\n }\n }\n\n &--four {\n font-size: 1.125rem;\n }\n\n &--five {\n font-size: 1rem;\n }\n\n &--light {\n font-weight: 200;\n }\n\n &--upper {\n text-transform: uppercase;\n }\n\n &--meta {\n font-size: 0.875rem;\n text-transform: uppercase;\n letter-spacing: 1.3px;\n font-weight: bold;\n margin-block-end: 1rem;\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/colours';\n\n$colors: (\n white: #fff,\n lightblue: #90c6e7,\n blue: darken(#0084a9, 4%),\n darkblue: #0c5a71,\n darkgrey: #455556,\n palegrey: #b5aea7,\n dimgrey: #918b86,\n lightgrey: #e4e6e8,\n mediumgrey: #687576,\n green: #17bb75,\n orange: #f57e20,\n paleyellow: #ede797,\n purple: #a53f97,\n red: #ef4135,\n yellow: #f5cc49,\n background: #f0efed,\n black: #4a4a4a,\n // Bg Colors\n celsius: #f0efed,\n offwhite: #f9f9fb,\n darkblue--faded: #005c75,\n // Faded Colors\n red--faded: #fee8de,\n orange--faded: #feeddb,\n yellow--faded: #fefcf2,\n green--faded: #edf5f2,\n blue--faded: #f2f7f9,\n // Darkened Colours\n blue--darker: #245a6f,\n green--darker: #0b814f,\n red--darker: #be2a20,\n purple--darker: #772c6d,\n orange--darker: #b95e17,\n palegrey--darker: #8c8379,\n lightblue--darker: #548caf,\n);\n\n// Text\n$dark-text-default: map.get($colors, black);\n$light-text-default: map.get($colors, white);\n\n// Theme\n$primary: map.get($colors, blue) !default;\n$secondary: map.get($colors, lightblue--darker) !default;\n$tertiary: map.get($colors, palegrey) !default;\n$success: map.get($colors, green) !default;\n$warning: map.get($colors, orange) !default;\n$danger: map.get($colors, red) !default;\n$light: map.get($colors, blue--faded) !default;\n$medium: map.get($colors, darkblue--faded) !default;\n$dark: map.get($colors, darkgrey) !default;\n\n// Theme css variables and variations\n$themes: (\n primary: (\n base: $primary,\n contrast: color-contrast($primary),\n shade: get-color-shade($primary),\n tint: get-color-tint($primary),\n ),\n secondary: (\n base: $secondary,\n contrast: color-contrast($secondary),\n shade: get-color-shade($secondary),\n tint: get-color-tint($secondary),\n ),\n tertiary: (\n base: $tertiary,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($tertiary),\n tint: get-color-tint($tertiary),\n ),\n success: (\n base: $success,\n contrast: color-contrast($tertiary),\n shade: get-color-shade($success),\n tint: get-color-tint($success),\n ),\n warning: (\n base: $warning,\n contrast: color-contrast($warning),\n shade: get-color-shade($warning),\n tint: get-color-tint($warning),\n ),\n danger: (\n base: $danger,\n contrast: color-contrast($danger),\n shade: get-color-shade($danger),\n tint: get-color-tint($danger),\n ),\n light: (\n base: $light,\n contrast: color-contrast($light),\n shade: get-color-shade($light),\n tint: get-color-tint($light),\n ),\n medium: (\n base: $medium,\n contrast: color-contrast($medium),\n shade: get-color-shade($medium),\n tint: get-color-tint($medium),\n ),\n dark: (\n base: $dark,\n contrast: color-contrast($dark),\n shade: get-color-shade($dark),\n tint: get-color-tint($dark),\n ),\n) !default;\n\n// Default Foreground and Background Colors\n// -------------------------------------------------------------------------------------------\n// Used internally to calculate the default steps\n\n$background-color-value: map.get($colors, background) !default;\n$background-color-rgb-value: color-to-rgb-list(\n $background-color-value\n) !default;\n\n$text-color-value: map.get($colors, black) !default;\n$text-color-rgb-value: color-to-rgb-list($text-color-value) !default;\n\n$text-color: var(--nano-text-color, $text-color-value) !default;\n$text-color-rgb: var(--nano-text-color-rgb, $text-color-rgb-value) !default;\n\n$background-color: var(\n --nano-background-color,\n $background-color-value\n) !default;\n$background-color-rgb: var(\n --nano-background-color-rgb,\n $background-color-rgb-value\n) !default;\n","@use 'sass:map';\n@use 'sass:list';\n\n@import './colours';\n@import './button';\n\n.button {\n @include button-base;\n}\n\n.button--primary {\n @include button-standard(\n #{nano-color(primary, base)},\n #{nano-color(primary, contrast)},\n #{nano-color(primary, shade)}\n );\n}\n\n.button--secondary {\n @include button-standard(\n map.get($colors, green),\n map.get($colors, white),\n map.get($colors, green--darker)\n );\n}\n\n.button--light {\n @include button-standard(\n map.get($colors, white),\n map.get($colors, blue),\n map.get($colors, white),\n map.get($colors, darkblue)\n );\n}\n\n.button--danger {\n @include button-standard(map.get($colors, red), map.get($colors, white), map.get($colors, red--darker));\n}\n\n.button--warning {\n @include button-standard(map.get($colors, orange), map.get($colors, white), map.get($colors, orange--darker));\n}\n\n.button--tertiary {\n background: transparent;\n box-shadow: none;\n text-decoration: underline;\n font-weight: 400;\n\n &:hover,\n &:focus {\n &:not(.button--disabled):not(:disabled),\n &.button--active {\n color: map.get($colors, palegrey);\n box-shadow: none;\n text-decoration: underline;\n }\n }\n}\n","/// Strips browser styling from an input.\n\n@mixin unstyled-input($outline: false) {\n padding: 0;\n border: none;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n\n @if $outline == false {\n outline: none;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n}\n","/// Displays an anchor as plain text.\n\n@mixin unstyled-anchor {\n text-decoration: none;\n color: inherit;\n\n &:hover,\n &:focus {\n text-decoration: none;\n color: inherit;\n }\n}\n","@import '../utilities/css-patterns/patterns';\n@import './layers';\n@import './form';\n\n// Border\n$btn-border-radius: var(--nano-btn-border-radius, 5px);\n$btn-border-width: var(--nano-btn-border-width, 2px);\n$btn-border-style: var(--nano-btn-border-style, solid);\n\n// Spacing\n$btn-padding-top: var(--nano-btn-padding-top, 0.5rem);\n$btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5rem);\n$btn-padding-start: var(--nano-btn-padding-start, 1rem);\n$btn-padding-end: var(--nano-btn-padding-end, 1rem);\n$btn-line-height: var(--nano-btn-line-height, 1.5em);\n\n// Misc\n$btn-icon-size: var(--nano-btn-icon-size, 1em);\n\n@mixin transition-hover {\n transition:\n background-color 100ms ease-in-out,\n box-shadow 100ms ease-in-out,\n border-color 100ms ease-in-out,\n color 100ms ease-in-out;\n}\n\n@mixin button-keyline {\n background: transparent;\n border-style: #{$btn-border-style};\n border-width: #{$btn-border-width};\n border-radius: #{$btn-border-radius};\n padding-block: calc(#{$btn-padding-top} - #{$btn-border-width}) calc(#{$btn-padding-bottom} - #{$btn-border-width});\n\n &:hover:not(.button--disabled):not(:disabled),\n &:not(:focus):not(.button--focus),\n &.button--active {\n box-shadow: none;\n }\n}\n\n@mixin button-standard($bg, $font, $bg-hover: false, $font-hover: false) {\n $font-hover: if($font-hover, $font-hover, $font);\n $bg-hover: if($bg-hover, $bg-hover, $bg);\n\n background-color: $bg;\n color: $font;\n\n &:hover:not(.button--disabled):not(:disabled),\n &.button--active {\n background-color: $bg-hover;\n color: $font-hover;\n\n &.button--keyline {\n background-color: $bg;\n color: $font;\n }\n }\n\n &:focus {\n color: $font;\n }\n\n &.button--keyline {\n @include button-keyline;\n\n color: $bg;\n border-color: $bg;\n }\n}\n\n@mixin button-base {\n @include unstyled-input($outline: true);\n @include unstyled-anchor;\n @include transition-hover;\n\n padding-inline: #{$btn-padding-start} #{$btn-padding-end};\n padding-block: #{$btn-padding-top} #{$btn-padding-bottom};\n box-shadow: #{$layer-shadow-medium};\n display: inline-block;\n border-radius: #{$btn-border-radius};\n line-height: #{$btn-line-height};\n font-weight: 500;\n cursor: pointer;\n background: rgba(0, 0, 0, 0.02);\n\n @media print {\n display: none;\n }\n\n &:focus,\n &.button--focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n\n nano-icon,\n nano-spinner {\n --base-color-rgb: 255, 255, 255;\n\n margin-inline-start: 0.5em;\n margin-inline-end: 0;\n font-size: #{$btn-icon-size};\n vertical-align: middle;\n margin-block-start: -0.188em;\n display: inline-block;\n }\n\n &.button--icon-start {\n nano-icon,\n nano-spinner {\n margin-inline-start: 0;\n margin-inline-end: 0.5em;\n }\n }\n\n &:hover:not(&--disabled) {\n box-shadow: #{$layer-shadow-large};\n }\n\n &:active:not(.button--disabled):not(:disabled) {\n box-shadow: none;\n }\n\n &--disabled,\n &:disabled {\n opacity: 0.6;\n\n &:hover {\n cursor: default;\n }\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../utilities/globals';\n@import 'helvetica-now';\n@import 'colours';\n@import 'typography';\n@import 'buttons';\n@import 'form';\n\n@each $color-name, $value in $themes {\n .nano-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n:root {\n --nano-base-font-size: 16px;\n\n @include media-breakpoint-down('sm') {\n --nano-base-font-size: 14px;\n }\n\n --nano-padding: 1rem;\n --nano-font-family:\n 'HelveticaNow',\n 'Helvetica Neue',\n helvetica,\n arial,\n 'Lucida Grande',\n sans-serif;\n\n @each $key, $value in $colors {\n #{'--nano-color-' + $key}: #{$value};\n // nice!\n #{'--nano-color-' + $key + '-rgb'}: #{color-to-rgb-list($value)};\n }\n}\n\nbody {\n background-color: $background-color;\n}\n\nhr,\n.horizontal-rule,\n.content-divider {\n display: block;\n block-size: 1px;\n border: 0;\n background-color: rgba(map.get($colors, palegrey), 0.5);\n margin-block: 0.5em;\n margin-inline: 0;\n padding: 0;\n}\n\narea[href]:not([tabindex='-1']),\niframe:not([tabindex='-1']),\n[contentEditable='true']:not([tabindex='-1']) {\n &:focus {\n outline: none;\n box-shadow: $control-focus-style;\n border-radius: 3px;\n }\n}\n","@use 'sass:math';\n\n@import 'mixins';\n\n$dark-text-default: #000 !default;\n$light-text-default: #fff !default;\n\n@function current-color($variation, $alpha: null) {\n @if $alpha==null {\n @return var(--nano-color-#{$variation});\n }\n\n @else {\n @return rgba(var(--nano-color-#{$variation}-rgb), #{$alpha});\n }\n}\n\n// Mixes a color with black to create its shade.\n// --------------------------------------------------------------------------------------------\n@function get-color-shade($color) {\n @return mix(#000, $color, 15%);\n}\n\n// Mixes a color with white to create its tint.\n// --------------------------------------------------------------------------------------------\n@function get-color-tint($color) {\n @return mix(#fff, $color, 15%);\n}\n\n// Converts a color to a comma separated hsl.\n// --------------------------------------------------------------------------------------------\n@function color-to-hsl-list($color) {\n @return #{hue($color)}, #{saturation($color)}, #{lightness($color)};\n}\n\n// Converts a color to a comma separated rgb.\n// --------------------------------------------------------------------------------------------\n@function color-to-rgb-list($color) {\n @return #{red($color)}, #{green($color)}, #{blue($color)};\n}\n\n// Calculeate brightness of a given color.\n@function brightness($color) {\n @return math.div((red($color) * 0.299) + (green($color) * 0.587) + (blue($color) * 0.114), 255) * 100%;\n}\n\n// Compares contrast of a given color to the light/dark arguments and returns whichever is most \"contrasty\"\n@function color-contrast(\n $color,\n $dark: $dark-text-default,\n $light: $light-text-default\n) {\n @if $color==null {\n @return null;\n }\n\n @else {\n $color-brightness: brightness($color);\n $light-text-brightness: brightness($light);\n $dark-text-brightness: brightness($dark);\n\n @return if(\n abs($color-brightness - $light-text-brightness) >\n abs($color-brightness - $dark-text-brightness),\n $light,\n $dark\n );\n }\n}\n\n@function nano-color($name, $variation, $alpha: null, $rgb: null) {\n $values: map-get($themes, $name);\n $value: map-get($values, $variation);\n $variable: --nano-color-#{$name}-#{$variation};\n\n @if ($variation==base) {\n $variable: --nano-color-#{$name};\n }\n\n @if ($alpha) {\n $value: color-to-rgb-list($value);\n\n @return rgba(var(#{$variable}-rgb, $value), $alpha);\n }\n\n @if ($rgb) {\n $value: color-to-rgb-list($value);\n $variable: #{$variable}-rgb;\n }\n\n @return var(#{$variable}, $value);\n}\n\n@mixin generate-color($color-name, $important: '') {\n $value: map-get($themes, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --nano-color-base: var(--nano-color-#{$color-name}, #{$base}) #{$important};\n --nano-color-base-rgb:\n var(\n --nano-color-#{$color-name}-rgb,\n #{color-to-rgb-list($base)}\n )\n #{$important};\n --nano-color-contrast:\n var(--nano-color-#{$color-name}-contrast, #{$contrast})\n #{$important};\n --nano-color-contrast-rgb:\n var(\n --nano-color-#{$color-name}-contrast-rgb,\n #{color-to-rgb-list($contrast)}\n )\n #{$important};\n --nano-color-shade: var(--nano-color-#{$color-name}-shade, #{$shade}) #{$important};\n --nano-color-tint: var(--nano-color-#{$color-name}-tint, #{$tint}) #{$important};\n --nano-color-tint-rgb:\n var(\n --nano-color-#{$color-name}-tint-rgb,\n #{color-to-rgb-list($tint)}\n )\n #{$important};\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import 'colours';\n\n// Defaults\n\n$df-input-padding-top: 8px;\n$df-input-padding-bottom: 6px;\n$df-input-padding-start: 8px;\n$df-input-padding-end: 8px;\n\n$df-input-background-color: map.get($colors, white);\n$df-input-background-color--invalid: white;\n\n$df-input-text-color: $text-color-value;\n$df-input-font-size: 0.87em;\n\n$df-input-border-width: 1px;\n$df-input-border-style: solid;\n$df-input-border-radius: 0;\n\n$df-input-border-color: map.get($colors, lightgrey);\n$df-input-border--focus-color: map.get($colors, lightblue);\n$df-input-border--invalid-color: map.get($colors, lightgrey);\n$df-input-border--invalid-focus-color: map.get($colors, red);\n\n$df-clear-btn-color: rgba(0, 0, 0, 0.3);\n$df-clear-btn-color--invalid: lighten(map.get($colors, red), 30%);\n\n$df-label-color: 'currentColor';\n$df-label-font-size: 1em;\n\n$df-input-help-font-size: 0.75em;\n$df-input-help-color: darken(map.get($colors, mediumgrey), 3%);\n\n$df-input-tag-bg: color-to-rgb-list(#badcf0);\n$df-input-tag-color: #455556;\n$df-input-tag-border-color: #badcf0;\n\n// Setup global / theme css variables with default fallbacks\n\n// Placeholders\n$input-placeholder-color: var(--nano-input-placeholder-color, initial);\n$input-placeholder-style: var(--nano-input-placeholder-style, initial);\n$input-placeholder-weight: var(--nano-input-placeholder-weight, initial);\n$input-placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n\n// Space around labels, help, errors and inside inputs\n$input-padding-bottom: var(\n --nano-input-padding-bottom,\n var(--nano-input-padding, $df-input-padding-bottom)\n);\n$input-padding-start: var(\n --nano-input-padding-start,\n var(--nano-input-padding, $df-input-padding-start)\n);\n$input-padding-end: var(\n --nano-input-padding-end,\n var(--nano-input-padding, $df-input-padding-end)\n);\n$input-padding-top: var(\n --nano-input-padding-top,\n var(--nano-input-padding, $df-input-padding-top)\n);\n\n// Input background\n$input-background-color: var(\n --nano-input-background-color,\n $df-input-background-color\n);\n$input-background-color--invalid: var(\n --nano-input-background-color,\n $df-input-background-color--invalid\n);\n\n// Input text\n$input-text-color: var(--nano-input-text-color, $df-input-text-color);\n$input-font-size: var(--nano-input-font-size, $df-input-font-size);\n\n// Input border\n$input-border-width: var(--nano-input-border-width, $df-input-border-width);\n$input-border-color: var(--nano-input-border-color, $df-input-border-color);\n$input-border-style: var(--nano-input-border-style, $df-input-border-style);\n$input-border-radius: var(--nano-input-border-radius, $df-input-border-radius);\n\n// Input border state variants\n$input-border--focus-color: var(\n --nano-input-border-color--focus,\n $df-input-border--focus-color\n);\n$input-border--invalid-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-color\n);\n$input-border--invalid-focus-color: var(\n --nano-input-border-color--invalid,\n $df-input-border--invalid-focus-color\n);\n\n// Clear button\n$clear-btn-color: var(--nano-clear-btn-color, $df-clear-btn-color);\n$clear-btn-color--invalid: var(\n --nano-clear-btn-color--invalid,\n $df-clear-btn-color--invalid\n);\n\n// Label\n$label-color: var(--nano-input-label-color, $df-label-color);\n$label-color-invalid: var(--nano-input-label-color-invalid, $df-label-color);\n$label-font-size: var(--nano-input-label-color, $df-label-font-size);\n\n// Focus shadow / outline\n$control-focus-color: var(\n --nano-control-focus-color,\n rgba(map.get($colors, lightblue), 0.8)\n);\n$control-focus-size: 0 0 0 0.1875rem;\n$control-focus-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $control-focus-color}\n);\n$control-invalid-style: var(\n --nano-control-focus-shadow,\n #{$control-focus-size + ' ' $df-input-border--invalid-color}\n);\n\n// Helper / Error text\n$input-help-font-size: var(\n --nano-input-help-font-size,\n $df-input-help-font-size\n);\n$input-help-color: var(--nano-input-help-color, $df-input-help-color);\n\n// General button\n$button-bg-color: var(--nano-button-color, #{map.get($colors, celsius)});\n\n// Tags / Multi value\n$input-tag-bg: var(--nano-input-tag-bg, $df-input-tag-bg);\n$input-tag-color: var(--nano-input-tag-color, $df-input-tag-color);\n$input-tag-border-color: var(\n --nano-input-tag-color,\n $df-input-tag-border-color\n);\n\n// Select\n$select-opt-focus: var(--nano-select-opt-bg, darken(map.get($colors, blue--faded), 5%));\n$select-opt-selected: var(--nano-select-opt-bg, map.get($colors, blue--faded));\n"]}
@@ -7,7 +7,7 @@ interface ImperativeAlertOptions {
7
7
  interface ImperativeAlertButton {
8
8
  classes: string;
9
9
  content: string;
10
- handler?: (e: MouseEvent) => {};
10
+ handler?: (e: MouseEvent) => void;
11
11
  }
12
12
  /**
13
13
  * `nano-alert` helper to create toast notifications imperatively.
@@ -0,0 +1,6 @@
1
+ import { ComponentInterface } from '../../stencil-public-runtime';
2
+ export declare class Demo implements ComponentInterface {
3
+ private order;
4
+ private lineItemTotal;
5
+ render(): any;
6
+ }
@@ -14,6 +14,6 @@ interface ImperativeDialogOptions {
14
14
  export declare function nanoCreateDialog(body: string, buttons?: {
15
15
  classes: string;
16
16
  content: string;
17
- handler: () => {};
17
+ handler: () => void;
18
18
  }[], dialogOptions?: ImperativeDialogOptions): HTMLNanoDialogElement;
19
19
  export {};
@@ -1,4 +1,5 @@
1
- import type { VNode } from '../../stencil-public-runtime';
1
+ import type { JSXBase } from '../../stencil-public-runtime';
2
+ import type { VNode, FunctionalComponent } from '../../stencil-public-runtime';
2
3
  export declare namespace TableTypes {
3
4
  /** The column property */
4
5
  type ColumnProp = string | number;
@@ -6,6 +7,10 @@ export declare namespace TableTypes {
6
7
  type Position = 'start' | 'end' | 'top' | 'bottom';
7
8
  /** A function to assess whether a rendered row will be pinned to the top or bottom */
8
9
  type PinFunc = (props?: RowDataSchemaModel) => Position;
10
+ /** Function called, via intersection observer, when an element's pinned status changes */
11
+ type PinnedCb = (positions: {
12
+ [key in Position]?: boolean;
13
+ }) => void;
9
14
  /** Potential column ordering options */
10
15
  type Order = 'asc' | 'desc' | undefined;
11
16
  /** Column filtering */
@@ -18,16 +23,10 @@ export declare namespace TableTypes {
18
23
  prop: TableTypes.Prop;
19
24
  order: TableTypes.Order;
20
25
  }
21
- /** Potential html properties which can be passed to a row or column */
22
- interface EleProps {
23
- style?: {
24
- [key: string]: string | undefined;
25
- };
26
- class?: {
27
- [key: string]: boolean;
28
- } | string;
29
- [attr: string]: string | number | object | boolean | undefined;
30
- }
26
+ /** Potential html properties which can be passed to a cell or column */
27
+ type CellProps = JSXBase.ThHTMLAttributes<HTMLTableCellElement>;
28
+ /** Potential html properties which can be passed to a row */
29
+ type RowProps = JSXBase.HTMLAttributes<HTMLTableRowElement>;
31
30
  /** data model passed to cell rendering functions */
32
31
  interface ColumnDataSchemaModel {
33
32
  /** The column property being iterated over */
@@ -50,7 +49,8 @@ export declare namespace TableTypes {
50
49
  /** The row being rendered. You *must* nest this in your render function otherwise it will not be shown */
51
50
  renderedRow?: VNode;
52
51
  }
53
- /** A JSX `createElement` function passed to rendering functions
52
+ /** A JSX `createElement` function passed to rendering functions.
53
+ * You can use this to create markup outside of JSX environments
54
54
  * e.g. https://reactjs.org/docs/react-without-jsx.html */
55
55
  interface HFunc<T> {
56
56
  (tag: any): T;
@@ -77,7 +77,17 @@ export declare namespace TableTypes {
77
77
  * A row render function, called during a any row's render to the dom.
78
78
  * It can be used to add extra markup around any given table row
79
79
  **/
80
- type RowTemplateFunc<T> = (createElement: HFunc<T>, props?: RowDataSchemaModel) => T | undefined;
80
+ type RowTemplateFunc<T> = (
81
+ /** use this to create markup outside of JSX environments
82
+ * e.g. https://reactjs.org/docs/react-without-jsx.html */
83
+ createElement: HFunc<T>,
84
+ /** data passed to each template */
85
+ props: RowDataSchemaModel,
86
+ /** a helper template to minimise boilerplate.
87
+ * A shortcut for `<td><div class="nano-tbl__cell-content"></div></td>` */
88
+ TableCell: FunctionalComponent<{
89
+ header?: boolean;
90
+ }>) => T | undefined;
81
91
  /**
82
92
  * A cell render function, called during any cell's render to the dom.
83
93
  * It can be used to add any markup within a table cell.
@@ -93,11 +103,11 @@ export declare namespace TableTypes {
93
103
  */
94
104
  type ColSortComparator = (prop: keyof RowData, order: Order) => (a: RowData, b: RowData) => number;
95
105
  /** A function which can be used to apply any html attribute/s onto a table cell `td` */
96
- type PropertiesFunc = (props: ColumnDataSchemaModel) => EleProps | void | undefined;
106
+ type PropertiesFunc = (props: ColumnDataSchemaModel) => CellProps | void | undefined;
97
107
  /** A function which can be used to apply any html attribute/s onto a table head `th` */
98
- type ColPropertiesFunc = (props: ColumnConfig) => EleProps | void | undefined;
108
+ type ColPropertiesFunc = (props: ColumnConfig) => CellProps | void | undefined;
99
109
  /** A function which can be used to apply any html attribute/s onto a table row `tr` */
100
- type RowPropertiesFunc = (props: RowDataSchemaModel) => EleProps | void | undefined;
110
+ type RowPropertiesFunc = (props: RowDataSchemaModel) => RowProps | void | undefined;
101
111
  /** An individual table cell's data */
102
112
  type RowData = {
103
113
  [key: string | number]: any;
@@ -106,6 +116,8 @@ export declare namespace TableTypes {
106
116
  };
107
117
  /** A data property */
108
118
  type Prop = keyof TableTypes.RowData;
119
+ /** Valid column data types */
120
+ type ColumnType = 'text' | 'string' | 'number' | 'date' | 'unknown';
109
121
  /**
110
122
  * A table column's configuration
111
123
  */
@@ -114,14 +126,15 @@ export declare namespace TableTypes {
114
126
  title: string;
115
127
  /** The row's data property to retrieve per cell render */
116
128
  prop: keyof T;
117
- /** The type of data. Will affect how it is sorted and available
118
- * filter operations. Will be derived automatically by default */
119
- type?: 'text' | 'string' | 'number' | 'date';
129
+ /** The type of data. Will affect how it is sorted and the available
130
+ * filter operations ('text' uses browser locale to compare).
131
+ * If none supplied, it will be derived by default using the first row of data retrieved. */
132
+ type?: ColumnType;
120
133
  /** Whether this column is horizontally pinned to viewport */
121
134
  pinned?: Position;
122
135
  /** Whether this column is a row header; the cell will render a `th` not a `td` */
123
136
  rowHeader?: boolean;
124
- /** Whether this column can be ordered. Defaults to true */
137
+ /** Whether this column can be sorted. Defaults to true */
125
138
  sortable?: boolean;
126
139
  /** Current order of this column */
127
140
  order?: Order;
@@ -129,6 +142,8 @@ export declare namespace TableTypes {
129
142
  searchable?: boolean;
130
143
  /** Current filters applied to this column */
131
144
  filter?: string;
145
+ /** Whether this column can be dragged to change column order */
146
+ draggable?: boolean;
132
147
  /**
133
148
  * A cell render function, called during any cell's render to the dom.
134
149
  * It can be used to add any markup within a table cell.
@@ -153,7 +168,7 @@ export declare namespace TableTypes {
153
168
  */
154
169
  interface RowRenderer {
155
170
  /** Function to decide whether the row is vertically pinned. */
156
- pinned: PinFunc;
171
+ pinned?: PinFunc;
157
172
  /**
158
173
  * A row render function, called during a any row's render to the dom.
159
174
  * It can be used to add extra markup around any given table row
@@ -173,11 +188,11 @@ export declare namespace TableTypes {
173
188
  * A row render function, called during a any row's render to the dom.
174
189
  * It can be used to add extra markup around any given table row.
175
190
  * If used, and you want to see the rendered row, you *must* nest it within your
176
- * jsx function
191
+ * jsx function e.g. `(h, props) => { return [props.renderedRow, <tr><td>Custom thing</td></tr>]}`
177
192
  **/
178
193
  template?: RowTemplateFunc<VNode | VNode[]>;
179
194
  /** A function which can be used to apply any html attribute/s onto a table row `tr` */
180
- rowProperties?: () => EleProps | void | undefined;
195
+ rowProperties?: () => RowProps | void | undefined;
181
196
  }
182
197
  type TBody = {
183
198
  rows: TableTypes.NanoTable['rows'];
@@ -0,0 +1,18 @@
1
+ import { FunctionalComponent, VNode } from '../../stencil-public-runtime';
2
+ /**
3
+ * Renders a cell using a custom renderer if set.
4
+ * @param rowIndex - the current row index being rendered
5
+ * @param colIndex - the current column index being rendered
6
+ * @returns - a JSX node
7
+ */
8
+ export declare function cellRender(rowIndex: number, colIndex: number): VNode;
9
+ export declare const baseCellClasses: (colIndex: number, toString?: boolean) => string | {
10
+ [x: string]: boolean;
11
+ };
12
+ declare type TableCellProps = {
13
+ rowIndex: number;
14
+ colIndex: number;
15
+ nestedContent?: VNode;
16
+ };
17
+ export declare const TableCell: FunctionalComponent<TableCellProps>;
18
+ export {};