@everymatrix/helper-filters 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,58 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+
3
+ /**
4
+ * @name isMobile
5
+ * @description A method that returns if the browser used to access the app is from a mobile device or not
6
+ * @param {String} userAgent window.navigator.userAgent
7
+ * @returns {Boolean} true or false
8
+ */
9
+ const isMobile = (userAgent) => {
10
+ return !!(userAgent.toLowerCase().match(/android/i) ||
11
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
12
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
13
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
14
+ };
15
+
16
+ const helperModalCss = ":host{display:block}.HelperModalWrapper{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);opacity:0;visibility:hidden;transform:scale(1.1);transition:visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;z-index:1}.HelperModalVisible{opacity:1;visibility:visible;transform:scale(1);transition:visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s}.HelperModalContent{position:relative;border:solid 1px #848e97;box-shadow:2px 2px 2px rgba(0, 0, 0, 0.007);font-size:14px;padding:10px 10px 5px 10px;background-color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:600px;max-height:600px;overflow-y:scroll}.HelperModalMobileContent{background:#FFF;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:80%;max-height:350px}.HelperModalClose{cursor:pointer;position:absolute;top:15px;right:15px;font-size:20px;color:#000}.HelperModalMobileClose{position:absolute;top:15px;right:15px;font-size:20px;color:#000}";
17
+
18
+ const HelperModal = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
19
+ constructor() {
20
+ super();
21
+ this.__registerHost();
22
+ this.__attachShadow();
23
+ this.cancel = createEvent(this, "modalCloseEvent", 7);
24
+ /**
25
+ * Toggles if the helper is visible or not
26
+ */
27
+ this.visible = true;
28
+ this.userAgent = window.navigator.userAgent;
29
+ }
30
+ handleHelperModalClose() {
31
+ this.visible = false;
32
+ this.cancel.emit();
33
+ }
34
+ ;
35
+ render() {
36
+ return ((this.visible &&
37
+ h("div", { class: this.visible ? "HelperModalWrapper HelperModalVisible" : "HelperModalWrapper" }, h("div", { class: "HelperModalWrapper HelperModalVisible" }, h("div", { class: "HelperModalContent" + (isMobile(this.userAgent) ? ' HelperModalMobileContent' : '') }, h("span", { class: "HelperModalClose" + (isMobile(this.userAgent) ? ' HelperModalMobileClose' : ''), onClick: this.handleHelperModalClose.bind(this) }, "X"), h("slot", null))))));
38
+ }
39
+ static get style() { return helperModalCss; }
40
+ }, [1, "helper-modal", {
41
+ "titleModal": [1, "title-modal"],
42
+ "visible": [1540]
43
+ }]);
44
+ function defineCustomElement() {
45
+ if (typeof customElements === "undefined") {
46
+ return;
47
+ }
48
+ const components = ["helper-modal"];
49
+ components.forEach(tagName => { switch (tagName) {
50
+ case "helper-modal":
51
+ if (!customElements.get(tagName)) {
52
+ customElements.define(tagName, HelperModal);
53
+ }
54
+ break;
55
+ } });
56
+ }
57
+
58
+ export { HelperModal as H, defineCustomElement as d };
@@ -1,5 +1,6 @@
1
1
  /* HelperFilters custom elements */
2
- export { HelperFilters as HelperFilters } from '../types/components/helper-filters/helper-filters';
2
+
3
+ import type { Components, JSX } from "../types/components";
3
4
 
4
5
  /**
5
6
  * Used to manually set the base path where assets can be found.
@@ -19,4 +20,7 @@ export interface SetPlatformOptions {
19
20
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
20
21
  }
21
22
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
23
+
24
+ export type { Components, JSX };
25
+
22
26
  export * from '../types';
@@ -1,2 +1 @@
1
1
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
2
- export { HelperFilters, defineCustomElement as defineCustomElementHelperFilters } from './helper-filters.js';
@@ -1,7 +1,7 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-22b0fa3e.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-1b3528e3.js';
2
2
 
3
3
  /*
4
- Stencil Client Patch Browser v2.17.0 | MIT Licensed | https://stenciljs.com
4
+ Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com
5
5
  */
6
6
  const patchBrowser = () => {
7
7
  const importMeta = import.meta.url;
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["helper-filters",[[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]]], options);
16
+ return bootstrapLazy([["helper-filters_2",[[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]],[1,"helper-modal",{"titleModal":[1,"title-modal"],"visible":[1540]}]]]], options);
17
17
  });
@@ -1,5 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h as h$2 } from './index-22b0fa3e.js';
2
- import '@everymatrix/helper-modal';
1
+ import { r as registerInstance, c as createEvent, h as h$2 } from './index-1b3528e3.js';
3
2
 
4
3
  const DEFAULT_LANGUAGE = 'en';
5
4
  const SUPPORTED_LANGUAGES = ['ro', 'en'];
@@ -14,7 +13,8 @@ const TRANSLATIONS = {
14
13
  filterDateRangePlaceholder: 'Date Range',
15
14
  filterModalButton: 'Search',
16
15
  filterFromCalendar: 'From',
17
- filterToCalendar: 'To'
16
+ filterToCalendar: 'To',
17
+ filterOrDate: 'or search by date'
18
18
  },
19
19
  ro: {
20
20
  filterOpen: 'Filtrare',
@@ -24,7 +24,8 @@ const TRANSLATIONS = {
24
24
  filterTicketPlaceholder: 'Cauta ID bilet',
25
25
  filterDrawPlaceholder: 'Cauta ID draw',
26
26
  filterDateRangePlaceholder: 'Perioada',
27
- filterModalButton: 'Cauta'
27
+ filterModalButton: 'Cauta',
28
+ filterOrDate: 'sau cauta dupa data'
28
29
  },
29
30
  };
30
31
  const translate$1 = (key, customLang) => {
@@ -22224,11 +22225,12 @@ class DatePicker extends DatePickerMixin(InputControlMixin(ThemableMixin(Element
22224
22225
 
22225
22226
  customElements.define(DatePicker.is, DatePicker);
22226
22227
 
22227
- const helperFiltersCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.FilterButtonsWrapper{display:flex;justify-content:flex-end;gap:5px}.FilterButtonsWrapper .FilterOpen{cursor:pointer;border-radius:4px;padding:8px 15px;width:max-content;border:1px solid #00958f;background:#00958f;color:#FFF;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0}.FilterButtonsWrapper .FilterOpen:hover{background:#00958f;color:#FFF}.FilterButtonsWrapper .FilterClear{cursor:pointer;border-radius:4px;padding:8px 15px;width:max-content;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0}.FilterButtonsWrapper .FilterClear:hover{background:#00958f;color:#FFF}.FilterModalHeader,.FilterModalBody,.FilterModalFooter{display:flex;flex-direction:column;gap:5px;align-items:center;margin:20px 0}.FilterModalHeader .FilterModalTitle,.FilterModalBody .FilterModalTitle,.FilterModalFooter .FilterModalTitle{margin:0;padding:0;font-weight:700;font-size:16px;color:#009993;text-transform:uppercase}.FilterModalHeader .FilterModalSearch,.FilterModalBody .FilterModalSearch,.FilterModalFooter .FilterModalSearch{border-radius:4px;background:#e8ebef;color:#263445;width:100%;height:26px;max-width:280px;padding:5px;font-size:15px;border:none;outline:#009993}.FilterModalHeader .FilterCalendarWrapper,.FilterModalBody .FilterCalendarWrapper,.FilterModalFooter .FilterCalendarWrapper{display:flex;gap:5px}.FilterModalHeader .FilterCalendarWrapper .VaadinDatePicker,.FilterModalBody .FilterCalendarWrapper .VaadinDatePicker,.FilterModalFooter .FilterCalendarWrapper .VaadinDatePicker{width:50%;max-width:143px}.FilterModalHeader .FilterModalButton,.FilterModalBody .FilterModalButton,.FilterModalFooter .FilterModalButton{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;border:1px solid #00958f;background:#00958f;color:#FFF;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.FilterModalHeader .FilterModalButton:hover,.FilterModalBody .FilterModalButton:hover,.FilterModalFooter .FilterModalButton:hover{background:#00958f;color:#FFF}";
22228
+ const helperFiltersCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}.FilterButtonsWrapper{display:flex;justify-content:flex-end;gap:5px}.FilterButtonsWrapper .FilterOpen{cursor:pointer;border-radius:4px;padding:8px 15px;width:max-content;border:1px solid #00958f;background:#00958f;color:#FFF;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0}.FilterButtonsWrapper .FilterOpen:hover{background:#00958f;color:#FFF}.FilterButtonsWrapper .FilterClear{cursor:pointer;border-radius:4px;padding:8px 15px;width:max-content;border:1px solid #00958f;background:#FFF;color:#000;font-size:12px;transition:all 0.2s linear;text-align:center;letter-spacing:0}.FilterButtonsWrapper .FilterClear:hover{background:#00958f;color:#FFF}.FilterModalHeader,.FilterModalBody,.FilterModalFooter{display:flex;flex-direction:column;gap:5px;align-items:center;margin:20px 0}.FilterModalHeader .FilterModalTitle,.FilterModalBody .FilterModalTitle,.FilterModalFooter .FilterModalTitle{margin:0;padding:0;font-weight:700;font-size:16px;color:#009993;text-transform:uppercase}.FilterModalHeader .FilterModalSearch,.FilterModalBody .FilterModalSearch,.FilterModalFooter .FilterModalSearch{border-radius:4px;background:#e8ebef;color:#263445;width:100%;height:26px;max-width:280px;padding:5px;font-size:15px;border:none;outline:#009993}.FilterModalHeader .FilterCalendarWrapper,.FilterModalBody .FilterCalendarWrapper,.FilterModalFooter .FilterCalendarWrapper{display:flex;gap:5px}.FilterModalHeader .FilterCalendarWrapper .VaadinDatePicker,.FilterModalBody .FilterCalendarWrapper .VaadinDatePicker,.FilterModalFooter .FilterCalendarWrapper .VaadinDatePicker{width:50%;max-width:143px}.FilterModalHeader .FilterModalButton,.FilterModalBody .FilterModalButton,.FilterModalFooter .FilterModalButton{cursor:pointer;border-radius:4px;padding:8px 60px;width:max-content;margin:5px;border:1px solid #00958f;background:#00958f;color:#FFF;font-size:12px;transition:all 0.2s linear;text-transform:uppercase;text-align:center;letter-spacing:0}.FilterModalHeader .FilterModalButton:hover,.FilterModalBody .FilterModalButton:hover,.FilterModalFooter .FilterModalButton:hover{background:#00958f;color:#FFF}.FilterModalHeader p,.FilterModalBody p,.FilterModalFooter p{margin:5px 0}";
22228
22229
 
22229
22230
  const HelperFilters = class {
22230
22231
  constructor(hostRef) {
22231
22232
  registerInstance(this, hostRef);
22233
+ this.filterDraw = createEvent(this, "filterDraw", 7);
22232
22234
  this.filterSelection = createEvent(this, "filterSelection", 7);
22233
22235
  this.filterSelectionReset = createEvent(this, "filterSelectionReset", 7);
22234
22236
  /**
@@ -22262,23 +22264,29 @@ const HelperFilters = class {
22262
22264
  this.showFilterModal = false;
22263
22265
  this.showClearButton = false;
22264
22266
  this.filterData = {};
22265
- this.filterDataReset = { drawTicketId: '', filterFromCalendar: '', filterToCalendar: '' };
22267
+ this.filterDataReset = { ticketDrawId: '', filterFromCalendar: '', filterToCalendar: '' };
22268
+ }
22269
+ // reset field values each time the filter modal opens
22270
+ componentDidRender() {
22271
+ this.filterData.ticketDrawId = null;
22272
+ this.filterData.filterFromCalendar = null;
22273
+ this.filterData.filterToCalendar = null;
22274
+ // @TODO: to way binding?
22275
+ if (document.getElementById('#FilterById'))
22276
+ document.getElementById('#FilterById').value = '';
22266
22277
  }
22267
22278
  filterSelectionHandler(event) {
22268
- if (this.postMessage) {
22279
+ if (this.postMessage)
22269
22280
  window.postMessage({ type: 'filterSelection', event }, window.location.href);
22270
- }
22271
- else {
22281
+ if (this.filterData.ticketDrawId)
22282
+ this.filterDraw.emit(event);
22283
+ if (this.filterData.filterFromCalendar || this.filterData.filterToCalendar)
22272
22284
  this.filterSelection.emit(event);
22273
- }
22274
22285
  }
22275
22286
  filterSelectionResetHandler(event) {
22276
- if (this.postMessage) {
22287
+ if (this.postMessage)
22277
22288
  window.postMessage({ type: 'filterSelectionReset', event }, window.location.href);
22278
- }
22279
- else {
22280
- this.filterSelectionReset.emit(event);
22281
- }
22289
+ this.filterSelectionReset.emit(event);
22282
22290
  }
22283
22291
  modalCloseEvent() {
22284
22292
  this.showFilterModal = false;
@@ -22296,9 +22304,10 @@ const HelperFilters = class {
22296
22304
  resetSearch() {
22297
22305
  this.showClearButton = false;
22298
22306
  this.filterSelectionResetHandler(this.filterDataReset);
22307
+ this.filterData = {};
22299
22308
  }
22300
- handleDrawTicketId(event) {
22301
- this.filterData.drawTicketId = event.target.value;
22309
+ handleTicketDrawId(event) {
22310
+ this.filterData.ticketDrawId = event.target.value;
22302
22311
  }
22303
22312
  handleFilterFrom(event) {
22304
22313
  this.filterData.filterFromCalendar = new Date(event.target.value).toISOString();
@@ -22307,9 +22316,46 @@ const HelperFilters = class {
22307
22316
  this.filterData.filterToCalendar = new Date(event.target.value).toISOString();
22308
22317
  }
22309
22318
  render() {
22310
- return (h$2("div", { class: "HelperFilters" }, h$2("div", { class: "FilterButtonsWrapper" }, h$2("button", { class: "FilterOpen", onClick: () => this.toggleFilterModal() }, translate$1('filterOpen', this.language)), this.showClearButton ? h$2("button", { class: "FilterClear", onClick: () => this.resetSearch() }, translate$1('filterClear', this.language)) : null), h$2("helper-modal", { "title-modal": "Filter Modal", visible: this.showFilterModal }, h$2("div", { class: "FilterModalHeader" }, h$2("h3", { class: "FilterModalTitle" }, this.activateTicketSearch ? translate$1('filterModalTicketTitle', this.language) : translate$1('filterModalDrawTitle', this.language))), h$2("div", { class: "FilterModalBody" }, h$2("input", { type: "text", value: this.filterData.drawTicketId, onInput: (event) => this.handleDrawTicketId(event), class: "FilterModalSearch", placeholder: this.activateTicketSearch ? translate$1('filterTicketPlaceholder', this.language) : translate$1('filterDrawPlaceholder', this.language) }), h$2("div", { class: "FilterCalendarWrapper" }, h$2("vaadin-date-picker", { value: this.filterData.filterFromCalendar, onChange: (event) => this.handleFilterFrom(event), placeholder: translate$1('filterFromCalendar', this.language), class: "VaadinDatePicker" }), h$2("vaadin-date-picker", { value: this.filterData.filterToCalendar, onChange: (event) => this.handleFilterTo(event), placeholder: translate$1('filterToCalendar', this.language), class: "VaadinDatePicker" }))), h$2("div", { class: "FilterModalFooter" }, h$2("button", { class: "FilterModalButton", onClick: () => this.filterSearch() }, translate$1('filterModalButton', this.language))))));
22319
+ return (h$2("div", { class: "HelperFilters" }, h$2("div", { class: "FilterButtonsWrapper" }, h$2("button", { class: "FilterOpen", onClick: () => this.toggleFilterModal() }, translate$1('filterOpen', this.language)), this.showClearButton ? h$2("button", { class: "FilterClear", onClick: () => this.resetSearch() }, translate$1('filterClear', this.language)) : null), h$2("helper-modal", { "title-modal": "Filter Modal", visible: this.showFilterModal }, h$2("div", { class: "FilterModalHeader" }, h$2("h3", { class: "FilterModalTitle" }, this.activateTicketSearch ? translate$1('filterModalTicketTitle', this.language) : translate$1('filterModalDrawTitle', this.language))), h$2("div", { class: "FilterModalBody" }, h$2("input", { id: "FilterById", type: "text", value: this.filterData.ticketDrawId, onInput: (event) => this.handleTicketDrawId(event), class: "FilterModalSearch", placeholder: this.activateTicketSearch ? translate$1('filterTicketPlaceholder', this.language) : translate$1('filterDrawPlaceholder', this.language) }), h$2("p", null, translate$1('filterOrDate', this.language)), h$2("div", { class: "FilterCalendarWrapper" }, h$2("vaadin-date-picker", { value: this.filterData.filterFromCalendar, onChange: (event) => this.handleFilterFrom(event), placeholder: translate$1('filterFromCalendar', this.language), class: "VaadinDatePicker" }), h$2("vaadin-date-picker", { value: this.filterData.filterToCalendar, onChange: (event) => this.handleFilterTo(event), placeholder: translate$1('filterToCalendar', this.language), class: "VaadinDatePicker" }))), h$2("div", { class: "FilterModalFooter" }, h$2("button", { class: "FilterModalButton", onClick: () => this.filterSearch() }, translate$1('filterModalButton', this.language))))));
22311
22320
  }
22312
22321
  };
22313
22322
  HelperFilters.style = helperFiltersCss;
22314
22323
 
22315
- export { HelperFilters as helper_filters };
22324
+ /**
22325
+ * @name isMobile
22326
+ * @description A method that returns if the browser used to access the app is from a mobile device or not
22327
+ * @param {String} userAgent window.navigator.userAgent
22328
+ * @returns {Boolean} true or false
22329
+ */
22330
+ const isMobile = (userAgent) => {
22331
+ return !!(userAgent.toLowerCase().match(/android/i) ||
22332
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
22333
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
22334
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
22335
+ };
22336
+
22337
+ const helperModalCss = ":host{display:block}.HelperModalWrapper{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.7);opacity:0;visibility:hidden;transform:scale(1.1);transition:visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;z-index:1}.HelperModalVisible{opacity:1;visibility:visible;transform:scale(1);transition:visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s}.HelperModalContent{position:relative;border:solid 1px #848e97;box-shadow:2px 2px 2px rgba(0, 0, 0, 0.007);font-size:14px;padding:10px 10px 5px 10px;background-color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:600px;max-height:600px;overflow-y:scroll}.HelperModalMobileContent{background:#FFF;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:4px;width:80%;max-height:350px}.HelperModalClose{cursor:pointer;position:absolute;top:15px;right:15px;font-size:20px;color:#000}.HelperModalMobileClose{position:absolute;top:15px;right:15px;font-size:20px;color:#000}";
22338
+
22339
+ const HelperModal = class {
22340
+ constructor(hostRef) {
22341
+ registerInstance(this, hostRef);
22342
+ this.cancel = createEvent(this, "modalCloseEvent", 7);
22343
+ /**
22344
+ * Toggles if the helper is visible or not
22345
+ */
22346
+ this.visible = true;
22347
+ this.userAgent = window.navigator.userAgent;
22348
+ }
22349
+ handleHelperModalClose() {
22350
+ this.visible = false;
22351
+ this.cancel.emit();
22352
+ }
22353
+ ;
22354
+ render() {
22355
+ return ((this.visible &&
22356
+ h$2("div", { class: this.visible ? "HelperModalWrapper HelperModalVisible" : "HelperModalWrapper" }, h$2("div", { class: "HelperModalWrapper HelperModalVisible" }, h$2("div", { class: "HelperModalContent" + (isMobile(this.userAgent) ? ' HelperModalMobileContent' : '') }, h$2("span", { class: "HelperModalClose" + (isMobile(this.userAgent) ? ' HelperModalMobileClose' : ''), onClick: this.handleHelperModalClose.bind(this) }, "X"), h$2("slot", null))))));
22357
+ }
22358
+ };
22359
+ HelperModal.style = helperModalCss;
22360
+
22361
+ export { HelperFilters as helper_filters, HelperModal as helper_modal };
@@ -83,7 +83,7 @@ const registerStyle = (scopeId, cssText, allowCS) => {
83
83
  };
84
84
  const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
85
85
  let scopeId = getScopeId(cmpMeta);
86
- const style = styles.get(scopeId);
86
+ let style = styles.get(scopeId);
87
87
  // if an element is NOT connected then getRootNode() will return the wrong root node
88
88
  // so the fallback is to always use the document for the root node in those cases
89
89
  styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
@@ -163,7 +163,7 @@ const h = (nodeName, vnodeData, ...children) => {
163
163
  let child = null;
164
164
  let simple = false;
165
165
  let lastSimple = false;
166
- const vNodeChildren = [];
166
+ let vNodeChildren = [];
167
167
  const walk = (c) => {
168
168
  for (let i = 0; i < c.length; i++) {
169
169
  child = c[i];
@@ -286,7 +286,7 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
286
286
  if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
287
287
  try {
288
288
  if (!elm.tagName.includes('-')) {
289
- const n = newValue == null ? '' : newValue;
289
+ let n = newValue == null ? '' : newValue;
290
290
  // Workaround for Safari, moving the <input> caret when re-assigning the same valued
291
291
  if (memberName === 'list') {
292
292
  isProp = false;
@@ -343,7 +343,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
343
343
  };
344
344
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
345
345
  // tslint:disable-next-line: prefer-const
346
- const newVNode = newParentVNode.$children$[childIndex];
346
+ let newVNode = newParentVNode.$children$[childIndex];
347
347
  let i = 0;
348
348
  let elm;
349
349
  let childNode;
@@ -480,11 +480,14 @@ const patch = (oldVNode, newVNode) => {
480
480
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
481
481
  const oldChildren = oldVNode.$children$;
482
482
  const newChildren = newVNode.$children$;
483
+ const tag = newVNode.$tag$;
483
484
  const text = newVNode.$text$;
484
485
  if (text === null) {
485
486
  // element node
486
487
  {
487
- {
488
+ if (tag === 'slot')
489
+ ;
490
+ else {
488
491
  // either this is the first render of an element OR it's an update
489
492
  // AND we already know it's possible it could have changed
490
493
  // this updates the element's css classes, attrs, props, listeners, etc.
@@ -517,9 +520,14 @@ const patch = (oldVNode, newVNode) => {
517
520
  };
518
521
  const renderVdom = (hostRef, renderFnResults) => {
519
522
  const hostElm = hostRef.$hostElement$;
523
+ const cmpMeta = hostRef.$cmpMeta$;
520
524
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
521
525
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
522
526
  hostTagName = hostElm.tagName;
527
+ if (cmpMeta.$attrsToReflect$) {
528
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
529
+ cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
530
+ }
523
531
  rootVnode.$tag$ = null;
524
532
  rootVnode.$flags$ |= 4 /* isHost */;
525
533
  hostRef.$vnode$ = rootVnode;
@@ -656,7 +664,11 @@ const postUpdateComponent = (hostRef) => {
656
664
  const tagName = hostRef.$cmpMeta$.$tagName$;
657
665
  const elm = hostRef.$hostElement$;
658
666
  const endPostUpdate = createTime('postUpdate', tagName);
667
+ const instance = hostRef.$lazyInstance$ ;
659
668
  const ancestorComponent = hostRef.$ancestorComponent$;
669
+ {
670
+ safeCall(instance, 'componentDidRender');
671
+ }
660
672
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
661
673
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
662
674
  {
@@ -866,6 +878,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
866
878
  .map(([propName, m]) => {
867
879
  const attrName = m[1] || propName;
868
880
  attrNameToPropName.set(attrName, propName);
881
+ if (m[0] & 512 /* ReflectAttr */) {
882
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
883
+ }
869
884
  return attrName;
870
885
  });
871
886
  }
@@ -1026,6 +1041,9 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1026
1041
  {
1027
1042
  cmpMeta.$listeners$ = compactMeta[3];
1028
1043
  }
1044
+ {
1045
+ cmpMeta.$attrsToReflect$ = [];
1046
+ }
1029
1047
  const tagName = cmpMeta.$tagName$;
1030
1048
  const HostElement = class extends HTMLElement {
1031
1049
  // StencilLazyHost
@@ -1120,9 +1138,7 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1120
1138
  if (module) {
1121
1139
  return module[exportName];
1122
1140
  }
1123
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
1124
1141
  return import(
1125
- /* @vite-ignore */
1126
1142
  /* webpackInclude: /\.entry\.js$/ */
1127
1143
  /* webpackExclude: /\.system\.entry\.js$/ */
1128
1144
  /* webpackMode: "lazy" */
@@ -1,7 +1,7 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-22b0fa3e.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-1b3528e3.js';
2
2
 
3
3
  /*
4
- Stencil Client Patch Esm v2.17.0 | MIT Licensed | https://stenciljs.com
4
+ Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
5
5
  */
6
6
  const patchEsm = () => {
7
7
  return promiseResolve();
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["helper-filters",[[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]]], options);
13
+ return bootstrapLazy([["helper-filters_2",[[1,"helper-filters",{"showFilterId":[4,"show-filter-id"],"activateTicketSearch":[4,"activate-ticket-search"],"gameId":[1,"game-id"],"playerId":[1,"player-id"],"session":[1],"postMessage":[4,"post-message"],"language":[1],"showFilterModal":[32],"showClearButton":[32],"filterData":[32],"filterDataReset":[32]},[[0,"modalCloseEvent","modalCloseEvent"]]],[1,"helper-modal",{"titleModal":[1,"title-modal"],"visible":[1540]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -1 +1 @@
1
- import{p as e,b as t}from"./p-8ee0f47c.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),e(a)})().then((e=>t([["p-beca45e4",[[1,"helper-filters",{showFilterId:[4,"show-filter-id"],activateTicketSearch:[4,"activate-ticket-search"],gameId:[1,"game-id"],playerId:[1,"player-id"],session:[1],postMessage:[4,"post-message"],language:[1],showFilterModal:[32],showClearButton:[32],filterData:[32],filterDataReset:[32]},[[0,"modalCloseEvent","modalCloseEvent"]]]]]],e)));
1
+ import{p as e,b as t}from"./p-2cd626f1.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),e(a)})().then((e=>t([["p-4b4c4d5f",[[1,"helper-filters",{showFilterId:[4,"show-filter-id"],activateTicketSearch:[4,"activate-ticket-search"],gameId:[1,"game-id"],playerId:[1,"player-id"],session:[1],postMessage:[4,"post-message"],language:[1],showFilterModal:[32],showClearButton:[32],filterData:[32],filterDataReset:[32]},[[0,"modalCloseEvent","modalCloseEvent"]]],[1,"helper-modal",{titleModal:[1,"title-modal"],visible:[1540]}]]]],e)));
@@ -0,0 +1 @@
1
+ let e,t,n=!1;const l="undefined"!=typeof window?window:{},s=l.document||{head:{}},o={t:0,l:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},r=e=>Promise.resolve(e),c=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replace}catch(e){}return!1})(),i=(e,t,n)=>{n&&n.map((([n,l,s])=>{const r=e,c=u(t,s),i=a(n);o.ael(r,l,c,i),(t.o=t.o||[]).push((()=>o.rel(r,l,c,i)))}))},u=(e,t)=>n=>{try{256&e.t?e.i[t](n):(e.u=e.u||[]).push([t,n])}catch(e){G(e)}},a=e=>0!=(2&e),f=new WeakMap,h=e=>"sc-"+e.h,d={},$=e=>"object"==(e=typeof e)||"function"===e,y=(e,t,...n)=>{let l=null,s=!1,o=!1,r=[];const c=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((s="function"!=typeof e&&!$(l))&&(l+=""),s&&o?r[r.length-1].$+=l:r.push(s?m(null,l):l),o=s)};if(c(n),t){const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}const i=m(e,null);return i.m=t,r.length>0&&(i.p=r),i},m=(e,t)=>({t:0,S:e,$:t,g:null,p:null,m:null}),p={},b=(e,t,n,s,r,c)=>{if(n!==s){let i=B(e,t),u=t.toLowerCase();if("class"===t){const t=e.classList,l=S(n),o=S(s);t.remove(...l.filter((e=>e&&!o.includes(e)))),t.add(...o.filter((e=>e&&!l.includes(e))))}else if(i||"o"!==t[0]||"n"!==t[1]){const l=$(s);if((i||l&&null!==s)&&!r)try{if(e.tagName.includes("-"))e[t]=s;else{let l=null==s?"":s;"list"===t?i=!1:null!=n&&e[t]==l||(e[t]=l)}}catch(e){}null==s||!1===s?!1===s&&""!==e.getAttribute(t)||e.removeAttribute(t):(!i||4&c||r)&&!l&&e.setAttribute(t,s=!0===s?"":s)}else t="-"===t[2]?t.slice(3):B(l,u)?u.slice(2):u[2]+t.slice(3),n&&o.rel(e,t,n,!1),s&&o.ael(e,t,s,!1)}},w=/\s/,S=e=>e?e.split(w):[],g=(e,t,n,l)=>{const s=11===t.g.nodeType&&t.g.host?t.g.host:t.g,o=e&&e.m||d,r=t.m||d;for(l in o)l in r||b(s,l,o[l],void 0,n,t.t);for(l in r)b(s,l,o[l],r[l],n,t.t)},j=(t,n,l)=>{let o,r,c=n.p[l],i=0;if(null!==c.$)o=c.g=s.createTextNode(c.$);else if(o=c.g=s.createElement(c.S),g(null,c,!1),null!=e&&o["s-si"]!==e&&o.classList.add(o["s-si"]=e),c.p)for(i=0;i<c.p.length;++i)r=j(t,c,i),r&&o.appendChild(r);return o},v=(e,n,l,s,o,r)=>{let c,i=e;for(i.shadowRoot&&i.tagName===t&&(i=i.shadowRoot);o<=r;++o)s[o]&&(c=j(null,l,o),c&&(s[o].g=c,i.insertBefore(c,n)))},M=(e,t,n,l)=>{for(;t<=n;++t)(l=e[t])&&l.g.remove()},k=(e,t)=>e.S===t.S,C=(e,t)=>{const n=t.g=e.g,l=e.p,s=t.p,o=t.$;null===o?("slot"===t.S||g(e,t,!1),null!==l&&null!==s?((e,t,n,l)=>{let s,o=0,r=0,c=t.length-1,i=t[0],u=t[c],a=l.length-1,f=l[0],h=l[a];for(;o<=c&&r<=a;)null==i?i=t[++o]:null==u?u=t[--c]:null==f?f=l[++r]:null==h?h=l[--a]:k(i,f)?(C(i,f),i=t[++o],f=l[++r]):k(u,h)?(C(u,h),u=t[--c],h=l[--a]):k(i,h)?(C(i,h),e.insertBefore(i.g,u.g.nextSibling),i=t[++o],h=l[--a]):k(u,f)?(C(u,f),e.insertBefore(u.g,i.g),u=t[--c],f=l[++r]):(s=j(t&&t[r],n,r),f=l[++r],s&&i.g.parentNode.insertBefore(s,i.g));o>c?v(e,null==l[a+1]?null:l[a+1].g,n,l,r,a):r>a&&M(t,o,c)})(n,l,t,s):null!==s?(null!==e.$&&(n.textContent=""),v(n,null,t,s,0,s.length-1)):null!==l&&M(l,0,l.length-1)):e.$!==o&&(n.data=o)},O=(e,t,n)=>{const l=(e=>V(e).j)(e);return{emit:e=>P(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},P=(e,t,n)=>{const l=o.ce(t,n);return e.dispatchEvent(l),l},x=(e,t)=>{t&&!e.v&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.v=t)))},E=(e,t)=>{if(e.t|=16,!(4&e.t))return x(e,e.M),ne((()=>N(e,t)));e.t|=512},N=(e,t)=>{const n=e.i;return t&&(e.t|=256,e.u&&(e.u.map((([e,t])=>U(n,e,t))),e.u=null)),W(void 0,(()=>R(e,n,t)))},R=async(e,t,n)=>{const l=e.j,o=l["s-rc"];n&&(e=>{const t=e.k,n=e.j,l=t.t,o=((e,t)=>{let n=h(t),l=K.get(n);if(e=11===e.nodeType?e:s,l)if("string"==typeof l){let t,o=f.get(e=e.head||e);o||f.set(e,o=new Set),o.has(n)||(t=s.createElement("style"),t.innerHTML=l,e.insertBefore(t,e.querySelector("link")),o&&o.add(n))}else e.adoptedStyleSheets.includes(l)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]);return n})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(e);T(e,t),o&&(o.map((e=>e())),l["s-rc"]=void 0);{const t=l["s-p"],n=()=>A(e);0===t.length?n():(Promise.all(t).then(n),e.t|=4,t.length=0)}},T=(n,l)=>{try{l=l.render(),n.t&=-17,n.t|=2,((n,l)=>{const s=n.j,o=n.k,r=n.C||m(null,null),c=(e=>e&&e.S===p)(l)?l:y(null,null,l);t=s.tagName,o.O&&(c.m=c.m||{},o.O.map((([e,t])=>c.m[t]=s[e]))),c.S=null,c.t|=4,n.C=c,c.g=r.g=s.shadowRoot||s,e=s["s-sc"],C(r,c)})(n,l)}catch(e){G(e,n.j)}return null},A=e=>{const t=e.j,n=e.M;U(e.i,"componentDidRender"),64&e.t||(e.t|=64,q(t),e.P(t),n||L()),e.v&&(e.v(),e.v=void 0),512&e.t&&te((()=>E(e,!1))),e.t&=-517},L=()=>{q(s.documentElement),te((()=>P(l,"appload",{detail:{namespace:"helper-filters"}})))},U=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){G(e)}},W=(e,t)=>e&&e.then?e.then(t):t(),q=e=>e.classList.add("hydrated"),D=(e,t,n)=>{if(t.N){const l=Object.entries(t.N),s=e.prototype;if(l.map((([e,[l]])=>{(31&l||2&n&&32&l)&&Object.defineProperty(s,e,{get(){return((e,t)=>V(this).R.get(t))(0,e)},set(n){((e,t,n,l)=>{const s=V(e),o=s.R.get(t),r=s.t,c=s.i;n=((e,t)=>null==e||$(e)?e:4&t?"false"!==e&&(""===e||!!e):1&t?e+"":e)(n,l.N[t][0]),8&r&&void 0!==o||n===o||Number.isNaN(o)&&Number.isNaN(n)||(s.R.set(t,n),c&&2==(18&r)&&E(s,!1))})(this,e,n,t)},configurable:!0,enumerable:!0})})),1&n){const n=new Map;s.attributeChangedCallback=function(e,t,l){o.jmp((()=>{const t=n.get(e);if(this.hasOwnProperty(t))l=this[t],delete this[t];else if(s.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==l)return;this[t]=(null!==l||"boolean"!=typeof this[t])&&l}))},e.observedAttributes=l.filter((([e,t])=>15&t[0])).map((([e,l])=>{const s=l[1]||e;return n.set(s,e),512&l[0]&&t.O.push([e,s]),s}))}}return e},F=(e,t={})=>{const n=[],r=t.exclude||[],u=l.customElements,a=s.head,f=a.querySelector("meta[charset]"),d=s.createElement("style"),$=[];let y,m=!0;Object.assign(o,t),o.l=new URL(t.resourcesUrl||"./",s.baseURI).href,e.map((e=>{e[1].map((t=>{const l={t:t[0],h:t[1],N:t[2],T:t[3]};l.N=t[2],l.T=t[3],l.O=[];const s=l.h,a=class extends HTMLElement{constructor(e){super(e),z(e=this,l),1&l.t&&e.attachShadow({mode:"open"})}connectedCallback(){y&&(clearTimeout(y),y=null),m?$.push(this):o.jmp((()=>(e=>{if(0==(1&o.t)){const t=V(e),n=t.k,l=()=>{};if(1&t.t)i(e,t,n.T);else{t.t|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){x(t,t.M=n);break}}n.N&&Object.entries(n.N).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n,l,s)=>{if(0==(32&t.t)){{if(t.t|=32,(s=J(n)).then){const e=()=>{};s=await s,e()}s.isProxied||(D(s,n,2),s.isProxied=!0);const e=()=>{};t.t|=8;try{new s(t)}catch(e){G(e)}t.t&=-9,e()}if(s.style){let e=s.style;const t=h(n);if(!K.has(t)){const l=()=>{};((e,t,n)=>{let l=K.get(e);c&&n?(l=l||new CSSStyleSheet,l.replace(t)):l=t,K.set(e,l)})(t,e,!!(1&n.t)),l()}}}const o=t.M,r=()=>E(t,!0);o&&o["s-rc"]?o["s-rc"].push(r):r()})(0,t,n)}l()}})(this)))}disconnectedCallback(){o.jmp((()=>(()=>{if(0==(1&o.t)){const e=V(this);e.o&&(e.o.map((e=>e())),e.o=void 0)}})()))}componentOnReady(){return V(this).A}};l.L=e[0],r.includes(s)||u.get(s)||(n.push(s),u.define(s,D(a,l,1)))}))})),d.innerHTML=n+"{visibility:hidden}.hydrated{visibility:inherit}",d.setAttribute("data-styles",""),a.insertBefore(d,f?f.nextSibling:a.firstChild),m=!1,$.length?$.map((e=>e.connectedCallback())):o.jmp((()=>y=setTimeout(L,30)))},H=new WeakMap,V=e=>H.get(e),_=(e,t)=>H.set(t.i=e,t),z=(e,t)=>{const n={t:0,j:e,k:t,R:new Map};return n.A=new Promise((e=>n.P=e)),e["s-p"]=[],e["s-rc"]=[],i(e,n,t.T),H.set(e,n)},B=(e,t)=>t in e,G=(e,t)=>(0,console.error)(e,t),I=new Map,J=e=>{const t=e.h.replace(/-/g,"_"),n=e.L,l=I.get(n);return l?l[t]:import(`./${n}.entry.js`).then((e=>(I.set(n,e),e[t])),G)},K=new Map,Q=[],X=[],Y=(e,t)=>l=>{e.push(l),n||(n=!0,t&&4&o.t?te(ee):o.raf(ee))},Z=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){G(e)}e.length=0},ee=()=>{Z(Q),Z(X),(n=Q.length>0)&&o.raf(ee)},te=e=>r().then(e),ne=Y(X,!0);export{F as b,O as c,y as h,r as p,_ as r}