@gomusdev/web-components 1.27.2 → 1.29.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.
@@ -15,11 +15,10 @@ export declare class FormDetails {
15
15
  set apiErrors(errors: string[] | Record<string, string[]>);
16
16
  validateForm(): void;
17
17
  validateField(field: Field): void;
18
- addField(field: Field): void;
19
18
  /**
20
19
  * The list of fields associated with form in the config.
21
20
  */
22
- get fields(): readonly Field[];
21
+ get fields(): any[];
23
22
  constructor(formId: string, form: HTMLFormElement);
24
23
  }
25
24
  export declare const setDetails: (host: HTMLElement, details: FormDetails) => void;
@@ -933,7 +933,7 @@
933
933
  }
934
934
  /*END CALENDARUI CSS*/
935
935
 
936
- ul[data-go-timeslots] {
936
+ go-timeslots > ul {
937
937
  max-width: 650px;
938
938
  list-style: none;
939
939
  padding: 0;
@@ -942,12 +942,12 @@ ul[data-go-timeslots] {
942
942
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
943
943
  }
944
944
 
945
- ul[data-go-timeslots] li {
945
+ go-timeslots > ul li {
946
946
  margin: 5px;
947
947
  display: flex;
948
948
  }
949
949
 
950
- ul[data-go-timeslots] label {
950
+ go-timeslots > ul label {
951
951
  display: inline-block;
952
952
  padding: 10px 20px;
953
953
  border: 1px solid #ddd;
@@ -962,18 +962,18 @@ ul[data-go-timeslots] label {
962
962
 
963
963
  /* Available timeslot */
964
964
 
965
- ul[data-go-timeslots] .available {
965
+ go-timeslots > ul .available {
966
966
  background-color: #fff;
967
967
  color: #333;
968
968
  }
969
969
 
970
- ul[data-go-timeslots] input[type='radio'] {
970
+ go-timeslots > ul input[type='radio'] {
971
971
  display: none; /* Hide the radio button */
972
972
  }
973
973
 
974
974
  /* When a timeslot is selected (checked radio button) */
975
975
 
976
- ul[data-go-timeslots] label:has(input[type='radio']:checked) {
976
+ go-timeslots > ul label:has(input[type='radio']:checked) {
977
977
  background-color: #12826a;
978
978
  background-color: var(--primary); /* blue-green color */
979
979
  border-color: #12826a;
@@ -985,29 +985,29 @@ ul[data-go-timeslots] label:has(input[type='radio']:checked) {
985
985
 
986
986
  /* Finished (unavailable) timeslot */
987
987
 
988
- ul[data-go-timeslots] .finished {
988
+ go-timeslots > ul .finished {
989
989
  background-color: #f0f0f0;
990
990
  color: #999;
991
991
  }
992
992
 
993
- ul[data-go-timeslots] .finished input {
993
+ go-timeslots > ul .finished input {
994
994
  display: none;
995
995
  }
996
996
 
997
- ul[data-go-timeslots] .finished {
997
+ go-timeslots > ul .finished {
998
998
  pointer-events: none;
999
999
  }
1000
1000
 
1001
1001
  /* Disabled radio button appearance */
1002
1002
 
1003
- ul[data-go-timeslots] input:disabled + label {
1003
+ go-timeslots > ul input:disabled + label {
1004
1004
  background-color: #e0e0e0;
1005
1005
  color: #bbb;
1006
1006
  cursor: not-allowed;
1007
1007
  border-color: #ddd;
1008
1008
  }
1009
1009
 
1010
- ul[data-go-timeslots] label:hover {
1010
+ go-timeslots > ul label:hover {
1011
1011
  /*background-color: #f0f0f0;*/
1012
1012
  border-color: #12826a;
1013
1013
  border-color: var(--primary);
@@ -1017,7 +1017,7 @@ ul[data-go-timeslots] label:hover {
1017
1017
 
1018
1018
  /* Focus state for better accessibility */
1019
1019
 
1020
- ul[data-go-timeslots] input:focus + label {
1020
+ go-timeslots > ul input:focus + label {
1021
1021
  outline: 2px solid #0052cc;
1022
1022
  }
1023
1023
 
@@ -15513,7 +15513,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
15513
15513
  }
15514
15514
  #fields = /* @__PURE__ */ state(proxy([]));
15515
15515
  #apiErrors = /* @__PURE__ */ state(proxy([]));
15516
- #isValid = /* @__PURE__ */ user_derived(() => errors(get$2(this.#fields)) == 0);
15516
+ #isValid = /* @__PURE__ */ user_derived(() => errors(this.fields) == 0);
15517
15517
  get isValid() {
15518
15518
  return get$2(this.#isValid);
15519
15519
  }
@@ -15534,7 +15534,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
15534
15534
  if (!Number.isNaN(+x) && x.trim() !== "") return +x;
15535
15535
  return x;
15536
15536
  }
15537
- const validFields = get$2(this.#fields).filter((f) => f !== void 0).filter((f) => f.value !== "");
15537
+ const validFields = this.fields.filter((f) => f !== void 0).filter((f) => f.value !== "");
15538
15538
  const ret = Object.fromEntries(validFields.map((f) => [f.apiKey, coerce2(f.value)]));
15539
15539
  return ret;
15540
15540
  }
@@ -15547,7 +15547,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
15547
15547
  * @param {string[] | Record<string, string[]>} errors - Errors passed as an array or an object where keys are API field keys and values are arrays of error messages. If an array is provided, it assigns the errors directly. If an object is provided, it maps the errors to the respective fields based on their API keys.
15548
15548
  */
15549
15549
  set apiErrors(errors2) {
15550
- get$2(this.#fields).forEach((f) => f.apiErrors = []);
15550
+ this.fields.forEach((f) => f.apiErrors = []);
15551
15551
  if (isArray(errors2)) {
15552
15552
  set(this.#apiErrors, errors2, true);
15553
15553
  return;
@@ -15567,7 +15567,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
15567
15567
  }
15568
15568
  }
15569
15569
  validateForm() {
15570
- get$2(this.#fields).forEach((f) => this.validateField(f));
15570
+ this.fields.forEach((f) => this.validateField(f));
15571
15571
  }
15572
15572
  validateField(field) {
15573
15573
  field.validate();
@@ -15583,14 +15583,12 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
15583
15583
  }
15584
15584
  }
15585
15585
  }
15586
- addField(field) {
15587
- get$2(this.#fields).push(field);
15588
- }
15589
15586
  /**
15590
15587
  * The list of fields associated with form in the config.
15591
15588
  */
15592
15589
  get fields() {
15593
- return get$2(this.#fields);
15590
+ const parent = this.form.closest("go-form");
15591
+ return Array.from(this.form.querySelectorAll("go-field")).filter((fe) => fe.closest("go-form") === parent).map((fe) => fe.getField?.()).filter((f) => f);
15594
15592
  }
15595
15593
  }
15596
15594
  const KEY$3 = "go-form-details";
@@ -29496,12 +29494,6 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
29496
29494
  let field = /* @__PURE__ */ state(proxy(Forms.createField(key(), required())));
29497
29495
  const _details = getDetails$1($$props.$$host);
29498
29496
  const details = /* @__PURE__ */ user_derived(() => _details.value);
29499
- user_effect(() => {
29500
- if (!get$2(details)) return;
29501
- untrack(() => {
29502
- get$2(details).addField(get$2(field));
29503
- });
29504
- });
29505
29497
  const getField = () => get$2(field);
29506
29498
  let allErrors = /* @__PURE__ */ user_derived(() => get$2(field) ? [...get$2(field).errors, ...get$2(field).apiErrors].map((e) => shop.t(e)) : []);
29507
29499
  let descriptionId = /* @__PURE__ */ user_derived(() => `go-description-${Math.random().toString(36).substring(2, 9)}`);
@@ -29656,7 +29648,13 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
29656
29648
  set(errorsOnSubmit, errors(get$2(details)?.fields), true);
29657
29649
  });
29658
29650
  });
29659
- let errorsRealtime = /* @__PURE__ */ user_derived(() => errors(get$2(details)?.fields));
29651
+ let errorsRealtime = /* @__PURE__ */ state(void 0);
29652
+ setInterval(
29653
+ () => {
29654
+ set(errorsRealtime, errors(get$2(details)?.fields), true);
29655
+ },
29656
+ 100
29657
+ );
29660
29658
  let errorsOnSubmit = /* @__PURE__ */ state(-1);
29661
29659
  let generalApiErrors = /* @__PURE__ */ user_derived(() => get$2(details) && isArray(get$2(details).apiErrors) && get$2(details).apiErrors.length > 0 ? get$2(details).apiErrors : []);
29662
29660
  var fragment = comment();
@@ -31210,18 +31208,8 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
31210
31208
  return ret;
31211
31209
  }
31212
31210
  };
31213
- function dataAttr(name, condition, value = "") {
31214
- return function(element) {
31215
- const n = "data-go-" + name;
31216
- if (condition) {
31217
- element.setAttribute(n, value);
31218
- } else {
31219
- element.removeAttribute(n);
31220
- }
31221
- };
31222
- }
31223
31211
  var root_2$1 = /* @__PURE__ */ from_html(`<li><label> <input type="radio" name="timeslot"/></label></li>`);
31224
- var root_1$1 = /* @__PURE__ */ from_html(`<ul data-testid="timeslots" data-go-timeslots=""></ul>`);
31212
+ var root_1$1 = /* @__PURE__ */ from_html(`<ul data-testid="timeslots"></ul>`);
31225
31213
  function Timeslots($$anchor, $$props) {
31226
31214
  push($$props, true);
31227
31215
  const binding_group = [];
@@ -31251,10 +31239,12 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
31251
31239
  var input_value;
31252
31240
  reset(label);
31253
31241
  reset(li);
31254
- attach(li, () => dataAttr("selected", get$2(selected)));
31255
31242
  template_effect(() => {
31256
- set_class(li, 1, clsx(timeslot.capacity == 0 ? "sold-out" : ""));
31257
- set_class(label, 1, clsx(timeslot.available ? "" : "disabled"));
31243
+ set_class(li, 1, clsx([
31244
+ timeslot.capacity === 0 && "is-sold-out",
31245
+ !timeslot.available && "is-disabled",
31246
+ get$2(selected) && "is-selected"
31247
+ ]));
31258
31248
  set_text(text2, `${timeslot.timeFormatted ?? ""} `);
31259
31249
  input.disabled = timeslot.capacity == 0;
31260
31250
  set_attribute(input, "aria-disabled", timeslot.capacity == 0);
@@ -31542,18 +31532,28 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
31542
31532
  children: ($$anchor13, $$slotProps4) => {
31543
31533
  var fragment_11 = comment();
31544
31534
  var node_16 = first_child(fragment_11);
31545
- component(node_16, () => Calendar_day, ($$anchor14, Calendar_Day) => {
31546
- Calendar_Day($$anchor14, {
31547
- class: "go-calendar-day",
31548
- children: ($$anchor15, $$slotProps5) => {
31549
- next();
31550
- var text_3 = text();
31551
- template_effect(() => set_text(text_3, get$2(date2).day));
31552
- append($$anchor15, text_3);
31553
- },
31554
- $$slots: { default: true }
31535
+ {
31536
+ let $0 = /* @__PURE__ */ user_derived(() => [
31537
+ "go-calendar-day",
31538
+ calendarClass().isDateUnavailable(get$2(date2)) && "is-unavailable",
31539
+ calendarClass().isDateDisabled(get$2(date2)) && "is-disabled",
31540
+ calendarClass().selected === get$2(date2) && "is-selected"
31541
+ ]);
31542
+ component(node_16, () => Calendar_day, ($$anchor14, Calendar_Day) => {
31543
+ Calendar_Day($$anchor14, {
31544
+ get class() {
31545
+ return get$2($0);
31546
+ },
31547
+ children: ($$anchor15, $$slotProps5) => {
31548
+ next();
31549
+ var text_3 = text();
31550
+ template_effect(() => set_text(text_3, get$2(date2).day));
31551
+ append($$anchor15, text_3);
31552
+ },
31553
+ $$slots: { default: true }
31554
+ });
31555
31555
  });
31556
- });
31556
+ }
31557
31557
  append($$anchor13, fragment_11);
31558
31558
  },
31559
31559
  $$slots: { default: true }
@@ -31694,7 +31694,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
31694
31694
  return ret;
31695
31695
  }
31696
31696
  }
31697
- var root = /* @__PURE__ */ from_html(`<button data-add-to-cart-button="" data-testid="go-add-to-cart-button__button">Add to cart</button>`);
31697
+ var root = /* @__PURE__ */ from_html(`<button data-add-to-cart-button="" data-testid="go-add-to-cart-button__button"> </button>`);
31698
31698
  function AddToCartButton($$anchor, $$props) {
31699
31699
  push($$props, true);
31700
31700
  const _tsd = getTicketSelectionDetails($$props.$$host);
@@ -31702,14 +31702,18 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
31702
31702
  var $$exports = { details };
31703
31703
  var button = root();
31704
31704
  button.__click = () => details.addToCart();
31705
+ var text2 = child(button, true);
31706
+ reset(button);
31705
31707
  template_effect(
31706
- ($0, $1) => {
31708
+ ($0, $1, $2) => {
31707
31709
  button.disabled = $0;
31708
31710
  set_attribute(button, "data-x", $1);
31711
+ set_text(text2, $2);
31709
31712
  },
31710
31713
  [
31711
31714
  () => !details.anyTicketsSelected(),
31712
- () => !details.anyTicketsSelected()
31715
+ () => !details.anyTicketsSelected(),
31716
+ () => shop.t("common.actions.cart")
31713
31717
  ]
31714
31718
  );
31715
31719
  append($$anchor, button);
@@ -15513,7 +15513,7 @@ class FormDetails {
15513
15513
  }
15514
15514
  #fields = /* @__PURE__ */ state(proxy([]));
15515
15515
  #apiErrors = /* @__PURE__ */ state(proxy([]));
15516
- #isValid = /* @__PURE__ */ user_derived(() => errors(get$2(this.#fields)) == 0);
15516
+ #isValid = /* @__PURE__ */ user_derived(() => errors(this.fields) == 0);
15517
15517
  get isValid() {
15518
15518
  return get$2(this.#isValid);
15519
15519
  }
@@ -15534,7 +15534,7 @@ class FormDetails {
15534
15534
  if (!Number.isNaN(+x) && x.trim() !== "") return +x;
15535
15535
  return x;
15536
15536
  }
15537
- const validFields = get$2(this.#fields).filter((f) => f !== void 0).filter((f) => f.value !== "");
15537
+ const validFields = this.fields.filter((f) => f !== void 0).filter((f) => f.value !== "");
15538
15538
  const ret = Object.fromEntries(validFields.map((f) => [f.apiKey, coerce2(f.value)]));
15539
15539
  return ret;
15540
15540
  }
@@ -15547,7 +15547,7 @@ class FormDetails {
15547
15547
  * @param {string[] | Record<string, string[]>} errors - Errors passed as an array or an object where keys are API field keys and values are arrays of error messages. If an array is provided, it assigns the errors directly. If an object is provided, it maps the errors to the respective fields based on their API keys.
15548
15548
  */
15549
15549
  set apiErrors(errors2) {
15550
- get$2(this.#fields).forEach((f) => f.apiErrors = []);
15550
+ this.fields.forEach((f) => f.apiErrors = []);
15551
15551
  if (isArray(errors2)) {
15552
15552
  set(this.#apiErrors, errors2, true);
15553
15553
  return;
@@ -15567,7 +15567,7 @@ class FormDetails {
15567
15567
  }
15568
15568
  }
15569
15569
  validateForm() {
15570
- get$2(this.#fields).forEach((f) => this.validateField(f));
15570
+ this.fields.forEach((f) => this.validateField(f));
15571
15571
  }
15572
15572
  validateField(field) {
15573
15573
  field.validate();
@@ -15583,14 +15583,12 @@ class FormDetails {
15583
15583
  }
15584
15584
  }
15585
15585
  }
15586
- addField(field) {
15587
- get$2(this.#fields).push(field);
15588
- }
15589
15586
  /**
15590
15587
  * The list of fields associated with form in the config.
15591
15588
  */
15592
15589
  get fields() {
15593
- return get$2(this.#fields);
15590
+ const parent = this.form.closest("go-form");
15591
+ return Array.from(this.form.querySelectorAll("go-field")).filter((fe) => fe.closest("go-form") === parent).map((fe) => fe.getField?.()).filter((f) => f);
15594
15592
  }
15595
15593
  }
15596
15594
  const KEY$3 = "go-form-details";
@@ -29496,12 +29494,6 @@ function Field($$anchor, $$props) {
29496
29494
  let field = /* @__PURE__ */ state(proxy(Forms.createField(key(), required())));
29497
29495
  const _details = getDetails$1($$props.$$host);
29498
29496
  const details = /* @__PURE__ */ user_derived(() => _details.value);
29499
- user_effect(() => {
29500
- if (!get$2(details)) return;
29501
- untrack(() => {
29502
- get$2(details).addField(get$2(field));
29503
- });
29504
- });
29505
29497
  const getField = () => get$2(field);
29506
29498
  let allErrors = /* @__PURE__ */ user_derived(() => get$2(field) ? [...get$2(field).errors, ...get$2(field).apiErrors].map((e) => shop.t(e)) : []);
29507
29499
  let descriptionId = /* @__PURE__ */ user_derived(() => `go-description-${Math.random().toString(36).substring(2, 9)}`);
@@ -29656,7 +29648,13 @@ function ErrorsFeedback($$anchor, $$props) {
29656
29648
  set(errorsOnSubmit, errors(get$2(details)?.fields), true);
29657
29649
  });
29658
29650
  });
29659
- let errorsRealtime = /* @__PURE__ */ user_derived(() => errors(get$2(details)?.fields));
29651
+ let errorsRealtime = /* @__PURE__ */ state(void 0);
29652
+ setInterval(
29653
+ () => {
29654
+ set(errorsRealtime, errors(get$2(details)?.fields), true);
29655
+ },
29656
+ 100
29657
+ );
29660
29658
  let errorsOnSubmit = /* @__PURE__ */ state(-1);
29661
29659
  let generalApiErrors = /* @__PURE__ */ user_derived(() => get$2(details) && isArray(get$2(details).apiErrors) && get$2(details).apiErrors.length > 0 ? get$2(details).apiErrors : []);
29662
29660
  var fragment = comment();
@@ -31210,18 +31208,8 @@ let Details$1 = class Details {
31210
31208
  return ret;
31211
31209
  }
31212
31210
  };
31213
- function dataAttr(name, condition, value = "") {
31214
- return function(element) {
31215
- const n = "data-go-" + name;
31216
- if (condition) {
31217
- element.setAttribute(n, value);
31218
- } else {
31219
- element.removeAttribute(n);
31220
- }
31221
- };
31222
- }
31223
31211
  var root_2$1 = /* @__PURE__ */ from_html(`<li><label> <input type="radio" name="timeslot"/></label></li>`);
31224
- var root_1$1 = /* @__PURE__ */ from_html(`<ul data-testid="timeslots" data-go-timeslots=""></ul>`);
31212
+ var root_1$1 = /* @__PURE__ */ from_html(`<ul data-testid="timeslots"></ul>`);
31225
31213
  function Timeslots($$anchor, $$props) {
31226
31214
  push($$props, true);
31227
31215
  const binding_group = [];
@@ -31251,10 +31239,12 @@ function Timeslots($$anchor, $$props) {
31251
31239
  var input_value;
31252
31240
  reset(label);
31253
31241
  reset(li);
31254
- attach(li, () => dataAttr("selected", get$2(selected)));
31255
31242
  template_effect(() => {
31256
- set_class(li, 1, clsx(timeslot.capacity == 0 ? "sold-out" : ""));
31257
- set_class(label, 1, clsx(timeslot.available ? "" : "disabled"));
31243
+ set_class(li, 1, clsx([
31244
+ timeslot.capacity === 0 && "is-sold-out",
31245
+ !timeslot.available && "is-disabled",
31246
+ get$2(selected) && "is-selected"
31247
+ ]));
31258
31248
  set_text(text2, `${timeslot.timeFormatted ?? ""} `);
31259
31249
  input.disabled = timeslot.capacity == 0;
31260
31250
  set_attribute(input, "aria-disabled", timeslot.capacity == 0);
@@ -31542,18 +31532,28 @@ function CalendarUI($$anchor, $$props) {
31542
31532
  children: ($$anchor13, $$slotProps4) => {
31543
31533
  var fragment_11 = comment();
31544
31534
  var node_16 = first_child(fragment_11);
31545
- component(node_16, () => Calendar_day, ($$anchor14, Calendar_Day) => {
31546
- Calendar_Day($$anchor14, {
31547
- class: "go-calendar-day",
31548
- children: ($$anchor15, $$slotProps5) => {
31549
- next();
31550
- var text_3 = text();
31551
- template_effect(() => set_text(text_3, get$2(date2).day));
31552
- append($$anchor15, text_3);
31553
- },
31554
- $$slots: { default: true }
31535
+ {
31536
+ let $0 = /* @__PURE__ */ user_derived(() => [
31537
+ "go-calendar-day",
31538
+ calendarClass().isDateUnavailable(get$2(date2)) && "is-unavailable",
31539
+ calendarClass().isDateDisabled(get$2(date2)) && "is-disabled",
31540
+ calendarClass().selected === get$2(date2) && "is-selected"
31541
+ ]);
31542
+ component(node_16, () => Calendar_day, ($$anchor14, Calendar_Day) => {
31543
+ Calendar_Day($$anchor14, {
31544
+ get class() {
31545
+ return get$2($0);
31546
+ },
31547
+ children: ($$anchor15, $$slotProps5) => {
31548
+ next();
31549
+ var text_3 = text();
31550
+ template_effect(() => set_text(text_3, get$2(date2).day));
31551
+ append($$anchor15, text_3);
31552
+ },
31553
+ $$slots: { default: true }
31554
+ });
31555
31555
  });
31556
- });
31556
+ }
31557
31557
  append($$anchor13, fragment_11);
31558
31558
  },
31559
31559
  $$slots: { default: true }
@@ -31694,7 +31694,7 @@ class Details2 {
31694
31694
  return ret;
31695
31695
  }
31696
31696
  }
31697
- var root = /* @__PURE__ */ from_html(`<button data-add-to-cart-button="" data-testid="go-add-to-cart-button__button">Add to cart</button>`);
31697
+ var root = /* @__PURE__ */ from_html(`<button data-add-to-cart-button="" data-testid="go-add-to-cart-button__button"> </button>`);
31698
31698
  function AddToCartButton($$anchor, $$props) {
31699
31699
  push($$props, true);
31700
31700
  const _tsd = getTicketSelectionDetails($$props.$$host);
@@ -31702,14 +31702,18 @@ function AddToCartButton($$anchor, $$props) {
31702
31702
  var $$exports = { details };
31703
31703
  var button = root();
31704
31704
  button.__click = () => details.addToCart();
31705
+ var text2 = child(button, true);
31706
+ reset(button);
31705
31707
  template_effect(
31706
- ($0, $1) => {
31708
+ ($0, $1, $2) => {
31707
31709
  button.disabled = $0;
31708
31710
  set_attribute(button, "data-x", $1);
31711
+ set_text(text2, $2);
31709
31712
  },
31710
31713
  [
31711
31714
  () => !details.anyTicketsSelected(),
31712
- () => !details.anyTicketsSelected()
31715
+ () => !details.anyTicketsSelected(),
31716
+ () => shop.t("common.actions.cart")
31713
31717
  ]
31714
31718
  );
31715
31719
  append($$anchor, button);
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "name": "Giantmonkey GmbH"
5
5
  },
6
6
  "license": "MIT",
7
- "version": "1.27.2",
7
+ "version": "1.29.0",
8
8
  "type": "module",
9
9
  "main": "./dist-js/gomus-webcomponents.iife.js",
10
10
  "module": "./dist-js/gomus-webcomponents.iife.js",