@baloise/ds-core 16.5.0-snapshot.1471-e419cbebb → 16.5.1

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 (159) hide show
  1. package/components/all.d.ts +0 -2
  2. package/components/all.js +0 -3
  3. package/components/bal-app.js +85 -1
  4. package/components/bal-field.js +3 -0
  5. package/components/bal-segment-item.js +64 -47
  6. package/components/bal-segment.js +61 -17
  7. package/components/index.js +289 -5
  8. package/components/tokens.esm.js +1 -1
  9. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  10. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  11. package/dist/baloise-design-system/index.esm.js +1 -1
  12. package/dist/baloise-design-system/{p-f959646a.system.js → p-013b4c72.system.js} +1 -1
  13. package/dist/baloise-design-system/p-08b0e345a2.entry.js +1 -0
  14. package/dist/baloise-design-system/p-0db6b19e.js +1 -0
  15. package/dist/baloise-design-system/p-1509eaa7.system.js +1 -1
  16. package/dist/baloise-design-system/{p-9ab0f719.js → p-15a85377.js} +1 -1
  17. package/dist/baloise-design-system/{p-cd81adc228.entry.js → p-27bc71c322.entry.js} +1 -1
  18. package/dist/baloise-design-system/{p-b9203254fb.entry.js → p-3180888825.entry.js} +1 -1
  19. package/dist/baloise-design-system/{p-3e1fdd01f5.entry.js → p-342b27632b.entry.js} +1 -1
  20. package/dist/baloise-design-system/{p-ad679bd040.entry.js → p-34671b9410.entry.js} +1 -1
  21. package/dist/baloise-design-system/p-449ffc7a7e.entry.js +1 -0
  22. package/dist/baloise-design-system/{p-045b79ee4d.system.entry.js → p-52a4a89073.system.entry.js} +1 -1
  23. package/dist/baloise-design-system/p-54f81c32.js +1 -1
  24. package/dist/baloise-design-system/{p-d960c286.system.js → p-590da25b.system.js} +1 -1
  25. package/dist/baloise-design-system/{p-40878304.system.js → p-5de0bd8a.system.js} +1 -1
  26. package/dist/baloise-design-system/{p-04585f2f.system.js → p-60a6af04.system.js} +1 -1
  27. package/dist/baloise-design-system/{p-a547251249.entry.js → p-784c10d48f.entry.js} +1 -1
  28. package/dist/baloise-design-system/{p-767c357ddc.entry.js → p-80e59744a7.entry.js} +1 -1
  29. package/dist/baloise-design-system/{p-95bf6d0a8b.system.entry.js → p-8613444e15.system.entry.js} +1 -1
  30. package/dist/baloise-design-system/{p-2cb51419.system.js → p-910b2f3d.system.js} +1 -1
  31. package/dist/baloise-design-system/{p-e7d9295cf8.system.entry.js → p-a7de2305e0.system.entry.js} +1 -1
  32. package/dist/baloise-design-system/{p-78d1d35d85.system.entry.js → p-aed4d3ac0f.system.entry.js} +1 -1
  33. package/dist/baloise-design-system/{p-676e163338.system.entry.js → p-b4941441f4.system.entry.js} +1 -1
  34. package/dist/baloise-design-system/p-b60576a064.entry.js +1 -0
  35. package/dist/baloise-design-system/p-bcca1ed3.system.js +1 -0
  36. package/dist/baloise-design-system/{p-8b72df5ab4.entry.js → p-c716d30de1.entry.js} +1 -1
  37. package/dist/baloise-design-system/{p-e5a5fc1b.js → p-cfa901cb.js} +1 -1
  38. package/dist/baloise-design-system/{p-c8c9bab6e3.system.entry.js → p-d8a71bc5b4.system.entry.js} +1 -1
  39. package/dist/baloise-design-system/{p-a3eb350b5a.system.entry.js → p-d94b2cb869.system.entry.js} +1 -1
  40. package/dist/baloise-design-system/{p-5ef104a5a4.entry.js → p-d9f2d48be1.entry.js} +1 -1
  41. package/dist/baloise-design-system/{p-6590ce827f.system.entry.js → p-dd162dc12e.system.entry.js} +1 -1
  42. package/dist/baloise-design-system/{p-cb1e44b674.system.entry.js → p-e227dcfaa1.system.entry.js} +1 -1
  43. package/dist/baloise-design-system/{p-a6e88e6ab0.system.entry.js → p-e2316d2aea.system.entry.js} +1 -1
  44. package/dist/baloise-design-system/p-e45eb6121d.system.entry.js +1 -0
  45. package/dist/baloise-design-system/p-e78a6409.js +1 -0
  46. package/dist/baloise-design-system/{p-8a615db59f.entry.js → p-e829652c7a.entry.js} +1 -1
  47. package/dist/baloise-design-system/{p-8a16c8f794.entry.js → p-e8cab53413.entry.js} +1 -1
  48. package/dist/baloise-design-system/p-ec044ce124.system.entry.js +1 -0
  49. package/dist/baloise-design-system/{p-4e016ed599.system.entry.js → p-efe5a8806d.system.entry.js} +1 -1
  50. package/dist/baloise-design-system/{p-71b2968d8e.system.entry.js → p-f3bb565972.system.entry.js} +1 -1
  51. package/dist/baloise-design-system/{p-a5c78d4bf8.entry.js → p-fcfee1c692.entry.js} +1 -1
  52. package/dist/cjs/{global-2562a984.js → app-globals-ae3a8623.js} +4 -2
  53. package/dist/cjs/bal-carousel_2.cjs.entry.js +3 -3
  54. package/dist/cjs/bal-datepicker.cjs.entry.js +3 -3
  55. package/dist/cjs/bal-field_5.cjs.entry.js +3 -0
  56. package/dist/cjs/bal-hint_5.cjs.entry.js +3 -3
  57. package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
  58. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  59. package/dist/cjs/bal-nav_8.cjs.entry.js +3 -3
  60. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  61. package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
  62. package/dist/cjs/bal-progress-bar.cjs.entry.js +4 -4
  63. package/dist/cjs/bal-segment_2.cjs.entry.js +115 -63
  64. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  65. package/dist/cjs/bal-steps.cjs.entry.js +3 -3
  66. package/dist/cjs/bal-tab-item_2.cjs.entry.js +3 -3
  67. package/dist/cjs/baloise-design-system.cjs.js +2 -3
  68. package/dist/cjs/{breakpoints.decorator-b125d386.js → breakpoints.decorator-f4da1834.js} +1 -1
  69. package/dist/cjs/{breakpoints.subject-488871c0.js → breakpoints.subject-6fc372a8.js} +1 -1
  70. package/dist/cjs/index.cjs.js +2 -2
  71. package/dist/cjs/initialize-2a19d091.js +1 -1
  72. package/dist/cjs/loader.cjs.js +2 -3
  73. package/dist/cjs/{tokens.esm-abb7c10c.js → tokens.esm-cd3fab6c.js} +1 -1
  74. package/dist/cjs/{window-resize.decorator-3e886802.js → window-resize.decorator-67e1f4de.js} +1 -1
  75. package/dist/collection/collection-manifest.json +1 -2
  76. package/dist/collection/components/bal-field/bal-field.js +3 -0
  77. package/dist/collection/components/bal-segment/bal-segment-item/bal-segment-item.js +92 -69
  78. package/dist/collection/components/bal-segment/bal-segment.js +115 -19
  79. package/dist/collection/utils/constants/version.constant.js +1 -1
  80. package/dist/esm/{global-63f4bcec.js → app-globals-b0dd0fc4.js} +4 -2
  81. package/dist/esm/bal-carousel_2.entry.js +3 -3
  82. package/dist/esm/bal-datepicker.entry.js +3 -3
  83. package/dist/esm/bal-field_5.entry.js +3 -0
  84. package/dist/esm/bal-hint_5.entry.js +3 -3
  85. package/dist/esm/bal-list_8.entry.js +3 -3
  86. package/dist/esm/bal-logo.entry.js +3 -3
  87. package/dist/esm/bal-nav_8.entry.js +3 -3
  88. package/dist/esm/bal-navbar_5.entry.js +3 -3
  89. package/dist/esm/bal-pagination.entry.js +3 -3
  90. package/dist/esm/bal-progress-bar.entry.js +4 -4
  91. package/dist/esm/bal-segment_2.entry.js +115 -63
  92. package/dist/esm/bal-shape.entry.js +1 -1
  93. package/dist/esm/bal-steps.entry.js +3 -3
  94. package/dist/esm/bal-tab-item_2.entry.js +3 -3
  95. package/dist/esm/baloise-design-system.js +2 -3
  96. package/dist/esm/{breakpoints.decorator-d3119ed5.js → breakpoints.decorator-8a50482f.js} +1 -1
  97. package/dist/esm/{breakpoints.subject-ed7a3540.js → breakpoints.subject-e3538fe7.js} +1 -1
  98. package/dist/esm/index.js +3 -3
  99. package/dist/esm/initialize-e216cfe4.js +1 -1
  100. package/dist/esm/loader.js +2 -3
  101. package/dist/esm/{tokens.esm-d31851f8.js → tokens.esm-7cf87670.js} +1 -1
  102. package/dist/esm/{window-resize.decorator-db8fd6f3.js → window-resize.decorator-9c08027e.js} +1 -1
  103. package/dist/esm-es5/app-globals-b0dd0fc4.js +1 -0
  104. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  105. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  106. package/dist/esm-es5/bal-field_5.entry.js +1 -1
  107. package/dist/esm-es5/bal-hint_5.entry.js +1 -1
  108. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  109. package/dist/esm-es5/bal-logo.entry.js +1 -1
  110. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  111. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  112. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  113. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  114. package/dist/esm-es5/bal-segment_2.entry.js +1 -1
  115. package/dist/esm-es5/bal-shape.entry.js +1 -1
  116. package/dist/esm-es5/bal-steps.entry.js +1 -1
  117. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  118. package/dist/esm-es5/baloise-design-system.js +1 -1
  119. package/dist/esm-es5/{breakpoints.decorator-d3119ed5.js → breakpoints.decorator-8a50482f.js} +1 -1
  120. package/dist/esm-es5/{breakpoints.subject-ed7a3540.js → breakpoints.subject-e3538fe7.js} +1 -1
  121. package/dist/esm-es5/index.js +1 -1
  122. package/dist/esm-es5/initialize-e216cfe4.js +1 -1
  123. package/dist/esm-es5/loader.js +1 -1
  124. package/dist/esm-es5/{window-resize.decorator-db8fd6f3.js → window-resize.decorator-9c08027e.js} +1 -1
  125. package/dist/types/components/bal-segment/bal-segment-item/bal-segment-item.d.ts +17 -13
  126. package/dist/types/components/bal-segment/bal-segment.d.ts +22 -3
  127. package/dist/types/components/bal-segment/bal-segment.interfaces.d.ts +2 -0
  128. package/dist/types/components.d.ts +7 -56
  129. package/package.json +7 -7
  130. package/components/bal-app2.js +0 -87
  131. package/components/bal-doc-app.d.ts +0 -11
  132. package/components/bal-doc-app.js +0 -260
  133. package/components/initialize.js +0 -288
  134. package/dist/baloise-design-system/p-1b8739df31.system.entry.js +0 -1
  135. package/dist/baloise-design-system/p-2d373ec3.js +0 -1
  136. package/dist/baloise-design-system/p-360068a4.system.js +0 -1
  137. package/dist/baloise-design-system/p-4ff656dd48.entry.js +0 -1
  138. package/dist/baloise-design-system/p-6d1b6215.js +0 -1
  139. package/dist/baloise-design-system/p-7291766c.system.js +0 -1
  140. package/dist/baloise-design-system/p-7cc52e4a3b.system.entry.js +0 -1
  141. package/dist/baloise-design-system/p-99177a28c0.entry.js +0 -1
  142. package/dist/baloise-design-system/p-b8f085f7b5.system.entry.js +0 -1
  143. package/dist/baloise-design-system/p-d9d229a026.entry.js +0 -1
  144. package/dist/baloise-design-system/p-e8ffddeb.js +0 -1
  145. package/dist/baloise-design-system/p-ef493de9d5.entry.js +0 -1
  146. package/dist/cjs/app-globals-5fd73c0c.js +0 -7
  147. package/dist/cjs/bal-doc-app.cjs.entry.js +0 -231
  148. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +0 -1
  149. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +0 -229
  150. package/dist/esm/app-globals-970bab17.js +0 -5
  151. package/dist/esm/bal-doc-app.entry.js +0 -227
  152. package/dist/esm-es5/app-globals-970bab17.js +0 -1
  153. package/dist/esm-es5/bal-doc-app.entry.js +0 -1
  154. package/dist/esm-es5/global-63f4bcec.js +0 -1
  155. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +0 -21
  156. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +0 -81
  157. /package/dist/baloise-design-system/{p-445ba24a.js → p-46bed129.js} +0 -0
  158. /package/dist/baloise-design-system/{p-072d2e2e.system.js → p-9ffefe27.system.js} +0 -0
  159. /package/dist/esm-es5/{tokens.esm-d31851f8.js → tokens.esm-7cf87670.js} +0 -0
@@ -37,6 +37,7 @@ const Field = class {
37
37
  'bal-input-slider',
38
38
  'bal-file-upload',
39
39
  'bal-dropdown',
40
+ 'bal-segment',
40
41
  ];
41
42
  this.formElements = [...this.formControlElement, 'bal-field-label', 'bal-field-message'];
42
43
  this.isDirectChild = (el) => {
@@ -126,6 +127,8 @@ const Field = class {
126
127
  'bal-field-control bal-dropdown',
127
128
  'bal-field-control bal-checkbox',
128
129
  'bal-field-control bal-radio',
130
+ 'bal-field-control bal-segment-item',
131
+ 'bal-field-control bal-segment',
129
132
  'bal-field-control bal-checkbox-group',
130
133
  'bal-field-control bal-radio-group',
131
134
  'bal-field-control bal-number-input',
@@ -7,8 +7,8 @@ const tslib_es6 = require('./tslib.es6-a680968e.js');
7
7
  const bem = require('./bem-81bc6a2d.js');
8
8
  const utils = require('./utils-9ea175af.js');
9
9
  const scroll = require('./scroll-73c1b762.js');
10
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
11
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
10
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
11
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
12
12
  const config_decorator = require('./config.decorator-b393a72f.js');
13
13
  const browser = require('./browser-1d542d0f.js');
14
14
  const log = require('./log-33398c2a.js');
@@ -18,7 +18,7 @@ require('./icons.constant-7c82086a.js');
18
18
  require('./config.utils-e4cd49d6.js');
19
19
  require('./device-9f97a845.js');
20
20
  require('./listener-52d2e5fd.js');
21
- require('./tokens.esm-abb7c10c.js');
21
+ require('./tokens.esm-cd3fab6c.js');
22
22
 
23
23
  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}";
24
24
  const BalHintStyle0 = balHintCss;
@@ -8,16 +8,16 @@ const tslib_es6 = require('./tslib.es6-a680968e.js');
8
8
  const log = require('./log-33398c2a.js');
9
9
  const helpers = require('./helpers-2a8c8333.js');
10
10
  const config_decorator = require('./config.decorator-b393a72f.js');
11
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
11
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
12
12
  const resize_decorator = require('./resize.decorator-ae91ead2.js');
13
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
13
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
14
14
  const index_esm = require('./index.esm-54a3d84e.js');
15
15
  require('./browser-1d542d0f.js');
16
16
  require('./icons.constant-7c82086a.js');
17
17
  require('./config.utils-e4cd49d6.js');
18
18
  require('./device-9f97a845.js');
19
19
  require('./listener-52d2e5fd.js');
20
- require('./tokens.esm-abb7c10c.js');
20
+ require('./tokens.esm-cd3fab6c.js');
21
21
  require('./index-e6a233be.js');
22
22
  require('./_commonjsHelpers-68cdf74f.js');
23
23
 
@@ -7,15 +7,15 @@ const tslib_es6 = require('./tslib.es6-a680968e.js');
7
7
  const bem = require('./bem-81bc6a2d.js');
8
8
  const log = require('./log-33398c2a.js');
9
9
  const helpers = require('./helpers-2a8c8333.js');
10
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
11
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
10
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
11
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
12
12
  const config_decorator = require('./config.decorator-b393a72f.js');
13
13
  require('./browser-1d542d0f.js');
14
14
  require('./icons.constant-7c82086a.js');
15
15
  require('./config.utils-e4cd49d6.js');
16
16
  require('./device-9f97a845.js');
17
17
  require('./listener-52d2e5fd.js');
18
- require('./tokens.esm-abb7c10c.js');
18
+ require('./tokens.esm-cd3fab6c.js');
19
19
 
20
20
  const balLogoCss = ".bal-logo{position:static;display:block;height:22px}.bal-logo svg{-webkit-transform:unset !important;transform:unset !important}.bal-logo svg svg,.bal-logo svg g,.bal-logo svg path,.bal-logo svg circle{fill:#000d6e}.bal-logo>div{height:22px}@media screen and (min-width: 1024px){.bal-logo--animated{margin-left:-7px}}.bal-logo--white svg svg,.bal-logo--white svg g,.bal-logo--white svg path,.bal-logo--white svg circle{fill:#fff}@media screen and (min-width: 1024px){.bal-logo{height:32px}.bal-logo>div{height:32px}}.bal-logo--size-small{height:22px}.bal-logo--size-small>div{height:22px}";
21
21
  const BalLogoStyle0 = balLogoCss;
@@ -9,17 +9,17 @@ const log = require('./log-33398c2a.js');
9
9
  const browser = require('./browser-1d542d0f.js');
10
10
  const scroll = require('./scroll-73c1b762.js');
11
11
  const helpers = require('./helpers-2a8c8333.js');
12
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
12
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
13
13
  const config_default = require('./config.default-5bdd6e3d.js');
14
14
  const mutation_decorator = require('./mutation.decorator-af043b68.js');
15
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
15
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
16
16
  const config_decorator = require('./config.decorator-b393a72f.js');
17
17
  const resize_decorator = require('./resize.decorator-ae91ead2.js');
18
18
  require('./icons.constant-7c82086a.js');
19
19
  require('./config.utils-e4cd49d6.js');
20
20
  require('./device-9f97a845.js');
21
21
  require('./listener-52d2e5fd.js');
22
- require('./tokens.esm-abb7c10c.js');
22
+ require('./tokens.esm-cd3fab6c.js');
23
23
 
24
24
  class NavLinkItem {
25
25
  constructor(item, observer) {
@@ -8,13 +8,13 @@ const scroll = require('./scroll-73c1b762.js');
8
8
  const browser = require('./browser-1d542d0f.js');
9
9
  const tslib_es6 = require('./tslib.es6-a680968e.js');
10
10
  const helpers = require('./helpers-2a8c8333.js');
11
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
12
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
11
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
12
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
13
13
  require('./icons.constant-7c82086a.js');
14
14
  require('./config.utils-e4cd49d6.js');
15
15
  require('./device-9f97a845.js');
16
16
  require('./listener-52d2e5fd.js');
17
- require('./tokens.esm-abb7c10c.js');
17
+ require('./tokens.esm-cd3fab6c.js');
18
18
 
19
19
  const balNavbarCss = ":root{--bal-navbar-background:var(--bal-color-primary);--bal-navbar-light-background:var(--bal-color-white);--bal-navbar-active-menu-background:var(--bal-color-white);--bal-navbar-height:4rem;--bal-navbar-height-desktop:5rem;--bal-navbar-brand-title-text-color:var(--bal-color-text-white);--bal-navbar-brand-title-font-size:var(--bal-text-size-medium);--bal-navbar-brand-title-light-text-color:var(--bal-color-text-primary);--bal-navbar-brand-text-color:var(--bal-color-text-white);--bal-navbar-brand-logo-link-color:var(--bal-color-text-white)}.bal-navbar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:block}.bal-navbar--context-app:not(.bal-navbar--is-light),.bal-navbar--context-simple:not(.bal-navbar--is-light){background:var(--bal-navbar-background)}.bal-navbar--context-app,.bal-navbar--context-simple{height:var(--bal-navbar-height);max-height:var(--bal-navbar-height)}@media screen and (min-width: 1024px){.bal-navbar--context-app,.bal-navbar--context-simple{height:var(--bal-navbar-height-desktop);max-height:var(--bal-navbar-height-desktop)}}.bal-navbar__nav{display:-ms-flexbox;display:flex;height:100%;gap:1rem}.bal-navbar__brand{-ms-flex:1;flex:1;gap:2rem;display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}@media screen and (min-width: 1024px){.bal-navbar__brand{-ms-flex:initial;flex:initial}}.bal-navbar__brand>a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%}.bal-navbar__brand__logo{height:calc(100% - 1rem);-o-object-fit:contain;object-fit:contain}@media screen and (min-width: 1024px){.bal-navbar__brand__logo{height:calc(100% - 2rem)}}.bal-navbar__brand__title{display:none;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.bal-navbar__brand__title>bal-logo{display:none}@media screen and (min-width: 769px),print{.bal-navbar__brand__title{display:inline-block;font-size:var(--bal-navbar-brand-title-font-size);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);color:var(--bal-navbar-brand-title-text-color)}}@media screen and (min-width: 1024px){.bal-navbar__brand__title{font-size:var(--bal-navbar-brand-title-font-size)}}.bal-navbar__brand--context-app,.bal-navbar__brand--context-simple{color:var(--bal-navbar-brand-text-color)}.bal-navbar__brand--context-app>a,.bal-navbar__brand--context-simple>a{color:var(--bal-navbar-brand-logo-link-color)}.bal-navbar__menu{position:static;display:none;z-index:var(--bal-z-index-navigation)}@media screen and (max-width: 1023px){.bal-navbar__menu--active{position:fixed !important;display:block;background:var(--bal-navbar-active-menu-background)}}@media screen and (max-width: 1023px){.bal-navbar__menu--context-app{padding-top:1rem;padding-bottom:1rem;overflow-y:auto;-ms-flex-direction:column-reverse;flex-direction:column-reverse;top:4rem;left:0;bottom:0;right:0}}@media screen and (min-width: 1024px){.bal-navbar__menu{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;gap:1rem;padding-right:0 !important}}.bal-navbar__menu--context-simple{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex:1;flex:1;gap:1rem}.bal-navbar__menu__start{display:block;margin-bottom:1rem}@media screen and (min-width: 1024px){.bal-navbar__menu__start{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;gap:.5rem;margin-bottom:0}}.bal-navbar__menu__start--context-simple{display:none}.bal-navbar__menu__start--context-meta{-ms-flex-pack:start;justify-content:flex-start}.bal-navbar__menu__end{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;gap:.5rem}.bal-navbar__menu__end .button-label{word-break:keep-all !important}.bal-navbar__menu__end .bal-button-group{width:100%}@media screen and (max-width: 1023px){.bal-navbar__menu__end .bal-button-group{margin-top:2rem}}.bal-navbar__menu__end--context-simple>.field{-ms-flex-negative:0;flex-shrink:0;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center}.bal-navbar__menu__end>.field{-ms-flex:1;flex:1}@media screen and (min-width: 1024px){.bal-navbar__menu__end>.field{-ms-flex-negative:0;flex-shrink:0;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center}}.bal-navbar--is-light{background-color:var(--bal-navbar-light-background);-webkit-box-shadow:var(--bal-shadow-normal);box-shadow:var(--bal-shadow-normal)}.bal-navbar--is-light .bal-navbar__brand__title{color:var(--bal-navbar-brand-title-light-text-color)}.bal-navbar--is-light bal-logo svg svg,.bal-navbar--is-light bal-logo svg g,.bal-navbar--is-light bal-logo svg path,.bal-navbar--is-light bal-logo svg circle{fill:var(--bal-color-primary)}.bal-navbar__brand__burger.bal-button{margin-left:auto}@media screen and (min-width: 1024px){.bal-navbar__brand__burger.bal-button{display:none}}.bal-navbar__brand__burger--hidden.bal-button{display:none !important}";
20
20
  const BalNavbarStyle0 = balNavbarCss;
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-219b2f52.js');
6
6
  const tslib_es6 = require('./tslib.es6-a680968e.js');
7
7
  const bem = require('./bem-81bc6a2d.js');
8
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
8
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
9
9
  const config_default = require('./config.default-5bdd6e3d.js');
10
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
10
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
11
11
  const config_decorator = require('./config.decorator-b393a72f.js');
12
12
  require('./helpers-2a8c8333.js');
13
13
  require('./browser-1d542d0f.js');
@@ -15,7 +15,7 @@ require('./icons.constant-7c82086a.js');
15
15
  require('./config.utils-e4cd49d6.js');
16
16
  require('./device-9f97a845.js');
17
17
  require('./listener-52d2e5fd.js');
18
- require('./tokens.esm-abb7c10c.js');
18
+ require('./tokens.esm-cd3fab6c.js');
19
19
  require('./log-33398c2a.js');
20
20
 
21
21
  function generatePaginationControl(value, totalPages, pageRange) {
@@ -6,15 +6,15 @@ const index = require('./index-219b2f52.js');
6
6
  const tslib_es6 = require('./tslib.es6-a680968e.js');
7
7
  const bem = require('./bem-81bc6a2d.js');
8
8
  const helpers = require('./helpers-2a8c8333.js');
9
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
10
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
11
- const windowResize_decorator = require('./window-resize.decorator-3e886802.js');
9
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
10
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
11
+ const windowResize_decorator = require('./window-resize.decorator-67e1f4de.js');
12
12
  require('./browser-1d542d0f.js');
13
13
  require('./icons.constant-7c82086a.js');
14
14
  require('./config.utils-e4cd49d6.js');
15
15
  require('./device-9f97a845.js');
16
16
  require('./listener-52d2e5fd.js');
17
- require('./tokens.esm-abb7c10c.js');
17
+ require('./tokens.esm-cd3fab6c.js');
18
18
 
19
19
  const balProgressBarCss = ":root{--bal-progress-bar-background-white:var(--bal-color-white);--bal-progress-bar-background-grey:var(--bal-color-grey-3);--bal-progress-bar-background-purple:var(--bal-color-purple-2);--bal-progress-bar-background-yellow:var(--bal-color-yellow-2);--bal-progress-bar-background-red:var(--bal-color-red-2);--bal-progress-bar-background-green:var(--bal-color-green-2);--bal-progress-bar-line-color-primary:var(--bal-color-primary);--bal-progress-bar-line-color-purple:var(--bal-color-purple-6);--bal-progress-bar-line-color-yellow:var(--bal-color-yellow-6);--bal-progress-bar-line-color-red:var(--bal-color-red-6);--bal-progress-bar-line-color-green:var(--bal-color-green-6);--bal-progress-bar-line-radius:var(--bal-radius-rounded)}.bal-progress-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;min-width:0;height:.25rem}.bal-progress-bar--background-white-of-primary,.bal-progress-bar--background-white-of-purple,.bal-progress-bar--background-white-of-red,.bal-progress-bar--background-white-of-green,.bal-progress-bar--background-white-of-yellow{background:var(--bal-progress-bar-background-white)}.bal-progress-bar--background-grey-of-primary{background:var(--bal-progress-bar-background-grey)}.bal-progress-bar--background-grey-of-purple{background:var(--bal-progress-bar-background-purple)}.bal-progress-bar--background-grey-of-red{background:var(--bal-progress-bar-background-red)}.bal-progress-bar--background-grey-of-green{background:var(--bal-progress-bar-background-green)}.bal-progress-bar--background-grey-of-yellow{background:var(--bal-progress-bar-background-yellow)}.bal-progress-bar__line{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;height:.25rem;width:0;background:var(--bal-progress-bar-line-color-primary);border-top-right-radius:var(--bal-progress-bar-line-radius);border-bottom-right-radius:var(--bal-progress-bar-line-radius)}.bal-progress-bar__line--animated{will-change:width;-webkit-transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing);transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-progress-bar__line--full{border-top-right-radius:0;border-bottom-right-radius:0}.bal-progress-bar__line--color-purple{background:var(--bal-progress-bar-line-color-purple)}.bal-progress-bar__line--color-yellow{background:var(--bal-progress-bar-line-color-yellow)}.bal-progress-bar__line--color-red{background:var(--bal-progress-bar-line-color-red)}.bal-progress-bar__line--color-green{background:var(--bal-progress-bar-line-color-green)}";
20
20
  const BalProgressBarStyle0 = balProgressBarCss;
@@ -10,18 +10,20 @@ const index_esm = require('./index.esm-54a3d84e.js');
10
10
  const formInput = require('./form-input-b61eb894.js');
11
11
  const focusVisible = require('./focus-visible-264bd9b8.js');
12
12
  const helpers = require('./helpers-2a8c8333.js');
13
- const windowResize_decorator = require('./window-resize.decorator-3e886802.js');
14
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
13
+ const form = require('./form-2279fb2f.js');
14
+ const focus_decorator = require('./focus.decorator-afaf9ac4.js');
15
+ const windowResize_decorator = require('./window-resize.decorator-67e1f4de.js');
16
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
15
17
  const attributes = require('./attributes-9f366716.js');
16
18
  require('./browser-1d542d0f.js');
17
19
  require('./index-e6a233be.js');
18
20
  require('./_commonjsHelpers-68cdf74f.js');
19
21
  require('./icons.constant-7c82086a.js');
20
22
  require('./config.utils-e4cd49d6.js');
21
- require('./breakpoints.subject-488871c0.js');
22
- require('./device-9f97a845.js');
23
23
  require('./listener-52d2e5fd.js');
24
- require('./tokens.esm-abb7c10c.js');
24
+ require('./breakpoints.subject-6fc372a8.js');
25
+ require('./device-9f97a845.js');
26
+ require('./tokens.esm-cd3fab6c.js');
25
27
 
26
28
  const balSegmentCss = ":root{--bal-segment-background:var(--bal-color-grey-2);--bal-segment-background-invalid:var(--bal-color-danger-1);--bal-segment-item-focus-border:var(--bal-color-border-primary);--bal-segment-item-text-color:var(--bal-color-text-primary);--bal-segment-item-text-color-checked:var(--bal-color-text-primary);--bal-segment-item-text-color-checked-hovered:var(--bal-color-text-primary-hovered);--bal-segment-item-text-color-checked-pressed:var(--bal-color-text-primary-pressed);--bal-segment-item-text-color-invalid:var(--bal-color-text-danger);--bal-segment-item-text-color-invalid-hovered:var(--bal-color-text-danger-hovered);--bal-segment-item-text-color-invalid-pressed:var(--bal-color-text-danger-pressed);--bal-segment-item-text-color-disabled:var(--bal-color-text-grey);--bal-segment-item-text-color-disabled-checked:var(--bal-color-text-grey-dark);--bal-segment-item-divider-background:var(--bal-color-grey);--bal-segment-item-divider-background-invalid:var(--bal-color-danger-2);--bal-segment-item-indicator-background:var(--bal-color-purple-2);--bal-segment-item-indicator-background-invalid:var(--bal-color-danger-4);--bal-segment-item-indicator-background-disabled:var(--bal-color-grey-3)}.bal-segment{display:-ms-flexbox;display:flex;background:var(--bal-segment-background);border-radius:var(--bal-radius-normal);gap:.125rem;gap:.125rem;padding:.25rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.bal-segment--invalid{background:var(--bal-segment-background-invalid)}.bal-segment--vertical{-ms-flex-direction:column;flex-direction:column;width:100%}.bal-segment--vertical .bal-segment-item__button{width:100%;-ms-flex:1;flex:1}.bal-segment--vertical.bal-segment--scrollable{overflow:auto;max-height:240px}.bal-segment--expanded{width:100%;min-width:100%;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}.bal-segment--expanded .bal-segment-item,.bal-segment--expanded .bal-segment-item>button{-ms-flex:1;flex:1;width:100%}.bal-segment--expanded .bal-segment-item .bal-content,.bal-segment--expanded .bal-segment-item>button .bal-content{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}";
27
29
  const BalSegmentStyle0 = balSegmentCss;
@@ -29,13 +31,19 @@ const BalSegmentStyle0 = balSegmentCss;
29
31
  const Segment = class {
30
32
  constructor(hostRef) {
31
33
  index.registerInstance(this, hostRef);
34
+ this.balFocus = index.createEvent(this, "balFocus", 7);
32
35
  this.balBlur = index.createEvent(this, "balBlur", 7);
33
36
  this.balChange = index.createEvent(this, "balChange", 7);
34
37
  this.balSelect = index.createEvent(this, "balSelect", 7);
35
38
  this.balVertical = index.createEvent(this, "balVertical", 7);
39
+ /**
40
+ * LISTENERS
41
+ * ------------------------------------------------------
42
+ */
43
+ this.hasFocus = false;
36
44
  this.getSegmentItem = (selector) => {
37
45
  var _a, _b;
38
- const items = this.items.filter(item => !item.disabled);
46
+ const items = this.allItems.filter(item => !item.disabled);
39
47
  const currIndex = items.findIndex(item => item === document.activeElement.closest('bal-segment-item'));
40
48
  switch (selector) {
41
49
  case 'current':
@@ -100,6 +108,7 @@ const Segment = class {
100
108
  this.isVertical = false;
101
109
  this.isMobile = false;
102
110
  this.maxWidth = 0;
111
+ this.ariaForm = form.defaultBalAriaForm;
103
112
  this.invalid = false;
104
113
  this.disabled = false;
105
114
  this.vertical = false;
@@ -110,6 +119,9 @@ const Segment = class {
110
119
  createLogger(log) {
111
120
  this.log = log;
112
121
  }
122
+ disabledChanged() {
123
+ this.allItems.map(item => (item.disabled = this.disabled));
124
+ }
113
125
  valueChanged(value) {
114
126
  /**
115
127
  * `balSelect` is emitted every time the value changes (internal or external changes).
@@ -124,6 +136,7 @@ const Segment = class {
124
136
  connectedCallback() {
125
137
  this.el.addEventListener('touchstart', this.onPointerDown);
126
138
  this.el.addEventListener('mousedown', this.onPointerDown);
139
+ this.disabledChanged();
127
140
  }
128
141
  disconnectedCallback() {
129
142
  this.el.removeEventListener('touchstart', this.onPointerDown);
@@ -133,10 +146,12 @@ const Segment = class {
133
146
  this.setCheckedClasses();
134
147
  this.defineWidth();
135
148
  }
136
- /**
137
- * LISTENERS
138
- * ------------------------------------------------------
139
- */
149
+ focusInListener(ev) {
150
+ this.balFocus.emit(ev);
151
+ }
152
+ focusOutListener(ev) {
153
+ this.balBlur.emit(ev);
154
+ }
140
155
  breakpointListener(breakpoints) {
141
156
  this.isMobile = breakpoints.mobile;
142
157
  }
@@ -158,9 +173,8 @@ const Segment = class {
158
173
  this.emitVerticalChange(true);
159
174
  }
160
175
  }
161
- listenOnBalBlur(ev) {
162
- formInput.stopEventBubbling(ev);
163
- this.balBlur.emit(ev.detail);
176
+ listenOnKeyDownOutside() {
177
+ this.keyboardMode = true;
164
178
  }
165
179
  listenOnKeyDown(ev) {
166
180
  this.keyboardMode = focusVisible.FOCUS_KEYS.includes(ev.key);
@@ -168,6 +182,7 @@ const Segment = class {
168
182
  if (index_esm.isSpaceKey(ev)) {
169
183
  formInput.stopEventBubbling(ev);
170
184
  current = this.getSegmentItem('current');
185
+ this.value = current.value;
171
186
  }
172
187
  else if (index_esm.isArrowUpKey(ev) || index_esm.isArrowLeftKey(ev)) {
173
188
  formInput.stopEventBubbling(ev);
@@ -197,15 +212,25 @@ const Segment = class {
197
212
  current.setFocus();
198
213
  }
199
214
  }
215
+ /**
216
+ * PUBLIC METHODS
217
+ * ------------------------------------------------------
218
+ */
219
+ /**
220
+ * @internal
221
+ */
222
+ async setAriaForm(ariaForm) {
223
+ this.ariaForm = Object.assign({}, ariaForm);
224
+ }
200
225
  /**
201
226
  * GETTERS
202
227
  * ------------------------------------------------------
203
228
  */
204
- get items() {
229
+ get allItems() {
205
230
  return Array.from(this.el.querySelectorAll('bal-segment-item'));
206
231
  }
207
232
  get checked() {
208
- return this.items.find(item => item.value === this.value);
233
+ return this.allItems.find(item => item.value === this.value);
209
234
  }
210
235
  /**
211
236
  * PRIVATE METHODS
@@ -230,8 +255,11 @@ const Segment = class {
230
255
  });
231
256
  }
232
257
  getIndicator(item) {
233
- const root = item.shadowRoot || item;
234
- return root.querySelector('.bal-segment-item__indicator');
258
+ if (item) {
259
+ const root = item.shadowRoot || item;
260
+ return root.querySelector('.bal-segment-item__indicator');
261
+ }
262
+ return null;
235
263
  }
236
264
  checkButton(previous, current) {
237
265
  const previousIndicator = this.getIndicator(previous);
@@ -268,7 +296,7 @@ const Segment = class {
268
296
  this.setCheckedClasses();
269
297
  }
270
298
  setCheckedClasses() {
271
- const items = this.items;
299
+ const items = this.allItems;
272
300
  const index = items.findIndex(item => item.value === this.value);
273
301
  const next = index + 1;
274
302
  const previous = index - 1;
@@ -288,12 +316,13 @@ const Segment = class {
288
316
  * ------------------------------------------------------
289
317
  */
290
318
  render() {
291
- const { invalid, isVertical, scrollable, keyboardMode, expanded, isMobile } = this;
319
+ const { invalid, isVertical, scrollable, keyboardMode, expanded, isMobile, disabled } = this;
292
320
  const block = bem.BEM.block('segment');
293
- return (index.h(index.Host, { role: "radiogroup", class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('invalid').class(invalid)), block.modifier('vertical').class(isVertical)), block.modifier('scrollable').class(scrollable)), block.modifier('keyboard').class(keyboardMode)), block.modifier('expanded').class((expanded || isMobile) && !isVertical)), onClick: this.onClick }, index.h("slot", { onSlotchange: this.onSlottedItemsChange })));
321
+ return (index.h(index.Host, { role: "radiogroup", "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('invalid').class(invalid)), block.modifier('vertical').class(isVertical)), block.modifier('scrollable').class(scrollable)), block.modifier('keyboard').class(keyboardMode)), block.modifier('disabled').class(disabled)), block.modifier('expanded').class((expanded || isMobile) && !isVertical)), onClick: this.onClick }, index.h("slot", { onSlotchange: this.onSlottedItemsChange })));
294
322
  }
295
323
  get el() { return index.getElement(this); }
296
324
  static get watchers() { return {
325
+ "disabled": ["disabledChanged"],
297
326
  "value": ["valueChanged"]
298
327
  }; }
299
328
  };
@@ -303,6 +332,18 @@ tslib_es6.__decorate([
303
332
  tslib_es6.__metadata("design:paramtypes", [Function]),
304
333
  tslib_es6.__metadata("design:returntype", void 0)
305
334
  ], Segment.prototype, "createLogger", null);
335
+ tslib_es6.__decorate([
336
+ focus_decorator.ListenToFocus(),
337
+ tslib_es6.__metadata("design:type", Function),
338
+ tslib_es6.__metadata("design:paramtypes", [FocusEvent]),
339
+ tslib_es6.__metadata("design:returntype", void 0)
340
+ ], Segment.prototype, "focusInListener", null);
341
+ tslib_es6.__decorate([
342
+ focus_decorator.ListenToFocus(),
343
+ tslib_es6.__metadata("design:type", Function),
344
+ tslib_es6.__metadata("design:paramtypes", [FocusEvent]),
345
+ tslib_es6.__metadata("design:returntype", void 0)
346
+ ], Segment.prototype, "focusOutListener", null);
306
347
  tslib_es6.__decorate([
307
348
  breakpoints_decorator.ListenToBreakpoints(),
308
349
  tslib_es6.__metadata("design:type", Function),
@@ -320,14 +361,14 @@ Segment.style = BalSegmentStyle0;
320
361
  const balSegmentItemCss = ":root{--bal-segment-background:var(--bal-color-grey-2);--bal-segment-background-invalid:var(--bal-color-danger-1);--bal-segment-item-focus-border:var(--bal-color-border-primary);--bal-segment-item-text-color:var(--bal-color-text-primary);--bal-segment-item-text-color-checked:var(--bal-color-text-primary);--bal-segment-item-text-color-checked-hovered:var(--bal-color-text-primary-hovered);--bal-segment-item-text-color-checked-pressed:var(--bal-color-text-primary-pressed);--bal-segment-item-text-color-invalid:var(--bal-color-text-danger);--bal-segment-item-text-color-invalid-hovered:var(--bal-color-text-danger-hovered);--bal-segment-item-text-color-invalid-pressed:var(--bal-color-text-danger-pressed);--bal-segment-item-text-color-disabled:var(--bal-color-text-grey);--bal-segment-item-text-color-disabled-checked:var(--bal-color-text-grey-dark);--bal-segment-item-divider-background:var(--bal-color-grey);--bal-segment-item-divider-background-invalid:var(--bal-color-danger-2);--bal-segment-item-indicator-background:var(--bal-color-purple-2);--bal-segment-item-indicator-background-invalid:var(--bal-color-danger-4);--bal-segment-item-indicator-background-disabled:var(--bal-color-grey-3)}.bal-segment-item{display:block;position:relative;height:auto;text-decoration:none;text-overflow:ellipsis;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;-webkit-font-kerning:none;font-kerning:none}.bal-segment-item--disabled{cursor:default !important;pointer-events:none !important}.bal-segment-item__button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:2.5rem;min-width:3rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-positive:1;flex-grow:1;padding-top:.375rem;padding-bottom:.375rem;padding-left:20px;padding-right:20px;outline:none;border-color:rgba(0,0,0,0);border-width:var(--bal-border-width-normal);border-style:solid;border-radius:var(--bal-radius-normal);background:rgba(0,0,0,0);font-size:var(--bal-text-size-normal);font-weight:var(--bal-font-weight-bold);color:var(--bal-segment-item-text-color);overflow:hidden;position:relative;contain:content;pointer-events:none;cursor:pointer;z-index:2}.bal-segment-item__button--vertical{padding-left:.75rem;padding-right:.75rem}.bal-segment-item__button span{font-size:var(--bal-text-size-small);font-weight:var(--bal-font-weight-regular)}.bal-segment-item__button{will-change:color,padding;-webkit-transition:color 160ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 160ms cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition:padding 160ms cubic-bezier(0.4, 0, 0.2, 1);transition:padding 160ms cubic-bezier(0.4, 0, 0.2, 1)}.bal-segment-item:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{content:\"\";position:absolute;background:var(--bal-segment-item-divider-background);border-radius:var(--bal-radius-normal)}.bal-segment-item:not(.bal-segment-item--vertical):not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{top:2px;bottom:2px;right:-1px;width:2px}.bal-segment-item.bal-segment-item--vertical:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{left:2px;right:2px;bottom:-1px;height:2px}.bal-segment-item--invalid:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{background:var(--bal-segment-item-divider-background-invalid)}.bal-segment-item__indicator{-webkit-transform-origin:left;transform-origin:left;position:absolute;opacity:0;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;border-radius:var(--bal-radius-normal);background:var(--bal-segment-item-indicator-background);top:0;left:0}.bal-segment-item__indicator--vertical{-webkit-transform-origin:top;transform-origin:top}.bal-segment-item__indicator--invalid{background:var(--bal-segment-item-indicator-background-invalid)}.bal-segment-item__indicator--background{min-width:100%;min-height:100%;-webkit-transform:none;transform:none;pointer-events:none}.bal-segment-item__indicator--animated{will-change:transform,opacity,top,bottom,left,right,min-width,min-heigth;-webkit-transition:min-width 100ms ease,min-height 100ms ease,top 100ms ease,left 100ms ease,bottom 100ms ease,right 100ms ease,-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transition:min-width 100ms ease,min-height 100ms ease,top 100ms ease,left 100ms ease,bottom 100ms ease,right 100ms ease,-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1),min-width 100ms ease,min-height 100ms ease,top 100ms ease,left 100ms ease,bottom 100ms ease,right 100ms ease;transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1),min-width 100ms ease,min-height 100ms ease,top 100ms ease,left 100ms ease,bottom 100ms ease,right 100ms ease,-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1)}.bal-segment-item__indicator--checked{opacity:1}.bal-segment-item:active .bal-segment-item__indicator{min-width:calc(100% - 4px);min-height:calc(100% - 4px);top:2px !important;bottom:2px !important;left:2px !important;right:2px !important}.bal-segment-item__button__icon{position:absolute !important;opacity:0;width:0 !important;-webkit-transform:translateX(0.1rem);transform:translateX(0.1rem);pointer-events:none !important;cursor:inherit;will-change:transform,opacity}.bal-segment-item__button__icon:not(.bal-segment-item__button__icon--vertical){left:10px}.bal-segment-item__button__icon--vertical{right:10px}.bal-segment-item__button__icon--animated{opacity:1;width:.875rem !important;-webkit-transform:translateX(-4px);transform:translateX(-4px);-webkit-transition:opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),transform 260ms cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform 260ms cubic-bezier(0.4, 0, 0.2, 1)}.bal-segment-item__button--checked{color:var(--bal-segment-item-text-color-checked);padding-right:40px}.bal-segment-item__button--checked:not(.bal-segment-item__button--vertical){padding-left:26px;padding-right:12px}@media (hover: hover)and (pointer: fine){.bal-segment-item:not(.bal-segment-item--disabled):hover .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-checked-hovered)}}.bal-segment-item:not(.bal-segment-item--disabled):active .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-checked-pressed)}.bal-segment--keyboard .bal-segment-item__button:not(.bal-segment-item__button--disabled):focus-visible,.bal-segment--keyboard .bal-segment-item__button--focused:not(.bal-segment-item__button--disabled){border-color:var(--bal-segment-item-focus-border);border-width:var(--bal-border-width-normal);border-style:solid;-webkit-transition:border 300ms ease-in-out;transition:border 300ms ease-in-out}.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled) .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid)}@media (hover: hover)and (pointer: fine){.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled):hover .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid-hovered)}}.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled):active .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid-pressed)}.bal-segment-item__button--invalid.bal-segment-item__button--checked{color:var(--bal-color-text-white)}.bal-segment-item__button--disabled{background:rgba(0,0,0,0);color:var(--bal-segment-item-text-color-disabled)}.bal-segment-item__button--disabled.bal-segment-item__button--checked{background:var(--bal-segment-item-indicator-background-disabled);color:var(--bal-segment-item-text-color-disabled-checked)}.bal-segment-item__button__slot--hidden{display:none !important}";
321
362
  const BalSegmentItemStyle0 = balSegmentItemCss;
322
363
 
323
- let ids = 0;
364
+ let SegmentItemIds = 0;
324
365
  const SegmentItem = class {
325
366
  constructor(hostRef) {
326
367
  index.registerInstance(this, hostRef);
327
- this.balBlur = index.createEvent(this, "balBlur", 7);
328
368
  this.segmentEl = null;
329
369
  this.inheritedAttributes = {};
330
- this.id = ids++;
370
+ this.internalId = SegmentItemIds++;
371
+ this.inputId = `bal-si-${this.internalId}`;
331
372
  this.updateVertical = (ev) => {
332
373
  this.isVertical = ev.detail;
333
374
  };
@@ -335,7 +376,7 @@ const SegmentItem = class {
335
376
  const { segmentEl } = this;
336
377
  if (segmentEl) {
337
378
  if (segmentEl.value === '' || segmentEl.value === undefined || segmentEl.value === null) {
338
- const items = this.items;
379
+ const items = this.allAvailableOptions;
339
380
  if (items.length > 0) {
340
381
  const first = items[0];
341
382
  this.isFocusable = first === this.el;
@@ -348,6 +389,9 @@ const SegmentItem = class {
348
389
  if (segmentEl.disabled) {
349
390
  this.disabled = true;
350
391
  }
392
+ this.isLast = segmentEl.lastElementChild === this.el;
393
+ this.isFirst = segmentEl.firstElementChild === this.el;
394
+ this.calculateEmptyValue();
351
395
  }
352
396
  };
353
397
  this.onSlottedItemsChange = () => {
@@ -361,23 +405,35 @@ const SegmentItem = class {
361
405
  this.hasSlotContent = false;
362
406
  this.isFocusable = false;
363
407
  this.isVertical = false;
408
+ this.isLast = false;
409
+ this.isFirst = false;
410
+ this.hasEmptyValue = true;
411
+ this.ariaForm = form.defaultBalAriaForm;
364
412
  this.disabled = false;
365
413
  this.invalid = false;
366
414
  this.focused = false;
367
415
  this.checked = false;
368
416
  this.label = '';
369
- this.value = 'bal-si-' + this.id;
417
+ this.value = 'bal-si-' + this.internalId;
370
418
  }
371
- valueChanged() {
372
- this.updateState();
419
+ valueChanged(newValue, oldValue) {
420
+ if (newValue !== oldValue) {
421
+ this.updateState();
422
+ }
373
423
  }
374
- connectedCallback() {
424
+ componentWillLoad() {
425
+ this.inheritedAttributes = Object.assign({}, attributes.inheritAttributes(this.el, ['aria-label']));
426
+ }
427
+ componentDidLoad() {
375
428
  const segmentEl = (this.segmentEl = this.el.closest('bal-segment'));
376
429
  if (segmentEl) {
377
- this.updateState();
378
430
  helpers.addEventListener(segmentEl, 'balSelect', this.updateState);
379
431
  helpers.addEventListener(segmentEl, 'balVertical', this.updateVertical);
380
432
  }
433
+ helpers.raf(() => {
434
+ this.checkSlotContent();
435
+ this.updateState();
436
+ });
381
437
  }
382
438
  disconnectedCallback() {
383
439
  const segmentEl = this.segmentEl;
@@ -387,11 +443,14 @@ const SegmentItem = class {
387
443
  this.segmentEl = null;
388
444
  }
389
445
  }
390
- componentWillLoad() {
391
- this.inheritedAttributes = Object.assign({}, attributes.inheritAttributes(this.el, ['aria-label']));
392
- }
393
- componentDidLoad() {
394
- helpers.raf(() => this.checkSlotContent());
446
+ calculateEmptyValue() {
447
+ if (this.segmentEl) {
448
+ const segments = Array.from(this.segmentEl.querySelectorAll('bal-segment-item'));
449
+ this.hasEmptyValue = !segments.some(item => item.value === this.segmentEl.value);
450
+ }
451
+ else {
452
+ this.hasEmptyValue = false;
453
+ }
395
454
  }
396
455
  /**
397
456
  * @internal
@@ -404,54 +463,47 @@ const SegmentItem = class {
404
463
  nativeEl.focus();
405
464
  }
406
465
  }
407
- get items() {
408
- return this.allItems.filter(item => !item.disabled);
466
+ /**
467
+ * @internal
468
+ */
469
+ async setAriaForm(ariaForm) {
470
+ this.ariaForm = Object.assign({}, ariaForm);
471
+ }
472
+ get allAvailableOptions() {
473
+ return this.allOptions.filter(item => !item.disabled);
409
474
  }
410
- get allItems() {
475
+ get allOptions() {
411
476
  const { segmentEl } = this;
412
477
  if (segmentEl) {
413
478
  return Array.from(segmentEl.querySelectorAll('bal-segment-item'));
414
479
  }
415
480
  return [];
416
481
  }
417
- isFirst() {
418
- const { segmentEl } = this;
419
- let items = this.items;
420
- if (segmentEl && segmentEl.disabled) {
421
- items = this.allItems;
422
- }
423
- if (items.length > 0) {
424
- const first = items[0];
425
- return first === this.el;
426
- }
427
- return false;
428
- }
429
- isLast() {
430
- const { segmentEl } = this;
431
- let items = this.items;
432
- if (segmentEl && segmentEl.disabled) {
433
- items = this.allItems;
434
- }
435
- if (items.length > 0) {
436
- const last = items[items.length - 1];
437
- return last === this.el;
438
- }
439
- return false;
440
- }
441
482
  checkSlotContent() {
442
483
  const slot = this.el.querySelector('[part="slot"]');
443
484
  const children = slot ? slot.innerHTML.trim() : '';
444
485
  this.hasSlotContent = children.length > 0;
445
486
  }
446
487
  render() {
447
- const { checked, focused, segmentEl, label, isFocusable } = this;
488
+ const { checked, focused, segmentEl, label, isFocusable, isFirst, hasEmptyValue } = this;
448
489
  const block = bem.BEM.block('segment-item');
449
490
  const buttonBem = block.element('button');
450
491
  const indicatorBem = block.element('indicator');
451
492
  const invalid = this.invalid || (segmentEl && segmentEl.invalid);
452
493
  const disabled = this.disabled || (segmentEl && segmentEl.disabled);
453
494
  const vertical = this.isVertical;
454
- return (index.h(index.Host, { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('vertical').class(vertical)), block.modifier('disabled').class(disabled)), block.modifier('checked').class(checked)), block.modifier('invalid').class(invalid)), block.modifier('line').class(!this.isFirst() && !checked)), block.modifier('last').class(this.isLast() && !checked)) }, index.h("button", Object.assign({ role: "radio", "aria-checked": checked ? 'true' : 'false', class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonBem.class()), buttonBem.modifier('checked').class(checked)), buttonBem.modifier('invalid').class(invalid)), buttonBem.modifier('disabled').class(disabled)), buttonBem.modifier('focused').class(focused)), buttonBem.modifier('vertical').class(vertical)), "aria-labelledby": `bal-si-${this.id}-label`, type: 'button', tabIndex: isFocusable ? 0 : -1, part: "native", onBlur: ev => this.balBlur.emit(ev), disabled: disabled, ref: el => (this.nativeEl = el) }, this.inheritedAttributes), index.h("bal-icon", { name: "check", size: "small", class: Object.assign(Object.assign(Object.assign({}, buttonBem.element('icon').class()), buttonBem.element('icon').modifier('animated').class(checked)), buttonBem.element('icon').modifier('vertical').class(vertical)), color: disabled ? 'grey-dark' : invalid ? 'white' : 'primary' }), index.h("bal-stack", { space: "x-small", layout: 'horizontal' }, index.h("bal-content", { space: "none" }, index.h("bal-label", { htmlId: `bal-si-${this.id}-label` }, label), index.h("span", { part: "slot", class: Object.assign({}, buttonBem.element('slot').modifier('hidden').class(!this.hasSlotContent)) }, ' ', index.h("slot", { onSlotchange: this.onSlottedItemsChange }))))), index.h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, indicatorBem.class()), indicatorBem.modifier('animated').class()), indicatorBem.modifier('background').class()), indicatorBem.modifier('disabled').class(disabled)), indicatorBem.modifier('invalid').class(invalid)), indicatorBem.modifier('checked').class(checked)), indicatorBem.modifier('vertical').class(vertical)) })));
495
+ const hasTabindex = (hasEmptyValue && isFirst) || (isFocusable && !disabled);
496
+ const id = (hasTabindex && this.ariaForm.controlId) || this.inputId;
497
+ let buttonAttributes = {};
498
+ if (hasTabindex) {
499
+ let labelId = this.ariaForm.labelId || null;
500
+ labelId = `${labelId || ''} ${id}-lbl`.trim();
501
+ buttonAttributes = {
502
+ 'aria-labelledby': labelId,
503
+ 'aria-describedby': this.ariaForm.messageId,
504
+ };
505
+ }
506
+ return (index.h(index.Host, { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('vertical').class(vertical)), block.modifier('disabled').class(disabled)), block.modifier('checked').class(checked)), block.modifier('invalid').class(invalid)), block.modifier('last').class(this.isLast && !checked)) }, index.h("button", Object.assign({ id: id, role: "radio", "aria-checked": checked ? 'true' : 'false' }, buttonAttributes, { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonBem.class()), buttonBem.modifier('checked').class(checked)), buttonBem.modifier('invalid').class(invalid)), buttonBem.modifier('disabled').class(disabled)), buttonBem.modifier('focused').class(focused)), buttonBem.modifier('vertical').class(vertical)), type: 'button', tabIndex: hasTabindex ? 0 : -1, part: "native", disabled: disabled, ref: el => (this.nativeEl = el) }, this.inheritedAttributes), index.h("bal-icon", { name: "check", size: "small", class: Object.assign(Object.assign(Object.assign({}, buttonBem.element('icon').class()), buttonBem.element('icon').modifier('animated').class(checked)), buttonBem.element('icon').modifier('vertical').class(vertical)), color: disabled ? 'grey-dark' : invalid ? 'white' : 'primary' }), index.h("bal-stack", { space: "x-small", layout: 'horizontal' }, index.h("bal-content", { space: "none" }, index.h("bal-label", { htmlId: `bal-si-${this.internalId}-label` }, label), index.h("span", { part: "slot", class: Object.assign({}, buttonBem.element('slot').modifier('hidden').class(!this.hasSlotContent)) }, ' ', index.h("slot", { onSlotchange: this.onSlottedItemsChange }))))), index.h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, indicatorBem.class()), indicatorBem.modifier('animated').class()), indicatorBem.modifier('background').class()), indicatorBem.modifier('disabled').class(disabled)), indicatorBem.modifier('invalid').class(invalid)), indicatorBem.modifier('checked').class(checked)), indicatorBem.modifier('vertical').class(vertical)) })));
455
507
  }
456
508
  get el() { return index.getElement(this); }
457
509
  static get watchers() { return {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-219b2f52.js');
6
6
  const bem = require('./bem-81bc6a2d.js');
7
- const tokens_esm = require('./tokens.esm-abb7c10c.js');
7
+ const tokens_esm = require('./tokens.esm-cd3fab6c.js');
8
8
 
9
9
  const balShapeCss = ".bal-shape{display:block;overflow:hidden;border-radius:var(--bal-radius-normal);width:66px;height:66px}@media screen and (min-width: 769px),print{.bal-shape{width:120px;height:120px}}@media screen and (min-width: 1024px){.bal-shape{width:198px;height:198px;border-radius:unset}}.bal-shape--is-rotation-0{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.bal-shape--is-rotation-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.bal-shape--is-rotation-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.bal-shape--is-rotation-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}";
10
10
  const BalShapeStyle0 = balShapeCss;
@@ -10,9 +10,9 @@ const log = require('./log-33398c2a.js');
10
10
  const index_esm = require('./index.esm-54a3d84e.js');
11
11
  const formInput = require('./form-input-b61eb894.js');
12
12
  const balStep_util = require('./bal-step.util-3c009db9.js');
13
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
13
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
14
14
  const mutation_decorator = require('./mutation.decorator-af043b68.js');
15
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
15
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
16
16
  require('./browser-1d542d0f.js');
17
17
  require('./icons.constant-7c82086a.js');
18
18
  require('./config.utils-e4cd49d6.js');
@@ -20,7 +20,7 @@ require('./index-e6a233be.js');
20
20
  require('./_commonjsHelpers-68cdf74f.js');
21
21
  require('./device-9f97a845.js');
22
22
  require('./listener-52d2e5fd.js');
23
- require('./tokens.esm-abb7c10c.js');
23
+ require('./tokens.esm-cd3fab6c.js');
24
24
 
25
25
  const StepIcon = ({ item, isMobile }) => {
26
26
  const bemEl = bem.BEM.block('steps').element('nav').element('item').element('icon');
@@ -13,9 +13,9 @@ const balTab_util = require('./bal-tab.util-d0785ef4.js');
13
13
  const formInput = require('./form-input-b61eb894.js');
14
14
  const browser = require('./browser-1d542d0f.js');
15
15
  const style = require('./style-799e9253.js');
16
- const breakpoints_subject = require('./breakpoints.subject-488871c0.js');
16
+ const breakpoints_subject = require('./breakpoints.subject-6fc372a8.js');
17
17
  const mutation_decorator = require('./mutation.decorator-af043b68.js');
18
- const breakpoints_decorator = require('./breakpoints.decorator-b125d386.js');
18
+ const breakpoints_decorator = require('./breakpoints.decorator-f4da1834.js');
19
19
  const resize_decorator = require('./resize.decorator-ae91ead2.js');
20
20
  const config_decorator = require('./config.decorator-b393a72f.js');
21
21
  require('./index-e6a233be.js');
@@ -24,7 +24,7 @@ require('./icons.constant-7c82086a.js');
24
24
  require('./config.utils-e4cd49d6.js');
25
25
  require('./device-9f97a845.js');
26
26
  require('./listener-52d2e5fd.js');
27
- require('./tokens.esm-abb7c10c.js');
27
+ require('./tokens.esm-cd3fab6c.js');
28
28
 
29
29
  const TabItem = class {
30
30
  constructor(hostRef) {