@nanoporetech-digital/components 8.3.2 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/constructible-style-BsHBb9au.js +133 -0
  2. package/dist/cjs/{fade-BzBFJiQK.js → fade-DBuNbJEw.js} +1 -1
  3. package/dist/cjs/{fullscreen-Cz3eYnOp.js → fullscreen-Bk4jXSN0.js} +1 -1
  4. package/dist/cjs/index-DGttnXif.js +28 -16
  5. package/dist/cjs/{lazyload-DIFYejbf.js → lazyload-gQqOMvpr.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/nano-accordion.cjs.entry.js +28 -9
  8. package/dist/cjs/nano-avatar_5.cjs.entry.js +11 -11
  9. package/dist/cjs/nano-components.cjs.js +1 -1
  10. package/dist/cjs/{nano-data-table-DFEflpc4.js → nano-data-table-BHQIpW0N.js} +31 -1
  11. package/dist/cjs/nano-data-table.cjs.entry.js +1 -1
  12. package/dist/cjs/nano-details.cjs.entry.js +6 -4
  13. package/dist/cjs/nano-field-validator.cjs.entry.js +4 -2
  14. package/dist/cjs/nano-footer.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-global-nav.cjs.entry.js +21 -20
  16. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  17. package/dist/cjs/nano-grid_2.cjs.entry.js +6 -130
  18. package/dist/cjs/nano-hero.cjs.entry.js +4 -4
  19. package/dist/cjs/{nano-icon_3.cjs.entry.js → nano-icon-button_2.cjs.entry.js} +2 -320
  20. package/dist/cjs/nano-icon.cjs.entry.js +326 -0
  21. package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-increment.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-intersection-observe.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-masked-overflow.cjs.entry.js +3 -3
  25. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  26. package/dist/cjs/nano-more-less.cjs.entry.js +2 -2
  27. package/dist/cjs/nano-rating.cjs.entry.js +4 -4
  28. package/dist/cjs/nano-resize-observe.cjs.entry.js +2 -2
  29. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  30. package/dist/cjs/{nano-slides-C576PTmo.js → nano-slides-C73bSG0h.js} +7 -7
  31. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  32. package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
  33. package/dist/cjs/nano-step-accordion.cjs.entry.js +101 -0
  34. package/dist/cjs/nano-step-breadcrumb.cjs.entry.js +133 -0
  35. package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
  36. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  37. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  38. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  39. package/dist/cjs/{page-dots-Clb2QknR.js → page-dots-BLPta5z5.js} +1 -1
  40. package/dist/cjs/{table.worker-DxRLPmU9.js → table.worker-BeE8kdSf.js} +1 -1
  41. package/dist/collection/collection-manifest.json +2 -0
  42. package/dist/collection/components/accordion/accordion.js +51 -13
  43. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  44. package/dist/collection/components/data-table/table.js +1 -13
  45. package/dist/collection/components/details/details.js +9 -6
  46. package/dist/collection/components/field-validator/field-validator.js +4 -2
  47. package/dist/collection/components/footer/footer.css +7 -7
  48. package/dist/collection/components/footer/footer.js +2 -1
  49. package/dist/collection/components/global-nav/global-nav.js +22 -21
  50. package/dist/collection/components/global-search-results/global-search-results.js +4 -4
  51. package/dist/collection/components/grid/grid-item.js +1 -1
  52. package/dist/collection/components/grid/grid.js +1 -1
  53. package/dist/collection/components/hero/hero.js +4 -4
  54. package/dist/collection/components/icon/icon.js +1 -1
  55. package/dist/collection/components/icon/validate.js +1 -1
  56. package/dist/collection/components/img/img.js +3 -3
  57. package/dist/collection/components/in-page-nav/in-page-nav.js +1 -1
  58. package/dist/collection/components/increment/increment.js +1 -1
  59. package/dist/collection/components/intersection-observe/intersection-observe.js +1 -1
  60. package/dist/collection/components/masked-overflow/masked-overflow.js +3 -3
  61. package/dist/collection/components/menu-drawer/menu-drawer.js +2 -2
  62. package/dist/collection/components/more-less/more-less.js +2 -2
  63. package/dist/collection/components/rating/rating.js +4 -4
  64. package/dist/collection/components/resize-observe/resize-observe.js +2 -2
  65. package/dist/collection/components/select/select.js +7 -7
  66. package/dist/collection/components/slides/slide.js +1 -1
  67. package/dist/collection/components/slides/slides.js +3 -3
  68. package/dist/collection/components/sortable/sortable.js +1 -1
  69. package/dist/collection/components/step-accordion/step-accordion.css +138 -0
  70. package/dist/collection/components/step-accordion/step-accordion.js +190 -0
  71. package/dist/collection/components/step-breadcrumb/step-breadcrumb.css +231 -0
  72. package/dist/collection/components/step-breadcrumb/step-breadcrumb.js +222 -0
  73. package/dist/collection/components/sticker/sticker.js +2 -2
  74. package/dist/collection/components/table/table.js +2 -2
  75. package/dist/collection/components/tabs/tab-content.js +2 -2
  76. package/dist/collection/components/tabs/tab.js +2 -2
  77. package/dist/collection/components/tooltip/tooltip.js +2 -2
  78. package/dist/collection/utils/constructible-style.js +2 -2
  79. package/dist/collection/utils/performance.js +17 -0
  80. package/dist/components/accordion.js +80 -0
  81. package/dist/components/constructible-style.js +131 -0
  82. package/dist/components/details.js +6 -4
  83. package/dist/components/global-search-results.js +4 -4
  84. package/dist/components/grid.js +5 -129
  85. package/dist/components/icon.js +2 -2
  86. package/dist/components/img.js +3 -3
  87. package/dist/components/masked-overflow.js +3 -3
  88. package/dist/components/nano-accordion.js +1 -56
  89. package/dist/components/nano-data-table.js +30 -0
  90. package/dist/components/nano-field-validator.js +4 -2
  91. package/dist/components/nano-footer.js +2 -2
  92. package/dist/components/nano-global-nav.js +21 -20
  93. package/dist/components/nano-grid-item.js +1 -1
  94. package/dist/components/nano-hero.js +4 -4
  95. package/dist/components/nano-in-page-nav.js +1 -1
  96. package/dist/components/nano-increment.js +1 -1
  97. package/dist/components/nano-intersection-observe.js +1 -1
  98. package/dist/components/nano-menu-drawer.js +2 -2
  99. package/dist/components/nano-more-less.js +2 -2
  100. package/dist/components/nano-rating.js +4 -4
  101. package/dist/components/nano-slide.js +1 -1
  102. package/dist/components/nano-sortable.js +1 -1
  103. package/dist/components/nano-step-accordion.d.ts +11 -0
  104. package/dist/components/nano-step-accordion.js +141 -0
  105. package/dist/components/nano-step-breadcrumb.d.ts +11 -0
  106. package/dist/components/nano-step-breadcrumb.js +181 -0
  107. package/dist/components/nano-tab-content.js +2 -2
  108. package/dist/components/nano-tab.js +2 -2
  109. package/dist/components/nano-table.js +2 -2
  110. package/dist/components/resize-observe.js +2 -2
  111. package/dist/components/select.js +7 -7
  112. package/dist/components/slides.js +3 -3
  113. package/dist/components/sticker.js +2 -2
  114. package/dist/components/tooltip.js +2 -2
  115. package/dist/esm/constructible-style-B2_GfhhS.js +131 -0
  116. package/dist/esm/{fade-D4P3XGVa.js → fade-C0NluV0K.js} +1 -1
  117. package/dist/esm/{fullscreen-Cfl6LvH2.js → fullscreen-Ck_w6MCZ.js} +1 -1
  118. package/dist/esm/index-BM3Om9WE.js +28 -16
  119. package/dist/esm/{lazyload-CQYknGN2.js → lazyload-DddTyM-A.js} +1 -1
  120. package/dist/esm/loader.js +1 -1
  121. package/dist/esm/nano-accordion.entry.js +28 -9
  122. package/dist/esm/nano-avatar_5.entry.js +11 -11
  123. package/dist/esm/nano-components.js +1 -1
  124. package/dist/esm/{nano-data-table-Bqk8ZUaL.js → nano-data-table-CWliPF7Y.js} +31 -1
  125. package/dist/esm/nano-data-table.entry.js +1 -1
  126. package/dist/esm/nano-details.entry.js +6 -4
  127. package/dist/esm/nano-field-validator.entry.js +4 -2
  128. package/dist/esm/nano-footer.entry.js +2 -2
  129. package/dist/esm/nano-global-nav.entry.js +21 -20
  130. package/dist/esm/nano-grid-item.entry.js +1 -1
  131. package/dist/esm/nano-grid_2.entry.js +7 -131
  132. package/dist/esm/nano-hero.entry.js +4 -4
  133. package/dist/esm/{nano-icon_3.entry.js → nano-icon-button_2.entry.js} +4 -321
  134. package/dist/esm/nano-icon.entry.js +324 -0
  135. package/dist/esm/nano-in-page-nav.entry.js +1 -1
  136. package/dist/esm/nano-increment.entry.js +1 -1
  137. package/dist/esm/nano-intersection-observe.entry.js +1 -1
  138. package/dist/esm/nano-masked-overflow.entry.js +3 -3
  139. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  140. package/dist/esm/nano-more-less.entry.js +2 -2
  141. package/dist/esm/nano-rating.entry.js +4 -4
  142. package/dist/esm/nano-resize-observe.entry.js +2 -2
  143. package/dist/esm/nano-slide.entry.js +1 -1
  144. package/dist/esm/{nano-slides-DcJWApi6.js → nano-slides-BiPGpe5F.js} +7 -7
  145. package/dist/esm/nano-slides.entry.js +1 -1
  146. package/dist/esm/nano-sortable.entry.js +1 -1
  147. package/dist/esm/nano-step-accordion.entry.js +99 -0
  148. package/dist/esm/nano-step-breadcrumb.entry.js +131 -0
  149. package/dist/esm/nano-sticker.entry.js +2 -2
  150. package/dist/esm/nano-tab-content.entry.js +2 -2
  151. package/dist/esm/nano-tab.entry.js +2 -2
  152. package/dist/esm/nano-table.entry.js +2 -2
  153. package/dist/esm/{page-dots-kX7jiD3G.js → page-dots-WKehEjjM.js} +1 -1
  154. package/dist/esm/{table.worker-a52UkSRM.js → table.worker-DJks4i_l.js} +1 -1
  155. package/dist/nano-components/constructible-style-B2_GfhhS.js +4 -0
  156. package/dist/nano-components/{fade-D4P3XGVa.js → fade-C0NluV0K.js} +1 -1
  157. package/dist/nano-components/{fullscreen-Cfl6LvH2.js → fullscreen-Ck_w6MCZ.js} +1 -1
  158. package/dist/nano-components/{lazyload-CQYknGN2.js → lazyload-DddTyM-A.js} +1 -1
  159. package/dist/nano-components/nano-accordion.entry.js +1 -1
  160. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  161. package/dist/nano-components/nano-components.css +32 -1
  162. package/dist/nano-components/nano-components.esm.js +1 -1
  163. package/dist/nano-components/nano-data-table-CWliPF7Y.js +4 -0
  164. package/dist/nano-components/nano-data-table.entry.js +1 -1
  165. package/dist/nano-components/nano-details.entry.js +1 -1
  166. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  167. package/dist/nano-components/nano-footer.entry.js +1 -1
  168. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  169. package/dist/nano-components/nano-grid-item.entry.js +1 -1
  170. package/dist/nano-components/nano-grid_2.entry.js +1 -1
  171. package/dist/nano-components/nano-hero.entry.js +1 -1
  172. package/dist/nano-components/nano-icon-button_2.entry.js +4 -0
  173. package/dist/nano-components/nano-icon.entry.js +4 -0
  174. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  175. package/dist/nano-components/nano-increment.entry.js +1 -1
  176. package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
  177. package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
  178. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  179. package/dist/nano-components/nano-more-less.entry.js +1 -1
  180. package/dist/nano-components/nano-rating.entry.js +1 -1
  181. package/dist/nano-components/nano-resize-observe.entry.js +1 -1
  182. package/dist/nano-components/nano-slide.entry.js +1 -1
  183. package/dist/nano-components/{nano-slides-DcJWApi6.js → nano-slides-BiPGpe5F.js} +3 -3
  184. package/dist/nano-components/nano-slides.entry.js +1 -1
  185. package/dist/nano-components/nano-sortable.entry.js +1 -1
  186. package/dist/nano-components/nano-step-accordion.entry.js +4 -0
  187. package/dist/nano-components/nano-step-breadcrumb.entry.js +4 -0
  188. package/dist/nano-components/nano-sticker.entry.js +1 -1
  189. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  190. package/dist/nano-components/nano-tab.entry.js +1 -1
  191. package/dist/nano-components/nano-table.entry.js +1 -1
  192. package/dist/nano-components/{page-dots-kX7jiD3G.js → page-dots-WKehEjjM.js} +1 -1
  193. package/dist/nano-components/{table.worker-a52UkSRM.js → table.worker-DJks4i_l.js} +1 -1
  194. package/dist/stencil.config.js +1 -0
  195. package/dist/style/components.css +1 -1
  196. package/dist/style/components.css.map +1 -1
  197. package/dist/style/core.css +1 -1
  198. package/dist/style/core.css.map +1 -1
  199. package/dist/style/nano.css +1 -1
  200. package/dist/style/nano.css.map +1 -1
  201. package/dist/types/components/accordion/accordion.d.ts +10 -4
  202. package/dist/types/components/details/details.d.ts +3 -2
  203. package/dist/types/components/footer/footer.d.ts +1 -0
  204. package/dist/types/components/global-nav/global-nav.d.ts +1 -1
  205. package/dist/types/components/step-accordion/step-accordion.d.ts +38 -0
  206. package/dist/types/components/step-breadcrumb/step-breadcrumb.d.ts +37 -0
  207. package/dist/types/components.d.ts +174 -4
  208. package/dist/types/utils/performance.d.ts +1 -0
  209. package/docs-json.json +352 -18
  210. package/docs-vscode.json +41 -2
  211. package/hydrate/index.js +403 -98
  212. package/hydrate/index.mjs +403 -98
  213. package/package.json +2 -2
  214. package/dist/nano-components/nano-data-table-Bqk8ZUaL.js +0 -4
  215. package/dist/nano-components/nano-icon_3.entry.js +0 -4
  216. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
  217. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
  218. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
  219. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
  220. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
  221. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
  222. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
  223. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
  224. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  225. /package/dist/types/builds/{x6knoJK1 → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -101,7 +101,7 @@ const Hero = /*@__PURE__*/ proxyCustomElement(class Hero extends HTMLElement {
101
101
  };
102
102
  render() {
103
103
  const rtl = this.host.dir === 'rtl' || this.host.ownerDocument.dir === 'rtl';
104
- return (h(Host, { key: 'fd48435b9a236d4b0a13853b495fa6e7a17d759f', class: "nano-hero" }, h("div", { key: '6d4a1d9deb8bdbb1a2c6d55bcedecf03dafbe1d3', class: {
104
+ return (h(Host, { key: '8270c80717ac41cc4cd5bedb577b131fe01ac967', class: "nano-hero" }, h("div", { key: '8b04bda451af03b648beb5576cd0badd48364aab', class: {
105
105
  hero: true,
106
106
  'hero--light': this.theme === 'light',
107
107
  'hero--secondary': this.hasSecondaryContent,
@@ -112,9 +112,9 @@ const Hero = /*@__PURE__*/ proxyCustomElement(class Hero extends HTMLElement {
112
112
  'hero--hasbg': this.hasBg,
113
113
  'hero--backbtn': this.hasBackBtn,
114
114
  'hero--sub': this.level === 'sub',
115
- } }, h("div", { key: 'd6b6675e229a107dd71d12e6b5c3b2decd36c86d', class: "hero__bg-wrap" }, !!this.imgSrc && (h("nano-img", { key: 'eeaa0dce87aedba0e30d3a73ae1bc5732a284732', class: "hero__img", lazy: false, background: true, srcSet: this.imgSrcSet, src: this.imgSrc }, h(this.HeroContent, { key: 'fe87fdc964d9b97611014a905620d43ef2d9b01d' }))), !this.imgSrc && [
116
- h("div", { key: '74d6e0d9eb61110f8f395258efd2541f795de7f4', class: "hero__bg-slot" }, h("slot", { key: '125bbc331e99605bd2795a4720c0ca53fb4b1862', name: "background" })),
117
- h(this.HeroContent, { key: '15ff774728e7dd459bbbaab916b0b2577989aac8' }),
115
+ } }, h("div", { key: 'be91fa5b23ceddaf411b269eb6635b886c83174d', class: "hero__bg-wrap" }, !!this.imgSrc && (h("nano-img", { key: '961b0a21220f0305cc0f4a4af0c6cd5e99446c41', class: "hero__img", lazy: false, background: true, srcSet: this.imgSrcSet, src: this.imgSrc }, h(this.HeroContent, { key: 'b272423beee722ae9d4adc0313d2d9ca4e6e3cd4' }))), !this.imgSrc && [
116
+ h("div", { key: 'f10056208ed97f1d4a051572261c874e5dae6e96', class: "hero__bg-slot" }, h("slot", { key: '225c3a0b114b16e8edb063d6979683b343e85419', name: "background" })),
117
+ h(this.HeroContent, { key: '375442509ce1954ca651d56d49488b0da464e577' }),
118
118
  ]))));
119
119
  }
120
120
  static get watchers() { return {
@@ -55,7 +55,7 @@ const NanoInPageNav$1 = /*@__PURE__*/ proxyCustomElement(class NanoInPageNav ext
55
55
  return node;
56
56
  }
57
57
  render() {
58
- return (h(Host, { key: '5fc7993edd48363da225ffce7e8d3dad8689e761', class: "nano-in-page-nav" }, h("nav", { key: '4cc75849661bb1e2fd144ac075a693ce9e5af58f', part: "root" }, (this.slotCtrl.has('back') || this.slotCtrl.has('accessory')) && (h("div", { key: '286df7a444423180967750017575414cce154b0d', class: "header" }, h("slot", { key: '255d81a0c2d26b0069a83a08e552e6afeb035295', name: "back" }), h("slot", { key: 'c939561b8be1b4a479e1f0c01684f5dd0a3014ce', name: "accessory" }))), h("div", { key: '411231a64e23575d76722f59446567f5cd68575e', class: "desktop-nav" }, h("slot", { key: '892a93de5de705e392b687ee62ab89c17bcc349a' })), h("nano-details", { key: '34d89f9f7927db1cb817124cf0d053f88963484c', label: "Menu", class: "details-wrapper mobile-nav", ref: (el) => (this.mobileNavWrapper = el) }))));
58
+ return (h(Host, { key: '8b88cd04f960c4c8ea7ae2dd79a6ec82694570e6', class: "nano-in-page-nav" }, h("nav", { key: '4df4a5ef8aecad356c6ad1acd9a6a886edce8139', part: "root" }, (this.slotCtrl.has('back') || this.slotCtrl.has('accessory')) && (h("div", { key: 'ed1315ac689d77ffd4005df5a6eeb01f3fc9f599', class: "header" }, h("slot", { key: '0db0fb3919268a14fb924b292302c563181e87c0', name: "back" }), h("slot", { key: '95a5fafda43239ef7cc9208efc254fb335bc9f66', name: "accessory" }))), h("div", { key: '5a273c033b193efe7d4c72c3ccfdbf30b4442eae', class: "desktop-nav" }, h("slot", { key: '7d0cff62b54d21daa5b8e7d9551a9d0ed08cfe6f' })), h("nano-details", { key: 'c337ce8ac65560e5914f8566304f9382540316f2', label: "Menu", class: "details-wrapper mobile-nav", ref: (el) => (this.mobileNavWrapper = el) }))));
59
59
  }
60
60
  static get style() { return inPageNavCss; }
61
61
  }, [257, "nano-in-page-nav", {
@@ -73,7 +73,7 @@ const NanoIncrement$1 = /*@__PURE__*/ proxyCustomElement(class NanoIncrement ext
73
73
  this.handleSlotChange();
74
74
  }
75
75
  render() {
76
- return (h(Host, { key: 'fab6b5bdecb8ccd3661d7054e08d66a46c2dd0a8', class: "nano-increment" }, h("div", { key: 'c064903981622ce66ac3a19efce6d595d59b7ed0', class: "root" }, h("div", { key: '447735cf16956d0ae172cc2bb1b3a7ffffd7fa0c', class: "minus" }, h("nano-icon-button", { key: '24e73eee061669ea0dd5423bae53886bed60478a', iconName: "light/minus", label: "Decrement", onClick: this.handleMinus })), h("slot", { key: '855358fe5a99004f52432dd42cf8c986f67afe69', onSlotchange: this.handleSlotChange }), h("div", { key: '17b1a5d9988023f4869489beffd697f4329a1d61', class: "plus" }, h("nano-icon-button", { key: '8b2e763e3f871355085e13b20a26f751c153a329', iconName: "light/plus", label: "Increment", onClick: this.handlePlus })))));
76
+ return (h(Host, { key: '14c12f59b2f00d22bc58fb5ca64616a0a6b19749', class: "nano-increment" }, h("div", { key: '77800505fe9e0d79fda864dc48cb199e6ea611c7', class: "root" }, h("div", { key: '01576d846ca2708319d9faf1c7a0a25169f6c3f4', class: "minus" }, h("nano-icon-button", { key: 'a6b30034c64de602ac504a882aa3ff7c5a933083', iconName: "light/minus", label: "Decrement", onClick: this.handleMinus })), h("slot", { key: 'f04566d5f4a52f23a36bfb1c86a8dadfa3638d66', onSlotchange: this.handleSlotChange }), h("div", { key: '4f1e183e7d547d5f72154115300d14cfbbe3d62b', class: "plus" }, h("nano-icon-button", { key: '20af1b2a19cd8c9264e6375f4a5c05b9f917d979', iconName: "light/plus", label: "Increment", onClick: this.handlePlus })))));
77
77
  }
78
78
  static get watchers() { return {
79
79
  "inputElement": ["inputElementChanged"]
@@ -144,7 +144,7 @@ const IntersectionObserve = /*@__PURE__*/ proxyCustomElement(class IntersectionO
144
144
  this.removeIO();
145
145
  }
146
146
  render() {
147
- return (h(Host, { key: 'be24c77cb033ff3fdb33b37cd8414edd99785795', class: "nano-intersection-observe" }, h("slot", { key: 'e1cf1e9175a9249c6f6f5b202d27a3f9bf937bac', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
147
+ return (h(Host, { key: 'aadf019427b2d2c3020fd6e667d5932fd14aea45', class: "nano-intersection-observe" }, h("slot", { key: 'eae74417c304de7b8e377229b603d88468a5c7f5', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
148
148
  }
149
149
  static get watchers() { return {
150
150
  "root": ["handleRootChange"],
@@ -146,14 +146,14 @@ const MenuDrawer = /*@__PURE__*/ proxyCustomElement(class MenuDrawer extends HTM
146
146
  }
147
147
  }
148
148
  render() {
149
- return (h(Host, { key: '39da1804ff710702cacbbadf0d8bb1d47c2d732b', class: {
149
+ return (h(Host, { key: '4ad542c84da0045168bcee1df744cb94c2a1196e', class: {
150
150
  open: this.open,
151
151
  'secondary-open': this.secondaryOpen,
152
152
  hide: this.hide,
153
153
  loading: this.isLoading,
154
154
  'has-global-nav': !!this.globalNav,
155
155
  'nano-menu-drawer': true,
156
- }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: '90b0e1a831d49af7d81fe5ca2da977a697c08ee7', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: '37d6443befe1a93169e15a8becbefe974c8a8d1c', class: `content-wrap ${this.secondaryOpen ? 'secondary-open' : ''}` }, h("nav", { key: '7373abf5ec1ef567407abedc4b786ae3d51c9e93', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: '6f243a3de7b59072d43fac86c1d9c8acd62ec9d4', class: "head" }, h("button", { key: '6bf443330190314bf84583fc540cd2cb821f4f53', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: '87025c0165c2e61bd51724ef15e8e1b110ded3e4', name: "light/arrow-right-to-line" }), h("span", { key: '6bfd0162936fc4ce0546194a227960ce9dd718a1', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: '07039af321133321dedceaaff462472bd22b4f12' }), this.slotCtrl.has('foot') && (h("div", { key: '252fe22caae99dc7ba850207a92f9390665bf3c0', class: "foot" }, h("slot", { key: 'f142bd0852c6fa01fcc3fba2de5528d1d96d03b7', name: "foot" }))))))));
156
+ }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: 'b00cad9c3696b9c373e8d98fcd1f86c2c7b23aa2', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: 'a7746088c4458802d386f1c3d092e0a386fe4bd6', class: `content-wrap ${this.secondaryOpen ? 'secondary-open' : ''}` }, h("nav", { key: '993f550de47fc9410aa04bf98d9d076a6290637c', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: '3da3d0268df95d3080938e33f6e80d659dce1525', class: "head" }, h("button", { key: 'af104da5e67aaf06194317086daa6a5d4c008b6a', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: 'b6e85eb6690440da7ccd893ccd9feb082d7a4552', name: "light/arrow-right-to-line" }), h("span", { key: '443c2afa504892d6de2a75a126e09c484540c677', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: '275ab007d04f3bde8269f0b4927aec81d1e47ccd' }), this.slotCtrl.has('foot') && (h("div", { key: 'c0eb043b9447264d48ca65d6e51c986c05ba10eb', class: "foot" }, h("slot", { key: 'bee82590231f9cfffc15c22ba0fafb313298e232', name: "foot" }))))))));
157
157
  }
158
158
  static get watchers() { return {
159
159
  "open": ["openChange"]
@@ -54,8 +54,8 @@ const Rating = /*@__PURE__*/ proxyCustomElement(class Rating extends HTMLElement
54
54
  this.handleShowHideElements();
55
55
  }
56
56
  render() {
57
- return (h(Host, { key: 'fbb60961810fe863ebebc729cbe4ecb955608c82', class: "nano-more-less" }, h("slot", { key: '6823f661e722640622d421c96244cd4a0eee1953', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
58
- h("div", { key: '134fadd869470a34cbd21b06d9cc2c85fc4e614c', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, h("slot", { key: '62544d207ac12171da4905e3006e26113b1b0189', name: "less" }, h("button", { key: '54badba3d736faf5b2b686ec989998a4319c5001', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
57
+ return (h(Host, { key: 'cdfbe00c8ce785ad89f711c8488b514dba8f3fb6', class: "nano-more-less" }, h("slot", { key: '8c17f3540c587129feff6905e518e01f4866b90d', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
58
+ h("div", { key: 'fd937a181108336345a5278b4e2e230feb13f891', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, h("slot", { key: 'bd7c0630e06de922c8ed48e5efc0db640594c776', name: "less" }, h("button", { key: '8c924f74b1b7939d17a9defd02ccb41ecd403257', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
59
59
  !this.noHideBtn ? (h("div", { style: { display: this.show ? 'contents' : 'none' }, class: "button-wrapper", part: "button-wrapper button-wrapper--more", onClick: (e) => this.handleClick(e) }, h("slot", { name: "more" }, h("button", { part: "button button--more" }, "Show less (-", this.children.length - this.maxToShow, ")")))) : (''),
60
60
  ]));
61
61
  }
@@ -194,20 +194,20 @@ const Rating = /*@__PURE__*/ proxyCustomElement(class Rating extends HTMLElement
194
194
  else {
195
195
  displayValue = this.isHovering ? this.hoverValue : this.value;
196
196
  }
197
- return (h(Host, { key: 'df7dc8a018d6d786e47134a2b9896a4cf2e87074', class: "nano-rating" }, h("label", { key: '7d9861c77bd39e075b1d9f75b24a5390efcbb42e', class: `rating-label${this.hideLabel ? ' visually-hidden' : ''}`, part: "label", htmlFor: this.name }, h("slot", { key: 'f2406ae04779c885c9968513d4e33d1b00ca8bde', name: "label" }, this.label)), h("input", { key: '50b8e5c1ef6b55ae88b48e4cf3d3ef83bb6a33f6', class: "range-input visually-hidden", name: this.name, id: this.name, disabled: this.disabled || this.readonly, required: this.required, value: this.value, onFocus: () => {
197
+ return (h(Host, { key: 'bacb1319a8119e09eb7223396c0fd308d8f1bcf0', class: "nano-rating" }, h("label", { key: 'e96dd3dc5d27aad666c9273fb48a0dde49b05bcd', class: `rating-label${this.hideLabel ? ' visually-hidden' : ''}`, part: "label", htmlFor: this.name }, h("slot", { key: 'a50e1bb855e58080b964cde932b6e850be44cff5', name: "label" }, this.label)), h("input", { key: 'c95ba7bf46db99df309030b4e7c9a006909e47a7', class: "range-input visually-hidden", name: this.name, id: this.name, disabled: this.disabled || this.readonly, required: this.required, value: this.value, onFocus: () => {
198
198
  this.setFocus();
199
- } }), h("div", { key: '1089a70fecbf338efbf3b2f5a8624c2c3c5ce56c', class: "rating-wrap" }, h("div", { key: '6552b5f9466c1ec0df3e69d9543d693fa90829d4', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
199
+ } }), h("div", { key: 'a04e24da1bf879b551f31b3692e990e912739643', class: "rating-wrap" }, h("div", { key: '2686f949da578a7bcdbd3043f131edccc24f0f30', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
200
200
  rating: true,
201
201
  'rating--readonly': this.readonly,
202
202
  'rating--disabled': this.disabled,
203
- }, "aria-disabled": this.disabled ? 'true' : 'false', "aria-readonly": this.readonly ? 'true' : 'false', "aria-valuenow": this.value, "aria-valuemin": 0, "aria-valuemax": this.max, tabIndex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onMouseMove: this.handleMouseMove, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("span", { key: '1a741e52552009d9fe705aac22abbfa63b49e196', class: "rating__symbols rating__symbols--inactive" }, counter.map((index) => (h("span", { class: {
203
+ }, "aria-disabled": this.disabled ? 'true' : 'false', "aria-readonly": this.readonly ? 'true' : 'false', "aria-valuenow": this.value, "aria-valuemin": 0, "aria-valuemax": this.max, tabIndex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onMouseMove: this.handleMouseMove, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("span", { key: '890e0a8296994061f88cdfa42811ff61d1fbb2b2', class: "rating__symbols rating__symbols--inactive" }, counter.map((index) => (h("span", { class: {
204
204
  rating__symbol: true,
205
205
  'rating__symbol--hover': this.isHovering && Math.ceil(displayValue) === index + 1,
206
206
  },
207
207
  // Users can click the current value to clear the rating. When this happens, we set this.isHovering to
208
208
  // false to prevent the hover state from confusing them as they move the mouse out of the control. This
209
209
  // extra mouseenter will reinstate it if they happen to mouse over an adjacent symbol.
210
- onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), h("span", { key: 'd6368fb64cac9837f38bc00a06b63f2ef3ad3a74', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
210
+ onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), h("span", { key: 'fad1f1de103c1451d848a215c9c7b18084f172ce', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
211
211
  clip: this.clip(displayValue),
212
212
  } }, counter.map((index) => (h("span", { class: {
213
213
  rating__symbol: true,
@@ -39,7 +39,7 @@ const Slide = /*@__PURE__*/ proxyCustomElement(class Slide extends HTMLElement {
39
39
  });
40
40
  }
41
41
  render() {
42
- return (h(Host, { key: 'a426e75ad5b607ac12e53db8183e08f89a10057a', class: "nano-slide" }, h("slot", { key: '792f06fe463ae49d981d7beceb68e4b7b49beff3' })));
42
+ return (h(Host, { key: '3d5f03684b14b0944b06802a26955b035ae20a9f', class: "nano-slide" }, h("slot", { key: '5115d41ae13fb0980ae656c106b9105b5f14703b' })));
43
43
  }
44
44
  static get watchers() { return {
45
45
  "ready": ["readyChange"]
@@ -730,7 +730,7 @@ const Sortable = /*@__PURE__*/ proxyCustomElement(class Sortable extends HTMLEle
730
730
  }
731
731
  }
732
732
  render() {
733
- return (h(Host, { key: 'd6d4f0ad6adf2a3f5e1d36b757e116b58e5b55b4', class: "nano-sortable" }, h("div", { key: 'd2cfcad28acfb052acbc6093dddfc247f5369bcf', class: "sortable__live-region", "aria-live": "polite", "aria-relevant": "additions", "aria-atomic": "true", role: "log", part: "announcements" }, this.ariaTextList.map((str) => (h("div", null, str)))), h("slot", { key: '079bc29ba8c2f26163b7e3a23f0107f78db7b3fb' })));
733
+ return (h(Host, { key: 'f9329f87a60f9b77ad917b9bbf0aa526f4779e82', class: "nano-sortable" }, h("div", { key: 'c30a6d47b7a932906b17f0cd0cec80e0c7ea38ef', class: "sortable__live-region", "aria-live": "polite", "aria-relevant": "additions", "aria-atomic": "true", role: "log", part: "announcements" }, this.ariaTextList.map((str) => (h("div", null, str)))), h("slot", { key: 'a377bb437eb590b3f77d10f105b2fa09e0d21cbd' })));
734
734
  }
735
735
  static get watchers() { return {
736
736
  "itemSelector": ["handleItemSelectorChange"],
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NanoStepAccordion extends Components.NanoStepAccordion, HTMLElement {}
4
+ export const NanoStepAccordion: {
5
+ prototype: NanoStepAccordion;
6
+ new (): NanoStepAccordion;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,141 @@
1
+ /*!
2
+ * Custom elements for Nanopore-Digital Web applications
3
+ */
4
+ import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, Fragment } from '@stencil/core/internal/client';
5
+ import { h } from './renderer.js';
6
+ import { d as defineCustomElement$4 } from './accordion.js';
7
+ import { d as defineCustomElement$3 } from './details.js';
8
+ import { d as defineCustomElement$2 } from './icon.js';
9
+
10
+ const stepAccordionCss = ":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{display:block}.nano-details{--padding:0;--btn-bg-color--hover:transparent;--btn-bg-color--active:transparent;border:none;margin-block-end:var(--nano-spacing-sm)}.nano-details::part(base){display:grid;grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:var(--nano-spacing-sm) 1.625rem}.nano-details.step--grid-working::part(base)::before{content:\"\";display:block;grid-column:1;grid-row:2;inline-size:1rem;min-block-size:1rem;border-inline-end:2px solid var(--nano-color-neutral-300)}.nano-details.step--grid-working::part(base)::after{content:\"\";grid-column:1;grid-row:2;inline-size:0.4rem;block-size:0.4rem;place-self:end end;translate:-50% 0;inset-inline-start:calc(50% - 2.5px);position:relative;border-inline-end:2px solid var(--nano-color-neutral-300);border-block-end:2px solid var(--nano-color-neutral-300);rotate:45deg}.nano-details:last-of-type::part(base)::before{min-block-size:0}.nano-details:last-of-type::part(base)::after{display:none}.nano-details::part(header){grid-column:1/-1;grid-row:1;display:inline-flex;gap:var(--nano-spacing-sm)}.nano-details::part(body){grid-column:2;grid-row:2}.nano-details::part(content-wrapper){padding:1px}.nano-details.step--grid-not-working::part(header){padding-block-end:var(--nano-spacing-sm)}.nano-details.step--grid-not-working::part(body){padding:0 0 0 2.5625rem}.step .step-header{display:inline-flex;gap:var(--nano-spacing-sm);align-items:center}.step .step-icon{display:inline-flex;align-items:center;justify-content:center;inline-size:2rem;block-size:2rem;border-radius:var(--nano-border-radius-circle);background-color:transparent;color:var(--nano-color-neutral-1400);border:1px solid var(--nano-color-neutral-300)}.step.step--complete .step-icon{background-color:var(--nano-color-success-1000);color:var(--nano-color-base-0);border:none}.step[open] .step-icon{background-color:var(--nano-color-primary-1000);color:var(--nano-color-base-0);border:none}.step .step-change{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);text-decoration:underline;color:var(--nano-color-primary-1200)}";
11
+
12
+ const NanoStepAccordion$1 = /*@__PURE__*/ proxyCustomElement(class NanoStepAccordion extends HTMLElement {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ this.__attachShadow();
17
+ this.nanoStepActive = createEvent(this, "nanoStepActive", 7);
18
+ }
19
+ get host() { return this; }
20
+ nanoDetails;
21
+ gridWorking = true;
22
+ /** The currently active step, zero-based index */
23
+ activeStep = 0;
24
+ handleActiveStepChange(newValue, oldValue) {
25
+ if (!this.steps[newValue]?.enabled)
26
+ this.activeStep = oldValue;
27
+ else {
28
+ const event = this.nanoStepActive.emit({
29
+ index: newValue,
30
+ step: this.steps[newValue],
31
+ });
32
+ if (event.defaultPrevented) {
33
+ this.activeStep = oldValue;
34
+ }
35
+ }
36
+ }
37
+ _steps = [];
38
+ stepProxyHandler = {
39
+ set: (target, prop, value) => {
40
+ target[prop] = value;
41
+ forceUpdate(this.host);
42
+ return true;
43
+ },
44
+ };
45
+ /** An array of steps, each with a title, completion status, and enabled state */
46
+ get steps() {
47
+ return this._steps;
48
+ }
49
+ set steps(value) {
50
+ this._steps = [];
51
+ // improved devX - use a proxy to re-render when step properties change
52
+ value.forEach((step) => {
53
+ const proxyStep = new Proxy(step, this.stepProxyHandler);
54
+ this._steps.push(proxyStep);
55
+ });
56
+ }
57
+ /** Emitted when the active step changes. Prevent default to cancel the change */
58
+ nanoStepActive;
59
+ handleToggle(event) {
60
+ if (event.detail.index === this.activeStep)
61
+ return;
62
+ this.activeStep = event.detail.index;
63
+ }
64
+ // A dirty great hack for Firefox - it doesn't support grid layout in `<details>`
65
+ // so we use this to apply different styles based on whether grid is working or not
66
+ isDetailsGridWorking(detailsEl) {
67
+ // Create a test element with explicit grid placement
68
+ const testEl = document.createElement('div');
69
+ testEl.style.gridColumn = '2';
70
+ testEl.style.height = '1px';
71
+ testEl.style.width = '1px';
72
+ testEl.style.visibility = 'hidden';
73
+ detailsEl.appendChild(testEl);
74
+ const parentX = detailsEl.getBoundingClientRect().x;
75
+ const testX = testEl.getBoundingClientRect().x;
76
+ detailsEl.removeChild(testEl);
77
+ // If testEl moved horizontally, grid is in effect
78
+ return Math.abs(testX - parentX) > 1;
79
+ }
80
+ componentDidLoad() {
81
+ if (!this.nanoDetails)
82
+ return;
83
+ const detailsEl = this.nanoDetails.shadowRoot.querySelector('details');
84
+ if (detailsEl) {
85
+ this.gridWorking = this.isDetailsGridWorking(detailsEl);
86
+ }
87
+ }
88
+ render() {
89
+ return (h("nano-accordion", { key: 'd92d8997c0486e26c132793db92b12e04d46a384', alwaysOpen: true, onNanoToggle: (event) => this.handleToggle(event) }, this.steps.map((step, index) => (h("nano-details", { open: index === this.activeStep, disabled: !step.enabled, class: {
90
+ step: true,
91
+ 'step--active': index === this.activeStep,
92
+ 'step--complete': step.complete,
93
+ 'step--grid-working': this.gridWorking,
94
+ 'step--grid-not-working': !this.gridWorking,
95
+ 'step--disabled': !step.enabled,
96
+ }, ref: (el) => (this.nanoDetails = el) }, h("span", { class: "step-icon", slot: "icon-start" }, index + 1), h("div", { class: "step-header", slot: "label" }, h("span", { class: `step-title ${step.complete ? 'complete' : ''}` }, step.title), step.complete && (h(Fragment, null, h("span", null, " - "), h("span", { class: "step-change" }, "Change")))), h("span", { slot: "icon-end" }), h("div", { class: "step-content" }, h("slot", { name: `step-${index}` })))))));
97
+ }
98
+ static get watchers() { return {
99
+ "activeStep": ["handleActiveStepChange"]
100
+ }; }
101
+ static get style() { return stepAccordionCss; }
102
+ }, [257, "nano-step-accordion", {
103
+ "activeStep": [1026, "active-step"],
104
+ "steps": [6160],
105
+ "gridWorking": [32]
106
+ }, undefined, {
107
+ "activeStep": ["handleActiveStepChange"]
108
+ }]);
109
+ function defineCustomElement$1() {
110
+ if (typeof customElements === "undefined") {
111
+ return;
112
+ }
113
+ const components = ["nano-step-accordion", "nano-accordion", "nano-details", "nano-icon"];
114
+ components.forEach(tagName => { switch (tagName) {
115
+ case "nano-step-accordion":
116
+ if (!customElements.get(tagName)) {
117
+ customElements.define(tagName, NanoStepAccordion$1);
118
+ }
119
+ break;
120
+ case "nano-accordion":
121
+ if (!customElements.get(tagName)) {
122
+ defineCustomElement$4();
123
+ }
124
+ break;
125
+ case "nano-details":
126
+ if (!customElements.get(tagName)) {
127
+ defineCustomElement$3();
128
+ }
129
+ break;
130
+ case "nano-icon":
131
+ if (!customElements.get(tagName)) {
132
+ defineCustomElement$2();
133
+ }
134
+ break;
135
+ } });
136
+ }
137
+
138
+ const NanoStepAccordion = NanoStepAccordion$1;
139
+ const defineCustomElement = defineCustomElement$1;
140
+
141
+ export { NanoStepAccordion, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NanoStepBreadcrumb extends Components.NanoStepBreadcrumb, HTMLElement {}
4
+ export const NanoStepBreadcrumb: {
5
+ prototype: NanoStepBreadcrumb;
6
+ new (): NanoStepBreadcrumb;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,181 @@
1
+ /*!
2
+ * Custom elements for Nanopore-Digital Web applications
3
+ */
4
+ import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, Build, Host } from '@stencil/core/internal/client';
5
+ import { h } from './renderer.js';
6
+ import { C as ConstructibleStyle } from './constructible-style.js';
7
+ import { a as addGlobalStylesheetToShadow } from './style.js';
8
+ import { d as defineCustomElement$5 } from './dropdown.js';
9
+ import { d as defineCustomElement$4 } from './icon.js';
10
+ import { d as defineCustomElement$3 } from './menu.js';
11
+ import { d as defineCustomElement$2 } from './nav-item.js';
12
+
13
+ const stepBreadcrumbCss = ":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{display:block;--background:var(--nano-color-base-0)}.step-wrapper{container-type:inline-size}.step-list.desktop{display:flex;flex-direction:row;align-items:center;justify-content:space-between;list-style:none;padding:0;margin:0;position:relative;z-index:1}.step-list.desktop::before{content:\"\";display:block;flex-grow:1;block-size:1px;background-color:var(--nano-color-neutral-300);position:absolute;inset-block-start:50%;z-index:-1;inset-inline-start:0;inline-size:100%}.step-item-wrapper{flex:0 1 auto;display:inline-flex;align-items:center;cursor:pointer}.step-item-wrapper:last-of-type{flex:0 1 auto}.step-item-wrapper:last-of-type .step-item{padding-inline-end:0}.step-item-wrapper:first-of-type::before{display:none}.step-item-wrapper:first-of-type .step-item{padding-inline-start:0}.step-item-wrapper::before{content:\"\";grid-column:2;grid-row:1;inline-size:0.4rem;block-size:0.4rem;place-self:center end;inset-block-start:0.5px;position:relative;border-inline-end:1px solid var(--nano-color-neutral-300);border-block-end:1px solid var(--nano-color-neutral-300);rotate:-45deg}:dir(rtl) .step-item-wrapper::after{rotate:45deg}.step-item{all:unset;display:inline-flex;align-items:center;gap:var(--nano-spacing-sm);background-color:var(--background);padding:0 var(--nano-spacing-sm);position:relative}.step-item:focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset);z-index:1}.step-item.step-item--disabled{cursor:not-allowed}.step-item.step-item--disabled>*{opacity:0.5}.step-item-icon{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;border-radius:var(--nano-border-radius-circle);background-color:transparent;color:var(--nano-color-neutral-1400);border:1px solid var(--nano-color-neutral-300)}.step-item--complete .step-item-icon{background-color:var(--nano-color-success-1000);color:var(--nano-color-base-0);border:none}.step-item--active .step-item-icon{background-color:var(--nano-color-primary-1000);color:var(--nano-color-base-0);border:none}.step-dropdown{inline-size:100%;min-inline-size:300px}.step-trigger{all:unset;display:inline-flex;gap:var(--nano-spacing-md);align-items:center;inline-size:100%;cursor:pointer}.step-trigger-text{display:flex;flex-direction:column}.step-trigger-now{font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-xl);line-height:var(--nano-line-height-denser);text-wrap:balance;color:var(--nano-color-neutral-1400)}.step-trigger-next{font-size:var(--nano-font-size-2xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);color:var(--nano-color-neutral-1000)}.step-trigger-icon{margin-inline-start:auto;color:var(--nano-color-primary-1000);transition:var(--nano-transition-x-fast) rotate}[open] .step-trigger-icon{rotate:180deg}.step-progress-circle{--size:64px;--thickness:4px;inline-size:var(--size);min-inline-size:var(--size);aspect-ratio:1/1;border-radius:50%;display:grid;place-items:center;position:relative}.step-progress-circle::before{content:\"\";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--nano-color-success-1000) calc(var(--value) / var(--max) * 360deg), var(--nano-color-neutral-100) 0);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--thickness)), black 90%);mask:radial-gradient(farthest-side, transparent calc(100% - var(--thickness)), black 90%)}.step-progress-title{font-size:var(--nano-font-size-sm);line-height:var(--nano-line-height-normal);font-weight:var(--nano-font-weight-bold);white-space:nowrap;color:var(--nano-color-neutral-1000)}.step-progress-title strong{color:var(--nano-color-neutral-1400)}";
14
+
15
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
16
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
18
+ r = Reflect.decorate(decorators, target, key, desc);
19
+ else
20
+ for (var i = decorators.length - 1; i >= 0; i--)
21
+ if (d = decorators[i])
22
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24
+ };
25
+ var __metadata = (undefined && undefined.__metadata) || function (k, v) {
26
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
27
+ return Reflect.metadata(k, v);
28
+ };
29
+ const NanoStepBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class NanoStepBreadcrumb extends HTMLElement {
30
+ constructor() {
31
+ super();
32
+ this.__registerHost();
33
+ this.__attachShadow();
34
+ this.nanoStepActive = createEvent(this, "nanoStepActive", 7);
35
+ }
36
+ get host() { return this; }
37
+ calculatedWidth;
38
+ cacheKey;
39
+ /** The currently active step, zero-based index */
40
+ activeStep = 0;
41
+ handleActiveStepChange(newValue, oldValue) {
42
+ if (!this.steps[newValue]?.enabled)
43
+ this.activeStep = oldValue;
44
+ else {
45
+ const event = this.nanoStepActive.emit({
46
+ index: newValue,
47
+ step: this.steps[newValue],
48
+ });
49
+ if (event.defaultPrevented) {
50
+ this.activeStep = oldValue;
51
+ }
52
+ }
53
+ }
54
+ /** Emitted when the active step changes. Prevent default to cancel the change */
55
+ nanoStepActive;
56
+ _steps = [];
57
+ stepProxyHandler = {
58
+ set: (target, prop, value) => {
59
+ target[prop] = value;
60
+ forceUpdate(this.host);
61
+ return true;
62
+ },
63
+ };
64
+ /** An array of steps, each with a title, completion status, and enabled state */
65
+ get steps() {
66
+ return this._steps;
67
+ }
68
+ set steps(value) {
69
+ this._steps = [];
70
+ // improved devX - use a proxy to re-render when step properties change
71
+ value.forEach((step) => {
72
+ const proxyStep = new Proxy(step, this.stepProxyHandler);
73
+ this._steps.push(proxyStep);
74
+ });
75
+ }
76
+ handleStepsChange() {
77
+ const numberOfSteps = this._steps.length;
78
+ const charLength = this._steps.reduce((acc, step) => acc + step.title.length, 0);
79
+ this.cacheKey = 'step-breadcrumb-' + numberOfSteps + charLength;
80
+ // text characters + icons (3 x 1.5rem) + arrows (2 x 1.875rem) + gaps (3 * 20px)
81
+ this.calculatedWidth = `calc(${charLength}ch + ${numberOfSteps * 1.5}rem + ${(numberOfSteps - 1) * 1.875}rem + ${numberOfSteps * 10}px)`;
82
+ }
83
+ styles = () => {
84
+ const css = /* css */ `@container (width > ${this.calculatedWidth}) {
85
+ .step-list.mobile.${this.cacheKey} { display: none; }
86
+ .step-list.desktop.${this.cacheKey} { display: flex; }
87
+ }
88
+ @container (width <= ${this.calculatedWidth}) {
89
+ .step-list.mobile.${this.cacheKey} { display: block; }
90
+ .step-list.desktop.${this.cacheKey} { display: none; }
91
+ }`;
92
+ return css;
93
+ };
94
+ componentWillLoad() {
95
+ this.handleStepsChange();
96
+ if (Build.isBrowser)
97
+ addGlobalStylesheetToShadow(this.host.shadowRoot);
98
+ }
99
+ ControlTag = ({ step, index, }) => {
100
+ const Tag = step.enabled ? (step.href ? 'A' : 'BUTTON') : 'SPAN';
101
+ return (h(Tag, { href: step.href || undefined, class: {
102
+ 'step-item': true,
103
+ 'step-item--active': index === this.activeStep,
104
+ 'step-item--complete': step.complete,
105
+ 'step-item--disabled': !step.enabled,
106
+ }, onClick: () => {
107
+ if (step.enabled) {
108
+ this.activeStep = index;
109
+ }
110
+ } }, h("span", { class: "step-item-icon", slot: "icon-start" }, index + 1), h("span", { class: "step-item-title" }, step.title)));
111
+ };
112
+ render() {
113
+ const Wrapper = this.steps.filter((step) => step.href).length > 0 ? 'nav' : 'div';
114
+ return (h(Host, { key: 'c4d0e767abe4ee65f8e70534844e7ff254455af0' }, h(Wrapper, { key: '6df94c5a9df7ae957b5ff243ecbe78e7c57233b3', class: "step-wrapper" }, h("ul", { key: 'ba1838191a0b888b630bfaba5125ae868f8aab38', class: `step-list desktop ${this.cacheKey}` }, this.steps.map((step, index) => (h("li", { class: "step-item-wrapper", key: index }, h(this.ControlTag, { step: step, index: index }))))), h("div", { key: '64ae2c870494d376f4bb6484e97a5217dc4be311', class: `step-list mobile ${this.cacheKey}` }, h("nano-dropdown", { key: '08d3dc468d594177b922ae91fb1ff02ed79d282c', dialogTitle: "Steps", class: "step-dropdown" }, h("button", { key: '88ef0602628d800a3517da3c06e2eea1dad5a7dd', slot: "trigger", class: "step-trigger" }, h("div", { key: '9d60be986e00fdd6814a910641cf94ef97fb2eed', class: "step-progress-circle", role: "progressbar", "aria-valuenow": "2", "aria-valuemin": "0", "aria-valuemax": "5", style: {
115
+ '--value': '' + (this.activeStep + 1),
116
+ '--max': '' + this.steps.length,
117
+ } }, h("span", { key: '9e6eb88c9fc12f4228f55fe04cb2e1ce9a92e1f2', class: "step-progress-text" }, h("strong", { key: '5e999ae958a2c43f5d8998e9083e91b11ea9041d' }, this.activeStep + 1), " of", ' ', this.steps.length)), h("div", { key: 'ccb66003ef35b256ae8d0d34c8cad7535680d05b', class: "step-trigger-text" }, h("div", { key: '87f8a73802c33c289860b0eb530edae379fa5ebf', class: "step-trigger-now" }, this.steps[this.activeStep | 0]?.title || 'Select a step'), h("div", { key: '9b00c5ae99376028ec077e782f430b0346580119', class: "step-trigger-next" }, this.steps[this.activeStep + 1]?.title || 'Next step')), h("nano-icon", { key: '5073cf36a3a15599df7fa3816a62e72af257ab99', class: "step-trigger-icon", name: "light/chevron-down" })), h("nano-menu", { key: '18f15bb2439661286c019a6f20272db72a6ad1b1' }, this.steps.map((step, index) => (h("nano-nav-item", { class: {
118
+ 'step-item-mobile': true,
119
+ 'step-item-mobile step-item--active': index === this.activeStep,
120
+ 'step-item-mobile step-item--complete': step.complete,
121
+ }, disabled: !step.enabled, key: index, onClick: () => {
122
+ if (step.enabled) {
123
+ this.activeStep = index;
124
+ }
125
+ } }, h("span", { class: "step-item-icon", slot: "icon-start" }, index + 1), h("span", { class: "step-item-title" }, step.title))))))))));
126
+ }
127
+ static get watchers() { return {
128
+ "activeStep": ["handleActiveStepChange"],
129
+ "steps": ["handleStepsChange"]
130
+ }; }
131
+ static get style() { return stepBreadcrumbCss; }
132
+ }, [257, "nano-step-breadcrumb", {
133
+ "activeStep": [1026, "active-step"],
134
+ "steps": [6160],
135
+ "calculatedWidth": [32]
136
+ }, undefined, {
137
+ "activeStep": ["handleActiveStepChange"],
138
+ "steps": ["handleStepsChange"]
139
+ }]);
140
+ __decorate([
141
+ ConstructibleStyle({ cacheKeyProperty: 'calculatedWidth' }),
142
+ __metadata("design:type", Object)
143
+ ], NanoStepBreadcrumb$1.prototype, "styles", void 0);
144
+ function defineCustomElement$1() {
145
+ if (typeof customElements === "undefined") {
146
+ return;
147
+ }
148
+ const components = ["nano-step-breadcrumb", "nano-dropdown", "nano-icon", "nano-menu", "nano-nav-item"];
149
+ components.forEach(tagName => { switch (tagName) {
150
+ case "nano-step-breadcrumb":
151
+ if (!customElements.get(tagName)) {
152
+ customElements.define(tagName, NanoStepBreadcrumb$1);
153
+ }
154
+ break;
155
+ case "nano-dropdown":
156
+ if (!customElements.get(tagName)) {
157
+ defineCustomElement$5();
158
+ }
159
+ break;
160
+ case "nano-icon":
161
+ if (!customElements.get(tagName)) {
162
+ defineCustomElement$4();
163
+ }
164
+ break;
165
+ case "nano-menu":
166
+ if (!customElements.get(tagName)) {
167
+ defineCustomElement$3();
168
+ }
169
+ break;
170
+ case "nano-nav-item":
171
+ if (!customElements.get(tagName)) {
172
+ defineCustomElement$2();
173
+ }
174
+ break;
175
+ } });
176
+ }
177
+
178
+ const NanoStepBreadcrumb = NanoStepBreadcrumb$1;
179
+ const defineCustomElement = defineCustomElement$1;
180
+
181
+ export { NanoStepBreadcrumb, defineCustomElement };
@@ -24,10 +24,10 @@ const NanoTabContent$1 = /*@__PURE__*/ proxyCustomElement(class NanoTabContent e
24
24
  requestAnimationFrame(() => (this.ready = true));
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: 'f182a99dab031220a40b2c5125d3229b8bacca1c', id: this.host.id || this.tabContentId, style: { display: this.active ? 'block' : 'none' }, role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true', class: {
27
+ return (h(Host, { key: '7afee777be86f5847c5ac4c8de6babae3199b01d', id: this.host.id || this.tabContentId, style: { display: this.active ? 'block' : 'none' }, role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true', class: {
28
28
  ready: this.ready,
29
29
  'nano-tab-content': true,
30
- } }, h("div", { key: '47b383859162b6a64518273a9057464de1d37479', part: "base", class: "nano-tab-content" }, h("slot", { key: '3f908fec081c956f9ffd8d7de5e0f45b5e193a8c' }))));
30
+ } }, h("div", { key: 'c316e2c15458eeb9fb6162d81060b81a1132e795', part: "base", class: "nano-tab-content" }, h("slot", { key: '532eedd714e732749cfe9b303b1f4c633e89491c' }))));
31
31
  }
32
32
  static get style() { return tabContentCss; }
33
33
  }, [257, "nano-tab-content", {
@@ -49,12 +49,12 @@ const NanoTab$1 = /*@__PURE__*/ proxyCustomElement(class NanoTab extends HTMLEle
49
49
  }
50
50
  };
51
51
  render() {
52
- return (h(Host, { key: '7eca94a330509cbd3c6d232444fbcde422b755a6', id: this.host.id || this.tabId, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', class: "nano-tab" }, h("div", { key: 'fca6ace8b5fc9c0142fcd04d70cb475323d8ef9d', part: `base${this.active ? ' base--active' : ''}${this.disabled ? ' base--disabled' : ''}${this.closable ? ' base--closable' : ''}`, class: {
52
+ return (h(Host, { key: '67fe232bda16bf41bf1268a1891cfeb6483ebd02', id: this.host.id || this.tabId, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', class: "nano-tab" }, h("div", { key: '6f07d7d5a89071e094fe3deb19e88ec66a524f3d', part: `base${this.active ? ' base--active' : ''}${this.disabled ? ' base--disabled' : ''}${this.closable ? ' base--closable' : ''}`, class: {
53
53
  tab: true,
54
54
  'tab--active': this.active,
55
55
  'tab--disabled': this.disabled,
56
56
  'tab--closable': this.closable,
57
- } }, h("slot", { key: '3693ff8719b24c34db9018941daab7c840434502', name: "start" }), h("div", { key: 'c792fce22a28175e32f7e0b23a1a62f799016c76', part: "label", ref: (el) => (this.tab = el), tabindex: this.disabled || !this.active ? '-1' : '0', class: "tab__label" }, h("slot", { key: '76b725cd050993d377bf5c7208ce5b7fdf224136' })), h("slot", { key: 'f7bd50a43bb64b67b2ce181bf9215ada4c0ccd12', name: "end" }), this.closable && !this.disabled && (h("nano-icon-button", { key: '96f6bddd3dee12d2e8adeb7a59f98d0cfe8b9c82', label: "Close this tab", iconName: "light/xmark", class: "tab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-button" })))));
57
+ } }, h("slot", { key: '4c8dce458c8ae3ed526d4aed7332650be891510c', name: "start" }), h("div", { key: 'e71cced02347ffaa432b5711af54666ac0a6cfd6', part: "label", ref: (el) => (this.tab = el), tabindex: this.disabled || !this.active ? '-1' : '0', class: "tab__label" }, h("slot", { key: '382f7f77b009e3a5cf3af3d3b94b02e639bf2934' })), h("slot", { key: '82a2c81ab573d3c78b7d913f4b7ab146e7c6d5b2', name: "end" }), this.closable && !this.disabled && (h("nano-icon-button", { key: '14e812f9acd5e081a1eba5014f6d4fe4b79371e2', label: "Close this tab", iconName: "light/xmark", class: "tab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-button" })))));
58
58
  }
59
59
  static get style() { return tabCss; }
60
60
  }, [257, "nano-tab", {
@@ -229,10 +229,10 @@ const NanoTable$1 = /*@__PURE__*/ proxyCustomElement(class NanoTable extends HTM
229
229
  this.cleanUpObservers();
230
230
  }
231
231
  render() {
232
- return (h(Host, { key: '61967ae8d9228be1374d9a4ee4e08b286cd4dd57', class: {
232
+ return (h(Host, { key: '3c45a2880bd20a771bcc682355452312340db56d', class: {
233
233
  'nano-table': true,
234
234
  'nano-table--props-ready': this.propsReady,
235
- } }, this.scrollable && (h("nano-masked-overflow", { key: 'eca1991383ebca49f6032066078f02b62c839d6c', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: 'f3bcb6830439858393c1eda96d68c2c5ccadd15a', class: "nano-table__overflow" }))), h("slot", { key: '7662741dcb672f75bae03c16b5745ff4946f12f7' })));
235
+ } }, this.scrollable && (h("nano-masked-overflow", { key: '6b29ca4c8c64deae80def0d3958dc25c4d6cd1c0', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: '83dce90d6e5425b0fd2a2443d0d90b7acfc9c141', class: "nano-table__overflow" }))), h("slot", { key: 'cff62841c17cf20c2ff5872944dbd38bbe438369' })));
236
236
  }
237
237
  static get watchers() { return {
238
238
  "compact": ["handleCompactChange"],
@@ -228,13 +228,13 @@ const ResizeObserve = /*@__PURE__*/ proxyCustomElement(class ResizeObserve exten
228
228
  }
229
229
  }
230
230
  render() {
231
- return (h(Host, { key: 'e5019ccd47c55fddcffd4fa5ff151b0d1db5465f', class: {
231
+ return (h(Host, { key: '3d1301e7d8a6c0f96188ea4dadddcc3f71a349cc', class: {
232
232
  'nano-resize-observe': true,
233
233
  'content-fit-x': this.contentFitX,
234
234
  'content-fit-y': this.contentFitY,
235
235
  'content-nofit-x': this.contentFitX === false,
236
236
  'content-nofit-y': this.contentFitY === false,
237
- } }, h("slot", { key: '6117c97943bf1ca7368946dd17e356e2d866bbf3' }), !!this.notifyContentFit &&
237
+ } }, h("slot", { key: '363d69b62debe81c7d3d1790d4dead42538f7118' }), !!this.notifyContentFit &&
238
238
  (this.contentFitX !== null || this.contentFitY !== null) && [
239
239
  this.contentFitX ? (h("slot", { name: "content-fit-x" })) : (h("slot", { name: "content-nofit-x" })),
240
240
  this.contentFitY ? (h("slot", { name: "content-fit-y" })) : (h("slot", { name: "content-nofit-y" })),