@baloise/ds-core 16.1.0 → 16.2.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.
Files changed (189) hide show
  1. package/components/bal-date.js +3 -1
  2. package/components/bal-footer.js +7 -2
  3. package/components/bal-input-date2.js +15 -3
  4. package/components/index.js +2 -1
  5. package/components/mask-util.js +3 -0
  6. package/components/scroll.js +1 -1
  7. package/components/tokens.esm.js +1 -1
  8. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  9. package/dist/baloise-design-system/index.esm.js +1 -1
  10. package/dist/baloise-design-system/{p-ddf9b2a289.entry.js → p-14c1efdb08.entry.js} +1 -1
  11. package/dist/baloise-design-system/p-1509eaa7.system.js +1 -1
  12. package/dist/baloise-design-system/p-16b1404ab3.system.entry.js +1 -0
  13. package/dist/baloise-design-system/p-1876e0cbba.entry.js +1 -0
  14. package/dist/baloise-design-system/p-1a158488.js +1 -0
  15. package/dist/baloise-design-system/{p-f8974d743d.entry.js → p-1cae0f6215.entry.js} +1 -1
  16. package/dist/baloise-design-system/{p-f233fe25.system.js → p-1d351673.system.js} +1 -1
  17. package/dist/baloise-design-system/{p-a97cbb7dda.entry.js → p-2a0359206a.entry.js} +1 -1
  18. package/dist/baloise-design-system/{p-10b8686d91.entry.js → p-2e9f9838d0.entry.js} +1 -1
  19. package/dist/baloise-design-system/{p-9a0640d065.entry.js → p-35697fd842.entry.js} +1 -1
  20. package/dist/baloise-design-system/{p-9dc5cb62e3.system.entry.js → p-3586f88589.system.entry.js} +1 -1
  21. package/dist/baloise-design-system/{p-135c5759c5.entry.js → p-3e3240a165.entry.js} +1 -1
  22. package/dist/baloise-design-system/{p-cc61fac8.system.js → p-4122160f.system.js} +1 -1
  23. package/dist/baloise-design-system/p-42bff14b.system.js +1 -0
  24. package/dist/baloise-design-system/p-45e0c0783b.entry.js +1 -0
  25. package/dist/baloise-design-system/{p-14ae0709.system.js → p-46962c31.system.js} +1 -1
  26. package/dist/baloise-design-system/p-4afba8511a.system.entry.js +1 -0
  27. package/dist/baloise-design-system/{p-d919753ed0.system.entry.js → p-4ba5509697.system.entry.js} +1 -1
  28. package/dist/baloise-design-system/p-51c0348938.entry.js +1 -0
  29. package/dist/baloise-design-system/{p-25da216e4f.entry.js → p-53b032957c.entry.js} +1 -1
  30. package/dist/baloise-design-system/{p-3128128969.system.entry.js → p-542d4ba42e.system.entry.js} +1 -1
  31. package/dist/baloise-design-system/p-54f81c32.js +1 -1
  32. package/dist/baloise-design-system/{p-60e94f8144.entry.js → p-594ed43172.entry.js} +1 -1
  33. package/dist/baloise-design-system/{p-f1b95d78af.system.entry.js → p-5b9789ea9b.system.entry.js} +1 -1
  34. package/dist/baloise-design-system/p-5f26e92f.system.js +1 -0
  35. package/dist/baloise-design-system/{p-a8022ee701.entry.js → p-6b62dde878.entry.js} +1 -1
  36. package/dist/baloise-design-system/{p-74f4b9818b.system.entry.js → p-6cec985f79.system.entry.js} +1 -1
  37. package/dist/baloise-design-system/{p-58fc8247.js → p-6e0f125e.js} +1 -1
  38. package/dist/baloise-design-system/p-6f4a362824.system.entry.js +1 -0
  39. package/dist/baloise-design-system/{p-d7a758b3.js → p-71109949.js} +1 -1
  40. package/dist/baloise-design-system/p-7dc6846c06.entry.js +1 -0
  41. package/dist/baloise-design-system/{p-f0b43f1452.system.entry.js → p-7e909d3137.system.entry.js} +1 -1
  42. package/dist/baloise-design-system/{p-d16557d133.system.entry.js → p-90aa7db300.system.entry.js} +1 -1
  43. package/dist/baloise-design-system/{p-8fe94b9e21.entry.js → p-ae372094d2.entry.js} +1 -1
  44. package/dist/baloise-design-system/{p-25e0d82e89.system.entry.js → p-b1227cb400.system.entry.js} +1 -1
  45. package/dist/baloise-design-system/p-ba14aa7026.system.entry.js +1 -0
  46. package/dist/baloise-design-system/p-bcca1ed3.system.js +1 -1
  47. package/dist/baloise-design-system/{p-8c209ac52b.system.entry.js → p-bff4f2e518.system.entry.js} +1 -1
  48. package/dist/baloise-design-system/{p-62ab1f0ae2.system.entry.js → p-c907685cee.system.entry.js} +1 -1
  49. package/dist/baloise-design-system/p-cef24f8c62.entry.js +1 -0
  50. package/dist/baloise-design-system/{p-0fed7a5f26.system.entry.js → p-d458e5e328.system.entry.js} +1 -1
  51. package/dist/baloise-design-system/{p-1facd2a3f2.entry.js → p-dc45a57023.entry.js} +1 -1
  52. package/dist/baloise-design-system/{p-62b792a34b.system.entry.js → p-e18c0e64a7.system.entry.js} +1 -1
  53. package/dist/baloise-design-system/{p-cd8e72d87f.system.entry.js → p-e3ef34506f.system.entry.js} +1 -1
  54. package/dist/baloise-design-system/{p-4aba4c66ee.entry.js → p-e7bd7e7c5d.entry.js} +1 -1
  55. package/dist/baloise-design-system/{p-bcebf41b74.entry.js → p-e7f7fee312.entry.js} +1 -1
  56. package/dist/baloise-design-system/{p-b8d99064.js → p-eb10ad25.js} +1 -1
  57. package/dist/baloise-design-system/{p-bb3914c87a.system.entry.js → p-f4e7710a45.system.entry.js} +1 -1
  58. package/dist/cjs/bal-carousel_2.cjs.entry.js +3 -3
  59. package/dist/cjs/bal-date-calendar_2.cjs.entry.js +14 -3
  60. package/dist/cjs/bal-date.cjs.entry.js +2 -1
  61. package/dist/cjs/bal-datepicker.cjs.entry.js +3 -3
  62. package/dist/cjs/bal-footer.cjs.entry.js +7 -2
  63. package/dist/cjs/bal-hint_3.cjs.entry.js +4 -4
  64. package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
  65. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  66. package/dist/cjs/bal-modal_3.cjs.entry.js +1 -1
  67. package/dist/cjs/bal-nav_8.cjs.entry.js +4 -4
  68. package/dist/cjs/bal-navbar_5.cjs.entry.js +4 -4
  69. package/dist/cjs/{bal-snackbar.cjs.entry.js → bal-notices_3.cjs.entry.js} +67 -0
  70. package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
  71. package/dist/cjs/bal-popover_2.cjs.entry.js +3 -3
  72. package/dist/cjs/bal-progress-bar.cjs.entry.js +3 -3
  73. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  74. package/dist/cjs/bal-steps.cjs.entry.js +3 -3
  75. package/dist/cjs/bal-tab-item_2.cjs.entry.js +3 -3
  76. package/dist/cjs/baloise-design-system.cjs.js +1 -1
  77. package/dist/cjs/{breakpoints.decorator-47fd6060.js → breakpoints.decorator-555e2caf.js} +1 -1
  78. package/dist/cjs/{breakpoints.subject-66093c8f.js → breakpoints.subject-0d00c248.js} +1 -1
  79. package/dist/cjs/index.cjs.js +5 -3
  80. package/dist/cjs/initialize-2a19d091.js +1 -1
  81. package/dist/cjs/loader.cjs.js +1 -1
  82. package/dist/cjs/mask-util-19c28b4a.js +5 -0
  83. package/dist/cjs/{scroll-b839ffe1.js → scroll-5d6ac91d.js} +1 -1
  84. package/dist/cjs/{tokens.esm-bb0ef2db.js → tokens.esm-93d7e2f7.js} +1 -1
  85. package/dist/collection/collection-manifest.json +7 -15
  86. package/dist/collection/components/bal-date/bal-date.js +21 -2
  87. package/dist/collection/components/bal-footer/bal-footer.css +1 -1
  88. package/dist/collection/components/bal-footer/bal-footer.js +6 -1
  89. package/dist/collection/components/bal-input/bal-input-date/bal-input-date.js +19 -0
  90. package/dist/collection/components/bal-select/bal-select.js +1 -1
  91. package/dist/collection/index.js +1 -0
  92. package/dist/collection/utils/constants/version.constant.js +1 -1
  93. package/dist/collection/utils/mask/__test__/mask-component.mock.js +1 -0
  94. package/dist/collection/utils/mask/context/mask-context.js +1 -0
  95. package/dist/collection/utils/mask/mask-util.js +1 -0
  96. package/dist/collection/utils/mask/mask.js +2 -2
  97. package/dist/collection/utils/mask/types/mask-date.js +10 -1
  98. package/dist/collection/utils/scroll.js +1 -1
  99. package/dist/esm/bal-carousel_2.entry.js +3 -3
  100. package/dist/esm/bal-date-calendar_2.entry.js +14 -3
  101. package/dist/esm/bal-date.entry.js +2 -1
  102. package/dist/esm/bal-datepicker.entry.js +3 -3
  103. package/dist/esm/bal-footer.entry.js +7 -2
  104. package/dist/esm/bal-hint_3.entry.js +4 -4
  105. package/dist/esm/bal-list_8.entry.js +3 -3
  106. package/dist/esm/bal-logo.entry.js +3 -3
  107. package/dist/esm/bal-modal_3.entry.js +1 -1
  108. package/dist/esm/bal-nav_8.entry.js +4 -4
  109. package/dist/esm/bal-navbar_5.entry.js +4 -4
  110. package/dist/esm/{bal-snackbar.entry.js → bal-notices_3.entry.js} +67 -2
  111. package/dist/esm/bal-pagination.entry.js +3 -3
  112. package/dist/esm/bal-popover_2.entry.js +3 -3
  113. package/dist/esm/bal-progress-bar.entry.js +3 -3
  114. package/dist/esm/bal-shape.entry.js +1 -1
  115. package/dist/esm/bal-steps.entry.js +3 -3
  116. package/dist/esm/bal-tab-item_2.entry.js +3 -3
  117. package/dist/esm/baloise-design-system.js +1 -1
  118. package/dist/esm/{breakpoints.decorator-021fbaf0.js → breakpoints.decorator-dad33c75.js} +1 -1
  119. package/dist/esm/{breakpoints.subject-ef464f89.js → breakpoints.subject-ba72fe99.js} +1 -1
  120. package/dist/esm/index.js +5 -4
  121. package/dist/esm/initialize-e216cfe4.js +1 -1
  122. package/dist/esm/loader.js +1 -1
  123. package/dist/esm/mask-util-71edc2b8.js +3 -0
  124. package/dist/esm/{scroll-972c7ce5.js → scroll-e341d95b.js} +1 -1
  125. package/dist/esm/{tokens.esm-aab9bd61.js → tokens.esm-366a5b1e.js} +1 -1
  126. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  127. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  128. package/dist/esm-es5/bal-date.entry.js +1 -1
  129. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  130. package/dist/esm-es5/bal-footer.entry.js +1 -1
  131. package/dist/esm-es5/bal-hint_3.entry.js +1 -1
  132. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  133. package/dist/esm-es5/bal-logo.entry.js +1 -1
  134. package/dist/esm-es5/bal-modal_3.entry.js +1 -1
  135. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  136. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  137. package/dist/esm-es5/bal-notices_3.entry.js +1 -0
  138. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  139. package/dist/esm-es5/bal-popover_2.entry.js +1 -1
  140. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  141. package/dist/esm-es5/bal-shape.entry.js +1 -1
  142. package/dist/esm-es5/bal-steps.entry.js +1 -1
  143. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  144. package/dist/esm-es5/baloise-design-system.js +1 -1
  145. package/dist/esm-es5/{breakpoints.decorator-021fbaf0.js → breakpoints.decorator-dad33c75.js} +1 -1
  146. package/dist/esm-es5/{breakpoints.subject-ef464f89.js → breakpoints.subject-ba72fe99.js} +1 -1
  147. package/dist/esm-es5/index.js +1 -1
  148. package/dist/esm-es5/initialize-e216cfe4.js +1 -1
  149. package/dist/esm-es5/loader.js +1 -1
  150. package/dist/esm-es5/mask-util-71edc2b8.js +1 -0
  151. package/dist/esm-es5/{scroll-972c7ce5.js → scroll-e341d95b.js} +1 -1
  152. package/dist/html.html-data.json +10 -2
  153. package/dist/types/components/bal-date/bal-date.d.ts +5 -1
  154. package/dist/types/components/bal-footer/bal-footer.d.ts +1 -0
  155. package/dist/types/components/bal-input/bal-input-date/bal-input-date.d.ts +4 -0
  156. package/dist/types/components/bal-select/bal-select.d.ts +1 -1
  157. package/dist/types/components.d.ts +20 -4
  158. package/dist/types/index.d.ts +1 -0
  159. package/dist/types/utils/mask/__test__/mask-component.mock.d.ts +1 -0
  160. package/dist/types/utils/mask/component/mask-component-interfaces.d.ts +1 -0
  161. package/dist/types/utils/mask/context/mask-context.d.ts +2 -0
  162. package/dist/types/utils/mask/mask-util.d.ts +1 -0
  163. package/dist/types/utils/mask/mask.d.ts +3 -1
  164. package/dist/types/utils/mask/types/mask-date.d.ts +3 -1
  165. package/package.json +7 -7
  166. package/dist/baloise-design-system/p-06e9a468fc.system.entry.js +0 -1
  167. package/dist/baloise-design-system/p-18e2e391e0.system.entry.js +0 -1
  168. package/dist/baloise-design-system/p-19556c290a.entry.js +0 -1
  169. package/dist/baloise-design-system/p-5951d6c64b.system.entry.js +0 -1
  170. package/dist/baloise-design-system/p-5b571a9fb1.entry.js +0 -1
  171. package/dist/baloise-design-system/p-7c42a363f3.entry.js +0 -1
  172. package/dist/baloise-design-system/p-acb5cea0.system.js +0 -1
  173. package/dist/baloise-design-system/p-b9f197815f.entry.js +0 -1
  174. package/dist/baloise-design-system/p-c0e6e5565c.system.entry.js +0 -1
  175. package/dist/baloise-design-system/p-d02efb178c.entry.js +0 -1
  176. package/dist/baloise-design-system/p-dc05800595.system.entry.js +0 -1
  177. package/dist/baloise-design-system/p-e4de708de1.system.entry.js +0 -1
  178. package/dist/baloise-design-system/p-f12abda2db.entry.js +0 -1
  179. package/dist/baloise-design-system/p-ffc0bea891.entry.js +0 -1
  180. package/dist/cjs/bal-notices.cjs.entry.js +0 -25
  181. package/dist/cjs/bal-toast.cjs.entry.js +0 -54
  182. package/dist/esm/bal-notices.entry.js +0 -21
  183. package/dist/esm/bal-toast.entry.js +0 -50
  184. package/dist/esm-es5/bal-notices.entry.js +0 -1
  185. package/dist/esm-es5/bal-snackbar.entry.js +0 -1
  186. package/dist/esm-es5/bal-toast.entry.js +0 -1
  187. /package/dist/baloise-design-system/{p-03c136e2.system.js → p-448185d8.system.js} +0 -0
  188. /package/dist/baloise-design-system/{p-7b9c33ba.js → p-5e1cb403.js} +0 -0
  189. /package/dist/esm-es5/{tokens.esm-aab9bd61.js → tokens.esm-366a5b1e.js} +0 -0
@@ -228,11 +228,6 @@
228
228
  "bal-time-input"
229
229
  ]
230
230
  },
231
- {
232
- "components": [
233
- "bal-notices"
234
- ]
235
- },
236
231
  {
237
232
  "components": [
238
233
  "bal-notification"
@@ -243,16 +238,6 @@
243
238
  "bal-sheet"
244
239
  ]
245
240
  },
246
- {
247
- "components": [
248
- "bal-snackbar"
249
- ]
250
- },
251
- {
252
- "components": [
253
- "bal-toast"
254
- ]
255
- },
256
241
  {
257
242
  "components": [
258
243
  "bal-button",
@@ -333,6 +318,13 @@
333
318
  "bal-modal-header"
334
319
  ]
335
320
  },
321
+ {
322
+ "components": [
323
+ "bal-notices",
324
+ "bal-snackbar",
325
+ "bal-toast"
326
+ ]
327
+ },
336
328
  {
337
329
  "components": [
338
330
  "bal-accordion",
@@ -93,6 +93,7 @@ export class Date {
93
93
  this.maxYearProp = undefined;
94
94
  this.defaultDate = undefined;
95
95
  this.allowedDates = undefined;
96
+ this.allowInvalidValue = false;
96
97
  this.debounce = 0;
97
98
  this.autoInvalidOff = false;
98
99
  }
@@ -264,7 +265,7 @@ export class Date {
264
265
  const block = BEM.block('date');
265
266
  const blockIcon = block.element('icon');
266
267
  const blockPopup = block.element('popup');
267
- return (h(Host, { id: this.inputId, class: Object.assign({}, block.class()) }, h("bal-input-group", { invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, ref: el => (this.referenceEl = el) }, h("bal-input-date", Object.assign({ name: this.name, required: this.required, placeholder: this.placeholder, value: this.value, min: this.min, max: this.max, invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, onClick: this.onInputClick, onBalInput: this.onInputInput, onBalChange: this.onInputChange, onBalFocus: this.onInputFocus, onBalBlur: this.onInputBlur, onBalKeyPress: this.onKeyPress, ref: el => (this.inputEl = el) }, this.inheritedAttributes)), !this.freeSolo ? (h("bal-icon", { name: "date", role: "button", tabindex: -1, class: Object.assign(Object.assign({}, blockIcon.class()), blockIcon.modifier('clickable').class(!this.disabled && !this.readonly)), "is-right": true, color: this.disabled || this.readonly ? 'grey' : this.invalid ? 'danger' : 'primary', onClick: this.onIconClick, "aria-label": i18nBalDate[this.language].toggleDatepicker, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? 'true' : 'false' })) : ('')), h("div", { role: "dialog", class: Object.assign(Object.assign({}, blockPopup.class()), blockPopup.modifier('visible').class(this.isExpanded)), ref: el => (this.floatingEl = el), "aria-hidden": `${this.isExpanded !== true}`, "aria-presented": `${this.isExpanded === true}` }, h("bal-date-calendar", { value: this.calendarValue, min: this.min, max: this.max, minYearProp: this.minYearProp, maxYearProp: this.maxYearProp, defaultDate: this.defaultDate, allowedDates: this.allowedDates, onBalChange: this.onCalendarChange }))));
268
+ return (h(Host, { id: this.inputId, class: Object.assign({}, block.class()) }, h("bal-input-group", { invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, ref: el => (this.referenceEl = el) }, h("bal-input-date", Object.assign({ name: this.name, required: this.required, placeholder: this.placeholder, value: this.value, min: this.min, max: this.max, invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, allowInvalidValue: this.allowInvalidValue, onClick: this.onInputClick, onBalInput: this.onInputInput, onBalChange: this.onInputChange, onBalFocus: this.onInputFocus, onBalBlur: this.onInputBlur, onBalKeyPress: this.onKeyPress, ref: el => (this.inputEl = el) }, this.inheritedAttributes)), !this.freeSolo ? (h("bal-icon", { name: "date", role: "button", tabindex: -1, class: Object.assign(Object.assign({}, blockIcon.class()), blockIcon.modifier('clickable').class(!this.disabled && !this.readonly)), "is-right": true, color: this.disabled || this.readonly ? 'grey' : this.invalid ? 'danger' : 'primary', onClick: this.onIconClick, "aria-label": i18nBalDate[this.language].toggleDatepicker, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? 'true' : 'false' })) : ('')), h("div", { role: "dialog", class: Object.assign(Object.assign({}, blockPopup.class()), blockPopup.modifier('visible').class(this.isExpanded)), ref: el => (this.floatingEl = el), "aria-hidden": `${this.isExpanded !== true}`, "aria-presented": `${this.isExpanded === true}` }, h("bal-date-calendar", { value: this.calendarValue, min: this.min, max: this.max, minYearProp: this.minYearProp, maxYearProp: this.maxYearProp, defaultDate: this.defaultDate, allowedDates: this.allowedDates, onBalChange: this.onCalendarChange }))));
268
269
  }
269
270
  static get is() { return "bal-date"; }
270
271
  static get originalStyleUrls() {
@@ -381,7 +382,7 @@ export class Date {
381
382
  "optional": false,
382
383
  "docs": {
383
384
  "tags": [],
384
- "text": "If `true` there will be on trigger icon visible"
385
+ "text": "If `true` there will be no trigger icon visible, so no UX indicator for a picker"
385
386
  },
386
387
  "attribute": "free-solo",
387
388
  "reflect": false,
@@ -564,6 +565,24 @@ export class Date {
564
565
  },
565
566
  "defaultValue": "undefined"
566
567
  },
568
+ "allowInvalidValue": {
569
+ "type": "boolean",
570
+ "mutable": false,
571
+ "complexType": {
572
+ "original": "boolean",
573
+ "resolved": "boolean",
574
+ "references": {}
575
+ },
576
+ "required": false,
577
+ "optional": false,
578
+ "docs": {
579
+ "tags": [],
580
+ "text": "If `true`, it returns the string `INVALID_VALUE` within the balChange event if the input provided is not valid."
581
+ },
582
+ "attribute": "allow-invalid-value",
583
+ "reflect": false,
584
+ "defaultValue": "false"
585
+ },
567
586
  "debounce": {
568
587
  "type": "number",
569
588
  "mutable": false,
@@ -1 +1 @@
1
- :root{--bal-footer-font-family: var(--bal-font-family-text);--bal-footer-background: var(--bal-color-primary);--bal-footer-color: var(--bal-color-text-white);--bal-footer-language-color-hover: var(--bal-color-light-blue-2);--bal-footer-language-background-hover: var(--bal-color-light-blue-2);--bal-footer-language-color-active: var(--bal-color-light-blue-3);--bal-footer-language-background-active: var(--bal-color-light-blue-3)}.bal-footer{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;position:static;user-select:auto}.bal-footer__inner{position:relative;font-family:var(--bal-footer-font-family);background-color:var(--bal-footer-background);color:var(--bal-footer-color);padding-top:var(--bal-space-x-small);padding-bottom:var(--bal-space-large)}@media screen and (min-width: 769px),print{.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}@media screen and (min-width: 1024px){.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}.bal-footer__inner,.bal-footer__inner p{color:var(--bal-footer-color)}.bal-footer__inner__wrapper{display:flex;flex-direction:column;gap:var(--bal-space-large)}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}.bal-footer__inner__wrapper__header-container{display:flex;justify-content:space-between;flex-wrap:nowrap;flex-direction:row}.bal-footer__inner__wrapper__header-container__language{display:flex;flex-wrap:nowrap;align-items:center}.bal-footer__inner__wrapper__header-container__language:hover bal-icon svg,.bal-footer__inner__wrapper__header-container__language:hover bal-icon g,.bal-footer__inner__wrapper__header-container__language:hover bal-icon path,.bal-footer__inner__wrapper__header-container__language:hover bal-icon circle{fill:var(--bal-footer-language-background-hover)}.bal-footer__inner__wrapper__header-container__language:hover .input{color:var(--bal-footer-language-color-hover)}.bal-footer__inner__wrapper__header-container__language:active bal-icon svg,.bal-footer__inner__wrapper__header-container__language:active bal-icon g,.bal-footer__inner__wrapper__header-container__language:active bal-icon path,.bal-footer__inner__wrapper__header-container__language:active bal-icon circle{fill:var(--bal-footer-language-background-active)}.bal-footer__inner__wrapper__header-container__language:active .input{color:var(--bal-footer-language-color-active)}.bal-footer__inner__wrapper__header-container__language__wrapper{width:5rem}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group{background:rgba(0,0,0,0);border:none}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group:hover{background:rgba(0,0,0,0) !important}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group bal-icon{min-width:.75rem !important}.bal-footer__inner__wrapper__header-container__logo{display:flex;align-items:center}.bal-footer__inner__wrapper__links-container{display:flex;justify-content:space-between;flex-wrap:wrap}@media screen and (min-width: 769px),print{.bal-footer__inner__wrapper__links-container{flex-direction:column}}@media screen and (min-width: 1024px){.bal-footer__inner__wrapper__links-container{flex-direction:row}}.bal-footer__inner__wrapper__links-container__legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bal-space-large-desktop)}.bal-footer__inner__wrapper__links-container__legal-links a{font-size:var(--bal-text-size-small) !important}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__legal-links{flex-direction:column;justify-content:center;width:100%;gap:var(--bal-space-normal)}}.bal-footer__inner__wrapper__links-container__social-media-links{align-items:center;gap:var(--bal-space-large-desktop);padding:var(--bal-space-normal) var(--bal-space-normal) var(--bal-space-normal) 0}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large);justify-content:center;width:100%;padding:var(--bal-space-normal) 0 var(--bal-space-normal) 0}}
1
+ :root{--bal-footer-font-family: var(--bal-font-family-text);--bal-footer-background: var(--bal-color-primary);--bal-footer-color: var(--bal-color-text-white);--bal-footer-language-color-hover: var(--bal-color-light-blue-2);--bal-footer-language-background-hover: var(--bal-color-light-blue-2);--bal-footer-language-color-active: var(--bal-color-light-blue-3);--bal-footer-language-background-active: var(--bal-color-light-blue-3)}.bal-footer{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;position:static;user-select:auto}.bal-footer__inner{position:relative;font-family:var(--bal-footer-font-family);background-color:var(--bal-footer-background);color:var(--bal-footer-color);padding-top:var(--bal-space-x-small);padding-bottom:var(--bal-space-large)}@media screen and (min-width: 769px),print{.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}@media screen and (min-width: 1024px){.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}.bal-footer__inner,.bal-footer__inner p{color:var(--bal-footer-color)}.bal-footer__inner__wrapper{display:flex;flex-direction:column;gap:var(--bal-space-large)}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}.bal-footer__inner__wrapper__header-container{display:flex;justify-content:space-between;flex-wrap:nowrap;flex-direction:row}.bal-footer__inner__wrapper__header-container__language{display:flex;flex-wrap:nowrap;align-items:center}.bal-footer__inner__wrapper__header-container__language bal-icon,.bal-footer__inner__wrapper__header-container__language .input{cursor:pointer}.bal-footer__inner__wrapper__header-container__language:hover bal-icon svg,.bal-footer__inner__wrapper__header-container__language:hover bal-icon g,.bal-footer__inner__wrapper__header-container__language:hover bal-icon path,.bal-footer__inner__wrapper__header-container__language:hover bal-icon circle{fill:var(--bal-footer-language-background-hover)}.bal-footer__inner__wrapper__header-container__language:hover .input{color:var(--bal-footer-language-color-hover)}.bal-footer__inner__wrapper__header-container__language:active bal-icon svg,.bal-footer__inner__wrapper__header-container__language:active bal-icon g,.bal-footer__inner__wrapper__header-container__language:active bal-icon path,.bal-footer__inner__wrapper__header-container__language:active bal-icon circle{fill:var(--bal-footer-language-background-active)}.bal-footer__inner__wrapper__header-container__language:active .input{color:var(--bal-footer-language-color-active)}.bal-footer__inner__wrapper__header-container__language__wrapper{width:5rem}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group{background:rgba(0,0,0,0);border:none}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group:hover{background:rgba(0,0,0,0) !important}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group bal-icon{min-width:.75rem !important}.bal-footer__inner__wrapper__header-container__logo{display:flex;align-items:center}.bal-footer__inner__wrapper__links-container{display:flex;justify-content:space-between;flex-wrap:wrap}@media screen and (min-width: 769px),print{.bal-footer__inner__wrapper__links-container{flex-direction:column}}@media screen and (min-width: 1024px){.bal-footer__inner__wrapper__links-container{flex-direction:row}}.bal-footer__inner__wrapper__links-container__legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bal-space-large-desktop)}.bal-footer__inner__wrapper__links-container__legal-links a{font-size:var(--bal-text-size-small) !important}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__legal-links{flex-direction:column;justify-content:center;width:100%;gap:var(--bal-space-normal)}}.bal-footer__inner__wrapper__links-container__social-media-links{align-items:center;gap:var(--bal-space-large-desktop);padding:var(--bal-space-normal) var(--bal-space-normal) var(--bal-space-normal) 0}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large);justify-content:center;width:100%;padding:var(--bal-space-normal) 0 var(--bal-space-normal) 0}}
@@ -5,6 +5,7 @@ import { defaultConfig, ListenToConfig, updateBalLanguage, } from "../../utils/c
5
5
  import { BEM } from "../../utils/bem";
6
6
  import { Logger } from "../../utils/log";
7
7
  import { rIC } from "../../utils/helpers";
8
+ import { stopEventBubbling } from "../../utils/form-input";
8
9
  export class Footer {
9
10
  constructor() {
10
11
  this.links = [];
@@ -87,7 +88,11 @@ export class Footer {
87
88
  const elSocialMediaLinks = elLinksContainer.element('social-media-links');
88
89
  return (h(Host, { class: Object.assign({}, block.class()) }, h("footer", { class: Object.assign({}, elInner.class()) }, h("div", { class: Object.assign({}, elInnerWrapper.class()) }, h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elHeaderContainer.class()) }, h("div", { class: Object.assign({}, elLogo.class()) }, h("bal-logo", { color: "white" })), h("div", { class: Object.assign({}, elLanguage.class()), style: {
89
90
  display: this.hideLanguageSelection || this.allowedLanguages.length <= 1 ? 'none' : 'flex',
90
- } }, h("div", { class: Object.assign({}, elWrapper.class()) }, h("bal-input-group", null, h("bal-icon", { class: Object.assign({}, elIcon.class()), name: "web", color: "white" }), h("bal-select", { value: this.language, onBalChange: event => this.changeLanguage(event.detail), "data-testid": "bal-footer-language" }, this.allowedLanguages.map(language => (h("bal-select-option", { key: language, label: language.toLocaleUpperCase(), value: language }, language.toLocaleUpperCase())))))))), h("slot", null), h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elLinksContainer.class()) }, h("div", { class: Object.assign({}, elSocialMediaLinks.class()), style: {
91
+ } }, h("div", { class: Object.assign({}, elWrapper.class()) }, h("bal-input-group", null, h("bal-icon", { class: Object.assign({}, elIcon.class()), name: "web", color: "white", onClick: el => {
92
+ var _a;
93
+ stopEventBubbling(el);
94
+ (_a = this.selectEl) === null || _a === void 0 ? void 0 : _a.open();
95
+ } }), h("bal-select", { ref: el => (this.selectEl = el), value: this.language, onBalChange: event => this.changeLanguage(event.detail), "data-testid": "bal-footer-language" }, this.allowedLanguages.map(language => (h("bal-select-option", { key: language, label: language.toLocaleUpperCase(), value: language }, language.toLocaleUpperCase())))))))), h("slot", null), h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elLinksContainer.class()) }, h("div", { class: Object.assign({}, elSocialMediaLinks.class()), style: {
91
96
  display: !this.showSocialMedia ? 'none' : 'flex',
92
97
  } }, this.socialMediaLinks.map(link => (h("a", { key: link.link, href: link.link, target: "_blank", class: {
93
98
  'link': true,
@@ -31,6 +31,7 @@ export class InputDate {
31
31
  this.hasIconRight = false;
32
32
  this.value = undefined;
33
33
  this.autoInvalidOff = false;
34
+ this.allowInvalidValue = false;
34
35
  }
35
36
  createLogger(log) {
36
37
  this.log = log;
@@ -366,6 +367,24 @@ export class InputDate {
366
367
  "attribute": "auto-invalid-off",
367
368
  "reflect": true,
368
369
  "defaultValue": "false"
370
+ },
371
+ "allowInvalidValue": {
372
+ "type": "boolean",
373
+ "mutable": false,
374
+ "complexType": {
375
+ "original": "boolean",
376
+ "resolved": "boolean",
377
+ "references": {}
378
+ },
379
+ "required": false,
380
+ "optional": false,
381
+ "docs": {
382
+ "tags": [],
383
+ "text": "If `true`, it returns the string `INVALID_VALUE` within the balChange event if the input provided is not valid."
384
+ },
385
+ "attribute": "allow-invalid-value",
386
+ "reflect": false,
387
+ "defaultValue": "false"
369
388
  }
370
389
  };
371
390
  }
@@ -811,7 +811,7 @@ export class Select {
811
811
  "optional": false,
812
812
  "docs": {
813
813
  "tags": [],
814
- "text": "If `true` there will be on trigger icon visible"
814
+ "text": "If `true` there will be no trigger icon visible, so no UX indicator for a popup"
815
815
  },
816
816
  "attribute": "free-solo",
817
817
  "reflect": false,
@@ -41,6 +41,7 @@ export { balBreakpoints, balBreakpointSubject, BalBreakpointSubject, BalBreakpoi
41
41
  export { balOrientationSubject, BalOrientationSubject, } from './utils/orientation';
42
42
  export { BalSwipeSubject } from './utils/swipe';
43
43
  export { BalDate } from './utils/date';
44
+ export { INVALID_VALUE } from './utils/mask/mask-util';
44
45
  /**
45
46
  * Controllers
46
47
  */
@@ -1,2 +1,2 @@
1
1
  // generated by .build/version.js
2
- export const VERSION = '16.1.0';
2
+ export const VERSION = '16.2.0';
@@ -1,6 +1,7 @@
1
1
  export class MaskComponentMock {
2
2
  constructor() {
3
3
  this.value = undefined;
4
+ this.allowInvalidValue = false;
4
5
  this.inputValue = undefined;
5
6
  this.initialValue = '';
6
7
  this.focused = false;
@@ -7,6 +7,7 @@ export class MaskContext {
7
7
  this._value = this._options.component.nativeInput.value;
8
8
  }
9
9
  this.position = new MaskPosition(this._options);
10
+ this.component = this._options.component;
10
11
  }
11
12
  get target() {
12
13
  if (this._options.component && this._options.component.nativeInput) {
@@ -0,0 +1 @@
1
+ export const INVALID_VALUE = 'INVALID_VALUE';
@@ -81,7 +81,7 @@ export class AbstractMask {
81
81
  context.value = inputValue;
82
82
  context.position.toEnd();
83
83
  }
84
- onParseValue(inputValue) {
84
+ onParseValue(inputValue, options = { allowInvalidValue: false }) {
85
85
  if (inputValue) {
86
86
  return inputValue.trim();
87
87
  }
@@ -146,7 +146,7 @@ export class AbstractMask {
146
146
  }
147
147
  else {
148
148
  this.onBlur(context);
149
- context.submit('blur', this.onParseValue(context.value));
149
+ context.submit('blur', this.onParseValue(context.value, { allowInvalidValue: context.component.allowInvalidValue }));
150
150
  }
151
151
  }
152
152
  }
@@ -3,6 +3,7 @@ import { NUMBER_KEYS } from "../../constants/keys.constant";
3
3
  import { MaskBlock } from "../blocks";
4
4
  import { AbstractMask } from "../mask";
5
5
  import { BalDate } from "../../date";
6
+ import { INVALID_VALUE } from "../mask-util";
6
7
  export class DateMask extends AbstractMask {
7
8
  constructor() {
8
9
  super([
@@ -81,12 +82,15 @@ export class DateMask extends AbstractMask {
81
82
  fi: 'V',
82
83
  };
83
84
  }
84
- onParseValue(inputValue) {
85
+ onParseValue(inputValue, options = { allowInvalidValue: false }) {
85
86
  if (inputValue) {
86
87
  const date = BalDate.fromAnyFormat(this.blocks.getRawValueWithoutMask(inputValue));
87
88
  if (date.isValid) {
88
89
  return date.toISODate();
89
90
  }
91
+ else if (options && options.allowInvalidValue) {
92
+ return INVALID_VALUE;
93
+ }
90
94
  }
91
95
  return '';
92
96
  }
@@ -116,5 +120,10 @@ export class DateMask extends AbstractMask {
116
120
  context.value = formattedDate;
117
121
  }
118
122
  }
123
+ else if (context.component.allowInvalidValue) {
124
+ if (rawValue !== context.value) {
125
+ context.value = rawValue;
126
+ }
127
+ }
119
128
  }
120
129
  }
@@ -60,7 +60,7 @@ export class BalScrollHandler {
60
60
  }
61
61
  }
62
62
  disable() {
63
- if (this.target) {
63
+ if (!this.disabled && this.target) {
64
64
  if (balBrowser.hasWindow && balBrowser.hasDocument) {
65
65
  this.x = window.pageXOffset || document.documentElement.scrollLeft;
66
66
  this.y = window.pageYOffset || document.documentElement.scrollTop;
@@ -3,12 +3,12 @@ import { _ as __decorate, a as __metadata } from './tslib.es6-654e2c24.js';
3
3
  import { l as raf } from './helpers-c201154e.js';
4
4
  import { B as BEM } from './bem-8c7d2eb0.js';
5
5
  import { s as stopEventBubbling } from './form-input-28a08ec5.js';
6
- import { L as ListenToBreakpoints } from './breakpoints.decorator-021fbaf0.js';
6
+ import { L as ListenToBreakpoints } from './breakpoints.decorator-dad33c75.js';
7
7
  import { g as getComputedWidth } from './style-ca1bd202.js';
8
8
  import { L as ListenToMutation } from './mutation.decorator-c7b24839.js';
9
9
  import { L as ListenToSwipe } from './swipe.decorator-9d904794.js';
10
10
  import { L as ListenToResize } from './resize.decorator-f70563b5.js';
11
- import { b as balBreakpoints } from './breakpoints.subject-ef464f89.js';
11
+ import { b as balBreakpoints } from './breakpoints.subject-ba72fe99.js';
12
12
  import { d as defaultConfig } from './config.default-7efdc82d.js';
13
13
  import { L as ListenToConfig } from './config.decorator-d18abfe1.js';
14
14
  import { i as inheritAttributes } from './attributes-4fa7040f.js';
@@ -18,7 +18,7 @@ import './config.utils-6ac6c9bd.js';
18
18
  import './listener-04842ae9.js';
19
19
  import './swipe.subject-f1d64e8d.js';
20
20
  import './device-8c6d2881.js';
21
- import './tokens.esm-aab9bd61.js';
21
+ import './tokens.esm-366a5b1e.js';
22
22
  import './log-dfd1c19f.js';
23
23
 
24
24
  const TabControl = ({ value, items, onControlChange }) => {
@@ -13,6 +13,7 @@ import { i as inheritAttributes } from './attributes-4fa7040f.js';
13
13
  import { c as inputSetFocus, d as inputSetBlur } from './form-input-28a08ec5.js';
14
14
  import { d as defaultBalAriaForm } from './form-fb8dd9f5.js';
15
15
  import { N as NUMBER_KEYS } from './keys.constant-0eb059e0.js';
16
+ import { I as INVALID_VALUE } from './mask-util-71edc2b8.js';
16
17
  import './_commonjsHelpers-1c8beb5f.js';
17
18
  import './config.utils-6ac6c9bd.js';
18
19
  import './browser-a8073d92.js';
@@ -548,6 +549,7 @@ class MaskContext {
548
549
  this._value = this._options.component.nativeInput.value;
549
550
  }
550
551
  this.position = new MaskPosition(this._options);
552
+ this.component = this._options.component;
551
553
  }
552
554
  get target() {
553
555
  if (this._options.component && this._options.component.nativeInput) {
@@ -917,7 +919,7 @@ class AbstractMask {
917
919
  context.value = inputValue;
918
920
  context.position.toEnd();
919
921
  }
920
- onParseValue(inputValue) {
922
+ onParseValue(inputValue, options = { allowInvalidValue: false }) {
921
923
  if (inputValue) {
922
924
  return inputValue.trim();
923
925
  }
@@ -982,7 +984,7 @@ class AbstractMask {
982
984
  }
983
985
  else {
984
986
  this.onBlur(context);
985
- context.submit('blur', this.onParseValue(context.value));
987
+ context.submit('blur', this.onParseValue(context.value, { allowInvalidValue: context.component.allowInvalidValue }));
986
988
  }
987
989
  }
988
990
  }
@@ -1172,12 +1174,15 @@ class DateMask extends AbstractMask {
1172
1174
  fi: 'V',
1173
1175
  };
1174
1176
  }
1175
- onParseValue(inputValue) {
1177
+ onParseValue(inputValue, options = { allowInvalidValue: false }) {
1176
1178
  if (inputValue) {
1177
1179
  const date = BalDate.fromAnyFormat(this.blocks.getRawValueWithoutMask(inputValue));
1178
1180
  if (date.isValid) {
1179
1181
  return date.toISODate();
1180
1182
  }
1183
+ else if (options && options.allowInvalidValue) {
1184
+ return INVALID_VALUE;
1185
+ }
1181
1186
  }
1182
1187
  return '';
1183
1188
  }
@@ -1207,6 +1212,11 @@ class DateMask extends AbstractMask {
1207
1212
  context.value = formattedDate;
1208
1213
  }
1209
1214
  }
1215
+ else if (context.component.allowInvalidValue) {
1216
+ if (rawValue !== context.value) {
1217
+ context.value = rawValue;
1218
+ }
1219
+ }
1210
1220
  }
1211
1221
  }
1212
1222
 
@@ -1366,6 +1376,7 @@ const InputDate = class {
1366
1376
  this.hasIconRight = false;
1367
1377
  this.value = undefined;
1368
1378
  this.autoInvalidOff = false;
1379
+ this.allowInvalidValue = false;
1369
1380
  }
1370
1381
  createLogger(log) {
1371
1382
  this.log = log;
@@ -112,6 +112,7 @@ const Date = class {
112
112
  this.maxYearProp = undefined;
113
113
  this.defaultDate = undefined;
114
114
  this.allowedDates = undefined;
115
+ this.allowInvalidValue = false;
115
116
  this.debounce = 0;
116
117
  this.autoInvalidOff = false;
117
118
  }
@@ -283,7 +284,7 @@ const Date = class {
283
284
  const block = BEM.block('date');
284
285
  const blockIcon = block.element('icon');
285
286
  const blockPopup = block.element('popup');
286
- return (h(Host, { id: this.inputId, class: Object.assign({}, block.class()) }, h("bal-input-group", { invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, ref: el => (this.referenceEl = el) }, h("bal-input-date", Object.assign({ name: this.name, required: this.required, placeholder: this.placeholder, value: this.value, min: this.min, max: this.max, invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, onClick: this.onInputClick, onBalInput: this.onInputInput, onBalChange: this.onInputChange, onBalFocus: this.onInputFocus, onBalBlur: this.onInputBlur, onBalKeyPress: this.onKeyPress, ref: el => (this.inputEl = el) }, this.inheritedAttributes)), !this.freeSolo ? (h("bal-icon", { name: "date", role: "button", tabindex: -1, class: Object.assign(Object.assign({}, blockIcon.class()), blockIcon.modifier('clickable').class(!this.disabled && !this.readonly)), "is-right": true, color: this.disabled || this.readonly ? 'grey' : this.invalid ? 'danger' : 'primary', onClick: this.onIconClick, "aria-label": i18nBalDate[this.language].toggleDatepicker, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? 'true' : 'false' })) : ('')), h("div", { role: "dialog", class: Object.assign(Object.assign({}, blockPopup.class()), blockPopup.modifier('visible').class(this.isExpanded)), ref: el => (this.floatingEl = el), "aria-hidden": `${this.isExpanded !== true}`, "aria-presented": `${this.isExpanded === true}` }, h("bal-date-calendar", { value: this.calendarValue, min: this.min, max: this.max, minYearProp: this.minYearProp, maxYearProp: this.maxYearProp, defaultDate: this.defaultDate, allowedDates: this.allowedDates, onBalChange: this.onCalendarChange }))));
287
+ return (h(Host, { id: this.inputId, class: Object.assign({}, block.class()) }, h("bal-input-group", { invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, ref: el => (this.referenceEl = el) }, h("bal-input-date", Object.assign({ name: this.name, required: this.required, placeholder: this.placeholder, value: this.value, min: this.min, max: this.max, invalid: this.invalid, readonly: this.readonly, disabled: this.disabled, allowInvalidValue: this.allowInvalidValue, onClick: this.onInputClick, onBalInput: this.onInputInput, onBalChange: this.onInputChange, onBalFocus: this.onInputFocus, onBalBlur: this.onInputBlur, onBalKeyPress: this.onKeyPress, ref: el => (this.inputEl = el) }, this.inheritedAttributes)), !this.freeSolo ? (h("bal-icon", { name: "date", role: "button", tabindex: -1, class: Object.assign(Object.assign({}, blockIcon.class()), blockIcon.modifier('clickable').class(!this.disabled && !this.readonly)), "is-right": true, color: this.disabled || this.readonly ? 'grey' : this.invalid ? 'danger' : 'primary', onClick: this.onIconClick, "aria-label": i18nBalDate[this.language].toggleDatepicker, "aria-haspopup": "true", "aria-expanded": this.isExpanded ? 'true' : 'false' })) : ('')), h("div", { role: "dialog", class: Object.assign(Object.assign({}, blockPopup.class()), blockPopup.modifier('visible').class(this.isExpanded)), ref: el => (this.floatingEl = el), "aria-hidden": `${this.isExpanded !== true}`, "aria-presented": `${this.isExpanded === true}` }, h("bal-date-calendar", { value: this.calendarValue, min: this.min, max: this.max, minYearProp: this.minYearProp, maxYearProp: this.maxYearProp, defaultDate: this.defaultDate, allowedDates: this.allowedDates, onBalChange: this.onCalendarChange }))));
287
288
  }
288
289
  get el() { return getElement(this); }
289
290
  static get watchers() { return {
@@ -12,16 +12,16 @@ import { B as BEM } from './bem-8c7d2eb0.js';
12
12
  import { L as Logger } from './log-dfd1c19f.js';
13
13
  import { d as defaultBalAriaForm } from './form-fb8dd9f5.js';
14
14
  import { d as defaultConfig, a as defaultLocale } from './config.default-7efdc82d.js';
15
- import { b as balBreakpoints } from './breakpoints.subject-ef464f89.js';
15
+ import { b as balBreakpoints } from './breakpoints.subject-ba72fe99.js';
16
16
  import { g as useBalConfig } from './config.utils-6ac6c9bd.js';
17
- import { L as ListenToBreakpoints } from './breakpoints.decorator-021fbaf0.js';
17
+ import { L as ListenToBreakpoints } from './breakpoints.decorator-dad33c75.js';
18
18
  import { L as ListenToConfig } from './config.decorator-d18abfe1.js';
19
19
  import './browser-a8073d92.js';
20
20
  import './icons.constant-a7885631.js';
21
21
  import './_commonjsHelpers-1c8beb5f.js';
22
22
  import './device-8c6d2881.js';
23
23
  import './listener-04842ae9.js';
24
- import './tokens.esm-aab9bd61.js';
24
+ import './tokens.esm-366a5b1e.js';
25
25
 
26
26
  /**
27
27
  * @name addDays
@@ -4,6 +4,7 @@ import { l as loadFooterLinks, a as loadSocialMediaLinks, L as Language } from '
4
4
  import { B as BEM } from './bem-8c7d2eb0.js';
5
5
  import { L as Logger } from './log-dfd1c19f.js';
6
6
  import { k as rIC } from './helpers-c201154e.js';
7
+ import { s as stopEventBubbling } from './form-input-28a08ec5.js';
7
8
  import { e as updateBalLanguage } from './config.utils-6ac6c9bd.js';
8
9
  import { d as defaultConfig } from './config.default-7efdc82d.js';
9
10
  import { L as ListenToConfig } from './config.decorator-d18abfe1.js';
@@ -12,7 +13,7 @@ import './_commonjsHelpers-1c8beb5f.js';
12
13
  import './browser-a8073d92.js';
13
14
  import './icons.constant-a7885631.js';
14
15
 
15
- const balFooterCss = ":root{--bal-footer-font-family:var(--bal-font-family-text);--bal-footer-background:var(--bal-color-primary);--bal-footer-color:var(--bal-color-text-white);--bal-footer-language-color-hover:var(--bal-color-light-blue-2);--bal-footer-language-background-hover:var(--bal-color-light-blue-2);--bal-footer-language-color-active:var(--bal-color-light-blue-3);--bal-footer-language-background-active:var(--bal-color-light-blue-3)}.bal-footer{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;position:static;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.bal-footer__inner{position:relative;font-family:var(--bal-footer-font-family);background-color:var(--bal-footer-background);color:var(--bal-footer-color);padding-top:var(--bal-space-x-small);padding-bottom:var(--bal-space-large)}@media screen and (min-width: 769px),print{.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}@media screen and (min-width: 1024px){.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}.bal-footer__inner,.bal-footer__inner p{color:var(--bal-footer-color)}.bal-footer__inner__wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--bal-space-large)}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}.bal-footer__inner__wrapper__header-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row}.bal-footer__inner__wrapper__header-container__language{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:center;align-items:center}.bal-footer__inner__wrapper__header-container__language:hover bal-icon svg,.bal-footer__inner__wrapper__header-container__language:hover bal-icon g,.bal-footer__inner__wrapper__header-container__language:hover bal-icon path,.bal-footer__inner__wrapper__header-container__language:hover bal-icon circle{fill:var(--bal-footer-language-background-hover)}.bal-footer__inner__wrapper__header-container__language:hover .input{color:var(--bal-footer-language-color-hover)}.bal-footer__inner__wrapper__header-container__language:active bal-icon svg,.bal-footer__inner__wrapper__header-container__language:active bal-icon g,.bal-footer__inner__wrapper__header-container__language:active bal-icon path,.bal-footer__inner__wrapper__header-container__language:active bal-icon circle{fill:var(--bal-footer-language-background-active)}.bal-footer__inner__wrapper__header-container__language:active .input{color:var(--bal-footer-language-color-active)}.bal-footer__inner__wrapper__header-container__language__wrapper{width:5rem}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group{background:rgba(0,0,0,0);border:none}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group:hover{background:rgba(0,0,0,0) !important}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group bal-icon{min-width:.75rem !important}.bal-footer__inner__wrapper__header-container__logo{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.bal-footer__inner__wrapper__links-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}@media screen and (min-width: 769px),print{.bal-footer__inner__wrapper__links-container{-ms-flex-direction:column;flex-direction:column}}@media screen and (min-width: 1024px){.bal-footer__inner__wrapper__links-container{-ms-flex-direction:row;flex-direction:row}}.bal-footer__inner__wrapper__links-container__legal-links{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;gap:var(--bal-space-large-desktop)}.bal-footer__inner__wrapper__links-container__legal-links a{font-size:var(--bal-text-size-small) !important}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__legal-links{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%;gap:var(--bal-space-normal)}}.bal-footer__inner__wrapper__links-container__social-media-links{-ms-flex-align:center;align-items:center;gap:var(--bal-space-large-desktop);padding:var(--bal-space-normal) var(--bal-space-normal) var(--bal-space-normal) 0}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large);-ms-flex-pack:center;justify-content:center;width:100%;padding:var(--bal-space-normal) 0 var(--bal-space-normal) 0}}";
16
+ const balFooterCss = ":root{--bal-footer-font-family:var(--bal-font-family-text);--bal-footer-background:var(--bal-color-primary);--bal-footer-color:var(--bal-color-text-white);--bal-footer-language-color-hover:var(--bal-color-light-blue-2);--bal-footer-language-background-hover:var(--bal-color-light-blue-2);--bal-footer-language-color-active:var(--bal-color-light-blue-3);--bal-footer-language-background-active:var(--bal-color-light-blue-3)}.bal-footer{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;position:static;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.bal-footer__inner{position:relative;font-family:var(--bal-footer-font-family);background-color:var(--bal-footer-background);color:var(--bal-footer-color);padding-top:var(--bal-space-x-small);padding-bottom:var(--bal-space-large)}@media screen and (min-width: 769px),print{.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}@media screen and (min-width: 1024px){.bal-footer__inner{padding-top:var(--bal-space-large);padding-bottom:var(--bal-space-large)}}.bal-footer__inner,.bal-footer__inner p{color:var(--bal-footer-color)}.bal-footer__inner__wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--bal-space-large)}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper{gap:var(--bal-space-medium-tablet)}}.bal-footer__inner__wrapper__header-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row}.bal-footer__inner__wrapper__header-container__language{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:center;align-items:center}.bal-footer__inner__wrapper__header-container__language bal-icon,.bal-footer__inner__wrapper__header-container__language .input{cursor:pointer}.bal-footer__inner__wrapper__header-container__language:hover bal-icon svg,.bal-footer__inner__wrapper__header-container__language:hover bal-icon g,.bal-footer__inner__wrapper__header-container__language:hover bal-icon path,.bal-footer__inner__wrapper__header-container__language:hover bal-icon circle{fill:var(--bal-footer-language-background-hover)}.bal-footer__inner__wrapper__header-container__language:hover .input{color:var(--bal-footer-language-color-hover)}.bal-footer__inner__wrapper__header-container__language:active bal-icon svg,.bal-footer__inner__wrapper__header-container__language:active bal-icon g,.bal-footer__inner__wrapper__header-container__language:active bal-icon path,.bal-footer__inner__wrapper__header-container__language:active bal-icon circle{fill:var(--bal-footer-language-background-active)}.bal-footer__inner__wrapper__header-container__language:active .input{color:var(--bal-footer-language-color-active)}.bal-footer__inner__wrapper__header-container__language__wrapper{width:5rem}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group{background:rgba(0,0,0,0);border:none}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group:hover{background:rgba(0,0,0,0) !important}.bal-footer__inner__wrapper__header-container__language__wrapper bal-input-group bal-icon{min-width:.75rem !important}.bal-footer__inner__wrapper__header-container__logo{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.bal-footer__inner__wrapper__links-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}@media screen and (min-width: 769px),print{.bal-footer__inner__wrapper__links-container{-ms-flex-direction:column;flex-direction:column}}@media screen and (min-width: 1024px){.bal-footer__inner__wrapper__links-container{-ms-flex-direction:row;flex-direction:row}}.bal-footer__inner__wrapper__links-container__legal-links{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;gap:var(--bal-space-large-desktop)}.bal-footer__inner__wrapper__links-container__legal-links a{font-size:var(--bal-text-size-small) !important}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__legal-links{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;width:100%;gap:var(--bal-space-normal)}}.bal-footer__inner__wrapper__links-container__social-media-links{-ms-flex-align:center;align-items:center;gap:var(--bal-space-large-desktop);padding:var(--bal-space-normal) var(--bal-space-normal) var(--bal-space-normal) 0}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large)}}@media screen and (max-width: 768px){.bal-footer__inner__wrapper__links-container__social-media-links{padding-bottom:var(--bal-space-large);-ms-flex-pack:center;justify-content:center;width:100%;padding:var(--bal-space-normal) 0 var(--bal-space-normal) 0}}";
16
17
  const BalFooterStyle0 = balFooterCss;
17
18
 
18
19
  const Footer = class {
@@ -98,7 +99,11 @@ const Footer = class {
98
99
  const elSocialMediaLinks = elLinksContainer.element('social-media-links');
99
100
  return (h(Host, { class: Object.assign({}, block.class()) }, h("footer", { class: Object.assign({}, elInner.class()) }, h("div", { class: Object.assign({}, elInnerWrapper.class()) }, h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elHeaderContainer.class()) }, h("div", { class: Object.assign({}, elLogo.class()) }, h("bal-logo", { color: "white" })), h("div", { class: Object.assign({}, elLanguage.class()), style: {
100
101
  display: this.hideLanguageSelection || this.allowedLanguages.length <= 1 ? 'none' : 'flex',
101
- } }, h("div", { class: Object.assign({}, elWrapper.class()) }, h("bal-input-group", null, h("bal-icon", { class: Object.assign({}, elIcon.class()), name: "web", color: "white" }), h("bal-select", { value: this.language, onBalChange: event => this.changeLanguage(event.detail), "data-testid": "bal-footer-language" }, this.allowedLanguages.map(language => (h("bal-select-option", { key: language, label: language.toLocaleUpperCase(), value: language }, language.toLocaleUpperCase())))))))), h("slot", null), h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elLinksContainer.class()) }, h("div", { class: Object.assign({}, elSocialMediaLinks.class()), style: {
102
+ } }, h("div", { class: Object.assign({}, elWrapper.class()) }, h("bal-input-group", null, h("bal-icon", { class: Object.assign({}, elIcon.class()), name: "web", color: "white", onClick: el => {
103
+ var _a;
104
+ stopEventBubbling(el);
105
+ (_a = this.selectEl) === null || _a === void 0 ? void 0 : _a.open();
106
+ } }), h("bal-select", { ref: el => (this.selectEl = el), value: this.language, onBalChange: event => this.changeLanguage(event.detail), "data-testid": "bal-footer-language" }, this.allowedLanguages.map(language => (h("bal-select-option", { key: language, label: language.toLocaleUpperCase(), value: language }, language.toLocaleUpperCase())))))))), h("slot", null), h("div", { class: Object.assign(Object.assign({ container: true }, elContainer.class()), elLinksContainer.class()) }, h("div", { class: Object.assign({}, elSocialMediaLinks.class()), style: {
102
107
  display: !this.showSocialMedia ? 'none' : 'flex',
103
108
  } }, this.socialMediaLinks.map(link => (h("a", { key: link.link, href: link.link, target: "_blank", class: {
104
109
  'link': true,
@@ -2,9 +2,9 @@ import { r as registerInstance, h, H as Host, g as getElement } from './index-b6
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6-654e2c24.js';
3
3
  import { B as BEM } from './bem-8c7d2eb0.js';
4
4
  import { p as preventDefault } from './utils-9fbab1d3.js';
5
- import { B as BalScrollHandler } from './scroll-972c7ce5.js';
6
- import { b as balBreakpoints } from './breakpoints.subject-ef464f89.js';
7
- import { L as ListenToBreakpoints } from './breakpoints.decorator-021fbaf0.js';
5
+ import { B as BalScrollHandler } from './scroll-e341d95b.js';
6
+ import { b as balBreakpoints } from './breakpoints.subject-ba72fe99.js';
7
+ import { L as ListenToBreakpoints } from './breakpoints.decorator-dad33c75.js';
8
8
  import { L as ListenToConfig } from './config.decorator-d18abfe1.js';
9
9
  import './index-82aff103.js';
10
10
  import './browser-a8073d92.js';
@@ -13,7 +13,7 @@ import './icons.constant-a7885631.js';
13
13
  import './config.utils-6ac6c9bd.js';
14
14
  import './device-8c6d2881.js';
15
15
  import './listener-04842ae9.js';
16
- import './tokens.esm-aab9bd61.js';
16
+ import './tokens.esm-366a5b1e.js';
17
17
 
18
18
  const balHintCss = ":root{--bal-hint-content-background:var(--bal-color-grey-2)}.bal-hint{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block}.bal-hint__icon{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}@media (hover: hover)and (pointer: fine){.bal-hint__icon:hover svg,.bal-hint__icon:hover g,.bal-hint__icon:hover path,.bal-hint__icon:hover circle,.bal-hint__icon:focus svg,.bal-hint__icon:focus g,.bal-hint__icon:focus path,.bal-hint__icon:focus circle{fill:var(--bal-color-light-blue-5)}}.bal-hint__content{background:var(--bal-hint-content-background);display:-ms-flexbox;display:flex;gap:1.5rem;-ms-flex-direction:column;flex-direction:column}@media screen and (max-width: 768px){.bal-hint__content{padding:1.25rem;min-height:100%}.bal-hint__content>div{-ms-flex:1;flex:1}}.bal-hint__content__title{display:block;margin-bottom:1rem}.bal-hint__content__title__heading{font-family:var(--bal-title-font-family);font-weight:var(--bal-title-font-weight);font-size:var(--bal-text-size-x-large);line-height:var(--bal-line-height-x-large)}@media screen and (min-width: 769px),print{.bal-hint__content__title__heading{font-size:var(--bal-text-size-x-large-tablet);line-height:var(--bal-line-height-tablet-x-large)}}@media screen and (min-width: 1024px){.bal-hint__content__title__heading{font-size:var(--bal-text-size-x-large-desktop);line-height:var(--bal-line-height-desktop-x-large)}}@media screen and (min-width: 769px),print{.bal-hint__content__buttons--is-hidden-desktop{display:none !important}}.bal-hint__overlay__content{position:fixed;display:none;overflow:auto;top:0;left:0;right:0;bottom:0;z-index:var(--bal-z-index-popup)}.bal-hint__overlay__content--active{display:block}";
19
19
  const BalHintStyle0 = balHintCss;