@everymatrix/lottery-bullet 1.52.6 → 1.53.10

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,6 +1,31 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class LotteryBullet {
3
3
  constructor() {
4
+ /**
5
+ * Value of the bullet
6
+ */
7
+ this.value = '0';
8
+ /**
9
+ * Marks if the bullet should be selectable
10
+ */
11
+ this.selectable = true;
12
+ /**
13
+ * Marks if the bullet should be selected
14
+ */
15
+ this.isSelected = false;
16
+ /**
17
+ * Marks if the number is bonus number.
18
+ */
19
+ this.isBonus = false;
20
+ /**
21
+ * Client custom styling via string
22
+ */
23
+ this.clientStyling = '';
24
+ /**
25
+ * Client custom styling via url content
26
+ */
27
+ this.clientStylingUrlContent = '';
28
+ this.limitStylingAppends = false;
4
29
  this.select = () => {
5
30
  if (this.selectable) {
6
31
  this.isSelected = !this.isSelected;
@@ -22,12 +47,6 @@ export class LotteryBullet {
22
47
  this.stylingContainer.prepend(cssFile);
23
48
  }, 1);
24
49
  };
25
- this.value = '0';
26
- this.selectable = true;
27
- this.isSelected = false;
28
- this.clientStyling = '';
29
- this.clientStylingUrlContent = '';
30
- this.limitStylingAppends = false;
31
50
  }
32
51
  componentDidRender() {
33
52
  // start custom styling area
@@ -41,7 +60,7 @@ export class LotteryBullet {
41
60
  // end custom styling area
42
61
  }
43
62
  render() {
44
- return (h("div", { key: 'af3601684ecf1f39d65fc9461430cba96b9e4b8c', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
63
+ return (h("div", { key: 'a21cbee8f556bfbbe9f97be5f44bfc08b6f24dd6', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : '') + (this.isBonus ? ' Bonus' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
45
64
  }
46
65
  static get is() { return "lottery-bullet"; }
47
66
  static get encapsulation() { return "shadow"; }
@@ -71,6 +90,8 @@ export class LotteryBullet {
71
90
  "tags": [],
72
91
  "text": "Value of the bullet"
73
92
  },
93
+ "getter": false,
94
+ "setter": false,
74
95
  "attribute": "value",
75
96
  "reflect": true,
76
97
  "defaultValue": "'0'"
@@ -89,6 +110,8 @@ export class LotteryBullet {
89
110
  "tags": [],
90
111
  "text": "Marks if the bullet should be selectable"
91
112
  },
113
+ "getter": false,
114
+ "setter": false,
92
115
  "attribute": "selectable",
93
116
  "reflect": true,
94
117
  "defaultValue": "true"
@@ -107,10 +130,32 @@ export class LotteryBullet {
107
130
  "tags": [],
108
131
  "text": "Marks if the bullet should be selected"
109
132
  },
133
+ "getter": false,
134
+ "setter": false,
110
135
  "attribute": "is-selected",
111
136
  "reflect": true,
112
137
  "defaultValue": "false"
113
138
  },
139
+ "isBonus": {
140
+ "type": "boolean",
141
+ "mutable": false,
142
+ "complexType": {
143
+ "original": "boolean",
144
+ "resolved": "boolean",
145
+ "references": {}
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": "Marks if the number is bonus number."
152
+ },
153
+ "getter": false,
154
+ "setter": false,
155
+ "attribute": "is-bonus",
156
+ "reflect": true,
157
+ "defaultValue": "false"
158
+ },
114
159
  "clientStyling": {
115
160
  "type": "string",
116
161
  "mutable": false,
@@ -125,6 +170,8 @@ export class LotteryBullet {
125
170
  "tags": [],
126
171
  "text": "Client custom styling via string"
127
172
  },
173
+ "getter": false,
174
+ "setter": false,
128
175
  "attribute": "client-styling",
129
176
  "reflect": true,
130
177
  "defaultValue": "''"
@@ -143,6 +190,8 @@ export class LotteryBullet {
143
190
  "tags": [],
144
191
  "text": "Client custom styling via url content"
145
192
  },
193
+ "getter": false,
194
+ "setter": false,
146
195
  "attribute": "client-styling-url-content",
147
196
  "reflect": true,
148
197
  "defaultValue": "''"
@@ -1,17 +1,21 @@
1
1
  const NAMESPACE = 'lottery-bullet';
2
- const BUILD = /* lottery-bullet */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
2
+ const BUILD = /* lottery-bullet */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
3
3
 
4
4
  /*
5
- Stencil Client Platform v4.22.3 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.25.1 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  var __defProp = Object.defineProperty;
8
8
  var __export = (target, all) => {
9
9
  for (var name in all)
10
10
  __defProp(target, name, { get: all[name], enumerable: true });
11
11
  };
12
+
13
+ // src/client/client-host-ref.ts
12
14
  var hostRefs = /* @__PURE__ */ new WeakMap();
13
15
  var getHostRef = (ref) => hostRefs.get(ref);
14
- var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
16
+ var registerInstance = (lazyInstance, hostRef) => {
17
+ hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
18
+ };
15
19
  var registerHost = (hostElement, cmpMeta) => {
16
20
  const hostRef = {
17
21
  $flags$: 0,
@@ -24,7 +28,8 @@ var registerHost = (hostElement, cmpMeta) => {
24
28
  hostElement["s-p"] = [];
25
29
  hostElement["s-rc"] = [];
26
30
  }
27
- return hostRefs.set(hostElement, hostRef);
31
+ const ref = hostRefs.set(hostElement, hostRef);
32
+ return ref;
28
33
  };
29
34
  var isMemberInElement = (elm, memberName) => memberName in elm;
30
35
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -61,16 +66,22 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
61
66
  /* webpackExclude: /\.system\.entry\.js$/ */
62
67
  /* webpackMode: "lazy" */
63
68
  `./${bundleId}.entry.js${""}`
64
- ).then((importedModule) => {
65
- {
66
- cmpModules.set(bundleId, importedModule);
69
+ ).then(
70
+ (importedModule) => {
71
+ {
72
+ cmpModules.set(bundleId, importedModule);
73
+ }
74
+ return importedModule[exportName];
75
+ },
76
+ (e) => {
77
+ consoleError(e, hostRef.$hostElement$);
67
78
  }
68
- return importedModule[exportName];
69
- }, consoleError);
79
+ );
70
80
  };
71
81
 
72
82
  // src/client/client-style.ts
73
83
  var styles = /* @__PURE__ */ new Map();
84
+ var HYDRATED_STYLE_ID = "sty-id";
74
85
  var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
75
86
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
76
87
  var win = typeof window !== "undefined" ? window : {};
@@ -128,12 +139,6 @@ var flush = () => {
128
139
  };
129
140
  var nextTick = (cb) => promiseResolve().then(cb);
130
141
  var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
131
-
132
- // src/utils/constants.ts
133
- var EMPTY_OBJ = {};
134
-
135
- // src/utils/helpers.ts
136
- var isDef = (v) => v != null;
137
142
  var isComplexType = (o) => {
138
143
  o = typeof o;
139
144
  return o === "object" || o === "function";
@@ -334,7 +339,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
334
339
  }
335
340
  if (!appliedStyles.has(scopeId2)) {
336
341
  {
337
- styleElm = doc.createElement("style");
342
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || doc.createElement("style");
338
343
  styleElm.innerHTML = style;
339
344
  const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
340
345
  if (nonce != null) {
@@ -344,7 +349,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
344
349
  if (styleContainerNode.nodeName === "HEAD") {
345
350
  const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
346
351
  const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
347
- styleContainerNode.insertBefore(styleElm, referenceNode2);
352
+ styleContainerNode.insertBefore(
353
+ styleElm,
354
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
355
+ );
348
356
  } else if ("host" in styleContainerNode) {
349
357
  if (supportsConstructableStylesheets) {
350
358
  const stylesheet = new CSSStyleSheet();
@@ -394,16 +402,18 @@ var attachStyles = (hostRef) => {
394
402
  endAttachStyles();
395
403
  };
396
404
  var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
397
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
405
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
398
406
  if (oldValue !== newValue) {
399
407
  let isProp = isMemberInElement(elm, memberName);
400
408
  let ln = memberName.toLowerCase();
401
409
  if (memberName === "class") {
402
410
  const classList = elm.classList;
403
411
  const oldClasses = parseClassList(oldValue);
404
- const newClasses = parseClassList(newValue);
405
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
406
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
412
+ let newClasses = parseClassList(newValue);
413
+ {
414
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
415
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
416
+ }
407
417
  } else if (memberName === "key") ; else if (memberName === "ref") {
408
418
  if (newValue) {
409
419
  newValue(elm);
@@ -441,7 +451,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
441
451
  elm.setAttribute(memberName, n);
442
452
  }
443
453
  }
444
- } else {
454
+ } else if (elm[memberName] !== newValue) {
445
455
  elm[memberName] = newValue;
446
456
  }
447
457
  } catch (e) {
@@ -463,24 +473,44 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
463
473
  }
464
474
  };
465
475
  var parseClassListRegex = /\s/;
466
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
476
+ var parseClassList = (value) => {
477
+ if (typeof value === "object" && value && "baseVal" in value) {
478
+ value = value.baseVal;
479
+ }
480
+ if (!value || typeof value !== "string") {
481
+ return [];
482
+ }
483
+ return value.split(parseClassListRegex);
484
+ };
467
485
  var CAPTURE_EVENT_SUFFIX = "Capture";
468
486
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
469
487
 
470
488
  // src/runtime/vdom/update-element.ts
471
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
489
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
472
490
  const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
473
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
474
- const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
491
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
492
+ const newVnodeAttrs = newVnode.$attrs$ || {};
475
493
  {
476
494
  for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
477
495
  if (!(memberName in newVnodeAttrs)) {
478
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
496
+ setAccessor(
497
+ elm,
498
+ memberName,
499
+ oldVnodeAttrs[memberName],
500
+ void 0,
501
+ isSvgMode2,
502
+ newVnode.$flags$);
479
503
  }
480
504
  }
481
505
  }
482
506
  for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
483
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
507
+ setAccessor(
508
+ elm,
509
+ memberName,
510
+ oldVnodeAttrs[memberName],
511
+ newVnodeAttrs[memberName],
512
+ isSvgMode2,
513
+ newVnode.$flags$);
484
514
  }
485
515
  };
486
516
  function sortedAttrNames(attrNames) {
@@ -492,13 +522,10 @@ function sortedAttrNames(attrNames) {
492
522
  attrNames
493
523
  );
494
524
  }
495
-
496
- // src/runtime/vdom/vdom-render.ts
497
- var scopeId;
498
525
  var hostTagName;
499
526
  var useNativeShadowDom = false;
500
527
  var isSvgMode = false;
501
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
528
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
502
529
  const newVNode2 = newParentVNode.$children$[childIndex];
503
530
  let i2 = 0;
504
531
  let elm;
@@ -512,11 +539,6 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
512
539
  {
513
540
  updateElement(null, newVNode2, isSvgMode);
514
541
  }
515
- const rootNode = elm.getRootNode();
516
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
517
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
518
- elm.classList.add(elm["s-si"] = scopeId);
519
- }
520
542
  if (newVNode2.$children$) {
521
543
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
522
544
  childNode = createElm(oldParentVNode, newVNode2, i2);
@@ -646,6 +668,9 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
646
668
  if (!isInitialRender) {
647
669
  return leftVNode.$key$ === rightVNode.$key$;
648
670
  }
671
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
672
+ leftVNode.$key$ = rightVNode.$key$;
673
+ }
649
674
  return true;
650
675
  }
651
676
  return false;
@@ -685,8 +710,9 @@ var nullifyVNodeRefs = (vNode) => {
685
710
  }
686
711
  };
687
712
  var insertBefore = (parent, newNode, reference) => {
688
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
689
- return inserted;
713
+ {
714
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
715
+ }
690
716
  };
691
717
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
692
718
  const hostElm = hostRef.$hostElement$;
@@ -711,9 +737,6 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
711
737
  rootVnode.$flags$ |= 4 /* isHost */;
712
738
  hostRef.$vnode$ = rootVnode;
713
739
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
714
- {
715
- scopeId = hostElm["s-sc"];
716
- }
717
740
  useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
718
741
  patch(oldVNode, rootVnode, isInitialLoad);
719
742
  };
@@ -721,7 +744,14 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
721
744
  // src/runtime/update-component.ts
722
745
  var attachToAncestor = (hostRef, ancestorComponent) => {
723
746
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
724
- ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
747
+ const index = ancestorComponent["s-p"].push(
748
+ new Promise(
749
+ (r) => hostRef.$onRenderResolve$ = () => {
750
+ ancestorComponent["s-p"].splice(index - 1, 1);
751
+ r();
752
+ }
753
+ )
754
+ );
725
755
  }
726
756
  };
727
757
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -812,7 +842,7 @@ var postUpdateComponent = (hostRef) => {
812
842
  const instance = hostRef.$lazyInstance$ ;
813
843
  const ancestorComponent = hostRef.$ancestorComponent$;
814
844
  {
815
- safeCall(instance, "componentDidRender");
845
+ safeCall(instance, "componentDidRender", void 0, elm);
816
846
  }
817
847
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
818
848
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
@@ -846,12 +876,12 @@ var appDidLoad = (who) => {
846
876
  }
847
877
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
848
878
  };
849
- var safeCall = (instance, method, arg) => {
879
+ var safeCall = (instance, method, arg, elm) => {
850
880
  if (instance && instance[method]) {
851
881
  try {
852
882
  return instance[method](arg);
853
883
  } catch (e) {
854
- consoleError(e);
884
+ consoleError(e, elm);
855
885
  }
856
886
  }
857
887
  return void 0;
@@ -894,15 +924,68 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
894
924
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
895
925
  members.map(([memberName, [memberFlags]]) => {
896
926
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
927
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
928
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
929
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
930
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
931
+ Object.defineProperty(prototype, memberName, {
932
+ get() {
933
+ {
934
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
935
+ return getValue(this, memberName);
936
+ }
937
+ const ref = getHostRef(this);
938
+ const instance = ref ? ref.$lazyInstance$ : prototype;
939
+ if (!instance) return;
940
+ return instance[memberName];
941
+ }
942
+ },
943
+ configurable: true,
944
+ enumerable: true
945
+ });
946
+ }
897
947
  Object.defineProperty(prototype, memberName, {
898
- get() {
899
- return getValue(this, memberName);
900
- },
901
948
  set(newValue) {
902
- setValue(this, memberName, newValue, cmpMeta);
903
- },
904
- configurable: true,
905
- enumerable: true
949
+ const ref = getHostRef(this);
950
+ if (origSetter) {
951
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
952
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
953
+ newValue = ref.$instanceValues$.get(memberName);
954
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
955
+ ref.$instanceValues$.set(memberName, currentValue);
956
+ }
957
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
958
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
959
+ setValue(this, memberName, newValue, cmpMeta);
960
+ return;
961
+ }
962
+ {
963
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
964
+ setValue(this, memberName, newValue, cmpMeta);
965
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
966
+ ref.$onReadyPromise$.then(() => {
967
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
968
+ ref.$lazyInstance$[memberName] = newValue;
969
+ }
970
+ });
971
+ }
972
+ return;
973
+ }
974
+ const setterSetVal = () => {
975
+ const currentValue = ref.$lazyInstance$[memberName];
976
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
977
+ ref.$instanceValues$.set(memberName, currentValue);
978
+ }
979
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
980
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
981
+ };
982
+ if (ref.$lazyInstance$) {
983
+ setterSetVal();
984
+ } else {
985
+ ref.$onReadyPromise$.then(() => setterSetVal());
986
+ }
987
+ }
988
+ }
906
989
  });
907
990
  }
908
991
  });
@@ -912,7 +995,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
912
995
  plt.jmp(() => {
913
996
  var _a2;
914
997
  const propName = attrNameToPropName.get(attrName);
915
- if (this.hasOwnProperty(propName)) {
998
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
916
999
  newValue = this[propName];
917
1000
  delete this[propName];
918
1001
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -932,7 +1015,11 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
932
1015
  }
933
1016
  return;
934
1017
  }
935
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1018
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1019
+ newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1020
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
1021
+ this[propName] = newValue;
1022
+ }
936
1023
  });
937
1024
  };
938
1025
  Cstr.observedAttributes = Array.from(
@@ -959,9 +1046,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
959
1046
  let Cstr;
960
1047
  if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
961
1048
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
962
- const bundleId = cmpMeta.$lazyBundleId$;
963
- if (bundleId) {
964
- const CstrImport = loadModule(cmpMeta);
1049
+ {
1050
+ const CstrImport = loadModule(cmpMeta, hostRef);
965
1051
  if (CstrImport && "then" in CstrImport) {
966
1052
  const endLoad = uniqueTime();
967
1053
  Cstr = await CstrImport;
@@ -983,16 +1069,12 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
983
1069
  try {
984
1070
  new Cstr(hostRef);
985
1071
  } catch (e) {
986
- consoleError(e);
1072
+ consoleError(e, elm);
987
1073
  }
988
1074
  {
989
1075
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
990
1076
  }
991
1077
  endNewInstance();
992
- } else {
993
- Cstr = elm.constructor;
994
- const cmpTag = elm.localName;
995
- customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
996
1078
  }
997
1079
  if (Cstr && Cstr.style) {
998
1080
  let style;
@@ -1015,7 +1097,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1015
1097
  schedule();
1016
1098
  }
1017
1099
  };
1018
- var fireConnectedCallback = (instance) => {
1100
+ var fireConnectedCallback = (instance, elm) => {
1019
1101
  };
1020
1102
 
1021
1103
  // src/runtime/connected-callback.ts
@@ -1055,7 +1137,7 @@ var connectedCallback = (elm) => {
1055
1137
  endConnected();
1056
1138
  }
1057
1139
  };
1058
- var disconnectInstance = (instance) => {
1140
+ var disconnectInstance = (instance, elm) => {
1059
1141
  };
1060
1142
  var disconnectedCallback = async (elm) => {
1061
1143
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
@@ -1064,6 +1146,12 @@ var disconnectedCallback = async (elm) => {
1064
1146
  hostRef.$onReadyPromise$.then(() => disconnectInstance());
1065
1147
  }
1066
1148
  }
1149
+ if (rootAppliedStyles.has(elm)) {
1150
+ rootAppliedStyles.delete(elm);
1151
+ }
1152
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
1153
+ rootAppliedStyles.delete(elm.shadowRoot);
1154
+ }
1067
1155
  };
1068
1156
 
1069
1157
  // src/runtime/bootstrap-lazy.ts
@@ -1140,6 +1228,13 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1140
1228
  }
1141
1229
  disconnectedCallback() {
1142
1230
  plt.jmp(() => disconnectedCallback(this));
1231
+ plt.raf(() => {
1232
+ var _a3;
1233
+ const hostRef = getHostRef(this);
1234
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
1235
+ delete hostRef.$vnode$.$elm$;
1236
+ }
1237
+ });
1143
1238
  }
1144
1239
  componentOnReady() {
1145
1240
  return getHostRef(this).$onReadyPromise$;
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-a2e76fac.js';
2
- export { s as setNonce } from './index-a2e76fac.js';
1
+ import { b as bootstrapLazy } from './index-27c984cc.js';
2
+ export { s as setNonce } from './index-27c984cc.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["lottery-bullet",[[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
8
+ return bootstrapLazy([["lottery-bullet",[[1,"lottery-bullet",{"value":[513],"selectable":[516],"isSelected":[516,"is-selected"],"isBonus":[516,"is-bonus"],"clientStyling":[513,"client-styling"],"clientStylingUrlContent":[513,"client-styling-url-content"],"limitStylingAppends":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,12 +1,37 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-a2e76fac.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-27c984cc.js';
2
2
 
3
- const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:#000000;display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px #ffffff;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, rgb(255, 255, 255) 0%, rgb(241, 241, 241) 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#ffffff;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #00958f}.Circle.Disabled{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#D4D4D4;border:solid 2px #D4D4D4;cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:#f1f1f1;background:#9EC258;background:-webkit-radial-gradient(top, #00958f, #004D4A);background:-moz-radial-gradient(top, #00958f, #004D4A);background:radial-gradient(to bottom, #00958f, #004D4A);border:solid 2px #D4D4D4;cursor:default}";
3
+ const lotteryBulletCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");:host{display:block;font-family:\"Roboto\", sans-serif}@-webkit-keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes Circle{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.22) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@keyframes hover-rotate{0%{-webkit-transform:scale(1) rotateZ(0);transform:scale(1) rotateZ(0)}50%{-webkit-transform:scale(1.2) rotateZ(180deg);transform:scale(1.2) rotateZ(180deg)}100%{-webkit-transform:scale(1) rotateZ(360deg);transform:scale(1) rotateZ(360deg)}}@-webkit-keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes selected-scaleUp{0%{-webkit-transform:scale(0.5);transform:scale(0.5)}100%{-webkit-transform:scale(1);transform:scale(1)}}.Circle{-webkit-animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:Circle 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;cursor:pointer;color:var(--emw--button-text-color, #000);display:block;height:30px;width:30px;margin:0;display:flex;align-items:center;justify-content:center;justify-content:center;align-items:center;border:solid 2px var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:radial-gradient(circle at top, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 100%);font-weight:bold;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.5);user-select:none;font-size:16px;line-height:16px;font-weight:600;position:relative}.Circle:hover{-webkit-animation:hover-rotate 0.4s linear both;animation:hover-rotate 0.4s linear both;background:radial-gradient(circle at top, var(--emw--color-gray-transparency-100, rgb(255, 255, 255)) 0%, var(--emw--color-gray-50, #F1F1F1) 100%)}.Circle.Selected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:var(--emw--color-gray-transparency-100, rgb(255, 255, 255));background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--button-border-color, #00958f)}.Circle.Disabled{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-gray-100, #D4D4D4);border:solid 2px var(--emw--color-gray-100, #D4D4D4);cursor:default}.Circle.DisabledSelected{-webkit-animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;animation:selected-scaleUp 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) both;color:var(--emw--color-gray-50, #F1F1F1);background:var(--emw--color-primary, #9EC258);background:-webkit-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:-moz-radial-gradient(top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));background:radial-gradient(circle at top, var(--emw--button-background-color, #00958f), var(--emw--color-primary-variant, #004D4A));border:solid 2px var(--emw--color-gray-100, #D4D4D4);cursor:default}.Circle.Bonus{background:var(--emw--color-error, #FF3D00)}";
4
4
  const LotteryBulletStyle0 = lotteryBulletCss;
5
5
 
6
6
  const LotteryBullet = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.bulletEvent = createEvent(this, "lotteryBulletSelection", 7);
10
+ /**
11
+ * Value of the bullet
12
+ */
13
+ this.value = '0';
14
+ /**
15
+ * Marks if the bullet should be selectable
16
+ */
17
+ this.selectable = true;
18
+ /**
19
+ * Marks if the bullet should be selected
20
+ */
21
+ this.isSelected = false;
22
+ /**
23
+ * Marks if the number is bonus number.
24
+ */
25
+ this.isBonus = false;
26
+ /**
27
+ * Client custom styling via string
28
+ */
29
+ this.clientStyling = '';
30
+ /**
31
+ * Client custom styling via url content
32
+ */
33
+ this.clientStylingUrlContent = '';
34
+ this.limitStylingAppends = false;
10
35
  this.select = () => {
11
36
  if (this.selectable) {
12
37
  this.isSelected = !this.isSelected;
@@ -28,12 +53,6 @@ const LotteryBullet = class {
28
53
  this.stylingContainer.prepend(cssFile);
29
54
  }, 1);
30
55
  };
31
- this.value = '0';
32
- this.selectable = true;
33
- this.isSelected = false;
34
- this.clientStyling = '';
35
- this.clientStylingUrlContent = '';
36
- this.limitStylingAppends = false;
37
56
  }
38
57
  componentDidRender() {
39
58
  // start custom styling area
@@ -47,7 +66,7 @@ const LotteryBullet = class {
47
66
  // end custom styling area
48
67
  }
49
68
  render() {
50
- return (h("div", { key: 'af3601684ecf1f39d65fc9461430cba96b9e4b8c', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
69
+ return (h("div", { key: 'a21cbee8f556bfbbe9f97be5f44bfc08b6f24dd6', class: 'Circle ' + (this.selectable ? '' : 'Disabled') + (this.isSelected ? 'Selected' : '') + (this.isBonus ? ' Bonus' : ''), onClick: () => this.select(), ref: el => this.stylingContainer = el }, this.value));
51
70
  }
52
71
  };
53
72
  LotteryBullet.style = LotteryBulletStyle0;