@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
@@ -1,8 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BcSjvXJk.js');
4
- var internals = require('./internals-X77qKxsK.js');
5
- var validateProps = require('./validateProps-BNOBk1Xs.js');
3
+ var index = require('./index-CwYIVC9N.js');
4
+ var formAssociated_mixin = require('./form-associated.mixin-BCR6bj29.js');
5
+ var internals = require('./internals-D8x7GMfR.js');
6
+ var BaseAttributes = require('./BaseAttributes-DBBhKt7O.js');
7
+ var validateProps = require('./validateProps-CJe9X5x8.js');
6
8
 
7
9
  /**
8
10
  * Centralized list of `aria-label` values used by interactive elements.
@@ -26,17 +28,6 @@ const ICONS = {
26
28
  SightOff: 'bds-icon-sight-off',
27
29
  };
28
30
 
29
- /**
30
- * Generates a stable random ID for internal ARIA linkage.
31
- * Used by components to wire labels, descriptions, and controls
32
- * without exposing the ID as a public prop.
33
- *
34
- * @param prefix - Component-specific prefix for readability in DevTools.
35
- */
36
- function createId(prefix = 'bds') {
37
- return `${prefix}-${Math.random().toString(36).substr(2, 9)}`;
38
- }
39
-
40
31
  const TEXT_FIELD_TYPES = {
41
32
  TEXT: 'text',
42
33
  PASSWORD: 'password',
@@ -54,7 +45,7 @@ const TEXT_FIELD_VALIDATION_TIMING = {
54
45
 
55
46
  const bdsTextFieldCss = () => `@charset "UTF-8";.bds-text-field__container,.bds-text-field__sublabel,.bds-text-field__actions,.bds-text-field__action,.bds-text-field__footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.bds-text-field [slot=prefix],.bds-text-field__sublabel{font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-xs)}.bds-text-field{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--boreal-spacing-2xs);width:var(--bds-text-field-width, 100%);font-family:var(--boreal-typography-font-family-primary);color:var(--boreal-text-default)}.bds-text-field__container{padding:var(--boreal-spacing-1xs);padding-left:0;height:var(--boreal-layout-l);border:1px solid var(--boreal-stroke-default-light);border-radius:var(--boreal-radius-xs);background-color:var(--boreal-ui-inverse);-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;overflow:hidden}.bds-text-field__sublabel{gap:var(--boreal-spacing-3xs);padding-left:var(--boreal-spacing-xs);white-space:nowrap}.bds-text-field__sublabel em[class^=bds-icon-],.bds-text-field__sublabel em[class*=" bds-icon-"]{width:var(--boreal-icons-m);height:var(--boreal-icons-m);font-size:var(--boreal-typography-font-size-md);line-height:1;-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.bds-text-field [slot=prefix]{padding-left:var(--boreal-spacing-xs);overflow:hidden;white-space:nowrap;-ms-flex-negative:0;flex-shrink:0}.bds-text-field__control{min-width:0;width:100%;border:none;outline:none;background:transparent;padding:0;padding-left:var(--boreal-spacing-xs);font-size:var(--boreal-typography-font-size-sm);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-sm)}.bds-text-field__control::-webkit-input-placeholder{color:var(--boreal-text-default-light)}.bds-text-field__control::-moz-placeholder{color:var(--boreal-text-default-light)}.bds-text-field__control:-ms-input-placeholder{color:var(--boreal-text-default-light)}.bds-text-field__control::-ms-input-placeholder{color:var(--boreal-text-default-light)}.bds-text-field__control::placeholder{color:var(--boreal-text-default-light)}.bds-text-field__control:disabled{cursor:not-allowed}.bds-text-field__actions{padding-left:var(--boreal-spacing-xs);gap:var(--boreal-spacing-3xs)}.bds-text-field__action{-ms-flex-pack:center;justify-content:center;background:none;border:none;padding:var(--boreal-spacing-3xs);cursor:pointer;color:var(--boreal-icon-default-light);line-height:1;-webkit-transition:color 0.3s ease, opacity 0.3s ease;transition:color 0.3s ease, opacity 0.3s ease}.bds-text-field__action--clear em[class^=bds-icon-],.bds-text-field__action--clear em[class*=" bds-icon-"]{width:var(--boreal-icons-s);height:var(--boreal-icons-s);font-size:var(--boreal-typography-font-size-xs);line-height:1;-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.bds-text-field__action--password em[class^=bds-icon-],.bds-text-field__action--password em[class*=" bds-icon-"]{width:var(--boreal-icons-l);height:var(--boreal-icons-l);font-size:var(--boreal-typography-font-size-lg);line-height:1;-ms-flex-negative:0;flex-shrink:0;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.bds-text-field__action:hover{color:var(--boreal-icon-default-dark)}.bds-text-field__action:focus-visible{-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)}.bds-text-field__footer{-ms-flex-pack:justify;justify-content:space-between}.bds-text-field__char-count{-ms-flex-negative:0;flex-shrink:0;font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-xs);color:var(--boreal-text-default-light)}.bds-text-field--focused .bds-text-field__container{border-color:var(--boreal-stroke-focus);-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)}.bds-text-field--error .bds-text-field__container{border-color:var(--boreal-stroke-danger-base)}.bds-text-field--disabled{cursor:not-allowed}.bds-text-field--disabled .bds-text-field__container{background-color:var(--boreal-ui-default-lighter);border-color:var(--boreal-stroke-default-light)}.bds-text-field--disabled .bds-text-field__sublabel{color:var(--boreal-text-disabled)}.bds-text-field--disabled .bds-text-field__sublabel em[class^=bds-icon-],.bds-text-field--disabled .bds-text-field__sublabel em[class*=" bds-icon-"]{color:var(--boreal-icon-disabled)}.bds-text-field--disabled .bds-text-field__control{color:var(--boreal-icon-disabled)}.bds-text-field--readonly .bds-text-field__container{background-color:transparent;border:none}.bds-text-field--readonly .bds-text-field__control::-webkit-input-placeholder{color:var(--boreal-text-default-darker)}.bds-text-field--readonly .bds-text-field__control::-moz-placeholder{color:var(--boreal-text-default-darker)}.bds-text-field--readonly .bds-text-field__control:-ms-input-placeholder{color:var(--boreal-text-default-darker)}.bds-text-field--readonly .bds-text-field__control::-ms-input-placeholder{color:var(--boreal-text-default-darker)}.bds-text-field--readonly .bds-text-field__control::placeholder{color:var(--boreal-text-default-darker)}.bds-text-field--plain .bds-text-field__container{border-color:transparent}.bds-text-field--plain.bds-text-field--focused .bds-text-field__container{border-color:var(--boreal-stroke-focus)}.bds-text-field--clear-on-hover .bds-text-field__action--clear{opacity:0;pointer-events:none}.bds-text-field--clear-on-hover:hover .bds-text-field__action--clear{opacity:1;pointer-events:auto}`;
56
47
 
57
- const BdsTextField = class extends index.Mixin(internals.formAssociatedMixin) {
48
+ const BdsTextField = class extends index.Mixin(formAssociated_mixin.formAssociatedMixin) {
58
49
  constructor(hostRef) {
59
50
  super();
60
51
  index.registerInstance(this, hostRef);
@@ -141,7 +132,7 @@ const BdsTextField = class extends index.Mixin(internals.formAssociatedMixin) {
141
132
  /** Error message from the last failed validator. Shown in the footer when `validationError` is `true`. */
142
133
  this.validationMessage = '';
143
134
  this._valueAtFocus = '';
144
- this._id = createId('bds-text-field');
135
+ this._id = BaseAttributes.createId('bds-text-field');
145
136
  this.invalidHandler = (e) => {
146
137
  e.preventDefault();
147
138
  this.validationError = true;
@@ -343,7 +334,7 @@ const BdsTextField = class extends index.Mixin(internals.formAssociatedMixin) {
343
334
  : this.helperText;
344
335
  const showFooter = helperContent !== '' || (this.counter && this.charCount > 0);
345
336
  const typographyState = this.isDisabled ? 'disabled' : effectiveError ? 'error' : 'default';
346
- return (index.h(index.Host, { key: '8fcf734b92dfa2ad75a32bef27efea78bd61dd63', class: this.classMap, style: this.hostStyle, tabIndex: -1, onFocus: () => !this.readOnly && this.el.querySelector('input')?.focus() }, this.label !== '' && (index.h("bds-typography", { key: 'd50b6407278dd93b52fbbdbbc5e999a1185d4649', id: labelId, variant: "label", htmlFor: this._id, isRequired: this.required, tooltipText: this.info !== '' ? this.info : undefined, state: typographyState }, this.label)), index.h("div", { key: '89dc5c7830197786e7dc67b87f64a0b63c8a8c84', class: "bds-text-field__container" }, (this.icon !== '' || this.sublabel !== '') && (index.h("span", { key: 'a4139e0ce3b3d37bb33d55b5811e439974ed9d53', class: "bds-text-field__sublabel" }, this.icon !== '' && index.h("em", { key: '5fc8f5a49b348fe07c63242243274946e21aa782', class: this.icon }), this.sublabel)), index.h("slot", { key: 'a8f62dba555a26aba3b1105402f0afca1378c83a', name: "prefix" }), index.h("input", { key: 'ba2161c8d56c42847c7006d1742a2b60613f4628', id: this._id, class: "bds-text-field__control", "aria-labelledby": this.label !== '' ? labelId : undefined, "aria-describedby": showFooter && helperContent !== '' ? helperId : undefined, "aria-invalid": this.error || this.validationError ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, type: this.type === TEXT_FIELD_TYPES.PASSWORD && this.showPassword ? TEXT_FIELD_TYPES.TEXT : this.type, value: this.value, disabled: this.isDisabled, readOnly: this.readOnly, tabIndex: this.readOnly ? -1 : undefined, placeholder: this.placeholder, autocomplete: this.autocomplete, pattern: this.pattern !== '' ? this.pattern : undefined, minLength: this.minLength !== 0 ? this.minLength : undefined, maxLength: this.effectiveMaxLength, onMouseDown: (e) => this.handleMouseDown(e), onInput: (e) => this.handleInput(e), onChange: (e) => this.handleChange(e), onFocus: (e) => this.handleFocus(e), onBlur: (e) => this.handleBlur(e) }), (showClear || this.type === TEXT_FIELD_TYPES.PASSWORD) && (index.h("div", { key: 'c9ae74b2be87e2759d60ad69c9c91b95bc199163', class: "bds-text-field__actions" }, showClear && (index.h("button", { key: 'd94534386505f9c54aabe892aec58d81b6a0ea94', class: "bds-text-field__action bds-text-field__action--clear", type: "button", "aria-label": ARIA_LABELS.Clear, onClick: () => this.handleClear() }, index.h("em", { key: '7899ffad5be71b731ae8ead1d5601e3fc6b5f6a5', class: this.iconClear }))), this.type === TEXT_FIELD_TYPES.PASSWORD && (index.h("button", { key: '612aff7de193d9f61b955e686484c13baca3ff57', class: "bds-text-field__action bds-text-field__action--password", type: "button", "aria-label": this.showPassword ? ARIA_LABELS.HidePassword : ARIA_LABELS.ShowPassword, onClick: () => this.handleShowPassword() }, index.h("em", { key: 'e886085b840a351a7455a1adb685996835e47118', class: this.showPasswordIcon })))))), showFooter && (index.h("div", { key: '9b47bbaff802d0c4125e45c87f1e7366418dfdcc', class: "bds-text-field__footer" }, helperContent !== '' && (index.h("bds-typography", { key: '64265da85a16152af33b3f94c05e4d8562dc26df', id: helperId, variant: "helper", state: typographyState }, helperContent)), this.counter && this.charCount > 0 && (index.h("span", { key: '2a264545ba46b8d6908adabe729a1256334535ef', class: "bds-text-field__char-count" }, this.currentCharCount, "/", this.charCount))))));
337
+ return (index.h(index.Host, { key: '5f52a0a9553efa1ec140b9edc4d3d332b9b306bc', class: this.classMap, style: this.hostStyle, tabIndex: -1, onFocus: () => !this.readOnly && this.el.querySelector('input')?.focus() }, this.label !== '' && (index.h("bds-typography", { key: 'eea2b4211cb13cc24baa650239ceca1168933eb5', id: labelId, variant: "label", htmlFor: this._id, required: this.required, tooltipText: this.info !== '' ? this.info : undefined, state: typographyState }, this.label)), index.h("div", { key: '17d9e4b5f7e0d64a7e6e73200073db9e2d89b601', class: "bds-text-field__container" }, (this.icon !== '' || this.sublabel !== '') && (index.h("span", { key: '5557471fd0b5b49a1bb856ea4c1b901ca96039e6', class: "bds-text-field__sublabel" }, this.icon !== '' && index.h("em", { key: 'e213979d268b2fce51a0a090b82dff0552515a8c', class: this.icon }), this.sublabel)), index.h("slot", { key: '828b889037a40e562bf45a4b502988542b815701', name: "prefix" }), index.h("input", { key: 'b842de768f53b095b65fc60da7a0cfabfbcc87d1', id: this._id, class: "bds-text-field__control", "aria-labelledby": this.label !== '' ? labelId : undefined, "aria-describedby": showFooter && helperContent !== '' ? helperId : undefined, "aria-invalid": this.error || this.validationError ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, type: this.type === TEXT_FIELD_TYPES.PASSWORD && this.showPassword ? TEXT_FIELD_TYPES.TEXT : this.type, value: this.value, disabled: this.isDisabled, readOnly: this.readOnly, tabIndex: this.readOnly ? -1 : undefined, placeholder: this.placeholder, autocomplete: this.autocomplete, pattern: this.pattern !== '' ? this.pattern : undefined, minLength: this.minLength !== 0 ? this.minLength : undefined, maxLength: this.effectiveMaxLength, onMouseDown: (e) => this.handleMouseDown(e), onInput: (e) => this.handleInput(e), onChange: (e) => this.handleChange(e), onFocus: (e) => this.handleFocus(e), onBlur: (e) => this.handleBlur(e) }), (showClear || this.type === TEXT_FIELD_TYPES.PASSWORD) && (index.h("div", { key: '19ffb36c88f72645969fed69eb8368647ea8071c', class: "bds-text-field__actions" }, showClear && (index.h("button", { key: '1adbe2d791fa48cbc6d0b9d71bda40f01f77efe4', class: "bds-text-field__action bds-text-field__action--clear", type: "button", "aria-label": ARIA_LABELS.Clear, onClick: () => this.handleClear() }, index.h("em", { key: '72e94a903896a8f0d04569ffb4b692c5fe37c621', class: this.iconClear }))), this.type === TEXT_FIELD_TYPES.PASSWORD && (index.h("button", { key: '795a85ad395254a8dbac151eb225aeb0d0d9266a', class: "bds-text-field__action bds-text-field__action--password", type: "button", "aria-label": this.showPassword ? ARIA_LABELS.HidePassword : ARIA_LABELS.ShowPassword, onClick: () => this.handleShowPassword() }, index.h("em", { key: 'e84632218e25422ce5ba64ad6efc40a94310a0c5', class: this.showPasswordIcon })))))), showFooter && (index.h("div", { key: 'ef98f783b7cd1ccf37d04a209d1bcf4b87ca048a', class: "bds-text-field__footer" }, helperContent !== '' && (index.h("bds-typography", { key: 'c560b15810400be0710368c089294a6ee51746b1', id: helperId, variant: "helper", state: typographyState }, helperContent)), this.counter && this.charCount > 0 && (index.h("span", { key: 'e4f7d33f2e3bf588f30ccb7165a9b385d8f5a8e3', class: "bds-text-field__char-count" }, this.currentCharCount, "/", this.charCount))))));
347
338
  }
348
339
  static get formAssociated() { return true; }
349
340
  get el() { return index.getElement(this); }
@@ -0,0 +1,187 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CwYIVC9N.js');
4
+ var formAssociated_mixin = require('./form-associated.mixin-BCR6bj29.js');
5
+ var attributes = require('./attributes-CgRFplrN.js');
6
+ var internals = require('./internals-D8x7GMfR.js');
7
+ var BaseAttributes = require('./BaseAttributes-DBBhKt7O.js');
8
+
9
+ const TOGGLE_PLACEMENT = {
10
+ LEFT: 'left',
11
+ RIGHT: 'right',
12
+ };
13
+
14
+ const bdsToggleCss = () => `@charset "UTF-8";.bds-toggle{font-family:var(--boreal-typography-font-family-primary);display:inline-block}.bds-toggle__container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-2xs);outline:none;width:-webkit-max-content;width:-moz-max-content;width:max-content}.bds-toggle__container:focus{outline:none}.bds-toggle__container--inverse{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.bds-toggle:active,.bds-toggle:focus-visible{outline:none}.bds-toggle:active .bds-toggle__input:not([disabled])+.bds-toggle__slider,.bds-toggle:focus-visible .bds-toggle__input:not([disabled])+.bds-toggle__slider{-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)}.bds-toggle .bds-toggle__input:active:not([disabled])+.bds-toggle__slider,.bds-toggle .bds-toggle__input:focus-visible:not([disabled])+.bds-toggle__slider{-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)}.bds-toggle:hover:not(:active):not([checked]):not([disabled]) .bds-toggle__slider,.bds-toggle:hover:not(:active):focus-within:not([checked]) .bds-toggle__slider{-webkit-box-shadow:0 1px 2px 0 var(--boreal-stroke-default-light);box-shadow:0 1px 2px 0 var(--boreal-stroke-default-light)}.bds-toggle__switch{position:relative;display:inline-block;width:var(--boreal-spacing-3xl);height:var(--boreal-spacing-l)}.bds-toggle__input{opacity:0;width:0;height:0}.bds-toggle__input:not(:checked)+.bds-toggle__slider{border:1px solid var(--boreal-stroke-default-light)}.bds-toggle__input:checked+.bds-toggle__slider{background-color:var(--boreal-ui-primary-base)}.bds-toggle__input:checked+.bds-toggle__slider::before{-webkit-transform:translateX(var(--boreal-spacing-l));-ms-transform:translateX(var(--boreal-spacing-l));transform:translateX(var(--boreal-spacing-l))}.bds-toggle__input:disabled+.bds-toggle__slider{background-color:var(--boreal-ui-disabled);cursor:default}.bds-toggle__input:disabled+.bds-toggle__slider::before{background-color:var(--boreal-icon-default-light)}.bds-toggle__input:disabled:checked+.bds-toggle__slider{background-color:var(--boreal-ui-primary-light)}.bds-toggle__input:disabled:checked+.bds-toggle__slider::before{background-color:var(--boreal-icon-inverse)}.bds-toggle__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--boreal-ui-base-light);-webkit-transition:all 0.4s, border-color 0s;transition:all 0.4s, border-color 0s}.bds-toggle__slider::before{position:absolute;content:"";height:var(--boreal-typography-font-size-md);width:var(--boreal-typography-font-size-md);left:var(--boreal-spacing-2xs);background-color:var(--boreal-text-inverse);bottom:0;top:0;margin:auto;-webkit-transition:0.3s;transition:0.3s}.bds-toggle__slider--round{border-radius:var(--boreal-radius-m)}.bds-toggle__slider--round::before{border-radius:var(--boreal-radius-full)}.bds-toggle__label{font-size:var(--boreal-typography-font-size-sm);color:var(--boreal-text-default)}.bds-toggle__helper-text{display:-ms-flexbox;display:flex;position:relative;color:var(--boreal-text-default-light);font-size:var(--boreal-typography-font-size-xs);margin-top:var(--boreal-spacing-2xs)}`;
15
+
16
+ const BdsToggle = class extends index.Mixin(formAssociated_mixin.formAssociatedMixin) {
17
+ constructor(hostRef) {
18
+ super();
19
+ index.registerInstance(this, hostRef);
20
+ this.valueChange = index.createEvent(this, "valueChange");
21
+ this.bdsChange = index.createEvent(this, "bdsChange");
22
+ if (hostRef.$hostElement$["s-ei"]) {
23
+ this.internals = hostRef.$hostElement$["s-ei"];
24
+ }
25
+ else {
26
+ this.internals = hostRef.$hostElement$.attachInternals();
27
+ hostRef.$hostElement$["s-ei"] = this.internals;
28
+ }
29
+ this.inheritedAttributes = {};
30
+ /** Disables the control. Defaults to `false`. */
31
+ this.disabled = false;
32
+ /** Marks the control as required for form submission. Defaults to `false`. */
33
+ this.required = false;
34
+ /** Tooltip content attached to the label. Rendered via `bds-typography` `tooltipText` prop. */
35
+ this.info = '';
36
+ /** When `true`, applies the error visual state. */
37
+ this.error = false;
38
+ /** Message shown below the input when `error` is `true`. Replaces `helperText`. */
39
+ this.errorMessage = '';
40
+ // ---------------------------------------------------------------------------
41
+ // Props
42
+ // ---------------------------------------------------------------------------
43
+ /** Whether the toggle is on. Defaults to `false`. */
44
+ this.checked = false;
45
+ /**
46
+ * Position of the label relative to the switch.
47
+ * Accepts `TOGGLE_PLACEMENT` values. Defaults to `TOGGLE_PLACEMENT.LEFT`.
48
+ */
49
+ this.placement = TOGGLE_PLACEMENT.LEFT;
50
+ /** Label displayed next to the toggle. Defaults to `""`. */
51
+ this.label = '';
52
+ /** Help text displayed below the toggle. Defaults to `""`. */
53
+ this.helperText = '';
54
+ /**
55
+ * Value submitted with the form data when checked.
56
+ * Behaves like the `value` attribute of a native `<input type="checkbox">`. Defaults to `"on"`.
57
+ */
58
+ this.value = 'on';
59
+ this._id = BaseAttributes.createId('bds-toggle');
60
+ // ---------------------------------------------------------------------------
61
+ // State
62
+ // ---------------------------------------------------------------------------
63
+ /** Internal mirror of the `disabled` prop, kept in sync via `@Watch` and `formDisabledCallback`. */
64
+ this.isDisabled = false;
65
+ /** `true` when the last triggered validation run returned invalid. Drives the error visual state. */
66
+ this.validationError = false;
67
+ /** Error message from the last failed validator. Shown in the footer when `validationError` is `true`. */
68
+ this.validationMessage = '';
69
+ /** Local mirror of the `checked` prop, kept in sync via `@Watch` and `formStateRestoreCallback`. */
70
+ this.isChecked = false;
71
+ this.handleClick = () => this.toggle();
72
+ this.handleKeyDown = (e) => {
73
+ if (e.key === ' ' || e.key === 'Enter') {
74
+ e.preventDefault();
75
+ this.toggle();
76
+ }
77
+ };
78
+ this.handleInvalid = (e) => {
79
+ e.preventDefault();
80
+ this.validate();
81
+ };
82
+ }
83
+ // ---------------------------------------------------------------------------
84
+ // Lifecycle
85
+ // ---------------------------------------------------------------------------
86
+ componentWillLoad() {
87
+ this.isChecked = this.checked || false;
88
+ this.isDisabled = this.disabled || false;
89
+ this.inheritedAttributes = { ...attributes.inheritAriaAttributes(this.el) };
90
+ this.syncFormValue();
91
+ }
92
+ // ---------------------------------------------------------------------------
93
+ // Watchers
94
+ // ---------------------------------------------------------------------------
95
+ onCheckedChange(newValue) {
96
+ this.isChecked = newValue;
97
+ this.syncFormValue();
98
+ }
99
+ onDisabledChange(next) {
100
+ this.isDisabled = next;
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // Form-associated callbacks
104
+ // ---------------------------------------------------------------------------
105
+ formAssociatedCallback() {
106
+ this.syncFormValue();
107
+ }
108
+ formDisabledCallback(disabled) {
109
+ this.isDisabled = disabled;
110
+ }
111
+ formResetCallback() {
112
+ this.isChecked = false;
113
+ this.internals.setValidity({});
114
+ internals.setFormValue(this.internals, null);
115
+ }
116
+ formStateRestoreCallback(state, _mode) {
117
+ this.isChecked = state === this.value;
118
+ this.internals.setValidity({});
119
+ this.syncFormValue();
120
+ }
121
+ // ---------------------------------------------------------------------------
122
+ // Private helpers
123
+ // ---------------------------------------------------------------------------
124
+ syncFormValue() {
125
+ internals.setFormValue(this.internals, this.isChecked ? this.value : null);
126
+ }
127
+ validate() {
128
+ if (!this.isDisabled && this.required && !this.isChecked) {
129
+ const input = this.el.querySelector('input');
130
+ this.validationError = true;
131
+ this.validationMessage = 'This field is required';
132
+ this.internals.setValidity({ valueMissing: true }, this.validationMessage, input ?? this.el);
133
+ }
134
+ else {
135
+ this.validationError = false;
136
+ this.validationMessage = '';
137
+ this.internals.setValidity({});
138
+ }
139
+ }
140
+ toggle() {
141
+ if (this.isDisabled)
142
+ return;
143
+ this.isChecked = !this.isChecked;
144
+ this.syncFormValue();
145
+ this.validate();
146
+ this.valueChange.emit(this.isChecked);
147
+ this.bdsChange.emit({ checked: this.isChecked, value: this.value });
148
+ }
149
+ get containerClasses() {
150
+ return {
151
+ [`bds-toggle__container`]: true,
152
+ [`bds-toggle__container--inverse`]: this.placement === TOGGLE_PLACEMENT.RIGHT,
153
+ [`bds-toggle__container--checked`]: this.isChecked,
154
+ [`bds-toggle__container--disabled`]: this.isDisabled,
155
+ };
156
+ }
157
+ get canShowLabel() {
158
+ return this.label !== undefined && this.label.trim() !== '' && this.label !== undefined && this.label !== null;
159
+ }
160
+ // ---------------------------------------------------------------------------
161
+ // Render
162
+ // ---------------------------------------------------------------------------
163
+ render() {
164
+ const blockClass = 'bds-toggle';
165
+ const effectiveError = this.error || this.validationError;
166
+ const typographyState = this.isDisabled ? 'disabled' : effectiveError ? 'error' : 'default';
167
+ const helperContent = this.error && this.errorMessage !== ''
168
+ ? this.errorMessage
169
+ : this.validationError && this.validationMessage !== ''
170
+ ? this.validationMessage
171
+ : this.helperText;
172
+ return (index.h(index.Host, { key: 'b5d27825358eaadb5cbca86e48488350e6099d8f', ...this.inheritedAttributes, onClick: this.handleClick, onKeyDown: this.handleKeyDown, class: blockClass }, index.h("div", { key: '9b7bb4c4551beb61ed72c9ee4a4d7ee14e746c4e', part: "container", class: this.containerClasses }, this.canShowLabel && (index.h("bds-typography", { key: 'a95e1b66d8452b983002348b9456aa0c3674b202', variant: "label", class: `${blockClass}__label`, htmlFor: this._id, required: this.required, tooltipText: this.info }, this.label)), index.h("label", { key: '954125135521cd6e65c2e6c3dfa41216e6f52dd3', class: `${blockClass}__switch`, htmlFor: this._id, onClick: e => e.preventDefault() }, index.h("input", { key: 'c3e0ee266aba0bd6e8ca7fb2d3efaeb412161806', class: `${blockClass}__input`, "aria-invalid": this.error || this.validationError ? 'true' : undefined, "aria-label": this.label || null, id: this._id, type: "checkbox", name: this.name, required: this.required, disabled: this.isDisabled, checked: this.isChecked, onInvalid: this.handleInvalid }), index.h("span", { key: '68912685234edb7c6ec972231c7f951531862f7c', class: `${blockClass}__slider ${blockClass}__slider--round` }))), helperContent !== '' && (index.h("bds-typography", { key: '3e5645d234edc1f3efe7805260def2c74bc7cd44', class: `${blockClass}__helper-text`, variant: "helper", state: typographyState, onClick: e => e.stopPropagation() }, helperContent))));
173
+ }
174
+ static get formAssociated() { return true; }
175
+ get el() { return index.getElement(this); }
176
+ static get watchers() { return {
177
+ "checked": [{
178
+ "onCheckedChange": 0
179
+ }],
180
+ "disabled": [{
181
+ "onDisabledChange": 0
182
+ }]
183
+ }; }
184
+ };
185
+ BdsToggle.style = bdsToggleCss();
186
+
187
+ exports.bds_toggle = BdsToggle;
@@ -0,0 +1,321 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CwYIVC9N.js');
4
+ var getOffset = require('./getOffset-k4ezB-eT.js');
5
+ var states = require('./states-BweP5Vpu.js');
6
+ var attributes = require('./attributes-CgRFplrN.js');
7
+ require('./Logger-DnziItRH.js');
8
+ require('./floating.mixin-Bje4320w.js');
9
+ require('./Keys-rKl2za5q.js');
10
+
11
+ const ALIGNMENT = {
12
+ START: 'start'};
13
+
14
+ const SIZES = {
15
+ XS: 'xs',
16
+ S: 'sm',
17
+ M: 'md',
18
+ L: 'lg',
19
+ XL: 'xl',
20
+ };
21
+
22
+ const OFFSET = 4;
23
+
24
+ const bdsTooltipCss = () => `@charset "UTF-8";:root{--tooltip-arrow-size:var(--boreal-spacing-s);--tooltip-width:320px}.tooltip-content{position:fixed;margin:0;overflow:visible;border-radius:var(--boreal-radius-xs2);background:var(--boreal-ui-black);color:var(--boreal-text-inverse);padding:var(--boreal-spacing-2xs) var(--boreal-spacing-s);font-size:var(--boreal-typography-font-size-xs);line-height:var(--boreal-typography-line-height-xs);font-family:var(--boreal-typography-font-family-primary);border:var(--boreal-spacing-2xs) solid var(--boreal-ui-black);font-weight:var(--boreal-typography-font-weight-regular)}.tooltip-content--multiline{white-space:normal;max-width:var(--tooltip-width, 320px);word-break:break-word;text-align:center}.tooltip-arrow{position:absolute;width:var(--tooltip-arrow-size);height:var(--tooltip-arrow-size);pointer-events:none;z-index:-1}.tooltip-arrow::before{content:"";position:absolute;width:var(--tooltip-arrow-size);height:var(--tooltip-arrow-size);background:var(--boreal-ui-black);-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:center;transform-origin:center;inset:0}.tooltip-content[data-placement^=top] .tooltip-arrow{bottom:calc(var(--tooltip-arrow-size) / -2)}.tooltip-content[data-placement^=bottom] .tooltip-arrow{top:calc(var(--tooltip-arrow-size) / -2)}.tooltip-content[data-placement^=left] .tooltip-arrow{right:calc(var(--tooltip-arrow-size) / -2)}.tooltip-content[data-placement^=right] .tooltip-arrow{left:calc(var(--tooltip-arrow-size) / -2)}`;
25
+
26
+ const BdsTooltip = class extends index.Mixin(getOffset.anchoredMixin) {
27
+ constructor(hostRef) {
28
+ super();
29
+ index.registerInstance(this, hostRef);
30
+ /**
31
+ * If true, allows multiline content in the tooltip.
32
+ * @default false
33
+ */
34
+ this.multiline = false;
35
+ /**
36
+ * If true, disables the tooltip.
37
+ * @default false
38
+ */
39
+ this.disabled = false;
40
+ /**
41
+ * Override default options for the floating mixin.
42
+ * This can be overridden by passing a different object to the `floatingOptions` prop.
43
+ */
44
+ this.floatingOptions = {};
45
+ this.isVisible = false;
46
+ }
47
+ /**
48
+ * Returns the resolved options for the floating mixin, merging `floatingOptions`
49
+ * prop values with their defaults.
50
+ *
51
+ * @returns {FloatingMixinOptions} Resolved configuration used by the anchored mixin
52
+ * to position the tooltip.
53
+ * @override anchoredMixin.options
54
+ *
55
+ * @example
56
+ * // floatingOptions = { placement: 'top', hideArrow: true }
57
+ * this.options
58
+ * return { placement: 'top', offset: 8, arrow: undefined, strategy: 'fixed' }
59
+ */
60
+ get options() {
61
+ return {
62
+ placement: this.floatingOptions.placement ?? 'top',
63
+ offset: getOffset.getOffset(this.floatingOptions?.hideArrow, this.floatingOptions.offset, OFFSET),
64
+ arrow: this.floatingOptions.hideArrow ? undefined : this.arrowElement,
65
+ strategy: 'fixed',
66
+ };
67
+ }
68
+ /**
69
+ * Returns the lifecycle hooks consumed by the anchored mixin to control
70
+ * tooltip visibility and positioning.
71
+ * @override anchoredMixin.hooks
72
+ *
73
+ * @returns {AnchoredHooks} Object containing the three hook callbacks:
74
+ * - `onPositionUpdate` — called after each positioning calculation.
75
+ * - `onBeforeShow` — called before the tooltip becomes visible; returning false cancels the show.
76
+ * - `onBeforeHide` — called before the tooltip is hidden; returning false cancels the hide.
77
+ */
78
+ get hooks() {
79
+ return {
80
+ onPositionUpdate: result => this.handlePosition(result),
81
+ onBeforeShow: () => this.validateShow(),
82
+ onBeforeHide: (el) => this.validateHide(el),
83
+ subscribeToTrigger: (el) => this.subscribe(el),
84
+ };
85
+ }
86
+ get canShowArrow() {
87
+ return !this.floatingOptions.hideArrow || false;
88
+ }
89
+ get getPlacement() {
90
+ return this.floatingOptions.placement || 'top';
91
+ }
92
+ /**
93
+ * Guard called by `onBeforeShow` to determine whether the tooltip is allowed to show.
94
+ *
95
+ * @returns {boolean} `true` if the tooltip is not disabled and may be shown; `false` otherwise.
96
+ */
97
+ validateShow() {
98
+ return !this.disabled;
99
+ }
100
+ /**
101
+ * Guard called by `onBeforeHide` to determine whether the tooltip is allowed to hide.
102
+ * When `stayOnHover` is enabled, hides are cancelled if the pointer is moving
103
+ * into the floating content element itself.
104
+ *
105
+ * @param target - The element the pointer is moving toward (relatedTarget of the mouseleave event).
106
+ * @returns {boolean} `true` if the tooltip should hide; `false` if the hide should be cancelled.
107
+ */
108
+ validateHide(target) {
109
+ if (this.floatingOptions.stayOnHover && target !== undefined && target.isConnected) {
110
+ const goingToFloating = this.floatingContent.contains(target) || this.floatingContent === target;
111
+ if (goingToFloating)
112
+ return false;
113
+ }
114
+ return true;
115
+ }
116
+ /**
117
+ * Callback for `onPositionUpdate`. Applies the resolved placement as a
118
+ * `data-placement` attribute on the floating content element and delegates
119
+ * arrow positioning to `setArrowPosition`.
120
+ *
121
+ * @param result - The positioning result produced by the floating middleware.
122
+ */
123
+ handlePosition(result) {
124
+ this.floatingContent.setAttribute('data-placement', result.placement);
125
+ this.setArrowPosition(result);
126
+ }
127
+ /**
128
+ * Applies the arrow element's `x` and `y` coordinates calculated by the
129
+ * floating middleware. Skips the update when the arrow element is not
130
+ * connected to the DOM or when middleware data is absent.
131
+ *
132
+ * @param result - The positioning result that may contain `middlewareData.arrow`
133
+ * with the computed `x` and `y` offsets for the arrow element.
134
+ */
135
+ setArrowPosition(result) {
136
+ if (result.middlewareData?.arrow && !this.disabled && this.arrowElement?.isConnected) {
137
+ const { x: arrowX, y: arrowY } = result.middlewareData.arrow;
138
+ Object.assign(this.arrowElement.style, {
139
+ left: arrowX != null ? `${arrowX}px` : '',
140
+ top: arrowY != null ? `${arrowY}px` : '',
141
+ });
142
+ }
143
+ }
144
+ get hasMultiline() {
145
+ return this.multiline !== undefined && this.multiline;
146
+ }
147
+ get tooltipStyles() {
148
+ return {
149
+ 'tooltip-content': true,
150
+ 'tooltip-content--multiline': this.hasMultiline,
151
+ };
152
+ }
153
+ subscribe(trigger) {
154
+ if (trigger === undefined)
155
+ return;
156
+ trigger.setAttribute('part', 'tooltip-trigger');
157
+ trigger.setAttribute('ariaDescribedBy', 'tooltip-content');
158
+ trigger.addEventListener('mouseenter', () => this.show());
159
+ trigger.addEventListener('mouseleave', (e) => this.hide(e.target));
160
+ }
161
+ render() {
162
+ const classes = this.tooltipStyles;
163
+ return (index.h(index.Host, { key: 'add483ba4072484f1f6d18271ecb74c46a449f41', class: "tooltip" }, index.h("div", { key: 'ede2a5f6230a4baacb36c24dd57be73fda63e438', id: "tooltip-content", part: "tooltip-content", class: classes, popover: "manual", role: "tooltip", "aria-hidden": this.isVisible ? 'false' : 'true', "data-placement": this.getPlacement, "data-multiline": this.multiline, "data-hidearrow": this.canShowArrow, ref: el => (this.floatingContent = el) }, this.canShowArrow && (index.h("div", { key: 'c8580171bc2c01eaca84aa1a029dce6f429359f8', class: "tooltip-arrow", part: "arrow", ref: el => (this.arrowElement = el) })), index.h("slot", { key: '10ead9bb5007414959d4aeacd8c0c1c52223f70d' }))));
164
+ }
165
+ get el() { return index.getElement(this); }
166
+ };
167
+ BdsTooltip.style = bdsTooltipCss();
168
+
169
+ const VARIANT_TYPOGRAPHY = {
170
+ DISPLAY: 'display',
171
+ LINK: 'link'};
172
+ const TAG_ELEMENT = {
173
+ P: 'p',
174
+ A: 'a'};
175
+
176
+ /*
177
+ * LINK consts
178
+ */
179
+ const FILENAME = 'download';
180
+ /*
181
+ * Variant map to apply size, state, etc, styles based on variant type
182
+ */
183
+ const VARIANT_CONFIG = {
184
+ link: {
185
+ states: [states.COMPONENT_STATES.DISABLED /* STATES.VISITED, STATES.HOVER, STATES.ACTIVE, STATES.FOCUS */],
186
+ size: [SIZES.S, SIZES.M],
187
+ },
188
+ label: {
189
+ states: [states.COMPONENT_STATES.DISABLED],
190
+ required: true,
191
+ canUseTooltip: true,
192
+ },
193
+ heading: { canUseTooltip: true },
194
+ subheading: { canUseTooltip: true },
195
+ helper: { states: [states.COMPONENT_STATES.ERROR] },
196
+ display: { size: [SIZES.XS, SIZES.S, SIZES.M, SIZES.L, SIZES.XL] },
197
+ };
198
+ /*
199
+ * ATTRIBUTE MAP
200
+ */
201
+ const getAttributesByTag = (comp, tagName) => {
202
+ const ATTR_MAP = {
203
+ a: {
204
+ href: comp.state !== states.COMPONENT_STATES.DISABLED ? comp.sanitizedHref : null,
205
+ target: comp.target,
206
+ download: comp.downloadable ? comp.filename : null,
207
+ rel: comp.target === '_blank' ? 'noopener noreferrer' : undefined,
208
+ },
209
+ label: {
210
+ htmlFor: comp.htmlFor,
211
+ },
212
+ };
213
+ return ATTR_MAP[tagName] || {};
214
+ };
215
+
216
+ const bdsTypographyCss = () => `@charset "UTF-8";.bds-typography__info{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center}bds-typography.bds-typography--disabled-cursor{cursor:not-allowed}.bds-typography{display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:var(--boreal-typography-font-family-primary);font-weight:var(--boreal-typography-font-weight-regular)}.bds-typography__required-indicator{color:var(--boreal-icon-danger-base);font-weight:var(--boreal-typography-font-weight-regular)}.bds-typography__info-icon{color:var(--boreal-icon-default-light)}.bds-typography--heading,.bds-typography--subheading{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-3xs)}.bds-typography--label{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;gap:var(--boreal-spacing-3xs)}.bds-typography--display{display:block}.bds-typography--caption,.bds-typography--helper,.bds-typography--link{display:inline-block}.bds-typography--caption{font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-md);color:var(--boreal-text-default-light)}.bds-typography--helper{font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-sm);color:var(--boreal-text-default-light)}.bds-typography--link{font-size:var(--boreal-typography-font-size-sm);font-weight:var(--boreal-typography-font-weight-regular);line-height:var(--boreal-typography-line-height-md);color:var(--boreal-text-primary-base);text-decoration:none}.bds-typography--link:hover{text-decoration:underline}.bds-typography--link:visited{color:var(--boreal-text-primary-base)}.bds-typography--link:active{color:var(--boreal-text-primary-dark)}.bds-typography--link.bds-typography--size-sm{font-size:var(--boreal-typography-font-size-xs)}.bds-typography--link.bds-typography--size-md{font-size:var(--boreal-typography-font-size-sm)}.bds-typography--code{font-family:var(--boreal-typography-font-family-secondary);font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-regular);color:var(--boreal-text-default);line-height:var(--boreal-typography-line-height-md);overflow-wrap:break-word;background-color:var(--boreal-bg-neutral);padding:var(--boreal-spacing-3xs) var(--boreal-spacing-xs);border-radius:var(--boreal-radius-xs);display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.bds-typography--label{font-size:var(--boreal-typography-font-size-xs);font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-md);color:var(--boreal-text-default-darker)}.bds-typography--display{font-weight:var(--boreal-typography-font-weight-regular);color:var(--boreal-text-default)}.bds-typography--display.bds-typography--size-sm{font-size:var(--boreal-typography-font-size-xl);line-height:var(--boreal-typography-line-height-xl)}.bds-typography--display.bds-typography--size-md{font-size:var(--boreal-typography-font-size-2xl);line-height:var(--boreal-typography-line-height-2xl)}.bds-typography--display.bds-typography--size-lg{font-size:var(--boreal-typography-font-size-3xl);line-height:var(--boreal-typography-line-height-3xl);font-weight:var(--boreal-typography-font-weight-light)}.bds-typography--display.bds-typography--size-xl{font-size:var(--boreal-typography-font-size-4xl);line-height:var(--boreal-typography-line-height-4xl);font-weight:var(--boreal-typography-font-weight-light)}.bds-typography--heading{font-size:var(--boreal-typography-font-size-lg);line-height:var(--boreal-typography-line-height-lg);font-weight:var(--boreal-typography-font-weight-regular);color:var(--boreal-text-default)}.bds-typography h1.bds-typography--heading{font-weight:var(--boreal-typography-font-weight-regular);font-size:var(--boreal-typography-font-size-4xl);line-height:var(--boreal-typography-line-height-4xl)}.bds-typography h2.bds-typography--heading{font-weight:var(--boreal-typography-font-weight-regular);font-size:var(--boreal-typography-font-size-3xl);line-height:var(--boreal-typography-line-height-3xl)}.bds-typography h3.bds-typography--heading{font-weight:var(--boreal-typography-font-weight-regular);font-size:var(--boreal-typography-font-size-2xl);line-height:var(--boreal-typography-line-height-2xl)}.bds-typography h4.bds-typography--heading{font-weight:var(--boreal-typography-font-weight-regular);font-size:var(--boreal-typography-font-size-xl);line-height:var(--boreal-typography-line-height-xl)}.bds-typography h5.bds-typography--heading{font-weight:var(--boreal-typography-font-weight-regular);font-size:var(--boreal-typography-font-size-lg);line-height:var(--boreal-typography-line-height-lg)}.bds-typography h6.bds-typography--heading{font-size:var(--boreal-typography-font-size-md);font-weight:var(--boreal-typography-font-weight-semibold);line-height:var(--boreal-typography-line-height-md)}.bds-typography--subheading{font-size:var(--boreal-typography-font-size-md);line-height:var(--boreal-typography-line-height-md);font-weight:var(--boreal-typography-font-weight-semibold)}.bds-typography--align-start{text-align:start}.bds-typography--align-center{text-align:center}.bds-typography--align-end{text-align:end}.bds-typography--align-inherit{text-align:inherit}.bds-typography--error{color:var(--boreal-text-danger-base)}.bds-typography--disabled{color:var(--boreal-text-disabled);pointer-events:none;cursor:not-allowed}.bds-typography--disabled .bds-typography__required-indicator{color:var(--boreal-text-danger-light)}.bds-typography--ellipsis{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.bds-typography--ellipsis-multiline{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;width:100%}`;
217
+
218
+ const BdsTypography = class {
219
+ constructor(hostRef) {
220
+ index.registerInstance(this, hostRef);
221
+ this.inheritedAttributes = {};
222
+ /** Typography visual variant. */
223
+ this.variant = VARIANT_TYPOGRAPHY.DISPLAY;
224
+ /** Typography size token. */
225
+ this.size = SIZES.M;
226
+ /** Visual state (if supported by variant). */
227
+ this.state = states.COMPONENT_STATES.DEFAULT;
228
+ /** Additional custom CSS class. */
229
+ this.customClass = '';
230
+ /** HTML tag used for rendering. */
231
+ this.element = TAG_ELEMENT.P;
232
+ /** Text alignment. */
233
+ this.align = ALIGNMENT.START;
234
+ /** Enables text ellipsis. */
235
+ this.ellipsis = false;
236
+ /** Max lines when ellipsis is enabled. */
237
+ this.maxLines = 1;
238
+ /** Tooltip text (variant must support it). */
239
+ this.tooltipText = '';
240
+ /** Marks the field as required. */
241
+ this.required = false;
242
+ /** For attribute when rendered as a label. */
243
+ this.htmlFor = undefined;
244
+ /** Link href when rendered as anchor. */
245
+ this.href = null;
246
+ /** Anchor target. */
247
+ this.target = null;
248
+ /** Enables download behavior for anchor. */
249
+ this.downloadable = false;
250
+ /** Suggested download filename. */
251
+ this.filename = FILENAME;
252
+ /** Sanitized href for security. */
253
+ this.sanitizedHref = '';
254
+ }
255
+ async updateSanitizedHref() {
256
+ if (this.getTagName === 'a' && this.href !== null) {
257
+ const { sanitizeUrl } = await Promise.resolve().then(function () { return require('./index-CD9v53WJ.js'); }).then(function (n) { return n.index; });
258
+ this.sanitizedHref = sanitizeUrl(this.href);
259
+ }
260
+ else
261
+ this.sanitizedHref = '';
262
+ }
263
+ async componentWillLoad() {
264
+ if (this.getTagName === TAG_ELEMENT.A && this.href !== null)
265
+ await this.updateSanitizedHref();
266
+ this.inheritedAttributes = {
267
+ ...attributes.inheritAriaAttributes(this.el),
268
+ };
269
+ }
270
+ get getTagName() {
271
+ if (this.variant === VARIANT_TYPOGRAPHY.LINK)
272
+ return TAG_ELEMENT.A;
273
+ return this.element.toLowerCase();
274
+ }
275
+ getVariantConfig() {
276
+ return VARIANT_CONFIG[this.variant] ?? {};
277
+ }
278
+ getAccessibilityTags() {
279
+ const { required = false } = this.getVariantConfig();
280
+ const isInteractiveTag = ['a', 'label'].includes(this.getTagName);
281
+ return {
282
+ 'aria-required': this.required && required,
283
+ 'aria-disabled': this.state === states.COMPONENT_STATES.DISABLED && isInteractiveTag,
284
+ };
285
+ }
286
+ getVariantStateStyles() {
287
+ const config = this.getVariantConfig();
288
+ return {
289
+ [`bds-typography--${this.variant}`]: true,
290
+ [`bds-typography--align-${this.align}`]: true,
291
+ [`bds-typography--${this.state}`]: !!(config?.states && config?.states.includes(this.state)),
292
+ [`bds-typography--size-${this.size}`]: !!(config?.size && config?.size.includes(this.size)),
293
+ 'bds-typography--required': !!(config?.required && this.required),
294
+ 'bds-typography--ellipsis': this.ellipsis && this.maxLines <= 1,
295
+ 'bds-typography--ellipsis-multiline': this.ellipsis && this.maxLines > 1,
296
+ [this.customClass]: this.customClass !== '',
297
+ };
298
+ }
299
+ render() {
300
+ const TagName = this.getTagName;
301
+ const attributes = {
302
+ ...getAttributesByTag(this, TagName),
303
+ ...this.inheritedAttributes,
304
+ ...this.getAccessibilityTags(),
305
+ };
306
+ const classes = this.getVariantStateStyles();
307
+ const { canUseTooltip = null, required = null } = this.getVariantConfig();
308
+ const isDisabledState = this.state === states.COMPONENT_STATES.DISABLED;
309
+ return (index.h(index.Host, { key: 'd29b535edeb7ede877c979ea812eb6c273affc0d', class: `bds-typography ${isDisabledState ? 'bds-typography--disabled-cursor' : ''}` }, index.h(TagName, { key: '3a36a1c47026a20d9c95e4c2d38e92caaa89b072', class: classes, style: { webkitLineClamp: this.maxLines }, ...attributes }, index.h("slot", { key: '8a0ccd7824ac358e937dd6e2fb1c3eb592e27721' }), this.required && required && (index.h("em", { key: '5ce4cc221efcf9d5a71bbc39dbc449a3a29c16a6', class: "bds-typography__required-indicator", "aria-hidden": "true" }, "*")), this.tooltipText && canUseTooltip && (index.h("span", { key: '33dcca730b5a484aac8f6ddda383f7adb7dcee95', class: "bds-typography__info" }, index.h("span", { key: 'ff08b5e744d9584cff3b69f5eaa74238ad364e19', class: "bds-typography__info-icon bds-icon-info-circle", "aria-label": this.tooltipText }), index.h("bds-tooltip", { key: 'a88a158668a40ee3ff00ddeb4da496115e22558d' }, this.tooltipText))))));
310
+ }
311
+ get el() { return index.getElement(this); }
312
+ static get watchers() { return {
313
+ "href": [{
314
+ "updateSanitizedHref": 0
315
+ }]
316
+ }; }
317
+ };
318
+ BdsTypography.style = bdsTypographyCss();
319
+
320
+ exports.bds_tooltip = BdsTooltip;
321
+ exports.bds_typography = BdsTypography;