@telesign/boreal-web-components 0.1.0-alpha.5 → 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 (475) hide show
  1. package/components-build/bds-avatar.js +1 -1
  2. package/components-build/bds-breadcrumb-item.d.ts +11 -0
  3. package/components-build/bds-breadcrumb-item.js +1 -0
  4. package/components-build/bds-breadcrumb.d.ts +11 -0
  5. package/components-build/bds-breadcrumb.js +1 -0
  6. package/components-build/bds-button-group.js +1 -1
  7. package/components-build/bds-button.js +1 -1
  8. package/components-build/bds-checkbox-button.d.ts +11 -0
  9. package/components-build/bds-checkbox-button.js +1 -0
  10. package/components-build/bds-checkbox-card.js +1 -1
  11. package/components-build/bds-checkbox-group.d.ts +11 -0
  12. package/components-build/bds-checkbox-group.js +1 -0
  13. package/components-build/bds-checkbox.js +1 -1
  14. package/components-build/bds-dialog.js +1 -1
  15. package/components-build/bds-divider.js +1 -1
  16. package/components-build/bds-flag.js +1 -1
  17. package/components-build/bds-grid-item.js +1 -1
  18. package/components-build/bds-grid.js +1 -1
  19. package/components-build/bds-list-menu-item.js +1 -1
  20. package/components-build/bds-list-menu.js +1 -1
  21. package/components-build/bds-popover.js +1 -1
  22. package/components-build/bds-radio-button.js +1 -1
  23. package/components-build/bds-radio-card.js +1 -1
  24. package/components-build/bds-radio-group.js +1 -1
  25. package/components-build/bds-radio.js +1 -1
  26. package/components-build/bds-select.d.ts +11 -0
  27. package/components-build/bds-select.js +1 -0
  28. package/components-build/bds-slider.d.ts +11 -0
  29. package/components-build/bds-slider.js +1 -0
  30. package/components-build/bds-tag.js +1 -1
  31. package/components-build/bds-text-field.js +1 -1
  32. package/components-build/bds-toggle.js +1 -1
  33. package/components-build/bds-tooltip.js +1 -1
  34. package/components-build/bds-typography.js +1 -1
  35. package/components-build/p-B6e9eIHB.js +1 -0
  36. package/components-build/p-CJBdGD_4.js +1 -0
  37. package/components-build/p-DcR7mHFE.js +1 -0
  38. package/components-build/p-DdOPD9wW.js +1 -0
  39. package/components-build/{p-BSlaf0ff.js → p-DoNZM78n.js} +1 -1
  40. package/components-build/p-DrkDx75U.js +1 -0
  41. package/components-build/p-DuBzr05c.js +1 -0
  42. package/components-build/p-PmjPRW8X.js +1 -0
  43. package/components-build/p-cgdh1LO-.js +1 -0
  44. package/components-build/p-yLNcMg2E.js +1 -0
  45. package/custom-elements.json +2723 -841
  46. package/dist/boreal-web-components/boreal-web-components.esm.js +1 -1
  47. package/dist/boreal-web-components/css/boreal.css +60 -0
  48. package/dist/boreal-web-components/css/theme-connect.css +15 -0
  49. package/dist/boreal-web-components/css/theme-engage.css +15 -0
  50. package/dist/boreal-web-components/css/theme-protect.css +15 -0
  51. package/dist/boreal-web-components/css/theme-proximus.css +15 -0
  52. package/dist/boreal-web-components/{p-7bb88855.entry.js → p-02e53626.entry.js} +1 -1
  53. package/dist/boreal-web-components/p-0357450d.system.entry.js +1 -0
  54. package/dist/boreal-web-components/{p-efe159aa.entry.js → p-1250ba53.entry.js} +1 -1
  55. package/dist/boreal-web-components/p-1911b978.entry.js +1 -0
  56. package/dist/boreal-web-components/p-1mOd23lT.system.js +1 -0
  57. package/dist/boreal-web-components/{p-48ebbfbe.system.entry.js → p-25823f7d.system.entry.js} +1 -1
  58. package/dist/boreal-web-components/p-2db71382.system.entry.js +1 -0
  59. package/dist/boreal-web-components/p-367e40f9.entry.js +1 -0
  60. package/dist/boreal-web-components/p-3946d587.entry.js +1 -0
  61. package/dist/boreal-web-components/{p-4dc01078.system.entry.js → p-44b6fe6c.system.entry.js} +1 -1
  62. package/dist/boreal-web-components/{p-024d90b0.system.entry.js → p-48712a63.system.entry.js} +1 -1
  63. package/dist/boreal-web-components/{p-2adf2cd5.entry.js → p-49ea207a.entry.js} +1 -1
  64. package/dist/boreal-web-components/{p-7aff4c78.entry.js → p-4b028406.entry.js} +1 -1
  65. package/dist/boreal-web-components/p-4b615de8.system.entry.js +1 -0
  66. package/dist/boreal-web-components/{p-e0a41cab.system.entry.js → p-4f431941.system.entry.js} +1 -1
  67. package/dist/boreal-web-components/p-524421f7.system.entry.js +1 -0
  68. package/dist/boreal-web-components/p-530c8c7f.entry.js +1 -0
  69. package/dist/boreal-web-components/p-55aeff0c.system.entry.js +1 -0
  70. package/dist/boreal-web-components/p-5c8650b3.system.entry.js +1 -0
  71. package/dist/boreal-web-components/p-5e590291.system.entry.js +1 -0
  72. package/dist/boreal-web-components/p-5ee0841f.entry.js +1 -0
  73. package/dist/boreal-web-components/{p-93066db4.system.entry.js → p-65923619.system.entry.js} +1 -1
  74. package/dist/boreal-web-components/p-66ec16d9.entry.js +1 -0
  75. package/dist/boreal-web-components/{p-e55f2a8b.entry.js → p-714bf70d.entry.js} +1 -1
  76. package/dist/boreal-web-components/p-7626338e.system.entry.js +1 -0
  77. package/dist/boreal-web-components/p-7G4h4DI7.js +1 -0
  78. package/dist/boreal-web-components/p-800fc096.system.entry.js +1 -0
  79. package/dist/boreal-web-components/p-824485ad.entry.js +1 -0
  80. package/dist/boreal-web-components/p-8dfe3a9f.entry.js +1 -0
  81. package/dist/boreal-web-components/p-90022071.entry.js +1 -0
  82. package/dist/boreal-web-components/{p-7ebc67c9.entry.js → p-9d02057d.entry.js} +1 -1
  83. package/dist/boreal-web-components/{p-wREMI3WA.js → p-CcENtewr.js} +1 -1
  84. package/dist/boreal-web-components/p-Dk9dfU9-.system.js +1 -0
  85. package/dist/boreal-web-components/p-K7DvMlRo.system.js +1 -0
  86. package/dist/boreal-web-components/{p-DYlZcFrB.system.js → p-UEj9YHof.system.js} +1 -1
  87. package/dist/boreal-web-components/{p-147d6652.system.entry.js → p-b54fe67f.system.entry.js} +1 -1
  88. package/dist/boreal-web-components/p-bbcd3a30.system.entry.js +1 -0
  89. package/dist/boreal-web-components/p-bea25d3d.system.entry.js +1 -0
  90. package/dist/boreal-web-components/p-bed506d3.entry.js +1 -0
  91. package/dist/boreal-web-components/p-bfd62034.system.entry.js +1 -0
  92. package/dist/boreal-web-components/p-c07d6b82.system.entry.js +1 -0
  93. package/dist/boreal-web-components/{p-7d3a8f61.entry.js → p-cc5c359f.entry.js} +1 -1
  94. package/dist/boreal-web-components/p-cgdh1LO-.js +1 -0
  95. package/dist/boreal-web-components/p-d2b6ae79.entry.js +1 -0
  96. package/dist/boreal-web-components/p-e21b8416.entry.js +1 -0
  97. package/dist/boreal-web-components/p-e4364a44.system.entry.js +1 -0
  98. package/dist/boreal-web-components/p-e51407b2.system.entry.js +1 -0
  99. package/dist/boreal-web-components/p-e8cde179.system.entry.js +1 -0
  100. package/dist/boreal-web-components/p-eecc3028.system.entry.js +1 -0
  101. package/dist/boreal-web-components/p-f3bd824d.system.entry.js +1 -0
  102. package/dist/boreal-web-components/p-f6eabb16.entry.js +1 -0
  103. package/dist/boreal-web-components/p-f7acf6e5.system.entry.js +1 -0
  104. package/dist/boreal-web-components/{p-6629be14.entry.js → p-f9560509.entry.js} +1 -1
  105. package/dist/boreal-web-components/p-fa128cad.system.entry.js +1 -0
  106. package/dist/boreal-web-components/p-fab1a01d.entry.js +1 -0
  107. package/dist/boreal-web-components/p-fb9ba833.entry.js +1 -0
  108. package/dist/boreal-web-components/p-fbe0c9f2.entry.js +1 -0
  109. package/dist/boreal-web-components/p-fbe88555.entry.js +1 -0
  110. package/dist/boreal-web-components/p-fc1fa966.system.entry.js +1 -0
  111. package/dist/boreal-web-components/p-fc4ffa0e.entry.js +1 -0
  112. package/dist/boreal-web-components/p-fef13445.entry.js +1 -0
  113. package/dist/boreal-web-components/p-qGhMe8Hk.js +1 -0
  114. package/dist/boreal-web-components/p-vzZJGcYF.system.js +1 -1
  115. package/dist/boreal-web-components/scss/maps/_theme-connect.scss +16 -1
  116. package/dist/boreal-web-components/scss/maps/_theme-engage.scss +16 -1
  117. package/dist/boreal-web-components/scss/maps/_theme-protect.scss +16 -1
  118. package/dist/boreal-web-components/scss/maps/_theme-proximus.scss +16 -1
  119. package/dist/boreal-web-components/scss/variables/_theme-connect.scss +16 -1
  120. package/dist/boreal-web-components/scss/variables/_theme-engage.scss +16 -1
  121. package/dist/boreal-web-components/scss/variables/_theme-protect.scss +16 -1
  122. package/dist/boreal-web-components/scss/variables/_theme-proximus.scss +16 -1
  123. package/dist/cjs/KeyboardController-B_g3peyB.js +1067 -0
  124. package/dist/cjs/Keys-DXn16dlA.js +34 -0
  125. package/dist/cjs/bds-avatar.cjs.entry.js +1 -1
  126. package/dist/cjs/bds-breadcrumb-item.cjs.entry.js +106 -0
  127. package/dist/cjs/bds-breadcrumb.cjs.entry.js +127 -0
  128. package/dist/cjs/bds-button-group.cjs.entry.js +23 -2
  129. package/dist/cjs/bds-button.cjs.entry.js +33 -6
  130. package/dist/cjs/bds-checkbox-button.cjs.entry.js +119 -0
  131. package/dist/cjs/bds-checkbox-card.cjs.entry.js +37 -23
  132. package/dist/cjs/bds-checkbox-group.cjs.entry.js +292 -0
  133. package/dist/cjs/bds-checkbox.cjs.entry.js +62 -31
  134. package/dist/cjs/bds-dialog.cjs.entry.js +3 -3
  135. package/dist/cjs/bds-divider.cjs.entry.js +1 -1
  136. package/dist/cjs/bds-flag.cjs.entry.js +1 -1
  137. package/dist/cjs/bds-grid-item.cjs.entry.js +1 -1
  138. package/dist/cjs/bds-grid.cjs.entry.js +1 -1
  139. package/dist/cjs/bds-list-menu-item.cjs.entry.js +19 -8
  140. package/dist/cjs/bds-list-menu.cjs.entry.js +42 -7
  141. package/dist/cjs/bds-popover.cjs.entry.js +13 -5
  142. package/dist/cjs/bds-radio-button.cjs.entry.js +2 -2
  143. package/dist/cjs/bds-radio-card.cjs.entry.js +2 -2
  144. package/dist/cjs/bds-radio-group.cjs.entry.js +14 -8
  145. package/dist/cjs/bds-radio.cjs.entry.js +2 -2
  146. package/dist/cjs/bds-select.cjs.entry.js +394 -0
  147. package/dist/cjs/bds-slider.cjs.entry.js +655 -0
  148. package/dist/cjs/bds-tag.cjs.entry.js +1 -1
  149. package/dist/cjs/bds-text-field.cjs.entry.js +8 -3
  150. package/dist/cjs/bds-toggle.cjs.entry.js +1 -1
  151. package/dist/cjs/bds-tooltip_2.cjs.entry.js +7 -5
  152. package/dist/cjs/boreal-web-components.cjs.js +1 -1
  153. package/dist/cjs/checkbox-form-association-DTEpHXUD.js +43 -0
  154. package/dist/cjs/{getOffset-k4ezB-eT.js → getOffset-CsDHFjPW.js} +1 -1
  155. package/dist/cjs/loader.cjs.js +1 -1
  156. package/dist/collection/collection-manifest.json +16 -10
  157. package/dist/collection/components/actions/bds-button/bds-button.css +36 -36
  158. package/dist/collection/components/actions/bds-button/bds-button.js +29 -5
  159. package/dist/collection/components/actions/bds-button-group/bds-button-group.css +1 -1
  160. package/dist/collection/components/actions/bds-button-group/bds-button-group.js +21 -2
  161. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.js +136 -3
  162. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.css +5 -2
  163. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.js +20 -7
  164. package/dist/collection/components/actions/bds-toggle/bds-toggle.css +3 -3
  165. package/dist/collection/components/feedback/bds-tag/bds-tag.css +6 -6
  166. package/dist/collection/components/forms/bds-checkbox/bds-checkbox/bds-checkbox.css +132 -0
  167. package/dist/collection/components/forms/bds-checkbox/{bds-checkbox.js → bds-checkbox/bds-checkbox.js} +135 -38
  168. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.css +113 -0
  169. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.js +382 -0
  170. package/dist/collection/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.css +15 -3
  171. package/dist/collection/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.js +97 -51
  172. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.css +55 -0
  173. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.js +648 -0
  174. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/enum.js +5 -0
  175. package/dist/collection/components/forms/bds-checkbox/bds-checkbox-group/types/index.js +3 -0
  176. package/dist/collection/components/forms/bds-checkbox/utils/checkbox-form-association.js +39 -0
  177. package/dist/collection/components/forms/bds-checkbox/utils/index.js +1 -0
  178. package/dist/collection/components/forms/bds-flag/bds-flag.js +1 -1
  179. package/dist/collection/components/forms/bds-radio/{bds-radio.css → bds-radio/bds-radio.css} +3 -3
  180. package/dist/collection/components/forms/bds-radio/{bds-radio.js → bds-radio/bds-radio.js} +2 -2
  181. package/dist/collection/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.css +12 -8
  182. package/dist/collection/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.js +2 -2
  183. package/dist/collection/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.css +2 -2
  184. package/dist/collection/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.js +9 -9
  185. package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.js +51 -23
  186. package/dist/collection/components/forms/bds-select/bds-select.css +23 -0
  187. package/dist/collection/components/forms/bds-select/bds-select.js +431 -0
  188. package/dist/collection/components/forms/bds-slider/bds-slider.css +213 -0
  189. package/dist/collection/components/forms/bds-slider/bds-slider.js +847 -0
  190. package/dist/collection/components/forms/bds-slider/helpers/SliderDOMController.js +61 -0
  191. package/dist/collection/components/forms/bds-slider/helpers/SliderService.js +93 -0
  192. package/dist/collection/components/forms/bds-slider/helpers/index.js +3 -0
  193. package/dist/collection/components/forms/bds-slider/helpers/parseValues.js +43 -0
  194. package/dist/collection/components/forms/bds-slider/types/ISlider.js +1 -0
  195. package/dist/collection/components/forms/bds-slider/types/ISliderOptions.js +1 -0
  196. package/dist/collection/components/forms/bds-slider/types/enum.js +16 -0
  197. package/dist/collection/components/forms/bds-slider/types/index.js +5 -0
  198. package/dist/collection/components/forms/bds-slider/types/types.js +1 -0
  199. package/dist/collection/components/forms/bds-text-field/bds-text-field.css +10 -3
  200. package/dist/collection/components/forms/bds-text-field/bds-text-field.js +47 -2
  201. package/dist/collection/components/helpers/bds-divider/bds-divider.js +1 -1
  202. package/dist/collection/components/images-icons/bds-avatar/bds-avatar.js +1 -1
  203. package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.js +3 -3
  204. package/dist/collection/components/layouts/bds-grid/bds-grid/types/IGrid.js +1 -0
  205. package/dist/collection/components/layouts/bds-grid/bds-grid/types/types.js +1 -0
  206. package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.js +9 -9
  207. package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/IGridItem.js +1 -0
  208. package/dist/collection/components/layouts/bds-grid/bds-grid-item/types/types.js +1 -0
  209. package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.css +21 -0
  210. package/dist/collection/components/navigation/bds-breadcrumb/bds-breadcrumb.js +292 -0
  211. package/dist/collection/components/navigation/bds-breadcrumb/types/IBreadcrumb.js +1 -0
  212. package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.css +64 -0
  213. package/dist/collection/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.js +369 -0
  214. package/dist/collection/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.js +1 -0
  215. package/dist/collection/components/overlays/bds-dialog/bds-dialog.css +1 -1
  216. package/dist/collection/components/overlays/bds-dialog/bds-dialog.js +2 -2
  217. package/dist/collection/components/overlays/bds-popover/bds-popover.js +49 -3
  218. package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.js +1 -1
  219. package/dist/collection/components/titles-text/bds-typography/bds-typography.js +30 -47
  220. package/dist/collection/components/titles-text/bds-typography/utils/bds-typography-utils.js +1 -1
  221. package/dist/collection/css/boreal.css +60 -0
  222. package/dist/collection/css/theme-connect.css +15 -0
  223. package/dist/collection/css/theme-engage.css +15 -0
  224. package/dist/collection/css/theme-protect.css +15 -0
  225. package/dist/collection/css/theme-proximus.css +15 -0
  226. package/dist/collection/mixins/menu-behavior.mixin.js +1 -1
  227. package/dist/collection/scss/maps/_theme-connect.scss +16 -1
  228. package/dist/collection/scss/maps/_theme-engage.scss +16 -1
  229. package/dist/collection/scss/maps/_theme-protect.scss +16 -1
  230. package/dist/collection/scss/maps/_theme-proximus.scss +16 -1
  231. package/dist/collection/scss/variables/_theme-connect.scss +16 -1
  232. package/dist/collection/scss/variables/_theme-engage.scss +16 -1
  233. package/dist/collection/scss/variables/_theme-protect.scss +16 -1
  234. package/dist/collection/scss/variables/_theme-proximus.scss +16 -1
  235. package/dist/collection/types/index.js +0 -1
  236. package/dist/collection/utils/a11y/index.js +4 -0
  237. package/dist/collection/utils/a11y/keyboard/KeyboardController.js +566 -0
  238. package/dist/collection/utils/a11y/keyboard/_constants.js +30 -0
  239. package/dist/collection/utils/a11y/keyboard/focus/aria-activedescendant.js +41 -0
  240. package/dist/collection/utils/a11y/keyboard/focus/resolve.js +48 -0
  241. package/dist/collection/utils/a11y/keyboard/focus/roving-tabindex.js +55 -0
  242. package/dist/collection/utils/a11y/keyboard/navigation/grid-navigation.js +194 -0
  243. package/dist/collection/utils/a11y/keyboard/navigation/linear-navigation.js +137 -0
  244. package/dist/collection/utils/a11y/keyboard/types/IKeyboardController.js +1 -0
  245. package/dist/collection/utils/a11y/keyboard/types/index.js +2 -0
  246. package/dist/collection/utils/a11y/keyboard/types/types.js +1 -0
  247. package/dist/collection/utils/constants/common/Keys.js +25 -6
  248. package/dist/collection/utils/dom/elements.js +63 -0
  249. package/dist/css/boreal.css +60 -0
  250. package/dist/css/theme-connect.css +15 -0
  251. package/dist/css/theme-engage.css +15 -0
  252. package/dist/css/theme-protect.css +15 -0
  253. package/dist/css/theme-proximus.css +15 -0
  254. package/dist/esm/KeyboardController-DcnXb5F5.js +1064 -0
  255. package/dist/esm/Keys-7G4h4DI7.js +31 -0
  256. package/dist/esm/bds-avatar.entry.js +1 -1
  257. package/dist/esm/bds-breadcrumb-item.entry.js +104 -0
  258. package/dist/esm/bds-breadcrumb.entry.js +125 -0
  259. package/dist/esm/bds-button-group.entry.js +23 -2
  260. package/dist/esm/bds-button.entry.js +33 -6
  261. package/dist/esm/bds-checkbox-button.entry.js +117 -0
  262. package/dist/esm/bds-checkbox-card.entry.js +37 -23
  263. package/dist/esm/bds-checkbox-group.entry.js +290 -0
  264. package/dist/esm/bds-checkbox.entry.js +62 -31
  265. package/dist/esm/bds-dialog.entry.js +3 -3
  266. package/dist/esm/bds-divider.entry.js +1 -1
  267. package/dist/esm/bds-flag.entry.js +1 -1
  268. package/dist/esm/bds-grid-item.entry.js +1 -1
  269. package/dist/esm/bds-grid.entry.js +1 -1
  270. package/dist/esm/bds-list-menu-item.entry.js +19 -8
  271. package/dist/esm/bds-list-menu.entry.js +38 -3
  272. package/dist/esm/bds-popover.entry.js +13 -5
  273. package/dist/esm/bds-radio-button.entry.js +2 -2
  274. package/dist/esm/bds-radio-card.entry.js +2 -2
  275. package/dist/esm/bds-radio-group.entry.js +14 -8
  276. package/dist/esm/bds-radio.entry.js +2 -2
  277. package/dist/esm/bds-select.entry.js +392 -0
  278. package/dist/esm/bds-slider.entry.js +653 -0
  279. package/dist/esm/bds-tag.entry.js +1 -1
  280. package/dist/esm/bds-text-field.entry.js +8 -3
  281. package/dist/esm/bds-toggle.entry.js +1 -1
  282. package/dist/esm/bds-tooltip_2.entry.js +7 -5
  283. package/dist/esm/boreal-web-components.js +1 -1
  284. package/dist/esm/checkbox-form-association-cgdh1LO-.js +41 -0
  285. package/dist/esm/{getOffset-BYS3c13B.js → getOffset-DCLpJBcp.js} +1 -1
  286. package/dist/esm/loader.js +1 -1
  287. package/dist/esm-es5/KeyboardController-DcnXb5F5.js +1 -0
  288. package/dist/esm-es5/Keys-7G4h4DI7.js +1 -0
  289. package/dist/esm-es5/bds-avatar.entry.js +1 -1
  290. package/dist/esm-es5/bds-breadcrumb-item.entry.js +1 -0
  291. package/dist/esm-es5/bds-breadcrumb.entry.js +1 -0
  292. package/dist/esm-es5/bds-button-group.entry.js +1 -1
  293. package/dist/esm-es5/bds-button.entry.js +1 -1
  294. package/dist/esm-es5/bds-checkbox-button.entry.js +1 -0
  295. package/dist/esm-es5/bds-checkbox-card.entry.js +1 -1
  296. package/dist/esm-es5/bds-checkbox-group.entry.js +1 -0
  297. package/dist/esm-es5/bds-checkbox.entry.js +1 -1
  298. package/dist/esm-es5/bds-dialog.entry.js +1 -1
  299. package/dist/esm-es5/bds-divider.entry.js +1 -1
  300. package/dist/esm-es5/bds-flag.entry.js +1 -1
  301. package/dist/esm-es5/bds-grid-item.entry.js +1 -1
  302. package/dist/esm-es5/bds-grid.entry.js +1 -1
  303. package/dist/esm-es5/bds-list-menu-item.entry.js +1 -1
  304. package/dist/esm-es5/bds-list-menu.entry.js +1 -1
  305. package/dist/esm-es5/bds-popover.entry.js +1 -1
  306. package/dist/esm-es5/bds-radio-button.entry.js +1 -1
  307. package/dist/esm-es5/bds-radio-card.entry.js +1 -1
  308. package/dist/esm-es5/bds-radio-group.entry.js +1 -1
  309. package/dist/esm-es5/bds-radio.entry.js +1 -1
  310. package/dist/esm-es5/bds-select.entry.js +1 -0
  311. package/dist/esm-es5/bds-slider.entry.js +1 -0
  312. package/dist/esm-es5/bds-tag.entry.js +1 -1
  313. package/dist/esm-es5/bds-text-field.entry.js +1 -1
  314. package/dist/esm-es5/bds-toggle.entry.js +1 -1
  315. package/dist/esm-es5/bds-tooltip_2.entry.js +1 -1
  316. package/dist/esm-es5/boreal-web-components.js +1 -1
  317. package/dist/esm-es5/checkbox-form-association-cgdh1LO-.js +1 -0
  318. package/dist/esm-es5/{getOffset-BYS3c13B.js → getOffset-DCLpJBcp.js} +1 -1
  319. package/dist/esm-es5/loader.js +1 -1
  320. package/dist/scss/maps/_theme-connect.scss +16 -1
  321. package/dist/scss/maps/_theme-engage.scss +16 -1
  322. package/dist/scss/maps/_theme-protect.scss +16 -1
  323. package/dist/scss/maps/_theme-proximus.scss +16 -1
  324. package/dist/scss/variables/_theme-connect.scss +16 -1
  325. package/dist/scss/variables/_theme-engage.scss +16 -1
  326. package/dist/scss/variables/_theme-protect.scss +16 -1
  327. package/dist/scss/variables/_theme-proximus.scss +16 -1
  328. package/dist/types/components/actions/bds-button/bds-button.d.ts +4 -0
  329. package/dist/types/components/actions/bds-button-group/bds-button-group.d.ts +4 -0
  330. package/dist/types/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.d.ts +13 -0
  331. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.d.ts +3 -0
  332. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.d.ts +4 -1
  333. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.d.ts +1 -0
  334. package/dist/types/components/actions/bds-toggle/types/IToggle.d.ts +1 -1
  335. package/dist/types/components/forms/bds-checkbox/{bds-checkbox.d.ts → bds-checkbox/bds-checkbox.d.ts} +23 -10
  336. package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/bds-checkbox-button.d.ts +68 -0
  337. package/dist/types/components/forms/bds-checkbox/bds-checkbox-button/types/ICheckboxButton.d.ts +15 -0
  338. package/dist/types/components/forms/{bds-checkbox-card → bds-checkbox/bds-checkbox-card}/bds-checkbox-card.d.ts +15 -22
  339. package/dist/types/components/forms/bds-checkbox/bds-checkbox-card/types/ICheckboxCard.d.ts +9 -0
  340. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/bds-checkbox-group.d.ts +86 -0
  341. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.d.ts +27 -0
  342. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/enum.d.ts +6 -0
  343. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/index.d.ts +4 -0
  344. package/dist/types/components/forms/bds-checkbox/bds-checkbox-group/types/types.d.ts +4 -0
  345. package/dist/types/components/forms/bds-checkbox/types/ICheckbox.d.ts +7 -22
  346. package/dist/types/components/forms/bds-checkbox/utils/checkbox-form-association.d.ts +10 -0
  347. package/dist/types/components/forms/bds-checkbox/utils/index.d.ts +2 -0
  348. package/dist/types/components/forms/bds-radio/{bds-radio.d.ts → bds-radio/bds-radio.d.ts} +1 -1
  349. package/dist/types/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/bds-radio-button.d.ts +1 -1
  350. package/dist/types/components/forms/{bds-radio-button → bds-radio/bds-radio-button}/types/IRadioButton.d.ts +1 -0
  351. package/dist/types/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/bds-radio-card.d.ts +1 -1
  352. package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.d.ts +13 -10
  353. package/dist/types/components/forms/bds-radio/bds-radio-group/types/IRadioGroup.d.ts +20 -0
  354. package/dist/types/components/forms/bds-select/bds-select.d.ts +98 -0
  355. package/dist/types/components/forms/bds-select/types/ISelect.d.ts +6 -0
  356. package/dist/types/components/forms/bds-slider/bds-slider.d.ts +176 -0
  357. package/dist/types/components/forms/bds-slider/helpers/SliderDOMController.d.ts +38 -0
  358. package/dist/types/components/forms/bds-slider/helpers/SliderService.d.ts +44 -0
  359. package/dist/types/components/forms/bds-slider/helpers/index.d.ts +4 -0
  360. package/dist/types/components/forms/bds-slider/helpers/parseValues.d.ts +18 -0
  361. package/dist/types/components/forms/bds-slider/types/ChangeDetail.d.ts +9 -0
  362. package/dist/types/components/forms/bds-slider/types/ISlider.d.ts +17 -0
  363. package/dist/types/components/forms/bds-slider/types/ISliderOptions.d.ts +31 -0
  364. package/dist/types/components/forms/bds-slider/types/enum.d.ts +17 -0
  365. package/dist/types/components/forms/bds-slider/types/index.d.ts +6 -0
  366. package/dist/types/components/forms/bds-slider/types/types.d.ts +5 -0
  367. package/dist/types/components/forms/bds-text-field/bds-text-field.d.ts +4 -0
  368. package/dist/types/components/navigation/bds-breadcrumb/bds-breadcrumb.d.ts +57 -0
  369. package/dist/types/components/navigation/bds-breadcrumb/types/IBreadcrumb.d.ts +17 -0
  370. package/dist/types/components/navigation/bds-breadcrumb-item/bds-breadcrumb-item.d.ts +83 -0
  371. package/dist/types/components/navigation/bds-breadcrumb-item/types/IBreadcrumbItem.d.ts +20 -0
  372. package/dist/types/components/overlays/bds-popover/bds-popover.d.ts +4 -0
  373. package/dist/types/components/titles-text/bds-typography/bds-typography.d.ts +2 -46
  374. package/dist/types/components/titles-text/bds-typography/types/ITypography.d.ts +1 -0
  375. package/dist/types/components.d.ts +1136 -277
  376. package/dist/types/types/form.d.ts +24 -0
  377. package/dist/types/types/index.d.ts +0 -1
  378. package/dist/types/utils/a11y/index.d.ts +4 -0
  379. package/dist/types/utils/a11y/keyboard/KeyboardController.d.ts +321 -0
  380. package/dist/types/utils/a11y/keyboard/_constants.d.ts +28 -0
  381. package/dist/types/utils/a11y/keyboard/focus/aria-activedescendant.d.ts +17 -0
  382. package/dist/types/utils/a11y/keyboard/focus/resolve.d.ts +23 -0
  383. package/dist/types/utils/a11y/keyboard/focus/roving-tabindex.d.ts +20 -0
  384. package/dist/types/utils/a11y/keyboard/navigation/grid-navigation.d.ts +9 -0
  385. package/dist/types/utils/a11y/keyboard/navigation/linear-navigation.d.ts +13 -0
  386. package/dist/types/utils/a11y/keyboard/types/IKeyboardController.d.ts +125 -0
  387. package/dist/types/utils/a11y/keyboard/types/index.d.ts +3 -0
  388. package/dist/types/utils/a11y/keyboard/types/types.d.ts +6 -0
  389. package/dist/types/utils/constants/common/Keys.d.ts +23 -6
  390. package/dist/types/utils/dom/elements.d.ts +41 -0
  391. package/package.json +1 -1
  392. package/components-build/p-Cbibqaz0.js +0 -1
  393. package/components-build/p-ClR-wgiT.js +0 -1
  394. package/components-build/p-N_tqtRV2.js +0 -1
  395. package/components-build/p-bAMuJ4Jx.js +0 -1
  396. package/components-build/p-c2z3tneT.js +0 -1
  397. package/components-build/p-dz9-Q2N8.js +0 -1
  398. package/components-build/p-iq2UuV7c.js +0 -1
  399. package/dist/boreal-web-components/p-06DrzEMB.system.js +0 -1
  400. package/dist/boreal-web-components/p-11e4c0ec.system.entry.js +0 -1
  401. package/dist/boreal-web-components/p-148d510f.entry.js +0 -1
  402. package/dist/boreal-web-components/p-277f142e.system.entry.js +0 -1
  403. package/dist/boreal-web-components/p-2be4aa3a.system.entry.js +0 -1
  404. package/dist/boreal-web-components/p-340896b2.entry.js +0 -1
  405. package/dist/boreal-web-components/p-3d4ce8eb.system.entry.js +0 -1
  406. package/dist/boreal-web-components/p-44a8fde5.entry.js +0 -1
  407. package/dist/boreal-web-components/p-5681b294.system.entry.js +0 -1
  408. package/dist/boreal-web-components/p-5ed75075.entry.js +0 -1
  409. package/dist/boreal-web-components/p-635f676b.system.entry.js +0 -1
  410. package/dist/boreal-web-components/p-68b83680.system.entry.js +0 -1
  411. package/dist/boreal-web-components/p-6a60d134.system.entry.js +0 -1
  412. package/dist/boreal-web-components/p-7e672cce.entry.js +0 -1
  413. package/dist/boreal-web-components/p-81401e2a.system.entry.js +0 -1
  414. package/dist/boreal-web-components/p-8289e506.entry.js +0 -1
  415. package/dist/boreal-web-components/p-82d15372.entry.js +0 -1
  416. package/dist/boreal-web-components/p-851c06f2.entry.js +0 -1
  417. package/dist/boreal-web-components/p-8a3716ec.entry.js +0 -1
  418. package/dist/boreal-web-components/p-8f4f8af0.system.entry.js +0 -1
  419. package/dist/boreal-web-components/p-DlYG-OVB.js +0 -1
  420. package/dist/boreal-web-components/p-DpnBDSUm.system.js +0 -1
  421. package/dist/boreal-web-components/p-a73659ac.system.entry.js +0 -1
  422. package/dist/boreal-web-components/p-b2ad9535.system.entry.js +0 -1
  423. package/dist/boreal-web-components/p-d4c30d2b.entry.js +0 -1
  424. package/dist/boreal-web-components/p-db0c10b9.system.entry.js +0 -1
  425. package/dist/boreal-web-components/p-dca16a3d.entry.js +0 -1
  426. package/dist/boreal-web-components/p-de846c43.system.entry.js +0 -1
  427. package/dist/boreal-web-components/p-df087e23.system.entry.js +0 -1
  428. package/dist/boreal-web-components/p-dfb4854e.entry.js +0 -1
  429. package/dist/boreal-web-components/p-dz9-Q2N8.js +0 -1
  430. package/dist/boreal-web-components/p-e09b4d14.system.entry.js +0 -1
  431. package/dist/boreal-web-components/p-e7af1e1a.entry.js +0 -1
  432. package/dist/boreal-web-components/p-f792aa74.entry.js +0 -1
  433. package/dist/cjs/Keys-rKl2za5q.js +0 -18
  434. package/dist/cjs/menu-BxKaEajh.js +0 -8
  435. package/dist/collection/components/forms/bds-checkbox/bds-checkbox.css +0 -91
  436. package/dist/esm/Keys-DlYG-OVB.js +0 -16
  437. package/dist/esm/menu-dz9-Q2N8.js +0 -6
  438. package/dist/esm-es5/Keys-DlYG-OVB.js +0 -1
  439. package/dist/esm-es5/menu-dz9-Q2N8.js +0 -1
  440. package/dist/types/components/forms/bds-checkbox-card/types/ICheckboxCard.d.ts +0 -8
  441. package/dist/types/components/forms/bds-radio-group/types/IRadioGroup.d.ts +0 -19
  442. package/dist/types/types/IFormProps.d.ts +0 -25
  443. /package/dist/collection/components/forms/{bds-checkbox-card/types/ICheckboxCard.js → bds-checkbox/bds-checkbox-button/types/ICheckboxButton.js} +0 -0
  444. /package/dist/collection/components/forms/{bds-radio-button/types/IRadioButton.js → bds-checkbox/bds-checkbox-card/types/ICheckboxCard.js} +0 -0
  445. /package/dist/collection/components/forms/{bds-radio-card/types/IRadioCard.js → bds-checkbox/bds-checkbox-group/types/ICheckboxGroup.js} +0 -0
  446. /package/dist/collection/components/forms/{bds-radio-group → bds-checkbox/bds-checkbox-group}/types/types.js +0 -0
  447. /package/dist/collection/components/{layouts/bds-grid/grid/types/IGrid.js → forms/bds-radio/bds-radio/types/IRadio.js} +0 -0
  448. /package/dist/collection/components/forms/{bds-radio-group/types/IRadioGroup.js → bds-radio/bds-radio-button/types/IRadioButton.js} +0 -0
  449. /package/dist/collection/components/forms/bds-radio/{types/IRadio.js → bds-radio-card/types/IRadioCard.js} +0 -0
  450. /package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/bds-radio-group.css +0 -0
  451. /package/dist/collection/components/{layouts/bds-grid/grid-item/types/IGridItem.js → forms/bds-radio/bds-radio-group/types/IRadioGroup.js} +0 -0
  452. /package/dist/collection/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/enum.js +0 -0
  453. /package/dist/collection/components/{layouts/bds-grid/grid-item → forms/bds-radio/bds-radio-group}/types/types.js +0 -0
  454. /package/dist/collection/components/{layouts/bds-grid/grid/types/types.js → forms/bds-select/types/ISelect.js} +0 -0
  455. /package/dist/collection/{types/IFormProps.js → components/forms/bds-slider/types/ChangeDetail.js} +0 -0
  456. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.css +0 -0
  457. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/enum.js +0 -0
  458. /package/dist/collection/components/layouts/bds-grid/{grid → bds-grid}/types/index.js +0 -0
  459. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.css +0 -0
  460. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.js +0 -0
  461. /package/dist/collection/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.js +0 -0
  462. /package/dist/types/components/forms/bds-radio/{types → bds-radio/types}/IRadio.d.ts +0 -0
  463. /package/dist/types/components/forms/{bds-radio-card → bds-radio/bds-radio-card}/types/IRadioCard.d.ts +0 -0
  464. /package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/enum.d.ts +0 -0
  465. /package/dist/types/components/forms/{bds-radio-group → bds-radio/bds-radio-group}/types/types.d.ts +0 -0
  466. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/bds-grid.d.ts +0 -0
  467. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/IGrid.d.ts +0 -0
  468. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/enum.d.ts +0 -0
  469. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/index.d.ts +0 -0
  470. /package/dist/types/components/layouts/bds-grid/{grid → bds-grid}/types/types.d.ts +0 -0
  471. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/bds-grid-item.d.ts +0 -0
  472. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/IGridItem.d.ts +0 -0
  473. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/enum.d.ts +0 -0
  474. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/index.d.ts +0 -0
  475. /package/dist/types/components/layouts/bds-grid/{grid-item → bds-grid-item}/types/types.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Host, Mixin, h } from "@stencil/core";
2
- import { COMPONENT_STATES, MENU_ROLES } from "../../../../types/index";
2
+ import { COMPONENT_STATES } from "../../../../types/index";
3
3
  import { validatePropValue } from "../../../../utils/helpers/validateProps";
4
4
  import { MenuItemBehavior, WithLinks } from "../../../../mixins/index";
5
5
  import { LIST_MENU_ITEM_VARIANTS } from "./types/enum";
@@ -72,6 +72,8 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
72
72
  this.download = '';
73
73
  /** State to manage click and keyboard interaction states */
74
74
  this.currentState = COMPONENT_STATES.DEFAULT;
75
+ /** State to manage checked box */
76
+ this.boxChecked = false;
75
77
  /** Event to notify when the menu item is clicked */
76
78
  this.handleClick = (e) => {
77
79
  if (this.disabled || this.isLabelVariant)
@@ -81,11 +83,10 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
81
83
  this.handleLinkClick(e);
82
84
  return;
83
85
  }
84
- if (this.checkable && this.parentRole !== MENU_ROLES.LISTBOX)
85
- this.selected = !this.selected;
86
86
  this.bdsSelectItem.emit({
87
87
  value: this.value,
88
88
  selected: !this.selected,
89
+ element: this.el,
89
90
  });
90
91
  };
91
92
  /** Event to handle keydown navigation and trigger click */
@@ -110,9 +111,17 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
110
111
  checkPropsVariant() {
111
112
  validatePropValue(Object.values(LIST_MENU_ITEM_VARIANTS), LIST_MENU_ITEM_VARIANTS.BUTTON, this.el, 'variant');
112
113
  }
114
+ handleSelectedChange(newValue) {
115
+ if (this.checkable) {
116
+ this.boxChecked = newValue;
117
+ }
118
+ }
113
119
  /** Lifecycle method called before the component is loaded */
114
120
  componentWillLoad() {
115
121
  this.checkPropsVariant();
122
+ if (this.checkable) {
123
+ this.boxChecked = this.selected;
124
+ }
116
125
  }
117
126
  /** Improve aria resolve for checkable items */
118
127
  get menuItemRoleExtended() {
@@ -143,7 +152,7 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
143
152
  renderCheckbox() {
144
153
  if (!this.checkable)
145
154
  return null;
146
- return (h("bds-checkbox", { checked: this.selected, disabled: this.disabled, name: `checkbox-${this.value}`, tabindex: "-1", style: { pointerEvents: 'none' }, inert: true }));
155
+ return (h("bds-checkbox", { checked: this.boxChecked, disabled: this.disabled, name: `checkbox-${this.value}`, tabindex: "-1", style: { pointerEvents: 'none' }, inert: true }));
147
156
  }
148
157
  /** Return the render for the button variant of the list menu item */
149
158
  renderTypeButton() {
@@ -155,7 +164,7 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
155
164
  if (this.isLabelVariant)
156
165
  renderItem = this.renderTypeLabel();
157
166
  const linkAttributes = this.isLink ? { ...this.linkAttributes, tabindex: this.activeItem ? 0 : -1 } : {};
158
- return (h(Host, { key: '0882d4cb677f6621518113c48e92d7e94cb71916', class: this.classMap, role: this.isLabelVariant ? 'presentation' : this.menuItemRoleExtended, "aria-selected": !this.checkable ? this.ariaSelected : false, "aria-checked": this.checkable ? this.ariaSelected : undefined, ...linkAttributes, tabIndex: this.isLabelVariant ? -1 : this.itemTabIndex, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onKeyUp: this.handleKeyUp }, renderItem));
167
+ return (h(Host, { key: 'f2eba72a913704f5de812a1be1f7aafbd718f27b', class: this.classMap, role: this.isLabelVariant ? 'presentation' : this.menuItemRoleExtended, "aria-selected": !this.checkable ? this.ariaSelected : false, "aria-checked": this.checkable ? this.ariaSelected : undefined, ...linkAttributes, tabIndex: this.isLabelVariant ? -1 : this.itemTabIndex, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onKeyUp: this.handleKeyUp }, renderItem));
159
168
  }
160
169
  static get is() { return "bds-list-menu-item"; }
161
170
  static get originalStyleUrls() {
@@ -253,7 +262,7 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
253
262
  },
254
263
  "selected": {
255
264
  "type": "boolean",
256
- "mutable": true,
265
+ "mutable": false,
257
266
  "complexType": {
258
267
  "original": "IListMenuItem['selected']",
259
268
  "resolved": "boolean",
@@ -444,7 +453,8 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
444
453
  }
445
454
  static get states() {
446
455
  return {
447
- "currentState": {}
456
+ "currentState": {},
457
+ "boxChecked": {}
448
458
  };
449
459
  }
450
460
  static get events() {
@@ -477,6 +487,9 @@ export class BdsListMenuItem extends Mixin(MenuItemBehavior, WithLinks) {
477
487
  return [{
478
488
  "propName": "variant",
479
489
  "methodName": "checkPropsVariant"
490
+ }, {
491
+ "propName": "selected",
492
+ "methodName": "handleSelectedChange"
480
493
  }];
481
494
  }
482
495
  }
@@ -35,14 +35,14 @@
35
35
  outline: none;
36
36
  }
37
37
  .bds-toggle:active .bds-toggle__input:not([disabled]) + .bds-toggle__slider, .bds-toggle:focus-visible .bds-toggle__input:not([disabled]) + .bds-toggle__slider {
38
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);
38
+ box-shadow: var(--boreal-depth-box-shadow-focus);
39
39
  }
40
40
  .bds-toggle .bds-toggle__input:active:not([disabled]) + .bds-toggle__slider,
41
41
  .bds-toggle .bds-toggle__input:focus-visible:not([disabled]) + .bds-toggle__slider {
42
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);
42
+ box-shadow: var(--boreal-depth-box-shadow-focus);
43
43
  }
44
44
  .bds-toggle:hover:not(:active):not([checked]):not([disabled]) .bds-toggle__slider, .bds-toggle:hover:not(:active):focus-within:not([checked]) .bds-toggle__slider {
45
- box-shadow: 0 1px 2px 0 var(--boreal-stroke-default-light);
45
+ box-shadow: var(--boreal-depth-box-shadow-xs);
46
46
  }
47
47
  .bds-toggle__switch {
48
48
  position: relative;
@@ -30,15 +30,15 @@
30
30
  line-height: var(--boreal-typography-line-height-xs);
31
31
  }
32
32
  .bds-tag:hover:not(.bds-tag--selected):not(.bds-tag--disabled) {
33
- box-shadow: 0 1px 2px 0 rgba(19, 19, 22, 0.15);
33
+ box-shadow: var(--boreal-depth-box-shadow-xs);
34
34
  }
35
35
  .bds-tag:focus:not(.bds-tag--selected) {
36
36
  outline: none;
37
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);
37
+ box-shadow: var(--boreal-depth-box-shadow-focus);
38
38
  }
39
39
  .bds-tag--selected {
40
40
  outline: none;
41
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;
41
+ box-shadow: var(--boreal-depth-box-shadow-active);
42
42
  }
43
43
  .bds-tag__icon {
44
44
  font-size: var(--boreal-typography-font-size-md);
@@ -67,7 +67,7 @@
67
67
  cursor: pointer;
68
68
  }
69
69
  .bds-tag__close-button:hover {
70
- box-shadow: 0 1px 2px 0 rgba(19, 19, 22, 0.15);
70
+ box-shadow: var(--boreal-depth-box-shadow-xs);
71
71
  background-color: var(--boreal-ui-inverse);
72
72
  opacity: 0.5;
73
73
  }
@@ -75,12 +75,12 @@
75
75
  background-color: var(--boreal-ui-inverse);
76
76
  opacity: 0.5;
77
77
  outline: none;
78
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;
78
+ box-shadow: var(--boreal-depth-box-shadow-active);
79
79
  }
80
80
  .bds-tag__close-button:active {
81
81
  background-color: var(--boreal-ui-inverse);
82
82
  opacity: 0.5;
83
- box-shadow: 0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus), 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset, 0 1px 2px 0 rgba(19, 19, 22, 0.15) inset;
83
+ box-shadow: var(--boreal-depth-box-shadow-active);
84
84
  }
85
85
  .bds-tag--disabled {
86
86
  cursor: not-allowed;
@@ -0,0 +1,132 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * Common SCSS placeholder selectors shared across form and layout components.
4
+ * This file is injected globally via `injectGlobalPaths` in `stencil.config.ts`,
5
+ * so all component stylesheets can `@extend` these placeholders without an explicit import.
6
+ *
7
+ * NOTE: Placeholders must only use raw CSS values — `$boreal-*` token variables
8
+ * are not available at this level util use style-guidelines.
9
+ */
10
+ /**
11
+ * TODO: Refactor to use styleguidelines this work as first draft
12
+ **/
13
+ .bds-checkbox__info {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ }
17
+
18
+ /**
19
+ * This file contains mixins and functions for common interactions styles such as focus rings and transitions.
20
+ * These are used across multiple components to ensure consistency in interaction feedback.
21
+ */
22
+ .bds-checkbox {
23
+ font-family: var(--boreal-typography-font-family-primary);
24
+ display: inline-flex;
25
+ align-items: center;
26
+ vertical-align: middle;
27
+ gap: var(--boreal-spacing-2xs);
28
+ outline: none;
29
+ cursor: pointer;
30
+ }
31
+ .bds-checkbox input[type=checkbox] {
32
+ position: absolute;
33
+ opacity: 0;
34
+ width: 0;
35
+ height: 0;
36
+ margin: 0;
37
+ pointer-events: none;
38
+ }
39
+ .bds-checkbox__content {
40
+ display: inline-flex;
41
+ align-items: center;
42
+ gap: var(--boreal-spacing-3xs);
43
+ }
44
+ .bds-checkbox__required-indicator {
45
+ color: var(--boreal-icon-danger-base);
46
+ font-weight: var(--boreal-typography-font-weight-regular);
47
+ font-style: normal;
48
+ }
49
+ .bds-checkbox__info-icon {
50
+ font-size: var(--boreal-typography-font-size-xs);
51
+ color: var(--boreal-icon-default-light);
52
+ }
53
+ .bds-checkbox__label {
54
+ font-size: var(--boreal-typography-font-size-sm);
55
+ line-height: var(--boreal-typography-line-height-sm);
56
+ }
57
+ .bds-checkbox__label:empty {
58
+ display: none;
59
+ }
60
+ .bds-checkbox__icon:empty {
61
+ display: none;
62
+ }
63
+ .bds-checkbox__box {
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ width: var(--boreal-spacing-m);
68
+ height: var(--boreal-spacing-m);
69
+ border: var(--boreal-spacing-3xs) solid var(--boreal-stroke-default-light);
70
+ background: var(--boreal-ui-inverse);
71
+ border-radius: var(--boreal-spacing-2xs);
72
+ transition: background 0.2s ease;
73
+ }
74
+ .bds-checkbox:hover .bds-checkbox__box {
75
+ box-shadow: var(--boreal-depth-box-shadow-xs);
76
+ }
77
+ .bds-checkbox:focus .bds-checkbox__box, .bds-checkbox:focus-visible .bds-checkbox__box {
78
+ box-shadow: var(--boreal-depth-box-shadow-focus);
79
+ }
80
+ .bds-checkbox:active .bds-checkbox__box {
81
+ box-shadow: var(--boreal-depth-box-shadow-active);
82
+ }
83
+ .bds-checkbox--checked .bds-checkbox__box {
84
+ border-color: var(--boreal-ui-primary-base);
85
+ background: var(--boreal-ui-primary-base);
86
+ color: var(--boreal-icon-inverse);
87
+ }
88
+ .bds-checkbox--checked:hover .bds-checkbox__box {
89
+ border-color: var(--boreal-stroke-primary-dark);
90
+ background: var(--boreal-ui-primary-dark);
91
+ }
92
+ .bds-checkbox--checked:active .bds-checkbox__box {
93
+ border-color: var(--boreal-stroke-primary-dark);
94
+ background: var(--boreal-ui-primary-dark);
95
+ }
96
+ .bds-checkbox--checked:disabled .bds-checkbox__box {
97
+ border-color: var(--boreal-stroke-primary-light);
98
+ background: var(--boreal-ui-primary-light);
99
+ }
100
+ .bds-checkbox--indeterminate .bds-checkbox__box {
101
+ color: var(--boreal-icon-default-ink);
102
+ }
103
+ .bds-checkbox--indeterminate:disabled .bds-checkbox__box {
104
+ color: var(--boreal-icon-disabled);
105
+ background: var(--boreal-ui-inverse);
106
+ }
107
+ .bds-checkbox--error .bds-checkbox__box {
108
+ border-color: var(--boreal-stroke-danger-base);
109
+ }
110
+ .bds-checkbox--error.bds-checkbox--checked .bds-checkbox__box {
111
+ border-color: var(--boreal-stroke-danger-base);
112
+ background: var(--boreal-stroke-danger-base);
113
+ }
114
+ .bds-checkbox--error.bds-checkbox--indeterminate .bds-checkbox__box {
115
+ color: var(--boreal-icon-inverse);
116
+ border-color: var(--boreal-stroke-danger-base);
117
+ background: var(--boreal-stroke-danger-base);
118
+ }
119
+ .bds-checkbox--disabled {
120
+ pointer-events: none;
121
+ cursor: not-allowed;
122
+ }
123
+ .bds-checkbox--disabled .bds-checkbox__box {
124
+ border-color: var(--boreal-stroke-default-light);
125
+ background: var(--boreal-ui-disabled);
126
+ }
127
+ .bds-checkbox--disabled .bds-checkbox__label {
128
+ color: var(--boreal-text-disabled);
129
+ }
130
+ .bds-checkbox--disabled .bds-checkbox__required-indicator {
131
+ color: var(--boreal-text-danger-light);
132
+ }
@@ -1,7 +1,9 @@
1
1
  import { Host, Mixin, h, } from "@stencil/core";
2
- import { formAssociatedMixin } from "../../../mixins/form-associated.mixin";
3
- import { setFormValue } from "../../../utils/form/index";
4
- import { inheritAriaAttributes } from "../../../utils/a11y/attributes";
2
+ import { formAssociatedMixin } from "../../../../mixins/form-associated.mixin";
3
+ import { inheritAriaAttributes } from "../../../../utils/a11y/attributes";
4
+ import { KeyboardController, KEYBOARD } from "../../../../utils/index";
5
+ import { useFormCheckbox } from "../utils";
6
+ import { createId } from "../../../../utils/index";
5
7
  /**
6
8
  * Checkbox component for boolean selection with three visual states.
7
9
  *
@@ -21,11 +23,23 @@ import { inheritAriaAttributes } from "../../../utils/a11y/attributes";
21
23
  export class BdsCheckbox extends Mixin(formAssociatedMixin) {
22
24
  constructor() {
23
25
  this.inheritedAttributes = {};
26
+ this._keyboard = new KeyboardController();
27
+ this._id = createId('bds-checkbox');
24
28
  /** Internal mirror of the `disabled` prop, kept in sync via `@Watch` and `formDisabledCallback`. */
25
29
  this.isDisabled = false;
26
- /** Disables the control. */
30
+ /** Set to true when native form validation fires the `invalid` event; cleared on reset or when value becomes valid. */
31
+ this.isInvalid = false;
32
+ // ---------------------------------------------------------------------------
33
+ // Props (from formAssociatedMixin — redeclared here because Stencil's spec-
34
+ // test compiler only sees @Prop decorators that are statically on the class)
35
+ // ---------------------------------------------------------------------------
36
+ /** Name of the form control, submitted as a key in the form data. */
37
+ this.name = '';
38
+ /** Tooltip text for the checkbox. */
39
+ this.info = '';
40
+ /** Disables the checkbox. */
27
41
  this.disabled = false;
28
- /** Marks the control as required for form submission. */
42
+ /** Marks the checkbox as required for form submission. */
29
43
  this.required = false;
30
44
  // ---------------------------------------------------------------------------
31
45
  // Props
@@ -40,15 +54,10 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
40
54
  this.value = 'on';
41
55
  /** Label displayed next to the checkbox. If not provided, the default slot is used. */
42
56
  this.label = '';
57
+ this.formCheckbox = useFormCheckbox(this, this.value);
43
58
  this.handleClick = () => {
44
59
  this.toggle();
45
60
  };
46
- this.handleKeyDown = (e) => {
47
- if (e.key === ' ') {
48
- e.preventDefault();
49
- this.toggle();
50
- }
51
- };
52
61
  super();
53
62
  }
54
63
  // ---------------------------------------------------------------------------
@@ -59,13 +68,22 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
59
68
  this.inheritedAttributes = {
60
69
  ...inheritAriaAttributes(this.el),
61
70
  };
62
- this.syncFormValue();
71
+ }
72
+ componentDidLoad() {
73
+ this.formCheckbox.syncFormValue();
74
+ this._keyboard.attach(this.el).set(KEYBOARD.Space, () => {
75
+ if (!this.isDisabled)
76
+ this.toggle();
77
+ });
78
+ }
79
+ disconnectedCallback() {
80
+ this._keyboard.detach();
63
81
  }
64
82
  // ---------------------------------------------------------------------------
65
83
  // Watchers
66
84
  // ---------------------------------------------------------------------------
67
85
  onCheckedChange() {
68
- this.syncFormValue();
86
+ this.formCheckbox.syncFormValue();
69
87
  }
70
88
  onDisabledChange(next) {
71
89
  this.isDisabled = next;
@@ -74,26 +92,32 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
74
92
  // Form-associated callbacks (IFormControl)
75
93
  // ---------------------------------------------------------------------------
76
94
  formAssociatedCallback() {
77
- this.syncFormValue();
95
+ this.formCheckbox.formAssociatedCallback();
78
96
  }
79
97
  formResetCallback() {
80
- this.checked = false;
81
- this.indeterminate = false;
82
- setFormValue(this.internals, null);
98
+ this.formCheckbox.formResetCallback();
83
99
  }
84
- formStateRestoreCallback(state, _mode) {
85
- this.checked = state === this.value;
86
- this.syncFormValue();
100
+ formStateRestoreCallback(state) {
101
+ this.formCheckbox.formStateRestoreCallback(state);
87
102
  }
88
103
  formDisabledCallback(disabled) {
89
- this.isDisabled = disabled;
104
+ this.formCheckbox.formDisabledCallback(disabled);
105
+ }
106
+ /** Reports the group's validity state to the user, showing native validation UI if invalid. */
107
+ async checkValidity() {
108
+ return this.internals.checkValidity();
109
+ }
110
+ /** Reports the group's validity state to the user, showing native validation UI if invalid. */
111
+ async reportValidity() {
112
+ return this.internals.reportValidity();
113
+ }
114
+ handleInvalid(event) {
115
+ event.preventDefault();
116
+ this.isInvalid = true;
90
117
  }
91
118
  // ---------------------------------------------------------------------------
92
119
  // Private helpers
93
120
  // ---------------------------------------------------------------------------
94
- syncFormValue() {
95
- setFormValue(this.internals, this.checked ? this.value : null);
96
- }
97
121
  toggle() {
98
122
  if (this.isDisabled)
99
123
  return;
@@ -102,13 +126,17 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
102
126
  this.valueChange.emit(this.checked);
103
127
  this.bdsChange.emit({ checked: this.checked, value: this.value });
104
128
  }
129
+ get isError() {
130
+ const error = this.error && !this.disabled;
131
+ return error || this.isInvalid;
132
+ }
105
133
  // ---------------------------------------------------------------------------
106
134
  // Render helpers
107
135
  // ---------------------------------------------------------------------------
108
136
  getAriaChecked() {
109
137
  if (this.indeterminate)
110
138
  return 'mixed';
111
- return this.checked ? 'true' : 'false';
139
+ return `${this.checked}`;
112
140
  }
113
141
  get hideFromScreenReaders() {
114
142
  return this.el.closest('bds-checkbox-card') !== null || this.isDisabled;
@@ -122,21 +150,21 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
122
150
  }
123
151
  return null;
124
152
  }
125
- get canShowLabel() {
126
- return this.label !== undefined && this.label !== null;
127
- }
128
153
  // ---------------------------------------------------------------------------
129
154
  // Render
130
155
  // ---------------------------------------------------------------------------
131
- render() {
132
- const classes = {
156
+ getClasses() {
157
+ return {
133
158
  'bds-checkbox': true,
134
159
  'bds-checkbox--checked': this.checked,
135
160
  'bds-checkbox--indeterminate': this.indeterminate,
136
- 'bds-checkbox--error': this.error,
161
+ 'bds-checkbox--error': this.isError,
137
162
  'bds-checkbox--disabled': this.isDisabled,
138
163
  };
139
- return (h(Host, { key: 'd5346e9f5943d81df215268f2c9ad3253941c3c8', class: classes, ...this.inheritedAttributes, role: "checkbox", "aria-checked": this.getAriaChecked(), "aria-disabled": this.isDisabled ? 'true' : null, "aria-hidden": this.hideFromScreenReaders ? 'true' : null, tabindex: this.hideFromScreenReaders ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("span", { key: '217759044655c827609956b4d574fce3ce90c996', class: "bds-checkbox__box" }, this.renderCheckIcon()), this.canShowLabel && (h("span", { key: '47b8120c25700fe6e07e8d626c0acb28ac9387d7', class: "bds-checkbox__label" }, this.label.trim() !== '' ? this.label : h("slot", null)))));
164
+ }
165
+ render() {
166
+ const labelId = `${this._id}-label`;
167
+ return (h(Host, { key: '2d1fa28a22f182826625c313ffaf3a98d0784d0c', class: this.getClasses(), ...this.inheritedAttributes, role: "checkbox", "aria-required": this.required ? 'true' : null, "aria-checked": this.getAriaChecked(), "aria-disabled": this.isDisabled ? 'true' : null, "aria-invalid": this.isError ? 'true' : null, "aria-hidden": this.hideFromScreenReaders ? 'true' : null, "aria-labelledby": labelId || undefined, tabindex: this.hideFromScreenReaders ? -1 : 0, onClick: this.handleClick }, h("input", { key: 'f8e3ca7085aa01a10e7fe397daf10f18024ce254', type: "checkbox", value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, "aria-hidden": "true", tabIndex: -1, onFocus: () => this.el.focus() }), h("span", { key: '397626b30b104d317a8c48554e8b8f6396c9a441', class: "bds-checkbox__box" }, this.renderCheckIcon()), h("span", { key: 'f8aec05775f2819d3c9fd510378bb74a9e22cc5e', class: "bds-checkbox__content" }, h("span", { key: '2956fccc6a6c7aa8624bb43798ece435cec7fbc0', class: "bds-checkbox__icon" }, h("slot", { key: '845c326874e4b854b71a6f0a360e6e692629b683', name: "icon" })), h("label", { key: '35531d1619a81972e29bf5332012b51e19fa3223', id: labelId, class: "bds-checkbox__label" }, this.label.trim() !== '' ? this.label : h("slot", null)), this.required && (h("em", { key: '81ea33ec4c831dea9029680b2ed7fff230849f4a', class: "bds-checkbox__required-indicator", "aria-hidden": "true" }, "*")), this.info && (h("span", { key: '237ad3a810ac31a95e59dc819ca118e8ab94763b', class: "bds-checkbox__info" }, h("span", { key: 'b83aa05c6b5468e7f57b3f36fd5e3ac770d5b985', class: "bds-checkbox__info-icon bds-icon-info-circle", "aria-hidden": "true" }), h("bds-tooltip", { key: '572f7ab57a6144bdd5e22e0ee38a395cda7300d3' }, this.info))))));
140
168
  }
141
169
  static get is() { return "bds-checkbox"; }
142
170
  static get formAssociated() { return true; }
@@ -160,7 +188,7 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
160
188
  "resolved": "string",
161
189
  "references": {}
162
190
  },
163
- "required": true,
191
+ "required": false,
164
192
  "optional": false,
165
193
  "docs": {
166
194
  "tags": [],
@@ -169,7 +197,28 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
169
197
  "getter": false,
170
198
  "setter": false,
171
199
  "reflect": true,
172
- "attribute": "name"
200
+ "attribute": "name",
201
+ "defaultValue": "''"
202
+ },
203
+ "info": {
204
+ "type": "string",
205
+ "mutable": false,
206
+ "complexType": {
207
+ "original": "string",
208
+ "resolved": "string",
209
+ "references": {}
210
+ },
211
+ "required": false,
212
+ "optional": false,
213
+ "docs": {
214
+ "tags": [],
215
+ "text": "Tooltip text for the checkbox."
216
+ },
217
+ "getter": false,
218
+ "setter": false,
219
+ "reflect": true,
220
+ "attribute": "info",
221
+ "defaultValue": "''"
173
222
  },
174
223
  "disabled": {
175
224
  "type": "boolean",
@@ -183,7 +232,7 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
183
232
  "optional": false,
184
233
  "docs": {
185
234
  "tags": [],
186
- "text": "Disables the control."
235
+ "text": "Disables the checkbox."
187
236
  },
188
237
  "getter": false,
189
238
  "setter": false,
@@ -203,7 +252,7 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
203
252
  "optional": false,
204
253
  "docs": {
205
254
  "tags": [],
206
- "text": "Marks the control as required for form submission."
255
+ "text": "Marks the checkbox as required for form submission."
207
256
  },
208
257
  "getter": false,
209
258
  "setter": false,
@@ -315,7 +364,8 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
315
364
  }
316
365
  static get states() {
317
366
  return {
318
- "isDisabled": {}
367
+ "isDisabled": {},
368
+ "isInvalid": {}
319
369
  };
320
370
  }
321
371
  static get events() {
@@ -350,7 +400,7 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
350
400
  "references": {
351
401
  "CheckboxChangeDetail": {
352
402
  "location": "import",
353
- "path": "./types/ICheckbox",
403
+ "path": "../types/ICheckbox",
354
404
  "id": "src/components/forms/bds-checkbox/types/ICheckbox.ts::CheckboxChangeDetail",
355
405
  "referenceLocation": "CheckboxChangeDetail"
356
406
  }
@@ -358,6 +408,44 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
358
408
  }
359
409
  }];
360
410
  }
411
+ static get methods() {
412
+ return {
413
+ "checkValidity": {
414
+ "complexType": {
415
+ "signature": "() => Promise<boolean>",
416
+ "parameters": [],
417
+ "references": {
418
+ "Promise": {
419
+ "location": "global",
420
+ "id": "global::Promise"
421
+ }
422
+ },
423
+ "return": "Promise<boolean>"
424
+ },
425
+ "docs": {
426
+ "text": "Reports the group's validity state to the user, showing native validation UI if invalid.",
427
+ "tags": []
428
+ }
429
+ },
430
+ "reportValidity": {
431
+ "complexType": {
432
+ "signature": "() => Promise<boolean>",
433
+ "parameters": [],
434
+ "references": {
435
+ "Promise": {
436
+ "location": "global",
437
+ "id": "global::Promise"
438
+ }
439
+ },
440
+ "return": "Promise<boolean>"
441
+ },
442
+ "docs": {
443
+ "text": "Reports the group's validity state to the user, showing native validation UI if invalid.",
444
+ "tags": []
445
+ }
446
+ }
447
+ };
448
+ }
361
449
  static get elementRef() { return "el"; }
362
450
  static get watchers() {
363
451
  return [{
@@ -368,5 +456,14 @@ export class BdsCheckbox extends Mixin(formAssociatedMixin) {
368
456
  "methodName": "onDisabledChange"
369
457
  }];
370
458
  }
459
+ static get listeners() {
460
+ return [{
461
+ "name": "invalid",
462
+ "method": "handleInvalid",
463
+ "target": undefined,
464
+ "capture": false,
465
+ "passive": false
466
+ }];
467
+ }
371
468
  static get attachInternalsMemberName() { return "internals"; }
372
469
  }