@telesign/boreal-web-components 0.1.0-alpha.3 → 0.1.0-alpha.5

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 (588) hide show
  1. package/components-build/bds-avatar.d.ts +11 -0
  2. package/components-build/bds-avatar.js +1 -0
  3. package/components-build/bds-badge.d.ts +11 -0
  4. package/components-build/bds-badge.js +1 -0
  5. package/components-build/bds-banner.js +1 -1
  6. package/components-build/bds-button-group.d.ts +11 -0
  7. package/components-build/bds-button-group.js +1 -0
  8. package/components-build/bds-button.js +1 -1
  9. package/components-build/bds-checkbox-card.d.ts +11 -0
  10. package/components-build/bds-checkbox-card.js +1 -0
  11. package/components-build/bds-checkbox.js +1 -1
  12. package/components-build/bds-dialog.js +1 -1
  13. package/components-build/bds-divider.d.ts +11 -0
  14. package/components-build/bds-divider.js +1 -0
  15. package/components-build/bds-flag.js +1 -1
  16. package/components-build/bds-grid-item.d.ts +11 -0
  17. package/components-build/bds-grid-item.js +1 -0
  18. package/components-build/bds-grid.d.ts +11 -0
  19. package/components-build/bds-grid.js +1 -0
  20. package/components-build/bds-list-menu-item.d.ts +11 -0
  21. package/components-build/bds-list-menu-item.js +1 -0
  22. package/components-build/bds-list-menu.d.ts +11 -0
  23. package/components-build/bds-list-menu.js +1 -0
  24. package/components-build/bds-popover.js +1 -1
  25. package/components-build/bds-radio-button.d.ts +11 -0
  26. package/components-build/bds-radio-button.js +1 -0
  27. package/components-build/bds-radio-card.d.ts +11 -0
  28. package/components-build/bds-radio-card.js +1 -0
  29. package/components-build/bds-radio-group.d.ts +11 -0
  30. package/components-build/bds-radio-group.js +1 -0
  31. package/components-build/bds-radio.d.ts +11 -0
  32. package/components-build/bds-radio.js +1 -0
  33. package/components-build/bds-spinner.js +1 -1
  34. package/components-build/bds-status.d.ts +11 -0
  35. package/components-build/bds-status.js +1 -0
  36. package/components-build/bds-tag.d.ts +11 -0
  37. package/components-build/bds-tag.js +1 -0
  38. package/components-build/bds-text-field.js +1 -1
  39. package/components-build/bds-toggle.d.ts +11 -0
  40. package/components-build/bds-toggle.js +1 -0
  41. package/components-build/bds-tooltip.js +1 -1
  42. package/components-build/bds-typography.js +1 -1
  43. package/components-build/index.js +1 -1
  44. package/components-build/p-BSlaf0ff.js +1 -0
  45. package/components-build/p-Bfazyxqi.js +1 -0
  46. package/components-build/p-CPvuMm5C.js +1 -0
  47. package/components-build/p-Cbibqaz0.js +1 -0
  48. package/components-build/p-ClR-wgiT.js +1 -0
  49. package/components-build/p-DfaYciGa.js +1 -0
  50. package/components-build/p-Dh8DSJs_.js +1 -0
  51. package/components-build/p-DhSchGPI.js +1 -0
  52. package/components-build/p-N_tqtRV2.js +1 -0
  53. package/components-build/p-bAMuJ4Jx.js +1 -0
  54. package/components-build/p-c2z3tneT.js +1 -0
  55. package/components-build/p-dz9-Q2N8.js +1 -0
  56. package/components-build/{p-CaHOghy5.js → p-fUK0GCeC.js} +1 -1
  57. package/components-build/p-iq2UuV7c.js +1 -0
  58. package/components-build/p-kGnB15Lz.js +1 -0
  59. package/components-build/p-nxYzL9uu.js +1 -0
  60. package/custom-elements.json +4611 -891
  61. package/dist/boreal-web-components/boreal-web-components.esm.js +1 -1
  62. package/dist/boreal-web-components/boreal-web-components.js +1 -1
  63. package/dist/boreal-web-components/css/boreal.css +1066 -1074
  64. package/dist/boreal-web-components/css/global.css +403 -407
  65. package/dist/boreal-web-components/css/theme-connect.css +163 -164
  66. package/dist/boreal-web-components/css/theme-engage.css +163 -164
  67. package/dist/boreal-web-components/css/theme-protect.css +163 -164
  68. package/dist/boreal-web-components/css/theme-proximus.css +164 -165
  69. package/dist/boreal-web-components/p-024d90b0.system.entry.js +1 -0
  70. package/dist/boreal-web-components/p-06DrzEMB.system.js +1 -0
  71. package/dist/boreal-web-components/p-11e4c0ec.system.entry.js +1 -0
  72. package/dist/boreal-web-components/p-147d6652.system.entry.js +1 -0
  73. package/dist/boreal-web-components/p-148d510f.entry.js +1 -0
  74. package/dist/boreal-web-components/p-19f9352d.entry.js +1 -0
  75. package/dist/boreal-web-components/p-277f142e.system.entry.js +1 -0
  76. package/dist/boreal-web-components/{p-8c57e06a.entry.js → p-2adf2cd5.entry.js} +1 -1
  77. package/dist/boreal-web-components/p-2be4aa3a.system.entry.js +1 -0
  78. package/dist/boreal-web-components/p-340896b2.entry.js +1 -0
  79. package/dist/boreal-web-components/p-365e8e5c.system.entry.js +1 -0
  80. package/dist/boreal-web-components/p-3d4ce8eb.system.entry.js +1 -0
  81. package/dist/boreal-web-components/p-44a8fde5.entry.js +1 -0
  82. package/dist/boreal-web-components/{p-efe57901.system.entry.js → p-48ebbfbe.system.entry.js} +1 -1
  83. package/dist/boreal-web-components/{p-5fa53a80.system.entry.js → p-4dc01078.system.entry.js} +1 -1
  84. package/dist/boreal-web-components/p-5681b294.system.entry.js +1 -0
  85. package/dist/boreal-web-components/p-5ed75075.entry.js +1 -0
  86. package/dist/boreal-web-components/p-635f676b.system.entry.js +1 -0
  87. package/dist/boreal-web-components/p-6629be14.entry.js +1 -0
  88. package/dist/boreal-web-components/p-68b83680.system.entry.js +1 -0
  89. package/dist/boreal-web-components/p-6a60d134.system.entry.js +1 -0
  90. package/dist/boreal-web-components/p-71ed1e1d.entry.js +1 -0
  91. package/dist/boreal-web-components/p-732e98f1.system.entry.js +1 -0
  92. package/dist/boreal-web-components/p-77658a5b.system.entry.js +1 -0
  93. package/dist/boreal-web-components/p-7aff4c78.entry.js +1 -0
  94. package/dist/boreal-web-components/p-7bb88855.entry.js +1 -0
  95. package/dist/boreal-web-components/p-7d3a8f61.entry.js +1 -0
  96. package/dist/boreal-web-components/p-7e672cce.entry.js +1 -0
  97. package/dist/boreal-web-components/p-7ebc67c9.entry.js +1 -0
  98. package/dist/boreal-web-components/p-81401e2a.system.entry.js +1 -0
  99. package/dist/boreal-web-components/p-8289e506.entry.js +1 -0
  100. package/dist/boreal-web-components/p-82d15372.entry.js +1 -0
  101. package/dist/boreal-web-components/p-851c06f2.entry.js +1 -0
  102. package/dist/boreal-web-components/p-8a3716ec.entry.js +1 -0
  103. package/dist/boreal-web-components/p-8f4f8af0.system.entry.js +1 -0
  104. package/dist/boreal-web-components/p-93066db4.system.entry.js +1 -0
  105. package/dist/boreal-web-components/p-Bfazyxqi.js +1 -0
  106. package/dist/boreal-web-components/{p-D4EFsvs1.js → p-BqJlOB6b.js} +2 -2
  107. package/dist/boreal-web-components/p-BsZkk4oK.system.js +1 -0
  108. package/dist/boreal-web-components/p-C-g3hhl_.system.js +1 -0
  109. package/dist/boreal-web-components/p-C0P3gzq5.system.js +1 -0
  110. package/dist/boreal-web-components/p-C4HM8wQe.js +1 -0
  111. package/dist/boreal-web-components/p-CPvuMm5C.js +1 -0
  112. package/dist/boreal-web-components/p-CRMH6mfq.system.js +1 -0
  113. package/dist/boreal-web-components/p-CU_dRLdk.system.js +1 -0
  114. package/dist/boreal-web-components/p-CW4-dkCF.system.js +1 -0
  115. package/dist/boreal-web-components/p-CXz1RLGi.system.js +1 -0
  116. package/dist/boreal-web-components/p-DCKg5Cg_.system.js +2 -0
  117. package/dist/boreal-web-components/{p-BuxZeJbu.system.js → p-DSU8tkVw.system.js} +1 -1
  118. package/dist/boreal-web-components/p-DYlZcFrB.system.js +1 -0
  119. package/dist/boreal-web-components/p-DfaYciGa.js +1 -0
  120. package/dist/boreal-web-components/p-DhSchGPI.js +1 -0
  121. package/dist/boreal-web-components/p-DlVzZK7o.js +1 -0
  122. package/dist/boreal-web-components/p-DlYG-OVB.js +1 -0
  123. package/dist/boreal-web-components/p-DnIhjwCH.system.js +1 -0
  124. package/dist/boreal-web-components/p-DpnBDSUm.system.js +1 -0
  125. package/dist/boreal-web-components/p-Dwo1hcd9.js +1 -0
  126. package/dist/boreal-web-components/p-RhSdMyWk.system.js +1 -0
  127. package/dist/boreal-web-components/{p-CaHOghy5.js → p-U9yfbs7i.js} +1 -1
  128. package/dist/boreal-web-components/p-a73659ac.system.entry.js +1 -0
  129. package/dist/boreal-web-components/p-b2ad9535.system.entry.js +1 -0
  130. package/dist/boreal-web-components/p-d4c30d2b.entry.js +1 -0
  131. package/dist/boreal-web-components/p-db0c10b9.system.entry.js +1 -0
  132. package/dist/boreal-web-components/p-dc7d429c.entry.js +1 -0
  133. package/dist/boreal-web-components/p-dca16a3d.entry.js +1 -0
  134. package/dist/boreal-web-components/p-de846c43.system.entry.js +1 -0
  135. package/dist/boreal-web-components/p-df087e23.system.entry.js +1 -0
  136. package/dist/boreal-web-components/p-dfb4854e.entry.js +1 -0
  137. package/dist/boreal-web-components/p-dz9-Q2N8.js +1 -0
  138. package/dist/boreal-web-components/p-e09b4d14.system.entry.js +1 -0
  139. package/dist/boreal-web-components/p-e0a41cab.system.entry.js +1 -0
  140. package/dist/boreal-web-components/p-e55f2a8b.entry.js +1 -0
  141. package/dist/boreal-web-components/p-e7af1e1a.entry.js +1 -0
  142. package/dist/boreal-web-components/p-efe159aa.entry.js +1 -0
  143. package/dist/boreal-web-components/p-f65e9d0c.system.entry.js +1 -0
  144. package/dist/boreal-web-components/p-f792aa74.entry.js +1 -0
  145. package/dist/boreal-web-components/p-fb9a0e94.entry.js +1 -0
  146. package/dist/boreal-web-components/p-iq2UuV7c.js +1 -0
  147. package/dist/boreal-web-components/p-kGnB15Lz.js +1 -0
  148. package/dist/boreal-web-components/p-vzZJGcYF.system.js +1 -0
  149. package/dist/boreal-web-components/p-wREMI3WA.js +1 -0
  150. package/dist/boreal-web-components/scss/maps/_primitives.scss +404 -408
  151. package/dist/boreal-web-components/scss/maps/_theme-connect.scss +164 -165
  152. package/dist/boreal-web-components/scss/maps/_theme-engage.scss +164 -165
  153. package/dist/boreal-web-components/scss/maps/_theme-protect.scss +164 -165
  154. package/dist/boreal-web-components/scss/maps/_theme-proximus.scss +165 -166
  155. package/dist/boreal-web-components/scss/variables/_primitives.scss +404 -408
  156. package/dist/boreal-web-components/scss/variables/_theme-connect.scss +164 -165
  157. package/dist/boreal-web-components/scss/variables/_theme-engage.scss +164 -165
  158. package/dist/boreal-web-components/scss/variables/_theme-protect.scss +164 -165
  159. package/dist/boreal-web-components/scss/variables/_theme-proximus.scss +165 -166
  160. package/dist/cjs/BaseAttributes-DBBhKt7O.js +14 -0
  161. package/dist/cjs/Keys-rKl2za5q.js +18 -0
  162. package/dist/cjs/Logger-DnziItRH.js +51 -0
  163. package/dist/cjs/{attributes-wIHueigW.js → attributes-CgRFplrN.js} +3 -0
  164. package/dist/cjs/bds-avatar.cjs.entry.js +89 -0
  165. package/dist/cjs/bds-badge.cjs.entry.js +50 -0
  166. package/dist/cjs/bds-banner.cjs.entry.js +13 -6
  167. package/dist/cjs/bds-button-group.cjs.entry.js +95 -0
  168. package/dist/cjs/bds-button.cjs.entry.js +11 -17
  169. package/dist/cjs/bds-checkbox-card.cjs.entry.js +121 -0
  170. package/dist/cjs/bds-checkbox.cjs.entry.js +13 -6
  171. package/dist/cjs/bds-dialog.cjs.entry.js +8 -7
  172. package/dist/cjs/bds-divider.cjs.entry.js +46 -0
  173. package/dist/cjs/bds-flag.cjs.entry.js +3 -3
  174. package/dist/cjs/bds-grid-item.cjs.entry.js +93 -0
  175. package/dist/cjs/bds-grid.cjs.entry.js +37 -0
  176. package/dist/cjs/bds-list-menu-item.cjs.entry.js +493 -0
  177. package/dist/cjs/bds-list-menu.cjs.entry.js +199 -0
  178. package/dist/cjs/bds-popover.cjs.entry.js +19 -9
  179. package/dist/cjs/bds-radio-button.cjs.entry.js +60 -0
  180. package/dist/cjs/bds-radio-card.cjs.entry.js +76 -0
  181. package/dist/cjs/bds-radio-group.cjs.entry.js +285 -0
  182. package/dist/cjs/bds-radio.cjs.entry.js +60 -0
  183. package/dist/cjs/bds-spinner.cjs.entry.js +4 -4
  184. package/dist/cjs/bds-status.cjs.entry.js +59 -0
  185. package/dist/cjs/bds-tag.cjs.entry.js +140 -0
  186. package/dist/cjs/bds-text-field.cjs.entry.js +8 -17
  187. package/dist/cjs/bds-toggle.cjs.entry.js +187 -0
  188. package/dist/cjs/bds-tooltip_2.cjs.entry.js +321 -0
  189. package/dist/cjs/boreal-web-components.cjs.js +2 -2
  190. package/dist/cjs/coreColors-CQGojc0l.js +10 -0
  191. package/dist/cjs/{enum-DLblRCkQ.js → enum-DeTWfR0D.js} +3 -3
  192. package/dist/cjs/form-associated.mixin-BCR6bj29.js +33 -0
  193. package/dist/cjs/{anchored.mixin-CnIwkaUi.js → getOffset-k4ezB-eT.js} +45 -76
  194. package/dist/cjs/{index-BcSjvXJk.js → index-CwYIVC9N.js} +64 -0
  195. package/dist/cjs/{internals-X77qKxsK.js → internals-D8x7GMfR.js} +0 -31
  196. package/dist/cjs/loader.cjs.js +2 -2
  197. package/dist/cjs/menu-BxKaEajh.js +8 -0
  198. package/dist/cjs/orientation-DQAIleEJ.js +8 -0
  199. package/dist/cjs/{states-iIYiazaM.js → states-BweP5Vpu.js} +8 -0
  200. package/dist/cjs/validateProps-CJe9X5x8.js +42 -0
  201. package/dist/collection/collection-manifest.json +16 -0
  202. package/dist/collection/components/actions/bds-button/bds-button.css +19 -19
  203. package/dist/collection/components/actions/bds-button/bds-button.js +8 -8
  204. package/dist/collection/components/actions/bds-button/types/enum.js +3 -3
  205. package/dist/collection/components/actions/bds-button-group/bds-button-group.css +77 -0
  206. package/dist/collection/components/actions/bds-button-group/bds-button-group.js +245 -0
  207. package/dist/collection/components/actions/bds-button-group/types/IButtonGroup.js +1 -0
  208. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.css +51 -0
  209. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.js +400 -0
  210. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.js +1 -0
  211. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/enum.js +4 -0
  212. package/dist/collection/components/actions/bds-list-menu/bds-list-menu/types/types.js +1 -0
  213. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.css +87 -0
  214. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.js +482 -0
  215. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.js +1 -0
  216. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/enum.js +4 -0
  217. package/dist/collection/components/actions/bds-list-menu/bds-list-menu-item/types/types.js +1 -0
  218. package/dist/collection/components/actions/bds-toggle/bds-toggle.css +120 -0
  219. package/dist/collection/components/actions/bds-toggle/bds-toggle.js +544 -0
  220. package/dist/collection/components/actions/bds-toggle/types/IEventChange.js +1 -0
  221. package/dist/collection/components/actions/bds-toggle/types/IToggle.js +1 -0
  222. package/dist/collection/components/actions/bds-toggle/types/enum.js +4 -0
  223. package/dist/collection/components/actions/bds-toggle/types/index.js +4 -0
  224. package/dist/collection/components/actions/bds-toggle/types/types.js +1 -0
  225. package/dist/collection/components/feedback/bds-badge/bds-badge.css +76 -0
  226. package/dist/collection/components/feedback/bds-badge/bds-badge.js +120 -0
  227. package/dist/collection/components/feedback/bds-badge/types/IBadge.js +1 -0
  228. package/dist/collection/components/feedback/bds-badge/types/enum.js +5 -0
  229. package/dist/collection/components/feedback/bds-banner/bds-banner.css +1 -2
  230. package/dist/collection/components/feedback/bds-banner/bds-banner.js +30 -6
  231. package/dist/collection/components/feedback/bds-spinner/bds-spinner.css +7 -8
  232. package/dist/collection/components/feedback/bds-spinner/bds-spinner.js +1 -1
  233. package/dist/collection/components/feedback/bds-status/bds-status.css +101 -0
  234. package/dist/collection/components/feedback/bds-status/bds-status.js +122 -0
  235. package/dist/collection/components/feedback/bds-status/types/IStatus.js +1 -0
  236. package/dist/collection/components/feedback/bds-status/types/enum.js +5 -0
  237. package/dist/collection/components/feedback/bds-status/types/types.js +1 -0
  238. package/dist/collection/components/feedback/bds-tag/bds-tag.css +202 -0
  239. package/dist/collection/components/feedback/bds-tag/bds-tag.js +375 -0
  240. package/dist/collection/components/feedback/bds-tag/types/ITag.js +1 -0
  241. package/dist/collection/components/feedback/bds-tag/types/enum.js +10 -0
  242. package/dist/collection/components/feedback/bds-tag/types/index.js +3 -0
  243. package/dist/collection/components/feedback/bds-tag/types/types.js +1 -0
  244. package/dist/collection/components/forms/bds-checkbox/bds-checkbox.css +9 -8
  245. package/dist/collection/components/forms/bds-checkbox/bds-checkbox.js +7 -1
  246. package/dist/collection/components/forms/bds-checkbox-card/bds-checkbox-card.css +127 -0
  247. package/dist/collection/components/forms/bds-checkbox-card/bds-checkbox-card.js +397 -0
  248. package/dist/collection/components/forms/bds-checkbox-card/types/ICheckboxCard.js +1 -0
  249. package/dist/collection/components/forms/bds-flag/bds-flag.js +1 -1
  250. package/dist/collection/components/forms/bds-radio/bds-radio.css +121 -0
  251. package/dist/collection/components/forms/bds-radio/bds-radio.js +238 -0
  252. package/dist/collection/components/forms/bds-radio/types/IRadio.js +1 -0
  253. package/dist/collection/components/forms/bds-radio-button/bds-radio-button.css +109 -0
  254. package/dist/collection/components/forms/bds-radio-button/bds-radio-button.js +238 -0
  255. package/dist/collection/components/forms/bds-radio-button/types/IRadioButton.js +1 -0
  256. package/dist/collection/components/forms/bds-radio-card/bds-radio-card.css +156 -0
  257. package/dist/collection/components/forms/bds-radio-card/bds-radio-card.js +307 -0
  258. package/dist/collection/components/forms/bds-radio-card/types/IRadioCard.js +1 -0
  259. package/dist/collection/components/forms/bds-radio-group/bds-radio-group.css +55 -0
  260. package/dist/collection/components/forms/bds-radio-group/bds-radio-group.js +620 -0
  261. package/dist/collection/components/forms/bds-radio-group/types/IRadioGroup.js +1 -0
  262. package/dist/collection/components/forms/bds-radio-group/types/enum.js +5 -0
  263. package/dist/collection/components/forms/bds-radio-group/types/types.js +1 -0
  264. package/dist/collection/components/forms/bds-text-field/bds-text-field.js +1 -1
  265. package/dist/collection/components/helpers/bds-divider/bds-divider.css +44 -0
  266. package/dist/collection/components/helpers/bds-divider/bds-divider.js +88 -0
  267. package/dist/collection/components/helpers/bds-divider/types/IDivider.js +1 -0
  268. package/dist/collection/components/helpers/bds-divider/types/enum.js +4 -0
  269. package/dist/collection/components/helpers/bds-divider/types/types.js +1 -0
  270. package/dist/collection/components/images-icons/bds-avatar/bds-avatar.css +52 -0
  271. package/dist/collection/components/images-icons/bds-avatar/bds-avatar.js +219 -0
  272. package/dist/collection/components/images-icons/bds-avatar/types/IAvatar.js +1 -0
  273. package/dist/collection/components/images-icons/bds-avatar/types/enum.js +5 -0
  274. package/dist/collection/components/images-icons/bds-avatar/types/index.js +3 -0
  275. package/dist/collection/components/images-icons/bds-avatar/types/types.js +1 -0
  276. package/dist/collection/components/layouts/bds-grid/grid/bds-grid.css +57 -0
  277. package/dist/collection/components/layouts/bds-grid/grid/bds-grid.js +100 -0
  278. package/dist/collection/components/layouts/bds-grid/grid/types/IGrid.js +1 -0
  279. package/dist/collection/components/layouts/bds-grid/grid/types/enum.js +4 -0
  280. package/dist/collection/components/layouts/bds-grid/grid/types/index.js +3 -0
  281. package/dist/collection/components/layouts/bds-grid/grid/types/types.js +1 -0
  282. package/dist/collection/components/layouts/bds-grid/grid-item/bds-grid-item.css +70 -0
  283. package/dist/collection/components/layouts/bds-grid/grid-item/bds-grid-item.js +306 -0
  284. package/dist/collection/components/layouts/bds-grid/grid-item/types/IGridItem.js +1 -0
  285. package/dist/collection/components/layouts/bds-grid/grid-item/types/enum.js +10 -0
  286. package/dist/collection/components/layouts/bds-grid/grid-item/types/index.js +3 -0
  287. package/dist/collection/components/layouts/bds-grid/grid-item/types/types.js +1 -0
  288. package/dist/collection/components/overlays/bds-dialog/bds-dialog.js +4 -3
  289. package/dist/collection/components/overlays/bds-popover/bds-popover.css +16 -2
  290. package/dist/collection/components/overlays/bds-popover/bds-popover.js +12 -4
  291. package/dist/collection/components/overlays/bds-popover/constants/Offset.js +1 -0
  292. package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.css +2 -13
  293. package/dist/collection/components/overlays/bds-tooltip/bds-tooltip.js +6 -4
  294. package/dist/collection/components/overlays/bds-tooltip/constants/Offset.js +1 -0
  295. package/dist/collection/components/titles-text/bds-typography/bds-typography.css +9 -0
  296. package/dist/collection/components/titles-text/bds-typography/bds-typography.js +20 -19
  297. package/dist/collection/components/titles-text/bds-typography/utils/bds-typography-utils.js +2 -2
  298. package/dist/collection/css/boreal.css +1066 -1074
  299. package/dist/collection/css/global.css +403 -407
  300. package/dist/collection/css/theme-connect.css +163 -164
  301. package/dist/collection/css/theme-engage.css +163 -164
  302. package/dist/collection/css/theme-protect.css +163 -164
  303. package/dist/collection/css/theme-proximus.css +164 -165
  304. package/dist/collection/mixins/anchored.mixin.js +16 -3
  305. package/dist/collection/mixins/index.js +2 -0
  306. package/dist/collection/mixins/links.mixin.js +152 -0
  307. package/dist/collection/mixins/menu-behavior.mixin.js +119 -0
  308. package/dist/collection/scss/maps/_primitives.scss +404 -408
  309. package/dist/collection/scss/maps/_theme-connect.scss +164 -165
  310. package/dist/collection/scss/maps/_theme-engage.scss +164 -165
  311. package/dist/collection/scss/maps/_theme-protect.scss +164 -165
  312. package/dist/collection/scss/maps/_theme-proximus.scss +165 -166
  313. package/dist/collection/scss/variables/_primitives.scss +404 -408
  314. package/dist/collection/scss/variables/_theme-connect.scss +164 -165
  315. package/dist/collection/scss/variables/_theme-engage.scss +164 -165
  316. package/dist/collection/scss/variables/_theme-protect.scss +164 -165
  317. package/dist/collection/scss/variables/_theme-proximus.scss +165 -166
  318. package/dist/collection/services/floating/positioning.service.js +1 -1
  319. package/dist/collection/types/IFormProps.js +1 -0
  320. package/dist/collection/types/index.js +5 -0
  321. package/dist/collection/types/links.js +1 -0
  322. package/dist/collection/types/menu.js +8 -0
  323. package/dist/collection/types/orientation.js +4 -0
  324. package/dist/collection/types/position.js +6 -2
  325. package/dist/collection/utils/constants/common/Keys.js +10 -12
  326. package/dist/collection/utils/helpers/overlays/getOffset.js +13 -0
  327. package/dist/collection/utils/helpers/validateProps.js +21 -0
  328. package/dist/collection/utils/index.js +2 -1
  329. package/dist/collection/utils/menu/index.js +1 -0
  330. package/dist/collection/utils/menu/menu-item.utils.js +82 -0
  331. package/dist/collection/utils/{__test__ → testing}/helpers.js +10 -0
  332. package/dist/collection/utils/{__test__ → testing}/index.js +0 -2
  333. package/dist/collection/utils/testing/mocks/console.js +30 -0
  334. package/dist/collection/utils/testing/mocks/index.js +4 -0
  335. package/dist/css/boreal.css +1066 -1074
  336. package/dist/css/global.css +403 -407
  337. package/dist/css/theme-connect.css +163 -164
  338. package/dist/css/theme-engage.css +163 -164
  339. package/dist/css/theme-protect.css +163 -164
  340. package/dist/css/theme-proximus.css +164 -165
  341. package/dist/esm/BaseAttributes-DhSchGPI.js +12 -0
  342. package/dist/esm/Keys-DlYG-OVB.js +16 -0
  343. package/dist/esm/Logger-iq2UuV7c.js +49 -0
  344. package/dist/esm/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +3 -0
  345. package/dist/esm/bds-avatar.entry.js +87 -0
  346. package/dist/esm/bds-badge.entry.js +48 -0
  347. package/dist/esm/bds-banner.entry.js +13 -6
  348. package/dist/esm/bds-button-group.entry.js +93 -0
  349. package/dist/esm/bds-button.entry.js +9 -15
  350. package/dist/esm/bds-checkbox-card.entry.js +119 -0
  351. package/dist/esm/bds-checkbox.entry.js +12 -5
  352. package/dist/esm/bds-dialog.entry.js +8 -7
  353. package/dist/esm/bds-divider.entry.js +44 -0
  354. package/dist/esm/bds-flag.entry.js +3 -3
  355. package/dist/esm/bds-grid-item.entry.js +91 -0
  356. package/dist/esm/bds-grid.entry.js +35 -0
  357. package/dist/esm/bds-list-menu-item.entry.js +491 -0
  358. package/dist/esm/bds-list-menu.entry.js +197 -0
  359. package/dist/esm/bds-popover.entry.js +18 -8
  360. package/dist/esm/bds-radio-button.entry.js +58 -0
  361. package/dist/esm/bds-radio-card.entry.js +74 -0
  362. package/dist/esm/bds-radio-group.entry.js +283 -0
  363. package/dist/esm/bds-radio.entry.js +58 -0
  364. package/dist/esm/bds-spinner.entry.js +4 -4
  365. package/dist/esm/bds-status.entry.js +57 -0
  366. package/dist/esm/bds-tag.entry.js +138 -0
  367. package/dist/esm/bds-text-field.entry.js +6 -15
  368. package/dist/esm/bds-toggle.entry.js +185 -0
  369. package/dist/esm/bds-tooltip_2.entry.js +318 -0
  370. package/dist/esm/boreal-web-components.js +3 -3
  371. package/dist/esm/coreColors-Dwo1hcd9.js +8 -0
  372. package/dist/esm/{enum-C8mRvnTA.js → enum-DlVzZK7o.js} +4 -4
  373. package/dist/esm/form-associated.mixin-C4HM8wQe.js +31 -0
  374. package/dist/esm/{anchored.mixin-Y3MkGc2X.js → getOffset-BYS3c13B.js} +43 -75
  375. package/dist/esm/{index-D4EFsvs1.js → index-BqJlOB6b.js} +64 -0
  376. package/dist/esm/{internals-Dy7QKP9e.js → internals-DfaYciGa.js} +1 -31
  377. package/dist/esm/loader.js +3 -3
  378. package/dist/esm/menu-dz9-Q2N8.js +6 -0
  379. package/dist/esm/orientation-CPvuMm5C.js +6 -0
  380. package/dist/esm/{states-BhTPNsBb.js → states-Bfazyxqi.js} +8 -1
  381. package/dist/esm/validateProps-kGnB15Lz.js +39 -0
  382. package/dist/esm-es5/BaseAttributes-DhSchGPI.js +1 -0
  383. package/dist/esm-es5/Keys-DlYG-OVB.js +1 -0
  384. package/dist/esm-es5/Logger-iq2UuV7c.js +1 -0
  385. package/dist/esm-es5/{attributes-CaHOghy5.js → attributes-U9yfbs7i.js} +1 -1
  386. package/dist/esm-es5/bds-avatar.entry.js +1 -0
  387. package/dist/esm-es5/bds-badge.entry.js +1 -0
  388. package/dist/esm-es5/bds-banner.entry.js +1 -1
  389. package/dist/esm-es5/bds-button-group.entry.js +1 -0
  390. package/dist/esm-es5/bds-button.entry.js +1 -1
  391. package/dist/esm-es5/bds-checkbox-card.entry.js +1 -0
  392. package/dist/esm-es5/bds-checkbox.entry.js +1 -1
  393. package/dist/esm-es5/bds-dialog.entry.js +1 -1
  394. package/dist/esm-es5/bds-divider.entry.js +1 -0
  395. package/dist/esm-es5/bds-flag.entry.js +1 -1
  396. package/dist/esm-es5/bds-grid-item.entry.js +1 -0
  397. package/dist/esm-es5/bds-grid.entry.js +1 -0
  398. package/dist/esm-es5/bds-list-menu-item.entry.js +1 -0
  399. package/dist/esm-es5/bds-list-menu.entry.js +1 -0
  400. package/dist/esm-es5/bds-popover.entry.js +1 -1
  401. package/dist/esm-es5/bds-radio-button.entry.js +1 -0
  402. package/dist/esm-es5/bds-radio-card.entry.js +1 -0
  403. package/dist/esm-es5/bds-radio-group.entry.js +1 -0
  404. package/dist/esm-es5/bds-radio.entry.js +1 -0
  405. package/dist/esm-es5/bds-spinner.entry.js +1 -1
  406. package/dist/esm-es5/bds-status.entry.js +1 -0
  407. package/dist/esm-es5/bds-tag.entry.js +1 -0
  408. package/dist/esm-es5/bds-text-field.entry.js +1 -1
  409. package/dist/esm-es5/bds-toggle.entry.js +1 -0
  410. package/dist/esm-es5/bds-tooltip_2.entry.js +1 -0
  411. package/dist/esm-es5/boreal-web-components.js +1 -1
  412. package/dist/esm-es5/coreColors-Dwo1hcd9.js +1 -0
  413. package/dist/esm-es5/enum-DlVzZK7o.js +1 -0
  414. package/dist/esm-es5/form-associated.mixin-C4HM8wQe.js +1 -0
  415. package/dist/esm-es5/getOffset-BYS3c13B.js +1 -0
  416. package/dist/esm-es5/index-BqJlOB6b.js +2 -0
  417. package/dist/esm-es5/internals-DfaYciGa.js +1 -0
  418. package/dist/esm-es5/loader.js +1 -1
  419. package/dist/esm-es5/menu-dz9-Q2N8.js +1 -0
  420. package/dist/esm-es5/orientation-CPvuMm5C.js +1 -0
  421. package/dist/esm-es5/states-Bfazyxqi.js +1 -0
  422. package/dist/esm-es5/validateProps-kGnB15Lz.js +1 -0
  423. package/dist/scss/maps/_primitives.scss +404 -408
  424. package/dist/scss/maps/_theme-connect.scss +164 -165
  425. package/dist/scss/maps/_theme-engage.scss +164 -165
  426. package/dist/scss/maps/_theme-protect.scss +164 -165
  427. package/dist/scss/maps/_theme-proximus.scss +165 -166
  428. package/dist/scss/variables/_primitives.scss +404 -408
  429. package/dist/scss/variables/_theme-connect.scss +164 -165
  430. package/dist/scss/variables/_theme-engage.scss +164 -165
  431. package/dist/scss/variables/_theme-protect.scss +164 -165
  432. package/dist/scss/variables/_theme-proximus.scss +165 -166
  433. package/dist/types/components/actions/bds-button/bds-button.d.ts +4 -4
  434. package/dist/types/components/actions/bds-button/types/enum.d.ts +3 -3
  435. package/dist/types/components/actions/bds-button-group/bds-button-group.d.ts +36 -0
  436. package/dist/types/components/actions/bds-button-group/types/IButtonGroup.d.ts +11 -0
  437. package/dist/types/components/actions/bds-list-menu/bds-list-menu/bds-list-menu.d.ts +74 -0
  438. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/IListMenu.d.ts +14 -0
  439. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/enum.d.ts +5 -0
  440. package/dist/types/components/actions/bds-list-menu/bds-list-menu/types/types.d.ts +3 -0
  441. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/bds-list-menu-item.d.ts +122 -0
  442. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/IListMenuItem.d.ts +13 -0
  443. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/enum.d.ts +5 -0
  444. package/dist/types/components/actions/bds-list-menu/bds-list-menu-item/types/types.d.ts +3 -0
  445. package/dist/types/components/actions/bds-toggle/bds-toggle.d.ts +91 -0
  446. package/dist/types/components/actions/bds-toggle/types/IEventChange.d.ts +5 -0
  447. package/dist/types/components/actions/bds-toggle/types/IToggle.d.ts +12 -0
  448. package/dist/types/components/actions/bds-toggle/types/enum.d.ts +5 -0
  449. package/dist/types/components/actions/bds-toggle/types/index.d.ts +5 -0
  450. package/dist/types/components/actions/bds-toggle/types/types.d.ts +3 -0
  451. package/dist/types/components/feedback/bds-badge/bds-badge.d.ts +31 -0
  452. package/dist/types/components/feedback/bds-badge/types/IBadge.d.ts +6 -0
  453. package/dist/types/components/feedback/bds-badge/types/enum.d.ts +9 -0
  454. package/dist/types/components/feedback/bds-banner/bds-banner.d.ts +8 -4
  455. package/dist/types/components/feedback/bds-status/bds-status.d.ts +26 -0
  456. package/dist/types/components/feedback/bds-status/types/IStatus.d.ts +7 -0
  457. package/dist/types/components/feedback/bds-status/types/enum.d.ts +6 -0
  458. package/dist/types/components/feedback/bds-status/types/types.d.ts +3 -0
  459. package/dist/types/components/feedback/bds-tag/bds-tag.d.ts +71 -0
  460. package/dist/types/components/feedback/bds-tag/types/ITag.d.ts +13 -0
  461. package/dist/types/components/feedback/bds-tag/types/enum.d.ts +11 -0
  462. package/dist/types/components/feedback/bds-tag/types/index.d.ts +4 -0
  463. package/dist/types/components/feedback/bds-tag/types/types.d.ts +8 -0
  464. package/dist/types/components/forms/bds-checkbox/bds-checkbox.d.ts +2 -0
  465. package/dist/types/components/forms/bds-checkbox-card/bds-checkbox-card.d.ts +70 -0
  466. package/dist/types/components/forms/bds-checkbox-card/types/ICheckboxCard.d.ts +8 -0
  467. package/dist/types/components/forms/bds-flag/bds-flag.d.ts +3 -4
  468. package/dist/types/components/forms/bds-radio/bds-radio.d.ts +36 -0
  469. package/dist/types/components/forms/bds-radio/types/IRadio.d.ts +13 -0
  470. package/dist/types/components/forms/bds-radio-button/bds-radio-button.d.ts +36 -0
  471. package/dist/types/components/forms/bds-radio-button/types/IRadioButton.d.ts +13 -0
  472. package/dist/types/components/forms/bds-radio-card/bds-radio-card.d.ts +57 -0
  473. package/dist/types/components/forms/bds-radio-card/types/IRadioCard.d.ts +14 -0
  474. package/dist/types/components/forms/bds-radio-group/bds-radio-group.d.ts +82 -0
  475. package/dist/types/components/forms/bds-radio-group/types/IRadioGroup.d.ts +19 -0
  476. package/dist/types/components/forms/bds-radio-group/types/enum.d.ts +6 -0
  477. package/dist/types/components/forms/bds-radio-group/types/types.d.ts +3 -0
  478. package/dist/types/components/helpers/bds-divider/bds-divider.d.ts +26 -0
  479. package/dist/types/components/helpers/bds-divider/types/IDivider.d.ts +5 -0
  480. package/dist/types/components/helpers/bds-divider/types/enum.d.ts +5 -0
  481. package/dist/types/components/helpers/bds-divider/types/types.d.ts +3 -0
  482. package/dist/types/components/images-icons/bds-avatar/bds-avatar.d.ts +51 -0
  483. package/dist/types/components/images-icons/bds-avatar/types/IAvatar.d.ts +9 -0
  484. package/dist/types/components/images-icons/bds-avatar/types/enum.d.ts +6 -0
  485. package/dist/types/components/images-icons/bds-avatar/types/index.d.ts +4 -0
  486. package/dist/types/components/images-icons/bds-avatar/types/types.d.ts +3 -0
  487. package/dist/types/components/layouts/bds-grid/grid/bds-grid.d.ts +19 -0
  488. package/dist/types/components/layouts/bds-grid/grid/types/IGrid.d.ts +6 -0
  489. package/dist/types/components/layouts/bds-grid/grid/types/enum.d.ts +5 -0
  490. package/dist/types/components/layouts/bds-grid/grid/types/index.d.ts +4 -0
  491. package/dist/types/components/layouts/bds-grid/grid/types/types.d.ts +3 -0
  492. package/dist/types/components/layouts/bds-grid/grid-item/bds-grid-item.d.ts +31 -0
  493. package/dist/types/components/layouts/bds-grid/grid-item/types/IGridItem.d.ts +12 -0
  494. package/dist/types/components/layouts/bds-grid/grid-item/types/enum.d.ts +11 -0
  495. package/dist/types/components/layouts/bds-grid/grid-item/types/index.d.ts +4 -0
  496. package/dist/types/components/layouts/bds-grid/grid-item/types/types.d.ts +3 -0
  497. package/dist/types/components/overlays/bds-dialog/bds-dialog.d.ts +2 -2
  498. package/dist/types/components/overlays/bds-popover/bds-popover.d.ts +1 -0
  499. package/dist/types/components/overlays/bds-popover/constants/Offset.d.ts +2 -0
  500. package/dist/types/components/overlays/bds-tooltip/bds-tooltip.d.ts +1 -0
  501. package/dist/types/components/overlays/bds-tooltip/constants/Offset.d.ts +2 -0
  502. package/dist/types/components/titles-text/bds-typography/bds-typography.d.ts +9 -9
  503. package/dist/types/components/titles-text/bds-typography/types/ITypography.d.ts +2 -2
  504. package/dist/types/components/titles-text/bds-typography/utils/bds-typography-utils.d.ts +1 -1
  505. package/dist/types/components.d.ts +2542 -450
  506. package/dist/types/mixins/anchored.mixin.d.ts +5 -0
  507. package/dist/types/mixins/index.d.ts +2 -0
  508. package/dist/types/mixins/links.mixin.d.ts +85 -0
  509. package/dist/types/mixins/menu-behavior.mixin.d.ts +95 -0
  510. package/dist/types/types/IFormProps.d.ts +25 -0
  511. package/dist/types/types/index.d.ts +5 -0
  512. package/dist/types/types/links.d.ts +14 -0
  513. package/dist/types/types/menu.d.ts +16 -0
  514. package/dist/types/types/orientation.d.ts +6 -0
  515. package/dist/types/types/position.d.ts +6 -2
  516. package/dist/types/utils/constants/common/Keys.d.ts +12 -14
  517. package/dist/types/utils/helpers/overlays/getOffset.d.ts +9 -0
  518. package/dist/types/utils/helpers/validateProps.d.ts +11 -0
  519. package/dist/types/utils/index.d.ts +2 -1
  520. package/dist/types/utils/menu/index.d.ts +2 -0
  521. package/dist/types/utils/menu/menu-item.utils.d.ts +50 -0
  522. package/dist/types/utils/{__test__ → testing}/helpers.d.ts +8 -0
  523. package/dist/types/utils/{__test__ → testing}/index.d.ts +0 -2
  524. package/dist/types/utils/{__test__/backdrop-mock.d.ts → testing/mocks/backdrop.d.ts} +1 -1
  525. package/dist/types/utils/testing/mocks/console.d.ts +17 -0
  526. package/dist/types/utils/{__test__/mocks/ElementInternals.d.ts → testing/mocks/elementInternals.d.ts} +1 -1
  527. package/dist/types/utils/testing/mocks/index.d.ts +5 -0
  528. package/dist/types/utils/{__test__/popover-mock.d.ts → testing/mocks/popover.d.ts} +1 -1
  529. package/package.json +1 -1
  530. package/components-build/p-B6R9EVXK.js +0 -1
  531. package/components-build/p-BSpJ_e9f.js +0 -1
  532. package/components-build/p-BYEAJCas.js +0 -1
  533. package/components-build/p-BhTPNsBb.js +0 -1
  534. package/components-build/p-CYojP4vI.js +0 -1
  535. package/components-build/p-D5omSME4.js +0 -1
  536. package/components-build/p-vfAIdwy0.js +0 -1
  537. package/dist/boreal-web-components/p-07a933df.entry.js +0 -1
  538. package/dist/boreal-web-components/p-1bb2b33f.entry.js +0 -1
  539. package/dist/boreal-web-components/p-1fccea3f.system.entry.js +0 -1
  540. package/dist/boreal-web-components/p-20af732b.system.entry.js +0 -1
  541. package/dist/boreal-web-components/p-22378341.system.entry.js +0 -1
  542. package/dist/boreal-web-components/p-39c26e58.entry.js +0 -1
  543. package/dist/boreal-web-components/p-6210d025.entry.js +0 -1
  544. package/dist/boreal-web-components/p-6de2b44c.system.entry.js +0 -1
  545. package/dist/boreal-web-components/p-91b9e94e.entry.js +0 -1
  546. package/dist/boreal-web-components/p-9e06910d.system.entry.js +0 -1
  547. package/dist/boreal-web-components/p-BIJhHSAt.system.js +0 -1
  548. package/dist/boreal-web-components/p-BKRyWlfr.js +0 -1
  549. package/dist/boreal-web-components/p-BhTPNsBb.js +0 -1
  550. package/dist/boreal-web-components/p-BkDQsB4R.system.js +0 -1
  551. package/dist/boreal-web-components/p-C8mRvnTA.js +0 -1
  552. package/dist/boreal-web-components/p-CdKFZYxk.system.js +0 -1
  553. package/dist/boreal-web-components/p-DoDeP7KR.system.js +0 -1
  554. package/dist/boreal-web-components/p-Dtp4O0H2.system.js +0 -1
  555. package/dist/boreal-web-components/p-Dy7QKP9e.js +0 -1
  556. package/dist/boreal-web-components/p-GjKJvOVG.system.js +0 -2
  557. package/dist/boreal-web-components/p-ac64d4a5.system.entry.js +0 -1
  558. package/dist/boreal-web-components/p-b61fe06c.entry.js +0 -1
  559. package/dist/boreal-web-components/p-cdc87437.entry.js +0 -1
  560. package/dist/boreal-web-components/p-d8ec8557.system.entry.js +0 -1
  561. package/dist/boreal-web-components/p-ea889727.entry.js +0 -1
  562. package/dist/boreal-web-components/p-fa327346.system.entry.js +0 -1
  563. package/dist/boreal-web-components/p-fc2cb919.entry.js +0 -1
  564. package/dist/boreal-web-components/p-sDZFaZMN.system.js +0 -1
  565. package/dist/boreal-web-components/p-vfAIdwy0.js +0 -1
  566. package/dist/cjs/bds-tooltip.cjs.entry.js +0 -152
  567. package/dist/cjs/bds-typography.cjs.entry.js +0 -168
  568. package/dist/cjs/validateProps-BNOBk1Xs.js +0 -20
  569. package/dist/collection/utils/__test__/mocks/index.js +0 -1
  570. package/dist/esm/bds-tooltip.entry.js +0 -150
  571. package/dist/esm/bds-typography.entry.js +0 -166
  572. package/dist/esm/validateProps-vfAIdwy0.js +0 -18
  573. package/dist/esm-es5/anchored.mixin-Y3MkGc2X.js +0 -1
  574. package/dist/esm-es5/bds-tooltip.entry.js +0 -1
  575. package/dist/esm-es5/bds-typography.entry.js +0 -1
  576. package/dist/esm-es5/enum-C8mRvnTA.js +0 -1
  577. package/dist/esm-es5/index-D4EFsvs1.js +0 -2
  578. package/dist/esm-es5/internals-Dy7QKP9e.js +0 -1
  579. package/dist/esm-es5/states-BhTPNsBb.js +0 -1
  580. package/dist/esm-es5/validateProps-vfAIdwy0.js +0 -1
  581. package/dist/types/utils/__test__/mocks/index.d.ts +0 -2
  582. /package/dist/collection/utils/{__test__ → testing}/constants.js +0 -0
  583. /package/dist/collection/utils/{__test__ → testing}/fixtures.js +0 -0
  584. /package/dist/collection/utils/{__test__/backdrop-mock.js → testing/mocks/backdrop.js} +0 -0
  585. /package/dist/collection/utils/{__test__/mocks/ElementInternals.js → testing/mocks/elementInternals.js} +0 -0
  586. /package/dist/collection/utils/{__test__/popover-mock.js → testing/mocks/popover.js} +0 -0
  587. /package/dist/types/utils/{__test__ → testing}/constants.d.ts +0 -0
  588. /package/dist/types/utils/{__test__ → testing}/fixtures.d.ts +0 -0
@@ -0,0 +1,91 @@
1
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
2
+ import { a as validateNumericProp } from './validateProps-kGnB15Lz.js';
3
+
4
+ const GRID_ITEM_COL_SPAN = {
5
+ SM_MAX: 4,
6
+ MD_MAX: 8,
7
+ LG_MAX: 12,
8
+ XL_MAX: 12,
9
+ XXL_MAX: 12,
10
+ DEFAULT: 12,
11
+ OFFSET_MIN: 0,
12
+ OFFSET_MAX: 11,
13
+ };
14
+
15
+ const bdsGridItemCss = () => `@charset "UTF-8";bds-grid-item{--_col-span:var(--_col-base, 12);grid-column-end:span var(--_col-span);grid-row-end:span var(--_row-base, 1)}bds-grid-item[col-span=full]{grid-column:1/-1}bds-grid-item[row-span=full]{grid-row:1/-1}@media (min-width: 320px){bds-grid-item{--_col-span:var(--_col-sm, var(--_col-base, 12))}bds-grid-item[col-span-sm=full]{grid-column:1/-1}}@media (min-width: 769px){bds-grid-item{--_col-span:var(--_col-md, var(--_col-sm, var(--_col-base, 12)))}bds-grid-item[col-span-md=full]{grid-column:1/-1}}@media (min-width: 960px){bds-grid-item{--_col-span:var(--_col-lg, var(--_col-md, var(--_col-sm, var(--_col-base, 12))))}bds-grid-item[col-span-lg=full]{grid-column:1/-1}}@media (min-width: 1152px){bds-grid-item{--_col-span:var(--_col-xl, var(--_col-lg, var(--_col-md, var(--_col-sm, var(--_col-base, 12)))))}bds-grid-item[col-span-xl=full]{grid-column:1/-1}}@media (min-width: 1344px){bds-grid-item{--_col-span:var(--_col-2xl, var(--_col-xl, var(--_col-lg, var(--_col-md, var(--_col-sm, var(--_col-base, 12))))))}bds-grid-item[col-span-2xl=full]{grid-column:1/-1}}`;
16
+
17
+ const BdsGridItem = class {
18
+ constructor(hostRef) {
19
+ registerInstance(this, hostRef);
20
+ /** Column span at all breakpoints (fallback). `'full'` spans all columns (`grid-column: 1 / -1`). */
21
+ this.colSpan = GRID_ITEM_COL_SPAN.DEFAULT;
22
+ /** Column offset: shifts the item right by N columns (0–11). */
23
+ this.offset = 0;
24
+ }
25
+ checkPropValues() {
26
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.DEFAULT, this.el, 'colSpan');
27
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.SM_MAX, this.el, 'colSpanSm');
28
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.MD_MAX, this.el, 'colSpanMd');
29
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.LG_MAX, this.el, 'colSpanLg');
30
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.XL_MAX, this.el, 'colSpanXl');
31
+ validateNumericProp(1, GRID_ITEM_COL_SPAN.XXL_MAX, this.el, 'colSpan2xl');
32
+ validateNumericProp(1, undefined, this.el, 'rowSpan');
33
+ validateNumericProp(GRID_ITEM_COL_SPAN.OFFSET_MIN, GRID_ITEM_COL_SPAN.OFFSET_MAX, this.el, 'offset');
34
+ }
35
+ componentWillLoad() {
36
+ this.checkPropValues();
37
+ }
38
+ getHostStyles() {
39
+ const styles = {};
40
+ if (this.colSpan !== 'full')
41
+ styles['--_col-base'] = String(this.colSpan);
42
+ if (this.colSpanSm !== undefined && this.colSpanSm !== 'full')
43
+ styles['--_col-sm'] = String(this.colSpanSm);
44
+ if (this.colSpanMd !== undefined && this.colSpanMd !== 'full')
45
+ styles['--_col-md'] = String(this.colSpanMd);
46
+ if (this.colSpanLg !== undefined && this.colSpanLg !== 'full')
47
+ styles['--_col-lg'] = String(this.colSpanLg);
48
+ if (this.colSpanXl !== undefined && this.colSpanXl !== 'full')
49
+ styles['--_col-xl'] = String(this.colSpanXl);
50
+ if (this.colSpan2xl !== undefined && this.colSpan2xl !== 'full')
51
+ styles['--_col-2xl'] = String(this.colSpan2xl);
52
+ if (this.rowSpan !== undefined && this.rowSpan !== 'full')
53
+ styles['--_row-base'] = String(this.rowSpan);
54
+ if (this.offset > 0)
55
+ styles['grid-column-start'] = String(Number(this.offset) + 1);
56
+ return styles;
57
+ }
58
+ render() {
59
+ return (h(Host, { key: 'e16ec21f8fcabbf3091ed3469a120aaff37f4274', style: this.getHostStyles() }, h("slot", { key: 'b1fa7e071660a4f4f50d9fd31ee9646069678d10' })));
60
+ }
61
+ get el() { return getElement(this); }
62
+ static get watchers() { return {
63
+ "colSpan": [{
64
+ "checkPropValues": 0
65
+ }],
66
+ "colSpanSm": [{
67
+ "checkPropValues": 0
68
+ }],
69
+ "colSpanMd": [{
70
+ "checkPropValues": 0
71
+ }],
72
+ "colSpanLg": [{
73
+ "checkPropValues": 0
74
+ }],
75
+ "colSpanXl": [{
76
+ "checkPropValues": 0
77
+ }],
78
+ "colSpan2xl": [{
79
+ "checkPropValues": 0
80
+ }],
81
+ "rowSpan": [{
82
+ "checkPropValues": 0
83
+ }],
84
+ "offset": [{
85
+ "checkPropValues": 0
86
+ }]
87
+ }; }
88
+ };
89
+ BdsGridItem.style = bdsGridItemCss();
90
+
91
+ export { BdsGridItem as bds_grid_item };
@@ -0,0 +1,35 @@
1
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
2
+ import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
3
+
4
+ const GRID_LAYOUT = {
5
+ FIXED: 'fixed',
6
+ FLUID: 'fluid',
7
+ };
8
+
9
+ const bdsGridCss = () => `@charset "UTF-8";bds-grid{--bds-grid-columns:var(--boreal-grid-columns-sm);--bds-grid-gutter:var(--boreal-grid-gutter-sm);--bds-grid-margin:var(--boreal-grid-margin-sm);display:grid;grid-template-columns:repeat(var(--bds-grid-columns), 1fr);gap:var(--bds-grid-gutter);padding-inline:var(--bds-grid-margin);-webkit-margin-start:var(--bds-grid-nav-offset, 0px);margin-inline-start:var(--bds-grid-nav-offset, 0px);-webkit-box-sizing:border-box;box-sizing:border-box}@media (min-width: 769px){bds-grid{--bds-grid-columns:var(--boreal-grid-columns-md)}}@media (min-width: 960px){bds-grid{--bds-grid-columns:var(--boreal-grid-columns-lg);--bds-grid-margin:var(--boreal-grid-margin-lg)}}@media (min-width: 1152px){bds-grid{--bds-grid-gutter:var(--boreal-grid-gutter-xl);--bds-grid-margin:var(--boreal-grid-margin-xl)}}@media (min-width: 1344px){bds-grid{--bds-grid-margin:var(--boreal-grid-margin-2xl)}}bds-grid.bds-grid--fixed{max-width:calc(var(--boreal-grid-fixed-max-columns-width) + 2 * var(--bds-grid-margin));margin-inline:auto}`;
10
+
11
+ const BdsGrid = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ /** `'fluid'` fills full width; `'fixed'` caps the column area at 960px and centres the container. */
15
+ this.layout = GRID_LAYOUT.FLUID;
16
+ }
17
+ checkPropValues() {
18
+ validatePropValue(Object.values(GRID_LAYOUT), GRID_LAYOUT.FLUID, this.el, 'layout');
19
+ }
20
+ componentWillLoad() {
21
+ this.checkPropValues();
22
+ }
23
+ render() {
24
+ return (h(Host, { key: '52672cc265a59d6556eb4ae677c650b19696dbdc', class: { 'bds-grid--fixed': this.layout === GRID_LAYOUT.FIXED }, style: { ...(this.rowGap && { 'row-gap': this.rowGap }) } }, h("slot", { key: '6c0f0b89777a754a91d273838940cd8721b79d5c' })));
25
+ }
26
+ get el() { return getElement(this); }
27
+ static get watchers() { return {
28
+ "layout": [{
29
+ "checkPropValues": 0
30
+ }]
31
+ }; }
32
+ };
33
+ BdsGrid.style = bdsGridCss();
34
+
35
+ export { BdsGrid as bds_grid };
@@ -0,0 +1,491 @@
1
+ import { M as Mixin, r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-BqJlOB6b.js';
2
+ import { C as COMPONENT_STATES } from './states-Bfazyxqi.js';
3
+ import { M as MENU_ROLES } from './menu-dz9-Q2N8.js';
4
+ import { v as validatePropValue } from './validateProps-kGnB15Lz.js';
5
+ import { K as KEYBOARD } from './Keys-DlYG-OVB.js';
6
+
7
+ /**
8
+ * Resolves the appropriate ARIA role for a menu item.
9
+ * @param {MenuRole} role - The role of the parent menu container ('menu' or 'listbox').
10
+ * @returns {MenuItemRole} - Returns 'menuitem' if parent is 'menu', otherwise 'option'.
11
+ * @example
12
+ * const itemRole = resolveMenuItemRole('menu'); // returns 'menuitem'
13
+ */
14
+ function resolveMenuItemRole(role) {
15
+ return role === 'menu' ? 'menuitem' : 'option';
16
+ }
17
+ /**
18
+ * Determines the aria-selected value based on the item's role and state.
19
+ * @param {MenuItemRole} role - The role of the item ('menuitem' or 'option').
20
+ * @param {boolean} selected - The current selection state of the item.
21
+ * @returns {string | null} - Returns the string representation of the boolean if role is 'option', otherwise null.
22
+ * @example
23
+ * const attr = resolveAriaSelected('option', true); // returns 'true'
24
+ * const attrNull = resolveAriaSelected('menuitem', true); // returns null
25
+ */
26
+ function resolveAriaSelected(role, selected) {
27
+ return role === 'option' ? String(selected) : null;
28
+ }
29
+ /**
30
+ * Resolves the tabIndex attribute for keyboard navigation.
31
+ * @param {MenuItemRole} role - The role of the item.
32
+ * @param {boolean} disabled - Whether the item is currently disabled.
33
+ * @param {boolean} active - Whether the item is currently active.
34
+ * @returns {number} - Returns 0 for focusable menu items, or -1 for disabled/options.
35
+ * @example
36
+ * const index = resolveTabIndex('menuitem', false); // returns 0
37
+ * const indexDisabled = resolveTabIndex('menuitem', true); // returns -1
38
+ */
39
+ function resolveTabIndex(role, disabled, active) {
40
+ if (disabled)
41
+ return -1;
42
+ if (role === 'option' || role === 'menuitem') {
43
+ return active ? 0 : -1;
44
+ }
45
+ return -1;
46
+ }
47
+ /**
48
+ * Manages focus and activation through keyboard events.
49
+ * @param {KeyboardEvent} event - The keyboard event object from the listener.
50
+ * @param {HTMLElement[]} items - An array of focusable HTML elements within the menu.
51
+ * @param {number} currentIndex - The index of the currently focused item.
52
+ * @param {boolean} selected - The current selection state of the item (used for activation logic).
53
+ * @returns {void}
54
+ * @example
55
+ * handleMenuKeyNavigation(event, menuItems, 2);
56
+ */
57
+ function handleMenuKeyNavigation(event, items, currentIndex) {
58
+ if (items.length === 0 || currentIndex === -1)
59
+ return;
60
+ let nextIndex = -1;
61
+ switch (event.key) {
62
+ case KEYBOARD.ArrowDown:
63
+ nextIndex = (currentIndex + 1) % items.length;
64
+ break;
65
+ case KEYBOARD.ArrowUp:
66
+ nextIndex = (currentIndex - 1 + items.length) % items.length;
67
+ break;
68
+ default:
69
+ return;
70
+ }
71
+ items.forEach(item => item.removeAttribute('active-item'));
72
+ items[nextIndex].focus();
73
+ items[nextIndex].setAttribute('active-item', '');
74
+ }
75
+ /** Prevents default browser behavior for specific navigation keys.
76
+ * @param {KeyboardEvent} e - The keyboard event to evaluate.
77
+ * @returns {void}
78
+ * @example
79
+ * // Inside a keydown listener:
80
+ * preventNavigationKeys(event);
81
+ */
82
+ function preventNavigationKeys(e) {
83
+ const navigationKeys = [KEYBOARD.ArrowDown, KEYBOARD.ArrowUp, KEYBOARD.Enter, KEYBOARD.Space];
84
+ if (navigationKeys.includes(e.key)) {
85
+ e.preventDefault();
86
+ }
87
+ }
88
+
89
+ /**
90
+ * A Mixin that provides menu item behaviors, including ARIA roles,
91
+ * focus management, and keyboard navigation logic.
92
+ * This mixin is designed to be used with Stencil components that represent items within a menu or listbox,
93
+ * allowing them to automatically adapt their behavior based on the context of their parent container.
94
+ *
95
+ * The mixin includes:
96
+ * - Dynamic ARIA role resolution based on the nearest parent menu or listbox.
97
+ * - Computation of aria-selected and tabIndex attributes for accessibility.
98
+ * - A method to handle keyboard navigation (Arrow keys, Enter, Space) within the menu context.
99
+ *
100
+ * @typeParam B - The base constructor type.
101
+ * @param {B} Base - The base component class to be extended.
102
+ * @returns {MenuBehaviorMixin} - A class with injected menu behaviors.
103
+ *
104
+ * @example
105
+ * ```tsx
106
+ * import { Component, h } from '@stencil/core';
107
+ * import { MenuItemBehavior } from '@/mixins/menu-behavior.mixin';
108
+ *
109
+ * @Component({
110
+ * tag: 'my-menu-item',
111
+ * styleUrl: 'my-menu-item.scss',
112
+ * })
113
+ * export class MyMenuItem extends Mixin(MenuItemBehavior) {
114
+ * @Element() el!: HTMLElement;
115
+ * @Prop() disabled: boolean = false;
116
+ * @Prop() selected: boolean = false;
117
+ *
118
+ * private handleKeyDown = (e: KeyboardEvent) => {
119
+ * if (this.disabled) return;
120
+ * this.handleKeyDownLogic(e, () => this.handleSelection());
121
+ * };
122
+ *
123
+ * render() {
124
+ * return (
125
+ * <Host
126
+ * role={this.menuItemRole}
127
+ * aria-selected={this.ariaSelected}
128
+ * tabIndex={ this.itemTabIndex}
129
+ * onKeyDown={this.handleKeyDown} >
130
+ * <slot />
131
+ * </Host>
132
+ * );
133
+ * }
134
+ * } ```
135
+ *
136
+ *
137
+ */
138
+ const MenuItemBehavior = (Base) => {
139
+ class MenuBehaviorMixin extends Base {
140
+ constructor() {
141
+ super(...arguments);
142
+ this.disabled = false;
143
+ this.selected = false;
144
+ this.activeItem = false;
145
+ }
146
+ /**
147
+ * Finds the closest parent element with a role of 'menu' or 'listbox'.
148
+ * @returns {HTMLElement | null} - The parent menu or listbox element, or null if not found.
149
+ */
150
+ get parent() {
151
+ return this.el.closest('[role="menu"], [role="listbox"]');
152
+ }
153
+ /**
154
+ * Detects the ARIA role of the nearest parent menu or listbox.
155
+ * @returns {MenuRole | null} - 'menu', 'listbox', or null if not found.
156
+ */
157
+ get parentRole() {
158
+ const parent = this.parent;
159
+ return parent !== null ? parent.getAttribute('role') : null;
160
+ }
161
+ /**
162
+ * Resolves the specific item role ('menuitem' or 'option').
163
+ * Defaults to 'menuitem' if no parent is detected.
164
+ * @returns {MenuItemRole}
165
+ */
166
+ get menuItemRole() {
167
+ return resolveMenuItemRole(this.parentRole || 'menu');
168
+ }
169
+ /**
170
+ * Returns the 'aria-selected' value as a string for listbox options.
171
+ * @returns {string | null}
172
+ */
173
+ get ariaSelected() {
174
+ return resolveAriaSelected(this.menuItemRole, this.selected);
175
+ }
176
+ /**
177
+ * Calculates the tabIndex for the item.
178
+ * @returns {number} 0 for focusable menu items, -1 otherwise.
179
+ */
180
+ get itemTabIndex() {
181
+ return resolveTabIndex(this.menuItemRole, this.disabled, this.activeItem);
182
+ }
183
+ /**
184
+ * Processes keyboard events for arrow navigation and activation.
185
+ * @param {KeyboardEvent} e - The native keyboard event.
186
+ * @param {() => void} onActivate - Function to execute when Enter or Space is pressed.
187
+ * @example
188
+ * // Inside a component's keydown listener:
189
+ * this.handleKeyDownLogic(event, () => this.emitSelection());
190
+ */
191
+ handleKeyDownLogic(e, onActivate) {
192
+ preventNavigationKeys(e);
193
+ if (e.key === KEYBOARD.Enter || e.key === KEYBOARD.Space) {
194
+ onActivate();
195
+ return;
196
+ }
197
+ const parent = this.parent;
198
+ if (parent === null)
199
+ return;
200
+ const items = Array.from(parent.querySelectorAll(`${this.el.tagName.toLocaleLowerCase()}:not([disabled]):not([variant="label"])`));
201
+ const currentIndex = items.indexOf(this.el);
202
+ handleMenuKeyNavigation(e, items, currentIndex);
203
+ }
204
+ }
205
+ return MenuBehaviorMixin;
206
+ };
207
+
208
+ /**
209
+ * Creates a mixin that adds link-related properties and behaviors to a base class.
210
+ * It provides computed attributes for links, handles keyboard interactions, and sanitizes URLs to ensure security.
211
+ * It allows components to easily handle link attributes and execute link events.
212
+ *
213
+ * This mixin includes:
214
+ * - `href`: The URL the link points to.
215
+ * - `newTab`: Whether the link should open in a new tab.
216
+ * - `downloadable`: Whether the link should be treated as a download.
217
+ * - `filename`: The filename to use when downloading.
218
+ * - `getLinkAttributes`: A computed property that returns the appropriate attributes for the link based on its state and props.
219
+ * - `handleLinkKeyDown`: A method to handle keyboard interactions for accessibility.
220
+ * - `handleLinkClick`: A method to manage click behavior, including external links and downloads.
221
+ * - `sanitizeUrl`: A utility method to sanitize URLs and prevent XSS vulnerabilities.
222
+ *
223
+ * @typeParam T - The base constructor type to extend.
224
+ * @param {T} Base - The base component class to be extended.
225
+ * @returns {WithLinks} - A class with injected link behaviors.
226
+ *
227
+ * @example
228
+ * ```tsx
229
+ * import { Component, h } from '@stencil/core';
230
+ * import { WithLinks } from '@/mixins/links.mixin';
231
+ *
232
+ * @Component({
233
+ * tag: 'my-link',
234
+ * styleUrl: 'my-link.scss',
235
+ * })
236
+ * class MyLink extends Mixin(WithLinks) {
237
+ * @Element() el!: HTMLElement;
238
+ * @Prop() href: string = '';
239
+ * @Prop() newTab: boolean = false;
240
+ * @Prop() downloadable: boolean = false;
241
+ * @Prop() filename: string = '';
242
+ * @Prop() disabled: boolean = false;
243
+ *
244
+ * private handleKeyDown = (e: KeyboardEvent) => {
245
+ * if (this.disabled) return;
246
+ * this.handleLinkKeyDown(e);
247
+ * };
248
+ *
249
+ * render() {
250
+ * return (
251
+ * <Host
252
+ * {...this.getLinkAttributes}
253
+ * onKeyDown={this.handleKeyDown} >
254
+ * <slot />
255
+ * </Host>
256
+ * );
257
+ * }
258
+ * } ```
259
+ *
260
+ */
261
+ const WithLinks = (Base) => {
262
+ class WithLinks extends Base {
263
+ constructor() {
264
+ super(...arguments);
265
+ this.href = '';
266
+ this.newTab = false;
267
+ this.download = '';
268
+ }
269
+ get isLink() {
270
+ return this.href !== '' || this.download !== '';
271
+ }
272
+ /**
273
+ * Computes the appropriate link attributes based on the component's props and state.
274
+ * It handles external links, new tab behavior, and download attributes while ensuring accessibility.
275
+ * @returns {LinksAttrs} - The computed link attributes.
276
+ * */
277
+ get linkAttributes() {
278
+ const attributes = {};
279
+ if (!this.isLink)
280
+ return attributes;
281
+ const sanitizedHref = this.sanitizeUrl(this.href);
282
+ attributes.href = sanitizedHref;
283
+ attributes.target = this.newTab ? '_blank' : '_self';
284
+ attributes.rel =
285
+ this._isExternalLink(sanitizedHref) || this.newTab || this.download !== '' ? 'noopener noreferrer' : '';
286
+ attributes.download = this.download !== '' ? this.download : undefined;
287
+ if (this.el.tagName.toLowerCase() !== 'a') {
288
+ attributes.role = 'link';
289
+ attributes.tabindex = '0';
290
+ }
291
+ return attributes;
292
+ }
293
+ _isExternalLink(url) {
294
+ const isExternal = /^https?:\/\//.test(url) && !url.includes(window.location.hostname);
295
+ return isExternal;
296
+ }
297
+ /** Keydown handler to allow keyboard interaction with the link */
298
+ handleLinkKeyDown(event) {
299
+ if (!this.isLink)
300
+ return;
301
+ if (this.el.tagName.toLowerCase() !== 'a' && (event.key === KEYBOARD.Enter || event.key === KEYBOARD.Space)) {
302
+ event.preventDefault();
303
+ this.handleLinkClick(new MouseEvent('click', { bubbles: true, cancelable: true }));
304
+ }
305
+ }
306
+ /** Click handler to manage link behavior, including external links and downloads */
307
+ handleLinkClick(event) {
308
+ if (!this.isLink) {
309
+ event.preventDefault();
310
+ return;
311
+ }
312
+ const attributes = this.linkAttributes;
313
+ if (attributes.download !== '' && attributes.download !== undefined) {
314
+ event.preventDefault();
315
+ const logger = document.createElement('a');
316
+ logger.href = attributes.download || '';
317
+ logger.download = attributes.download;
318
+ logger.style.display = 'none';
319
+ document.body.appendChild(logger);
320
+ console.log('Initiating download:', logger.href);
321
+ logger.click();
322
+ document.body.removeChild(logger);
323
+ }
324
+ if (this.el.tagName.toLowerCase() !== 'a') {
325
+ if (attributes.target === '_blank') {
326
+ window.open(attributes.href, '_blank', attributes.rel);
327
+ }
328
+ else {
329
+ window.location.href = attributes.href || '';
330
+ }
331
+ event.preventDefault();
332
+ }
333
+ }
334
+ /** Sanitizes the URL to prevent XSS vulnerabilities. It removes dangerous protocols and ensures valid URLs.
335
+ * @param {string} url - The URL to sanitize.
336
+ * @returns {string} - The sanitized URL, or an empty string if the URL is deemed unsafe.
337
+ * @example
338
+ * const safeUrl = sanitizeUrl('https://example.com'); // returns 'https://example.com'
339
+ * const unsafeUrl = sanitizeUrl('javascript:alert(1)'); // returns ''
340
+ */
341
+ sanitizeUrl(url) {
342
+ const sanitized = url.trim().toLowerCase();
343
+ if (sanitized.startsWith('javascript:') || sanitized.startsWith('data:') || sanitized.includes('\0')) {
344
+ return '';
345
+ }
346
+ if (!sanitized.startsWith('http://') &&
347
+ !sanitized.startsWith('https://') &&
348
+ !sanitized.startsWith('mailto:') &&
349
+ !sanitized.startsWith('tel:') &&
350
+ !sanitized.startsWith('/') &&
351
+ !sanitized.startsWith('#')) {
352
+ return sanitized.startsWith('://') ? '' : `https://${url}`;
353
+ }
354
+ return url;
355
+ }
356
+ }
357
+ return WithLinks;
358
+ };
359
+
360
+ const LIST_MENU_ITEM_VARIANTS = {
361
+ LABEL: 'label',
362
+ BUTTON: 'button',
363
+ };
364
+
365
+ const bdsListMenuItemCss = () => `@charset "UTF-8";.bds-list-item,.bds-list-item__content{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.bds-list-item{width:100%;vertical-align:middle;position:relative;color:var(--boreal-text-default);font-style:normal;font-family:var(--boreal-typography-font-family-primary);font-weight:var(--boreal-typography-font-weight-regular)}.bds-list-item__content{-ms-flex-pack:justify;justify-content:space-between;-ms-flex:1;flex:1;vertical-align:middle;gap:var(--boreal-spacing-3xs)}.bds-list-item__content-left,.bds-list-item__content-right{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;vertical-align:middle}.bds-list-item__content-left__icon,.bds-list-item__content-left__text{display:inline-block;vertical-align:middle;font-style:normal;font-size:var(--boreal-typography-font-size-sm);line-height:var(--boreal-typography-line-height-xs)}.bds-list-item__content-left__icon:not(:empty){padding-right:var(--boreal-spacing-3xs)}.bds-list-item__content [class*=bds-icon-]{font-size:var(--boreal-typography-font-size-md)}.bds-list-item--button{cursor:pointer;padding:var(--boreal-spacing-1xs) var(--boreal-spacing-s);-webkit-transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, -webkit-box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;transition:background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease}.bds-list-item--button:not(.bds-list-item--disabled):hover:not([selected]){background-color:var(--boreal-ui-default-lighter);z-index:1}.bds-list-item--button:not(.bds-list-item--disabled):focus,.bds-list-item--button:not(.bds-list-item--disabled):focus-visible{outline:none;-webkit-box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);box-shadow:0 0 0 1px var(--boreal-ui-inverse), 0 0 0 3px var(--boreal-stroke-focus);z-index:1}.bds-list-item--button:not(.bds-list-item--disabled):active,.bds-list-item--button:not(.bds-list-item--disabled).bds-list-item--state-active{-webkit-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;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;background-color:var(--boreal-ui-default-lighter);z-index:1}.bds-list-item--selected{background-color:var(--boreal-ui-primary-lighter)}.bds-list-item--disabled{color:var(--boreal-text-disabled);cursor:not-allowed}.bds-list-item--label{cursor:default;padding:var(--boreal-spacing-3xs) 0}.bds-list-item--label .bds-typography label{color:var(--boreal-text-default-light)}`;
366
+
367
+ const BdsListMenuItem = class extends Mixin(MenuItemBehavior, WithLinks) {
368
+ constructor(hostRef) {
369
+ super();
370
+ registerInstance(this, hostRef);
371
+ this.bdsSelectItem = createEvent(this, "bdsSelectItem");
372
+ /**
373
+ * Defines the visual style of the list menu item.
374
+ * - 'button': A standard clickable item.
375
+ * - 'label': A non-interactive label, typically used for grouping items.
376
+ */
377
+ this.variant = LIST_MENU_ITEM_VARIANTS.BUTTON;
378
+ /** The name of the list menu item */
379
+ this.name = '';
380
+ /** Disabled state item */
381
+ this.disabled = false;
382
+ /** Selected item state */
383
+ this.selected = false;
384
+ /** Value associated with the menu item */
385
+ this.value = '';
386
+ /** Checkable state item, if is activated should be visible a checkbox */
387
+ this.checkable = false;
388
+ /** Active state item */
389
+ this.activeItem = false;
390
+ /** Link behavior props */
391
+ this.href = '';
392
+ /** Opens the link in a new tab if true */
393
+ this.newTab = false;
394
+ /** Makes the link downloadable if true */
395
+ this.download = '';
396
+ /** State to manage click and keyboard interaction states */
397
+ this.currentState = COMPONENT_STATES.DEFAULT;
398
+ /** Event to notify when the menu item is clicked */
399
+ this.handleClick = (e) => {
400
+ if (this.disabled || this.isLabelVariant)
401
+ return;
402
+ e.stopPropagation();
403
+ if (this.isLink) {
404
+ this.handleLinkClick(e);
405
+ return;
406
+ }
407
+ if (this.checkable && this.parentRole !== MENU_ROLES.LISTBOX)
408
+ this.selected = !this.selected;
409
+ this.bdsSelectItem.emit({
410
+ value: this.value,
411
+ selected: !this.selected,
412
+ });
413
+ };
414
+ /** Event to handle keydown navigation and trigger click */
415
+ this.handleKeyDown = (e) => {
416
+ if (this.disabled || this.isLabelVariant)
417
+ return;
418
+ this.handleKeyDownLogic(e, () => this.handleClick(e));
419
+ // If the item is a link, we dont activate this animation
420
+ if (!this.isLink || this.linkAttributes.download !== undefined) {
421
+ this.currentState =
422
+ e.key === KEYBOARD.Enter || e.key === KEYBOARD.Space ? COMPONENT_STATES.ACTIVE : this.currentState;
423
+ }
424
+ };
425
+ /** Event to handle keyup navigation and reset active state */
426
+ this.handleKeyUp = () => {
427
+ if (this.disabled || this.isLabelVariant)
428
+ return;
429
+ this.currentState = COMPONENT_STATES.DEFAULT;
430
+ };
431
+ }
432
+ checkPropsVariant() {
433
+ validatePropValue(Object.values(LIST_MENU_ITEM_VARIANTS), LIST_MENU_ITEM_VARIANTS.BUTTON, this.el, 'variant');
434
+ }
435
+ /** Lifecycle method called before the component is loaded */
436
+ componentWillLoad() {
437
+ this.checkPropsVariant();
438
+ }
439
+ /** Improve aria resolve for checkable items */
440
+ get menuItemRoleExtended() {
441
+ if (!this.checkable)
442
+ return this.menuItemRole;
443
+ if (this.parentRole === 'listbox')
444
+ return 'checkbox';
445
+ return 'menuitemcheckbox';
446
+ }
447
+ /** Checks if the variant is a label */
448
+ get isLabelVariant() {
449
+ return this.variant === LIST_MENU_ITEM_VARIANTS.LABEL;
450
+ }
451
+ /** Returns the class map for the list menu item */
452
+ get classMap() {
453
+ return {
454
+ 'bds-list-item': true,
455
+ 'bds-list-item--disabled': this.disabled,
456
+ 'bds-list-item--selected': this.selected,
457
+ [`bds-list-item--state-${this.currentState}`]: true,
458
+ [`bds-list-item--${this.variant}`]: true,
459
+ };
460
+ }
461
+ /** Return the render for the label variant of the list menu item */
462
+ renderTypeLabel() {
463
+ return (h("bds-typography", { variant: "label", element: "label", align: "start", role: "presentation" }, h("slot", { name: "left-content" }), " ", h("slot", null)));
464
+ }
465
+ renderCheckbox() {
466
+ if (!this.checkable)
467
+ return null;
468
+ return (h("bds-checkbox", { checked: this.selected, disabled: this.disabled, name: `checkbox-${this.value}`, tabindex: "-1", style: { pointerEvents: 'none' }, inert: true }));
469
+ }
470
+ /** Return the render for the button variant of the list menu item */
471
+ renderTypeButton() {
472
+ return (h("div", { class: "bds-list-item__content" }, h("div", { class: "bds-list-item__content-left" }, this.renderCheckbox(), h("span", { class: "bds-list-item__content-left__icon" }, h("slot", { name: "left-content" })), h("span", { class: "bds-list-item__content-left__text" }, h("slot", null))), h("div", { class: "bds-list-item__content-right" }, h("slot", { name: "right-content" }))));
473
+ }
474
+ /** Main render */
475
+ render() {
476
+ let renderItem = this.renderTypeButton();
477
+ if (this.isLabelVariant)
478
+ renderItem = this.renderTypeLabel();
479
+ const linkAttributes = this.isLink ? { ...this.linkAttributes, tabindex: this.activeItem ? 0 : -1 } : {};
480
+ 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));
481
+ }
482
+ get el() { return getElement(this); }
483
+ static get watchers() { return {
484
+ "variant": [{
485
+ "checkPropsVariant": 0
486
+ }]
487
+ }; }
488
+ };
489
+ BdsListMenuItem.style = bdsListMenuItemCss();
490
+
491
+ export { BdsListMenuItem as bds_list_menu_item };