@nanoporetech-digital/components 8.1.1 → 8.2.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 (143) hide show
  1. package/dist/cjs/{fade-DiBAr_-0.js → fade-Cvsqaxtn.js} +1 -1
  2. package/dist/cjs/{fullscreen-DiSrws4D.js → fullscreen-BtSF9KqT.js} +1 -1
  3. package/dist/cjs/index-Bp8uD6Gl.js +4 -0
  4. package/dist/cjs/{lazyload-CilBX2zO.js → lazyload-DxM1Zo3E.js} +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/nano-avatar_5.cjs.entry.js +7 -7
  7. package/dist/cjs/nano-components.cjs.js +1 -1
  8. package/dist/cjs/nano-date-picker_2.cjs.entry.js +29 -26
  9. package/dist/cjs/nano-icon_3.cjs.entry.js +3 -3
  10. package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-increment.cjs.entry.js +81 -0
  12. package/dist/cjs/nano-intersection-observe.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-masked-overflow.cjs.entry.js +3 -3
  14. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-more-less.cjs.entry.js +2 -2
  16. package/dist/cjs/nano-rating.cjs.entry.js +4 -4
  17. package/dist/cjs/nano-resize-observe.cjs.entry.js +2 -2
  18. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  19. package/dist/cjs/{nano-slides-CFlLOF1V.js → nano-slides-DLbZhf2H.js} +7 -7
  20. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  21. package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
  23. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  24. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  26. package/dist/cjs/{page-dots-B69b5Pqb.js → page-dots-DpnNe0bi.js} +1 -1
  27. package/dist/collection/collection-manifest.json +1 -0
  28. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  29. package/dist/collection/components/icon-button/icon-button.css +1 -1
  30. package/dist/collection/components/in-page-nav/in-page-nav.js +2 -2
  31. package/dist/collection/components/increment/increment.css +102 -0
  32. package/dist/collection/components/increment/increment.js +97 -0
  33. package/dist/collection/components/input/input.js +30 -27
  34. package/dist/collection/components/intersection-observe/intersection-observe.js +1 -1
  35. package/dist/collection/components/masked-overflow/masked-overflow.js +3 -3
  36. package/dist/collection/components/menu-drawer/menu-drawer.js +2 -2
  37. package/dist/collection/components/more-less/more-less.js +2 -2
  38. package/dist/collection/components/rating/rating.js +4 -4
  39. package/dist/collection/components/resize-observe/resize-observe.js +2 -2
  40. package/dist/collection/components/select/select.js +7 -7
  41. package/dist/collection/components/slides/slide.js +1 -1
  42. package/dist/collection/components/slides/slides.js +3 -3
  43. package/dist/collection/components/sortable/sortable.js +1 -1
  44. package/dist/collection/components/sticker/sticker.js +2 -2
  45. package/dist/collection/components/table/table.js +2 -2
  46. package/dist/collection/components/tabs/tab-content.js +2 -2
  47. package/dist/collection/components/tabs/tab.js +2 -2
  48. package/dist/collection/components/tooltip/tooltip.js +2 -2
  49. package/dist/components/icon-button.js +1 -1
  50. package/dist/components/input.js +39 -36
  51. package/dist/components/masked-overflow.js +3 -3
  52. package/dist/components/nano-in-page-nav.js +1 -1
  53. package/dist/components/nano-increment.d.ts +11 -0
  54. package/dist/components/nano-increment.js +119 -0
  55. package/dist/components/nano-intersection-observe.js +1 -1
  56. package/dist/components/nano-menu-drawer.js +2 -2
  57. package/dist/components/nano-more-less.js +2 -2
  58. package/dist/components/nano-rating.js +4 -4
  59. package/dist/components/nano-slide.js +1 -1
  60. package/dist/components/nano-sortable.js +1 -1
  61. package/dist/components/nano-tab-content.js +2 -2
  62. package/dist/components/nano-tab.js +2 -2
  63. package/dist/components/nano-table.js +2 -2
  64. package/dist/components/resize-observe.js +2 -2
  65. package/dist/components/select.js +7 -7
  66. package/dist/components/slides.js +3 -3
  67. package/dist/components/sticker.js +2 -2
  68. package/dist/components/tooltip.js +2 -2
  69. package/dist/esm/{fade-CJJNY8cW.js → fade-M1mjf4zm.js} +1 -1
  70. package/dist/esm/{fullscreen-kmgJDkI-.js → fullscreen-BJlrN4_5.js} +1 -1
  71. package/dist/esm/index-DgO0qeQ9.js +4 -0
  72. package/dist/esm/{lazyload-DqTFDE4y.js → lazyload-B6FI3nbb.js} +1 -1
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/esm/nano-avatar_5.entry.js +7 -7
  75. package/dist/esm/nano-components.js +1 -1
  76. package/dist/esm/nano-date-picker_2.entry.js +29 -26
  77. package/dist/esm/nano-icon_3.entry.js +3 -3
  78. package/dist/esm/nano-in-page-nav.entry.js +1 -1
  79. package/dist/esm/nano-increment.entry.js +79 -0
  80. package/dist/esm/nano-intersection-observe.entry.js +1 -1
  81. package/dist/esm/nano-masked-overflow.entry.js +3 -3
  82. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  83. package/dist/esm/nano-more-less.entry.js +2 -2
  84. package/dist/esm/nano-rating.entry.js +4 -4
  85. package/dist/esm/nano-resize-observe.entry.js +2 -2
  86. package/dist/esm/nano-slide.entry.js +1 -1
  87. package/dist/esm/{nano-slides-Bdq8L4lE.js → nano-slides-CI0F1FDY.js} +7 -7
  88. package/dist/esm/nano-slides.entry.js +1 -1
  89. package/dist/esm/nano-sortable.entry.js +1 -1
  90. package/dist/esm/nano-sticker.entry.js +2 -2
  91. package/dist/esm/nano-tab-content.entry.js +2 -2
  92. package/dist/esm/nano-tab.entry.js +2 -2
  93. package/dist/esm/nano-table.entry.js +2 -2
  94. package/dist/esm/{page-dots-BBtKwJtf.js → page-dots-BsFo0sLb.js} +1 -1
  95. package/dist/nano-components/{fade-CJJNY8cW.js → fade-M1mjf4zm.js} +1 -1
  96. package/dist/nano-components/{fullscreen-kmgJDkI-.js → fullscreen-BJlrN4_5.js} +1 -1
  97. package/dist/nano-components/{lazyload-DqTFDE4y.js → lazyload-B6FI3nbb.js} +1 -1
  98. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  99. package/dist/nano-components/nano-components.css +43 -0
  100. package/dist/nano-components/nano-components.esm.js +1 -1
  101. package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
  102. package/dist/nano-components/nano-icon_3.entry.js +1 -1
  103. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  104. package/dist/nano-components/nano-increment.entry.js +4 -0
  105. package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
  106. package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
  107. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  108. package/dist/nano-components/nano-more-less.entry.js +1 -1
  109. package/dist/nano-components/nano-rating.entry.js +1 -1
  110. package/dist/nano-components/nano-resize-observe.entry.js +1 -1
  111. package/dist/nano-components/nano-slide.entry.js +1 -1
  112. package/dist/nano-components/{nano-slides-Bdq8L4lE.js → nano-slides-CI0F1FDY.js} +2 -2
  113. package/dist/nano-components/nano-slides.entry.js +1 -1
  114. package/dist/nano-components/nano-sortable.entry.js +1 -1
  115. package/dist/nano-components/nano-sticker.entry.js +1 -1
  116. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  117. package/dist/nano-components/nano-tab.entry.js +1 -1
  118. package/dist/nano-components/nano-table.entry.js +1 -1
  119. package/dist/nano-components/{page-dots-BBtKwJtf.js → page-dots-BsFo0sLb.js} +1 -1
  120. package/dist/style/components.css +1 -1
  121. package/dist/style/components.css.map +1 -1
  122. package/dist/style/nano.css +1 -1
  123. package/dist/style/nano.css.map +1 -1
  124. package/dist/types/components/in-page-nav/in-page-nav.d.ts +1 -1
  125. package/dist/types/components/increment/increment.d.ts +19 -0
  126. package/dist/types/components/input/input.d.ts +6 -2
  127. package/dist/types/components.d.ts +33 -4
  128. package/dist/wdio.conf.js +2 -2
  129. package/docs-json.json +46 -4
  130. package/docs-vscode.json +10 -2
  131. package/hydrate/index.js +157 -65
  132. package/hydrate/index.mjs +157 -65
  133. package/package.json +2 -2
  134. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
  135. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
  136. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
  137. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
  138. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
  139. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
  140. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
  141. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
  142. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  143. /package/dist/types/builds/{W1hp42tj → bsFinusk}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -0,0 +1,102 @@
1
+ :host,
2
+ *,
3
+ *::before,
4
+ *::after {
5
+ box-sizing: border-box;
6
+ }
7
+ [hidden] {
8
+ display: none !important;
9
+ }
10
+ @media (prefers-reduced-motion: reduce) {
11
+ :host,
12
+ *,
13
+ *::before,
14
+ *::after {
15
+ animation-duration: 0.01ms !important;
16
+ animation-iteration-count: 1 !important;
17
+ transition-duration: 0.01ms !important;
18
+ scroll-behavior: auto !important;
19
+ }
20
+ }:host,
21
+ *,
22
+ *::before,
23
+ *::after {
24
+ box-sizing: border-box;
25
+ }
26
+ [hidden] {
27
+ display: none !important;
28
+ }
29
+ @media (prefers-reduced-motion: reduce) {
30
+ :host,
31
+ *,
32
+ *::before,
33
+ *::after {
34
+ animation-duration: 0.01ms !important;
35
+ animation-iteration-count: 1 !important;
36
+ transition-duration: 0.01ms !important;
37
+ scroll-behavior: auto !important;
38
+ }
39
+ }:host {
40
+ display: inline-block;
41
+ }
42
+
43
+ .root {
44
+ display: grid;
45
+ grid-template-columns: min-content auto 1fr;
46
+ grid-template-rows: max-content max-content;
47
+ align-items: stretch;
48
+ }
49
+
50
+ ::slotted(*) {
51
+ text-align: center;
52
+ }
53
+
54
+ nano-icon-button {
55
+ background: var(--nano-color-base-0);
56
+ color: var(--nano-color-primary-1000);
57
+ display: flex;
58
+ border-radius: var(--nano-border-radius-pill);
59
+ position: relative;
60
+ z-index: 1;
61
+ inline-size: fit-content;
62
+ block-size: 100%;
63
+ }
64
+ nano-icon-button:hover {
65
+ background: var(--nano-color-primary-100);
66
+ }
67
+ nano-icon-button:active {
68
+ background: var(--nano-color-primary-300);
69
+ }
70
+ nano-icon-button::part(base) {
71
+ border: 1px solid var(--nano-color-neutral-300);
72
+ }
73
+ nano-icon-button::part(base):focus-visible {
74
+ outline: var(--nano-focus-ring-color) solid 3px;
75
+ outline-offset: -2px;
76
+ }
77
+
78
+ .minus {
79
+ grid-column: 1;
80
+ grid-row: 1;
81
+ }
82
+ .minus nano-icon-button {
83
+ --padding: 0.4375em 0.625em 0.4375em 1.125em;
84
+ border-start-end-radius: 0;
85
+ border-end-end-radius: 0;
86
+ }
87
+ .minus nano-icon-button::part(base) {
88
+ border-inline-end: none;
89
+ }
90
+
91
+ .plus {
92
+ grid-column: 3;
93
+ grid-row: 1;
94
+ }
95
+ .plus nano-icon-button {
96
+ --padding: 0.4375em 1.125em 0.4375em 0.625em;
97
+ border-start-start-radius: 0;
98
+ border-end-start-radius: 0;
99
+ }
100
+ .plus nano-icon-button::part(base) {
101
+ border-inline-start: none;
102
+ }
@@ -0,0 +1,97 @@
1
+ /*!
2
+ * Custom elements for Nanopore-Digital Web applications
3
+ */
4
+ import { Host, } from "@stencil/core";
5
+ import { h } from "../../utils/renderer";
6
+ /**
7
+ * Increments and decrements a value using an [input](/components/input).
8
+ *
9
+ * @status new
10
+ * @version 8.2.0
11
+ */
12
+ export class NanoIncrement {
13
+ host;
14
+ inputElement;
15
+ ignoreInputChange = false;
16
+ inputElementChanged(_newValue, oldValue) {
17
+ if (oldValue) {
18
+ oldValue.removeEventListener('nanoChange', this.inputChangeHandler);
19
+ }
20
+ if (this.inputElement) {
21
+ this.inputElement.label = this.inputElement.label || 'Increment value';
22
+ this.inputElement.hideLabel = true;
23
+ this.inputElement.type = 'number';
24
+ this.inputElement.max = this.inputElement.max || '10';
25
+ this.inputElement.min = this.inputElement.min || '0';
26
+ this.inputElement.step = this.inputElement.step || '1';
27
+ this.inputElement.value = this.inputElement.value || '0';
28
+ this.inputElement.addEventListener('nanoChange', this.inputChangeHandler);
29
+ }
30
+ }
31
+ inputChangeHandler = () => {
32
+ if (!this.ignoreInputChange) {
33
+ this.ignoreInputChange = true;
34
+ let value = Number(this.inputElement.value);
35
+ value = isNaN(value) ? 0 : value;
36
+ value = Math.max(value, parseFloat(this.inputElement.min) || 0);
37
+ value = Math.min(value, parseFloat(this.inputElement.max) || Infinity);
38
+ this.inputElement.value = value.toString();
39
+ requestAnimationFrame(() => {
40
+ this.ignoreInputChange = false;
41
+ });
42
+ }
43
+ };
44
+ handleSlotChange = () => {
45
+ this.inputElement = this.host.querySelector('nano-input');
46
+ };
47
+ handleMinus = () => {
48
+ if (this.inputElement) {
49
+ const currentValue = parseFloat(this.inputElement.value) || 0;
50
+ const step = parseFloat(this.inputElement.step) || 1;
51
+ const newValue = Math.max(currentValue - step, parseFloat(this.inputElement.min) || 0);
52
+ this.ignoreInputChange = true;
53
+ this.inputElement.value = newValue.toString();
54
+ this.ignoreInputChange = false;
55
+ }
56
+ };
57
+ handlePlus = () => {
58
+ if (this.inputElement) {
59
+ const currentValue = parseFloat(this.inputElement.value) || 0;
60
+ const step = parseFloat(this.inputElement.step) || 1;
61
+ const newValue = Math.min(currentValue + step, parseFloat(this.inputElement.max) || Infinity);
62
+ this.ignoreInputChange = true;
63
+ this.inputElement.value = newValue.toString();
64
+ this.ignoreInputChange = false;
65
+ }
66
+ };
67
+ componentWillLoad() {
68
+ this.handleSlotChange();
69
+ }
70
+ render() {
71
+ 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 })))));
72
+ }
73
+ static get is() { return "nano-increment"; }
74
+ static get encapsulation() { return "shadow"; }
75
+ static get originalStyleUrls() {
76
+ return {
77
+ "$": ["increment.scss"]
78
+ };
79
+ }
80
+ static get styleUrls() {
81
+ return {
82
+ "$": ["increment.css"]
83
+ };
84
+ }
85
+ static get states() {
86
+ return {
87
+ "inputElement": {}
88
+ };
89
+ }
90
+ static get elementRef() { return "host"; }
91
+ static get watchers() {
92
+ return [{
93
+ "propName": "inputElement",
94
+ "methodName": "inputElementChanged"
95
+ }];
96
+ }
97
+ }
@@ -33,6 +33,7 @@ export class Input {
33
33
  pickerDropdown;
34
34
  picker;
35
35
  pickerCloseBtn;
36
+ shouldValidate = false;
36
37
  // we don't want these rendered eles decorated with @State
37
38
  // because that will cause re-renders. User get/set to set datalist options
38
39
  _nativeInputWrap;
@@ -211,7 +212,9 @@ export class Input {
211
212
  */
212
213
  step;
213
214
  /**
214
- * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
215
+ * The initial size of the control. This value is in pixels unless the value of the type attribute
216
+ * is `"text"` or `"password"`, in which case it is an integer number of characters.
217
+ * This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
215
218
  */
216
219
  size;
217
220
  /**
@@ -245,10 +248,7 @@ export class Input {
245
248
  this.nativeInput.setCustomValidity('');
246
249
  }
247
250
  }
248
- requestAnimationFrame(() => {
249
- if (this.validateOn === 'dirty')
250
- this.validate();
251
- });
251
+ this.shouldValidate = true;
252
252
  }
253
253
  /** Represents the value of the input or NaN if numeric conversion is impossible */
254
254
  get valueAsNumber() {
@@ -266,13 +266,10 @@ export class Input {
266
266
  * Whether to show a character count / remaining count when using the `maxlength` attribute.
267
267
  */
268
268
  showCharCount = false;
269
- shouldValidate() {
269
+ handleValidatePropChange() {
270
270
  if (!this.hasRendered)
271
271
  return;
272
- requestAnimationFrame(() => {
273
- if (this.validateOn === 'dirty')
274
- this.validate();
275
- });
272
+ this.shouldValidate = true;
276
273
  }
277
274
  ///// TYPE SPECIFIC PROPS /////
278
275
  /**
@@ -427,7 +424,7 @@ export class Input {
427
424
  validate = (ev) => {
428
425
  if (this.validateOn === 'submitThenDirty')
429
426
  this.validateOn = 'dirty';
430
- if (!this.nativeInput.validity.valid) {
427
+ if (!this.nativeInput.validity?.valid) {
431
428
  if (this.showInlineError) {
432
429
  if (ev)
433
430
  ev.preventDefault();
@@ -542,6 +539,12 @@ export class Input {
542
539
  componentWillLoad() {
543
540
  this.processSlottedContent();
544
541
  }
542
+ componentDidRender() {
543
+ if (this.shouldValidate) {
544
+ this.validate();
545
+ this.shouldValidate = false;
546
+ }
547
+ }
545
548
  render() {
546
549
  const value = this.getValue();
547
550
  const labelId = this.inputId + '-lbl';
@@ -580,18 +583,18 @@ export class Input {
580
583
  disabled,
581
584
  clearControl: this.clearable,
582
585
  }))(this);
583
- return (h(Host, { key: '16dd92ebcfae29b11e9edf2d889a4c200f5a3b8f', "aria-disabled": this.disabled ? 'true' : null, class: {
586
+ return (h(Host, { key: '636d7624bcfe136a0e93b55cf9fc38e272f7aed6', "aria-disabled": this.disabled ? 'true' : null, class: {
584
587
  'has-value': this.hasValue(),
585
588
  'has-focus': this.hasFocus,
586
589
  'is-invalid': this._invalid === true,
587
590
  'is-valid': this._invalid === false,
588
591
  'nano-input': true,
589
- } }, h("div", { key: '67bb63b071a14d064aaa9d5686f27fc42adc8919', style: { width: '100%' } }, h(FormControlWrap, { key: '89e15db88ec24f06948bcb8b193bbf84de5ff168', ...wrapOptions, class: {
592
+ } }, h("div", { key: '942db1636f7d08dd581359b66df66ebf080d23ae', style: { width: '100%' } }, h(FormControlWrap, { key: 'd944b897545398b51ab0a76e1f8d62c57cd85843', ...wrapOptions, class: {
590
593
  'has-helper': this.hasHelperSlot,
591
594
  'has-error': !!this.errorMessage &&
592
595
  this.showInlineError &&
593
596
  this._invalid === true,
594
- } }, h(FormControl, { key: 'd23e96a2638e5d12fac93e125fbb201cf866c02c', ...controlOptions, onClearText: this.clearTextInput, control: this.el, ref: (el) => (this.nativeInputWrap = el), showInlineError: this.showInlineError, endSlot: this.showPicker &&
597
+ } }, h(FormControl, { key: 'efd29f841ff0724228fc47754a5aad8d82f88d49', ...controlOptions, onClearText: this.clearTextInput, control: this.el, ref: (el) => (this.nativeInputWrap = el), showInlineError: this.showInlineError, endSlot: this.showPicker &&
595
598
  this.type === 'date' &&
596
599
  !this.readonly &&
597
600
  !this.disabled && [
@@ -606,10 +609,10 @@ export class Input {
606
609
  this.value = e.detail.value;
607
610
  this.pickerDropdown?.hide();
608
611
  }, min: this.min, max: this.max, "is-modal": true, selectedDate: this.value || this.initialPickerDate || undefined }))),
609
- ] }, this.type !== 'textarea' && (h("input", { key: '2633a8fc4d57349beb0e53295fd1f424fa3db428', id: this.inputId, class: "input__native-ctrl", ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalise, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onClick: (e) => e.preventDefault(), onChange: this.onInput, onFocus: this.onFocus, onBlur: this.handleBlur, onKeyDown: this.onKeydown, onInvalid: this.validate })), this.type === 'textarea' && (h("textarea", { key: 'd9de96539d7cee13171b7ac3b6dcef2222071693', rows: this.floatLabel ? 1 : this.rows, id: this.inputId, class: {
612
+ ] }, this.type !== 'textarea' && (h("input", { key: 'ce5547777de11926717b27712f7d687171d0dde7', id: this.inputId, class: "input__native-ctrl", ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalise, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onClick: (e) => e.preventDefault(), onChange: this.onInput, onFocus: this.onFocus, onBlur: this.handleBlur, onKeyDown: this.onKeydown, onInvalid: this.validate })), this.type === 'textarea' && (h("textarea", { key: 'e1dc2377200cdccda85cdbb6cda08a49d8459c1e', rows: this.floatLabel ? 1 : this.rows, id: this.inputId, class: {
610
613
  'input__native-ctrl': true,
611
614
  input__resizable: this.resize === 'true',
612
- }, ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, autoCapitalize: this.autocapitalise, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown, onInvalid: this.validate, onBlur: this.handleBlur })))), h("slot", { key: '1df88e79279640f50480f8f9eeffcd0cea038913' }))));
615
+ }, ref: (input) => (this.nativeInput = input), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, autoCapitalize: this.autocapitalise, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, form: this.form, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, value: value, onInput: this.onInput, onChange: this.onInput, onFocus: this.onFocus, onKeyDown: this.onKeydown, onInvalid: this.validate, onBlur: this.handleBlur })))), h("slot", { key: '564511c369dc13eb85cbf7e1c48b5d5fbbea8679' }))));
613
616
  }
614
617
  static get is() { return "nano-input"; }
615
618
  static get encapsulation() { return "scoped"; }
@@ -1231,7 +1234,7 @@ export class Input {
1231
1234
  "optional": true,
1232
1235
  "docs": {
1233
1236
  "tags": [],
1234
- "text": "The initial size of the control. This value is in pixels unless the value of the type attribute is `\"text\"` or `\"password\"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored."
1237
+ "text": "The initial size of the control. This value is in pixels unless the value of the type attribute\nis `\"text\"` or `\"password\"`, in which case it is an integer number of characters.\nThis attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored."
1235
1238
  },
1236
1239
  "getter": false,
1237
1240
  "setter": false,
@@ -1799,34 +1802,34 @@ export class Input {
1799
1802
  "methodName": "valueChanged"
1800
1803
  }, {
1801
1804
  "propName": "minlength",
1802
- "methodName": "shouldValidate"
1805
+ "methodName": "handleValidatePropChange"
1803
1806
  }, {
1804
1807
  "propName": "maxlength",
1805
- "methodName": "shouldValidate"
1808
+ "methodName": "handleValidatePropChange"
1806
1809
  }, {
1807
1810
  "propName": "min",
1808
- "methodName": "shouldValidate"
1811
+ "methodName": "handleValidatePropChange"
1809
1812
  }, {
1810
1813
  "propName": "max",
1811
- "methodName": "shouldValidate"
1814
+ "methodName": "handleValidatePropChange"
1812
1815
  }, {
1813
1816
  "propName": "required",
1814
- "methodName": "shouldValidate"
1817
+ "methodName": "handleValidatePropChange"
1815
1818
  }, {
1816
1819
  "propName": "disabled",
1817
- "methodName": "shouldValidate"
1820
+ "methodName": "handleValidatePropChange"
1818
1821
  }, {
1819
1822
  "propName": "readonly",
1820
- "methodName": "shouldValidate"
1823
+ "methodName": "handleValidatePropChange"
1821
1824
  }, {
1822
1825
  "propName": "pattern",
1823
- "methodName": "shouldValidate"
1826
+ "methodName": "handleValidatePropChange"
1824
1827
  }, {
1825
1828
  "propName": "inputmode",
1826
- "methodName": "shouldValidate"
1829
+ "methodName": "handleValidatePropChange"
1827
1830
  }, {
1828
1831
  "propName": "type",
1829
- "methodName": "shouldValidate"
1832
+ "methodName": "handleValidatePropChange"
1830
1833
  }];
1831
1834
  }
1832
1835
  static get listeners() {
@@ -143,7 +143,7 @@ export class IntersectionObserve {
143
143
  this.removeIO();
144
144
  }
145
145
  render() {
146
- return (h(Host, { key: 'fadea9249456081d56c6c925c031446aad97fac4', class: "nano-intersection-observe" }, h("slot", { key: '95226a878c5f66dae5d7483404c8b0acd7ca5c44', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
146
+ return (h(Host, { key: 'be24c77cb033ff3fdb33b37cd8414edd99785795', class: "nano-intersection-observe" }, h("slot", { key: 'e1cf1e9175a9249c6f6f5b202d27a3f9bf937bac', ref: (slot) => (this.defaultSlot = slot), onSlotchange: this.handleSlotChange })));
147
147
  }
148
148
  static get is() { return "nano-intersection-observe"; }
149
149
  static get encapsulation() { return "shadow"; }
@@ -327,7 +327,7 @@ export class MaskedOverflow {
327
327
  }
328
328
  }
329
329
  render() {
330
- return (h(Host, { key: '863c3de5a680e075066e21ce42e76c299bb1fd68', dir: this.isRtl ? 'rtl' : null, class: "nano-masked-overflow", "has-scroll-controls": this.hasScrollControls }, h("div", { key: 'c0a3c54c8149762e4eec11cb8a4c112cd0faff29', part: "base", class: {
330
+ return (h(Host, { key: '5e3818d9ff886b75194db22fd7f42af484fe17d7', dir: this.isRtl ? 'rtl' : null, class: "nano-masked-overflow", "has-scroll-controls": this.hasScrollControls }, h("div", { key: '991fa196ffc2eb42c907519bb8187f15c9868161', part: "base", class: {
331
331
  onav: true,
332
332
  [`onav--${this.orientation}`]: true,
333
333
  'onav--has-scroll-controls': this.hasScrollControls,
@@ -336,12 +336,12 @@ export class MaskedOverflow {
336
336
  'onav--no-transitions': this.instantReCalc,
337
337
  'onnav--has-indicator': this.showIndicator,
338
338
  'onnav--hide-scrollbars': this.hideScrollbars && this.hideScrollbars !== 'false',
339
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: '96b342204d45cb3f602ed22c1744cc4ee1046b9f', class: "onav__nav" }, this.scrollControls && (h("nano-icon-button", { key: 'cdb6b42a35dcc623c01d613a1a80a2884f79c52a', part: "scroll-button scroll-button-prev", class: {
339
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'e6958d0060691af605afa2c6fd53194b4284f29d', class: "onav__nav" }, this.scrollControls && (h("nano-icon-button", { key: '167bb7fa1450371ceab4dc8467e5debbd672101f', part: "scroll-button scroll-button-prev", class: {
340
340
  'onav__scroll-button': true,
341
341
  'onav__scroll-button--start': true,
342
342
  }, ref: (btn) => (this.startBtn = btn), onClick: () => this.handleBtnClick(false), label: "Click to scroll", iconName: this.orientation === 'horizontal'
343
343
  ? 'light/chevron-left'
344
- : 'light/chevron-up' })), h("div", { key: 'bb7148f21545d1b2271971f8a3b2e2d0b6754469', 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 }, h("div", { key: '910e8182d8991fb34ec51991cd006b72372bb6df', part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, this.showIndicator && (h("div", { key: 'aa7689c07f6fdad49e06a8e642ded946e818797b', part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" })), h("slot", { key: '605140127b6168f7a3376dbdcd51b328d267d3ac', onSlotchange: this.slotChangeHandler }))), this.scrollControls && (h("nano-icon-button", { key: 'e0545529e2d704964ec0c43ce3fa113bc9ce623e', part: "scroll-button scroll-button-next", class: {
344
+ : 'light/chevron-up' })), 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 }, h("div", { key: 'fdd83d15c431538a2992887e58aed07e9393d411', part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, this.showIndicator && (h("div", { key: 'a1fba6d2c2e62e05b5a062c563f22c8e2b0222a4', part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" })), h("slot", { key: 'a6d602d437702479bd67d71bd5ac838d0ae02941', onSlotchange: this.slotChangeHandler }))), this.scrollControls && (h("nano-icon-button", { key: '30eae4cf86f7bead75734736b7192420255a64fc', part: "scroll-button scroll-button-next", class: {
345
345
  'onav__scroll-button': true,
346
346
  'onav__scroll-button--end': true,
347
347
  }, ref: (btn) => (this.endBtn = btn), onClick: () => this.handleBtnClick(true), label: "Click to scroll", iconName: this.orientation === 'horizontal'
@@ -145,13 +145,13 @@ export class MenuDrawer {
145
145
  }
146
146
  }
147
147
  render() {
148
- return (h(Host, { key: '89b031c7018b39c700e567da7be78c32640e3ebb', class: {
148
+ return (h(Host, { key: 'dd1bf1e9e1ac1205955cae2e5d35a331e4f0bd93', class: {
149
149
  open: this.open,
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 }, h("div", { key: '1d5e20b713018df3ffba0522fcdcc3aa8464fbcb', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: '495e7c951a87dfa07542b00c52a02dc04c67d914', class: "content-wrap" }, h("nav", { key: '8d358809689ff0dfc5a64f363fe461fcc1d2184a', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: 'e30b5d1e7e6888a6989141f038d97cf14df77b88', class: "head" }, h("button", { key: '586cedfc3daab88447b0c8f8756b3eebd99b0ea0', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: '3f8b68ed1ac88478c75925108fded997ce0a5334', name: "light/arrow-right-to-line" }), h("span", { key: 'd9babd8d5f2c5930cd95e842e8b2b35d78f94500', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: 'b13f35ac984a7817b1cc633b1e86de4c0e6dfccc' }), this.slotCtrl.has('foot') && (h("div", { key: '4844932d4e9ab109c60ac5782be125b8acc01d19', class: "foot" }, h("slot", { key: 'a3f98a1a614ae6d8bb41ddac062c16f410ab1411', name: "foot" }))))))));
154
+ }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: 'dce4ceabb7095839407fab9bd02b866465408280', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: '1593061407c3f9b71a361b85d230625e9fb32a90', class: "content-wrap" }, h("nav", { key: 'c0f8d1bfd80fbebdc25af588bcd3cca7700a9f16', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: 'cd3365f2e892fb6a0937bfa60f325d8e6b960b46', class: "head" }, h("button", { key: '25adf7263cffa74b5c6a0f043bafdf4a955609a1', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: 'fb33ef8b4d05214079543192bbf7afe5d12ceb61', name: "light/arrow-right-to-line" }), h("span", { key: '5da28bdc3d935c4d79db287f07365a026479b177', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: '30c573abc66a4e9ba19aedafab09f3118c54df4a' }), this.slotCtrl.has('foot') && (h("div", { key: '15c4d2f3dbfa2f3fc91118c26d363acf2b2d0907', class: "foot" }, h("slot", { key: 'feb931841bfdf4602769bc421df2ad7c4427ee8d', name: "foot" }))))))));
155
155
  }
156
156
  static get is() { return "nano-menu-drawer"; }
157
157
  static get encapsulation() { return "shadow"; }
@@ -65,8 +65,8 @@ export class Rating {
65
65
  this.handleShowHideElements();
66
66
  }
67
67
  render() {
68
- return (h(Host, { key: '5ccbcf0f959cfb7a8bb7129fc51abe50bd7a17df', class: "nano-more-less" }, h("slot", { key: '27de5552101abfb3d429dab53644cda08f7ae79a', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
69
- h("div", { key: 'c5993ec5fabf6fb7df410b755f342e9f5f9b0edf', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, h("slot", { key: 'a5e09cf1270c4aa9b15b2d0b351e4ba819e75aa0', name: "less" }, h("button", { key: '5404c1cf590f8028d430198c99463b70da94c4b6', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
68
+ return (h(Host, { key: 'fbb60961810fe863ebebc729cbe4ecb955608c82', class: "nano-more-less" }, h("slot", { key: '6823f661e722640622d421c96244cd4a0eee1953', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
69
+ 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, ")"))),
70
70
  !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, ")")))) : (''),
71
71
  ]));
72
72
  }
@@ -192,20 +192,20 @@ export class Rating {
192
192
  else {
193
193
  displayValue = this.isHovering ? this.hoverValue : this.value;
194
194
  }
195
- return (h(Host, { key: '13d84ec7e59b702b04ec39218e18c350239d7b93', class: "nano-rating" }, h("label", { key: '1b5f27fdee72213e088437dd848a8573120cae9b', class: `rating-label${this.hideLabel ? ' visually-hidden' : ''}`, part: "label", htmlFor: this.name }, h("slot", { key: 'e81487e62a318229a3bf086b14927a51dde28e79', name: "label" }, this.label)), h("input", { key: '1b61bf51b63f6e9b24e5e18630ea6c3997971304', class: "range-input visually-hidden", name: this.name, id: this.name, disabled: this.disabled || this.readonly, required: this.required, value: this.value, onFocus: () => {
195
+ 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: () => {
196
196
  this.setFocus();
197
- } }), h("div", { key: 'e386649b37937c0eaaf3359a0187a96d8ba3a62c', class: "rating-wrap" }, h("div", { key: '815e7b1e85a5f6521b3e2db56442a3c001cdea89', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
197
+ } }), h("div", { key: '1089a70fecbf338efbf3b2f5a8624c2c3c5ce56c', class: "rating-wrap" }, h("div", { key: '6552b5f9466c1ec0df3e69d9543d693fa90829d4', dir: this.isRtl ? 'rtl' : null, ref: (el) => (this.rating = el), part: "base", class: {
198
198
  rating: true,
199
199
  'rating--readonly': this.readonly,
200
200
  'rating--disabled': this.disabled,
201
- }, "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: '23789675ce3be49201fe2338301bd1cfcba86a87', class: "rating__symbols rating__symbols--inactive" }, counter.map((index) => (h("span", { class: {
201
+ }, "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: {
202
202
  rating__symbol: true,
203
203
  'rating__symbol--hover': this.isHovering && Math.ceil(displayValue) === index + 1,
204
204
  },
205
205
  // Users can click the current value to clear the rating. When this happens, we set this.isHovering to
206
206
  // false to prevent the hover state from confusing them as they move the mouse out of the control. This
207
207
  // extra mouseenter will reinstate it if they happen to mouse over an adjacent symbol.
208
- onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), h("span", { key: 'ebb7cf9d8819f624a56f30279c79b88b2bc84da5', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
208
+ onMouseEnter: this.handleMouseEnter, innerHTML: this.symbol(index + 1) })))), h("span", { key: 'd6368fb64cac9837f38bc00a06b63f2ef3ad3a74', ref: (span) => (this.indicator = span), class: "rating__symbols rating__symbols--indicator", style: {
209
209
  clip: this.clip(displayValue),
210
210
  } }, counter.map((index) => (h("span", { class: {
211
211
  rating__symbol: true,
@@ -230,13 +230,13 @@ export class ResizeObserve {
230
230
  }
231
231
  }
232
232
  render() {
233
- return (h(Host, { key: '3d3afb6885d3e2bdee26996015b6e4408d6a931d', class: {
233
+ return (h(Host, { key: 'e5019ccd47c55fddcffd4fa5ff151b0d1db5465f', class: {
234
234
  'nano-resize-observe': true,
235
235
  'content-fit-x': this.contentFitX,
236
236
  'content-fit-y': this.contentFitY,
237
237
  'content-nofit-x': this.contentFitX === false,
238
238
  'content-nofit-y': this.contentFitY === false,
239
- } }, h("slot", { key: 'd533dbc3a6430c448cda437e9915d4f3f5f52e04' }), !!this.notifyContentFit &&
239
+ } }, h("slot", { key: '6117c97943bf1ca7368946dd17e356e2d866bbf3' }), !!this.notifyContentFit &&
240
240
  (this.contentFitX !== null || this.contentFitY !== null) && [
241
241
  this.contentFitX ? (h("slot", { name: "content-fit-x" })) : (h("slot", { name: "content-nofit-x" })),
242
242
  this.contentFitY ? (h("slot", { name: "content-fit-y" })) : (h("slot", { name: "content-nofit-y" })),
@@ -705,30 +705,30 @@ export class Select {
705
705
  disabled,
706
706
  clearControl: this.clearable,
707
707
  }))(this);
708
- return (h(Host, { key: '0aaa6e0d66bdad17bbd04af34f922d2a359ebafa', type: this.multiple ? 'select-multiple' : 'select-one', "aria-disabled": this.disabled ? 'true' : null, class: {
708
+ return (h(Host, { key: '83841b192717e301d098e3886cb3d44f7c517232', type: this.multiple ? 'select-multiple' : 'select-one', "aria-disabled": this.disabled ? 'true' : null, class: {
709
709
  'has-value': !!this.value.length || !!this.inputSearchVal.length,
710
710
  'has-focus': this.hasFocus,
711
711
  'is-invalid': this._invalid === true,
712
712
  'is-valid': this._invalid === false,
713
713
  'nano-select': true,
714
- } }, h(FormControlWrap, { key: '14fe6c4cbbd82a6823ec5c986d81945850575b10', ...wrapOptions, class: {
714
+ } }, h(FormControlWrap, { key: 'c0a938ef46d167bbe5351913b1a73fcc39659b1d', ...wrapOptions, class: {
715
715
  'has-error': !!this.errorMessage &&
716
716
  this.showInlineError &&
717
717
  this._invalid === true,
718
718
  'has-helper': this.hasHelperSlot,
719
719
  'is-open': this.hasOpened,
720
720
  masked: this.mask,
721
- } }, h(FormControl, { key: 'bdf30d4943beac9ec086ac2db307c601dc1e7331', ...controlOptions, ref: (el) => (this.selectWrap = el), onClearText: this.clearSelectValue, control: this.el, endValueSlot: h("slot", { name: "down-arrow" }, h("nano-icon", { class: "select__down-arrow", name: "light/chevron-down" })), showInlineError: this.showInlineError }, this.multiple && (h("div", { key: '96ff8eec1c8844f74bcc03f85455ad9be6747723', class: "select__multi-wrap select" }, this.multipleValues(labelId, moreId, helperEndId))), !this.multiple && [
722
- this.mask && (h("div", { key: 'c53d4edaa9d507a221963603600a7d54ea4e95c4', class: "select__mask" }, this.getLabel(this.value))),
723
- h("input", { key: '9174b628804c94b7e7b45754f7bb359e49e646d5', ref: (input) => (this.inputCtrl = input), id: this.selectId, class: "select__native-input", "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, form: this.form, placeholder: this.placeholder, readonly: true, required: this.required, value: this.getLabel(this.value), onFocus: this.onFocus }),
724
- ])), !this.readonly && !this.disabled && (h("nano-datalist", { key: 'e83c1e0170150648675d5e51116dc0df3b0ef034', ref: (el) => (this.datalist = el), selected: this.valArray, type: this.multiple ? 'selectMulti' : 'select', options: this._options.length ? this._options : undefined, onNanoDeselect: (e) => {
721
+ } }, h(FormControl, { key: '704c73a69c5a3f661ed8926fc8980b952b9169be', ...controlOptions, ref: (el) => (this.selectWrap = el), onClearText: this.clearSelectValue, control: this.el, endValueSlot: h("slot", { name: "down-arrow" }, h("nano-icon", { class: "select__down-arrow", name: "light/chevron-down" })), showInlineError: this.showInlineError }, this.multiple && (h("div", { key: 'ef05cb7727be6b7c0ab67c7e9ebb8d1387903eb3', class: "select__multi-wrap select" }, this.multipleValues(labelId, moreId, helperEndId))), !this.multiple && [
722
+ this.mask && (h("div", { key: '3a58835bf8f059658238a717a8f71b896fe0b599', class: "select__mask" }, this.getLabel(this.value))),
723
+ h("input", { key: 'b74a7cedd698e6739ff3c81b4ef12710726b1a4d', ref: (input) => (this.inputCtrl = input), id: this.selectId, class: "select__native-input", "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, form: this.form, placeholder: this.placeholder, readonly: true, required: this.required, value: this.getLabel(this.value), onFocus: this.onFocus }),
724
+ ])), !this.readonly && !this.disabled && (h("nano-datalist", { key: 'e7469592db6a1248d8cf32f2c8fd36364045ac49', ref: (el) => (this.datalist = el), selected: this.valArray, type: this.multiple ? 'selectMulti' : 'select', options: this._options.length ? this._options : undefined, onNanoDeselect: (e) => {
725
725
  e.preventDefault();
726
726
  this.removeValue(e.detail.value);
727
727
  }, onNanoOptionsUpdated: this.setOptions, onNanoSelect: this.setValue,
728
728
  // @ts-expect-error - this bubbles from the nano-dropdown
729
729
  onNanoShow: () => (this.hasOpened = true), onNanoHide: () => (this.hasOpened = false) }, this.allowCustomValues &&
730
730
  this.multiple &&
731
- !!this.inputSearchVal && (h("nano-option", { key: 'f9df4b878f141b7bf5744d3452f4b9447804a664', slot: "list-top", value: this.inputSearchVal, selected: false, label: this.inputSearchVal, onNanoSelect: () => this.inputCtrl.focus() }, h("span", { key: '9098ef46b71093821764ea4ef91d1ab628dd5270', slot: "check-icon" }), "Add '", this.inputSearchVal, "'")), h("slot", { key: '29e5360242ce32aad4cbf493d2033b882f3f82e6' }))), h("select", { key: '2853c09505300c822ffa1a42c63184d8e43dd413', id: this.selectId + '-hidden', class: "select__native-ctrl", ref: (select) => (this.nativeSelect = select), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, form: this.form, multiple: this.multiple, name: this.name, required: this.required, onInvalid: this.handleInvalid }, this.allowCustomValues &&
731
+ !!this.inputSearchVal && (h("nano-option", { key: '50c0203767871b9a1dcf87d9b6e51a98cf62c72f', slot: "list-top", value: this.inputSearchVal, selected: false, label: this.inputSearchVal, onNanoSelect: () => this.inputCtrl.focus() }, h("span", { key: 'bfd78ea1f905f6d512e36f43c0e7bf417769d7ba', slot: "check-icon" }), "Add '", this.inputSearchVal, "'")), h("slot", { key: '67b82a4e86e472fb9bcf5c4173a9b202ea9402c5' }))), h("select", { key: 'e9a9ab79d35f38e1a20e98594ee1c0d11945eb1f', id: this.selectId + '-hidden', class: "select__native-ctrl", ref: (select) => (this.nativeSelect = select), "aria-labelledby": labelId + ' ' + moreId + ' ' + helperEndId, disabled: this.disabled, form: this.form, multiple: this.multiple, name: this.name, required: this.required, onInvalid: this.handleInvalid }, this.allowCustomValues &&
732
732
  this.valArray.map((val) => {
733
733
  return (h("option", { value: val, selected: true }, val));
734
734
  }), !this.allowCustomValues &&
@@ -38,7 +38,7 @@ export class Slide {
38
38
  });
39
39
  }
40
40
  render() {
41
- return (h(Host, { key: '54fe9d796bb457a050087ad602879c6116ce225a', class: "nano-slide" }, h("slot", { key: '7bc3202fff0b3efc75d4adf701e1f363130dd971' })));
41
+ return (h(Host, { key: 'a426e75ad5b607ac12e53db8183e08f89a10057a', class: "nano-slide" }, h("slot", { key: '792f06fe463ae49d981d7beceb68e4b7b49beff3' })));
42
42
  }
43
43
  static get is() { return "nano-slide"; }
44
44
  static get encapsulation() { return "shadow"; }
@@ -502,15 +502,15 @@ export class Slides {
502
502
  this.destroyflickity();
503
503
  }
504
504
  render() {
505
- return (h(Host, { key: '0297815f676db2dda4a5b34503b8c9e03f15bd0f', class: "nano-slides" }, h("div", { key: '4114c7d5a26842d16bacd796b0de70d140714fd3', class: {
505
+ return (h(Host, { key: '25fe656149129885383046b7f2cb81ecc965db13', class: "nano-slides" }, h("div", { key: '84d9f878b91454a12311ffc5203d49a243fb9c66', class: {
506
506
  slideshow: true,
507
507
  ready: this.ready,
508
508
  'not-ready': !this.ready,
509
- }, part: "base" }, h("div", { key: '95096cfa135af378b5f4c31fd9ec8cbe5e7aede0', ref: (div) => (this.flickityEl = div), class: {
509
+ }, part: "base" }, h("div", { key: 'b975dcadc6d7b7b5b7e915980527eba3bf740165', ref: (div) => (this.flickityEl = div), class: {
510
510
  'flickity-container': true,
511
511
  'slides-ready': this.slidesReady,
512
512
  'slides-not-ready': !this.slidesReady,
513
- }, part: "slide-container" }, h("slot", { key: '181c12844448bf759247f57efebf87b86a771cfc' })), h("div", { key: '7b74a7a2c10e848f9aadf8d392ebe6ec7a408d63', class: "ui-extras" }, h("slot", { key: '3eaec1388b57df6609891e4e1817b93e44747ed3', name: "ui" })))));
513
+ }, part: "slide-container" }, h("slot", { key: 'a9b13e8e0c8808617c694953e3fef74a57d719a8' })), h("div", { key: '9caacd27973cc67740145365ab7a10c75ab44219', class: "ui-extras" }, h("slot", { key: 'ad80afb5ddbcc54b10310a4e115403fee8dda215', name: "ui" })))));
514
514
  }
515
515
  static get is() { return "nano-slides"; }
516
516
  static get encapsulation() { return "shadow"; }
@@ -732,7 +732,7 @@ export class Sortable {
732
732
  }
733
733
  }
734
734
  render() {
735
- return (h(Host, { key: 'afd9f0d80c702f205fcf981c0f5ecd0006ff36f6', class: "nano-sortable" }, h("div", { key: '99b144761c9d9b566fa8968057b34d288729118d', 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: 'f1921453fbb7744eebcb74dbd652e4e62da17aba' })));
735
+ 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' })));
736
736
  }
737
737
  static get is() { return "nano-sortable"; }
738
738
  static get encapsulation() { return "shadow"; }
@@ -603,12 +603,12 @@ export class Sticker {
603
603
  this.hasBootstrapped = false;
604
604
  }
605
605
  render() {
606
- return (h(Host, { key: '2cc2e4ad16ecefda7d16772d763597864dabc908', sticky: !this.isRootSticker && !this.stickToEle && this.isSticky, hide: this.hide && this.isStuck, siblings: this.stuckCounter, index: this.stickerIndex, stuck: this.isStuck && this.isSticky, "placed-bottom": this.positions.includes('bottom'), "placed-top": this.positions.includes('top'), "placed-end": this.positions.includes('end'), "placed-start": this.positions.includes('start'), class: "nano-sticker" }, h("div", { key: '842f2d7b6d92e787e4d45410f558b4c796ed7b33', class: {
606
+ return (h(Host, { key: 'f087d54cf3135fa7ba3d089f112157797efedaf2', sticky: !this.isRootSticker && !this.stickToEle && this.isSticky, hide: this.hide && this.isStuck, siblings: this.stuckCounter, index: this.stickerIndex, stuck: this.isStuck && this.isSticky, "placed-bottom": this.positions.includes('bottom'), "placed-top": this.positions.includes('top'), "placed-end": this.positions.includes('end'), "placed-start": this.positions.includes('start'), class: "nano-sticker" }, h("div", { key: 'db32b41390349cec6975dfad25b6b99ddadf5758', class: {
607
607
  sticker: true,
608
608
  sticky: this.isRootSticker && this.isSticky,
609
609
  stuck: this.isStuck && this.isRootSticker && this.isSticky,
610
610
  hide: this.isRootSticker && this.hide && this.isStuck,
611
- }, ref: (div) => (this.sticker = div) }, h("div", { key: '6c49c84e46b3fdd4de9d543057c3ff4e1f8182f4', class: "sticker-content", ref: (div) => (this.content = div) }, h("slot", { key: 'd0c2d4c9bbc58084c2f4783fcc1bbae44da62c7e' })))));
611
+ }, ref: (div) => (this.sticker = div) }, h("div", { key: 'b1e54c375552b7460fb6991f1c476bf9f73c997f', class: "sticker-content", ref: (div) => (this.content = div) }, h("slot", { key: 'a2ee69ba9e39d796d832340777f61deb21c2f5d1' })))));
612
612
  }
613
613
  static get is() { return "nano-sticker"; }
614
614
  static get encapsulation() { return "shadow"; }
@@ -227,10 +227,10 @@ export class NanoTable {
227
227
  this.cleanUpObservers();
228
228
  }
229
229
  render() {
230
- return (h(Host, { key: '29c35d81fa4432d251f86195a7dd8940661e5abc', class: {
230
+ return (h(Host, { key: '61967ae8d9228be1374d9a4ee4e08b286cd4dd57', class: {
231
231
  'nano-table': true,
232
232
  'nano-table--props-ready': this.propsReady,
233
- } }, this.scrollable && (h("nano-masked-overflow", { key: '4984ff894c8b8799917de26a0a4f8355f5cb4c2c', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: '5aef0beda315f82d6e361b2607e95d4b9828cfbb', class: "nano-table__overflow" }))), h("slot", { key: '549e9de13a1b333787fe48c77c5a3be89734c0c4' })));
233
+ } }, 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' })));
234
234
  }
235
235
  static get is() { return "nano-table"; }
236
236
  static get encapsulation() { return "scoped"; }
@@ -24,10 +24,10 @@ export class NanoTabContent {
24
24
  requestAnimationFrame(() => (this.ready = true));
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: 'f253c45230dccc1f8c1cd05e300db935380b0845', 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: 'f182a99dab031220a40b2c5125d3229b8bacca1c', 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: 'f01e7dc01e79d835af3414ee157dfa1b41675070', part: "base", class: "nano-tab-content" }, h("slot", { key: '3a9ab065ab08e5495f09bae2769f8fba7b0d02e8' }))));
30
+ } }, h("div", { key: '47b383859162b6a64518273a9057464de1d37479', part: "base", class: "nano-tab-content" }, h("slot", { key: '3f908fec081c956f9ffd8d7de5e0f45b5e193a8c' }))));
31
31
  }
32
32
  static get is() { return "nano-tab-content"; }
33
33
  static get encapsulation() { return "shadow"; }