@ionic/core 8.8.7-dev.11779221548.1d38f927 → 8.8.7-dev.11779385275.161a641b

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.
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{p as t,H as i,f as o,h as s,d as e,t as r}from"./p-3Ni1Z654.js";import{r as n}from"./p-BqDiJgC_.js";import{b as a}from"./p-CVBkx7m1.js";const l=/^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i,h=/^(calc|min|max|clamp)\s*\(.+\)$/i,d={xs:2,sm:3,md:4,lg:6,xl:8,xxl:10},u="16px",m={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},p=["xs","sm","md","lg","xl","xxl"],c=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.hasWarnedInvalidColumns=!1,this.hasWarnedInvalidGap=!1,this.hasWarnedUnusedOrder=!1,this.layout="uniform",this.columns=d,this.gap=u,this.onSlotChange=()=>{this.scheduleMasonryResize()},this.resizeMasonryGrid=()=>{if(this.masonryRaf=void 0,"masonry"!==this.layout)return void this.clearMasonryStyles();const t=this.el.getBoundingClientRect().width,i=this.getColumnsForWidth(t);if(void 0===i)return;const o=getComputedStyle(this.el),s=parseFloat(o.getPropertyValue("grid-auto-rows"))||0,e=parseFloat(o.getPropertyValue("row-gap"))||parseFloat(o.getPropertyValue("gap"))||0,r=this.getItems();this.layoutMasonry(r,s,e,i)}}onColumnsOrGapChanged(){this.syncResponsiveLayout()}onLayoutOrOrderChanged(){this.syncResponsiveLayout(),n((()=>{this.warnUnusedOrder()}))}componentDidLoad(){this.updateResponsiveStyles(!0),this.resizeObserver=new ResizeObserver((()=>{this.updateResponsiveStyles(),this.scheduleMasonryResize()})),this.resizeObserver.observe(this.el),this.scheduleMasonryResize(),this.warnUnusedOrder()}disconnectedCallback(){var t;void 0!==this.masonryRaf&&(cancelAnimationFrame(this.masonryRaf),this.masonryRaf=void 0),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0}onChildLoad(t){if("masonry"!==this.layout)return;const i=t.target;i instanceof Node&&this.el.contains(i)&&this.scheduleMasonryResize()}syncResponsiveLayout(){this.updateResponsiveStyles(!0),this.scheduleMasonryResize()}scheduleMasonryResize(){"masonry"===this.layout?(void 0!==this.masonryRaf&&cancelAnimationFrame(this.masonryRaf),this.masonryRaf=requestAnimationFrame(this.resizeMasonryGrid)):this.clearMasonryStyles()}sanitizeColumns(t){if(void 0===t)return;const i="number"==typeof t?t:Number(t);return!Number.isFinite(i)||!Number.isInteger(i)||i<=0?void 0:i}sanitizeGap(t){if(void 0===t)return;const i="string"==typeof t?t.trim():t;if(""===i||"object"==typeof i)return;const o=Number(i);return Number.isFinite(o)?o<0?void 0:o+"px":"string"==typeof i&&function(t){const i=t.trim();return!!i&&(h.test(i)||l.test(i))}(i)?i:void 0}isBreakpointMap(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}hasInvalidBreakpointMap(t,i){let o=!1;for(const s of p){const e=t[s];if(void 0!==e&&(o=!0,void 0===i(e)))return!0}return!o}resolveFromBreakpoints(t,i,o,s){let e;for(const r of p){const n=i[r],a=o(n),l=s(r),h=void 0===n||void 0===a?l:a;void 0!==h&&t>=m[r]&&(e=h)}return e}getColumnsFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeColumns(t)),(t=>this.sanitizeColumns(d[t])))}getGapFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeGap(t)),(()=>this.sanitizeGap(u)))}warnInvalidColumns(t){this.hasWarnedInvalidColumns||(o(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(t)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`,this.el),this.hasWarnedInvalidColumns=!0)}warnInvalidGap(t){this.hasWarnedInvalidGap||(o(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(t)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`,this.el),this.hasWarnedInvalidGap=!0)}warnUnusedOrder(){const{layout:t}=this;this.hasWarnedUnusedOrder||"uniform"!==t||void 0===(null==this.order?void 0:this.order)||(o('[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.',this.el),this.hasWarnedUnusedOrder=!0)}getColumnsForWidth(t){const{columns:i}=this,o=this.isBreakpointMap(i),s=o&&this.hasInvalidBreakpointMap(i,(t=>this.sanitizeColumns(t))),e=o?this.getColumnsFromBreakpointMap(t,i):this.sanitizeColumns(i);return(s||!o&&void 0===e)&&this.warnInvalidColumns(i),void 0!==e?e:this.getColumnsFromBreakpointMap(t,d)}getGapForWidth(t){const{gap:i}=this,o=null!=i?i:u,s=this.isBreakpointMap(o),e=s&&this.hasInvalidBreakpointMap(o,(t=>this.sanitizeGap(t))),r=s?this.getGapFromBreakpointMap(t,o):this.sanitizeGap(o);return(e||!s&&void 0===r)&&this.warnInvalidGap(o),void 0!==r?r:this.sanitizeGap(u)}updateResponsiveStyles(t=!1){const i=this.el.getBoundingClientRect().width;if(!i||!t&&void 0!==this.lastWidth&&Math.abs(this.lastWidth-i)<1)return;this.lastWidth=i;const o=this.getColumnsForWidth(i);this.el.style.setProperty("--internal-gallery-columns",""+o);const s=this.getGapForWidth(i);this.el.style.setProperty("--internal-gallery-gap",""+s)}getItems(){return Array.from(this.el.children).filter((t=>{var i;return"function"==typeof(null===(i=t.style)||void 0===i?void 0:i.setProperty)}))}clearItemStyles(t){t.style.gridRowStart="",t.style.gridRowEnd="",t.style.gridColumn="",t.style.marginBottom=""}clearMasonryStyles(){this.getItems().forEach((t=>this.clearItemStyles(t)))}calculateRowSpan(t,i,o){if(t instanceof HTMLImageElement&&(!t.complete||0===t.naturalHeight))return;const s=t.getBoundingClientRect().height,e=getComputedStyle(t),r=parseFloat(e.getPropertyValue("margin-bottom"))||0,n=i+o;return n&&Number.isFinite(n)&&Math.ceil((s+r+o)/n)||1}getColumnIndex(t,i,o){if("best-fit"===this.getOrder()){let t=0;for(let s=1;s<o;s++)i[s]<i[t]&&(t=s);return t}return t%o}layoutMasonry(t,i,o,s){const e=Array(s).fill(0),r=Array(s).fill(void 0);t.forEach(((t,n)=>{t.style.marginBottom="";const a=this.calculateRowSpan(t,i,o);if(void 0===a)return void this.clearItemStyles(t);const l=this.getColumnIndex(n,e,s),h=e[l]+1;t.style.gridColumn=""+(l+1),t.style.gridRowStart=""+h,t.style.gridRowEnd="span "+a,e[l]=h+a-1,r[l]=t})),r.forEach((t=>{if(void 0===t)return;t.style.marginBottom="0px";const s=this.calculateRowSpan(t,i,o);void 0!==s?t.style.gridRowEnd="span "+s:this.clearItemStyles(t)}))}getOrder(){const{layout:t}=this,i=null==this.order?void 0:this.order;if("uniform"!==t)return"masonry"===t&&void 0===i?"sequential":i}render(){const{layout:t}=this,i=this.getOrder(),o=a(this);return s(e,{key:"1bf2973d22835c0dbddf3214b602f8c08b95e421",class:{[o]:!0,["gallery-layout-"+t]:!0,["gallery-order-"+i]:"masonry"===t&&void 0!==i}},s("slot",{key:"0dea31f609f6afdb1d73ecb2d873909ffe49203f",onSlotchange:this.onSlotChange}))}get el(){return this}static get watchers(){return{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}}static get style(){return":host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}"}},[257,"ion-gallery",{layout:[1],order:[1],columns:[8],gap:[8]},[[2,"load","onChildLoad"]],{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}]),g=c,y=function(){"undefined"!=typeof customElements&&["ion-gallery"].forEach((t=>{"ion-gallery"===t&&(customElements.get(r(t))||customElements.define(r(t),c))}))};export{g as IonGallery,y as defineCustomElement}
4
+ import{p as t,H as i,f as o,h as s,d as e,t as r}from"./p-3Ni1Z654.js";import{r as n}from"./p-BqDiJgC_.js";import{b as a}from"./p-CVBkx7m1.js";const l=/^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i,h=/^(calc|min|max|clamp)\s*\(.+\)$/i,u={xs:2,sm:3,md:4,lg:6,xl:8,xxl:10},d="16px",m={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},c=["xs","sm","md","lg","xl","xxl"],p=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.itemWrapperSelector="[data-gallery-group]",this.hasWarnedInvalidColumns=!1,this.hasWarnedInvalidGap=!1,this.hasWarnedUnusedOrder=!1,this.layout="uniform",this.columns=u,this.gap=d,this.onSlotChange=()=>{this.scheduleMasonryResize()},this.resizeMasonryGrid=()=>{if(this.masonryRaf=void 0,"masonry"!==this.layout)return void this.clearMasonryStyles();const t=this.el.getBoundingClientRect().width,i=this.getColumnsForWidth(t);if(void 0===i)return;const o=getComputedStyle(this.el),s=parseFloat(o.getPropertyValue("grid-auto-rows"))||0,e=parseFloat(o.getPropertyValue("row-gap"))||parseFloat(o.getPropertyValue("gap"))||0,r=parseFloat(o.getPropertyValue("column-gap"))||parseFloat(o.getPropertyValue("gap"))||0,n=this.getItems();this.layoutMasonry(n,s,e,r,i)}}onColumnsOrGapChanged(){this.syncResponsiveLayout()}onLayoutOrOrderChanged(){this.syncResponsiveLayout(),n((()=>{this.warnUnusedOrder()}))}componentDidLoad(){this.updateResponsiveStyles(!0),this.resizeObserver=new ResizeObserver((()=>{this.updateResponsiveStyles(),this.scheduleMasonryResize()})),this.resizeObserver.observe(this.el),this.scheduleMasonryResize(),this.warnUnusedOrder()}disconnectedCallback(){var t;void 0!==this.masonryRaf&&(cancelAnimationFrame(this.masonryRaf),this.masonryRaf=void 0),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0}onChildLoad(t){if("masonry"!==this.layout)return;const i=t.target;i instanceof Node&&this.el.contains(i)&&this.scheduleMasonryResize()}syncResponsiveLayout(){this.updateResponsiveStyles(!0),this.scheduleMasonryResize()}scheduleMasonryResize(){"masonry"===this.layout?(void 0!==this.masonryRaf&&cancelAnimationFrame(this.masonryRaf),this.masonryRaf=requestAnimationFrame(this.resizeMasonryGrid)):this.clearMasonryStyles()}sanitizeColumns(t){if(void 0===t)return;const i="number"==typeof t?t:Number(t);return!Number.isFinite(i)||!Number.isInteger(i)||i<=0?void 0:i}sanitizeGap(t){if(void 0===t)return;const i="string"==typeof t?t.trim():t;if(""===i||"object"==typeof i)return;const o=Number(i);return Number.isFinite(o)?o<0?void 0:o+"px":"string"==typeof i&&function(t){const i=t.trim();return!!i&&(h.test(i)||l.test(i))}(i)?i:void 0}isBreakpointMap(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}hasInvalidBreakpointMap(t,i){let o=!1;for(const s of c){const e=t[s];if(void 0!==e&&(o=!0,void 0===i(e)))return!0}return!o}resolveFromBreakpoints(t,i,o,s){let e;for(const r of c){const n=i[r],a=o(n),l=s(r),h=void 0===n||void 0===a?l:a;void 0!==h&&t>=m[r]&&(e=h)}return e}getColumnsFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeColumns(t)),(t=>this.sanitizeColumns(u[t])))}getGapFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeGap(t)),(()=>this.sanitizeGap(d)))}warnInvalidColumns(t){this.hasWarnedInvalidColumns||(o(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(t)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`,this.el),this.hasWarnedInvalidColumns=!0)}warnInvalidGap(t){this.hasWarnedInvalidGap||(o(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(t)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`,this.el),this.hasWarnedInvalidGap=!0)}warnUnusedOrder(){const{layout:t}=this;this.hasWarnedUnusedOrder||"uniform"!==t||void 0===(null==this.order?void 0:this.order)||(o('[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.',this.el),this.hasWarnedUnusedOrder=!0)}getColumnsForWidth(t){const{columns:i}=this,o=this.isBreakpointMap(i),s=o&&this.hasInvalidBreakpointMap(i,(t=>this.sanitizeColumns(t))),e=o?this.getColumnsFromBreakpointMap(t,i):this.sanitizeColumns(i);return(s||!o&&void 0===e)&&this.warnInvalidColumns(i),void 0!==e?e:this.getColumnsFromBreakpointMap(t,u)}getGapForWidth(t){const{gap:i}=this,o=null!=i?i:d,s=this.isBreakpointMap(o),e=s&&this.hasInvalidBreakpointMap(o,(t=>this.sanitizeGap(t))),r=s?this.getGapFromBreakpointMap(t,o):this.sanitizeGap(o);return(e||!s&&void 0===r)&&this.warnInvalidGap(o),void 0!==r?r:this.sanitizeGap(d)}updateResponsiveStyles(t=!1){const i=this.el.getBoundingClientRect().width;if(!i||!t&&void 0!==this.lastWidth&&Math.abs(this.lastWidth-i)<1)return;this.lastWidth=i;const o=this.getColumnsForWidth(i);this.el.style.setProperty("--internal-gallery-columns",""+o);const s=this.getGapForWidth(i);this.el.style.setProperty("--internal-gallery-gap",""+s)}isGalleryItemElement(t){var i;return"function"==typeof(null===(i=t.style)||void 0===i?void 0:i.setProperty)}getItems(){const t=Array.from(this.el.children).filter((t=>this.isGalleryItemElement(t))),i=[];return t.forEach((t=>{if(!t.matches(this.itemWrapperSelector))return void i.push(t);t.style.display="contents";const o=Array.from(t.children).filter((t=>this.isGalleryItemElement(t)));i.push(...o)})),i}clearItemStyles(t){t.style.gridRowStart="",t.style.gridRowEnd="",t.style.gridColumn="",t.style.marginBottom=""}clearMasonryStyles(){this.getItems().forEach((t=>this.clearItemStyles(t)))}calculateRowSpan(t,i,o){if(t instanceof HTMLImageElement&&(!t.complete||0===t.naturalHeight))return;const s=t.getBoundingClientRect().height,e=getComputedStyle(t),r=parseFloat(e.getPropertyValue("margin-bottom"))||0,n=i+o;return n&&Number.isFinite(n)&&Math.ceil((s+r+o)/n)||1}getColumnIndex(t,i,o){if("best-fit"===this.getOrder()){let t=0;for(let s=1;s<o;s++)i[s]<i[t]&&(t=s);return t}return t%o}layoutMasonry(t,i,o,s,e){const r=Array(e).fill(0),n=Array(e).fill(void 0);t.forEach(((t,a)=>{t.style.marginBottom="",t.parentElement!==this.el&&(t.style.marginBottom=s+"px");const l=this.calculateRowSpan(t,i,o);if(void 0===l)return void this.clearItemStyles(t);const h=this.getColumnIndex(a,r,e),u=r[h]+1;t.style.gridColumn=""+(h+1),t.style.gridRowStart=""+u,t.style.gridRowEnd="span "+l,r[h]=u+l-1,n[h]=t})),n.forEach((t=>{if(void 0===t)return;t.style.marginBottom="0px";const s=this.calculateRowSpan(t,i,o);void 0!==s?t.style.gridRowEnd="span "+s:this.clearItemStyles(t)}))}getOrder(){const{layout:t}=this,i=null==this.order?void 0:this.order;if("uniform"!==t)return"masonry"===t&&void 0===i?"sequential":i}render(){const{layout:t}=this,i=this.getOrder(),o=a(this);return s(e,{key:"10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58",class:{[o]:!0,["gallery-layout-"+t]:!0,["gallery-order-"+i]:"masonry"===t&&void 0!==i}},s("slot",{key:"1ac472f867053973aa90975cd61901a2e8ff20aa",onSlotchange:this.onSlotChange}))}get el(){return this}static get watchers(){return{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}}static get style(){return":host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}"}},[257,"ion-gallery",{layout:[1],order:[1],columns:[8],gap:[8]},[[2,"load","onChildLoad"]],{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}]),g=p,y=function(){"undefined"!=typeof customElements&&["ion-gallery"].forEach((t=>{"ion-gallery"===t&&(customElements.get(r(t))||customElements.define(r(t),p))}))};export{g as IonGallery,y as defineCustomElement}
@@ -56,6 +56,7 @@ const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
56
56
  const Gallery = class {
57
57
  constructor(hostRef) {
58
58
  index.registerInstance(this, hostRef);
59
+ this.itemWrapperSelector = '[data-gallery-group]';
59
60
  // Keep track of whether we've warned about invalid columns, invalid gap,
60
61
  // and unused order properties to avoid duplicate warnings on screen resize.
61
62
  this.hasWarnedInvalidColumns = false;
@@ -110,8 +111,9 @@ const Gallery = class {
110
111
  const styles = getComputedStyle(this.el);
111
112
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
112
113
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
114
+ const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
113
115
  const items = this.getItems();
114
- this.layoutMasonry(items, rowHeight, rowGap, columns);
116
+ this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
115
117
  };
116
118
  }
117
119
  onColumnsOrGapChanged() {
@@ -368,12 +370,28 @@ const Gallery = class {
368
370
  const gap = this.getGapForWidth(width);
369
371
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
370
372
  }
373
+ isGalleryItemElement(element) {
374
+ var _a;
375
+ return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
376
+ }
371
377
  /**
372
- * Return all directly slotted children of the gallery that can be grid items
373
- * with inline placement styles (HTML elements and SVG elements).
378
+ * Return all gallery items that can be grid items with inline placement styles.
379
+ * Direct children marked with `data-gallery-group` are ignored and replaced
380
+ * with their element children.
374
381
  */
375
382
  getItems() {
376
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
383
+ const items = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
384
+ const flattenedItems = [];
385
+ items.forEach((itemEl) => {
386
+ if (!itemEl.matches(this.itemWrapperSelector)) {
387
+ flattenedItems.push(itemEl);
388
+ return;
389
+ }
390
+ itemEl.style.display = 'contents';
391
+ const wrappedItems = Array.from(itemEl.children).filter((child) => this.isGalleryItemElement(child));
392
+ flattenedItems.push(...wrappedItems);
393
+ });
394
+ return flattenedItems;
377
395
  }
378
396
  /**
379
397
  * Clear the item styles for the given item element.
@@ -430,11 +448,14 @@ const Gallery = class {
430
448
  /**
431
449
  * Apply masonry placement by assigning each item a column and row span.
432
450
  */
433
- layoutMasonry(items, rowHeight, rowGap, columns) {
451
+ layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
434
452
  const columnHeights = new Array(columns).fill(0);
435
453
  const lastItemsByColumn = new Array(columns).fill(undefined);
436
454
  items.forEach((itemEl, i) => {
437
455
  itemEl.style.marginBottom = '';
456
+ if (itemEl.parentElement !== this.el) {
457
+ itemEl.style.marginBottom = `${itemGap}px`;
458
+ }
438
459
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
439
460
  if (span === undefined) {
440
461
  this.clearItemStyles(itemEl);
@@ -483,11 +504,11 @@ const Gallery = class {
483
504
  const { layout } = this;
484
505
  const order = this.getOrder();
485
506
  const theme = ionicGlobal.getIonTheme(this);
486
- return (index.h(index.Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
507
+ return (index.h(index.Host, { key: '10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58', class: {
487
508
  [theme]: true,
488
509
  [`gallery-layout-${layout}`]: true,
489
510
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
490
- } }, index.h("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
511
+ } }, index.h("slot", { key: '1ac472f867053973aa90975cd61901a2e8ff20aa', onSlotchange: this.onSlotChange })));
491
512
  }
492
513
  get el() { return index.getElement(this); }
493
514
  static get watchers() { return {
@@ -25,6 +25,7 @@ const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
25
25
  */
26
26
  export class Gallery {
27
27
  constructor() {
28
+ this.itemWrapperSelector = '[data-gallery-group]';
28
29
  // Keep track of whether we've warned about invalid columns, invalid gap,
29
30
  // and unused order properties to avoid duplicate warnings on screen resize.
30
31
  this.hasWarnedInvalidColumns = false;
@@ -79,8 +80,9 @@ export class Gallery {
79
80
  const styles = getComputedStyle(this.el);
80
81
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
81
82
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
83
+ const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
82
84
  const items = this.getItems();
83
- this.layoutMasonry(items, rowHeight, rowGap, columns);
85
+ this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
84
86
  };
85
87
  }
86
88
  onColumnsOrGapChanged() {
@@ -337,12 +339,28 @@ export class Gallery {
337
339
  const gap = this.getGapForWidth(width);
338
340
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
339
341
  }
342
+ isGalleryItemElement(element) {
343
+ var _a;
344
+ return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
345
+ }
340
346
  /**
341
- * Return all directly slotted children of the gallery that can be grid items
342
- * with inline placement styles (HTML elements and SVG elements).
347
+ * Return all gallery items that can be grid items with inline placement styles.
348
+ * Direct children marked with `data-gallery-group` are ignored and replaced
349
+ * with their element children.
343
350
  */
344
351
  getItems() {
345
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
352
+ const items = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
353
+ const flattenedItems = [];
354
+ items.forEach((itemEl) => {
355
+ if (!itemEl.matches(this.itemWrapperSelector)) {
356
+ flattenedItems.push(itemEl);
357
+ return;
358
+ }
359
+ itemEl.style.display = 'contents';
360
+ const wrappedItems = Array.from(itemEl.children).filter((child) => this.isGalleryItemElement(child));
361
+ flattenedItems.push(...wrappedItems);
362
+ });
363
+ return flattenedItems;
346
364
  }
347
365
  /**
348
366
  * Clear the item styles for the given item element.
@@ -399,11 +417,14 @@ export class Gallery {
399
417
  /**
400
418
  * Apply masonry placement by assigning each item a column and row span.
401
419
  */
402
- layoutMasonry(items, rowHeight, rowGap, columns) {
420
+ layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
403
421
  const columnHeights = new Array(columns).fill(0);
404
422
  const lastItemsByColumn = new Array(columns).fill(undefined);
405
423
  items.forEach((itemEl, i) => {
406
424
  itemEl.style.marginBottom = '';
425
+ if (itemEl.parentElement !== this.el) {
426
+ itemEl.style.marginBottom = `${itemGap}px`;
427
+ }
407
428
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
408
429
  if (span === undefined) {
409
430
  this.clearItemStyles(itemEl);
@@ -452,11 +473,11 @@ export class Gallery {
452
473
  const { layout } = this;
453
474
  const order = this.getOrder();
454
475
  const theme = getIonTheme(this);
455
- return (h(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
476
+ return (h(Host, { key: '10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58', class: {
456
477
  [theme]: true,
457
478
  [`gallery-layout-${layout}`]: true,
458
479
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
459
- } }, h("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
480
+ } }, h("slot", { key: '1ac472f867053973aa90975cd61901a2e8ff20aa', onSlotchange: this.onSlotChange })));
460
481
  }
461
482
  static get is() { return "ion-gallery"; }
462
483
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-05-19T20:14:35",
2
+ "timestamp": "2026-05-21T17:43:39",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.0",
@@ -54,6 +54,7 @@ const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
54
54
  const Gallery = class {
55
55
  constructor(hostRef) {
56
56
  registerInstance(this, hostRef);
57
+ this.itemWrapperSelector = '[data-gallery-group]';
57
58
  // Keep track of whether we've warned about invalid columns, invalid gap,
58
59
  // and unused order properties to avoid duplicate warnings on screen resize.
59
60
  this.hasWarnedInvalidColumns = false;
@@ -108,8 +109,9 @@ const Gallery = class {
108
109
  const styles = getComputedStyle(this.el);
109
110
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
110
111
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
112
+ const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
111
113
  const items = this.getItems();
112
- this.layoutMasonry(items, rowHeight, rowGap, columns);
114
+ this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
113
115
  };
114
116
  }
115
117
  onColumnsOrGapChanged() {
@@ -366,12 +368,28 @@ const Gallery = class {
366
368
  const gap = this.getGapForWidth(width);
367
369
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
368
370
  }
371
+ isGalleryItemElement(element) {
372
+ var _a;
373
+ return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
374
+ }
369
375
  /**
370
- * Return all directly slotted children of the gallery that can be grid items
371
- * with inline placement styles (HTML elements and SVG elements).
376
+ * Return all gallery items that can be grid items with inline placement styles.
377
+ * Direct children marked with `data-gallery-group` are ignored and replaced
378
+ * with their element children.
372
379
  */
373
380
  getItems() {
374
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
381
+ const items = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
382
+ const flattenedItems = [];
383
+ items.forEach((itemEl) => {
384
+ if (!itemEl.matches(this.itemWrapperSelector)) {
385
+ flattenedItems.push(itemEl);
386
+ return;
387
+ }
388
+ itemEl.style.display = 'contents';
389
+ const wrappedItems = Array.from(itemEl.children).filter((child) => this.isGalleryItemElement(child));
390
+ flattenedItems.push(...wrappedItems);
391
+ });
392
+ return flattenedItems;
375
393
  }
376
394
  /**
377
395
  * Clear the item styles for the given item element.
@@ -428,11 +446,14 @@ const Gallery = class {
428
446
  /**
429
447
  * Apply masonry placement by assigning each item a column and row span.
430
448
  */
431
- layoutMasonry(items, rowHeight, rowGap, columns) {
449
+ layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
432
450
  const columnHeights = new Array(columns).fill(0);
433
451
  const lastItemsByColumn = new Array(columns).fill(undefined);
434
452
  items.forEach((itemEl, i) => {
435
453
  itemEl.style.marginBottom = '';
454
+ if (itemEl.parentElement !== this.el) {
455
+ itemEl.style.marginBottom = `${itemGap}px`;
456
+ }
436
457
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
437
458
  if (span === undefined) {
438
459
  this.clearItemStyles(itemEl);
@@ -481,11 +502,11 @@ const Gallery = class {
481
502
  const { layout } = this;
482
503
  const order = this.getOrder();
483
504
  const theme = getIonTheme(this);
484
- return (h(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
505
+ return (h(Host, { key: '10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58', class: {
485
506
  [theme]: true,
486
507
  [`gallery-layout-${layout}`]: true,
487
508
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
488
- } }, h("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
509
+ } }, h("slot", { key: '1ac472f867053973aa90975cd61901a2e8ff20aa', onSlotchange: this.onSlotChange })));
489
510
  }
490
511
  get el() { return getElement(this); }
491
512
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{p as e,H as o,b as n}from"./p-Omi_TcwW.js";export{s as setNonce}from"./p-Omi_TcwW.js";import{g as t}from"./p-11nqcMM3.js";import"./p-CBV-BGvD.js";var a=e=>{const o=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return o.call(this,e);const n=o.call(this,!1),t=this.childNodes;if(e)for(let e=0;e<t.length;e++)2!==t[e].nodeType&&n.appendChild(t[e].cloneNode(!0));return n}};(()=>{a(o.prototype);const n=import.meta.url,t={};return""!==n&&(t.resourcesUrl=new URL(".",n).href),e(t)})().then((async e=>(await t(),n(JSON.parse('[["p-71b6014c",[[289,"ion-menu-button",{"color":[513],"disabled":[4],"menu":[1],"autoHide":[4,"auto-hide"],"type":[1],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]],[289,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32],"isOpen":[64],"isActive":[64],"open":[64],"close":[64],"toggle":[64],"setOpen":[64]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"]],{"type":[{"typeChanged":0}],"disabled":[{"disabledChanged":0}],"side":[{"sideChanged":0}],"swipeGesture":[{"swipeGestureChanged":0}]}],[257,"ion-menu-toggle",{"menu":[1],"autoHide":[4,"auto-hide"],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]]],["p-1709b0aa",[[33,"ion-input-password-toggle",{"color":[513],"showIcon":[1,"show-icon"],"hideIcon":[1,"hide-icon"],"type":[1025]},null,{"type":[{"onTypeChange":0}]}]]],["p-37ccbee4",[[289,"ion-fab-button",{"color":[513],"activated":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1],"show":[4],"translucent":[4],"type":[1],"size":[1],"closeIcon":[1,"close-icon"]}],[257,"ion-fab",{"horizontal":[1],"vertical":[1],"edge":[4],"activated":[1028],"close":[64],"toggle":[64]},null,{"activated":[{"activatedChanged":0}]}],[257,"ion-fab-list",{"activated":[4],"side":[1]},null,{"activated":[{"activatedChanged":0}]}]]],["p-00c0bd38",[[32,"ion-refresher-content",{"pullingIcon":[1025,"pulling-icon"],"pullingText":[1,"pulling-text"],"refreshingSpinner":[1025,"refreshing-spinner"],"refreshingText":[1,"refreshing-text"]}],[32,"ion-refresher",{"pullMin":[2,"pull-min"],"pullMax":[2,"pull-max"],"closeDuration":[1,"close-duration"],"snapbackDuration":[1,"snapback-duration"],"pullFactor":[2,"pull-factor"],"disabled":[4],"nativeRefresher":[32],"state":[32],"complete":[64],"cancel":[64],"getProgress":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-488992b6",[[33,"ion-back-button",{"color":[513],"defaultHref":[1025,"default-href"],"disabled":[516],"icon":[1],"text":[1],"type":[1],"routerAnimation":[16]}]]],["p-c10fa162",[[34,"ion-loading",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"message":[1],"cssClass":[1,"css-class"],"duration":[2],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"spinner":[1025],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-4079cee3",[[33,"ion-toast",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"color":[513],"enterAnimation":[16],"leaveAnimation":[16],"cssClass":[1,"css-class"],"duration":[2],"header":[1],"hue":[1],"layout":[1],"message":[1],"keyboardClose":[4,"keyboard-close"],"position":[1],"positionAnchor":[1,"position-anchor"],"shape":[1],"buttons":[16],"translucent":[4],"animated":[4],"icon":[1],"htmlAttributes":[16],"swipeGesture":[1,"swipe-gesture"],"isOpen":[4,"is-open"],"trigger":[1],"revealContentToScreenReader":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"swipeGesture":[{"swipeGestureChanged":0}],"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-2311e660",[[289,"ion-card",{"color":[513],"button":[4],"type":[1],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"shape":[513],"target":[1]}],[289,"ion-card-content"],[289,"ion-card-header",{"color":[513],"translucent":[4]}],[289,"ion-card-subtitle",{"color":[513]}],[289,"ion-card-title",{"color":[513]}]]],["p-76307d10",[[289,"ion-item-option",{"color":[513],"disabled":[4],"download":[1],"expandable":[4],"href":[1],"hue":[1],"rel":[1],"target":[1],"type":[1],"shape":[1]}],[32,"ion-item-options",{"side":[1],"fireSwipeEvent":[64]}],[32,"ion-item-sliding",{"disabled":[4],"state":[32],"getOpenAmount":[64],"getSlidingRatio":[64],"open":[64],"close":[64],"closeOpened":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-3aba19e2",[[305,"ion-accordion",{"value":[1],"disabled":[4],"readonly":[4],"toggleIcon":[1,"toggle-icon"],"toggleIconSlot":[1,"toggle-icon-slot"],"state":[32],"isNext":[32],"isPrevious":[32],"isLast":[32],"hasInteracted":[32]},null,{"value":[{"valueChanged":0}]}],[289,"ion-accordion-group",{"animated":[4],"multiple":[4],"value":[1025],"disabled":[4],"readonly":[4],"expand":[1],"shape":[1],"requestAccordionToggle":[64],"getAccordions":[64]},[[0,"keydown","onKeydown"]],{"value":[{"valueChanged":0}],"disabled":[{"disabledChanged":0}],"readonly":[{"readonlyChanged":0}]}]]],["p-acdc21a6",[[289,"ion-breadcrumb",{"collapsed":[4],"last":[4],"showCollapsedIndicator":[4,"show-collapsed-indicator"],"color":[1],"active":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"separator":[4],"target":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16]}],[289,"ion-breadcrumbs",{"color":[513],"maxItems":[2,"max-items"],"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"collapsed":[32],"activeChanged":[32]},[[0,"collapsedClick","onCollapsedClick"]],{"maxItems":[{"maxItemsChanged":0}],"itemsBeforeCollapse":[{"maxItemsChanged":0}],"itemsAfterCollapse":[{"maxItemsChanged":0}]}]]],["p-ae667493",[[32,"ion-infinite-scroll-content",{"loadingSpinner":[1025,"loading-spinner"],"loadingText":[1,"loading-text"]}],[0,"ion-infinite-scroll",{"threshold":[1],"disabled":[4],"position":[1],"preserveRerenderScrollPosition":[4,"preserve-rerender-scroll-position"],"isLoading":[32],"complete":[64]},null,{"threshold":[{"thresholdChanged":0}],"disabled":[{"disabledChanged":0}]}]]],["p-50cd2d57",[[289,"ion-reorder",null,[[2,"click","onClick"]]],[0,"ion-reorder-group",{"disabled":[4],"state":[32],"complete":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-90e653e3",[[289,"ion-segment-button",{"contentId":[513,"content-id"],"disabled":[1028],"layout":[1],"type":[1],"value":[8],"checked":[32],"setFocus":[64]},null,{"value":[{"valueChanged":0}]}],[289,"ion-segment",{"color":[513],"disabled":[4],"scrollable":[4],"swipeGesture":[4,"swipe-gesture"],"value":[1032],"selectOnFocus":[4,"select-on-focus"],"activated":[32]},[[16,"ionSegmentViewScroll","handleSegmentViewScroll"],[0,"keydown","onKeyDown"]],{"color":[{"colorChanged":0}],"swipeGesture":[{"swipeGestureChanged":0}],"value":[{"valueChanged":0}],"disabled":[{"disabledChanged":0}]}]]],["p-d6299c37",[[289,"ion-tab-button",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"layout":[1025],"selected":[1028],"shape":[1],"tab":[1],"target":[1]},[[8,"ionTabBarChanged","onTabBarChanged"]]],[289,"ion-tab-bar",{"color":[513],"selectedTab":[1,"selected-tab"],"hideOnScroll":[4,"hide-on-scroll"],"translucent":[4],"expand":[1],"shape":[1],"keyboardVisible":[32],"scrollHidden":[32]},null,{"selectedTab":[{"selectedTabChanged":0}]}]]],["p-139d02eb",[[289,"ion-chip",{"color":[513],"outline":[4],"disabled":[4],"hue":[1],"shape":[1],"size":[1]}]]],["p-68c21b2a",[[289,"ion-datetime-button",{"color":[513],"disabled":[516],"datetime":[1],"datetimePresentation":[32],"dateText":[32],"timeText":[32],"datetimeActive":[32],"selectedButton":[32]}]]],["p-fad05840",[[294,"ion-input",{"color":[513],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearInputIcon":[1,"clear-input-icon"],"clearOnEdit":[4,"clear-on-edit"],"counter":[4],"counterFormatter":[16],"debounce":[2],"disabled":[516],"enterkeyhint":[1],"errorText":[1,"error-text"],"fill":[1],"inputmode":[1],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1025,"label-placement"],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[516],"required":[4],"shape":[1],"spellcheck":[4],"step":[1],"size":[1],"type":[1],"value":[1032],"hasFocus":[32],"isInvalid":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":[{"debounceChanged":0}],"type":[{"onTypeChange":0}],"value":[{"valueChanged":0}],"dir":[{"onDirChanged":0}]}]]],["p-7d5057c4",[[34,"ion-searchbar",{"color":[513],"animated":[4],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"cancelButtonIcon":[1,"cancel-button-icon"],"cancelButtonText":[1,"cancel-button-text"],"clearIcon":[1,"clear-icon"],"debounce":[2],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"searchIcon":[8,"search-icon"],"showCancelButton":[1,"show-cancel-button"],"showClearButton":[1,"show-clear-button"],"spellcheck":[4],"type":[1],"value":[1025],"shape":[1],"size":[1],"focused":[32],"noAnimate":[32],"setFocus":[64],"getInputElement":[64]},null,{"lang":[{"onLangChanged":0}],"dir":[{"onDirChanged":0}],"debounce":[{"debounceChanged":0}],"value":[{"valueChanged":0}],"showCancelButton":[{"showCancelButtonChanged":0}]}]]],["p-48026d15",[[289,"ion-toggle",{"color":[513],"name":[1],"checked":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[1],"enableOnOffLabels":[4,"enable-on-off-labels"],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"activated":[32],"isInvalid":[32],"hintTextId":[32]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-5274f999",[[0,"ion-route",{"url":[1],"component":[1],"componentProps":[16],"beforeLeave":[16],"beforeEnter":[16]},null,{"url":[{"onUpdate":0}],"component":[{"onUpdate":0}],"componentProps":[{"onComponentProps":0}]}],[0,"ion-route-redirect",{"from":[1],"to":[1]},null,{"from":[{"propDidChange":0}],"to":[{"propDidChange":0}]}],[0,"ion-router",{"root":[1],"useHash":[4,"use-hash"],"canTransition":[64],"push":[64],"back":[64],"printDebug":[64],"navChanged":[64]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]],[257,"ion-router-link",{"color":[513],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1]}]]],["p-2ad79c23",[[289,"ion-avatar",{"size":[1],"shape":[1],"disabled":[4]}],[289,"ion-badge",{"color":[513],"hue":[1],"shape":[1],"size":[1],"vertical":[1]}],[257,"ion-thumbnail"]]],["p-8537b2fb",[[257,"ion-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"order":[1],"orderXs":[1,"order-xs"],"orderSm":[1,"order-sm"],"orderMd":[1,"order-md"],"orderLg":[1,"order-lg"],"orderXl":[1,"order-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]],[257,"ion-grid",{"fixed":[4]}],[257,"ion-row"]]],["p-50b61fab",[[257,"ion-nav",{"delegate":[16],"swipeGesture":[1028,"swipe-gesture"],"animated":[4],"animation":[16],"rootParams":[16],"root":[1],"push":[64],"insert":[64],"insertPages":[64],"pop":[64],"popTo":[64],"popToRoot":[64],"removeIndex":[64],"setRoot":[64],"setPages":[64],"setRouteId":[64],"getRouteId":[64],"getActive":[64],"getByIndex":[64],"canGoBack":[64],"getPrevious":[64],"getLength":[64]},null,{"swipeGesture":[{"swipeGestureChanged":0}],"root":[{"rootChanged":0}]}],[0,"ion-nav-link",{"component":[1],"componentProps":[16],"routerDirection":[1,"router-direction"],"routerAnimation":[16]}]]],["p-b653f4c2",[[257,"ion-tab",{"active":[1028],"delegate":[16],"tab":[1],"component":[1],"setActive":[64]},null,{"active":[{"changeActive":0}]}],[257,"ion-tabs",{"useRouter":[1028,"use-router"],"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64],"setRouteId":[64],"getRouteId":[64]}]]],["p-7d267dc6",[[33,"ion-divider",{"spacing":[513],"inset":[4]}]]],["p-06bd033b",[[257,"ion-gallery",{"layout":[1],"order":[1],"columns":[8],"gap":[8]},[[2,"load","onChildLoad"]],{"columns":[{"onColumnsOrGapChanged":0}],"gap":[{"onColumnsOrGapChanged":0}],"layout":[{"onLayoutOrOrderChanged":0}],"order":[{"onLayoutOrOrderChanged":0}]}]]],["p-bd71a4a7",[[1,"ion-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]},null,{"src":[{"srcChanged":0}]}]]],["p-586d4270",[[353,"ion-input-otp",{"autocapitalize":[1],"color":[513],"disabled":[516],"fill":[1],"inputmode":[1],"length":[2],"pattern":[1],"readonly":[516],"separators":[1],"shape":[1],"size":[1],"type":[1],"value":[1032],"inputValues":[32],"hasFocus":[32],"previousInputValues":[32],"setFocus":[64]},null,{"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}],"separators":[{"processSeparators":0}],"length":[{"processSeparators":0}]}]]],["p-b3c9f19c",[[33,"ion-progress-bar",{"type":[1],"reversed":[4],"value":[2],"buffer":[2],"color":[513],"shape":[1]}]]],["p-d4ed5710",[[289,"ion-range",{"color":[513],"debounce":[2],"name":[1],"label":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"pinFormatter":[16],"snaps":[4],"step":[2],"ticks":[4],"activeBarStart":[1026,"active-bar-start"],"disabled":[4],"value":[1026],"labelPlacement":[1,"label-placement"],"ratioA":[32],"ratioB":[32],"activatedKnob":[32],"focusedKnob":[32],"hoveredKnob":[32],"pressedKnob":[32]},null,{"debounce":[{"debounceChanged":0}],"min":[{"minChanged":0}],"max":[{"maxChanged":0}],"step":[{"stepChanged":0}],"activeBarStart":[{"activeBarStartChanged":0}],"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}]}]]],["p-2aa7567e",[[257,"ion-segment-content"]]],["p-7054a1b9",[[289,"ion-segment-view",{"disabled":[4],"swipeGesture":[4,"swipe-gesture"],"isManualScroll":[32],"setContent":[64]},[[1,"scroll","handleScroll"],[1,"touchstart","handleScrollStart"],[1,"touchend","handleTouchEnd"]]]]],["p-72491468",[[289,"ion-split-pane",{"contentId":[513,"content-id"],"disabled":[4],"when":[8],"visible":[32],"isVisible":[64]},null,{"visible":[{"visibleChanged":0}],"disabled":[{"updateState":0}],"when":[{"updateState":0}]}]]],["p-1e1c8d61",[[257,"ion-text",{"color":[513]}]]],["p-1c2c1869",[[369,"ion-textarea",{"color":[513],"autocapitalize":[1],"autofocus":[4],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[516],"fill":[1],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"readonly":[516],"required":[516],"spellcheck":[4],"cols":[514],"rows":[2],"wrap":[1],"autoGrow":[516,"auto-grow"],"value":[1025],"counter":[4],"counterFormatter":[16],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"shape":[1],"size":[1],"hasFocus":[32],"isInvalid":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":[{"debounceChanged":0}],"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}],"required":[{"requiredChanged":0}],"dir":[{"onDirChanged":0}]}]]],["p-7194f6fa",[[289,"ion-picker",{"exitInputMode":[64]},[[1,"touchstart","preventTouchStartPropagation"]]]]],["p-6fbead83",[[257,"ion-picker-column",{"disabled":[4],"value":[1032],"color":[513],"numericInput":[4,"numeric-input"],"ariaLabel":[32],"isActive":[32],"scrollActiveItemIntoView":[64],"setValue":[64],"setFocus":[64]},null,{"aria-label":[{"ariaLabelChanged":0}],"value":[{"valueChange":0}]}]]],["p-b2fe6c1c",[[289,"ion-picker-column-option",{"disabled":[4],"value":[8],"color":[513],"ariaLabel":[32]},null,{"aria-label":[{"onAriaLabelChange":0}]}]]],["p-45825c2c",[[33,"ion-backdrop",{"visible":[4],"tappable":[4],"stopPropagation":[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]]],["p-9d789053",[[33,"ion-ripple-effect",{"type":[1],"addRipple":[64]}]]],["p-bf972309",[[34,"ion-select-modal",{"header":[1],"cancelText":[1,"cancel-text"],"cancelIcon":[4,"cancel-icon"],"multiple":[4],"options":[16]}]]],["p-35b144f5",[[289,"ion-datetime",{"color":[1],"name":[1],"disabled":[4],"formatOptions":[16],"readonly":[4],"isDateEnabled":[16],"showAdjacentDays":[4,"show-adjacent-days"],"min":[1025],"max":[1025],"presentation":[1],"cancelText":[1,"cancel-text"],"doneText":[1,"done-text"],"clearText":[1,"clear-text"],"yearValues":[8,"year-values"],"monthValues":[8,"month-values"],"dayValues":[8,"day-values"],"hourValues":[8,"hour-values"],"minuteValues":[8,"minute-values"],"locale":[1],"firstDayOfWeek":[2,"first-day-of-week"],"titleSelectedDatesFormatter":[16],"multiple":[4],"highlightedDates":[16],"value":[1025],"showDefaultTitle":[4,"show-default-title"],"showDefaultButtons":[4,"show-default-buttons"],"showClearButton":[4,"show-clear-button"],"showDefaultTimeLabel":[4,"show-default-time-label"],"hourCycle":[1,"hour-cycle"],"size":[1],"preferWheel":[4,"prefer-wheel"],"showMonthAndYear":[32],"activeParts":[32],"workingParts":[32],"isTimePopoverOpen":[32],"forceRenderDate":[32],"confirm":[64],"reset":[64],"cancel":[64]},null,{"formatOptions":[{"formatOptionsChanged":0}],"disabled":[{"disabledChanged":0}],"min":[{"minChanged":0}],"max":[{"maxChanged":0}],"presentation":[{"presentationChanged":0}],"yearValues":[{"yearValuesChanged":0}],"monthValues":[{"monthValuesChanged":0}],"dayValues":[{"dayValuesChanged":0}],"hourValues":[{"hourValuesChanged":0}],"minuteValues":[{"minuteValuesChanged":0}],"value":[{"valueChanged":0}]}],[34,"ion-picker-legacy",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"buttons":[16],"columns":[16],"cssClass":[1,"css-class"],"duration":[2],"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"getColumn":[64]},null,{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}],[32,"ion-picker-legacy-column",{"col":[16]},null,{"col":[{"colChanged":0}]}]]],["p-432c5888",[[34,"ion-action-sheet",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"buttons":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"header":[1],"subHeader":[1,"sub-header"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"activeRadioId":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[0,"keydown","onKeydown"]],{"buttons":[{"buttonsChanged":0}],"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-4a0260e6",[[34,"ion-alert",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"cssClass":[1,"css-class"],"header":[1],"subHeader":[1,"sub-header"],"message":[1],"buttons":[16],"inputs":[1040],"backdropDismiss":[4,"backdrop-dismiss"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[4,"keydown","onKeydown"]],{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}],"buttons":[{"buttonsChanged":0}],"inputs":[{"inputsChanged":0}]}]]],["p-2f0073af",[[289,"ion-modal",{"hasController":[4,"has-controller"],"overlayIndex":[2,"overlay-index"],"delegate":[16],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"breakpoints":[16],"expandToScroll":[4,"expand-to-scroll"],"initialBreakpoint":[2,"initial-breakpoint"],"backdropBreakpoint":[2,"backdrop-breakpoint"],"handle":[4],"handleBehavior":[1,"handle-behavior"],"component":[1],"componentProps":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"animated":[4],"presentingElement":[16],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"keepContentsMounted":[4,"keep-contents-mounted"],"focusTrap":[4,"focus-trap"],"canDismiss":[4,"can-dismiss"],"shape":[1],"isSheetModal":[32],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"setCurrentBreakpoint":[64],"getCurrentBreakpoint":[64]},[[9,"resize","onWindowResize"]],{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-15e3e8f5",[[289,"ion-popover",{"hasController":[4,"has-controller"],"delegate":[16],"overlayIndex":[2,"overlay-index"],"enterAnimation":[16],"leaveAnimation":[16],"component":[1],"componentProps":[16],"keyboardClose":[4,"keyboard-close"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"event":[8],"showBackdrop":[4,"show-backdrop"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"triggerAction":[1,"trigger-action"],"trigger":[1],"size":[1],"dismissOnSelect":[4,"dismiss-on-select"],"reference":[1],"side":[1],"alignment":[1025],"arrow":[4],"isOpen":[4,"is-open"],"keyboardEvents":[4,"keyboard-events"],"focusTrap":[4,"focus-trap"],"keepContentsMounted":[4,"keep-contents-mounted"],"presented":[32],"presentFromTrigger":[64],"present":[64],"dismiss":[64],"getParentPopover":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"trigger":[{"onTriggerChange":0}],"triggerAction":[{"onTriggerChange":0}],"isOpen":[{"onIsOpenChange":0}]}]]],["p-f02ba305",[[289,"ion-checkbox",{"color":[513],"name":[1],"checked":[1028],"indeterminate":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"shape":[1],"size":[1],"isInvalid":[32],"hasLabelContent":[32],"hintTextId":[32],"setFocus":[64]}]]],["p-1c4de46b",[[33,"ion-spinner",{"color":[513],"duration":[2],"name":[1],"paused":[4],"size":[1]}]]],["p-3f79f594",[[289,"ion-radio",{"color":[513],"name":[1],"disabled":[4],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"checked":[32],"buttonTabindex":[32],"setFocus":[64],"setButtonTabindex":[64]},null,{"value":[{"valueChanged":0}]}],[289,"ion-radio-group",{"allowEmptySelection":[4,"allow-empty-selection"],"compareWith":[1,"compare-with"],"name":[1],"value":[1032],"helperText":[1,"helper-text"],"errorText":[1,"error-text"],"isInvalid":[32],"hintTextId":[32],"updateRadiosTabindex":[64],"setFocus":[64]},[[4,"keydown","onKeydown"]],{"value":[{"valueChanged":0}]}]]],["p-83c693c4",[[0,"ion-app",{"setFocus":[64]}],[292,"ion-footer",{"collapse":[1],"translucent":[4],"keyboardVisible":[32]}],[257,"ion-router-outlet",{"mode":[1025],"delegate":[16],"animated":[4],"animation":[16],"swipeHandler":[16],"commit":[64],"setRouteId":[64],"getRouteId":[64]},null,{"swipeHandler":[{"swipeHandlerChanged":0}]}],[294,"ion-buttons",{"collapse":[4]}],[257,"ion-content",{"color":[513],"fullscreen":[4],"fixedSlotPlacement":[1,"fixed-slot-placement"],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"],"recalculateDimensions":[64],"getScrollElement":[64],"getBackgroundElement":[64],"scrollToTop":[64],"scrollToBottom":[64],"scrollByPoint":[64],"scrollToPoint":[64]},[[9,"resize","onResize"]]],[292,"ion-header",{"collapse":[1],"divider":[4],"translucent":[4]}],[289,"ion-title",{"color":[513],"size":[1]},null,{"size":[{"sizeChanged":0}]}],[289,"ion-toolbar",{"color":[513],"titlePlacement":[1,"title-placement"]},[[0,"ionStyle","childrenStyle"]],{"titlePlacement":[{"titlePlacementChanged":0}]}]]],["p-07d3388f",[[289,"ion-button",{"color":[513],"buttonType":[1025,"button-type"],"disabled":[516],"expand":[513],"fill":[1537],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"download":[1],"href":[1],"rel":[1],"shape":[513],"size":[513],"strong":[4],"target":[1],"type":[1],"form":[1],"isCircle":[32]},null,{"disabled":[{"disabledChanged":0}],"aria-checked":[{"onAriaChanged":0}],"aria-label":[{"onAriaChanged":0}],"aria-pressed":[{"onAriaChanged":0}]}],[1,"ion-icon",{"mode":[1025],"color":[1],"ios":[1],"md":[1],"flipRtl":[4,"flip-rtl"],"name":[513],"src":[1],"icon":[8],"size":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]},null,{"name":[{"loadIcon":0}],"src":[{"loadIcon":0}],"icon":[{"loadIcon":0}],"ios":[{"loadIcon":0}],"md":[{"loadIcon":0}]}]]],["p-e18d3fdb",[[289,"ion-item-divider",{"color":[513],"sticky":[4]}],[32,"ion-item-group"],[289,"ion-note",{"color":[513]}],[1,"ion-skeleton-text",{"animated":[4]}],[294,"ion-label",{"color":[513],"position":[1],"noAnimate":[32]},null,{"color":[{"colorChanged":0}],"position":[{"positionChanged":0}]}],[289,"ion-list-header",{"color":[513],"lines":[1]}],[289,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[516],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32],"focusable":[32],"isInteractive":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{"button":[{"buttonChanged":0}]}],[32,"ion-list",{"lines":[1],"inset":[4],"shape":[1],"closeSlidingItems":[64]}]]],["p-a9fb086b",[[289,"ion-select",{"cancelText":[1,"cancel-text"],"cancelIcon":[4,"cancel-icon"],"color":[513],"compareWith":[1,"compare-with"],"disabled":[4],"fill":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"interface":[1],"interfaceOptions":[8,"interface-options"],"justify":[1],"label":[1],"labelPlacement":[1,"label-placement"],"multiple":[4],"name":[1],"okText":[1,"ok-text"],"placeholder":[1],"selectedText":[1,"selected-text"],"toggleIcon":[1,"toggle-icon"],"expandedIcon":[1,"expanded-icon"],"required":[4],"shape":[1],"size":[1],"value":[1032],"isExpanded":[32],"hasFocus":[32],"isInvalid":[32],"hintTextId":[32],"open":[64]},null,{"disabled":[{"styleChanged":0}],"isExpanded":[{"styleChanged":0}],"placeholder":[{"styleChanged":0}],"value":[{"styleChanged":0}]}],[1,"ion-select-option",{"disabled":[4],"value":[8],"description":[1]}],[34,"ion-select-popover",{"header":[1],"subHeader":[1,"sub-header"],"message":[1],"multiple":[4],"options":[16]}]]]]'),e))));
4
+ import{p as e,H as o,b as n}from"./p-Omi_TcwW.js";export{s as setNonce}from"./p-Omi_TcwW.js";import{g as t}from"./p-11nqcMM3.js";import"./p-CBV-BGvD.js";var a=e=>{const o=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return o.call(this,e);const n=o.call(this,!1),t=this.childNodes;if(e)for(let e=0;e<t.length;e++)2!==t[e].nodeType&&n.appendChild(t[e].cloneNode(!0));return n}};(()=>{a(o.prototype);const n=import.meta.url,t={};return""!==n&&(t.resourcesUrl=new URL(".",n).href),e(t)})().then((async e=>(await t(),n(JSON.parse('[["p-71b6014c",[[289,"ion-menu-button",{"color":[513],"disabled":[4],"menu":[1],"autoHide":[4,"auto-hide"],"type":[1],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]],[289,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32],"isOpen":[64],"isActive":[64],"open":[64],"close":[64],"toggle":[64],"setOpen":[64]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"]],{"type":[{"typeChanged":0}],"disabled":[{"disabledChanged":0}],"side":[{"sideChanged":0}],"swipeGesture":[{"swipeGestureChanged":0}]}],[257,"ion-menu-toggle",{"menu":[1],"autoHide":[4,"auto-hide"],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]]],["p-1709b0aa",[[33,"ion-input-password-toggle",{"color":[513],"showIcon":[1,"show-icon"],"hideIcon":[1,"hide-icon"],"type":[1025]},null,{"type":[{"onTypeChange":0}]}]]],["p-37ccbee4",[[289,"ion-fab-button",{"color":[513],"activated":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1],"show":[4],"translucent":[4],"type":[1],"size":[1],"closeIcon":[1,"close-icon"]}],[257,"ion-fab",{"horizontal":[1],"vertical":[1],"edge":[4],"activated":[1028],"close":[64],"toggle":[64]},null,{"activated":[{"activatedChanged":0}]}],[257,"ion-fab-list",{"activated":[4],"side":[1]},null,{"activated":[{"activatedChanged":0}]}]]],["p-00c0bd38",[[32,"ion-refresher-content",{"pullingIcon":[1025,"pulling-icon"],"pullingText":[1,"pulling-text"],"refreshingSpinner":[1025,"refreshing-spinner"],"refreshingText":[1,"refreshing-text"]}],[32,"ion-refresher",{"pullMin":[2,"pull-min"],"pullMax":[2,"pull-max"],"closeDuration":[1,"close-duration"],"snapbackDuration":[1,"snapback-duration"],"pullFactor":[2,"pull-factor"],"disabled":[4],"nativeRefresher":[32],"state":[32],"complete":[64],"cancel":[64],"getProgress":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-488992b6",[[33,"ion-back-button",{"color":[513],"defaultHref":[1025,"default-href"],"disabled":[516],"icon":[1],"text":[1],"type":[1],"routerAnimation":[16]}]]],["p-c10fa162",[[34,"ion-loading",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"message":[1],"cssClass":[1,"css-class"],"duration":[2],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"spinner":[1025],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-4079cee3",[[33,"ion-toast",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"color":[513],"enterAnimation":[16],"leaveAnimation":[16],"cssClass":[1,"css-class"],"duration":[2],"header":[1],"hue":[1],"layout":[1],"message":[1],"keyboardClose":[4,"keyboard-close"],"position":[1],"positionAnchor":[1,"position-anchor"],"shape":[1],"buttons":[16],"translucent":[4],"animated":[4],"icon":[1],"htmlAttributes":[16],"swipeGesture":[1,"swipe-gesture"],"isOpen":[4,"is-open"],"trigger":[1],"revealContentToScreenReader":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"swipeGesture":[{"swipeGestureChanged":0}],"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-2311e660",[[289,"ion-card",{"color":[513],"button":[4],"type":[1],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"shape":[513],"target":[1]}],[289,"ion-card-content"],[289,"ion-card-header",{"color":[513],"translucent":[4]}],[289,"ion-card-subtitle",{"color":[513]}],[289,"ion-card-title",{"color":[513]}]]],["p-76307d10",[[289,"ion-item-option",{"color":[513],"disabled":[4],"download":[1],"expandable":[4],"href":[1],"hue":[1],"rel":[1],"target":[1],"type":[1],"shape":[1]}],[32,"ion-item-options",{"side":[1],"fireSwipeEvent":[64]}],[32,"ion-item-sliding",{"disabled":[4],"state":[32],"getOpenAmount":[64],"getSlidingRatio":[64],"open":[64],"close":[64],"closeOpened":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-3aba19e2",[[305,"ion-accordion",{"value":[1],"disabled":[4],"readonly":[4],"toggleIcon":[1,"toggle-icon"],"toggleIconSlot":[1,"toggle-icon-slot"],"state":[32],"isNext":[32],"isPrevious":[32],"isLast":[32],"hasInteracted":[32]},null,{"value":[{"valueChanged":0}]}],[289,"ion-accordion-group",{"animated":[4],"multiple":[4],"value":[1025],"disabled":[4],"readonly":[4],"expand":[1],"shape":[1],"requestAccordionToggle":[64],"getAccordions":[64]},[[0,"keydown","onKeydown"]],{"value":[{"valueChanged":0}],"disabled":[{"disabledChanged":0}],"readonly":[{"readonlyChanged":0}]}]]],["p-acdc21a6",[[289,"ion-breadcrumb",{"collapsed":[4],"last":[4],"showCollapsedIndicator":[4,"show-collapsed-indicator"],"color":[1],"active":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"separator":[4],"target":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16]}],[289,"ion-breadcrumbs",{"color":[513],"maxItems":[2,"max-items"],"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"collapsed":[32],"activeChanged":[32]},[[0,"collapsedClick","onCollapsedClick"]],{"maxItems":[{"maxItemsChanged":0}],"itemsBeforeCollapse":[{"maxItemsChanged":0}],"itemsAfterCollapse":[{"maxItemsChanged":0}]}]]],["p-ae667493",[[32,"ion-infinite-scroll-content",{"loadingSpinner":[1025,"loading-spinner"],"loadingText":[1,"loading-text"]}],[0,"ion-infinite-scroll",{"threshold":[1],"disabled":[4],"position":[1],"preserveRerenderScrollPosition":[4,"preserve-rerender-scroll-position"],"isLoading":[32],"complete":[64]},null,{"threshold":[{"thresholdChanged":0}],"disabled":[{"disabledChanged":0}]}]]],["p-50cd2d57",[[289,"ion-reorder",null,[[2,"click","onClick"]]],[0,"ion-reorder-group",{"disabled":[4],"state":[32],"complete":[64]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-90e653e3",[[289,"ion-segment-button",{"contentId":[513,"content-id"],"disabled":[1028],"layout":[1],"type":[1],"value":[8],"checked":[32],"setFocus":[64]},null,{"value":[{"valueChanged":0}]}],[289,"ion-segment",{"color":[513],"disabled":[4],"scrollable":[4],"swipeGesture":[4,"swipe-gesture"],"value":[1032],"selectOnFocus":[4,"select-on-focus"],"activated":[32]},[[16,"ionSegmentViewScroll","handleSegmentViewScroll"],[0,"keydown","onKeyDown"]],{"color":[{"colorChanged":0}],"swipeGesture":[{"swipeGestureChanged":0}],"value":[{"valueChanged":0}],"disabled":[{"disabledChanged":0}]}]]],["p-d6299c37",[[289,"ion-tab-button",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"layout":[1025],"selected":[1028],"shape":[1],"tab":[1],"target":[1]},[[8,"ionTabBarChanged","onTabBarChanged"]]],[289,"ion-tab-bar",{"color":[513],"selectedTab":[1,"selected-tab"],"hideOnScroll":[4,"hide-on-scroll"],"translucent":[4],"expand":[1],"shape":[1],"keyboardVisible":[32],"scrollHidden":[32]},null,{"selectedTab":[{"selectedTabChanged":0}]}]]],["p-139d02eb",[[289,"ion-chip",{"color":[513],"outline":[4],"disabled":[4],"hue":[1],"shape":[1],"size":[1]}]]],["p-68c21b2a",[[289,"ion-datetime-button",{"color":[513],"disabled":[516],"datetime":[1],"datetimePresentation":[32],"dateText":[32],"timeText":[32],"datetimeActive":[32],"selectedButton":[32]}]]],["p-fad05840",[[294,"ion-input",{"color":[513],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearInputIcon":[1,"clear-input-icon"],"clearOnEdit":[4,"clear-on-edit"],"counter":[4],"counterFormatter":[16],"debounce":[2],"disabled":[516],"enterkeyhint":[1],"errorText":[1,"error-text"],"fill":[1],"inputmode":[1],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1025,"label-placement"],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[516],"required":[4],"shape":[1],"spellcheck":[4],"step":[1],"size":[1],"type":[1],"value":[1032],"hasFocus":[32],"isInvalid":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":[{"debounceChanged":0}],"type":[{"onTypeChange":0}],"value":[{"valueChanged":0}],"dir":[{"onDirChanged":0}]}]]],["p-7d5057c4",[[34,"ion-searchbar",{"color":[513],"animated":[4],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"cancelButtonIcon":[1,"cancel-button-icon"],"cancelButtonText":[1,"cancel-button-text"],"clearIcon":[1,"clear-icon"],"debounce":[2],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"searchIcon":[8,"search-icon"],"showCancelButton":[1,"show-cancel-button"],"showClearButton":[1,"show-clear-button"],"spellcheck":[4],"type":[1],"value":[1025],"shape":[1],"size":[1],"focused":[32],"noAnimate":[32],"setFocus":[64],"getInputElement":[64]},null,{"lang":[{"onLangChanged":0}],"dir":[{"onDirChanged":0}],"debounce":[{"debounceChanged":0}],"value":[{"valueChanged":0}],"showCancelButton":[{"showCancelButtonChanged":0}]}]]],["p-48026d15",[[289,"ion-toggle",{"color":[513],"name":[1],"checked":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[1],"enableOnOffLabels":[4,"enable-on-off-labels"],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"activated":[32],"isInvalid":[32],"hintTextId":[32]},null,{"disabled":[{"disabledChanged":0}]}]]],["p-5274f999",[[0,"ion-route",{"url":[1],"component":[1],"componentProps":[16],"beforeLeave":[16],"beforeEnter":[16]},null,{"url":[{"onUpdate":0}],"component":[{"onUpdate":0}],"componentProps":[{"onComponentProps":0}]}],[0,"ion-route-redirect",{"from":[1],"to":[1]},null,{"from":[{"propDidChange":0}],"to":[{"propDidChange":0}]}],[0,"ion-router",{"root":[1],"useHash":[4,"use-hash"],"canTransition":[64],"push":[64],"back":[64],"printDebug":[64],"navChanged":[64]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]],[257,"ion-router-link",{"color":[513],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1]}]]],["p-2ad79c23",[[289,"ion-avatar",{"size":[1],"shape":[1],"disabled":[4]}],[289,"ion-badge",{"color":[513],"hue":[1],"shape":[1],"size":[1],"vertical":[1]}],[257,"ion-thumbnail"]]],["p-8537b2fb",[[257,"ion-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"order":[1],"orderXs":[1,"order-xs"],"orderSm":[1,"order-sm"],"orderMd":[1,"order-md"],"orderLg":[1,"order-lg"],"orderXl":[1,"order-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]],[257,"ion-grid",{"fixed":[4]}],[257,"ion-row"]]],["p-50b61fab",[[257,"ion-nav",{"delegate":[16],"swipeGesture":[1028,"swipe-gesture"],"animated":[4],"animation":[16],"rootParams":[16],"root":[1],"push":[64],"insert":[64],"insertPages":[64],"pop":[64],"popTo":[64],"popToRoot":[64],"removeIndex":[64],"setRoot":[64],"setPages":[64],"setRouteId":[64],"getRouteId":[64],"getActive":[64],"getByIndex":[64],"canGoBack":[64],"getPrevious":[64],"getLength":[64]},null,{"swipeGesture":[{"swipeGestureChanged":0}],"root":[{"rootChanged":0}]}],[0,"ion-nav-link",{"component":[1],"componentProps":[16],"routerDirection":[1,"router-direction"],"routerAnimation":[16]}]]],["p-b653f4c2",[[257,"ion-tab",{"active":[1028],"delegate":[16],"tab":[1],"component":[1],"setActive":[64]},null,{"active":[{"changeActive":0}]}],[257,"ion-tabs",{"useRouter":[1028,"use-router"],"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64],"setRouteId":[64],"getRouteId":[64]}]]],["p-7d267dc6",[[33,"ion-divider",{"spacing":[513],"inset":[4]}]]],["p-0f3b4262",[[257,"ion-gallery",{"layout":[1],"order":[1],"columns":[8],"gap":[8]},[[2,"load","onChildLoad"]],{"columns":[{"onColumnsOrGapChanged":0}],"gap":[{"onColumnsOrGapChanged":0}],"layout":[{"onLayoutOrOrderChanged":0}],"order":[{"onLayoutOrOrderChanged":0}]}]]],["p-bd71a4a7",[[1,"ion-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]},null,{"src":[{"srcChanged":0}]}]]],["p-586d4270",[[353,"ion-input-otp",{"autocapitalize":[1],"color":[513],"disabled":[516],"fill":[1],"inputmode":[1],"length":[2],"pattern":[1],"readonly":[516],"separators":[1],"shape":[1],"size":[1],"type":[1],"value":[1032],"inputValues":[32],"hasFocus":[32],"previousInputValues":[32],"setFocus":[64]},null,{"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}],"separators":[{"processSeparators":0}],"length":[{"processSeparators":0}]}]]],["p-b3c9f19c",[[33,"ion-progress-bar",{"type":[1],"reversed":[4],"value":[2],"buffer":[2],"color":[513],"shape":[1]}]]],["p-d4ed5710",[[289,"ion-range",{"color":[513],"debounce":[2],"name":[1],"label":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"pinFormatter":[16],"snaps":[4],"step":[2],"ticks":[4],"activeBarStart":[1026,"active-bar-start"],"disabled":[4],"value":[1026],"labelPlacement":[1,"label-placement"],"ratioA":[32],"ratioB":[32],"activatedKnob":[32],"focusedKnob":[32],"hoveredKnob":[32],"pressedKnob":[32]},null,{"debounce":[{"debounceChanged":0}],"min":[{"minChanged":0}],"max":[{"maxChanged":0}],"step":[{"stepChanged":0}],"activeBarStart":[{"activeBarStartChanged":0}],"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}]}]]],["p-2aa7567e",[[257,"ion-segment-content"]]],["p-7054a1b9",[[289,"ion-segment-view",{"disabled":[4],"swipeGesture":[4,"swipe-gesture"],"isManualScroll":[32],"setContent":[64]},[[1,"scroll","handleScroll"],[1,"touchstart","handleScrollStart"],[1,"touchend","handleTouchEnd"]]]]],["p-72491468",[[289,"ion-split-pane",{"contentId":[513,"content-id"],"disabled":[4],"when":[8],"visible":[32],"isVisible":[64]},null,{"visible":[{"visibleChanged":0}],"disabled":[{"updateState":0}],"when":[{"updateState":0}]}]]],["p-1e1c8d61",[[257,"ion-text",{"color":[513]}]]],["p-1c2c1869",[[369,"ion-textarea",{"color":[513],"autocapitalize":[1],"autofocus":[4],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[516],"fill":[1],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"readonly":[516],"required":[516],"spellcheck":[4],"cols":[514],"rows":[2],"wrap":[1],"autoGrow":[516,"auto-grow"],"value":[1025],"counter":[4],"counterFormatter":[16],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"shape":[1],"size":[1],"hasFocus":[32],"isInvalid":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":[{"debounceChanged":0}],"disabled":[{"disabledChanged":0}],"value":[{"valueChanged":0}],"required":[{"requiredChanged":0}],"dir":[{"onDirChanged":0}]}]]],["p-7194f6fa",[[289,"ion-picker",{"exitInputMode":[64]},[[1,"touchstart","preventTouchStartPropagation"]]]]],["p-6fbead83",[[257,"ion-picker-column",{"disabled":[4],"value":[1032],"color":[513],"numericInput":[4,"numeric-input"],"ariaLabel":[32],"isActive":[32],"scrollActiveItemIntoView":[64],"setValue":[64],"setFocus":[64]},null,{"aria-label":[{"ariaLabelChanged":0}],"value":[{"valueChange":0}]}]]],["p-b2fe6c1c",[[289,"ion-picker-column-option",{"disabled":[4],"value":[8],"color":[513],"ariaLabel":[32]},null,{"aria-label":[{"onAriaLabelChange":0}]}]]],["p-45825c2c",[[33,"ion-backdrop",{"visible":[4],"tappable":[4],"stopPropagation":[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]]],["p-9d789053",[[33,"ion-ripple-effect",{"type":[1],"addRipple":[64]}]]],["p-bf972309",[[34,"ion-select-modal",{"header":[1],"cancelText":[1,"cancel-text"],"cancelIcon":[4,"cancel-icon"],"multiple":[4],"options":[16]}]]],["p-35b144f5",[[289,"ion-datetime",{"color":[1],"name":[1],"disabled":[4],"formatOptions":[16],"readonly":[4],"isDateEnabled":[16],"showAdjacentDays":[4,"show-adjacent-days"],"min":[1025],"max":[1025],"presentation":[1],"cancelText":[1,"cancel-text"],"doneText":[1,"done-text"],"clearText":[1,"clear-text"],"yearValues":[8,"year-values"],"monthValues":[8,"month-values"],"dayValues":[8,"day-values"],"hourValues":[8,"hour-values"],"minuteValues":[8,"minute-values"],"locale":[1],"firstDayOfWeek":[2,"first-day-of-week"],"titleSelectedDatesFormatter":[16],"multiple":[4],"highlightedDates":[16],"value":[1025],"showDefaultTitle":[4,"show-default-title"],"showDefaultButtons":[4,"show-default-buttons"],"showClearButton":[4,"show-clear-button"],"showDefaultTimeLabel":[4,"show-default-time-label"],"hourCycle":[1,"hour-cycle"],"size":[1],"preferWheel":[4,"prefer-wheel"],"showMonthAndYear":[32],"activeParts":[32],"workingParts":[32],"isTimePopoverOpen":[32],"forceRenderDate":[32],"confirm":[64],"reset":[64],"cancel":[64]},null,{"formatOptions":[{"formatOptionsChanged":0}],"disabled":[{"disabledChanged":0}],"min":[{"minChanged":0}],"max":[{"maxChanged":0}],"presentation":[{"presentationChanged":0}],"yearValues":[{"yearValuesChanged":0}],"monthValues":[{"monthValuesChanged":0}],"dayValues":[{"dayValuesChanged":0}],"hourValues":[{"hourValuesChanged":0}],"minuteValues":[{"minuteValuesChanged":0}],"value":[{"valueChanged":0}]}],[34,"ion-picker-legacy",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"buttons":[16],"columns":[16],"cssClass":[1,"css-class"],"duration":[2],"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"getColumn":[64]},null,{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}],[32,"ion-picker-legacy-column",{"col":[16]},null,{"col":[{"colChanged":0}]}]]],["p-432c5888",[[34,"ion-action-sheet",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"buttons":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"header":[1],"subHeader":[1,"sub-header"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"activeRadioId":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[0,"keydown","onKeydown"]],{"buttons":[{"buttonsChanged":0}],"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-4a0260e6",[[34,"ion-alert",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"cssClass":[1,"css-class"],"header":[1],"subHeader":[1,"sub-header"],"message":[1],"buttons":[16],"inputs":[1040],"backdropDismiss":[4,"backdrop-dismiss"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[4,"keydown","onKeydown"]],{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}],"buttons":[{"buttonsChanged":0}],"inputs":[{"inputsChanged":0}]}]]],["p-2f0073af",[[289,"ion-modal",{"hasController":[4,"has-controller"],"overlayIndex":[2,"overlay-index"],"delegate":[16],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"breakpoints":[16],"expandToScroll":[4,"expand-to-scroll"],"initialBreakpoint":[2,"initial-breakpoint"],"backdropBreakpoint":[2,"backdrop-breakpoint"],"handle":[4],"handleBehavior":[1,"handle-behavior"],"component":[1],"componentProps":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"animated":[4],"presentingElement":[16],"htmlAttributes":[16],"isOpen":[4,"is-open"],"trigger":[1],"keepContentsMounted":[4,"keep-contents-mounted"],"focusTrap":[4,"focus-trap"],"canDismiss":[4,"can-dismiss"],"shape":[1],"isSheetModal":[32],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"setCurrentBreakpoint":[64],"getCurrentBreakpoint":[64]},[[9,"resize","onWindowResize"]],{"isOpen":[{"onIsOpenChange":0}],"trigger":[{"triggerChanged":0}]}]]],["p-15e3e8f5",[[289,"ion-popover",{"hasController":[4,"has-controller"],"delegate":[16],"overlayIndex":[2,"overlay-index"],"enterAnimation":[16],"leaveAnimation":[16],"component":[1],"componentProps":[16],"keyboardClose":[4,"keyboard-close"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"event":[8],"showBackdrop":[4,"show-backdrop"],"translucent":[4],"animated":[4],"htmlAttributes":[16],"triggerAction":[1,"trigger-action"],"trigger":[1],"size":[1],"dismissOnSelect":[4,"dismiss-on-select"],"reference":[1],"side":[1],"alignment":[1025],"arrow":[4],"isOpen":[4,"is-open"],"keyboardEvents":[4,"keyboard-events"],"focusTrap":[4,"focus-trap"],"keepContentsMounted":[4,"keep-contents-mounted"],"presented":[32],"presentFromTrigger":[64],"present":[64],"dismiss":[64],"getParentPopover":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"trigger":[{"onTriggerChange":0}],"triggerAction":[{"onTriggerChange":0}],"isOpen":[{"onIsOpenChange":0}]}]]],["p-f02ba305",[[289,"ion-checkbox",{"color":[513],"name":[1],"checked":[1028],"indeterminate":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"shape":[1],"size":[1],"isInvalid":[32],"hasLabelContent":[32],"hintTextId":[32],"setFocus":[64]}]]],["p-1c4de46b",[[33,"ion-spinner",{"color":[513],"duration":[2],"name":[1],"paused":[4],"size":[1]}]]],["p-3f79f594",[[289,"ion-radio",{"color":[513],"name":[1],"disabled":[4],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"checked":[32],"buttonTabindex":[32],"setFocus":[64],"setButtonTabindex":[64]},null,{"value":[{"valueChanged":0}]}],[289,"ion-radio-group",{"allowEmptySelection":[4,"allow-empty-selection"],"compareWith":[1,"compare-with"],"name":[1],"value":[1032],"helperText":[1,"helper-text"],"errorText":[1,"error-text"],"isInvalid":[32],"hintTextId":[32],"updateRadiosTabindex":[64],"setFocus":[64]},[[4,"keydown","onKeydown"]],{"value":[{"valueChanged":0}]}]]],["p-83c693c4",[[0,"ion-app",{"setFocus":[64]}],[292,"ion-footer",{"collapse":[1],"translucent":[4],"keyboardVisible":[32]}],[257,"ion-router-outlet",{"mode":[1025],"delegate":[16],"animated":[4],"animation":[16],"swipeHandler":[16],"commit":[64],"setRouteId":[64],"getRouteId":[64]},null,{"swipeHandler":[{"swipeHandlerChanged":0}]}],[294,"ion-buttons",{"collapse":[4]}],[257,"ion-content",{"color":[513],"fullscreen":[4],"fixedSlotPlacement":[1,"fixed-slot-placement"],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"],"recalculateDimensions":[64],"getScrollElement":[64],"getBackgroundElement":[64],"scrollToTop":[64],"scrollToBottom":[64],"scrollByPoint":[64],"scrollToPoint":[64]},[[9,"resize","onResize"]]],[292,"ion-header",{"collapse":[1],"divider":[4],"translucent":[4]}],[289,"ion-title",{"color":[513],"size":[1]},null,{"size":[{"sizeChanged":0}]}],[289,"ion-toolbar",{"color":[513],"titlePlacement":[1,"title-placement"]},[[0,"ionStyle","childrenStyle"]],{"titlePlacement":[{"titlePlacementChanged":0}]}]]],["p-07d3388f",[[289,"ion-button",{"color":[513],"buttonType":[1025,"button-type"],"disabled":[516],"expand":[513],"fill":[1537],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"download":[1],"href":[1],"rel":[1],"shape":[513],"size":[513],"strong":[4],"target":[1],"type":[1],"form":[1],"isCircle":[32]},null,{"disabled":[{"disabledChanged":0}],"aria-checked":[{"onAriaChanged":0}],"aria-label":[{"onAriaChanged":0}],"aria-pressed":[{"onAriaChanged":0}]}],[1,"ion-icon",{"mode":[1025],"color":[1],"ios":[1],"md":[1],"flipRtl":[4,"flip-rtl"],"name":[513],"src":[1],"icon":[8],"size":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]},null,{"name":[{"loadIcon":0}],"src":[{"loadIcon":0}],"icon":[{"loadIcon":0}],"ios":[{"loadIcon":0}],"md":[{"loadIcon":0}]}]]],["p-e18d3fdb",[[289,"ion-item-divider",{"color":[513],"sticky":[4]}],[32,"ion-item-group"],[289,"ion-note",{"color":[513]}],[1,"ion-skeleton-text",{"animated":[4]}],[294,"ion-label",{"color":[513],"position":[1],"noAnimate":[32]},null,{"color":[{"colorChanged":0}],"position":[{"positionChanged":0}]}],[289,"ion-list-header",{"color":[513],"lines":[1]}],[289,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[516],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32],"focusable":[32],"isInteractive":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{"button":[{"buttonChanged":0}]}],[32,"ion-list",{"lines":[1],"inset":[4],"shape":[1],"closeSlidingItems":[64]}]]],["p-a9fb086b",[[289,"ion-select",{"cancelText":[1,"cancel-text"],"cancelIcon":[4,"cancel-icon"],"color":[513],"compareWith":[1,"compare-with"],"disabled":[4],"fill":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"interface":[1],"interfaceOptions":[8,"interface-options"],"justify":[1],"label":[1],"labelPlacement":[1,"label-placement"],"multiple":[4],"name":[1],"okText":[1,"ok-text"],"placeholder":[1],"selectedText":[1,"selected-text"],"toggleIcon":[1,"toggle-icon"],"expandedIcon":[1,"expanded-icon"],"required":[4],"shape":[1],"size":[1],"value":[1032],"isExpanded":[32],"hasFocus":[32],"isInvalid":[32],"hintTextId":[32],"open":[64]},null,{"disabled":[{"styleChanged":0}],"isExpanded":[{"styleChanged":0}],"placeholder":[{"styleChanged":0}],"value":[{"styleChanged":0}]}],[1,"ion-select-option",{"disabled":[4],"value":[8],"description":[1]}],[34,"ion-select-popover",{"header":[1],"subHeader":[1,"sub-header"],"message":[1],"multiple":[4],"options":[16]}]]]]'),e))));
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{r as t,f as i,h as s,d as o,g as r}from"./p-Omi_TcwW.js";import{r as e}from"./p-CHE1xWbg.js";import{c as n}from"./p-CBV-BGvD.js";import"./p-vXpMhGrs.js";const a=/^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i,l=/^(calc|min|max|clamp)\s*\(.+\)$/i,h={xs:2,sm:3,md:4,lg:6,xl:8,xxl:10},u="16px",d={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},m=["xs","sm","md","lg","xl","xxl"],c=class{constructor(i){t(this,i),this.itemWrapperSelector="[data-gallery-group]",this.hasWarnedInvalidColumns=!1,this.hasWarnedInvalidGap=!1,this.hasWarnedUnusedOrder=!1,this.layout="uniform",this.columns=h,this.gap=u,this.onSlotChange=()=>{this.scheduleMasonryResize()},this.resizeMasonryGrid=()=>{if(this.masonryRaf=void 0,"masonry"!==this.layout)return void this.clearMasonryStyles();const t=this.el.getBoundingClientRect().width,i=this.getColumnsForWidth(t);if(void 0===i)return;const s=getComputedStyle(this.el),o=parseFloat(s.getPropertyValue("grid-auto-rows"))||0,r=parseFloat(s.getPropertyValue("row-gap"))||parseFloat(s.getPropertyValue("gap"))||0,e=parseFloat(s.getPropertyValue("column-gap"))||parseFloat(s.getPropertyValue("gap"))||0,n=this.getItems();this.layoutMasonry(n,o,r,e,i)}}onColumnsOrGapChanged(){this.syncResponsiveLayout()}onLayoutOrOrderChanged(){this.syncResponsiveLayout(),e((()=>{this.warnUnusedOrder()}))}componentDidLoad(){this.updateResponsiveStyles(!0),this.resizeObserver=new ResizeObserver((()=>{this.updateResponsiveStyles(),this.scheduleMasonryResize()})),this.resizeObserver.observe(this.el),this.scheduleMasonryResize(),this.warnUnusedOrder()}disconnectedCallback(){var t;void 0!==this.masonryRaf&&(cancelAnimationFrame(this.masonryRaf),this.masonryRaf=void 0),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0}onChildLoad(t){if("masonry"!==this.layout)return;const i=t.target;i instanceof Node&&this.el.contains(i)&&this.scheduleMasonryResize()}syncResponsiveLayout(){this.updateResponsiveStyles(!0),this.scheduleMasonryResize()}scheduleMasonryResize(){"masonry"===this.layout?(void 0!==this.masonryRaf&&cancelAnimationFrame(this.masonryRaf),this.masonryRaf=requestAnimationFrame(this.resizeMasonryGrid)):this.clearMasonryStyles()}sanitizeColumns(t){if(void 0===t)return;const i="number"==typeof t?t:Number(t);return!Number.isFinite(i)||!Number.isInteger(i)||i<=0?void 0:i}sanitizeGap(t){if(void 0===t)return;const i="string"==typeof t?t.trim():t;if(""===i||"object"==typeof i)return;const s=Number(i);return Number.isFinite(s)?s<0?void 0:`${s}px`:"string"==typeof i&&function(t){const i=t.trim();return!!i&&(l.test(i)||a.test(i))}(i)?i:void 0}isBreakpointMap(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}hasInvalidBreakpointMap(t,i){let s=!1;for(const o of m){const r=t[o];if(void 0!==r&&(s=!0,void 0===i(r)))return!0}return!s}resolveFromBreakpoints(t,i,s,o){let r;for(const e of m){const n=i[e],a=s(n),l=o(e),h=void 0===n||void 0===a?l:a;void 0!==h&&t>=d[e]&&(r=h)}return r}getColumnsFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeColumns(t)),(t=>this.sanitizeColumns(h[t])))}getGapFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeGap(t)),(()=>this.sanitizeGap(u)))}warnInvalidColumns(t){this.hasWarnedInvalidColumns||(i(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(t)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`,this.el),this.hasWarnedInvalidColumns=!0)}warnInvalidGap(t){this.hasWarnedInvalidGap||(i(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(t)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`,this.el),this.hasWarnedInvalidGap=!0)}warnUnusedOrder(){const{layout:t}=this;this.hasWarnedUnusedOrder||"uniform"!==t||void 0===(null==this.order?void 0:this.order)||(i('[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.',this.el),this.hasWarnedUnusedOrder=!0)}getColumnsForWidth(t){const{columns:i}=this,s=this.isBreakpointMap(i),o=s&&this.hasInvalidBreakpointMap(i,(t=>this.sanitizeColumns(t))),r=s?this.getColumnsFromBreakpointMap(t,i):this.sanitizeColumns(i);return(o||!s&&void 0===r)&&this.warnInvalidColumns(i),void 0!==r?r:this.getColumnsFromBreakpointMap(t,h)}getGapForWidth(t){const{gap:i}=this,s=null!=i?i:u,o=this.isBreakpointMap(s),r=o&&this.hasInvalidBreakpointMap(s,(t=>this.sanitizeGap(t))),e=o?this.getGapFromBreakpointMap(t,s):this.sanitizeGap(s);return(r||!o&&void 0===e)&&this.warnInvalidGap(s),void 0!==e?e:this.sanitizeGap(u)}updateResponsiveStyles(t=!1){const i=this.el.getBoundingClientRect().width;if(!i||!t&&void 0!==this.lastWidth&&Math.abs(this.lastWidth-i)<1)return;this.lastWidth=i;const s=this.getColumnsForWidth(i);this.el.style.setProperty("--internal-gallery-columns",`${s}`);const o=this.getGapForWidth(i);this.el.style.setProperty("--internal-gallery-gap",`${o}`)}isGalleryItemElement(t){var i;return"function"==typeof(null===(i=t.style)||void 0===i?void 0:i.setProperty)}getItems(){const t=Array.from(this.el.children).filter((t=>this.isGalleryItemElement(t))),i=[];return t.forEach((t=>{if(!t.matches(this.itemWrapperSelector))return void i.push(t);t.style.display="contents";const s=Array.from(t.children).filter((t=>this.isGalleryItemElement(t)));i.push(...s)})),i}clearItemStyles(t){t.style.gridRowStart="",t.style.gridRowEnd="",t.style.gridColumn="",t.style.marginBottom=""}clearMasonryStyles(){this.getItems().forEach((t=>this.clearItemStyles(t)))}calculateRowSpan(t,i,s){if(t instanceof HTMLImageElement&&(!t.complete||0===t.naturalHeight))return;const o=t.getBoundingClientRect().height,r=getComputedStyle(t),e=parseFloat(r.getPropertyValue("margin-bottom"))||0,n=i+s;return n&&Number.isFinite(n)&&Math.ceil((o+e+s)/n)||1}getColumnIndex(t,i,s){if("best-fit"===this.getOrder()){let t=0;for(let o=1;o<s;o++)i[o]<i[t]&&(t=o);return t}return t%s}layoutMasonry(t,i,s,o,r){const e=new Array(r).fill(0),n=new Array(r).fill(void 0);t.forEach(((t,a)=>{t.style.marginBottom="",t.parentElement!==this.el&&(t.style.marginBottom=`${o}px`);const l=this.calculateRowSpan(t,i,s);if(void 0===l)return void this.clearItemStyles(t);const h=this.getColumnIndex(a,e,r),u=e[h]+1;t.style.gridColumn=`${h+1}`,t.style.gridRowStart=`${u}`,t.style.gridRowEnd=`span ${l}`,e[h]=u+l-1,n[h]=t})),n.forEach((t=>{if(void 0===t)return;t.style.marginBottom="0px";const o=this.calculateRowSpan(t,i,s);void 0!==o?t.style.gridRowEnd=`span ${o}`:this.clearItemStyles(t)}))}getOrder(){const{layout:t}=this,i=null==this.order?void 0:this.order;if("uniform"!==t)return"masonry"===t&&void 0===i?"sequential":i}render(){const{layout:t}=this,i=this.getOrder(),r=n(this);return s(o,{key:"10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58",class:{[r]:!0,[`gallery-layout-${t}`]:!0,[`gallery-order-${i}`]:"masonry"===t&&void 0!==i}},s("slot",{key:"1ac472f867053973aa90975cd61901a2e8ff20aa",onSlotchange:this.onSlotChange}))}get el(){return r(this)}static get watchers(){return{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}}};c.style=":host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}";export{c as ion_gallery}
@@ -8,6 +8,7 @@ import type { GalleryColumns, GalleryGap } from './gallery-interface';
8
8
  */
9
9
  export declare class Gallery implements ComponentInterface {
10
10
  el: HTMLIonGalleryElement;
11
+ private itemWrapperSelector;
11
12
  private masonryRaf?;
12
13
  private resizeObserver?;
13
14
  private lastWidth?;
@@ -139,9 +140,11 @@ export declare class Gallery implements ComponentInterface {
139
140
  * the columns and gap when the component width changes.
140
141
  */
141
142
  private updateResponsiveStyles;
143
+ private isGalleryItemElement;
142
144
  /**
143
- * Return all directly slotted children of the gallery that can be grid items
144
- * with inline placement styles (HTML elements and SVG elements).
145
+ * Return all gallery items that can be grid items with inline placement styles.
146
+ * Direct children marked with `data-gallery-group` are ignored and replaced
147
+ * with their element children.
145
148
  */
146
149
  private getItems;
147
150
  /**
package/hydrate/index.js CHANGED
@@ -18747,6 +18747,7 @@ const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
18747
18747
  class Gallery {
18748
18748
  constructor(hostRef) {
18749
18749
  registerInstance(this, hostRef);
18750
+ this.itemWrapperSelector = '[data-gallery-group]';
18750
18751
  // Keep track of whether we've warned about invalid columns, invalid gap,
18751
18752
  // and unused order properties to avoid duplicate warnings on screen resize.
18752
18753
  this.hasWarnedInvalidColumns = false;
@@ -18801,8 +18802,9 @@ class Gallery {
18801
18802
  const styles = getComputedStyle(this.el);
18802
18803
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
18803
18804
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18805
+ const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18804
18806
  const items = this.getItems();
18805
- this.layoutMasonry(items, rowHeight, rowGap, columns);
18807
+ this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
18806
18808
  };
18807
18809
  }
18808
18810
  onColumnsOrGapChanged() {
@@ -19059,12 +19061,28 @@ class Gallery {
19059
19061
  const gap = this.getGapForWidth(width);
19060
19062
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
19061
19063
  }
19064
+ isGalleryItemElement(element) {
19065
+ var _a;
19066
+ return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
19067
+ }
19062
19068
  /**
19063
- * Return all directly slotted children of the gallery that can be grid items
19064
- * with inline placement styles (HTML elements and SVG elements).
19069
+ * Return all gallery items that can be grid items with inline placement styles.
19070
+ * Direct children marked with `data-gallery-group` are ignored and replaced
19071
+ * with their element children.
19065
19072
  */
19066
19073
  getItems() {
19067
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
19074
+ const items = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
19075
+ const flattenedItems = [];
19076
+ items.forEach((itemEl) => {
19077
+ if (!itemEl.matches(this.itemWrapperSelector)) {
19078
+ flattenedItems.push(itemEl);
19079
+ return;
19080
+ }
19081
+ itemEl.style.display = 'contents';
19082
+ const wrappedItems = Array.from(itemEl.children).filter((child) => this.isGalleryItemElement(child));
19083
+ flattenedItems.push(...wrappedItems);
19084
+ });
19085
+ return flattenedItems;
19068
19086
  }
19069
19087
  /**
19070
19088
  * Clear the item styles for the given item element.
@@ -19121,11 +19139,14 @@ class Gallery {
19121
19139
  /**
19122
19140
  * Apply masonry placement by assigning each item a column and row span.
19123
19141
  */
19124
- layoutMasonry(items, rowHeight, rowGap, columns) {
19142
+ layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
19125
19143
  const columnHeights = new Array(columns).fill(0);
19126
19144
  const lastItemsByColumn = new Array(columns).fill(undefined);
19127
19145
  items.forEach((itemEl, i) => {
19128
19146
  itemEl.style.marginBottom = '';
19147
+ if (itemEl.parentElement !== this.el) {
19148
+ itemEl.style.marginBottom = `${itemGap}px`;
19149
+ }
19129
19150
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
19130
19151
  if (span === undefined) {
19131
19152
  this.clearItemStyles(itemEl);
@@ -19174,11 +19195,11 @@ class Gallery {
19174
19195
  const { layout } = this;
19175
19196
  const order = this.getOrder();
19176
19197
  const theme = getIonTheme(this);
19177
- return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
19198
+ return (hAsync(Host, { key: '10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58', class: {
19178
19199
  [theme]: true,
19179
19200
  [`gallery-layout-${layout}`]: true,
19180
19201
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
19181
- } }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
19202
+ } }, hAsync("slot", { key: '1ac472f867053973aa90975cd61901a2e8ff20aa', onSlotchange: this.onSlotChange })));
19182
19203
  }
19183
19204
  get el() { return getElement(this); }
19184
19205
  static get watchers() { return {
package/hydrate/index.mjs CHANGED
@@ -18745,6 +18745,7 @@ const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
18745
18745
  class Gallery {
18746
18746
  constructor(hostRef) {
18747
18747
  registerInstance(this, hostRef);
18748
+ this.itemWrapperSelector = '[data-gallery-group]';
18748
18749
  // Keep track of whether we've warned about invalid columns, invalid gap,
18749
18750
  // and unused order properties to avoid duplicate warnings on screen resize.
18750
18751
  this.hasWarnedInvalidColumns = false;
@@ -18799,8 +18800,9 @@ class Gallery {
18799
18800
  const styles = getComputedStyle(this.el);
18800
18801
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
18801
18802
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18803
+ const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18802
18804
  const items = this.getItems();
18803
- this.layoutMasonry(items, rowHeight, rowGap, columns);
18805
+ this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
18804
18806
  };
18805
18807
  }
18806
18808
  onColumnsOrGapChanged() {
@@ -19057,12 +19059,28 @@ class Gallery {
19057
19059
  const gap = this.getGapForWidth(width);
19058
19060
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
19059
19061
  }
19062
+ isGalleryItemElement(element) {
19063
+ var _a;
19064
+ return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
19065
+ }
19060
19066
  /**
19061
- * Return all directly slotted children of the gallery that can be grid items
19062
- * with inline placement styles (HTML elements and SVG elements).
19067
+ * Return all gallery items that can be grid items with inline placement styles.
19068
+ * Direct children marked with `data-gallery-group` are ignored and replaced
19069
+ * with their element children.
19063
19070
  */
19064
19071
  getItems() {
19065
- return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
19072
+ const items = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
19073
+ const flattenedItems = [];
19074
+ items.forEach((itemEl) => {
19075
+ if (!itemEl.matches(this.itemWrapperSelector)) {
19076
+ flattenedItems.push(itemEl);
19077
+ return;
19078
+ }
19079
+ itemEl.style.display = 'contents';
19080
+ const wrappedItems = Array.from(itemEl.children).filter((child) => this.isGalleryItemElement(child));
19081
+ flattenedItems.push(...wrappedItems);
19082
+ });
19083
+ return flattenedItems;
19066
19084
  }
19067
19085
  /**
19068
19086
  * Clear the item styles for the given item element.
@@ -19119,11 +19137,14 @@ class Gallery {
19119
19137
  /**
19120
19138
  * Apply masonry placement by assigning each item a column and row span.
19121
19139
  */
19122
- layoutMasonry(items, rowHeight, rowGap, columns) {
19140
+ layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
19123
19141
  const columnHeights = new Array(columns).fill(0);
19124
19142
  const lastItemsByColumn = new Array(columns).fill(undefined);
19125
19143
  items.forEach((itemEl, i) => {
19126
19144
  itemEl.style.marginBottom = '';
19145
+ if (itemEl.parentElement !== this.el) {
19146
+ itemEl.style.marginBottom = `${itemGap}px`;
19147
+ }
19127
19148
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
19128
19149
  if (span === undefined) {
19129
19150
  this.clearItemStyles(itemEl);
@@ -19172,11 +19193,11 @@ class Gallery {
19172
19193
  const { layout } = this;
19173
19194
  const order = this.getOrder();
19174
19195
  const theme = getIonTheme(this);
19175
- return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
19196
+ return (hAsync(Host, { key: '10b550a9cc0c6b6994a86ec95bc6dbfadb3e8c58', class: {
19176
19197
  [theme]: true,
19177
19198
  [`gallery-layout-${layout}`]: true,
19178
19199
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
19179
- } }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
19200
+ } }, hAsync("slot", { key: '1ac472f867053973aa90975cd61901a2e8ff20aa', onSlotchange: this.onSlotChange })));
19180
19201
  }
19181
19202
  get el() { return getElement(this); }
19182
19203
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.8.7-dev.11779221548.1d38f927",
3
+ "version": "8.8.7-dev.11779385275.161a641b",
4
4
  "description": "Base components for Ionic",
5
5
  "engines": {
6
6
  "node": ">= 16"
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as t,f as i,h as s,d as o,g as r}from"./p-Omi_TcwW.js";import{r as e}from"./p-CHE1xWbg.js";import{c as n}from"./p-CBV-BGvD.js";import"./p-vXpMhGrs.js";const a=/^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i,l=/^(calc|min|max|clamp)\s*\(.+\)$/i,h={xs:2,sm:3,md:4,lg:6,xl:8,xxl:10},d="16px",u={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},m=["xs","sm","md","lg","xl","xxl"],p=class{constructor(i){t(this,i),this.hasWarnedInvalidColumns=!1,this.hasWarnedInvalidGap=!1,this.hasWarnedUnusedOrder=!1,this.layout="uniform",this.columns=h,this.gap=d,this.onSlotChange=()=>{this.scheduleMasonryResize()},this.resizeMasonryGrid=()=>{if(this.masonryRaf=void 0,"masonry"!==this.layout)return void this.clearMasonryStyles();const t=this.el.getBoundingClientRect().width,i=this.getColumnsForWidth(t);if(void 0===i)return;const s=getComputedStyle(this.el),o=parseFloat(s.getPropertyValue("grid-auto-rows"))||0,r=parseFloat(s.getPropertyValue("row-gap"))||parseFloat(s.getPropertyValue("gap"))||0,e=this.getItems();this.layoutMasonry(e,o,r,i)}}onColumnsOrGapChanged(){this.syncResponsiveLayout()}onLayoutOrOrderChanged(){this.syncResponsiveLayout(),e((()=>{this.warnUnusedOrder()}))}componentDidLoad(){this.updateResponsiveStyles(!0),this.resizeObserver=new ResizeObserver((()=>{this.updateResponsiveStyles(),this.scheduleMasonryResize()})),this.resizeObserver.observe(this.el),this.scheduleMasonryResize(),this.warnUnusedOrder()}disconnectedCallback(){var t;void 0!==this.masonryRaf&&(cancelAnimationFrame(this.masonryRaf),this.masonryRaf=void 0),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0}onChildLoad(t){if("masonry"!==this.layout)return;const i=t.target;i instanceof Node&&this.el.contains(i)&&this.scheduleMasonryResize()}syncResponsiveLayout(){this.updateResponsiveStyles(!0),this.scheduleMasonryResize()}scheduleMasonryResize(){"masonry"===this.layout?(void 0!==this.masonryRaf&&cancelAnimationFrame(this.masonryRaf),this.masonryRaf=requestAnimationFrame(this.resizeMasonryGrid)):this.clearMasonryStyles()}sanitizeColumns(t){if(void 0===t)return;const i="number"==typeof t?t:Number(t);return!Number.isFinite(i)||!Number.isInteger(i)||i<=0?void 0:i}sanitizeGap(t){if(void 0===t)return;const i="string"==typeof t?t.trim():t;if(""===i||"object"==typeof i)return;const s=Number(i);return Number.isFinite(s)?s<0?void 0:`${s}px`:"string"==typeof i&&function(t){const i=t.trim();return!!i&&(l.test(i)||a.test(i))}(i)?i:void 0}isBreakpointMap(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}hasInvalidBreakpointMap(t,i){let s=!1;for(const o of m){const r=t[o];if(void 0!==r&&(s=!0,void 0===i(r)))return!0}return!s}resolveFromBreakpoints(t,i,s,o){let r;for(const e of m){const n=i[e],a=s(n),l=o(e),h=void 0===n||void 0===a?l:a;void 0!==h&&t>=u[e]&&(r=h)}return r}getColumnsFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeColumns(t)),(t=>this.sanitizeColumns(h[t])))}getGapFromBreakpointMap(t,i){return this.resolveFromBreakpoints(t,i,(t=>this.sanitizeGap(t)),(()=>this.sanitizeGap(d)))}warnInvalidColumns(t){this.hasWarnedInvalidColumns||(i(`[ion-gallery] - Invalid "columns" value (${JSON.stringify(t)}). Expected a positive integer or breakpoint map object (e.g. { xs: 2, md: 4 }). Falling back to default responsive columns.`,this.el),this.hasWarnedInvalidColumns=!0)}warnInvalidGap(t){this.hasWarnedInvalidGap||(i(`[ion-gallery] - Invalid "gap" value (${JSON.stringify(t)}). Expected a non-negative number, CSS length string, or breakpoint map object (e.g. { xs: 8, md: "1rem" }).`,this.el),this.hasWarnedInvalidGap=!0)}warnUnusedOrder(){const{layout:t}=this;this.hasWarnedUnusedOrder||"uniform"!==t||void 0===(null==this.order?void 0:this.order)||(i('[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.',this.el),this.hasWarnedUnusedOrder=!0)}getColumnsForWidth(t){const{columns:i}=this,s=this.isBreakpointMap(i),o=s&&this.hasInvalidBreakpointMap(i,(t=>this.sanitizeColumns(t))),r=s?this.getColumnsFromBreakpointMap(t,i):this.sanitizeColumns(i);return(o||!s&&void 0===r)&&this.warnInvalidColumns(i),void 0!==r?r:this.getColumnsFromBreakpointMap(t,h)}getGapForWidth(t){const{gap:i}=this,s=null!=i?i:d,o=this.isBreakpointMap(s),r=o&&this.hasInvalidBreakpointMap(s,(t=>this.sanitizeGap(t))),e=o?this.getGapFromBreakpointMap(t,s):this.sanitizeGap(s);return(r||!o&&void 0===e)&&this.warnInvalidGap(s),void 0!==e?e:this.sanitizeGap(d)}updateResponsiveStyles(t=!1){const i=this.el.getBoundingClientRect().width;if(!i||!t&&void 0!==this.lastWidth&&Math.abs(this.lastWidth-i)<1)return;this.lastWidth=i;const s=this.getColumnsForWidth(i);this.el.style.setProperty("--internal-gallery-columns",`${s}`);const o=this.getGapForWidth(i);this.el.style.setProperty("--internal-gallery-gap",`${o}`)}getItems(){return Array.from(this.el.children).filter((t=>{var i;return"function"==typeof(null===(i=t.style)||void 0===i?void 0:i.setProperty)}))}clearItemStyles(t){t.style.gridRowStart="",t.style.gridRowEnd="",t.style.gridColumn="",t.style.marginBottom=""}clearMasonryStyles(){this.getItems().forEach((t=>this.clearItemStyles(t)))}calculateRowSpan(t,i,s){if(t instanceof HTMLImageElement&&(!t.complete||0===t.naturalHeight))return;const o=t.getBoundingClientRect().height,r=getComputedStyle(t),e=parseFloat(r.getPropertyValue("margin-bottom"))||0,n=i+s;return n&&Number.isFinite(n)&&Math.ceil((o+e+s)/n)||1}getColumnIndex(t,i,s){if("best-fit"===this.getOrder()){let t=0;for(let o=1;o<s;o++)i[o]<i[t]&&(t=o);return t}return t%s}layoutMasonry(t,i,s,o){const r=new Array(o).fill(0),e=new Array(o).fill(void 0);t.forEach(((t,n)=>{t.style.marginBottom="";const a=this.calculateRowSpan(t,i,s);if(void 0===a)return void this.clearItemStyles(t);const l=this.getColumnIndex(n,r,o),h=r[l]+1;t.style.gridColumn=`${l+1}`,t.style.gridRowStart=`${h}`,t.style.gridRowEnd=`span ${a}`,r[l]=h+a-1,e[l]=t})),e.forEach((t=>{if(void 0===t)return;t.style.marginBottom="0px";const o=this.calculateRowSpan(t,i,s);void 0!==o?t.style.gridRowEnd=`span ${o}`:this.clearItemStyles(t)}))}getOrder(){const{layout:t}=this,i=null==this.order?void 0:this.order;if("uniform"!==t)return"masonry"===t&&void 0===i?"sequential":i}render(){const{layout:t}=this,i=this.getOrder(),r=n(this);return s(o,{key:"1bf2973d22835c0dbddf3214b602f8c08b95e421",class:{[r]:!0,[`gallery-layout-${t}`]:!0,[`gallery-order-${i}`]:"masonry"===t&&void 0!==i}},s("slot",{key:"0dea31f609f6afdb1d73ecb2d873909ffe49203f",onSlotchange:this.onSlotChange}))}get el(){return r(this)}static get watchers(){return{columns:[{onColumnsOrGapChanged:0}],gap:[{onColumnsOrGapChanged:0}],layout:[{onLayoutOrOrderChanged:0}],order:[{onLayoutOrOrderChanged:0}]}}};p.style=":host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}";export{p as ion_gallery}