@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
@@ -0,0 +1,326 @@
1
+ /*!
2
+ * Custom elements for Nanopore-Digital Web applications
3
+ */
4
+ 'use strict';
5
+
6
+ var index = require('./index-DGttnXif.js');
7
+ var renderer = require('./renderer-B9M1kXq8.js');
8
+
9
+ let CACHED_MAP;
10
+ const getIconMap = () => {
11
+ if (!CACHED_MAP) {
12
+ const win = window;
13
+ win.Nanoicons = win.Nanoicons || {};
14
+ CACHED_MAP = win.Nanoicons.map = win.Nanoicons.map || new Map();
15
+ }
16
+ return CACHED_MAP;
17
+ };
18
+ const getUrl = (i) => {
19
+ let url = getSrc(i.src);
20
+ if (url)
21
+ return url;
22
+ url = getName(i.name, i.icon);
23
+ if (url)
24
+ return getNamedUrl(url);
25
+ if (i.icon) {
26
+ url = getSrc(i.icon);
27
+ if (url)
28
+ return url;
29
+ }
30
+ return null;
31
+ };
32
+ const getNamedUrl = (iconName) => {
33
+ const url = getIconMap().get(iconName);
34
+ if (url)
35
+ return url;
36
+ if (iconName.startsWith('device/') || iconName.startsWith('pictogram/')) {
37
+ return index.getAssetPath(`../nano-assets/icon/${iconName}.svg`);
38
+ }
39
+ return index.getAssetPath(`../nano-assets/fontawesome-pro/svgs/${iconName}.svg`);
40
+ };
41
+ const getName = (iconName, icon) => {
42
+ if (!iconName && icon && !isSrc(icon)) {
43
+ iconName = icon;
44
+ }
45
+ if (isStr(iconName)) {
46
+ iconName = toLower(iconName);
47
+ }
48
+ if (!isStr(iconName) || iconName.trim() === '') {
49
+ return null;
50
+ }
51
+ // only allow alpha characters and dash
52
+ const invalidChars = iconName.replace(/[a-z]|-|\/|\d/gi, '');
53
+ if (invalidChars !== '') {
54
+ console.warn('invalid characters in icon name ' + iconName);
55
+ return null;
56
+ }
57
+ return iconName;
58
+ };
59
+ const getSrc = (src) => {
60
+ if (isStr(src)) {
61
+ src = src.trim();
62
+ if (isSrc(src))
63
+ return src;
64
+ }
65
+ return null;
66
+ };
67
+ const isSrc = (str) => str.length > 0 && /(\/|\.)/.test(str);
68
+ const isStr = (val) => typeof val === 'string';
69
+ const toLower = (val) => val.toLowerCase();
70
+
71
+ const validateContent = (svgContent) => {
72
+ if (svgContent && document) {
73
+ const div = document.createElement('div');
74
+ div.innerHTML = svgContent;
75
+ // setup this way to ensure it works on our buddy IE
76
+ for (let i = div.childNodes.length - 1; i >= 0; i--) {
77
+ if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {
78
+ div.removeChild(div.childNodes[i]);
79
+ }
80
+ }
81
+ // must only have 1 root element
82
+ const svgElm = div.firstElementChild;
83
+ if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {
84
+ const svgClass = svgElm.getAttribute('class') || '';
85
+ svgElm.setAttribute('class', (svgClass + ' sc-nano-icon s-nano-icon svg').trim());
86
+ // root element must be an svg
87
+ // lets double check we've got valid elements
88
+ // do not allow scripts
89
+ if (isValid(svgElm)) {
90
+ return div.innerHTML;
91
+ }
92
+ }
93
+ }
94
+ return '';
95
+ };
96
+ const isValid = (elm) => {
97
+ if (elm.nodeType === 1) {
98
+ if (elm.nodeName.toLowerCase() === 'script') {
99
+ return false;
100
+ }
101
+ for (let i = 0; i < elm.attributes.length; i++) {
102
+ const val = elm.attributes[i].value;
103
+ if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {
104
+ return false;
105
+ }
106
+ }
107
+ for (let i = 0; i < elm.childNodes.length; i++) {
108
+ if (!isValid(elm.childNodes[i])) {
109
+ return false;
110
+ }
111
+ }
112
+ }
113
+ return true;
114
+ };
115
+
116
+ const iconContent = new Map();
117
+ const requests = new Map();
118
+ const getSvgContent = (url) => {
119
+ // see if we already have a request for this url
120
+ let req = requests.get(url);
121
+ if (!req) {
122
+ // we don't already have a request
123
+ req = fetch(url).then((rsp) => {
124
+ if (rsp.ok) {
125
+ return rsp.text().then((svgContent) => {
126
+ iconContent.set(url, validateContent(svgContent));
127
+ });
128
+ }
129
+ iconContent.set(url, '');
130
+ });
131
+ // cache for the same requests
132
+ requests.set(url, req);
133
+ }
134
+ return req;
135
+ };
136
+
137
+ const iconCss = ":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{--icon-size:1em;--primary-color:currentcolor\n --secondary-color: color-mix(in srgb, currentColor 50%, transparent);--primary-opacity:0.8;--secondary-opacity:1;display:inline-block;inline-size:var(--icon-size);block-size:var(--icon-size);min-inline-size:var(--icon-size);min-block-size:var(--icon-size);contain:strict;fill:currentcolor;box-sizing:content-box !important;transition:opacity 0.3s ease;color:currentcolor}:host .nanoicon{stroke:currentcolor}.nanoicon-fill-none{fill:none}.icon-inner,.nanoicon,svg,.svg{display:block;block-size:100%;inline-size:100%;overflow:visible}:host(.loading){opacity:0}.fa-primary{color:var(--primary-color);opacity:var(--primary-opacity, 1)}.fa-secondary{color:var(--secondary-color);opacity:var(--secondary-opacity) !important}:host(.flip-rtl) .icon-inner{transform:scaleX(-1)}:host([name^=pictogram]),:host([name^=device]){font-size:max(var(--nano-pictogram-size-medium), var(--icon-size))}:host([size=small][name^=pictogram]),:host([size=small][name^=device]){font-size:var(--nano-pictogram-size-small)}:host([size=regular]){font-size:var(--nano-icon-size-small)}:host([size=regular][name^=pictogram]),:host([size=regular][name^=device]){font-size:var(--nano-pictogram-size-medium)}:host([size=large]){font-size:var(--nano-icon-size-large)}:host([size=large][name^=pictogram]),:host([size=large][name^=device]){font-size:var(--nano-pictogram-size-large)}:host([size=xl][name^=pictogram]),:host([size=xl][name^=device]){font-size:var(--nano-pictogram-size-x-large)}:host([name^=pictogram]),:host([name^=device]),:host([color=primary]){color:var(--nano-color-primary-1100)}:host([color=neutral]){color:var(--nano-color-base-1000)}";
138
+
139
+ const Icon = class {
140
+ constructor(hostRef) {
141
+ index.registerInstance(this, hostRef);
142
+ this.nanoLoad = index.createEvent(this, "nanoLoad", 7);
143
+ this.nanoError = index.createEvent(this, "nanoError", 7);
144
+ }
145
+ io;
146
+ get el() { return index.getElement(this); }
147
+ svgContent;
148
+ isVisible = false;
149
+ isLoading = true;
150
+ /**
151
+ * Specifies the color of the icon. If not specified, the icon will inherit the color of the parent element.
152
+ */
153
+ color;
154
+ /**
155
+ * Specifies the role to use for accessibility. Defaults to 'presentation' (invisible to screen-readers)
156
+ */
157
+ role;
158
+ setAriaLabel() {
159
+ if (!this.ariaLabel && !this.el.ariaLabel) {
160
+ if (!this.role || this.role !== 'presentation') {
161
+ // if the role is not 'presentation' and the user did not explicitly set a role,
162
+ // let's try and derive one from the icon name
163
+ const label = getName(this.name, this.icon);
164
+ // user did not provide a label
165
+ // come up with the label based on the icon name
166
+ if (label) {
167
+ this.ariaLabel = label.split('/').slice(-1)[0].replace(/-/g, ' ');
168
+ }
169
+ }
170
+ }
171
+ else if (this.role === 'presentation') {
172
+ this.ariaLabel = undefined;
173
+ }
174
+ }
175
+ /**
176
+ * Specifies the label to use for accessibility. Defaults to the icon name.
177
+ */
178
+ ariaLabel;
179
+ updateRole() {
180
+ // force the role to be 'img' if the aria-label is explicitly set
181
+ if (this.ariaLabel)
182
+ this.role = 'img';
183
+ else if (!this.ariaLabel)
184
+ this.role = 'presentation';
185
+ }
186
+ /**
187
+ * Specifies whether the icon should horizontally flip when `dir` is `"rtl"`.
188
+ * By default, when an 'arrow' or 'chevron' icon is used, it will flip automatically when detecting `dir="rtl"` on the document or closest ancestor.
189
+ */
190
+ flipRtl;
191
+ /**
192
+ * Specifies which icon to use from the built-in set of icons.
193
+ */
194
+ name;
195
+ /**
196
+ * Specifies the exact `src` of an SVG file to use.
197
+ */
198
+ src;
199
+ /**
200
+ * A combination of both `name` and `src`. If a `src` url is detected
201
+ * it will set the `src` property. Otherwise it assumes it's a built-in named
202
+ * SVG and set the `name` property.
203
+ */
204
+ icon;
205
+ /**
206
+ * The size of the icon. `auto` automatically sizes according to the font-size of the parent element.
207
+ * *Note*: size will be different on 'pictogram' and 'device' vs 'font awesome' icons.
208
+ */
209
+ size = 'auto';
210
+ /**
211
+ * If enabled, nano-icon will be loaded lazily when it's visible in the viewport.
212
+ * Default, `true`.
213
+ */
214
+ lazy = true;
215
+ loadIcon() {
216
+ if (this.isVisible) {
217
+ const url = getUrl(this);
218
+ if (url) {
219
+ if (iconContent.has(url)) {
220
+ // sync if it's already loaded
221
+ this.svgContent = iconContent.get(url);
222
+ requestAnimationFrame(() => {
223
+ this.isLoading = false;
224
+ this.nanoLoad.emit();
225
+ });
226
+ }
227
+ else {
228
+ // async if it hasn't been loaded
229
+ getSvgContent(url).then(() => {
230
+ this.svgContent = iconContent.get(url);
231
+ requestAnimationFrame(() => {
232
+ this.isLoading = false;
233
+ this.nanoLoad.emit();
234
+ });
235
+ this.setAriaLabel();
236
+ }, () => {
237
+ // error loading icon
238
+ this.nanoError.emit();
239
+ });
240
+ }
241
+ }
242
+ }
243
+ }
244
+ /** Emitted when the icon has finished loading. */
245
+ nanoLoad;
246
+ /** Emitted when the icon fails to load. */
247
+ nanoError;
248
+ waitUntilVisible(el, rootMargin, cb) {
249
+ if (this.lazy &&
250
+ typeof window !== 'undefined' &&
251
+ window.IntersectionObserver) {
252
+ const io = (this.io = new window.IntersectionObserver((data) => {
253
+ if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {
254
+ io.disconnect();
255
+ this.io = undefined;
256
+ cb();
257
+ }
258
+ }, { rootMargin }));
259
+ io.observe(el);
260
+ }
261
+ else {
262
+ // not a browser env (e.g. node)
263
+ // or we're not loading lazily
264
+ // or env doesn't support IntersectionObserver (testing?)
265
+ // - immediately fetch icon
266
+ cb();
267
+ }
268
+ }
269
+ isRtl() {
270
+ // doc is in rtl
271
+ if (this.el.ownerDocument?.dir === 'rtl')
272
+ return true;
273
+ // html element is in rtl element
274
+ if (this.el.closest('[dir="rtl"]'))
275
+ return true;
276
+ // nested in a shadow dom - see if that host element is contained in an rtl element
277
+ const rootNode = this.el.getRootNode();
278
+ const ownerHost = rootNode.host;
279
+ if (ownerHost && ownerHost.closest('[dir="rtl"]'))
280
+ return true;
281
+ return false;
282
+ }
283
+ connectedCallback() {
284
+ // purposely do not return the promise here because loading
285
+ // the svg file should not hold up loading the app
286
+ // only load the svg if it's visible
287
+ this.waitUntilVisible(this.el, '50px', () => {
288
+ this.isVisible = true;
289
+ this.loadIcon();
290
+ });
291
+ }
292
+ disconnectedCallback() {
293
+ if (this.io) {
294
+ this.io.disconnect();
295
+ this.io = undefined;
296
+ }
297
+ }
298
+ componentWillLoad() {
299
+ this.updateRole();
300
+ this.setAriaLabel();
301
+ }
302
+ render() {
303
+ const flipRtl = this.flipRtl ||
304
+ (this.name &&
305
+ this.name.match(/right|left/) &&
306
+ (this.name.indexOf('arrow') > -1 ||
307
+ this.name.indexOf('chevron') > -1) &&
308
+ this.isRtl());
309
+ return (renderer.h(index.Host, { key: '0bc1c17119f0e49b9798a1b61a4a768f6406129f', class: {
310
+ loading: this.isLoading,
311
+ 'flip-rtl': !!flipRtl,
312
+ 'nano-icon': true,
313
+ } }, this.svgContent ? (renderer.h("div", { class: "icon-inner", innerHTML: this.svgContent })) : (renderer.h("div", { class: "icon-inner" }))));
314
+ }
315
+ static get assetsDirs() { return ["device", "pictogram"]; }
316
+ static get watchers() { return {
317
+ "role": ["setAriaLabel"],
318
+ "ariaLabel": ["updateRole"],
319
+ "name": ["loadIcon"],
320
+ "src": ["loadIcon"],
321
+ "icon": ["loadIcon"]
322
+ }; }
323
+ };
324
+ Icon.style = iconCss;
325
+
326
+ exports.nano_icon = Icon;
@@ -53,7 +53,7 @@ const NanoInPageNav = class {
53
53
  return node;
54
54
  }
55
55
  render() {
56
- return (renderer.h(index.Host, { key: '5fc7993edd48363da225ffce7e8d3dad8689e761', class: "nano-in-page-nav" }, renderer.h("nav", { key: '4cc75849661bb1e2fd144ac075a693ce9e5af58f', part: "root" }, (this.slotCtrl.has('back') || this.slotCtrl.has('accessory')) && (renderer.h("div", { key: '286df7a444423180967750017575414cce154b0d', class: "header" }, renderer.h("slot", { key: '255d81a0c2d26b0069a83a08e552e6afeb035295', name: "back" }), renderer.h("slot", { key: 'c939561b8be1b4a479e1f0c01684f5dd0a3014ce', name: "accessory" }))), renderer.h("div", { key: '411231a64e23575d76722f59446567f5cd68575e', class: "desktop-nav" }, renderer.h("slot", { key: '892a93de5de705e392b687ee62ab89c17bcc349a' })), renderer.h("nano-details", { key: '34d89f9f7927db1cb817124cf0d053f88963484c', label: "Menu", class: "details-wrapper mobile-nav", ref: (el) => (this.mobileNavWrapper = el) }))));
56
+ return (renderer.h(index.Host, { key: '8b88cd04f960c4c8ea7ae2dd79a6ec82694570e6', class: "nano-in-page-nav" }, renderer.h("nav", { key: '4df4a5ef8aecad356c6ad1acd9a6a886edce8139', part: "root" }, (this.slotCtrl.has('back') || this.slotCtrl.has('accessory')) && (renderer.h("div", { key: 'ed1315ac689d77ffd4005df5a6eeb01f3fc9f599', class: "header" }, renderer.h("slot", { key: '0db0fb3919268a14fb924b292302c563181e87c0', name: "back" }), renderer.h("slot", { key: '95a5fafda43239ef7cc9208efc254fb335bc9f66', name: "accessory" }))), renderer.h("div", { key: '5a273c033b193efe7d4c72c3ccfdbf30b4442eae', class: "desktop-nav" }, renderer.h("slot", { key: '7d0cff62b54d21daa5b8e7d9551a9d0ed08cfe6f' })), renderer.h("nano-details", { key: 'c337ce8ac65560e5914f8566304f9382540316f2', label: "Menu", class: "details-wrapper mobile-nav", ref: (el) => (this.mobileNavWrapper = el) }))));
57
57
  }
58
58
  };
59
59
  NanoInPageNav.style = inPageNavCss;
@@ -70,7 +70,7 @@ const NanoIncrement = class {
70
70
  this.handleSlotChange();
71
71
  }
72
72
  render() {
73
- return (renderer.h(index.Host, { key: 'fab6b5bdecb8ccd3661d7054e08d66a46c2dd0a8', class: "nano-increment" }, renderer.h("div", { key: 'c064903981622ce66ac3a19efce6d595d59b7ed0', class: "root" }, renderer.h("div", { key: '447735cf16956d0ae172cc2bb1b3a7ffffd7fa0c', class: "minus" }, renderer.h("nano-icon-button", { key: '24e73eee061669ea0dd5423bae53886bed60478a', iconName: "light/minus", label: "Decrement", onClick: this.handleMinus })), renderer.h("slot", { key: '855358fe5a99004f52432dd42cf8c986f67afe69', onSlotchange: this.handleSlotChange }), renderer.h("div", { key: '17b1a5d9988023f4869489beffd697f4329a1d61', class: "plus" }, renderer.h("nano-icon-button", { key: '8b2e763e3f871355085e13b20a26f751c153a329', iconName: "light/plus", label: "Increment", onClick: this.handlePlus })))));
73
+ return (renderer.h(index.Host, { key: '14c12f59b2f00d22bc58fb5ca64616a0a6b19749', class: "nano-increment" }, renderer.h("div", { key: '77800505fe9e0d79fda864dc48cb199e6ea611c7', class: "root" }, renderer.h("div", { key: '01576d846ca2708319d9faf1c7a0a25169f6c3f4', class: "minus" }, renderer.h("nano-icon-button", { key: 'a6b30034c64de602ac504a882aa3ff7c5a933083', iconName: "light/minus", label: "Decrement", onClick: this.handleMinus })), renderer.h("slot", { key: 'f04566d5f4a52f23a36bfb1c86a8dadfa3638d66', onSlotchange: this.handleSlotChange }), renderer.h("div", { key: '4f1e183e7d547d5f72154115300d14cfbbe3d62b', class: "plus" }, renderer.h("nano-icon-button", { key: '20af1b2a19cd8c9264e6375f4a5c05b9f917d979', iconName: "light/plus", label: "Increment", onClick: this.handlePlus })))));
74
74
  }
75
75
  static get watchers() { return {
76
76
  "inputElement": ["inputElementChanged"]
@@ -145,7 +145,7 @@ const IntersectionObserve = class {
145
145
  this.removeIO();
146
146
  }
147
147
  render() {
148
- return (renderer.h(index.Host, { key: 'be24c77cb033ff3fdb33b37cd8414edd99785795', class: "nano-intersection-observe" }, renderer.h("slot", { key: 'e1cf1e9175a9249c6f6f5b202d27a3f9bf937bac', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
148
+ return (renderer.h(index.Host, { key: 'aadf019427b2d2c3020fd6e667d5932fd14aea45', class: "nano-intersection-observe" }, renderer.h("slot", { key: 'eae74417c304de7b8e377229b603d88468a5c7f5', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
149
149
  }
150
150
  static get watchers() { return {
151
151
  "root": ["handleRootChange"],
@@ -317,7 +317,7 @@ const MaskedOverflow = class {
317
317
  }
318
318
  }
319
319
  render() {
320
- return (renderer.h(index.Host, { key: '5e3818d9ff886b75194db22fd7f42af484fe17d7', dir: this.isRtl ? 'rtl' : null, class: "nano-masked-overflow", "has-scroll-controls": this.hasScrollControls }, renderer.h("div", { key: '991fa196ffc2eb42c907519bb8187f15c9868161', part: "base", class: {
320
+ return (renderer.h(index.Host, { key: '49485c7d6a96e8dd122f862abd2bd2f95b2343e7', dir: this.isRtl ? 'rtl' : null, class: "nano-masked-overflow", "has-scroll-controls": this.hasScrollControls }, renderer.h("div", { key: 'acd0541992b9dda0c1ab6414e67cd8a71f429918', part: "base", class: {
321
321
  onav: true,
322
322
  [`onav--${this.orientation}`]: true,
323
323
  'onav--has-scroll-controls': this.hasScrollControls,
@@ -326,12 +326,12 @@ const MaskedOverflow = class {
326
326
  'onav--no-transitions': this.instantReCalc,
327
327
  'onnav--has-indicator': this.showIndicator,
328
328
  'onnav--hide-scrollbars': this.hideScrollbars && this.hideScrollbars !== 'false',
329
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, renderer.h("div", { key: 'e6958d0060691af605afa2c6fd53194b4284f29d', class: "onav__nav" }, this.scrollControls && (renderer.h("nano-icon-button", { key: '167bb7fa1450371ceab4dc8467e5debbd672101f', part: "scroll-button scroll-button-prev", class: {
329
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, renderer.h("div", { key: 'ba25b3551a2b6be4906d538cbaabf0ba8cb859f6', class: "onav__nav" }, this.scrollControls && (renderer.h("nano-icon-button", { key: '72ca6ae1ef0300fc91a95d347702bac94fec97ac', part: "scroll-button scroll-button-prev", class: {
330
330
  'onav__scroll-button': true,
331
331
  'onav__scroll-button--start': true,
332
332
  }, ref: (btn) => (this.startBtn = btn), onClick: () => this.handleBtnClick(false), label: "Click to scroll", iconName: this.orientation === 'horizontal'
333
333
  ? 'light/chevron-left'
334
- : 'light/chevron-up' })), renderer.h("div", { key: '8d8d7c305c0c89738d9660aff6b75ca029506ab7', part: "scroller", ref: (el) => (this.nav = el), class: "onav__scroller", onScroll: this.handleScroll, tabindex: this.hasScrollControls ? 0 : undefined, role: "region", "aria-label": this.label || undefined }, renderer.h("div", { key: 'fdd83d15c431538a2992887e58aed07e9393d411', part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, this.showIndicator && (renderer.h("div", { key: 'a1fba6d2c2e62e05b5a062c563f22c8e2b0222a4', part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" })), renderer.h("slot", { key: 'a6d602d437702479bd67d71bd5ac838d0ae02941', onSlotchange: this.slotChangeHandler }))), this.scrollControls && (renderer.h("nano-icon-button", { key: '30eae4cf86f7bead75734736b7192420255a64fc', part: "scroll-button scroll-button-next", class: {
334
+ : 'light/chevron-up' })), renderer.h("div", { key: '34893f5e055e8b44a78cb0706e974ee45261bdb8', part: "scroller", ref: (el) => (this.nav = el), class: "onav__scroller", onScroll: this.handleScroll, tabindex: this.hasScrollControls ? 0 : undefined, role: "region", "aria-label": this.label || undefined }, renderer.h("div", { key: '19ea27abc4878c5ab034e8ac0ee7085f19607a92', part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, this.showIndicator && (renderer.h("div", { key: '6cfdb83598367d649e6705fe709e89d8a8b505a6', part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" })), renderer.h("slot", { key: '43f3164d6c962f951ac672f79d48943c44e0514e', onSlotchange: this.slotChangeHandler }))), this.scrollControls && (renderer.h("nano-icon-button", { key: 'eaa09e8faa9343fca660d1f2e0a4b5366b7c6668', part: "scroll-button scroll-button-next", class: {
335
335
  'onav__scroll-button': true,
336
336
  'onav__scroll-button--end': true,
337
337
  }, ref: (btn) => (this.endBtn = btn), onClick: () => this.handleBtnClick(true), label: "Click to scroll", iconName: this.orientation === 'horizontal'
@@ -144,14 +144,14 @@ const MenuDrawer = class {
144
144
  }
145
145
  }
146
146
  render() {
147
- return (renderer.h(index.Host, { key: '39da1804ff710702cacbbadf0d8bb1d47c2d732b', class: {
147
+ return (renderer.h(index.Host, { key: '4ad542c84da0045168bcee1df744cb94c2a1196e', class: {
148
148
  open: this.open,
149
149
  'secondary-open': this.secondaryOpen,
150
150
  hide: this.hide,
151
151
  loading: this.isLoading,
152
152
  'has-global-nav': !!this.globalNav,
153
153
  'nano-menu-drawer': true,
154
- }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, renderer.h("div", { key: '90b0e1a831d49af7d81fe5ca2da977a697c08ee7', ref: (div) => (this.containerDiv = div), class: "container" }, renderer.h("div", { key: '37d6443befe1a93169e15a8becbefe974c8a8d1c', class: `content-wrap ${this.secondaryOpen ? 'secondary-open' : ''}` }, renderer.h("nav", { key: '7373abf5ec1ef567407abedc4b786ae3d51c9e93', ref: (div) => (this.contentDiv = div), class: "content" }, renderer.h("div", { key: '6f243a3de7b59072d43fac86c1d9c8acd62ec9d4', class: "head" }, renderer.h("button", { key: '6bf443330190314bf84583fc540cd2cb821f4f53', onClick: this.toggle, class: "collapse-btn" }, renderer.h("nano-icon", { key: '87025c0165c2e61bd51724ef15e8e1b110ded3e4', name: "light/arrow-right-to-line" }), renderer.h("span", { key: '6bfd0162936fc4ce0546194a227960ce9dd718a1', class: "visually-hidden" }, "collapse / expand menu"))), renderer.h("slot", { key: '07039af321133321dedceaaff462472bd22b4f12' }), this.slotCtrl.has('foot') && (renderer.h("div", { key: '252fe22caae99dc7ba850207a92f9390665bf3c0', class: "foot" }, renderer.h("slot", { key: 'f142bd0852c6fa01fcc3fba2de5528d1d96d03b7', name: "foot" }))))))));
154
+ }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, renderer.h("div", { key: 'b00cad9c3696b9c373e8d98fcd1f86c2c7b23aa2', ref: (div) => (this.containerDiv = div), class: "container" }, renderer.h("div", { key: 'a7746088c4458802d386f1c3d092e0a386fe4bd6', class: `content-wrap ${this.secondaryOpen ? 'secondary-open' : ''}` }, renderer.h("nav", { key: '993f550de47fc9410aa04bf98d9d076a6290637c', ref: (div) => (this.contentDiv = div), class: "content" }, renderer.h("div", { key: '3da3d0268df95d3080938e33f6e80d659dce1525', class: "head" }, renderer.h("button", { key: 'af104da5e67aaf06194317086daa6a5d4c008b6a', onClick: this.toggle, class: "collapse-btn" }, renderer.h("nano-icon", { key: 'b6e85eb6690440da7ccd893ccd9feb082d7a4552', name: "light/arrow-right-to-line" }), renderer.h("span", { key: '443c2afa504892d6de2a75a126e09c484540c677', class: "visually-hidden" }, "collapse / expand menu"))), renderer.h("slot", { key: '275ab007d04f3bde8269f0b4927aec81d1e47ccd' }), this.slotCtrl.has('foot') && (renderer.h("div", { key: 'c0eb043b9447264d48ca65d6e51c986c05ba10eb', class: "foot" }, renderer.h("slot", { key: 'bee82590231f9cfffc15c22ba0fafb313298e232', name: "foot" }))))))));
155
155
  }
156
156
  static get watchers() { return {
157
157
  "open": ["openChange"]
@@ -54,8 +54,8 @@ const Rating = class {
54
54
  this.handleShowHideElements();
55
55
  }
56
56
  render() {
57
- return (renderer.h(index.Host, { key: 'fbb60961810fe863ebebc729cbe4ecb955608c82', class: "nano-more-less" }, renderer.h("slot", { key: '6823f661e722640622d421c96244cd4a0eee1953', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
58
- renderer.h("div", { key: '134fadd869470a34cbd21b06d9cc2c85fc4e614c', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, renderer.h("slot", { key: '62544d207ac12171da4905e3006e26113b1b0189', name: "less" }, renderer.h("button", { key: '54badba3d736faf5b2b686ec989998a4319c5001', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
57
+ return (renderer.h(index.Host, { key: 'cdfbe00c8ce785ad89f711c8488b514dba8f3fb6', class: "nano-more-less" }, renderer.h("slot", { key: '8c17f3540c587129feff6905e518e01f4866b90d', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
58
+ renderer.h("div", { key: 'fd937a181108336345a5278b4e2e230feb13f891', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, renderer.h("slot", { key: 'bd7c0630e06de922c8ed48e5efc0db640594c776', name: "less" }, renderer.h("button", { key: '8c924f74b1b7939d17a9defd02ccb41ecd403257', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
59
59
  !this.noHideBtn ? (renderer.h("div", { style: { display: this.show ? 'contents' : 'none' }, class: "button-wrapper", part: "button-wrapper button-wrapper--more", onClick: (e) => this.handleClick(e) }, renderer.h("slot", { name: "more" }, renderer.h("button", { part: "button button--more" }, "Show less (-", this.children.length - this.maxToShow, ")")))) : (''),
60
60
  ]));
61
61
  }
@@ -195,20 +195,20 @@ const Rating = class {
195
195
  else {
196
196
  displayValue = this.isHovering ? this.hoverValue : this.value;
197
197
  }
198
- return (renderer.h(index.Host, { key: 'df7dc8a018d6d786e47134a2b9896a4cf2e87074', class: "nano-rating" }, renderer.h("label", { key: '7d9861c77bd39e075b1d9f75b24a5390efcbb42e', class: `rating-label${this.hideLabel ? ' visually-hidden' : ''}`, part: "label", htmlFor: this.name }, renderer.h("slot", { key: 'f2406ae04779c885c9968513d4e33d1b00ca8bde', name: "label" }, this.label)), renderer.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: () => {
198
+ return (renderer.h(index.Host, { key: 'bacb1319a8119e09eb7223396c0fd308d8f1bcf0', class: "nano-rating" }, renderer.h("label", { key: 'e96dd3dc5d27aad666c9273fb48a0dde49b05bcd', class: `rating-label${this.hideLabel ? ' visually-hidden' : ''}`, part: "label", htmlFor: this.name }, renderer.h("slot", { key: 'a50e1bb855e58080b964cde932b6e850be44cff5', name: "label" }, this.label)), renderer.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: () => {
199
199
  this.setFocus();
200
- } }), renderer.h("div", { key: '1089a70fecbf338efbf3b2f5a8624c2c3c5ce56c', class: "rating-wrap" }, renderer.h("div", { key: '6552b5f9466c1ec0df3e69d9543d693fa90829d4', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
200
+ } }), renderer.h("div", { key: 'a04e24da1bf879b551f31b3692e990e912739643', class: "rating-wrap" }, renderer.h("div", { key: '2686f949da578a7bcdbd3043f131edccc24f0f30', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
201
201
  rating: true,
202
202
  'rating--readonly': this.readonly,
203
203
  'rating--disabled': this.disabled,
204
- }, "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 }, renderer.h("span", { key: '1a741e52552009d9fe705aac22abbfa63b49e196', class: "rating__symbols rating__symbols--inactive" }, counter.map((index) => (renderer.h("span", { class: {
204
+ }, "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 }, renderer.h("span", { key: '890e0a8296994061f88cdfa42811ff61d1fbb2b2', class: "rating__symbols rating__symbols--inactive" }, counter.map((index) => (renderer.h("span", { class: {
205
205
  rating__symbol: true,
206
206
  'rating__symbol--hover': this.isHovering && Math.ceil(displayValue) === index + 1,
207
207
  },
208
208
  // Users can click the current value to clear the rating. When this happens, we set this.isHovering to
209
209
  // false to prevent the hover state from confusing them as they move the mouse out of the control. This
210
210
  // extra mouseenter will reinstate it if they happen to mouse over an adjacent symbol.
211
- onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), renderer.h("span", { key: 'd6368fb64cac9837f38bc00a06b63f2ef3ad3a74', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
211
+ onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), renderer.h("span", { key: 'fad1f1de103c1451d848a215c9c7b18084f172ce', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
212
212
  clip: this.clip(displayValue),
213
213
  } }, counter.map((index) => (renderer.h("span", { class: {
214
214
  rating__symbol: true,
@@ -228,13 +228,13 @@ const ResizeObserve = class {
228
228
  }
229
229
  }
230
230
  render() {
231
- return (renderer.h(index.Host, { key: 'e5019ccd47c55fddcffd4fa5ff151b0d1db5465f', class: {
231
+ return (renderer.h(index.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
- } }, renderer.h("slot", { key: '6117c97943bf1ca7368946dd17e356e2d866bbf3' }), !!this.notifyContentFit &&
237
+ } }, renderer.h("slot", { key: '363d69b62debe81c7d3d1790d4dead42538f7118' }), !!this.notifyContentFit &&
238
238
  (this.contentFitX !== null || this.contentFitY !== null) && [
239
239
  this.contentFitX ? (renderer.h("slot", { name: "content-fit-x" })) : (renderer.h("slot", { name: "content-nofit-x" })),
240
240
  this.contentFitY ? (renderer.h("slot", { name: "content-fit-y" })) : (renderer.h("slot", { name: "content-nofit-y" })),
@@ -39,7 +39,7 @@ const Slide = class {
39
39
  });
40
40
  }
41
41
  render() {
42
- return (renderer.h(index.Host, { key: 'a426e75ad5b607ac12e53db8183e08f89a10057a', class: "nano-slide" }, renderer.h("slot", { key: '792f06fe463ae49d981d7beceb68e4b7b49beff3' })));
42
+ return (renderer.h(index.Host, { key: '3d5f03684b14b0944b06802a26955b035ae20a9f', class: "nano-slide" }, renderer.h("slot", { key: '5115d41ae13fb0980ae656c106b9105b5f14703b' })));
43
43
  }
44
44
  static get watchers() { return {
45
45
  "ready": ["readyChange"]
@@ -2813,19 +2813,19 @@ const Slides = class {
2813
2813
  }
2814
2814
  async loadFlickityModules(opts) {
2815
2815
  if (!this.hasFullScreenModule && opts.fullscreen) {
2816
- await Promise.resolve().then(function () { return require('./fullscreen-Cz3eYnOp.js'); });
2816
+ await Promise.resolve().then(function () { return require('./fullscreen-Bk4jXSN0.js'); });
2817
2817
  this.hasFullScreenModule = true;
2818
2818
  }
2819
2819
  if (!this.hasLazyLoadModule && opts.lazyLoad) {
2820
- await Promise.resolve().then(function () { return require('./lazyload-DIFYejbf.js'); });
2820
+ await Promise.resolve().then(function () { return require('./lazyload-gQqOMvpr.js'); });
2821
2821
  this.hasLazyLoadModule = true;
2822
2822
  }
2823
2823
  if (!this.hasDotsModule && opts.pageDots) {
2824
- await Promise.resolve().then(function () { return require('./page-dots-Clb2QknR.js'); });
2824
+ await Promise.resolve().then(function () { return require('./page-dots-BLPta5z5.js'); });
2825
2825
  this.hasDotsModule = true;
2826
2826
  }
2827
2827
  if (!this.hasFadeModule && opts.fade) {
2828
- await Promise.resolve().then(function () { return require('./fade-BzBFJiQK.js'); });
2828
+ await Promise.resolve().then(function () { return require('./fade-DBuNbJEw.js'); });
2829
2829
  this.hasFadeModule = true;
2830
2830
  }
2831
2831
  }
@@ -2960,15 +2960,15 @@ const Slides = class {
2960
2960
  this.destroyflickity();
2961
2961
  }
2962
2962
  render() {
2963
- return (renderer.h(index.Host, { key: '25fe656149129885383046b7f2cb81ecc965db13', class: "nano-slides" }, renderer.h("div", { key: '84d9f878b91454a12311ffc5203d49a243fb9c66', class: {
2963
+ return (renderer.h(index.Host, { key: '905eab94c6853e11f8103ade8a2711515a957a88', class: "nano-slides" }, renderer.h("div", { key: 'a6ca3bf953dc8ad8643b5f196bbbb4cad5696739', class: {
2964
2964
  slideshow: true,
2965
2965
  ready: this.ready,
2966
2966
  'not-ready': !this.ready,
2967
- }, part: "base" }, renderer.h("div", { key: 'b975dcadc6d7b7b5b7e915980527eba3bf740165', ref: (div) => (this.flickityEl = div), class: {
2967
+ }, part: "base" }, renderer.h("div", { key: 'ebf38a42c8c0ee4a192e2c10c7e882f4953cf707', ref: (div) => (this.flickityEl = div), class: {
2968
2968
  'flickity-container': true,
2969
2969
  'slides-ready': this.slidesReady,
2970
2970
  'slides-not-ready': !this.slidesReady,
2971
- }, part: "slide-container" }, renderer.h("slot", { key: 'a9b13e8e0c8808617c694953e3fef74a57d719a8' })), renderer.h("div", { key: '9caacd27973cc67740145365ab7a10c75ab44219', class: "ui-extras" }, renderer.h("slot", { key: 'ad80afb5ddbcc54b10310a4e115403fee8dda215', name: "ui" })))));
2971
+ }, part: "slide-container" }, renderer.h("slot", { key: 'ac8e76e6ee701ef38a73a1f753cbf7ad30ef9c59' })), renderer.h("div", { key: 'e74cad0bd4ec8e2e15308b26550a697ff3dd4dcb', class: "ui-extras" }, renderer.h("slot", { key: '8b7b6cfb6ba0e531a8c7707f5f65cba334e8eba6', name: "ui" })))));
2972
2972
  }
2973
2973
  static get watchers() { return {
2974
2974
  "options": ["optionsChanged"],
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var nanoSlides_entry = require('./nano-slides-C576PTmo.js');
6
+ var nanoSlides_entry = require('./nano-slides-C73bSG0h.js');
7
7
  require('./index-DGttnXif.js');
8
8
  require('./renderer-B9M1kXq8.js');
9
9
 
@@ -728,7 +728,7 @@ const Sortable = class {
728
728
  }
729
729
  }
730
730
  render() {
731
- return (renderer.h(index.Host, { key: 'd6d4f0ad6adf2a3f5e1d36b757e116b58e5b55b4', class: "nano-sortable" }, renderer.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) => (renderer.h("div", null, str)))), renderer.h("slot", { key: '079bc29ba8c2f26163b7e3a23f0107f78db7b3fb' })));
731
+ return (renderer.h(index.Host, { key: 'f9329f87a60f9b77ad917b9bbf0aa526f4779e82', class: "nano-sortable" }, renderer.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) => (renderer.h("div", null, str)))), renderer.h("slot", { key: 'a377bb437eb590b3f77d10f105b2fa09e0d21cbd' })));
732
732
  }
733
733
  static get watchers() { return {
734
734
  "itemSelector": ["handleItemSelectorChange"],