@nanoporetech-digital/components 8.0.0-alpha.12 → 8.0.0-alpha.13

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 (48) hide show
  1. package/dist/cjs/{fade-QCWQMt6E.js → fade-CiX74e7g.js} +1 -1
  2. package/dist/cjs/{fullscreen-BYiPBVB-.js → fullscreen-CRDiLBHG.js} +1 -1
  3. package/dist/cjs/{lazyload-CE9AflwC.js → lazyload-DQBOwjop.js} +1 -1
  4. package/dist/cjs/{nano-data-table-Bt1hEvrv.js → nano-data-table-DpoWsfe-.js} +4 -3
  5. package/dist/cjs/nano-data-table.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-grid_2.cjs.entry.js +3 -3
  7. package/dist/cjs/{nano-slides-C79dDqp3.js → nano-slides-CEgnF-Y8.js} +14 -11
  8. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  9. package/dist/cjs/{page-dots-S-JrbRKH.js → page-dots-KutnmYpQ.js} +1 -1
  10. package/dist/cjs/{table.worker-DJPRsl4W.js → table.worker-iOdjCdrO.js} +1 -1
  11. package/dist/collection/components/data-table/table.pin-service.js +3 -2
  12. package/dist/collection/components/img/img.css +1 -1
  13. package/dist/collection/components/img/img.js +8 -4
  14. package/dist/collection/components/slides/slides.js +10 -7
  15. package/dist/collection/components/tabs/tab-group.css +8 -8
  16. package/dist/collection/components/tabs/tab.css +6 -6
  17. package/dist/components/img.js +3 -3
  18. package/dist/components/nano-data-table.js +3 -2
  19. package/dist/components/slides.js +10 -7
  20. package/dist/esm/{fade-BwtMNpw7.js → fade-DJjEJ3OV.js} +1 -1
  21. package/dist/esm/{fullscreen-CLTOaIQ8.js → fullscreen-C0Rg1tXP.js} +1 -1
  22. package/dist/esm/{lazyload-CBLyQMEG.js → lazyload-BGGkN269.js} +1 -1
  23. package/dist/esm/{nano-data-table-BqsFe2Ik.js → nano-data-table-TfPKf5LE.js} +4 -3
  24. package/dist/esm/nano-data-table.entry.js +1 -1
  25. package/dist/esm/nano-grid_2.entry.js +3 -3
  26. package/dist/esm/{nano-slides-DEqstC8u.js → nano-slides-B1zM-u4Y.js} +14 -11
  27. package/dist/esm/nano-slides.entry.js +1 -1
  28. package/dist/esm/{page-dots-2yJYdWP9.js → page-dots-D9sLGqee.js} +1 -1
  29. package/dist/esm/{table.worker-BJVVUKdP.js → table.worker-Dq_pppel.js} +1 -1
  30. package/dist/nano-components/{fade-BwtMNpw7.js → fade-DJjEJ3OV.js} +1 -1
  31. package/dist/nano-components/{fullscreen-CLTOaIQ8.js → fullscreen-C0Rg1tXP.js} +1 -1
  32. package/dist/nano-components/{lazyload-CBLyQMEG.js → lazyload-BGGkN269.js} +1 -1
  33. package/dist/nano-components/nano-data-table-TfPKf5LE.js +4 -0
  34. package/dist/nano-components/nano-data-table.entry.js +1 -1
  35. package/dist/nano-components/nano-grid_2.entry.js +1 -1
  36. package/dist/nano-components/{nano-slides-DEqstC8u.js → nano-slides-B1zM-u4Y.js} +3 -3
  37. package/dist/nano-components/nano-slides.entry.js +1 -1
  38. package/dist/nano-components/{page-dots-2yJYdWP9.js → page-dots-D9sLGqee.js} +1 -1
  39. package/dist/nano-components/{table.worker-BJVVUKdP.js → table.worker-Dq_pppel.js} +1 -1
  40. package/dist/types/components/img/img.d.ts +5 -1
  41. package/dist/types/components/slides/slides.d.ts +1 -0
  42. package/dist/types/components.d.ts +12 -4
  43. package/docs-json.json +39 -31
  44. package/docs-vscode.json +1 -1
  45. package/hydrate/index.js +21 -13
  46. package/hydrate/index.mjs +21 -13
  47. package/package.json +2 -2
  48. package/dist/nano-components/nano-data-table-BqsFe2Ik.js +0 -4
@@ -60,6 +60,7 @@ export declare class Slides implements ComponentInterface {
60
60
  /** Animation presets or your own custom animation function; called every frame during scroll */
61
61
  animation: SlideAnimation;
62
62
  animationChange(_?: any, oldAnim?: SlideAnimation): Promise<void>;
63
+ private updateOptions;
63
64
  /** Zero-based index of the selected cell. */
64
65
  currentSlide: number;
65
66
  currentSlideChange(): void;
@@ -1866,7 +1866,9 @@ export namespace Components {
1866
1866
  "size"?: 'regular' | 'large';
1867
1867
  }
1868
1868
  /**
1869
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
1869
+ * Utilities for displaying images; standard or background.
1870
+ * @status deprecated
1871
+ * @version 1.0.0
1870
1872
  */
1871
1873
  interface NanoImg {
1872
1874
  /**
@@ -4238,7 +4240,9 @@ declare global {
4238
4240
  "nanoImgError": void;
4239
4241
  }
4240
4242
  /**
4241
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
4243
+ * Utilities for displaying images; standard or background.
4244
+ * @status deprecated
4245
+ * @version 1.0.0
4242
4246
  */
4243
4247
  interface HTMLNanoImgElement extends Components.NanoImg, HTMLStencilElement {
4244
4248
  addEventListener<K extends keyof HTMLNanoImgElementEventMap>(type: K, listener: (this: HTMLNanoImgElement, ev: NanoImgCustomEvent<HTMLNanoImgElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -6748,7 +6752,9 @@ declare namespace LocalJSX {
6748
6752
  "size"?: 'regular' | 'large';
6749
6753
  }
6750
6754
  /**
6751
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
6755
+ * Utilities for displaying images; standard or background.
6756
+ * @status deprecated
6757
+ * @version 1.0.0
6752
6758
  */
6753
6759
  interface NanoImg {
6754
6760
  /**
@@ -8575,7 +8581,9 @@ declare module "@stencil/core" {
8575
8581
  */
8576
8582
  "nano-icon-item": LocalJSX.NanoIconItem & JSXBase.HTMLAttributes<HTMLNanoIconItemElement>;
8577
8583
  /**
8578
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
8584
+ * Utilities for displaying images; standard or background.
8585
+ * @status deprecated
8586
+ * @version 1.0.0
8579
8587
  */
8580
8588
  "nano-img": LocalJSX.NanoImg & JSXBase.HTMLAttributes<HTMLNanoImgElement>;
8581
8589
  /**
package/docs-json.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-07-11T22:20:45",
2
+ "timestamp": "2025-07-15T14:53:06",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.35.3-dev.1752259270.e005970",
@@ -15361,8 +15361,16 @@
15361
15361
  "encapsulation": "shadow",
15362
15362
  "tag": "nano-img",
15363
15363
  "readme": "# nano-img\n\n\n",
15364
- "docs": "Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.",
15364
+ "docs": "Utilities for displaying images; standard or background.",
15365
15365
  "docsTags": [
15366
+ {
15367
+ "name": "status",
15368
+ "text": "deprecated"
15369
+ },
15370
+ {
15371
+ "name": "version",
15372
+ "text": "1.0.0"
15373
+ },
15366
15374
  {
15367
15375
  "name": "slot",
15368
15376
  "text": "- Main slot. Only relevant with `<nano-img background>`"
@@ -15576,7 +15584,7 @@
15576
15584
  {
15577
15585
  "name": "--padding",
15578
15586
  "annotation": "prop",
15579
- "docs": "padding around any content. Only relevent on `<nano-img background>`"
15587
+ "docs": "padding around any content. Only relevant when using `background` attribute. Defaults to `0`."
15580
15588
  }
15581
15589
  ],
15582
15590
  "slots": [
@@ -25713,34 +25721,34 @@
25713
25721
  "listeners": [],
25714
25722
  "styles": [
25715
25723
  {
25716
- "name": "--border-active-color. The color of the border when active. Defaults to `var(--nano-color-primary-1000)`.",
25724
+ "name": "--border",
25717
25725
  "annotation": "prop",
25718
- "docs": ""
25726
+ "docs": "The border of the tab. Defaults to `2px solid var(--nano-color-neutral-300)`."
25719
25727
  },
25720
25728
  {
25721
- "name": "--border-hover-color. The color of the border on hover. Defaults to `var(--nano-color-primary-700)`.",
25729
+ "name": "--border-active-color",
25722
25730
  "annotation": "prop",
25723
- "docs": ""
25731
+ "docs": "The color of the border when active. Defaults to `var(--nano-color-primary-1000)`."
25724
25732
  },
25725
25733
  {
25726
- "name": "--border. The border of the tab. Defaults to `2px solid var(--nano-color-neutral-300)`.",
25734
+ "name": "--border-hover-color",
25727
25735
  "annotation": "prop",
25728
- "docs": ""
25736
+ "docs": "The color of the border on hover. Defaults to `var(--nano-color-primary-700)`."
25729
25737
  },
25730
25738
  {
25731
- "name": "--padding. The padding of the tab. Defaults to `var(--nano-spacing-md)`.",
25739
+ "name": "--padding",
25732
25740
  "annotation": "prop",
25733
- "docs": ""
25741
+ "docs": "The padding of the tab. Defaults to `var(--nano-spacing-md)`."
25734
25742
  },
25735
25743
  {
25736
- "name": "--text-active-color. The color of the text when active. Defaults to `var(--nano-color-primary-1000)`.",
25744
+ "name": "--text-active-color",
25737
25745
  "annotation": "prop",
25738
- "docs": ""
25746
+ "docs": "The color of the text when active. Defaults to `var(--nano-color-primary-1000)`."
25739
25747
  },
25740
25748
  {
25741
- "name": "--text-hover-color. The color of the text on hover. Defaults to `var(--nano-color-primary-1000)`.",
25749
+ "name": "--text-hover-color",
25742
25750
  "annotation": "prop",
25743
- "docs": ""
25751
+ "docs": "The color of the text on hover. Defaults to `var(--nano-color-primary-1000)`."
25744
25752
  }
25745
25753
  ],
25746
25754
  "slots": [
@@ -26262,44 +26270,44 @@
26262
26270
  ],
26263
26271
  "styles": [
26264
26272
  {
26265
- "name": "--border. The border of the tab group. Defaults to `2px solid var(--nano-color-neutral-300)`.",
26273
+ "name": "--border",
26266
26274
  "annotation": "prop",
26267
- "docs": ""
26275
+ "docs": "The border of the tab group. Defaults to `2px solid var(--nano-color-neutral-300)`."
26268
26276
  },
26269
26277
  {
26270
- "name": "--content-spacing. The spacing around the content area. Defaults to `var(--nano-spacing-l1-default)`.",
26278
+ "name": "--content-spacing",
26271
26279
  "annotation": "prop",
26272
- "docs": ""
26280
+ "docs": "The spacing around the content area. Defaults to `var(--nano-spacing-l1-default)`."
26273
26281
  },
26274
26282
  {
26275
- "name": "--fade-transparency. The transparency of the fade effect. Defaults to `0`.",
26283
+ "name": "--fade-transparency",
26276
26284
  "annotation": "prop",
26277
- "docs": ""
26285
+ "docs": "The transparency of the fade effect. Defaults to `0`."
26278
26286
  },
26279
26287
  {
26280
- "name": "--indicator-color. The color of the indicator. Defaults to `var(--nano-color-primary-1000)`.",
26288
+ "name": "--indicator-color",
26281
26289
  "annotation": "prop",
26282
- "docs": ""
26290
+ "docs": "The color of the indicator. Defaults to `var(--nano-color-primary-1000)`."
26283
26291
  },
26284
26292
  {
26285
- "name": "--indicator-size. The size of the indicator. Defaults to `0`.",
26293
+ "name": "--indicator-size",
26286
26294
  "annotation": "prop",
26287
- "docs": ""
26295
+ "docs": "The size of the indicator. Defaults to `0`."
26288
26296
  },
26289
26297
  {
26290
- "name": "--indicator-track-color. The color of the indicator track. Defaults to `var(--nano-color-neutral-300)`.",
26298
+ "name": "--indicator-track-color",
26291
26299
  "annotation": "prop",
26292
- "docs": ""
26300
+ "docs": "The color of the indicator track. Defaults to `var(--nano-color-neutral-300)`."
26293
26301
  },
26294
26302
  {
26295
- "name": "--indicator-transition. The time it takes for the indicator to transition. Defaults to `var(--nano-transition-fast)`.",
26303
+ "name": "--indicator-transition",
26296
26304
  "annotation": "prop",
26297
- "docs": ""
26305
+ "docs": "The time it takes for the indicator to transition. Defaults to `var(--nano-transition-fast)`."
26298
26306
  },
26299
26307
  {
26300
- "name": "--tab-spacing. The spacing between tabs. Defaults to `var(--nano-spacing-md)`.",
26308
+ "name": "--tab-spacing",
26301
26309
  "annotation": "prop",
26302
- "docs": ""
26310
+ "docs": "The spacing between tabs. Defaults to `var(--nano-spacing-md)`."
26303
26311
  }
26304
26312
  ],
26305
26313
  "slots": [
package/docs-vscode.json CHANGED
@@ -2351,7 +2351,7 @@
2351
2351
  "name": "nano-img",
2352
2352
  "description": {
2353
2353
  "kind": "markdown",
2354
- "value": "Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties."
2354
+ "value": "Utilities for displaying images; standard or background."
2355
2355
  },
2356
2356
  "attributes": [
2357
2357
  {
package/hydrate/index.js CHANGED
@@ -16674,7 +16674,11 @@ class IconButton {
16674
16674
  const imgCss = ":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{--padding:0;display:inline-block;object-fit:cover;object-position:center;background-size:cover;background-position:center}:host *{border-radius:inherit}:host([background]:not([background=false])){display:block}.img{position:relative;object-fit:inherit;object-position:inherit;background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;flex:1 1 100%;display:flex;flex-direction:column;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__loader,.img__observer{position:absolute;inset:0;block-size:100%;inline-size:100%;z-index:-1}.img__image,.img__bg{border-radius:inherit;display:block;opacity:0;transition:0.5s ease opacity, 0.3s ease filter 0.4s;filter:blur(5px);flex:1}.img__image.loaded,.img__bg.loaded{opacity:1;filter:blur(0)}@media not all and (resolution >= 0.001dpcm){@supports (-webkit-appearance: none){.img__image.loaded,.img__bg.loaded{filter:blur(0)}}}.img__image{object-fit:inherit;object-position:inherit;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__image.hide{visibility:hidden}.img__image.hide.no-height{block-size:1px;position:absolute;z-index:-1}.img__bg{background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;overflow:auto;padding:var(--padding)}.img__bg.no-height{position:absolute;inset:0}";
16675
16675
 
16676
16676
  /**
16677
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
16677
+ * Utilities for displaying images; standard or background.
16678
+ *
16679
+ * @status deprecated
16680
+ * @version 1.0.0
16681
+ *
16678
16682
  * @slot - Main slot. Only relevant with `<nano-img background>`
16679
16683
  */
16680
16684
  class Img {
@@ -16810,16 +16814,16 @@ class Img {
16810
16814
  const bgStyle = this.loadSrc
16811
16815
  ? { 'background-image': `url(${this.loadSrc})` }
16812
16816
  : {};
16813
- return (h(Host, { key: 'a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af', class: "nano-img" }, h("div", { key: '1f40afc64a5652f53b224403c59b4f108e5eb044', class: "img" }, h("div", { key: '7b3a0b8521888092effb1fc675b0c52bce7faa6f', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '1f4d59fc6ff3e0be42f18d1db4a099a32d099872', class: {
16817
+ return (h(Host, { key: '246b2bd0d05e76d4756a170534b84eeeb47b5692', class: "nano-img" }, h("div", { key: '17455932f3f0b6fef46b86f3731d1604295de25d', class: "img" }, h("div", { key: 'fb07e1f16faf27c6226a313c4bbcc54ccda29643', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '7e7a83eb7b4a75be00662f8dcd06b9452b4fcc21', class: {
16814
16818
  loaded: this.hasLoaded,
16815
16819
  img__bg: true,
16816
16820
  'no-height': this.autoHeight === 'image',
16817
- }, style: bgStyle }, h("slot", { key: 'd987180d13fa9ef34868c8e962344da9e0f6b876' }))), h("img", { key: 'f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb', class: {
16821
+ }, style: bgStyle }, h("slot", { key: '6fb65b4a0f745b517c0688da8b3fecae769d2e71' }))), h("img", { key: '8872cd76b14e32bfa3051ae1b2953ee2f01bf609', class: {
16818
16822
  img__image: true,
16819
16823
  loaded: this.hasLoaded,
16820
16824
  hide: this.background,
16821
16825
  'no-height': this.autoHeight === 'content',
16822
- }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: 'cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16826
+ }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: '677afcbf603e4649a202f3a4d566c73c0fc70e10', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16823
16827
  }
16824
16828
  static get watchers() { return {
16825
16829
  "_src": ["_srcChanged"],
@@ -20545,12 +20549,13 @@ children, utils) => {
20545
20549
  };
20546
20550
 
20547
20551
  function addStyleSheet(id, css) {
20548
- const styleSheet = document.getElementById(id) ||
20552
+ const root = this.host.getRootNode();
20553
+ const styleSheet = root.getElementById(id) ||
20549
20554
  document.createElement('style');
20550
20555
  styleSheet.id = id;
20551
20556
  styleSheet.innerHTML = css;
20552
20557
  if (!styleSheet.isConnected)
20553
- document.head.append(styleSheet);
20558
+ root.append(styleSheet);
20554
20559
  }
20555
20560
  /**
20556
20561
  * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.
@@ -28372,24 +28377,27 @@ class Slides {
28372
28377
  }
28373
28378
  // is a custom animation
28374
28379
  if (typeof this.animation === 'function') {
28375
- this.options = { fade: false, percentPosition: true };
28380
+ this.updateOptions({ fade: false, percentPosition: true });
28376
28381
  flkty.on('scroll', this.animation);
28377
28382
  return;
28378
28383
  }
28379
28384
  // setup new stuff
28380
28385
  switch (this.animation) {
28381
28386
  case 'fade':
28382
- this.options = { fade: true, percentPosition: true };
28387
+ this.updateOptions({ fade: true, percentPosition: true });
28383
28388
  break;
28384
28389
  case 'parallax':
28385
- this.options = { fade: false, percentPosition: true };
28390
+ this.updateOptions({ fade: false, percentPosition: true });
28386
28391
  flkty.on('scroll', this.parallax);
28387
28392
  break;
28388
28393
  default:
28389
- this.options = { fade: false, percentPosition: true };
28394
+ this.updateOptions({ fade: false, percentPosition: true });
28390
28395
  break;
28391
28396
  }
28392
28397
  }
28398
+ updateOptions(opts) {
28399
+ this.options = { ...this.options, ...opts };
28400
+ }
28393
28401
  /** Zero-based index of the selected cell. */
28394
28402
  currentSlide = 0;
28395
28403
  currentSlideChange() {
@@ -28739,15 +28747,15 @@ class Slides {
28739
28747
  this.destroyflickity();
28740
28748
  }
28741
28749
  render() {
28742
- return (h(Host, { key: '4f3e88fcb168e5504c1cbb7649eb7233f235dff7', class: "nano-slides" }, h("div", { key: '0c80e9c3b733ee41f6b06a473eeef9ab06eae1cd', class: {
28750
+ return (h(Host, { key: '42935259126aea21edcf5ecb256d0c1fbbde543a', class: "nano-slides" }, h("div", { key: '933ffba7ee7036d4a8e7fddac8396eaf6b53ad9f', class: {
28743
28751
  slideshow: true,
28744
28752
  ready: this.ready,
28745
28753
  'not-ready': !this.ready,
28746
- }, part: "base" }, h("div", { key: 'beae0495f2effa9d6bb5d6a093fd76b50bd3027e', ref: (div) => (this.flickityEl = div), class: {
28754
+ }, part: "base" }, h("div", { key: '5cd48261734c266f25f83cf63b60300c94868d52', ref: (div) => (this.flickityEl = div), class: {
28747
28755
  'flickity-container': true,
28748
28756
  'slides-ready': this.slidesReady,
28749
28757
  'slides-not-ready': !this.slidesReady,
28750
- }, part: "slide-container" }, h("slot", { key: '89282a60c520a65e2155836ab66f698520b47721' })), h("div", { key: 'fd3e6b6fb4d75ceb6002b389e63930d69965d304', class: "ui-extras" }, h("slot", { key: '8dfacb9cc08a4fc13f998b9a97e5079640fe5ede', name: "ui" })))));
28758
+ }, part: "slide-container" }, h("slot", { key: 'b04069a6bdbc76261a431b22660d012c25a8fb14' })), h("div", { key: '978e708ec781ff7aadc3928560f704669c60c1ab', class: "ui-extras" }, h("slot", { key: 'fd930c490857b9fab6b088015178151003f00f62', name: "ui" })))));
28751
28759
  }
28752
28760
  static get watchers() { return {
28753
28761
  "options": ["optionsChanged"],
package/hydrate/index.mjs CHANGED
@@ -16672,7 +16672,11 @@ class IconButton {
16672
16672
  const imgCss = ":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{--padding:0;display:inline-block;object-fit:cover;object-position:center;background-size:cover;background-position:center}:host *{border-radius:inherit}:host([background]:not([background=false])){display:block}.img{position:relative;object-fit:inherit;object-position:inherit;background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;flex:1 1 100%;display:flex;flex-direction:column;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__loader,.img__observer{position:absolute;inset:0;block-size:100%;inline-size:100%;z-index:-1}.img__image,.img__bg{border-radius:inherit;display:block;opacity:0;transition:0.5s ease opacity, 0.3s ease filter 0.4s;filter:blur(5px);flex:1}.img__image.loaded,.img__bg.loaded{opacity:1;filter:blur(0)}@media not all and (resolution >= 0.001dpcm){@supports (-webkit-appearance: none){.img__image.loaded,.img__bg.loaded{filter:blur(0)}}}.img__image{object-fit:inherit;object-position:inherit;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__image.hide{visibility:hidden}.img__image.hide.no-height{block-size:1px;position:absolute;z-index:-1}.img__bg{background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;overflow:auto;padding:var(--padding)}.img__bg.no-height{position:absolute;inset:0}";
16673
16673
 
16674
16674
  /**
16675
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
16675
+ * Utilities for displaying images; standard or background.
16676
+ *
16677
+ * @status deprecated
16678
+ * @version 1.0.0
16679
+ *
16676
16680
  * @slot - Main slot. Only relevant with `<nano-img background>`
16677
16681
  */
16678
16682
  class Img {
@@ -16808,16 +16812,16 @@ class Img {
16808
16812
  const bgStyle = this.loadSrc
16809
16813
  ? { 'background-image': `url(${this.loadSrc})` }
16810
16814
  : {};
16811
- return (h(Host, { key: 'a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af', class: "nano-img" }, h("div", { key: '1f40afc64a5652f53b224403c59b4f108e5eb044', class: "img" }, h("div", { key: '7b3a0b8521888092effb1fc675b0c52bce7faa6f', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '1f4d59fc6ff3e0be42f18d1db4a099a32d099872', class: {
16815
+ return (h(Host, { key: '246b2bd0d05e76d4756a170534b84eeeb47b5692', class: "nano-img" }, h("div", { key: '17455932f3f0b6fef46b86f3731d1604295de25d', class: "img" }, h("div", { key: 'fb07e1f16faf27c6226a313c4bbcc54ccda29643', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '7e7a83eb7b4a75be00662f8dcd06b9452b4fcc21', class: {
16812
16816
  loaded: this.hasLoaded,
16813
16817
  img__bg: true,
16814
16818
  'no-height': this.autoHeight === 'image',
16815
- }, style: bgStyle }, h("slot", { key: 'd987180d13fa9ef34868c8e962344da9e0f6b876' }))), h("img", { key: 'f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb', class: {
16819
+ }, style: bgStyle }, h("slot", { key: '6fb65b4a0f745b517c0688da8b3fecae769d2e71' }))), h("img", { key: '8872cd76b14e32bfa3051ae1b2953ee2f01bf609', class: {
16816
16820
  img__image: true,
16817
16821
  loaded: this.hasLoaded,
16818
16822
  hide: this.background,
16819
16823
  'no-height': this.autoHeight === 'content',
16820
- }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: 'cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16824
+ }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: '677afcbf603e4649a202f3a4d566c73c0fc70e10', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16821
16825
  }
16822
16826
  static get watchers() { return {
16823
16827
  "_src": ["_srcChanged"],
@@ -20543,12 +20547,13 @@ children, utils) => {
20543
20547
  };
20544
20548
 
20545
20549
  function addStyleSheet(id, css) {
20546
- const styleSheet = document.getElementById(id) ||
20550
+ const root = this.host.getRootNode();
20551
+ const styleSheet = root.getElementById(id) ||
20547
20552
  document.createElement('style');
20548
20553
  styleSheet.id = id;
20549
20554
  styleSheet.innerHTML = css;
20550
20555
  if (!styleSheet.isConnected)
20551
- document.head.append(styleSheet);
20556
+ root.append(styleSheet);
20552
20557
  }
20553
20558
  /**
20554
20559
  * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.
@@ -28370,24 +28375,27 @@ class Slides {
28370
28375
  }
28371
28376
  // is a custom animation
28372
28377
  if (typeof this.animation === 'function') {
28373
- this.options = { fade: false, percentPosition: true };
28378
+ this.updateOptions({ fade: false, percentPosition: true });
28374
28379
  flkty.on('scroll', this.animation);
28375
28380
  return;
28376
28381
  }
28377
28382
  // setup new stuff
28378
28383
  switch (this.animation) {
28379
28384
  case 'fade':
28380
- this.options = { fade: true, percentPosition: true };
28385
+ this.updateOptions({ fade: true, percentPosition: true });
28381
28386
  break;
28382
28387
  case 'parallax':
28383
- this.options = { fade: false, percentPosition: true };
28388
+ this.updateOptions({ fade: false, percentPosition: true });
28384
28389
  flkty.on('scroll', this.parallax);
28385
28390
  break;
28386
28391
  default:
28387
- this.options = { fade: false, percentPosition: true };
28392
+ this.updateOptions({ fade: false, percentPosition: true });
28388
28393
  break;
28389
28394
  }
28390
28395
  }
28396
+ updateOptions(opts) {
28397
+ this.options = { ...this.options, ...opts };
28398
+ }
28391
28399
  /** Zero-based index of the selected cell. */
28392
28400
  currentSlide = 0;
28393
28401
  currentSlideChange() {
@@ -28737,15 +28745,15 @@ class Slides {
28737
28745
  this.destroyflickity();
28738
28746
  }
28739
28747
  render() {
28740
- return (h(Host, { key: '4f3e88fcb168e5504c1cbb7649eb7233f235dff7', class: "nano-slides" }, h("div", { key: '0c80e9c3b733ee41f6b06a473eeef9ab06eae1cd', class: {
28748
+ return (h(Host, { key: '42935259126aea21edcf5ecb256d0c1fbbde543a', class: "nano-slides" }, h("div", { key: '933ffba7ee7036d4a8e7fddac8396eaf6b53ad9f', class: {
28741
28749
  slideshow: true,
28742
28750
  ready: this.ready,
28743
28751
  'not-ready': !this.ready,
28744
- }, part: "base" }, h("div", { key: 'beae0495f2effa9d6bb5d6a093fd76b50bd3027e', ref: (div) => (this.flickityEl = div), class: {
28752
+ }, part: "base" }, h("div", { key: '5cd48261734c266f25f83cf63b60300c94868d52', ref: (div) => (this.flickityEl = div), class: {
28745
28753
  'flickity-container': true,
28746
28754
  'slides-ready': this.slidesReady,
28747
28755
  'slides-not-ready': !this.slidesReady,
28748
- }, part: "slide-container" }, h("slot", { key: '89282a60c520a65e2155836ab66f698520b47721' })), h("div", { key: 'fd3e6b6fb4d75ceb6002b389e63930d69965d304', class: "ui-extras" }, h("slot", { key: '8dfacb9cc08a4fc13f998b9a97e5079640fe5ede', name: "ui" })))));
28756
+ }, part: "slide-container" }, h("slot", { key: 'b04069a6bdbc76261a431b22660d012c25a8fb14' })), h("div", { key: '978e708ec781ff7aadc3928560f704669c60c1ab', class: "ui-extras" }, h("slot", { key: 'fd930c490857b9fab6b088015178151003f00f62', name: "ui" })))));
28749
28757
  }
28750
28758
  static get watchers() { return {
28751
28759
  "options": ["optionsChanged"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanoporetech-digital/components",
3
- "version": "8.0.0-alpha.12",
3
+ "version": "8.0.0-alpha.13",
4
4
  "sideEffects": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,7 +60,7 @@
60
60
  "smart-array-filter": "^4.0.2",
61
61
  "stencil-wormhole": "3.2.1",
62
62
  "tyqs": "^0.1.3",
63
- "@nanoporetech-digital/style": "8.0.0-alpha.12"
63
+ "@nanoporetech-digital/style": "8.0.0-alpha.13"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@algolia/client-search": "^4.22.1",
@@ -1,4 +0,0 @@
1
- /*!
2
- * Custom elements for Nanopore-Digital Web applications
3
- */
4
- import{f as t,h as n,F as e,g as o,i,d as s,e as a,r,c as l,a as h}from"./index-D6WdRvhp.js";import{h as c,t as d}from"./renderer-BhDJHRB-.js";import{c as p}from"./math-BEqsTfVK.js";import{d as b}from"./throttle-C93FMm2Z.js";import{i as _,f as u}from"./scroll-CRQg8Vf0.js";import{c as f}from"./index-BC1-owN1.js";const m="nano-tbl",w=(t,n)=>{const e=globalThis[n];return null!=e&&t instanceof e},y=t=>{if(null!=t){if(w(t,"ArrayBuffer")||w(t,"MessagePort")||w(t,"ImageBitmap")||w(t,"OffscreenCanvas"))return[t];if("object"==typeof t)return t.constructor===Object&&(t=Object.values(t)),Array.isArray(t)?t.flatMap(y):y(t.buffer)}return[]};let v=0,g=0;const x=new Map,k=new Map,$=(n,e,o)=>{const i=new Worker(n,{name:e});return i.addEventListener("message",(({data:n})=>{if(n){const e=n[0],i=n[1],s=n[2];if(e===o){const e=n[3],[o,a,r]=x.get(i);if(x.delete(i),e){const n=e.isError?Object.assign(new Error(e.value.message),e.value):e.value;t(n),a(n)}else r&&r.forEach((t=>k.delete(t))),o(s)}else if(e===o+".cb")try{k.get(i)(...s)}catch(n){t(n)}}})),i},z=(t,n,e)=>(...o)=>new Promise(((i,s)=>{let a=v++,r=0,l=o.length,h=[i,s];for(x.set(a,h);r<l;r++)if("function"==typeof o[r]){const t=g++;k.set(t,o[r]),o[r]=[n+".cb",t],(h[2]=h[2]||[]).push(t)}const c=t=>t.postMessage([n,a,e,o],y(o));t.then?t.then(c):c(t)})),C=import("./table.worker-BJVVUKdP.js").then((t=>t.worker)),S=z(C,"stencil.table.worker","createWorkerStore"),R=z(C,"stencil.table.worker","syncConfigToWorker"),T=z(C,"stencil.table.worker","syncDataToWorker"),I=z(C,"stencil.table.worker","workerFilter"),B=z(C,"stencil.table.worker","workerSearch"),P=z(C,"stencil.table.worker","workerSort");function D(t){const n=JSON.parse(JSON.stringify(t));return t.forEach((t=>{t?.sortCompareFn&&(n.find((n=>n.prop===t.prop)).sortCompareFn=t.sortCompareFn.toString())})),n}const F=new WeakMap;function A(t,n){const e=M(),o=e.config.state.columns,i=e.data.state.rows,s=o[n],a=s?.prop,r=i[t];return{prop:a,cellModel:r?r[o[n].prop]:"",column:s,rowIndex:t,rowModel:r}}function E(t,n){if(!n)return t;const e={...n,...t};return n.class&&("object"==typeof n.class&&"object"==typeof e.class?e.class={...n.class,...e.class}:"string"==typeof n.class&&"object"==typeof e.class?e.class[n.class]=!0:"string"==typeof e.class&&"string"==typeof n.class&&(e.class+=" "+n.class)),n.style&&(e.style={...n.style,...e.style}),e}function M(){return t=o(i()),F.get(t);var t}function N(t){const o=t?.columnTemplate;return o?o(n,t):n(e,null,t.title)}function j(t,n,e=!1){const o={[`${m}__${t}`]:!0,[`${m}__pin`]:!!n,[`${m}__pin--top`]:"top"===n,[`${m}__pin--bottom`]:"bottom"===n};return e?O(o):o}function O(t){let n="";return Object.entries(t).forEach((([t,e])=>{e&&(n+=t+" ")})),n}const H=({column:t,onColumnSortClick:n,defaults:o})=>{if(t.hidden)return c(e,null);function i(){return!!o.sortable&&!1!==t.sortable||!o.sortable&&!0===t.sortable}let s={};t.columnProperties&&(s=t.columnProperties(t)||s);const a={class:{...j("th",t.pinned),[`${m}__pin--start`]:"start"===t.pinned,[`${m}__pin--end`]:"end"===t.pinned,[`${m}__ordered`]:!!t.order,[`${m}__filtered`]:null!=t.filter}};let r=s?E(a,s):a;if(!N(t))return c(e,null);if(r=Number(r.colSpan)>1?{...r,scope:"colgroup"}:{...r,scope:"col"},i()){const n=t.order?"asc"===t.order?"ascending":"descending":"none";r={...r,"aria-sort":n}}return c("th",{...r,key:t.prop},i()?c("button",{class:{[`${m}__order-btn`]:!0,[`${m}__cell-content`]:!0},onClick:function(e){let o;switch(t.order){case"asc":o="desc";break;case"desc":o=null;break;default:o="asc"}n(o,t.prop,e.target.closest("th"))}},N(t),null!=t.filter&&c("nano-icon",{name:"light/filter"}),!!t.order&&c("nano-icon","desc"===t.order?{name:"solid/arrow-down-long"}:{name:"solid/arrow-up-long"}),c("div",{class:`${m}__status-icons`},c("nano-icon",{name:"light/chevron-down"}))):c("div",{class:`${m}__cell-content`},N(t),null!=t.filter&&c("nano-icon",{name:"light/bars-filter"})))},W=(t,n=!1)=>{const e=M().config.state.columns[t],o={[`${m}__td`]:!0,[`${m}__ordered`]:!!e.order,[`${m}__pin`]:!!e.pinned,[`${m}__pin--start`]:"start"===e.pinned,[`${m}__pin--end`]:"end"===e.pinned};return n?O(o):o},L=({rowIndex:t,colIndex:n,nestedContent:o})=>{const s=()=>o?o():function(t,n){const o=M().config.state.columns,s=o[n]?.cellTemplate,a=A(t,n),r=i();if(a.cellModel&&"date"===o[n].type){const t=new Date(a.cellModel);t instanceof Date&&!isNaN(t)&&(a.cellModel=s?t:`${new Date(a.cellModel).toLocaleDateString()} ${new Date(a.cellModel).toLocaleTimeString()}`)}let l=!1,h=s?s(((...t)=>(l=!0,c(...t))),a):void 0;if(h&&r.customRenderer&&void 0===h.t&&!(h instanceof Element)&&"string"!=typeof h&&!l){const t=document.createElement("template"),n=r.customRenderer(h,t.content);h=n&&n.then?n:t}return h||(null!=a.cellModel?c(e,null,a.cellModel?.toString()):"")}(t,n)||c("span",{class:"placeholder"}," ");let a="td";const r=M().config.state.columns[n];if(r.hidden)return c(e,null);let l=function(t,n,e){const o={...e},i=M().config.state.columns[n]?.cellProperties;if(!i)return o;const s=i(A(t,n));return s?E(o,s):o}(t,n,{class:W(n)});r.rowHeader&&(l=Number(l.rowSpan)>1?{...l,scope:"rowgroup"}:{...l,scope:"row"},a="th");const h=t=>{const n=s();return c("div",{ref:t=>{t&&(n instanceof Element?(t.replaceChildren(),t.append(n.content||n)):n.then&&n.then((n=>t.innerHTML=n)))},...t,class:{[`${m}__cell-content`]:!0,[`${m}__cell-content--wrap`]:!!r.wrap},innerHTML:"string"==typeof n&&n.includes("<")?n:void 0},("string"!=typeof n||!n.includes("<"))&&!n.then&&!(n instanceof Element)&&n)};return c(a,{...l},r.autoTooltip&&!r.wrap?c("nano-resize-observe",{notifyContentFit:"x",onNanoResizeContentFitChange:t=>t.target.firstElementChild.disabled=t.detail.x},c("nano-tooltip",{disabled:!0,placement:"top",onNanoShow:t=>t.target.closest(a).style.zIndex="100",onNanoHide:t=>t.target.closest(a).style.zIndex=""},c(h,null),c("span",{slot:"content"},c(s,null)))):c(h,null))},J=(t,n,e)=>{const o=c("div",{...t.wrapperProps,class:{[`${m}__cell-content`]:!0,[`${m}__cell-content--wrap`]:t.wrap}},n);return t.header?c("th",{scope:e,...t.cellProps},o):c("td",{...t.cellProps},o)},K=({rowRenderer:t,rowIndex:n,rowModel:e},o,i)=>{const s=({header:t,wrap:n,cellProps:e,wrapperProps:o},i)=>J({header:t,wrap:n,cellProps:e,wrapperProps:o},i,"row");let a,r={};if(!e){const t=function(t){return{rowModel:M().data.state.rows[t],rowIndex:t}}(n);e=t.rowModel}t?.rowProperties&&(r=t.rowProperties({rowModel:e,rowIndex:n})||r),t?.pinned&&"function"==typeof t.pinned&&(a=t.pinned({rowModel:e,rowIndex:n}));const l=E({class:j("tr",a,!0)},r),h=t?.template,d=t=>i.map(t,((t,n)=>(["td","th"].includes(t.vtag.toString())&&(t.vattrs=E({class:W(n,!0)},t.vattrs)),t)));if(h){let t=h(c,{renderedRow:c("tr",{...l,key:e.__uuid},o),rowModel:e,rowIndex:n},s);return Array.isArray(t)&&(t=i.map(t,((t,n)=>("tr"===t.vtag&&(t.vkey||(t.vkey=`${e.__uuid}_${n}`),t.vattrs=E({class:j("tr",a,!0)},t.vattrs),t.vchildren&&(t.vchildren=d(t.vchildren))),t)))),t}return c("tr",{...l,key:e.__uuid},d(o))},Y=({rowRenderer:t},n,e)=>{let o={};t.rowProperties&&(o=t.rowProperties()||{});const i=({header:t,wrap:n,cellProps:e,wrapperProps:o},i)=>J({header:t,wrap:n,cellProps:e,wrapperProps:o},i,"col"),s=t.pinned||null,a={class:j("tr",s)},r=o?E(a,o):a,l=t?.template;if(l){let t=l(c,{renderedRow:c("tr",{...r},n)},i);return Array.isArray(t)&&(t=e.map(t,(t=>("tr"===t.vtag&&(t.vattrs=E({class:j("tr",s,!0)},t.vattrs),t.vchildren&&(t.vchildren=e.map(t.vchildren,(t=>(["td","th"].includes(t.vtag.toString())&&(t.vattrs=E({class:j(t.vtag.toString(),s,!0)},t.vattrs)),t))))),t)))),t}return c("tr",{...r},n)};function q(t,n){const e=document.getElementById(t)||document.createElement("style");e.id=t,e.innerHTML=n,e.isConnected||document.head.append(e)}class V{cachedColMeta=new WeakMap;tableId;tableEle;scrollElement;startColumns;endColumns;topRows;bottomRows;tableDims;constructor(t,n){this.tableEle=t,this.tableId=this.tableEle.id,this.scrollElement=n,this.startColumns=t.querySelector("thead").getElementsByClassName(`${m}__pin--start`),this.endColumns=t.querySelector("thead").getElementsByClassName(`${m}__pin--end`),this.topRows=t.getElementsByClassName(`${m}__pin--top`),this.bottomRows=t.getElementsByClassName(`${m}__pin--bottom`),this.onResize()}get pinnedStart(){return this._pinnedStart}set pinnedStart(t){this._pinnedStart=t,this.handlePinnedStartChange()}_pinnedStart=[];handlePinnedStartChange(){s((()=>{if(this.pinnedStart.length){this.tableEle.classList.add(`${m}__pinned--start`);const t=this.cachedColMeta.get(this.pinnedStart[this.pinnedStart.length-1]);q(`${this.tableId}-col-start-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) {\n --pin-start-active: 1;\n }\n `)}else this.tableEle.classList.remove(`${m}__pinned--start`),q(`${this.tableId}-col-start-active-style`,"")}))}get pinnedEnd(){return this._pinnedEnd}set pinnedEnd(t){this._pinnedEnd=t,this.handlePinnedEndChange()}_pinnedEnd=[];handlePinnedEndChange(){s((()=>{if(this.pinnedEnd.length){this.tableEle.classList.add(`${m}__pinned--end`);const t=this.cachedColMeta.get(this.pinnedEnd[0]);q(`${this.tableId}-col-end-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) { --pin-end-active: 1; }\n `)}else this.tableEle.classList.remove(`${m}__pinned--end`),q(`${this.tableId}-col-end-active-style`,"")}))}get cssColDimensionCacheKey(){return this._cssColDimensionCacheKey}set cssColDimensionCacheKey(t){t!==this._cssColDimensionCacheKey&&(this._cssColDimensionCacheKey=t,this.createPinnedColDimensionStyles())}_cssColDimensionCacheKey="";generateCssCacheKey(){let t="";for(const n of this.startColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}for(const n of this.endColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}this.cssColDimensionCacheKey=t}createPinnedColDimensionStyles(){let t=0,n=0;const e=Array.from(this.startColumns),o=Array.from(this.endColumns).reverse(),i=`\n ${e.map((n=>{const e=this.cachedColMeta.get(n);return t+=e.width-1||-1,`\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ td,\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ th {\n --pin-start: ${t-1}px;\n }\n `})).join("")}\n ${o.map((t=>{const e=this.cachedColMeta.get(t);return n+=e.width-1||-1,`\n #${this.tableId} tr > td:has(~ :nth-child(${e.idx+1})),\n #${this.tableId} tr > th:has(~ :nth-child(${e.idx+1})) {\n --pin-end: ${n-1}px;\n }\n `})).join("")}\n `;q(`${this.tableId}-dimension-style`,i)}getParentOffsets(){const{x:t,y:n}=this.scrollElement.getBoundingClientRect();let e=t,o=n;return this.scrollElement===document.documentElement&&(e=this.scrollElement.offsetLeft,o=this.scrollElement.offsetTop),{offsetX:e,offsetY:o}}assessRows(){if((this.topRows.length||this.bottomRows.length)&&(this.topRows.length&&a((async()=>{let t,n=0;const{offsetY:e}=this.getParentOffsets();for(const o of this.topRows){const{y:i,height:a}=o.getBoundingClientRect(),r=o.parentElement,l=getComputedStyle(o).getPropertyValue("--pin-top"),h=""!==l?parseFloat(l):n;s((()=>{i-e<=h?o.classList.add(`${m}__pinned`,`${m}__pinned--top`):o.classList.remove(`${m}__pinned`,`${m}__pinned--top`),t!==r&&(r.style.setProperty("--pin-top",n-1+"px"),n+=a-1,t=r)}))}})),this.bottomRows.length)){const t=Array.from(this.bottomRows).reverse();a((async()=>{let n,e=0;const{offsetY:o}=this.getParentOffsets();for(const i of t){if(!i.isConnected)continue;const{y:t,height:a}=i.getBoundingClientRect(),r=i.parentElement,l=getComputedStyle(i).getPropertyValue("--pin-bottom"),h=""!==l?parseFloat(l):e;await new Promise((l=>s((()=>{this.tableDims.height+o-(t+a)<=h?i.classList.add(`${m}__pinned`,`${m}__pinned--bottom`):i.classList.remove(`${m}__pinned`,`${m}__pinned--bottom`),n!==r&&(r.style.setProperty("--pin-bottom",e-1+"px"),e+=a-1,n=r),l()}))))}}))}}async assessCols(){if(!this.startColumns.length&&!this.endColumns.length)return;let t,n,e;const o=new Promise((o=>{this.startColumns.length&&a((()=>{const{offsetX:i}=this.getParentOffsets();let s=i;e=Array.from(this.startColumns[0].parentElement.children);for(const o of this.startColumns)t=o.getBoundingClientRect(),this.cachedColMeta.set(o,{width:t.width,idx:e.indexOf(o)}),n=this.pinnedStart.find((t=>t===o)),t.x<s?n||(this.pinnedStart=[...this.pinnedStart,o]):n&&(this.pinnedStart=this.pinnedStart.filter((t=>t!==o))),s+=t.width;this.endColumns.length||o()})),this.endColumns.length&&a((()=>{const i=Array.from(this.endColumns).reverse();e=Array.from(this.endColumns[0].parentElement.children);const{offsetX:s}=this.getParentOffsets();let a=0;for(const o of i)t=o.getBoundingClientRect(),this.cachedColMeta.set(o,{width:t.width,idx:e.indexOf(o)}),n=this.pinnedEnd.find((t=>t===o)),this.tableDims.width+s-t.right<=a?n||(this.pinnedEnd=[o,...this.pinnedEnd]):n&&(this.pinnedEnd=this.pinnedEnd.filter((t=>t!==o))),a+=t.width;o()}))}));await o,this.generateCssCacheKey()}cacheX=0;cacheY=0;onScroll(t){this.cacheX!==t.x&&(this.cacheX=t.x,this.assessCols()),this.cacheY!==t.y&&(this.cacheY=t.y,this.assessRows())}onResize(){this.tableDims={width:this.scrollElement.clientWidth,height:this.scrollElement.clientHeight},this.assessCols(),this.assessRows()}}let X=0;const U=class{constructor(t){r(this,t),this.nanoTblReady=l(this,"nanoTblReady",7),this.nanoTblBlockRendered=l(this,"nanoTblBlockRendered",7),this.nanoTblBeforeSort=l(this,"nanoTblBeforeSort",7),this.nanoTblAfterSort=l(this,"nanoTblAfterSort",7),this.nanoTblBeforeFilter=l(this,"nanoTblBeforeFilter",7),this.nanoTblAfterFilter=l(this,"nanoTblAfterFilter",7),this.nanoTblBeforeSearch=l(this,"nanoTblBeforeSearch",7),this.nanoTblAfterSearch=l(this,"nanoTblAfterSearch",7),this.nanoTblBeforeEdit=l(this,"nanoTblBeforeEdit",7),this.debounceSetLoading=b(this.debounceSetLoading.bind(this),50)}customRenderer;scrollable=!1;caption;showCaption=!1;loading=void 0;get _loading(){return void 0!==this.loading?this.loading:this.internalLoading}set _loading(t){void 0===this.loading&&this.debounceSetLoading(t)}debounceSetLoading(t){this.internalLoading=t}internalLoading=!0;placeholderSize=10;rows;handleRowsChange(){this.rows?(this._loading=!0,Promise.resolve(this.rows).then((async t=>{await function(t,n){const e=F.get(t);if(!e)return;const o=e.config.state.columns,i=o.filter((t=>"date"===t.type)).reduce(((t,n)=>[...t,n.prop]),[]),s=o.filter((t=>!t.type));return n=n.map(((t,n)=>(s.length&&0===n&&(e.config.state.columns=o.map((n=>{var e;return s.includes(n)&&t[n.prop]&&!n.type&&(n.type=(e=t[n.prop])instanceof Date?"date":["number","string","boolean"].includes(typeof e)?typeof e:"unknown","date"===n.type&&i.push(n.prop)),n}))),i.forEach((n=>{const e=new Date(t[n]);e&&Number(e)&&(t[n]=Number(e))})),t.__index=n,t.__uuid=p(o.map((n=>t[n.prop])).join()),t))),e.data.state.rows=n,e.general.state.workerId?T(e.general.state.workerId,n):void 0}(this.host,t),this.customFilterApplied?this.customFilterApplied=!1:this.currentFilters="",this.currentSort="",await this.columnInit(),this.isReady||requestAnimationFrame((()=>this.setInitialBlockDimension())),this._loading=!1,this.tablePinnedService&&this.tablePinnedService.assessRows()}))):this._loading=!0}columns=[];async handleColsChange(){await function(t,n){const e=F.get(t);if(e)return e.config.state.columns=n,e.general.state.workerId?R(e.general.state.workerId,D(n)):void 0}(this.host,this.columns),this.isReady&&this.columnInit()}headRender={pinned:"top"};rowRender;footRender={pinned:"bottom"};showFooter=!1;perBlock=50;get blocksLength(){return this.blocks.length}searchTerm;customFilterFn;customSortFn;defaultSort=!0;handleSearchTermChange(){this.searchStart()}showPaginateSpinner=!1;virtualTotalItems=0;virtualTotalItemsChangeHandler(){this.setBlocks()}get appliedFilters(){return this.filters}nanoTblReady;nanoTblBlockRendered;nanoTblBeforeSort;nanoTblAfterSort;nanoTblBeforeFilter;nanoTblAfterFilter;nanoTblBeforeSearch;nanoTblAfterSearch;nanoTblBeforeEdit;async resetSorting(){const t=this.columns.find((t=>!!t.order));if(t)return this.sortStart(null,t.prop)}async addSort(t,n){const e=this.columns.find((n=>n.prop===t));if(!e)throw new Error("Cannot find column with "+t);return this.sortStart(n,e.prop)}async resetFilters(){return this.filters=[],this.filterStart()}async addFilters(t,n=!0){return n||(this.filters=[]),this.filterStart(t,n)}async removeFilters(t){return this.filters=this.filters.filter((n=>!t.includes(n.prop))),this.filterStart()}async updateRow(t,n){this.rows.splice(n,1,t),this.handleRowsChange()}get host(){return o(this)}renderId="tbl-"+X++;store;filters=[];currentFilters="[]";currentSort="";tableEle;topAnchorEle;activeWatcherIo;tablePinnedService;customFilterApplied=!1;blocks=[];activeBlocks=[0,1];measureHeight=0;blockElements;blockHeights=[];set measureEle(t){if(!t)return;const n=t.getBoundingClientRect().height;this.measureHeight=Math.abs(this.measureHeight-n)<5?this.measureHeight:n,this.unitHeight=t.querySelector("tr")?.getBoundingClientRect().height||this.unitHeight}unitHeight=0;get scrollParent(){return this._scrollParent}set scrollParent(t){t!==this._scrollParent&&(this._scrollParent&&(this._scrollParent===document.documentElement?document:this._scrollParent).removeEventListener("scroll",this.scrollHandler),(t===document.documentElement?document:t).addEventListener("scroll",this.scrollHandler),this._scrollParent=t)}_scrollParent;get primaryBlockIndex(){return this._primaryBlockIndex}set primaryBlockIndex(t){this._primaryBlockIndex!==t&&(this._primaryBlockIndex=t,this.nanoTblBlockRendered.emit({block:t,totalBlocks:this.blockElements.length}))}_primaryBlockIndex;get isReady(){return this._isReady}set isReady(t){t!==this._isReady&&(this._isReady=t,this.isReady&&requestAnimationFrame((()=>this.handleReady())))}_isReady=!1;handleReady(){const t=window.location.hash;if(t.length>1)try{const n=document.querySelector(t);n&&n.scrollIntoView()}catch(t){}this.nanoTblReady.emit()}sortStart=async(t,n,e)=>{if(this.currentSort!==t+":"+n&&(this._loading=!0,!this.nanoTblBeforeSort.emit({column:n,order:t}).defaultPrevented)){if(this.currentSort=t+":"+n,this.scrollToTop(e),this.customSortFn)try{if(!0===await this.customSortFn(n,t))return this.sortComplete(t,n),void(this._loading=!1)}catch(t){return console.warn("custom sort failed",t),this.currentSort="",void(this._loading=!1)}try{await async function(t,n,e){const o=F.get(t);if(o&&o.general.state.workerId)try{o.data.state.rows=await P(o.general.state.workerId,n,e)}catch(t){console.warn(t)}}(this.host,n,t),this.sortComplete(t,n)}catch(t){console.warn("sort failed",t),this.currentSort=""}finally{this.blocks.length&&(this._loading=!1)}}};sortComplete(t,n){this.columns=this.columns.map((e=>e.prop===n?{...e,order:t}:{...e,order:null})),this.nanoTblAfterSort.emit({column:n,order:t})}async searchStart(){if(this._loading=!0,!this.nanoTblBeforeSearch.emit({term:this.searchTerm}).defaultPrevented){this.scrollToTop();try{await async function(t,n){const e=F.get(t);if(e&&e.general.state.workerId)try{e.data.state.rows=await B(e.general.state.workerId,n)}catch(t){console.warn(t)}}(this.host,this.searchTerm),this.nanoTblAfterSearch.emit({term:this.searchTerm})}catch(t){console.warn("search failed",t)}finally{this._loading=!1}}}async filterStart(t,n=!0){if(t&&(this.filters=n?[...this.filters.filter((n=>!t.find((t=>t.prop===n.prop)))),...t]:t),this.currentFilters!==JSON.stringify(this.filters)&&(this._loading=!0,!this.nanoTblBeforeFilter.emit({filters:this.filters}).defaultPrevented)){if(this.currentFilters=JSON.stringify(this.filters),this.scrollToTop(),this.customFilterFn)try{if(!0===await this.customFilterFn(this.filters))return this.customFilterApplied=!0,await this.filterComplete(),void(this._loading=!1)}catch(t){return console.warn("custom filter failed",t),this.currentFilters="",void(this._loading=!1)}try{await this.filterComplete()}catch(t){console.warn("filter failed",t)}finally{this._loading=!1}}}async filterComplete(){this.columns=this.columns.map((t=>{const n=this.filters.find((n=>n.prop===t.prop));return n&&("boolean"!=typeof n.filter&&n.filter.length||"boolean"==typeof n.filter)?t.filter=n.filter:(null!=t.filter||t.filter&&"boolean"!=typeof t.filter&&!t.filter.length)&&(t.filter=void 0),t})),await async function(t,n){const e=F.get(t);if(e&&e.general.state.workerId)try{e.data.state.rows=await I(e.general.state.workerId,n)}catch(t){console.warn(t)}}(this.host,this.filters),this.nanoTblAfterFilter.emit({filters:this.filters})}scrollToTop(t){if(!this.scrollParent)return;const n=this.scrollParent.style?.scrollBehavior,e=this.scrollParent.scrollLeft;this.scrollParent.style.scrollBehavior="auto",this.topAnchorEle&&!_(this.topAnchorEle,.1)&&this.host.scrollIntoView(),t&&!_(t,1)&&setTimeout((()=>t.scrollIntoView({block:"start"})),500),e&&(this.scrollParent.scrollLeft=e),n&&(this.scrollParent.style.scrollBehavior=n),this.scrollHandler()}setMeasureElement(){return new Promise((t=>{a((()=>{this.measureEle=this.blockElements.find((t=>!t?.classList?.contains(`${m}__inactive`))),t()}))}))}setInitialBlockDimension(){if(!this.blockElements?.length)return;const t=async()=>(await this.setMeasureElement(),!!this.unitHeight);new Promise((n=>{t().then((async e=>{if(e)n();else{const e=new IntersectionObserver((async()=>{await t()&&(n(),e.disconnect())}),{root:this.scrollParent});e.observe(this.tableEle)}}))})).then((()=>{requestAnimationFrame((()=>this.isReady=!0))}))}async columnInit(){this.filters=this.columns.filter((t=>null!=t.filter)).map((t=>{const{filter:n,prop:e}=t;return{prop:e,filter:n}})),this.searchTerm&&await this.searchStart(),this.filters.length&&await this.filterStart();const t=this.columns.find((t=>!!t.order));t&&await this.sortStart(t.order,t.prop),this.tablePinnedService&&this.tablePinnedService.assessCols()}setBlocks(){const t=this.store.data.state.rows;if(!t.length)return void(this.blocks=[]);let n=1;const e=this.virtualTotalItems>t.length?this.virtualTotalItems:t.length;let o=[];const i=[];for(;n<=e;n++)o.push(this.store.data.state.rows[n-1]||{__uuid:""}),n%this.perBlock==0&&(i.push({rows:o,__uuid:p(o.map((t=>t.__uuid)).join())}),o=[]);o.length&&i.push({rows:o,__uuid:p(o.map((t=>t.__uuid)).join())}),this.blocks=i}getBlockHeight(t){if(this.blockHeights.length){const n=this.blockHeights.find((n=>n.blockIndex===t));if(n&&n.height)return n.height}const n=this.blocks[t].rows.length;return n===this.perBlock&&this.measureHeight?this.measureHeight:this.unitHeight?this.unitHeight*n:100}setBlockHeight(){this.activeBlocks.forEach((t=>{const n=this.blockElements[t];n&&a((()=>{if(n.classList.contains(`${m}__inactive`))return;const e=n.getBoundingClientRect().height,o=this.blockHeights.findIndex((n=>n.blockIndex===t));o>-1?this.blockHeights[o]={height:e,blockIndex:t}:this.blockHeights.push({height:e,blockIndex:t})}))}))}scrollHandler=()=>{let t=0;this.store?.general.state.isActive&&this.rows&&(void 0===this.primaryBlockIndex&&(this.primaryBlockIndex=0),a((()=>{t=void 0!==this.scrollParent.scrollTop?this.scrollParent.scrollTop:window.scrollY,t+=this.host.offsetTop,this.tablePinnedService&&this.tablePinnedService.onScroll({x:void 0!==this.scrollParent.scrollLeft?this.scrollParent.scrollLeft:window.scrollX,y:t});let n=this.host.offsetTop,e=0;const o=this.blocks.length;for(;e<o&&t>=n;){if(n+=this.getBlockHeight(e),t<n){const t=[e,e+1];t.toString()!==this.activeBlocks.toString()&&(this.activeBlocks=t),this.primaryBlockIndex=e}e++}})))};processSlots(){this.caption||this.host.querySelector('[slot="caption"]')||console.error("For accessibility you must set a `caption` prop or use the `caption` slot")}setupActiveWatcher(){this.host&&this.scrollParent&&this.store&&(this.activeWatcherIo&&(this.activeWatcherIo.disconnect(),this.activeWatcherIo=void 0),(this.activeWatcherIo=new IntersectionObserver((([t])=>{this.store.general.state.isActive=!!t.isIntersecting}),{root:this.scrollParent,threshold:0})).observe(this.scrollable?this.tableEle:this.host))}async componentWillLoad(){this.store=await async function(t,n,e,o){const i={data:f({rows:[]}),config:f({columns:n}),general:f({workerId:null,scrollParent:e,host:t,isReady:o})},s=await S(i.data.state.rows,D(i.config.state.columns));return i.general.state.workerId=s,F.set(t,i),i.data.use({reset:()=>{i.general.state.workerId&&T(i.general.state.workerId,null)},dispose:()=>{i.general.state.workerId&&T(i.general.state.workerId,null)}}),i.config.use({reset:()=>{i.general.state.workerId&&R(i.general.state.workerId,null)},dispose:()=>{i.general.state.workerId&&R(i.general.state.workerId,null)}}),i}(this.host,this.columns,this.scrollParent,this.isReady),this.handleRowsChange(),this.store.general.onChange("isActive",(()=>{this.scrollHandler()})),this.store.data.onChange("rows",(()=>this.setBlocks())),this.processSlots(),this.setBlocks(),this.scrollable||(this.scrollParent=u(this.host),this.setupActiveWatcher())}connectedCallback(){this.scrollable||(this.scrollParent=u(this.host),this.setupActiveWatcher())}componentDidLoad(){this.setInitialBlockDimension(),this.scrollable&&(this.scrollParent=this.host.querySelector(d("nano-masked-overflow")).shadowRoot.querySelector(".onav__scroller"),this.setupActiveWatcher()),this.tablePinnedService||(this.tablePinnedService=new V(this.tableEle,this.scrollParent))}componentShouldUpdate(t,n,e){if(["rows","columns"].includes(e))return!1}componentWillRender(){}componentDidRender(){this.setMeasureElement().then((()=>this.setBlockHeight()))}disconnectedCallback(){this.activeWatcherIo&&(this.activeWatcherIo.disconnect(),this.activeWatcherIo=void 0,(this.scrollParent===document.documentElement?document:this.scrollParent).removeEventListener("scroll",this.scrollHandler))}render(){return this.blockElements=[],c(h,{class:"nano-data-table"},c("div",{class:`${m}__top-anchor`,ref:t=>this.topAnchorEle=t}," "),c("nano-resize-observe",{onNanoResize:()=>{this.tablePinnedService&&this.tablePinnedService.onResize()}}),(t=>this.scrollable?c("nano-masked-overflow",{hideScrollbars:!1,scrollControls:!1,label:this.caption},t):c("div",null,t))(c("div",{class:`${m}__wrap`},c("nano-progress-bar",{class:{[`${m}__progress-bar`]:!0,[`${m}__progress-bar--show`]:this._loading}},c("progress",null)),c("table",{"aria-rowcount":this.store.data.state.rows.length,"aria-colcount":this.store.config.state.columns.length,class:`${m}`,ref:t=>this.tableEle=t,id:"nano-data-table-"+this.renderId,"aria-busy":this._loading||void 0},c("caption",{class:{[`${m}__caption`]:!0,[`${m}__caption--hide`]:!this.showCaption}},c("slot",{name:"caption"},this.caption)),c("thead",null,c(Y,{rowRenderer:this.headRender},this.store.config.state.columns.map((t=>[c(H,{column:t,headRenderer:this.headRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})])))),this._loading&&!this.blocks.length&&c("tbody",{class:`${m}__active ${m}__loading`},[...Array(this.placeholderSize).keys()].map((t=>c("tr",null,this.store.config.state.columns.map(((n,e)=>c(L,{rowIndex:t,colIndex:e,nestedContent:()=>c("span",{class:"n-loader-skeleton"},c("span",null,"Content loading"))}))))))),c("tr",{hidden:!!this._loading||!!this.blocks.length},c("th",{class:`${m}__th`,colSpan:this.store.config.state.columns.length},c("div",{class:"nano-tbl__cell-content nano-tbl__cell-content--no-result"},c("slot",{name:"no-results"},"No results found")))),this.blocks.map(((t,n)=>c("tbody",{key:t.__uuid,id:`tbody-${this.renderId}-${n}`,ref:t=>{this.blockElements.push(t)},class:{[`${m}__inactive`]:!this.activeBlocks.includes(n),[`${m}__active`]:this.activeBlocks.includes(n)}},this.activeBlocks.includes(n)?t.rows.map(((t,e)=>{const o=n>0?n*this.perBlock+e:e;return c(K,{rowRenderer:this.rowRender,rowModel:t,rowIndex:o},this.store.config.state.columns.map(((t,n)=>c(L,{rowIndex:o,colIndex:n}))))})):c("tr",{class:`${m}__tr--placeholder`},c("td",{colSpan:this.store.config.state.columns.length,style:{height:this.getBlockHeight(n)+"px"}}))))),this.showFooter&&c("tfoot",null,c(Y,{rowRenderer:this.footRender},this.store.config.state.columns.map((t=>[c(H,{column:t,headRenderer:this.footRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})]))))),!!this.blocks.length&&this.showPaginateSpinner&&c("nano-spinner",{class:{[`${m}__spinner`]:!0,[`${m}__spinner--show`]:this._loading}}))))}static get watchers(){return{rows:["handleRowsChange"],columns:["handleColsChange"],searchTerm:["handleSearchTermChange"],virtualTotalItems:["virtualTotalItemsChangeHandler"]}}};U.style=':host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }.nano-data-table {\n /**\n * @prop --table-padding. The padding of the table cells. Defaults to `var(--table-compact-padding)`\n * @prop --table-border-color. The border color of the table cells. Defaults to `var(--nano-color-neutral-200)`\n * @prop --table-border-color-header. The border color of the table header and footer cells. Defaults to `var(--nano-color-primary-1000)`\n * @prop --table-background. The background color of the table cells. Defaults to `var(--nano-color-base-0)`\n * @prop --table-max-col-width. The maximum width of the table columns. Defaults to `clamp(200px, 500px, 50vw)`\n * @prop --table-ordered-bg. The background color of the ordered table rows. Defaults to `var(--nano-color-neutral-100)`\n * @prop --table-wrapper-max-height: maximum height of the table when table is scrollable. Defaults to 80vh;\n * @prop --table-wrapper-max-width: maximum width of the table when table is scrollable. Defaults to 100%;\n */\n --table-padding: var(--nano-spacing-sm) calc(var(--nano-spacing-md) - (var(--nano-spacing-md) / 3));\n --table-border-color: var(--nano-color-neutral-200);\n --table-border-color-header: var(--nano-color-primary-1000);\n --table-background: var(--nano-color-base-0);\n --table-max-col-width: clamp(200px, 500px, 50vw);\n --table-ordered-bg: var(--nano-color-neutral-100);\n --table-wrapper-max-height: 80vh;\n --table-wrapper-max-width: 100%;\n display: block;\n inline-size: 100%;\n color: var(--nano-color-neutral-1400);\n container-type: inline-size;\n --isLtR: 1;\n}\n.nano-data-table:dir(rtl) {\n --isLtR: -1;\n}\n.nano-data-table .nano-sortable__dragged {\n background: var(--nano-color-base-0);\n opacity: 0.9;\n box-shadow: var(--nano-shadow-l0);\n z-index: 10 !important;\n}\n\n.nano-tbl__wrap {\n display: table;\n min-inline-size: 100%;\n}\n.nano-data-table:not([scrollable=false]) .nano-tbl__wrap {\n max-inline-size: var(--table-wrapper-max-width);\n max-block-size: var(--table-wrapper-max-height);\n position: relative;\n display: block;\n}\n.nano-data-table:not([scrollable=false]) .nano-tbl__wrap table {\n margin-block-end: var(--nano-spacing-l);\n}\n\n.nano-data-table:not([scrollable=false]):has(.nano-tbl__pin--start, .nano-tbl__pin--end) .nano-masked-overflow {\n --fade-size: 0;\n}\n\n.nano-tbl {\n text-align: start;\n inline-size: 100%;\n border-spacing: 0 0;\n border-collapse: separate;\n border-inline-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n position: relative;\n z-index: 1;\n}\n.nano-tbl__top-anchor {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n position: relative;\n}\n.nano-tbl__ordered {\n background-color: var(--table-ordered-bg);\n --table-border-color: var(--nano-color-neutral-300);\n}\n.nano-tbl__order-btn {\n padding: 0;\n border: none;\n outline: none;\n font: inherit;\n background: none;\n appearance: none;\n color: inherit;\n display: flex;\n gap: var(--nano-spacing-sm);\n align-items: center;\n inline-size: 100%;\n}\n.nano-tbl__order-btn:focus-visible {\n outline: var(--nano-focus-ring);\n outline-offset: var(--nano-focus-ring-offset);\n}\n.nano-tbl__status-icons {\n margin-inline: auto 10px;\n display: flex;\n gap: 10px;\n}\n.nano-tbl__progress-bar {\n --height: 0.2125rem;\n position: sticky;\n inset-block-start: 0;\n inset-inline: 0;\n z-index: 10;\n transition: transform 0.25s;\n transform: scale(0);\n inline-size: 100%;\n}\n.nano-tbl__progress-bar--show {\n transform: scale(1);\n}\n.nano-tbl__caption--hide {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n}\n.nano-tbl__td, .nano-tbl__th {\n max-inline-size: var(--table-max-col-width);\n}\nthead .nano-tbl__td .nano-sortable__keyboard-handle, thead .nano-tbl__th .nano-sortable__keyboard-handle {\n position: absolute;\n inset-inline-end: 5px;\n inset-block-start: 50%;\n transform: translateY(-50%);\n background: white;\n z-index: 10;\n}\n.nano-tbl__td.nano-tbl__ordered, .nano-tbl__th.nano-tbl__ordered {\n background-color: var(--table-ordered-bg) !important;\n --table-border-color: var(--nano-color-neutral-300);\n}\n.nano-tbl__cell-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.nano-tbl__cell-content--no-result {\n padding-block: var(--nano-spacing-md);\n}\n.nano-tbl__cell-content--wrap {\n white-space: normal;\n overflow: visible;\n}\n.nano-tbl tbody {\n opacity: 1;\n transition: 0.1s ease opacity;\n}\n.nano-tbl tbody.nano-tbl__loading {\n z-index: -1;\n position: relative;\n}\n.nano-tbl tbody.nano-tbl__inactive {\n opacity: 0;\n}\n.nano-tbl tbody .nano-tbl__tr:has(~ .nano-tbl__tr--placeholder) {\n display: none;\n}\n.nano-tbl tbody .nano-tbl__tr--placeholder ~ .nano-tbl__tr {\n display: none;\n}\n.nano-tbl th[scope=row] {\n margin: 0;\n}\n.nano-tbl__tr {\n --base-z: 0;\n}\n.nano-tbl__pin {\n z-index: var(--z, var(--base-z, 0));\n}\n.nano-tbl__pin .nano-tbl__th, .nano-tbl__pin .nano-tbl__td {\n z-index: var(--z, var(--base-z, 0));\n}\n.nano-tbl__pin--start {\n position: sticky;\n inset-inline-start: var(--pin-start, -1px);\n}\n.nano-tbl__pin--start::after {\n content: "";\n position: absolute;\n inset: 0;\n box-shadow: calc(4px * var(--isLtR)) 0 4px -3px rgb(var(--nano-color-base-rgb-1000)/25%);\n opacity: var(--pin-start-active, 0);\n z-index: -1;\n}\n.nano-tbl__pinned--start .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 3) !important;\n}\n.nano-tbl__pin--end {\n position: sticky;\n inset-inline-end: var(--pin-end, -1px);\n max-inline-size: min(50vw, 200px);\n}\n@container (width <= 500px) {\n .nano-tbl__pin--start ~ .nano-tbl__pin--end {\n --z: 0 !important;\n inset-inline-end: auto !important;\n }\n .nano-tbl__pin--start ~ .nano-tbl__pin--end::after {\n display: none !important;\n }\n}\n@media (width <= 500px) {\n .nano-tbl__pin--start ~ .nano-tbl__pin--end {\n --z: 0 !important;\n inset-inline-end: auto !important;\n }\n .nano-tbl__pin--start ~ .nano-tbl__pin--end::after {\n display: none !important;\n }\n}\n.nano-tbl__pin--end::after {\n display: block;\n content: "";\n position: absolute;\n inset: 0;\n box-shadow: calc(-4px * var(--isLtR)) 0 4px -3px rgb(var(--nano-color-base-rgb-1000)/25%);\n opacity: var(--pin-end-active, 0);\n z-index: -1;\n}\n.nano-tbl__pinned--end .nano-tbl__pin--end {\n --z: calc(var(--base-z) + 2);\n}\n.nano-tbl__pin--top .nano-tbl__th, .nano-tbl__pin--top .nano-tbl__td {\n position: sticky;\n inset-block-start: var(--pin-top, -1px);\n}\n.nano-tbl__pin--top .nano-tbl__pin--end, .nano-tbl__pin--top .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 1);\n}\n.nano-tbl__pin--top.nano-tbl__pinned--top {\n --base-z: 4;\n}\ntbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__th, tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__td {\n border-block-end: 1px solid var(--table-border-color-header);\n}\n.nano-tbl__pin--bottom .nano-tbl__th, .nano-tbl__pin--bottom .nano-tbl__td {\n position: sticky;\n inset-block-end: var(--pin-bottom, -1px);\n}\n.nano-tbl__pin--bottom .nano-tbl__pin--end, .nano-tbl__pin--bottom .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 1);\n}\n.nano-tbl__pin--bottom.nano-tbl__pinned--bottom {\n --base-z: 5;\n}\n.nano-tbl__pin--bottom.nano-tbl__pinned--bottom:has(.nano-tbl__pin--bottom.nano-tbl__pinned--bottom) .nano-tbl__pin {\n --base-z: 6;\n}\ntbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__th, tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__td {\n border-block-start: 1px solid var(--table-border-color-header);\n}\n.nano-tbl thead tr:last-of-type td,\n.nano-tbl thead tr:last-of-type th {\n border-block-end: 2px solid var(--table-border-color-header);\n}\n.nano-tbl tfoot tr:first-of-type td,\n.nano-tbl tfoot tr:first-of-type th {\n border-block-start: none;\n}\n.nano-tbl tfoot tr:last-of-type td,\n.nano-tbl tfoot tr:last-of-type th {\n border-block-end: 2px solid var(--table-border-color-header);\n border-block-start: 2px solid var(--table-border-color-header);\n}\n.nano-tbl .unlimited-width {\n max-inline-size: none;\n}\n.nano-tbl__spinner {\n font-size: 1.5rem;\n transition: scale 0.25s;\n scale: 0;\n padding: 0.5rem;\n position: absolute;\n inset-block-end: 0;\n inset-inline-start: calc(50% - 0.75rem);\n z-index: 0;\n}\n.nano-tbl__spinner--show {\n scale: 1;\n position: sticky;\n}';export{U as N,$ as c}