@telesign/boreal-web-components 0.1.0-alpha.4 → 0.1.0-alpha.6

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 (571) hide show
  1. package/components-build/bds-avatar.js +1 -1
  2. package/components-build/bds-badge.js +1 -1
  3. package/components-build/bds-banner.js +1 -1
  4. package/components-build/bds-breadcrumb-item.d.ts +11 -0
  5. package/components-build/bds-breadcrumb-item.js +1 -0
  6. package/components-build/bds-breadcrumb.d.ts +11 -0
  7. package/components-build/bds-breadcrumb.js +1 -0
  8. package/components-build/bds-button-group.d.ts +11 -0
  9. package/components-build/bds-button-group.js +1 -0
  10. package/components-build/bds-button.js +1 -1
  11. package/components-build/bds-checkbox-button.d.ts +11 -0
  12. package/components-build/bds-checkbox-button.js +1 -0
  13. package/components-build/bds-checkbox-card.d.ts +11 -0
  14. package/components-build/bds-checkbox-card.js +1 -0
  15. package/components-build/bds-checkbox-group.d.ts +11 -0
  16. package/components-build/bds-checkbox-group.js +1 -0
  17. package/components-build/bds-checkbox.js +1 -1
  18. package/components-build/bds-dialog.js +1 -1
  19. package/components-build/bds-divider.js +1 -1
  20. package/components-build/bds-flag.js +1 -1
  21. package/components-build/bds-grid-item.js +1 -1
  22. package/components-build/bds-grid.js +1 -1
  23. package/components-build/bds-list-menu-item.js +1 -1
  24. package/components-build/bds-list-menu.js +1 -1
  25. package/components-build/bds-popover.js +1 -1
  26. package/components-build/bds-radio-button.d.ts +11 -0
  27. package/components-build/bds-radio-button.js +1 -0
  28. package/components-build/bds-radio-card.d.ts +11 -0
  29. package/components-build/bds-radio-card.js +1 -0
  30. package/components-build/bds-radio-group.d.ts +11 -0
  31. package/components-build/bds-radio-group.js +1 -0
  32. package/components-build/bds-radio.d.ts +11 -0
  33. package/components-build/bds-radio.js +1 -0
  34. package/components-build/bds-select.d.ts +11 -0
  35. package/components-build/bds-select.js +1 -0
  36. package/components-build/bds-slider.d.ts +11 -0
  37. package/components-build/bds-slider.js +1 -0
  38. package/components-build/bds-spinner.js +1 -1
  39. package/components-build/bds-status.js +1 -1
  40. package/components-build/bds-tag.js +1 -1
  41. package/components-build/bds-text-field.js +1 -1
  42. package/components-build/bds-toggle.js +1 -1
  43. package/components-build/bds-tooltip.js +1 -1
  44. package/components-build/bds-typography.js +1 -1
  45. package/components-build/index.js +1 -1
  46. package/components-build/p-B6e9eIHB.js +1 -0
  47. package/components-build/p-CJBdGD_4.js +1 -0
  48. package/components-build/p-CPvuMm5C.js +1 -0
  49. package/components-build/p-DcR7mHFE.js +1 -0
  50. package/components-build/p-DdOPD9wW.js +1 -0
  51. package/components-build/p-DfaYciGa.js +1 -0
  52. package/components-build/p-Dh8DSJs_.js +1 -0
  53. package/components-build/p-DoNZM78n.js +1 -0
  54. package/components-build/p-DrkDx75U.js +1 -0
  55. package/components-build/p-DuBzr05c.js +1 -0
  56. package/components-build/p-PmjPRW8X.js +1 -0
  57. package/components-build/p-cgdh1LO-.js +1 -0
  58. package/{dist/boreal-web-components/p-CaHOghy5.js → components-build/p-fUK0GCeC.js} +1 -1
  59. package/components-build/p-nxYzL9uu.js +1 -0
  60. package/components-build/p-yLNcMg2E.js +1 -0
  61. package/custom-elements.json +5078 -1524
  62. package/dist/boreal-web-components/boreal-web-components.esm.js +1 -1
  63. package/dist/boreal-web-components/css/boreal.css +60 -0
  64. package/dist/boreal-web-components/css/theme-connect.css +15 -0
  65. package/dist/boreal-web-components/css/theme-engage.css +15 -0
  66. package/dist/boreal-web-components/css/theme-protect.css +15 -0
  67. package/dist/boreal-web-components/css/theme-proximus.css +15 -0
  68. package/dist/boreal-web-components/p-02e53626.entry.js +1 -0
  69. package/dist/boreal-web-components/p-0357450d.system.entry.js +1 -0
  70. package/dist/boreal-web-components/{p-e0bf8a6e.entry.js → p-1250ba53.entry.js} +1 -1
  71. package/dist/boreal-web-components/p-1911b978.entry.js +1 -0
  72. package/dist/boreal-web-components/{p-2158a7cd.entry.js → p-19f9352d.entry.js} +1 -1
  73. package/dist/boreal-web-components/p-1mOd23lT.system.js +1 -0
  74. package/dist/boreal-web-components/{p-52600375.system.entry.js → p-25823f7d.system.entry.js} +1 -1
  75. package/dist/boreal-web-components/p-2db71382.system.entry.js +1 -0
  76. package/dist/boreal-web-components/{p-251d35df.system.entry.js → p-365e8e5c.system.entry.js} +1 -1
  77. package/dist/boreal-web-components/p-367e40f9.entry.js +1 -0
  78. package/dist/boreal-web-components/p-3946d587.entry.js +1 -0
  79. package/dist/boreal-web-components/p-44b6fe6c.system.entry.js +1 -0
  80. package/dist/boreal-web-components/{p-7a4efddd.system.entry.js → p-48712a63.system.entry.js} +1 -1
  81. package/dist/boreal-web-components/{p-251b3002.entry.js → p-49ea207a.entry.js} +1 -1
  82. package/dist/boreal-web-components/p-4b028406.entry.js +1 -0
  83. package/dist/boreal-web-components/p-4b615de8.system.entry.js +1 -0
  84. package/dist/boreal-web-components/{p-edca16b6.system.entry.js → p-4f431941.system.entry.js} +1 -1
  85. package/dist/boreal-web-components/p-524421f7.system.entry.js +1 -0
  86. package/dist/boreal-web-components/p-530c8c7f.entry.js +1 -0
  87. package/dist/boreal-web-components/p-55aeff0c.system.entry.js +1 -0
  88. package/dist/boreal-web-components/p-5c8650b3.system.entry.js +1 -0
  89. package/dist/boreal-web-components/p-5e590291.system.entry.js +1 -0
  90. package/dist/boreal-web-components/p-5ee0841f.entry.js +1 -0
  91. package/dist/boreal-web-components/{p-871c9a9f.system.entry.js → p-65923619.system.entry.js} +1 -1
  92. package/dist/boreal-web-components/p-66ec16d9.entry.js +1 -0
  93. package/dist/boreal-web-components/{p-127a4134.entry.js → p-714bf70d.entry.js} +1 -1
  94. package/dist/boreal-web-components/{p-66360e63.entry.js → p-71ed1e1d.entry.js} +1 -1
  95. package/dist/boreal-web-components/{p-b12d4788.system.entry.js → p-732e98f1.system.entry.js} +1 -1
  96. package/dist/boreal-web-components/p-7626338e.system.entry.js +1 -0
  97. package/dist/boreal-web-components/{p-80822731.system.entry.js → p-77658a5b.system.entry.js} +1 -1
  98. package/dist/boreal-web-components/p-7G4h4DI7.js +1 -0
  99. package/dist/boreal-web-components/p-800fc096.system.entry.js +1 -0
  100. package/dist/boreal-web-components/p-824485ad.entry.js +1 -0
  101. package/dist/boreal-web-components/p-8dfe3a9f.entry.js +1 -0
  102. package/dist/boreal-web-components/p-90022071.entry.js +1 -0
  103. package/dist/boreal-web-components/{p-1d1bb9d2.entry.js → p-9d02057d.entry.js} +1 -1
  104. package/dist/boreal-web-components/p-C-g3hhl_.system.js +1 -0
  105. package/dist/boreal-web-components/p-C0P3gzq5.system.js +1 -0
  106. package/dist/boreal-web-components/p-C4HM8wQe.js +1 -0
  107. package/dist/boreal-web-components/p-CPvuMm5C.js +1 -0
  108. package/dist/boreal-web-components/p-CRMH6mfq.system.js +1 -0
  109. package/dist/boreal-web-components/p-CU_dRLdk.system.js +1 -0
  110. package/dist/boreal-web-components/p-CW4-dkCF.system.js +1 -0
  111. package/dist/boreal-web-components/p-CcENtewr.js +1 -0
  112. package/dist/boreal-web-components/{p-BuxZeJbu.system.js → p-DSU8tkVw.system.js} +1 -1
  113. package/dist/boreal-web-components/p-DfaYciGa.js +1 -0
  114. package/dist/boreal-web-components/p-Dk9dfU9-.system.js +1 -0
  115. package/dist/boreal-web-components/p-DlVzZK7o.js +1 -0
  116. package/dist/boreal-web-components/p-DnIhjwCH.system.js +1 -0
  117. package/dist/boreal-web-components/p-Dwo1hcd9.js +1 -0
  118. package/dist/boreal-web-components/p-K7DvMlRo.system.js +1 -0
  119. package/{components-build/p-CaHOghy5.js → dist/boreal-web-components/p-U9yfbs7i.js} +1 -1
  120. package/dist/boreal-web-components/p-UEj9YHof.system.js +1 -0
  121. package/dist/boreal-web-components/p-b54fe67f.system.entry.js +1 -0
  122. package/dist/boreal-web-components/p-bbcd3a30.system.entry.js +1 -0
  123. package/dist/boreal-web-components/p-bea25d3d.system.entry.js +1 -0
  124. package/dist/boreal-web-components/p-bed506d3.entry.js +1 -0
  125. package/dist/boreal-web-components/p-bfd62034.system.entry.js +1 -0
  126. package/dist/boreal-web-components/p-c07d6b82.system.entry.js +1 -0
  127. package/dist/boreal-web-components/p-cc5c359f.entry.js +1 -0
  128. package/dist/boreal-web-components/p-cgdh1LO-.js +1 -0
  129. package/dist/boreal-web-components/p-d2b6ae79.entry.js +1 -0
  130. package/dist/boreal-web-components/{p-695d0830.entry.js → p-dc7d429c.entry.js} +1 -1
  131. package/dist/boreal-web-components/p-e21b8416.entry.js +1 -0
  132. package/dist/boreal-web-components/p-e4364a44.system.entry.js +1 -0
  133. package/dist/boreal-web-components/p-e51407b2.system.entry.js +1 -0
  134. package/dist/boreal-web-components/p-e8cde179.system.entry.js +1 -0
  135. package/dist/boreal-web-components/p-eecc3028.system.entry.js +1 -0
  136. package/dist/boreal-web-components/p-f3bd824d.system.entry.js +1 -0
  137. package/dist/boreal-web-components/{p-44ceff4e.system.entry.js → p-f65e9d0c.system.entry.js} +1 -1
  138. package/dist/boreal-web-components/p-f6eabb16.entry.js +1 -0
  139. package/dist/boreal-web-components/p-f7acf6e5.system.entry.js +1 -0
  140. package/dist/boreal-web-components/{p-7db870b7.entry.js → p-f9560509.entry.js} +1 -1
  141. package/dist/boreal-web-components/p-fa128cad.system.entry.js +1 -0
  142. package/dist/boreal-web-components/p-fab1a01d.entry.js +1 -0
  143. package/dist/boreal-web-components/{p-fc24d963.entry.js → p-fb9a0e94.entry.js} +1 -1
  144. package/dist/boreal-web-components/p-fb9ba833.entry.js +1 -0
  145. package/dist/boreal-web-components/p-fbe0c9f2.entry.js +1 -0
  146. package/dist/boreal-web-components/p-fbe88555.entry.js +1 -0
  147. package/dist/boreal-web-components/p-fc1fa966.system.entry.js +1 -0
  148. package/dist/boreal-web-components/p-fc4ffa0e.entry.js +1 -0
  149. package/dist/boreal-web-components/p-fef13445.entry.js +1 -0
  150. package/dist/boreal-web-components/p-iq2UuV7c.js +1 -0
  151. package/dist/boreal-web-components/p-qGhMe8Hk.js +1 -0
  152. package/dist/boreal-web-components/p-vzZJGcYF.system.js +1 -1
  153. package/dist/boreal-web-components/scss/maps/_theme-connect.scss +16 -1
  154. package/dist/boreal-web-components/scss/maps/_theme-engage.scss +16 -1
  155. package/dist/boreal-web-components/scss/maps/_theme-protect.scss +16 -1
  156. package/dist/boreal-web-components/scss/maps/_theme-proximus.scss +16 -1
  157. package/dist/boreal-web-components/scss/variables/_theme-connect.scss +16 -1
  158. package/dist/boreal-web-components/scss/variables/_theme-engage.scss +16 -1
  159. package/dist/boreal-web-components/scss/variables/_theme-protect.scss +16 -1
  160. package/dist/boreal-web-components/scss/variables/_theme-proximus.scss +16 -1
  161. package/dist/cjs/KeyboardController-B_g3peyB.js +1067 -0
  162. package/dist/cjs/Keys-DXn16dlA.js +34 -0
  163. package/dist/cjs/Logger-DnziItRH.js +51 -0
  164. package/dist/cjs/{attributes-wIHueigW.js → attributes-CgRFplrN.js} +3 -0
  165. package/dist/cjs/bds-avatar.cjs.entry.js +2 -2
  166. package/dist/cjs/bds-badge.cjs.entry.js +1 -1
  167. package/dist/cjs/bds-banner.cjs.entry.js +2 -2
  168. package/dist/cjs/bds-breadcrumb-item.cjs.entry.js +106 -0
  169. package/dist/cjs/bds-breadcrumb.cjs.entry.js +127 -0
  170. package/dist/cjs/bds-button-group.cjs.entry.js +116 -0
  171. package/dist/cjs/bds-button.cjs.entry.js +38 -17
  172. package/dist/cjs/bds-checkbox-button.cjs.entry.js +119 -0
  173. package/dist/cjs/bds-checkbox-card.cjs.entry.js +135 -0
  174. package/dist/cjs/bds-checkbox-group.cjs.entry.js +292 -0
  175. package/dist/cjs/bds-checkbox.cjs.entry.js +67 -29
  176. package/dist/cjs/bds-dialog.cjs.entry.js +4 -4
  177. package/dist/cjs/bds-divider.cjs.entry.js +2 -2
  178. package/dist/cjs/bds-flag.cjs.entry.js +1 -1
  179. package/dist/cjs/bds-grid-item.cjs.entry.js +1 -1
  180. package/dist/cjs/bds-grid.cjs.entry.js +1 -1
  181. package/dist/cjs/bds-list-menu-item.cjs.entry.js +59 -23
  182. package/dist/cjs/bds-list-menu.cjs.entry.js +126 -22
  183. package/dist/cjs/bds-popover.cjs.entry.js +15 -6
  184. package/dist/cjs/bds-radio-button.cjs.entry.js +60 -0
  185. package/dist/cjs/bds-radio-card.cjs.entry.js +76 -0
  186. package/dist/cjs/bds-radio-group.cjs.entry.js +291 -0
  187. package/dist/cjs/bds-radio.cjs.entry.js +60 -0
  188. package/dist/cjs/bds-select.cjs.entry.js +394 -0
  189. package/dist/cjs/bds-slider.cjs.entry.js +655 -0
  190. package/dist/cjs/bds-spinner.cjs.entry.js +1 -1
  191. package/dist/cjs/bds-status.cjs.entry.js +1 -1
  192. package/dist/cjs/bds-tag.cjs.entry.js +2 -2
  193. package/dist/cjs/bds-text-field.cjs.entry.js +15 -9
  194. package/dist/cjs/bds-toggle.cjs.entry.js +7 -6
  195. package/dist/cjs/bds-tooltip_2.cjs.entry.js +12 -9
  196. package/dist/cjs/boreal-web-components.cjs.js +1 -1
  197. package/dist/cjs/checkbox-form-association-DTEpHXUD.js +43 -0
  198. package/dist/cjs/coreColors-CQGojc0l.js +10 -0
  199. package/dist/cjs/{enum-DLblRCkQ.js → enum-DeTWfR0D.js} +3 -3
  200. package/dist/cjs/form-associated.mixin-BCR6bj29.js +33 -0
  201. package/dist/cjs/{getOffset-m4hBgyVP.js → getOffset-CsDHFjPW.js} +6 -53
  202. package/dist/cjs/{form-associated.mixin-DXwvF_vW.js → internals-D8x7GMfR.js} +0 -31
  203. package/dist/cjs/loader.cjs.js +1 -1
  204. package/dist/cjs/orientation-DQAIleEJ.js +8 -0
  205. package/dist/collection/collection-manifest.json +18 -6
  206. package/dist/collection/components/actions/bds-button/bds-button.css +55 -55
  207. package/dist/collection/components/actions/bds-button/bds-button.js +35 -11
  208. package/dist/collection/components/actions/bds-button/types/enum.js +3 -3
  209. package/dist/collection/components/actions/bds-button-group/bds-button-group.css +77 -0
  210. package/dist/collection/components/actions/bds-button-group/bds-button-group.js +264 -0
  211. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.css +27 -1
  212. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.js +283 -51
  213. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/enum.js +4 -0
  214. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.css +30 -11
  215. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.js +65 -7
  216. package/dist/collection/components/actions/bds-toggle/bds-toggle.css +3 -3
  217. package/dist/collection/components/actions/bds-toggle/bds-toggle.js +1 -1
  218. package/dist/collection/components/feedback/bds-badge/bds-badge.js +1 -1
  219. package/dist/collection/components/feedback/bds-banner/bds-banner.js +1 -1
  220. package/dist/collection/components/feedback/bds-spinner/bds-spinner.js +1 -1
  221. package/dist/collection/components/feedback/bds-status/bds-status.js +1 -1
  222. package/dist/collection/components/feedback/bds-tag/bds-tag.css +6 -6
  223. package/dist/collection/components/feedback/bds-tag/bds-tag.js +1 -1
  224. package/dist/collection/components/forms/bds-checkbox/bds-checkbox/bds-checkbox.css +132 -0
  225. package/dist/collection/components/forms/bds-checkbox/{bds-checkbox.js → bds-checkbox/bds-checkbox.js} +138 -35
  226. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.css +113 -0
  227. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.js +382 -0
  228. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-card/bds-checkbox-card.css +139 -0
  229. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-card/bds-checkbox-card.js +443 -0
  230. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.css +55 -0
  231. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.js +648 -0
  232. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/enum.js +5 -0
  233. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/index.js +3 -0
  234. package/dist/collection/components/forms/bds-checkbox/utils/checkbox-form-association.js +39 -0
  235. package/dist/collection/components/forms/bds-checkbox/utils/index.js +1 -0
  236. package/dist/collection/components/forms/bds-flag/bds-flag.js +1 -1
  237. package/dist/collection/components/forms/bds-radio/bds-radio/bds-radio.css +121 -0
  238. package/dist/collection/components/forms/bds-radio/bds-radio/bds-radio.js +238 -0
  239. package/dist/collection/components/forms/bds-radio/bds-radio/types/IRadio.js +1 -0
  240. package/dist/collection/components/forms/bds-radio/bds-radio-button/bds-radio-button.css +113 -0
  241. package/dist/collection/components/forms/bds-radio/bds-radio-button/bds-radio-button.js +238 -0
  242. package/dist/collection/components/forms/bds-radio/bds-radio-button/types/IRadioButton.js +1 -0
  243. package/dist/collection/components/forms/bds-radio/bds-radio-card/bds-radio-card.css +156 -0
  244. package/dist/collection/components/forms/bds-radio/bds-radio-card/bds-radio-card.js +307 -0
  245. package/dist/collection/components/forms/bds-radio/bds-radio-card/types/IRadioCard.js +1 -0
  246. package/dist/collection/components/forms/bds-radio/bds-radio-group/bds-radio-group.css +55 -0
  247. package/dist/collection/components/forms/bds-radio/bds-radio-group/bds-radio-group.js +648 -0
  248. package/dist/collection/components/forms/bds-radio/bds-radio-group/types/IRadioGroup.js +1 -0
  249. package/dist/collection/components/forms/bds-radio/bds-radio-group/types/enum.js +5 -0
  250. package/dist/collection/components/forms/bds-radio/bds-radio-group/types/types.js +1 -0
  251. package/dist/collection/components/forms/bds-select/bds-select.css +23 -0
  252. package/dist/collection/components/forms/bds-select/bds-select.js +431 -0
  253. package/dist/collection/components/forms/bds-select/types/ISelect.js +1 -0
  254. package/dist/collection/components/forms/bds-slider/bds-slider.css +213 -0
  255. package/dist/collection/components/forms/bds-slider/bds-slider.js +847 -0
  256. package/dist/collection/components/forms/bds-slider/helpers/SliderDOMController.js +61 -0
  257. package/dist/collection/components/forms/bds-slider/helpers/SliderService.js +93 -0
  258. package/dist/collection/components/forms/bds-slider/helpers/index.js +3 -0
  259. package/dist/collection/components/forms/bds-slider/helpers/parseValues.js +43 -0
  260. package/dist/collection/components/forms/bds-slider/types/ChangeDetail.js +1 -0
  261. package/dist/collection/components/forms/bds-slider/types/ISlider.js +1 -0
  262. package/dist/collection/components/forms/bds-slider/types/ISliderOptions.js +1 -0
  263. package/dist/collection/components/forms/bds-slider/types/enum.js +16 -0
  264. package/dist/collection/components/forms/bds-slider/types/index.js +5 -0
  265. package/dist/collection/components/forms/bds-slider/types/types.js +1 -0
  266. package/dist/collection/components/forms/bds-text-field/bds-text-field.css +10 -3
  267. package/dist/collection/components/forms/bds-text-field/bds-text-field.js +47 -2
  268. package/dist/collection/components/helpers/{bds-divider.css → bds-divider/bds-divider.css} +12 -4
  269. package/dist/collection/components/helpers/{bds-divider.js → bds-divider/bds-divider.js} +3 -3
  270. package/dist/collection/components/helpers/bds-divider/types/IDivider.js +1 -0
  271. package/dist/collection/components/helpers/bds-divider/types/types.js +1 -0
  272. package/dist/collection/components/images-icons/bds-avatar/bds-avatar.js +1 -1
  273. package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.js +3 -3
  274. package/dist/collection/components/layouts/bds-grid/bds-grid/types/IGrid.js +1 -0
  275. package/dist/collection/components/layouts/bds-grid/bds-grid/types/types.js +1 -0
  276. package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.js +9 -9
  277. package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/IGridItem.js +1 -0
  278. package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/types.js +1 -0
  279. package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.css +21 -0
  280. package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.js +292 -0
  281. package/dist/collection/components/navigation/bds-breadcrumb/types/IBreadcrumb.js +1 -0
  282. package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.css +64 -0
  283. package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.js +369 -0
  284. package/dist/collection/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.js +1 -0
  285. package/dist/collection/components/overlays/bds-dialog/bds-dialog.css +1 -1
  286. package/dist/collection/components/overlays/bds-dialog/bds-dialog.js +2 -2
  287. package/dist/collection/components/overlays/bds-popover/bds-popover.js +49 -3
  288. package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.js +3 -3
  289. package/dist/collection/components/titles-text/bds-typography/bds-typography.css +5 -0
  290. package/dist/collection/components/titles-text/bds-typography/bds-typography.js +30 -47
  291. package/dist/collection/components/titles-text/bds-typography/utils/bds-typography-utils.js +1 -1
  292. package/dist/collection/css/boreal.css +60 -0
  293. package/dist/collection/css/theme-connect.css +15 -0
  294. package/dist/collection/css/theme-engage.css +15 -0
  295. package/dist/collection/css/theme-protect.css +15 -0
  296. package/dist/collection/css/theme-proximus.css +15 -0
  297. package/dist/collection/mixins/anchored.mixin.js +2 -2
  298. package/dist/collection/mixins/links.mixin.js +1 -2
  299. package/dist/collection/mixins/menu-behavior.mixin.js +12 -6
  300. package/dist/collection/scss/maps/_theme-connect.scss +16 -1
  301. package/dist/collection/scss/maps/_theme-engage.scss +16 -1
  302. package/dist/collection/scss/maps/_theme-protect.scss +16 -1
  303. package/dist/collection/scss/maps/_theme-proximus.scss +16 -1
  304. package/dist/collection/scss/variables/_theme-connect.scss +16 -1
  305. package/dist/collection/scss/variables/_theme-engage.scss +16 -1
  306. package/dist/collection/scss/variables/_theme-protect.scss +16 -1
  307. package/dist/collection/scss/variables/_theme-proximus.scss +16 -1
  308. package/dist/collection/types/index.js +2 -1
  309. package/dist/collection/types/orientation.js +4 -0
  310. package/dist/collection/utils/a11y/index.js +4 -0
  311. package/dist/collection/utils/a11y/keyboard/KeyboardController.js +566 -0
  312. package/dist/collection/utils/a11y/keyboard/_constants.js +30 -0
  313. package/dist/collection/utils/a11y/keyboard/focus/aria-activedescendant.js +41 -0
  314. package/dist/collection/utils/a11y/keyboard/focus/resolve.js +48 -0
  315. package/dist/collection/utils/a11y/keyboard/focus/roving-tabindex.js +55 -0
  316. package/dist/collection/utils/a11y/keyboard/navigation/grid-navigation.js +194 -0
  317. package/dist/collection/utils/a11y/keyboard/navigation/linear-navigation.js +137 -0
  318. package/dist/collection/utils/a11y/keyboard/types/IKeyboardController.js +1 -0
  319. package/dist/collection/utils/a11y/keyboard/types/index.js +2 -0
  320. package/dist/collection/utils/a11y/keyboard/types/types.js +1 -0
  321. package/dist/collection/utils/constants/common/Keys.js +29 -24
  322. package/dist/collection/utils/dom/elements.js +63 -0
  323. package/dist/collection/utils/menu/menu-item.utils.js +9 -8
  324. package/dist/collection/utils/testing/helpers.js +10 -0
  325. package/dist/css/boreal.css +60 -0
  326. package/dist/css/theme-connect.css +15 -0
  327. package/dist/css/theme-engage.css +15 -0
  328. package/dist/css/theme-protect.css +15 -0
  329. package/dist/css/theme-proximus.css +15 -0
  330. package/dist/esm/KeyboardController-DcnXb5F5.js +1064 -0
  331. package/dist/esm/Keys-7G4h4DI7.js +31 -0
  332. package/dist/esm/Logger-iq2UuV7c.js +49 -0
  333. package/dist/esm/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +3 -0
  334. package/dist/esm/bds-avatar.entry.js +2 -2
  335. package/dist/esm/bds-badge.entry.js +1 -1
  336. package/dist/esm/bds-banner.entry.js +2 -2
  337. package/dist/esm/bds-breadcrumb-item.entry.js +104 -0
  338. package/dist/esm/bds-breadcrumb.entry.js +125 -0
  339. package/dist/esm/bds-button-group.entry.js +114 -0
  340. package/dist/esm/bds-button.entry.js +36 -15
  341. package/dist/esm/bds-checkbox-button.entry.js +117 -0
  342. package/dist/esm/bds-checkbox-card.entry.js +133 -0
  343. package/dist/esm/bds-checkbox-group.entry.js +290 -0
  344. package/dist/esm/bds-checkbox.entry.js +67 -29
  345. package/dist/esm/bds-dialog.entry.js +4 -4
  346. package/dist/esm/bds-divider.entry.js +2 -2
  347. package/dist/esm/bds-flag.entry.js +1 -1
  348. package/dist/esm/bds-grid-item.entry.js +1 -1
  349. package/dist/esm/bds-grid.entry.js +1 -1
  350. package/dist/esm/bds-list-menu-item.entry.js +59 -23
  351. package/dist/esm/bds-list-menu.entry.js +126 -22
  352. package/dist/esm/bds-popover.entry.js +15 -6
  353. package/dist/esm/bds-radio-button.entry.js +58 -0
  354. package/dist/esm/bds-radio-card.entry.js +74 -0
  355. package/dist/esm/bds-radio-group.entry.js +289 -0
  356. package/dist/esm/bds-radio.entry.js +58 -0
  357. package/dist/esm/bds-select.entry.js +392 -0
  358. package/dist/esm/bds-slider.entry.js +653 -0
  359. package/dist/esm/bds-spinner.entry.js +1 -1
  360. package/dist/esm/bds-status.entry.js +1 -1
  361. package/dist/esm/bds-tag.entry.js +2 -2
  362. package/dist/esm/bds-text-field.entry.js +10 -4
  363. package/dist/esm/bds-toggle.entry.js +5 -4
  364. package/dist/esm/bds-tooltip_2.entry.js +12 -9
  365. package/dist/esm/boreal-web-components.js +1 -1
  366. package/dist/esm/checkbox-form-association-cgdh1LO-.js +41 -0
  367. package/dist/esm/coreColors-Dwo1hcd9.js +8 -0
  368. package/dist/esm/{enum-C8mRvnTA.js → enum-DlVzZK7o.js} +4 -4
  369. package/dist/esm/form-associated.mixin-C4HM8wQe.js +31 -0
  370. package/dist/esm/{getOffset-DKPjeBHi.js → getOffset-DCLpJBcp.js} +4 -51
  371. package/dist/esm/{form-associated.mixin-CvK2d92c.js → internals-DfaYciGa.js} +1 -31
  372. package/dist/esm/loader.js +1 -1
  373. package/dist/esm/orientation-CPvuMm5C.js +6 -0
  374. package/dist/esm-es5/KeyboardController-DcnXb5F5.js +1 -0
  375. package/dist/esm-es5/Keys-7G4h4DI7.js +1 -0
  376. package/dist/esm-es5/Logger-iq2UuV7c.js +1 -0
  377. package/dist/esm-es5/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +1 -1
  378. package/dist/esm-es5/bds-avatar.entry.js +1 -1
  379. package/dist/esm-es5/bds-badge.entry.js +1 -1
  380. package/dist/esm-es5/bds-banner.entry.js +1 -1
  381. package/dist/esm-es5/bds-breadcrumb-item.entry.js +1 -0
  382. package/dist/esm-es5/bds-breadcrumb.entry.js +1 -0
  383. package/dist/esm-es5/bds-button-group.entry.js +1 -0
  384. package/dist/esm-es5/bds-button.entry.js +1 -1
  385. package/dist/esm-es5/bds-checkbox-button.entry.js +1 -0
  386. package/dist/esm-es5/bds-checkbox-card.entry.js +1 -0
  387. package/dist/esm-es5/bds-checkbox-group.entry.js +1 -0
  388. package/dist/esm-es5/bds-checkbox.entry.js +1 -1
  389. package/dist/esm-es5/bds-dialog.entry.js +1 -1
  390. package/dist/esm-es5/bds-divider.entry.js +1 -1
  391. package/dist/esm-es5/bds-flag.entry.js +1 -1
  392. package/dist/esm-es5/bds-grid-item.entry.js +1 -1
  393. package/dist/esm-es5/bds-grid.entry.js +1 -1
  394. package/dist/esm-es5/bds-list-menu-item.entry.js +1 -1
  395. package/dist/esm-es5/bds-list-menu.entry.js +1 -1
  396. package/dist/esm-es5/bds-popover.entry.js +1 -1
  397. package/dist/esm-es5/bds-radio-button.entry.js +1 -0
  398. package/dist/esm-es5/bds-radio-card.entry.js +1 -0
  399. package/dist/esm-es5/bds-radio-group.entry.js +1 -0
  400. package/dist/esm-es5/bds-radio.entry.js +1 -0
  401. package/dist/esm-es5/bds-select.entry.js +1 -0
  402. package/dist/esm-es5/bds-slider.entry.js +1 -0
  403. package/dist/esm-es5/bds-spinner.entry.js +1 -1
  404. package/dist/esm-es5/bds-status.entry.js +1 -1
  405. package/dist/esm-es5/bds-tag.entry.js +1 -1
  406. package/dist/esm-es5/bds-text-field.entry.js +1 -1
  407. package/dist/esm-es5/bds-toggle.entry.js +1 -1
  408. package/dist/esm-es5/bds-tooltip_2.entry.js +1 -1
  409. package/dist/esm-es5/boreal-web-components.js +1 -1
  410. package/dist/esm-es5/checkbox-form-association-cgdh1LO-.js +1 -0
  411. package/dist/esm-es5/coreColors-Dwo1hcd9.js +1 -0
  412. package/dist/esm-es5/enum-DlVzZK7o.js +1 -0
  413. package/dist/esm-es5/form-associated.mixin-C4HM8wQe.js +1 -0
  414. package/dist/esm-es5/getOffset-DCLpJBcp.js +1 -0
  415. package/dist/esm-es5/internals-DfaYciGa.js +1 -0
  416. package/dist/esm-es5/loader.js +1 -1
  417. package/dist/esm-es5/orientation-CPvuMm5C.js +1 -0
  418. package/dist/scss/maps/_theme-connect.scss +16 -1
  419. package/dist/scss/maps/_theme-engage.scss +16 -1
  420. package/dist/scss/maps/_theme-protect.scss +16 -1
  421. package/dist/scss/maps/_theme-proximus.scss +16 -1
  422. package/dist/scss/variables/_theme-connect.scss +16 -1
  423. package/dist/scss/variables/_theme-engage.scss +16 -1
  424. package/dist/scss/variables/_theme-protect.scss +16 -1
  425. package/dist/scss/variables/_theme-proximus.scss +16 -1
  426. package/dist/types/components/actions/bds-button/bds-button.d.ts +8 -4
  427. package/dist/types/components/actions/bds-button/types/enum.d.ts +3 -3
  428. package/dist/types/components/actions/bds-button-group/bds-button-group.d.ts +40 -0
  429. package/dist/types/components/actions/bds-button-group/types/IButtonGroup.d.ts +11 -0
  430. package/dist/types/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.d.ts +32 -15
  431. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.d.ts +17 -0
  432. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/enum.d.ts +5 -0
  433. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/types.d.ts +3 -0
  434. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.d.ts +10 -1
  435. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.d.ts +2 -0
  436. package/dist/types/components/actions/bds-toggle/types/IToggle.d.ts +1 -1
  437. package/dist/types/components/forms/bds-checkbox/{bds-checkbox.d.ts → bds-checkbox/bds-checkbox.d.ts} +24 -9
  438. package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.d.ts +68 -0
  439. package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/types/ICheckboxButton.d.ts +15 -0
  440. package/dist/types/components/forms/bds-checkbox/bds-checkbox-card/bds-checkbox-card.d.ts +63 -0
  441. package/dist/types/components/forms/bds-checkbox/bds-checkbox-card/types/ICheckboxCard.d.ts +9 -0
  442. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.d.ts +86 -0
  443. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.d.ts +27 -0
  444. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/enum.d.ts +6 -0
  445. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/index.d.ts +4 -0
  446. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/types.d.ts +4 -0
  447. package/dist/types/components/forms/bds-checkbox/types/ICheckbox.d.ts +7 -22
  448. package/dist/types/components/forms/bds-checkbox/utils/checkbox-form-association.d.ts +10 -0
  449. package/dist/types/components/forms/bds-checkbox/utils/index.d.ts +2 -0
  450. package/dist/types/components/forms/bds-radio/bds-radio/bds-radio.d.ts +36 -0
  451. package/dist/types/components/forms/bds-radio/bds-radio/types/IRadio.d.ts +13 -0
  452. package/dist/types/components/forms/bds-radio/bds-radio-button/bds-radio-button.d.ts +36 -0
  453. package/dist/types/components/forms/bds-radio/bds-radio-button/types/IRadioButton.d.ts +14 -0
  454. package/dist/types/components/forms/bds-radio/bds-radio-card/bds-radio-card.d.ts +57 -0
  455. package/dist/types/components/forms/bds-radio/bds-radio-card/types/IRadioCard.d.ts +14 -0
  456. package/dist/types/components/forms/bds-radio/bds-radio-group/bds-radio-group.d.ts +85 -0
  457. package/dist/types/components/forms/bds-radio/bds-radio-group/types/IRadioGroup.d.ts +20 -0
  458. package/dist/types/components/forms/bds-radio/bds-radio-group/types/enum.d.ts +6 -0
  459. package/dist/types/components/forms/bds-radio/bds-radio-group/types/types.d.ts +3 -0
  460. package/dist/types/components/forms/bds-select/bds-select.d.ts +98 -0
  461. package/dist/types/components/forms/bds-select/types/ISelect.d.ts +6 -0
  462. package/dist/types/components/forms/bds-slider/bds-slider.d.ts +176 -0
  463. package/dist/types/components/forms/bds-slider/helpers/SliderDOMController.d.ts +38 -0
  464. package/dist/types/components/forms/bds-slider/helpers/SliderService.d.ts +44 -0
  465. package/dist/types/components/forms/bds-slider/helpers/index.d.ts +4 -0
  466. package/dist/types/components/forms/bds-slider/helpers/parseValues.d.ts +18 -0
  467. package/dist/types/components/forms/bds-slider/types/ChangeDetail.d.ts +9 -0
  468. package/dist/types/components/forms/bds-slider/types/ISlider.d.ts +17 -0
  469. package/dist/types/components/forms/bds-slider/types/ISliderOptions.d.ts +31 -0
  470. package/dist/types/components/forms/bds-slider/types/enum.d.ts +17 -0
  471. package/dist/types/components/forms/bds-slider/types/index.d.ts +6 -0
  472. package/dist/types/components/forms/bds-slider/types/types.d.ts +5 -0
  473. package/dist/types/components/forms/bds-text-field/bds-text-field.d.ts +4 -0
  474. package/dist/types/components/navigation/bds-breadcrumb/bds-breadcrumb.d.ts +57 -0
  475. package/dist/types/components/navigation/bds-breadcrumb/types/IBreadcrumb.d.ts +17 -0
  476. package/dist/types/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.d.ts +83 -0
  477. package/dist/types/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.d.ts +20 -0
  478. package/dist/types/components/overlays/bds-popover/bds-popover.d.ts +4 -0
  479. package/dist/types/components/titles-text/bds-typography/bds-typography.d.ts +2 -46
  480. package/dist/types/components/titles-text/bds-typography/types/ITypography.d.ts +1 -0
  481. package/dist/types/components.d.ts +2187 -450
  482. package/dist/types/mixins/menu-behavior.mixin.d.ts +5 -1
  483. package/dist/types/types/form.d.ts +24 -0
  484. package/dist/types/types/index.d.ts +2 -1
  485. package/dist/types/types/orientation.d.ts +6 -0
  486. package/dist/types/utils/a11y/index.d.ts +4 -0
  487. package/dist/types/utils/a11y/keyboard/KeyboardController.d.ts +321 -0
  488. package/dist/types/utils/a11y/keyboard/_constants.d.ts +28 -0
  489. package/dist/types/utils/a11y/keyboard/focus/aria-activedescendant.d.ts +17 -0
  490. package/dist/types/utils/a11y/keyboard/focus/resolve.d.ts +23 -0
  491. package/dist/types/utils/a11y/keyboard/focus/roving-tabindex.d.ts +20 -0
  492. package/dist/types/utils/a11y/keyboard/navigation/grid-navigation.d.ts +9 -0
  493. package/dist/types/utils/a11y/keyboard/navigation/linear-navigation.d.ts +13 -0
  494. package/dist/types/utils/a11y/keyboard/types/IKeyboardController.d.ts +125 -0
  495. package/dist/types/utils/a11y/keyboard/types/index.d.ts +3 -0
  496. package/dist/types/utils/a11y/keyboard/types/types.d.ts +6 -0
  497. package/dist/types/utils/constants/common/Keys.d.ts +28 -14
  498. package/dist/types/utils/dom/elements.d.ts +41 -0
  499. package/dist/types/utils/menu/menu-item.utils.d.ts +2 -2
  500. package/dist/types/utils/testing/helpers.d.ts +8 -0
  501. package/package.json +1 -1
  502. package/components-build/p-B8n1ru5i.js +0 -1
  503. package/components-build/p-CGdxFth9.js +0 -1
  504. package/components-build/p-CrAt6pGl.js +0 -1
  505. package/components-build/p-DCwT43Kz.js +0 -1
  506. package/components-build/p-DIY3CDNL.js +0 -1
  507. package/dist/boreal-web-components/p-0028481c.entry.js +0 -1
  508. package/dist/boreal-web-components/p-1466de58.system.entry.js +0 -1
  509. package/dist/boreal-web-components/p-2b8bd1dd.entry.js +0 -1
  510. package/dist/boreal-web-components/p-32c23246.system.entry.js +0 -1
  511. package/dist/boreal-web-components/p-3fbcc233.entry.js +0 -1
  512. package/dist/boreal-web-components/p-401f1aee.system.entry.js +0 -1
  513. package/dist/boreal-web-components/p-41b48701.system.entry.js +0 -1
  514. package/dist/boreal-web-components/p-41cac1b8.system.entry.js +0 -1
  515. package/dist/boreal-web-components/p-627b19a5.system.entry.js +0 -1
  516. package/dist/boreal-web-components/p-649737e5.entry.js +0 -1
  517. package/dist/boreal-web-components/p-64cb5825.entry.js +0 -1
  518. package/dist/boreal-web-components/p-6a99f4c6.system.entry.js +0 -1
  519. package/dist/boreal-web-components/p-731b88cc.entry.js +0 -1
  520. package/dist/boreal-web-components/p-74c13bed.system.entry.js +0 -1
  521. package/dist/boreal-web-components/p-7f7ac40f.entry.js +0 -1
  522. package/dist/boreal-web-components/p-82d49661.entry.js +0 -1
  523. package/dist/boreal-web-components/p-83ca193e.entry.js +0 -1
  524. package/dist/boreal-web-components/p-BQ_zoZa2.js +0 -1
  525. package/dist/boreal-web-components/p-C8mRvnTA.js +0 -1
  526. package/dist/boreal-web-components/p-CdKFZYxk.system.js +0 -1
  527. package/dist/boreal-web-components/p-CtknSula.system.js +0 -1
  528. package/dist/boreal-web-components/p-CvK2d92c.js +0 -1
  529. package/dist/boreal-web-components/p-CzYQb3pP.js +0 -1
  530. package/dist/boreal-web-components/p-DZcx75cy.system.js +0 -1
  531. package/dist/boreal-web-components/p-Dme-NuTD.system.js +0 -1
  532. package/dist/boreal-web-components/p-ab5ffa15.system.entry.js +0 -1
  533. package/dist/boreal-web-components/p-ba2b625a.system.entry.js +0 -1
  534. package/dist/boreal-web-components/p-bf2ef10b.entry.js +0 -1
  535. package/dist/boreal-web-components/p-c7aee9f4.system.entry.js +0 -1
  536. package/dist/cjs/Keys-DbIXSJF2.js +0 -22
  537. package/dist/collection/components/forms/bds-checkbox/bds-checkbox.css +0 -90
  538. package/dist/esm/Keys-CzYQb3pP.js +0 -20
  539. package/dist/esm-es5/Keys-CzYQb3pP.js +0 -1
  540. package/dist/esm-es5/enum-C8mRvnTA.js +0 -1
  541. package/dist/esm-es5/form-associated.mixin-CvK2d92c.js +0 -1
  542. package/dist/esm-es5/getOffset-DKPjeBHi.js +0 -1
  543. package/dist/types/types/IFormProps.d.ts +0 -25
  544. /package/dist/collection/components/{helpers/types/IDivider.js → actions/bds-button-group/types/IButtonGroup.js} +0 -0
  545. /package/dist/collection/components/{helpers/types/types.js → actions/bds-list-menu/bds-list-menu/types/IListMenu.js} +0 -0
  546. /package/dist/collection/components/{layouts/bds-grid/grid-item → actions/bds-list-menu/bds-list-menu}/types/types.js +0 -0
  547. /package/dist/collection/components/{layouts/bds-grid/grid-item/types/IGridItem.js → forms/bds-checkbox/bds-checkbox-button/types/ICheckboxButton.js} +0 -0
  548. /package/dist/collection/components/{layouts/bds-grid/grid/types/IGrid.js → forms/bds-checkbox/bds-checkbox-card/types/ICheckboxCard.js} +0 -0
  549. /package/dist/collection/components/{layouts/bds-grid/grid/types/types.js → forms/bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.js} +0 -0
  550. /package/dist/collection/{types/IFormProps.js → components/forms/bds-checkbox/bds-checkbox-group/types/types.js} +0 -0
  551. /package/dist/collection/components/helpers/{types → bds-divider/types}/enum.js +0 -0
  552. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.css +0 -0
  553. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/enum.js +0 -0
  554. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/index.js +0 -0
  555. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.css +0 -0
  556. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.js +0 -0
  557. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.js +0 -0
  558. /package/dist/types/components/helpers/{bds-divider.d.ts → bds-divider/bds-divider.d.ts} +0 -0
  559. /package/dist/types/components/helpers/{types → bds-divider/types}/IDivider.d.ts +0 -0
  560. /package/dist/types/components/helpers/{types → bds-divider/types}/enum.d.ts +0 -0
  561. /package/dist/types/components/helpers/{types → bds-divider/types}/types.d.ts +0 -0
  562. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.d.ts +0 -0
  563. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/IGrid.d.ts +0 -0
  564. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/enum.d.ts +0 -0
  565. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/index.d.ts +0 -0
  566. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/types.d.ts +0 -0
  567. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.d.ts +0 -0
  568. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/IGridItem.d.ts +0 -0
  569. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.d.ts +0 -0
  570. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.d.ts +0 -0
  571. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/types.d.ts +0 -0
@@ -0,0 +1,653 @@
1
+ import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
2
+ import { f as formAssociatedMixin } from './form-associated.mixin-C4HM8wQe.js';
3
+ import { s as setFormValue } from './internals-DfaYciGa.js';
4
+
5
+ /**
6
+ * Available tooltip types for the slider component.
7
+ * Used to control the visibility of the tooltip.
8
+ */
9
+ const SLIDER_TOOLTIP = {
10
+ NEVER: 'never',
11
+ FOCUS: 'focus',
12
+ };
13
+ /**
14
+ * Available slider types for the slider component.
15
+ * Used to control the behavior of the slider.
16
+ */
17
+ const SLIDER_TYPE = {
18
+ SINGLE: 'single',
19
+ RANGE: 'range',
20
+ };
21
+
22
+ /**
23
+ * Parses any valid `values` input into a clean `number[]`.
24
+ * This is the single source of truth for value normalization.
25
+ *
26
+ * Handles:
27
+ * - `number[]` → `[10, 50, 80]` (passthrough, filtered for NaN)
28
+ * - `"[10, 50, 80]"` → `[10, 50, 80]`
29
+ * - anything malformed → `[this.min]` as safe fallback
30
+ */
31
+ function parseValues(raw, fallback = [0]) {
32
+ if (Array.isArray(raw)) {
33
+ const result = raw.map(Number).filter(n => !isNaN(n));
34
+ return result.length > 0 ? result : fallback;
35
+ }
36
+ try {
37
+ const parsed = JSON.parse(raw);
38
+ const arr = Array.isArray(parsed) ? parsed : [parsed];
39
+ const result = arr.map(Number).filter(n => !isNaN(n));
40
+ return result.length > 0 ? result : fallback;
41
+ }
42
+ catch {
43
+ const n = Number(raw);
44
+ return isNaN(n) ? fallback : [n];
45
+ }
46
+ }
47
+ /**
48
+ * Serialize the value for the form: a single number → "10", multiple → "10,20,30"
49
+ * FormData does not support arrays natively, so we use CSV.
50
+ */
51
+ function serializeFormValue(values) {
52
+ return values.join(',');
53
+ }
54
+ function resolveValues(raw, min, max, type) {
55
+ const parsed = parseValues(raw, [Number(min)]);
56
+ if (type === SLIDER_TYPE.RANGE) {
57
+ if (parsed.length >= 2) {
58
+ return [parsed[0] ?? Number(min), parsed[1] ?? Number(max)];
59
+ }
60
+ return [parsed[0] ?? Number(min), Number(max)];
61
+ }
62
+ return [parsed[0] ?? Number(min)];
63
+ }
64
+
65
+ class SliderService {
66
+ constructor(options) {
67
+ this.options = options;
68
+ }
69
+ /**
70
+ * Clamps a value between min and max.
71
+ */
72
+ clamp(value) {
73
+ return Math.min(Math.max(value, this.options.min), this.options.max);
74
+ }
75
+ /**
76
+ * Rounds a value to the nearest step.
77
+ */
78
+ snapToStep(value) {
79
+ const stepped = Math.round((value - this.options.min) / this.options.step) * this.options.step + this.options.min;
80
+ return this.clamp(stepped);
81
+ }
82
+ /**
83
+ * Applies collision prevention for range mode.
84
+ * Ensures handles never overlap — always at least 1 step apart.
85
+ */
86
+ applyCollision(values, changedIndex) {
87
+ const result = [...values];
88
+ const margin = this.options.step;
89
+ if (this.options.type !== SLIDER_TYPE.RANGE || result.length < 2)
90
+ return result;
91
+ if (changedIndex === 0) {
92
+ // Min handle cannot exceed max handle - margin
93
+ const maxVal = result[1] ?? this.options.max;
94
+ result[0] = Math.min(result[0] ?? this.options.min, maxVal - margin);
95
+ }
96
+ else {
97
+ // Max handle cannot go below min handle + margin
98
+ const minVal = result[0] ?? this.options.min;
99
+ result[1] = Math.max(result[1] ?? this.options.max, minVal + margin);
100
+ }
101
+ return result;
102
+ }
103
+ /**
104
+ * Calculates the percentage position of a value along the track.
105
+ */
106
+ toPercent(value) {
107
+ const range = this.options.max - this.options.min;
108
+ if (range === 0)
109
+ return 0;
110
+ return ((value - this.options.min) / range) * 100;
111
+ }
112
+ /**
113
+ * Returns connect segments for the track.
114
+ * single: [left=0, width=percent of value]
115
+ * range: [left=percent of min, width=percent of (max - min)]
116
+ */
117
+ getConnectSegment(values) {
118
+ if (this.options.type === SLIDER_TYPE.SINGLE) {
119
+ return {
120
+ left: 0,
121
+ width: this.toPercent(values[0] ?? this.options.min),
122
+ };
123
+ }
124
+ const val0 = values[0] ?? this.options.min;
125
+ const val1 = values[1] ?? this.options.max;
126
+ return {
127
+ left: this.toPercent(val0),
128
+ width: this.toPercent(val1 - val0 + this.options.min),
129
+ };
130
+ }
131
+ /**
132
+ * Returns pip positions as percentages, excluding min and max.
133
+ */
134
+ getPipPositions() {
135
+ const { min, max, step } = this.options;
136
+ const positions = [];
137
+ const total = (max - min) / step;
138
+ for (let i = 1; i < total; i++) {
139
+ const value = min + i * step;
140
+ positions.push(this.toPercent(value));
141
+ }
142
+ return positions;
143
+ }
144
+ /**
145
+ * Returns the CSS position of the thumb in pixels based on the track and percent.
146
+ * @param value - The value of the slider at the given clientX position.
147
+ * @param trackWidth - The width of the track element.
148
+ * @param thumbSize - The size of the thumb element.
149
+ * @returns The position of the thumb in pixels.
150
+ */
151
+ getThumbCSSPosition(value, trackWidth, thumbSize) {
152
+ const percent = this.toPercent(value) / 100;
153
+ const usableWidth = trackWidth - thumbSize;
154
+ return percent * usableWidth + thumbSize / 2;
155
+ }
156
+ }
157
+
158
+ class SliderDOMController {
159
+ /**
160
+ * Adds the necessary classes to show the tooltip when a handle is focused or active.
161
+ * This is used in both focus and active states to ensure the tooltip remains visible.
162
+ * @param inputEl - The input element to add the states to.
163
+ * @param blockClass - The block class of the slider.
164
+ */
165
+ static addTooltipsStates(inputEl, blockClass) {
166
+ if (inputEl === undefined)
167
+ return;
168
+ inputEl.classList.add(`${blockClass}__tooltip--visible`, `${blockClass}__tooltip--active`);
169
+ }
170
+ /**
171
+ * Removes the necessary classes to hide the tooltip when a handle is blurred or inactive.
172
+ * @param inputEl - The input element to remove the states from.
173
+ * @param blockClass - The block class of the slider.
174
+ */
175
+ static removeTooltipsStates(inputEl, blockClass) {
176
+ if (inputEl === undefined)
177
+ return;
178
+ inputEl.classList.remove(`${blockClass}__tooltip--visible`, `${blockClass}__tooltip--active`);
179
+ }
180
+ /**
181
+ * Syncs the tooltips with the given values and inputs.
182
+ * @param values - The values to sync the tooltips with.
183
+ * @param inputsEl - The inputs to sync the tooltips with.
184
+ */
185
+ static syncTooltips(values, inputsEl) {
186
+ values.forEach((value, index) => {
187
+ const input = inputsEl[index];
188
+ if (input === undefined)
189
+ return;
190
+ input.value = String(value);
191
+ input.setAttribute('value', String(value));
192
+ input.setAttribute('aria-valuenow', String(value));
193
+ });
194
+ }
195
+ /**
196
+ * Moves the connect element to the given percentage position.
197
+ * @param connectEl - The connect element to move.
198
+ * @param segment - The percentage position to move the connect element to.
199
+ */
200
+ static moveConnect(connectEl, segment) {
201
+ connectEl.style.left = `${segment.left}%`;
202
+ connectEl.style.width = `${segment.width}%`;
203
+ }
204
+ /**
205
+ * Returns the CSS position of the thumb in pixels based on the track and percent.
206
+ * @param percent - The percentage of the track that the thumb should be positioned at.
207
+ * @returns The position of the thumb in pixels.
208
+ */
209
+ static getThumbCSSPosition(percent) {
210
+ const thumbSize = 'var(--handle-size, 16px)';
211
+ return `calc(${percent}% + (${thumbSize} / 2) - (${percent} * ${thumbSize} / 100))`;
212
+ }
213
+ static updateInputValue(inputEl, value) {
214
+ inputEl.value = String(value);
215
+ inputEl.setAttribute('value', String(value));
216
+ inputEl.setAttribute('aria-valuenow', String(value));
217
+ }
218
+ }
219
+
220
+ const bdsSliderCss = () => `@charset "UTF-8";.bds-slider{display:block;width:100%;--handle-size:16px}.bds-slider--range .bds-slider__input{pointer-events:none}.bds-slider--tooltip{margin-top:var(--boreal-spacing-xl)}.bds-slider--tooltip.bds-slider--label{margin-top:var(--boreal-spacing-ml)}.bds-slider--disabled .bds-slider__tooltip{display:none}.bds-slider--disabled .bds-slider__wrapper{cursor:auto}.bds-slider--disabled .bds-slider__connect{background:var(--boreal-ui-primary-light)}.bds-slider__label{margin-bottom:var(--boreal-spacing-3xs)}.bds-slider__wrapper{position:relative;width:100%;height:var(--handle-size);overflow:visible;cursor:pointer}.bds-slider__track-base{position:absolute;left:0;right:0;top:50%;height:var(--boreal-spacing-2xs);-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--boreal-base-light);border-radius:var(--boreal-radius-full);pointer-events:none;z-index:1}.bds-slider__connect{position:absolute;top:50%;height:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--boreal-ui-primary-base);border-radius:var(--boreal-radius-full);pointer-events:none;z-index:2}.bds-slider__input{position:absolute;left:0;top:50%;width:100%;height:var(--handle-size);-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:0;background:transparent;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:none;z-index:5}.bds-slider__input::-webkit-slider-runnable-track{height:var(--handle-size);background:transparent;border:none;appearance:none;-webkit-appearance:none}.bds-slider__input::-webkit-slider-thumb{width:var(--handle-size);height:var(--handle-size);margin-top:0;border-radius:var(--boreal-radius-full);background:var(--boreal-ui-inverse);border:var(--boreal-spacing-4xs) solid var(--boreal-stroke-default-light);-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs);cursor:-webkit-grab;cursor:grab;pointer-events:auto;appearance:none;-webkit-appearance:none}.bds-slider__input::-moz-range-track{height:var(--handle-size);background:transparent;border:none}.bds-slider__input::-moz-range-thumb{width:var(--handle-size);height:var(--handle-size);border-radius:var(--boreal-radius-full);background:var(--boreal-ui-inverse);border:var(--boreal-spacing-4xs) solid var(--boreal-stroke-default-light);box-shadow:var(--boreal-depth-box-shadow-xs);cursor:grab;pointer-events:auto}.bds-slider__input:focus-visible::-webkit-slider-thumb,.bds-slider__input:active::-webkit-slider-thumb{-webkit-box-shadow:var(--boreal-depth-box-shadow-active);box-shadow:var(--boreal-depth-box-shadow-active)}.bds-slider__input:focus-visible::-webkit-slider-thumb .bds-slider__tooltip--active,.bds-slider__input:active::-webkit-slider-thumb .bds-slider__tooltip--active{-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-slider__input:focus-visible::-moz-range-thumb,.bds-slider__input:active::-moz-range-thumb{box-shadow:var(--boreal-depth-box-shadow-active)}.bds-slider__input:focus-visible::-moz-range-thumb .bds-slider__tooltip--active,.bds-slider__input:active::-moz-range-thumb .bds-slider__tooltip--active{box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-slider__input:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.bds-slider__input:active::-moz-range-thumb{cursor:grabbing}.bds-slider__input:disabled{pointer-events:none}.bds-slider__input:disabled.bds-slider__connect{background:var(--boreal-ui-disabled)}.bds-slider__input:disabled::-webkit-slider-thumb{background:var(--boreal-ui-disabled);border-color:var(--boreal-base-light);-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed}.bds-slider__input:disabled::-moz-range-thumb{background:var(--boreal-ui-disabled);border-color:var(--boreal-base-light);box-shadow:none;cursor:not-allowed}.bds-slider__pips{position:absolute;left:0;right:0;top:50%;height:var(--boreal-spacing-2xs);-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;z-index:3}.bds-slider__pip{position:absolute;top:0;width:var(--boreal-spacing-3xs);height:100%;background:var(--boreal-ui-inverse);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bds-slider__limits{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:var(--boreal-spacing-3xs)}.bds-slider__tooltip{position:absolute;bottom:calc(100% + 10px);-webkit-transform:translateX(-50%);transform:translateX(-50%);color:var(--boreal-text-default);background:var(--boreal-ui-inverse);border-radius:var(--boreal-radius-xs);padding:var(--boreal-spacing-2xs) var(--boreal-spacing-2xs);font-size:var(--boreal-typography-font-size-xs);font-family:var(--boreal-typography-font-family-primary);white-space:nowrap;cursor:auto;pointer-events:fill;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--boreal-layout-ml);height:var(--boreal-layout-ml)}.bds-slider__tooltip--active{-webkit-box-shadow:var(--boreal-depth-box-shadow-xs);box-shadow:var(--boreal-depth-box-shadow-xs)}.bds-slider__tooltip--never{opacity:0}.bds-slider__tooltip--focus{opacity:0;-webkit-transition:opacity 0.15s ease;transition:opacity 0.15s ease}.bds-slider__tooltip--focus.bds-slider__tooltip--visible{opacity:1}`;
221
+
222
+ const BdsSlider = class extends Mixin(formAssociatedMixin) {
223
+ constructor(hostRef) {
224
+ super();
225
+ registerInstance(this, hostRef);
226
+ this.bdsChange = createEvent(this, "bdsChange");
227
+ this.valueChange = createEvent(this, "valueChange");
228
+ this.bdsClick = createEvent(this, "bdsClick");
229
+ if (hostRef.$hostElement$["s-ei"]) {
230
+ this.internals = hostRef.$hostElement$["s-ei"];
231
+ }
232
+ else {
233
+ this.internals = hostRef.$hostElement$.attachInternals();
234
+ hostRef.$hostElement$["s-ei"] = this.internals;
235
+ }
236
+ this.blockClass = 'bds-slider';
237
+ /** Active input elements, one per handle */
238
+ this.inputEls = [];
239
+ /** Active tooltip elements, one per handle */
240
+ this.tooltipEls = [];
241
+ // ---------------------------------------------------------------------------
242
+ // Props
243
+ // ---------------------------------------------------------------------------
244
+ /** Minimum selectable value. Defaults to `0`. */
245
+ this.min = 0;
246
+ /** Maximum selectable value. Defaults to `100`. */
247
+ this.max = 100;
248
+ /** Slider type that defines the slider behavior. Defaults to `single`. */
249
+ this.type = SLIDER_TYPE.SINGLE;
250
+ /** Label for the slider. Defaults to `""`. */
251
+ this.label = '';
252
+ /**
253
+ * Step size for each increment/decrement.
254
+ * Must be a positive number. Defaults to `1`.
255
+ */
256
+ this.step = 1;
257
+ /**
258
+ * Shows the min and max values of the slider.
259
+ * Defaults to `false`.
260
+ */
261
+ this.showLimits = false;
262
+ /**
263
+ * Current value(s) of the slider.
264
+ * Accepts `number`, `number[]`, or a JSON string for HTML vanilla usage.
265
+ * - Single handle: `50` or `"50"`
266
+ * - Multi-handle: `[10, 50, 80]` or `"[10, 50, 80]"`
267
+ * - Defaults to `0`.
268
+ */
269
+ this.value = [0];
270
+ /** Disables the slider, preventing all user interaction. Defaults to `false`. */
271
+ this.disabled = false;
272
+ /** Name of the form control, submitted as a key in the form data. */
273
+ this.name = '';
274
+ /**
275
+ * JSON string array of handle values that should be individually disabled.
276
+ * Each number must match a value present in the `value` prop.
277
+ * Accepts `number`, `number[]`, or JSON string: `"[5, 30]"`.
278
+ * Defaults to `"[]"`.
279
+ */
280
+ this.disabledHandlers = '[]';
281
+ /**
282
+ * When `true`, renders discrete tick marks along the track
283
+ * at every step position between `min` and `max`.
284
+ * Defaults to `false`.
285
+ */
286
+ this.discrete = false;
287
+ /**
288
+ * Controls tooltip visibility on each handle.
289
+ * - `"never"` — tooltip is hidden.
290
+ * - `"focus"` — tooltip appears only when the handle is active/focused.
291
+ * Defa ults to `"focus"`.
292
+ */
293
+ this.tooltip = SLIDER_TOOLTIP.FOCUS;
294
+ // ---------------------------------------------------------------------------
295
+ // State
296
+ // ---------------------------------------------------------------------------
297
+ /** Internal mirror of `disabled`, kept in sync via `@Watch`. */
298
+ this.isDisabled = false;
299
+ /** Internal mirror of `discrete`, kept in sync via `@Watch`. */
300
+ this.isDiscrete = false;
301
+ /**
302
+ * Internal mirror of `values` normalized to `number[]`.
303
+ * All internal logic reads from here; never from `values` directly.
304
+ * Updated via `parseValues()` whenever `values` prop changes.
305
+ */
306
+ this.internalValues = [0];
307
+ this.handleClick = (event) => {
308
+ const target = event.target;
309
+ this.bdsClick.emit({ target, value: [...this.internalValues] });
310
+ };
311
+ }
312
+ // ---------------------------------------------------------------------------
313
+ // Watchers
314
+ // ---------------------------------------------------------------------------
315
+ onDisabledChange(next) {
316
+ this.isDisabled = next;
317
+ this.syncDOMUpdates();
318
+ }
319
+ onDisabledHandlersChange() {
320
+ this.syncDOMUpdates();
321
+ }
322
+ onValueChange(next) {
323
+ this.internalValues = this.resolveValues(next);
324
+ this.syncDOMUpdates();
325
+ }
326
+ onConfigChange() {
327
+ this.isDiscrete = this.discrete;
328
+ this.internalValues = this.resolveValues(this.value);
329
+ this.buildAdapter();
330
+ this.syncDOMUpdates();
331
+ }
332
+ onRangeChange() {
333
+ this.buildAdapter();
334
+ this.syncDOMUpdates();
335
+ }
336
+ // ---------------------------------------------------------------------------
337
+ // Form-associated callbacks
338
+ // ---------------------------------------------------------------------------
339
+ formAssociatedCallback() {
340
+ this.syncFormValue();
341
+ }
342
+ formResetCallback() {
343
+ const initial = this.resolveValues(this.value);
344
+ this.updateValues(initial, false);
345
+ this.syncDOMUpdates();
346
+ this.emitChange(initial);
347
+ }
348
+ formStateRestoreCallback(state, _mode) {
349
+ if (typeof state !== 'string')
350
+ return;
351
+ const parsed = state
352
+ .split(',')
353
+ .map(value => parseFloat(value))
354
+ .filter(value => !Number.isNaN(value));
355
+ if (parsed.length === 0)
356
+ return;
357
+ this.updateValues(parsed, false);
358
+ this.syncDOMUpdates();
359
+ setFormValue(this.internals, state);
360
+ }
361
+ syncFormValue() {
362
+ setFormValue(this.internals, serializeFormValue(this.internalValues));
363
+ }
364
+ // ---------------------------------------------------------------------------
365
+ // Public methods
366
+ // ---------------------------------------------------------------------------
367
+ /**
368
+ * Returns the current value(s) of the slider.
369
+ * - Single-handle → `number`
370
+ * - Multi-handle → `number[]`
371
+ */
372
+ async getValues() {
373
+ return [...this.internalValues];
374
+ }
375
+ /**
376
+ * Programmatically sets the slider value(s).
377
+ * @param next - A single `number` or an array of `number[]` matching the number of handles.
378
+ */
379
+ async setValues(next) {
380
+ const parsed = this.resolveValues(next);
381
+ this.updateValues(parsed, false);
382
+ this.syncDOMUpdates();
383
+ this.syncFormValue();
384
+ this.emitChange(parsed);
385
+ }
386
+ // ---------------------------------------------------------------------------
387
+ // Private — slider lifecycle
388
+ // ---------------------------------------------------------------------------
389
+ buildAdapter() {
390
+ this.service = new SliderService({
391
+ min: Number(this.min),
392
+ max: Number(this.max),
393
+ step: Number(this.step),
394
+ type: this.type,
395
+ value: this.internalValues,
396
+ disabledHandlers: parseValues(this.disabledHandlers, []),
397
+ discrete: this.isDiscrete,
398
+ disabled: this.isDisabled,
399
+ name: String(this.name ?? ''),
400
+ });
401
+ }
402
+ syncDOMUpdates() {
403
+ this.syncInputsToValues();
404
+ this.updateProgress();
405
+ this.syncTooltips();
406
+ }
407
+ // ---------------------------------------------------------------------------
408
+ // Private — helpers
409
+ // ---------------------------------------------------------------------------
410
+ handleInputEvent(handleIndex, event) {
411
+ const input = event?.target;
412
+ const targetInput = input ?? this.inputEls[handleIndex];
413
+ if (targetInput === undefined)
414
+ return;
415
+ let value = this.service.snapToStep(parseFloat(targetInput.value));
416
+ const nextValues = [...this.internalValues];
417
+ nextValues[handleIndex] = value;
418
+ const corrected = this.service.applyCollision(nextValues, handleIndex);
419
+ value = corrected[handleIndex] ?? value;
420
+ this.internalValues = corrected;
421
+ SliderDOMController.updateInputValue(targetInput, value);
422
+ this.updateProgress();
423
+ this.syncTooltip(handleIndex, value);
424
+ this.syncFormValue();
425
+ }
426
+ handleChangeEvent(handleIndex, event) {
427
+ this.handleInputEvent(handleIndex, event);
428
+ if (this.isDisabled)
429
+ return;
430
+ this.emitChange([...this.internalValues]);
431
+ }
432
+ onHandleFocus(handleIndex) {
433
+ SliderDOMController.addTooltipsStates(this.tooltipEls[handleIndex], this.blockClass);
434
+ }
435
+ onHandleBlur(handleIndex) {
436
+ SliderDOMController.removeTooltipsStates(this.tooltipEls[handleIndex], this.blockClass);
437
+ }
438
+ onHandleInactive(handleIndex) {
439
+ const input = this.inputEls[handleIndex];
440
+ SliderDOMController.removeTooltipsStates(input, this.blockClass);
441
+ input.blur();
442
+ }
443
+ syncInputsToValues() {
444
+ SliderDOMController.syncTooltips(this.internalValues, this.inputEls);
445
+ }
446
+ updateProgress() {
447
+ if (this.connectEl === undefined || this.service === undefined)
448
+ return;
449
+ const segment = this.service.getConnectSegment(this.internalValues);
450
+ SliderDOMController.moveConnect(this.connectEl, segment);
451
+ }
452
+ syncTooltip(handleIndex, value) {
453
+ const tooltip = this.tooltipEls[handleIndex];
454
+ if (tooltip === undefined)
455
+ return;
456
+ tooltip.textContent = String(value);
457
+ tooltip.style.left = `${this.getThumbPosition(value)}px`;
458
+ }
459
+ syncTooltips() {
460
+ this.internalValues.forEach((value, index) => {
461
+ this.syncTooltip(index, value);
462
+ });
463
+ }
464
+ resolveValues(raw) {
465
+ const service = this.service;
466
+ return resolveValues(raw, this.min, this.max, this.type).map(value => service.clamp(value));
467
+ }
468
+ updateValues(next, shouldEmit = true) {
469
+ this.internalValues = next;
470
+ if (shouldEmit) {
471
+ this.emitChange(next);
472
+ }
473
+ }
474
+ emitChange(values) {
475
+ if (this.isDisabled)
476
+ return;
477
+ const payload = { value: values };
478
+ this.bdsChange.emit(payload);
479
+ this.valueChange.emit(values);
480
+ this.syncFormValue();
481
+ }
482
+ isHandleDisabled(value) {
483
+ const disabledValues = parseValues(this.disabledHandlers, []);
484
+ return this.isDisabled || disabledValues.includes(value);
485
+ }
486
+ getPipPositions() {
487
+ if (this.service === undefined)
488
+ return [];
489
+ return this.service.getPipPositions();
490
+ }
491
+ /**
492
+ * Returns the CSS modifier class map for the slider component.
493
+ *
494
+ * Includes visual state modifiers such as disabled,
495
+ * discrete mode, and tooltip behavior.
496
+ */
497
+ get classMap() {
498
+ const blockClass = 'bds-slider';
499
+ return {
500
+ [blockClass]: true,
501
+ [`${blockClass}--disabled`]: this.isDisabled,
502
+ [`${blockClass}--discrete`]: this.isDiscrete,
503
+ [`${blockClass}--label`]: Boolean(this.label.trim()),
504
+ [`${blockClass}--tooltip`]: Boolean(this.tooltip) && this.tooltip !== SLIDER_TOOLTIP.NEVER && this.isDisabled === false,
505
+ [`${blockClass}--tooltip-never`]: this.tooltip === SLIDER_TOOLTIP.NEVER,
506
+ [`${blockClass}--tooltip-focus`]: this.tooltip === SLIDER_TOOLTIP.FOCUS,
507
+ };
508
+ }
509
+ // ---------------------------------------------------------------------------
510
+ // Private — Render helpers
511
+ // ---------------------------------------------------------------------------
512
+ getThumbPosition(value) {
513
+ if (this.trackEl === undefined || this.service === undefined)
514
+ return 0;
515
+ const trackWidth = this.trackEl.getBoundingClientRect().width;
516
+ const thumbSize = parseFloat(getComputedStyle(this.el).getPropertyValue('--handle-size')) || 16;
517
+ return this.service.getThumbCSSPosition(value, trackWidth, thumbSize);
518
+ }
519
+ getThumbCSSPosition(percent) {
520
+ return SliderDOMController.getThumbCSSPosition(percent);
521
+ }
522
+ renderInput(handleIndex, value) {
523
+ const isDisabled = this.isHandleDisabled(value);
524
+ return (h("input", { class: `${this.blockClass}__input`, type: "range", min: this.min, max: this.max, step: this.step, value: value, disabled: isDisabled, "data-handle": handleIndex, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": value, "aria-disabled": isDisabled ? 'true' : undefined, "aria-describedby": `bds-slider-tooltip-${handleIndex}`, onInput: event => this.handleInputEvent(handleIndex, event), onChange: event => this.handleChangeEvent(handleIndex, event), onFocus: () => this.onHandleFocus(handleIndex), onBlur: () => this.onHandleBlur(handleIndex), onPointerUp: () => this.onHandleInactive(handleIndex), ref: el => {
525
+ if (el !== undefined) {
526
+ this.inputEls[handleIndex] = el;
527
+ }
528
+ } }));
529
+ }
530
+ renderMinMax() {
531
+ if (this.showLimits === false)
532
+ return null;
533
+ return (h("div", { class: `${this.blockClass}__limits` }, h("bds-typography", { variant: "helper" }, this.min), h("bds-typography", { variant: "helper" }, this.max)));
534
+ }
535
+ handleTrackClick(event) {
536
+ if (this.isDisabled || this.trackEl === undefined)
537
+ return;
538
+ const target = event.target;
539
+ if (target.classList.contains(`${this.blockClass}__input`))
540
+ return;
541
+ const rect = this.trackEl.getBoundingClientRect();
542
+ const percent = Math.min(Math.max((event.clientX - rect.left) / rect.width, 0), 1);
543
+ const rawValue = Number(this.min) + percent * (Number(this.max) - Number(this.min));
544
+ const value = this.service.snapToStep(rawValue);
545
+ const nextValues = [...this.internalValues];
546
+ if (this.type === SLIDER_TYPE.SINGLE) {
547
+ if (this.isHandleDisabled(nextValues[0]))
548
+ return;
549
+ nextValues[0] = value;
550
+ this.internalValues = nextValues;
551
+ }
552
+ else {
553
+ const [minValue, maxValue] = nextValues;
554
+ const distanceToMin = Math.abs(value - minValue);
555
+ const distanceToMax = Math.abs(value - maxValue);
556
+ const targetHandle = distanceToMin <= distanceToMax ? 0 : 1;
557
+ if (this.isHandleDisabled(nextValues[targetHandle]))
558
+ return;
559
+ nextValues[targetHandle] = value;
560
+ this.internalValues = this.service.applyCollision(nextValues, targetHandle);
561
+ }
562
+ this.syncDOMUpdates();
563
+ this.emitChange([...this.internalValues]);
564
+ }
565
+ renderTooltip(handleIndex, value) {
566
+ if (this.tooltip === SLIDER_TOOLTIP.NEVER)
567
+ return null;
568
+ return (h("div", { id: `bds-slider-tooltip-${handleIndex}`, class: {
569
+ [`${this.blockClass}__tooltip`]: true,
570
+ [`${this.blockClass}__tooltip--${this.tooltip}`]: true,
571
+ }, role: "tooltip", onClick: event => {
572
+ event.stopPropagation();
573
+ }, style: {
574
+ left: `${this.service?.toPercent(value) ?? 0}%`,
575
+ }, ref: el => {
576
+ if (el !== undefined) {
577
+ this.tooltipEls[handleIndex] = el;
578
+ }
579
+ } }, value));
580
+ }
581
+ renderPips() {
582
+ if (!this.isDiscrete)
583
+ return null;
584
+ return (h("div", { class: `${this.blockClass}__pips` }, this.getPipPositions().map((percent, index) => (h("div", { key: `pip-${index}`, class: `${this.blockClass}__pip`, style: { left: this.getThumbCSSPosition(percent) } })))));
585
+ }
586
+ renderLabel() {
587
+ if (this.label.trim() === '' || this.label === undefined)
588
+ return null;
589
+ return (h("bds-typography", { class: `${this.blockClass}__label`, htmlFor: this.el.id, variant: "label" }, this.label));
590
+ }
591
+ // ---------------------------------------------------------------------------
592
+ // Lifecycle
593
+ // ---------------------------------------------------------------------------
594
+ componentWillLoad() {
595
+ this.isDisabled = this.disabled;
596
+ this.isDiscrete = this.discrete;
597
+ this.buildAdapter();
598
+ this.internalValues = this.resolveValues(this.value);
599
+ }
600
+ componentDidLoad() {
601
+ this.syncDOMUpdates();
602
+ }
603
+ componentDidUpdate() {
604
+ this.syncDOMUpdates();
605
+ }
606
+ disconnectedCallback() {
607
+ this.inputEls = [];
608
+ this.tooltipEls = [];
609
+ }
610
+ // ---------------------------------------------------------------------------
611
+ // Render
612
+ // ---------------------------------------------------------------------------
613
+ render() {
614
+ return (h(Host, { key: 'd883f67c2dfc80f8b97f2d7394b99ad6c30798fa', class: this.classMap, "aria-disabled": this.isDisabled ? 'true' : undefined, onClick: this.handleClick }, this.renderLabel(), h("div", { key: '2704c76fbc751029ca89519950dfb90c3294d5e7', class: `${this.blockClass}__wrapper`, onClick: event => this.handleTrackClick(event) }, h("div", { key: 'db67ea023a4f200069e68e02281539378e9e39db', class: `${this.blockClass}__track-base`, ref: el => {
615
+ if (el !== undefined)
616
+ this.trackEl = el;
617
+ } }), h("div", { key: '02163060bb531de138aae3ad1a4e7f221e7c127f', class: `${this.blockClass}__connect`, ref: el => {
618
+ if (el !== undefined)
619
+ this.connectEl = el;
620
+ } }), this.renderPips(), this.internalValues.map((value, index) => this.renderInput(index, value)), this.internalValues.map((value, index) => this.renderTooltip(index, value))), this.renderMinMax()));
621
+ }
622
+ static get formAssociated() { return true; }
623
+ get el() { return getElement(this); }
624
+ static get watchers() { return {
625
+ "disabled": [{
626
+ "onDisabledChange": 0
627
+ }],
628
+ "disabledHandlers": [{
629
+ "onDisabledHandlersChange": 0
630
+ }],
631
+ "value": [{
632
+ "onValueChange": 0
633
+ }],
634
+ "type": [{
635
+ "onConfigChange": 0
636
+ }],
637
+ "discrete": [{
638
+ "onConfigChange": 0
639
+ }],
640
+ "min": [{
641
+ "onRangeChange": 0
642
+ }],
643
+ "max": [{
644
+ "onRangeChange": 0
645
+ }],
646
+ "step": [{
647
+ "onRangeChange": 0
648
+ }]
649
+ }; }
650
+ };
651
+ BdsSlider.style = bdsSliderCss();
652
+
653
+ export { BdsSlider as bds_slider };
@@ -38,7 +38,7 @@ const BdsSpinner = class {
38
38
  };
39
39
  }
40
40
  render() {
41
- return (h(Host, { key: 'd114eb6445b81a4e7beafd0ff08b8aaf6e1a96e7', class: this.getClassMap, role: "status", "aria-label": this.label, "aria-live": "polite", "aria-busy": "true" }, h("span", { key: 'fa45675b2e258eca9c44a9374a65f26c781343d5', class: "bds-spinner__sr-only" }, this.label)));
41
+ return (h(Host, { key: '7e7846adadb6224abfcaaf2478768b72ec712659', class: this.getClassMap, role: "status", "aria-label": this.label, "aria-live": "polite", "aria-busy": "true" }, h("span", { key: '1c6aad446ed35a3adcb4e4f28fd4a3e7b9b7cb3a', class: "bds-spinner__sr-only" }, this.label)));
42
42
  }
43
43
  get el() { return getElement(this); }
44
44
  static get watchers() { return {
@@ -40,7 +40,7 @@ const BdsStatus = class {
40
40
  };
41
41
  }
42
42
  render() {
43
- return (h(Host, { key: '36cf2dfe777002b02d126d38cb9ed2bce3f828a6', class: this.classMap, role: "status" }, this.indicator === INDICATOR_TYPES.DOT ? h("div", { class: "bds-status__dot", "aria-hidden": "true" }) : '', h("slot", { key: '99ab1fa89dc28f3ffca617508b5c577abf874d7a', name: "icon" }), h("slot", { key: '8ff726d294fc524950ac0255c71f4ba65b3c9b96' })));
43
+ return (h(Host, { key: '9a952b22de8565fcca464d045f71ea86c92c8632', class: this.classMap, role: "status" }, this.indicator === INDICATOR_TYPES.DOT ? h("div", { class: "bds-status__dot", "aria-hidden": "true" }) : '', h("slot", { key: '47e03b139fcb4da8b15fe115518856c54d02a320', name: "icon" }), h("slot", { key: 'e512e975c2df8fa3e3380f27808eec96be5ad455' })));
44
44
  }
45
45
  get el() { return getElement(this); }
46
46
  static get watchers() { return {