@beeq/core 1.12.4-beta.1 → 1.12.4-beta.2

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 (248) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/{p-c25c20bf.entry.js → p-07172ac5.entry.js} +2 -2
  3. package/dist/beeq/{p-c25c20bf.entry.js.map → p-07172ac5.entry.js.map} +1 -1
  4. package/dist/beeq/{p-9d1503bd.entry.js → p-1a4af63c.entry.js} +2 -2
  5. package/dist/beeq/{p-9d1503bd.entry.js.map → p-1a4af63c.entry.js.map} +1 -1
  6. package/dist/beeq/{p-04e3950c.entry.js → p-1a7d1d85.entry.js} +2 -2
  7. package/dist/beeq/{p-04e3950c.entry.js.map → p-1a7d1d85.entry.js.map} +1 -1
  8. package/dist/beeq/{p-1e675bdc.entry.js → p-1ad4561f.entry.js} +2 -2
  9. package/dist/beeq/{p-1e675bdc.entry.js.map → p-1ad4561f.entry.js.map} +1 -1
  10. package/dist/beeq/{p-580f0a77.entry.js → p-1f16f97f.entry.js} +2 -2
  11. package/dist/beeq/{p-580f0a77.entry.js.map → p-1f16f97f.entry.js.map} +1 -1
  12. package/dist/beeq/{p-cfe07fad.entry.js → p-2c823175.entry.js} +2 -2
  13. package/dist/beeq/{p-cfe07fad.entry.js.map → p-2c823175.entry.js.map} +1 -1
  14. package/dist/beeq/{p-6cd90918.entry.js → p-3bee1dda.entry.js} +2 -2
  15. package/dist/beeq/{p-6cd90918.entry.js.map → p-3bee1dda.entry.js.map} +1 -1
  16. package/dist/beeq/{p-348d42aa.entry.js → p-45a56399.entry.js} +2 -2
  17. package/dist/beeq/{p-348d42aa.entry.js.map → p-45a56399.entry.js.map} +1 -1
  18. package/dist/beeq/{p-7adb6e2e.entry.js → p-4d863871.entry.js} +2 -2
  19. package/dist/beeq/{p-7adb6e2e.entry.js.map → p-4d863871.entry.js.map} +1 -1
  20. package/dist/beeq/{p-54bfb042.entry.js → p-5240a62a.entry.js} +2 -2
  21. package/dist/beeq/{p-54bfb042.entry.js.map → p-5240a62a.entry.js.map} +1 -1
  22. package/dist/beeq/{p-30ba61a1.entry.js → p-654c7701.entry.js} +2 -2
  23. package/dist/beeq/{p-30ba61a1.entry.js.map → p-654c7701.entry.js.map} +1 -1
  24. package/dist/beeq/{p-a0ef4135.entry.js → p-71001d9a.entry.js} +2 -2
  25. package/dist/beeq/{p-a0ef4135.entry.js.map → p-71001d9a.entry.js.map} +1 -1
  26. package/dist/beeq/{p-0d8618d2.entry.js → p-7c4e8101.entry.js} +2 -2
  27. package/dist/beeq/{p-0d8618d2.entry.js.map → p-7c4e8101.entry.js.map} +1 -1
  28. package/dist/beeq/{p-290a95ef.entry.js → p-7e70e39b.entry.js} +2 -2
  29. package/dist/beeq/{p-290a95ef.entry.js.map → p-7e70e39b.entry.js.map} +1 -1
  30. package/dist/beeq/{p-e198464e.entry.js → p-8035caf4.entry.js} +2 -2
  31. package/dist/beeq/{p-e198464e.entry.js.map → p-8035caf4.entry.js.map} +1 -1
  32. package/dist/beeq/p-804c22d6.entry.js +6 -0
  33. package/dist/beeq/{p-2283258e.entry.js.map → p-804c22d6.entry.js.map} +1 -1
  34. package/dist/beeq/{p-7a6a89f1.entry.js → p-94468a51.entry.js} +2 -2
  35. package/dist/beeq/{p-7a6a89f1.entry.js.map → p-94468a51.entry.js.map} +1 -1
  36. package/dist/beeq/{p-40bb4e2c.entry.js → p-97d8f052.entry.js} +2 -2
  37. package/dist/beeq/{p-40bb4e2c.entry.js.map → p-97d8f052.entry.js.map} +1 -1
  38. package/dist/beeq/{p-e63d6c4f.entry.js → p-9843a419.entry.js} +2 -2
  39. package/dist/beeq/{p-e63d6c4f.entry.js.map → p-9843a419.entry.js.map} +1 -1
  40. package/dist/beeq/{p-30a79437.entry.js → p-b0a15420.entry.js} +2 -2
  41. package/dist/beeq/{p-30a79437.entry.js.map → p-b0a15420.entry.js.map} +1 -1
  42. package/dist/beeq/{p-5855a8d0.entry.js → p-c33f1043.entry.js} +2 -2
  43. package/dist/beeq/{p-5855a8d0.entry.js.map → p-c33f1043.entry.js.map} +1 -1
  44. package/dist/beeq/{p-41910dc5.entry.js → p-c67109c1.entry.js} +2 -2
  45. package/dist/beeq/{p-41910dc5.entry.js.map → p-c67109c1.entry.js.map} +1 -1
  46. package/dist/beeq/{p-a83ce5aa.entry.js → p-d0ccd4ae.entry.js} +2 -2
  47. package/dist/beeq/{p-a83ce5aa.entry.js.map → p-d0ccd4ae.entry.js.map} +1 -1
  48. package/dist/beeq/{p-bae91da4.entry.js → p-dc1f9be2.entry.js} +2 -2
  49. package/dist/beeq/{p-bae91da4.entry.js.map → p-dc1f9be2.entry.js.map} +1 -1
  50. package/dist/beeq/{p-42e388d0.entry.js → p-e1319c86.entry.js} +2 -2
  51. package/dist/beeq/{p-42e388d0.entry.js.map → p-e1319c86.entry.js.map} +1 -1
  52. package/dist/beeq/{p-45b7464b.entry.js → p-e794846c.entry.js} +2 -2
  53. package/dist/beeq/{p-45b7464b.entry.js.map → p-e794846c.entry.js.map} +1 -1
  54. package/dist/beeq/{p-d155bf0e.entry.js → p-ea473f56.entry.js} +2 -2
  55. package/dist/beeq/{p-d155bf0e.entry.js.map → p-ea473f56.entry.js.map} +1 -1
  56. package/dist/beeq/p-f0819693.entry.js +6 -0
  57. package/dist/beeq/{p-a77b58aa.entry.js.map → p-f0819693.entry.js.map} +1 -1
  58. package/dist/beeq.html-custom-data.json +184 -184
  59. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -1
  60. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/bq-alert.cjs.entry.js +1 -1
  62. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  63. package/dist/cjs/bq-avatar.cjs.entry.js +1 -1
  64. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +1 -1
  66. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/bq-breadcrumb.cjs.entry.js +1 -1
  68. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  69. package/dist/cjs/bq-button_2.cjs.entry.js +1 -1
  70. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  71. package/dist/cjs/bq-card.cjs.entry.js +1 -1
  72. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  73. package/dist/cjs/bq-checkbox.cjs.entry.js +1 -1
  74. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  75. package/dist/cjs/bq-date-picker.cjs.entry.js +1 -1
  76. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  77. package/dist/cjs/bq-dialog.cjs.entry.js +1 -1
  78. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  79. package/dist/cjs/bq-drawer.cjs.entry.js +1 -1
  80. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  81. package/dist/cjs/bq-dropdown_2.cjs.entry.js +2 -2
  82. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  83. package/dist/cjs/bq-empty-state.cjs.entry.js +1 -1
  84. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  85. package/dist/cjs/bq-input.cjs.entry.js +1 -1
  86. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  87. package/dist/cjs/bq-notification.cjs.entry.js +1 -1
  88. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  89. package/dist/cjs/bq-option-group.cjs.entry.js +1 -1
  90. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/bq-option-list_2.cjs.entry.js +2 -2
  92. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  93. package/dist/cjs/bq-option.cjs.entry.js +1 -1
  94. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  95. package/dist/cjs/bq-page-title.cjs.entry.js +1 -1
  96. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  97. package/dist/cjs/bq-progress.cjs.entry.js +1 -1
  98. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  99. package/dist/cjs/bq-select.cjs.entry.js +1 -1
  100. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  101. package/dist/cjs/bq-side-menu-item.cjs.entry.js +1 -1
  102. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/bq-spinner.cjs.entry.js +1 -1
  104. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  105. package/dist/cjs/bq-status.cjs.entry.js +1 -1
  106. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  107. package/dist/cjs/bq-tab.cjs.entry.js +1 -1
  108. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  109. package/dist/cjs/bq-textarea.cjs.entry.js +1 -1
  110. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-toast.cjs.entry.js +1 -1
  112. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-tooltip.cjs.entry.js +1 -1
  114. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  115. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  116. package/dist/collection/components/select/scss/bq-select.css +1 -1
  117. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  118. package/dist/components/bq-accordion-group.js +1 -1
  119. package/dist/components/bq-accordion-group.js.map +1 -1
  120. package/dist/components/bq-alert.js +1 -1
  121. package/dist/components/bq-alert.js.map +1 -1
  122. package/dist/components/bq-avatar.js +1 -1
  123. package/dist/components/bq-avatar.js.map +1 -1
  124. package/dist/components/bq-breadcrumb-item.js +1 -1
  125. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  126. package/dist/components/bq-breadcrumb.js +1 -1
  127. package/dist/components/bq-breadcrumb.js.map +1 -1
  128. package/dist/components/bq-button.js +1 -1
  129. package/dist/components/bq-card.js +1 -1
  130. package/dist/components/bq-card.js.map +1 -1
  131. package/dist/components/bq-checkbox.js +1 -1
  132. package/dist/components/bq-checkbox.js.map +1 -1
  133. package/dist/components/bq-date-picker.js +1 -1
  134. package/dist/components/bq-date-picker.js.map +1 -1
  135. package/dist/components/bq-dialog.js +1 -1
  136. package/dist/components/bq-dialog.js.map +1 -1
  137. package/dist/components/bq-drawer.js +1 -1
  138. package/dist/components/bq-drawer.js.map +1 -1
  139. package/dist/components/bq-dropdown.js +1 -1
  140. package/dist/components/bq-empty-state.js +1 -1
  141. package/dist/components/bq-empty-state.js.map +1 -1
  142. package/dist/components/bq-input.js +1 -1
  143. package/dist/components/bq-input.js.map +1 -1
  144. package/dist/components/bq-notification.js +1 -1
  145. package/dist/components/bq-notification.js.map +1 -1
  146. package/dist/components/bq-option-group.js +1 -1
  147. package/dist/components/bq-option-group.js.map +1 -1
  148. package/dist/components/bq-option-list.js +1 -1
  149. package/dist/components/bq-option.js +1 -1
  150. package/dist/components/bq-option.js.map +1 -1
  151. package/dist/components/bq-page-title.js +1 -1
  152. package/dist/components/bq-page-title.js.map +1 -1
  153. package/dist/components/bq-panel.js +1 -1
  154. package/dist/components/bq-progress.js +1 -1
  155. package/dist/components/bq-progress.js.map +1 -1
  156. package/dist/components/bq-select.js +1 -1
  157. package/dist/components/bq-select.js.map +1 -1
  158. package/dist/components/bq-side-menu-item.js +1 -1
  159. package/dist/components/bq-side-menu-item.js.map +1 -1
  160. package/dist/components/bq-slider.js +1 -1
  161. package/dist/components/bq-spinner.js +1 -1
  162. package/dist/components/bq-spinner.js.map +1 -1
  163. package/dist/components/bq-status.js +1 -1
  164. package/dist/components/bq-status.js.map +1 -1
  165. package/dist/components/bq-tab.js +1 -1
  166. package/dist/components/bq-tab.js.map +1 -1
  167. package/dist/components/bq-tag.js +1 -1
  168. package/dist/components/bq-textarea.js +1 -1
  169. package/dist/components/bq-textarea.js.map +1 -1
  170. package/dist/components/bq-toast.js +1 -1
  171. package/dist/components/bq-toast.js.map +1 -1
  172. package/dist/components/bq-tooltip.js +1 -1
  173. package/dist/components/index.js +1 -1
  174. package/dist/components/{p-B99eLANt.js → p-Al4yCjHm.js} +2 -2
  175. package/dist/components/{p-B99eLANt.js.map → p-Al4yCjHm.js.map} +1 -1
  176. package/dist/components/{p-D3JbL1Mm.js → p-C2aEwRoD.js} +2 -2
  177. package/dist/components/{p-D3JbL1Mm.js.map → p-C2aEwRoD.js.map} +1 -1
  178. package/dist/components/{p-Dj-mQvqv.js → p-DRfB-NVC.js} +2 -2
  179. package/dist/components/{p-Dj-mQvqv.js.map → p-DRfB-NVC.js.map} +1 -1
  180. package/dist/components/{p-4ksDMBf6.js → p-L_rr8STP.js} +2 -2
  181. package/dist/components/{p-4ksDMBf6.js.map → p-L_rr8STP.js.map} +1 -1
  182. package/dist/components/p-P-In5Xk5.js +6 -0
  183. package/dist/components/{p-Ci3ldciT.js.map → p-P-In5Xk5.js.map} +1 -1
  184. package/dist/components/{p-D4ZErYyQ.js → p-fdkSHq2G.js} +2 -2
  185. package/dist/components/{p-D4ZErYyQ.js.map → p-fdkSHq2G.js.map} +1 -1
  186. package/dist/custom-elements.json +4160 -4160
  187. package/dist/esm/bq-accordion-group.entry.js +1 -1
  188. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  189. package/dist/esm/bq-alert.entry.js +1 -1
  190. package/dist/esm/bq-alert.entry.js.map +1 -1
  191. package/dist/esm/bq-avatar.entry.js +1 -1
  192. package/dist/esm/bq-avatar.entry.js.map +1 -1
  193. package/dist/esm/bq-breadcrumb-item.entry.js +1 -1
  194. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  195. package/dist/esm/bq-breadcrumb.entry.js +1 -1
  196. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  197. package/dist/esm/bq-button_2.entry.js +1 -1
  198. package/dist/esm/bq-button_2.entry.js.map +1 -1
  199. package/dist/esm/bq-card.entry.js +1 -1
  200. package/dist/esm/bq-card.entry.js.map +1 -1
  201. package/dist/esm/bq-checkbox.entry.js +1 -1
  202. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  203. package/dist/esm/bq-date-picker.entry.js +1 -1
  204. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  205. package/dist/esm/bq-dialog.entry.js +1 -1
  206. package/dist/esm/bq-dialog.entry.js.map +1 -1
  207. package/dist/esm/bq-drawer.entry.js +1 -1
  208. package/dist/esm/bq-drawer.entry.js.map +1 -1
  209. package/dist/esm/bq-dropdown_2.entry.js +2 -2
  210. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  211. package/dist/esm/bq-empty-state.entry.js +1 -1
  212. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  213. package/dist/esm/bq-input.entry.js +1 -1
  214. package/dist/esm/bq-input.entry.js.map +1 -1
  215. package/dist/esm/bq-notification.entry.js +1 -1
  216. package/dist/esm/bq-notification.entry.js.map +1 -1
  217. package/dist/esm/bq-option-group.entry.js +1 -1
  218. package/dist/esm/bq-option-group.entry.js.map +1 -1
  219. package/dist/esm/bq-option-list_2.entry.js +2 -2
  220. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  221. package/dist/esm/bq-option.entry.js +1 -1
  222. package/dist/esm/bq-option.entry.js.map +1 -1
  223. package/dist/esm/bq-page-title.entry.js +1 -1
  224. package/dist/esm/bq-page-title.entry.js.map +1 -1
  225. package/dist/esm/bq-progress.entry.js +1 -1
  226. package/dist/esm/bq-progress.entry.js.map +1 -1
  227. package/dist/esm/bq-select.entry.js +1 -1
  228. package/dist/esm/bq-select.entry.js.map +1 -1
  229. package/dist/esm/bq-side-menu-item.entry.js +1 -1
  230. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  231. package/dist/esm/bq-spinner.entry.js +1 -1
  232. package/dist/esm/bq-spinner.entry.js.map +1 -1
  233. package/dist/esm/bq-status.entry.js +1 -1
  234. package/dist/esm/bq-status.entry.js.map +1 -1
  235. package/dist/esm/bq-tab.entry.js +1 -1
  236. package/dist/esm/bq-tab.entry.js.map +1 -1
  237. package/dist/esm/bq-textarea.entry.js +1 -1
  238. package/dist/esm/bq-textarea.entry.js.map +1 -1
  239. package/dist/esm/bq-toast.entry.js +1 -1
  240. package/dist/esm/bq-toast.entry.js.map +1 -1
  241. package/dist/esm/bq-tooltip.entry.js +1 -1
  242. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  243. package/dist/hydrate/index.js +3 -3
  244. package/dist/hydrate/index.mjs +3 -3
  245. package/package.json +1 -1
  246. package/dist/beeq/p-2283258e.entry.js +0 -6
  247. package/dist/beeq/p-a77b58aa.entry.js +0 -6
  248. package/dist/components/p-Ci3ldciT.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"names":["bqTooltipCss","BqTooltip","__stencil_proxyCustomElement","HTMLElement","trigger","panel","arrow","floatingUI","alwaysVisible","distance","hideArrow","placement","sameWidth","displayOn","visible","handleVisibleChange","this","hide","show","handleFloatingUIOptionsChange","init","strategy","bqClick","bqFocusIn","bqFocusOut","bqHoverIn","bqHoverOut","componentDidLoad","FloatingUI","skidding","disconnectedCallback","destroy","handleDocumentKeyDown","event","key","handleDocumentMouseDown","isEventTargetChildOfElement","el","handleDocumentScroll","showTooltip","hideTooltip","handleTriggerMouseOver","async","hoverEvent","emit","defaultPrevented","handleTriggerMouseLeave","handleTriggerOnClick","clickEvent","handleTriggerFocusin","focusEvent","handleTriggerFocusout","update","isHidden","render","h","class","part","onClick","onFocusin","onFocusout","onMouseEnter","onMouseLeave","ref","name","hidden","role"],"sources":["../../packages/beeq/src/components/tooltip/scss/bq-tooltip.scss?tag=bq-tooltip&encapsulation=shadow","../../packages/beeq/src/components/tooltip/bq-tooltip.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tooltip styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tooltip.variables';\n\n.bq-tooltip--panel {\n @include animation-fade-in;\n @apply pointer-events-none fixed z-[--bq-tooltip--z-index] box-border bg-[--bq-tooltip--background-color];\n @apply is-[--bq-tooltip--width] max-is-[--bq-tooltip--max-width] p-b-[--bq-tooltip--paddingY] p-i-[--bq-tooltip--paddingX];\n @apply text-[length:--bq-tooltip--font-size] leading-[--bq-tooltip--line-height] text-[color:--bq-tooltip--text-color];\n @apply rounded-[--bq-tooltip--border-radius] border-[length:--bq-tooltip--border-width] border-[color:--bq-tooltip--border-color];\n @apply shadow-[shadow:--bq-tooltip--box-shadow];\n}\n\n.bq-tooltip--arrow {\n &,\n &::before {\n @apply absolute -z-[1] bs-2 is-2;\n }\n\n &::before {\n @apply start-0 rotate-45 bg-[--bq-tooltip--background-color] content-empty inset-bs-0;\n }\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport type { Placement } from '../../services/interfaces';\nimport { FloatingUI } from '../../services/libraries';\nimport { isEventTargetChildOfElement } from '../../shared/utils';\n\n/**\n * The Tooltip component is a small pop-up box that appears when a user hovers over or clicks on an element, providing additional information or context.\n *\n * @example How to use it\n * ```html\n * <bq-tooltip visible>\n * Yuhu! I'm a tooltip 🙃\n * <bq-button slot=\"trigger\">Hover me!</bq-button>\n * </bq-tooltip>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/64c562-tooltip\n * @status stable\n *\n * @attr {boolean} always-visible - If true, the tooltip will always be visible\n * @attr {number} distance - Distance between trigger element and tooltip\n * @attr {boolean} hide-arrow - If true, the arrow on the tooltip content won't be shown\n * @attr {\"top\" | \"right\" | \"bottom\" | \"left\"} placement - Defines the position of the tooltip\n * @attr {boolean} same-width - Whether the tooltip should have the same width as the trigger element (applicable only for content shorter than the trigger element)\n * @attr {\"click\" | \"hover\"} display-on - Set the action when the tooltip should be displayed, on hover (default) or click\n * @attr {boolean} visible - Indicates whether or not the tooltip is visible when the component is first rendered, and when interacting with the trigger\n *\n * @method show - Shows the tooltip\n * @method hide - Hides the tooltip\n *\n * @slot trigger - The element which displays tooltip on hover\n * @slot - The tooltip content\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover\n * @part panel - The `<div>` container that holds the tooltip content\n *\n * @cssprop --bq-tooltip--background-color - Tooltip background color\n * @cssprop --bq-tooltip--box-shadow - Tooltip box shadow\n * @cssprop --bq-tooltip--font-size - Tooltip font size\n * @cssprop --bq-tooltip--line-height - Tooltip line height\n * @cssprop --bq-tooltip--text-color - Tooltip text color\n * @cssprop --bq-tooltip--paddingX - Tooltip horizontal padding\n * @cssprop --bq-tooltip--paddingY - Tooltip vertical padding\n * @cssprop --bq-tooltip--border-color - Tooltip border color\n * @cssprop --bq-tooltip--border-radius - Tooltip border radius\n * @cssprop --bq-tooltip--border-style - Tooltip border style\n * @cssprop --bq-tooltip--border-width - Tooltip border width\n * @cssprop --bq-tooltip--z-index: Tooltip z-index\n */\n@Component({\n tag: 'bq-tooltip',\n styleUrl: './scss/bq-tooltip.scss',\n shadow: true,\n})\nexport class BqTooltip {\n // Own Properties\n // ====================\n private trigger: HTMLElement;\n private panel: HTMLElement;\n private arrow: HTMLElement;\n private floatingUI: FloatingUI;\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqTooltipElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the tooltip will always be visible */\n @Prop() alwaysVisible?: boolean = false;\n\n /** Distance between trigger element and tooltip */\n @Prop({ reflect: true }) distance?: number = 10;\n\n /** If true, the arrow on the tooltip content won't be shown */\n @Prop({ reflect: true }) hideArrow?: boolean = false;\n\n /* Defines the position of the tooltip */\n @Prop({ reflect: true }) placement?: Placement = 'top';\n\n /** Whether the tooltip should have the same width as the trigger element\n * (applicable only for content shorter than the trigger element) */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Set the action when the tooltip should be displayed, on hover (default) or click */\n @Prop({ reflect: true }) displayOn: 'click' | 'hover' = 'hover';\n\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\n * and when interacting with the trigger\n */\n @Prop({ reflect: true, mutable: true }) visible? = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('visible')\n async handleVisibleChange() {\n if (!this.visible && !this.alwaysVisible) {\n return await this.hide();\n }\n\n await this.show();\n }\n\n @Watch('distance')\n @Watch('hideArrow')\n @Watch('placement')\n @Watch('sameWidth')\n handleFloatingUIOptionsChange() {\n this.floatingUI.init({\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'fixed',\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Emitted when the tooltip trigger is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused in */\n @Event() bqFocusIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused out */\n @Event() bqFocusOut: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered in */\n @Event() bqHoverIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered out */\n @Event() bqHoverOut: EventEmitter<HTMLBqTooltipElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.floatingUI = new FloatingUI(this.trigger, this.panel, {\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'absolute',\n skidding: 0,\n });\n }\n\n disconnectedCallback() {\n this.floatingUI?.destroy();\n }\n\n // Listeners\n // ==============\n\n @Listen('keydown', { target: 'document' })\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible || this.displayOn !== 'click') return;\n // Hide tooltip when the user presses the escape key, but only if the displayOn is click and the tooltip is visible\n if (event.key !== 'Escape') return;\n\n this.hide();\n }\n\n @Listen('mousedown', { target: 'document' })\n handleDocumentMouseDown(event: MouseEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user clicks outside of the tooltip, but only if the displayOn is click and the tooltip is visible\n if (isEventTargetChildOfElement(event, this.el)) return;\n\n this.hide();\n }\n\n @Listen('scroll', { target: 'document', passive: true, capture: true })\n handleDocumentScroll() {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user scrolls, but only if the the tooltip is visible\n this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Shows the tooltip */\n @Method()\n async show() {\n this.visible = true;\n this.showTooltip();\n }\n\n /** Hides the tooltip */\n @Method()\n async hide() {\n if (this.alwaysVisible) return;\n\n this.visible = false;\n this.hideTooltip();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleTriggerMouseOver = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverIn.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerMouseLeave = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverOut.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private handleTriggerOnClick = async () => {\n if (this.displayOn !== 'click') return;\n\n const clickEvent = this.bqClick.emit(this.el);\n if (clickEvent.defaultPrevented) return;\n\n await (this.visible ? this.hide() : this.show());\n };\n\n private handleTriggerFocusin = async () => {\n if (this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusIn.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerFocusout = async () => {\n if (!this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusOut.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private showTooltip = () => {\n if (!this.panel) return;\n this.floatingUI?.update();\n };\n\n private hideTooltip = () => {\n if (!this.panel) return;\n this.visible = false;\n };\n\n private get isHidden() {\n return !this.visible && !this.alwaysVisible;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-tooltip relative\" part=\"base\">\n {/* TRIGGER */}\n {/**\n * NOTE: We could use a native HTML button as trigger container, but it causes issues with\n * certain interactive elements inside the trigger slot (e.g., buttons, links, inputs...).\n * This is because nested interactive elements are not allowed inside a button.\n * Also, that will force the user to focus twice to reach the inner interactive element.\n */}\n {/** biome-ignore lint/a11y/noStaticElementInteractions: bypass the \"Static Elements should not be interactive.\" rule */}\n {/** biome-ignore lint/a11y/useKeyWithClickEvents: bypass the \"Enforce to have the onClick mouse event with the onKeyUp, the onKeyDown, or the onKeyPress keyboard event.\" rule */}\n <div\n class=\"bq-tooltip--trigger\"\n onClick={this.handleTriggerOnClick}\n onFocusin={this.handleTriggerFocusin}\n onFocusout={this.handleTriggerFocusout}\n onMouseEnter={this.handleTriggerMouseOver}\n onMouseLeave={this.handleTriggerMouseLeave}\n part=\"trigger\"\n ref={(el: HTMLDivElement) => {\n this.trigger = el;\n }}\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n <div\n aria-hidden={this.isHidden}\n class=\"bq-tooltip--panel\"\n hidden={this.isHidden}\n part=\"panel\"\n ref={(el: HTMLDivElement) => {\n this.panel = el;\n }}\n role=\"tooltip\"\n >\n {!this.hideArrow && (\n <div\n class=\"bq-tooltip--arrow\"\n ref={(el: HTMLDivElement) => {\n this.arrow = el;\n }}\n />\n )}\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["bqTooltipCss","BqTooltip","__stencil_proxyCustomElement","HTMLElement","trigger","panel","arrow","floatingUI","alwaysVisible","distance","hideArrow","placement","sameWidth","displayOn","visible","handleVisibleChange","this","hide","show","handleFloatingUIOptionsChange","init","strategy","bqClick","bqFocusIn","bqFocusOut","bqHoverIn","bqHoverOut","componentDidLoad","FloatingUI","skidding","disconnectedCallback","destroy","handleDocumentKeyDown","event","key","handleDocumentMouseDown","isEventTargetChildOfElement","el","handleDocumentScroll","showTooltip","hideTooltip","handleTriggerMouseOver","async","hoverEvent","emit","defaultPrevented","handleTriggerMouseLeave","handleTriggerOnClick","clickEvent","handleTriggerFocusin","focusEvent","handleTriggerFocusout","update","isHidden","render","h","class","part","onClick","onFocusin","onFocusout","onMouseEnter","onMouseLeave","ref","name","hidden","role"],"sources":["../../packages/beeq/src/components/tooltip/scss/bq-tooltip.scss?tag=bq-tooltip&encapsulation=shadow","../../packages/beeq/src/components/tooltip/bq-tooltip.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tooltip styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tooltip.variables';\n\n.bq-tooltip--panel {\n @include animation-fade-in;\n @apply pointer-events-none fixed z-[--bq-tooltip--z-index] box-border bg-[--bq-tooltip--background-color];\n @apply is-[--bq-tooltip--width] max-is-[--bq-tooltip--max-width] p-b-[--bq-tooltip--paddingY] p-i-[--bq-tooltip--paddingX];\n @apply text-[length:--bq-tooltip--font-size] leading-[--bq-tooltip--line-height] text-[color:--bq-tooltip--text-color];\n @apply rounded-[--bq-tooltip--border-radius] border-[length:--bq-tooltip--border-width] border-[color:--bq-tooltip--border-color];\n @apply shadow-[shadow:--bq-tooltip--box-shadow];\n}\n\n.bq-tooltip--arrow {\n &,\n &::before {\n @apply absolute -z-[1] bs-2 is-2;\n }\n\n &::before {\n @apply start-0 rotate-45 bg-[--bq-tooltip--background-color] content-empty inset-bs-0;\n }\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport type { Placement } from '../../services/interfaces';\nimport { FloatingUI } from '../../services/libraries';\nimport { isEventTargetChildOfElement } from '../../shared/utils';\n\n/**\n * The Tooltip component is a small pop-up box that appears when a user hovers over or clicks on an element, providing additional information or context.\n *\n * @example How to use it\n * ```html\n * <bq-tooltip visible>\n * Yuhu! I'm a tooltip 🙃\n * <bq-button slot=\"trigger\">Hover me!</bq-button>\n * </bq-tooltip>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/64c562-tooltip\n * @status stable\n *\n * @attr {boolean} always-visible - If true, the tooltip will always be visible\n * @attr {number} distance - Distance between trigger element and tooltip\n * @attr {boolean} hide-arrow - If true, the arrow on the tooltip content won't be shown\n * @attr {\"top\" | \"right\" | \"bottom\" | \"left\"} placement - Defines the position of the tooltip\n * @attr {boolean} same-width - Whether the tooltip should have the same width as the trigger element (applicable only for content shorter than the trigger element)\n * @attr {\"click\" | \"hover\"} display-on - Set the action when the tooltip should be displayed, on hover (default) or click\n * @attr {boolean} visible - Indicates whether or not the tooltip is visible when the component is first rendered, and when interacting with the trigger\n *\n * @method show - Shows the tooltip\n * @method hide - Hides the tooltip\n *\n * @slot trigger - The element which displays tooltip on hover\n * @slot - The tooltip content\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover\n * @part panel - The `<div>` container that holds the tooltip content\n *\n * @cssprop --bq-tooltip--background-color - Tooltip background color\n * @cssprop --bq-tooltip--box-shadow - Tooltip box shadow\n * @cssprop --bq-tooltip--font-size - Tooltip font size\n * @cssprop --bq-tooltip--line-height - Tooltip line height\n * @cssprop --bq-tooltip--text-color - Tooltip text color\n * @cssprop --bq-tooltip--paddingX - Tooltip horizontal padding\n * @cssprop --bq-tooltip--paddingY - Tooltip vertical padding\n * @cssprop --bq-tooltip--border-color - Tooltip border color\n * @cssprop --bq-tooltip--border-radius - Tooltip border radius\n * @cssprop --bq-tooltip--border-style - Tooltip border style\n * @cssprop --bq-tooltip--border-width - Tooltip border width\n * @cssprop --bq-tooltip--z-index: Tooltip z-index\n */\n@Component({\n tag: 'bq-tooltip',\n styleUrl: './scss/bq-tooltip.scss',\n shadow: true,\n})\nexport class BqTooltip {\n // Own Properties\n // ====================\n private trigger: HTMLElement;\n private panel: HTMLElement;\n private arrow: HTMLElement;\n private floatingUI: FloatingUI;\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqTooltipElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the tooltip will always be visible */\n @Prop() alwaysVisible?: boolean = false;\n\n /** Distance between trigger element and tooltip */\n @Prop({ reflect: true }) distance?: number = 10;\n\n /** If true, the arrow on the tooltip content won't be shown */\n @Prop({ reflect: true }) hideArrow?: boolean = false;\n\n /* Defines the position of the tooltip */\n @Prop({ reflect: true }) placement?: Placement = 'top';\n\n /** Whether the tooltip should have the same width as the trigger element\n * (applicable only for content shorter than the trigger element) */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Set the action when the tooltip should be displayed, on hover (default) or click */\n @Prop({ reflect: true }) displayOn: 'click' | 'hover' = 'hover';\n\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\n * and when interacting with the trigger\n */\n @Prop({ reflect: true, mutable: true }) visible? = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('visible')\n async handleVisibleChange() {\n if (!this.visible && !this.alwaysVisible) {\n return await this.hide();\n }\n\n await this.show();\n }\n\n @Watch('distance')\n @Watch('hideArrow')\n @Watch('placement')\n @Watch('sameWidth')\n handleFloatingUIOptionsChange() {\n this.floatingUI.init({\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'fixed',\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Emitted when the tooltip trigger is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused in */\n @Event() bqFocusIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused out */\n @Event() bqFocusOut: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered in */\n @Event() bqHoverIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered out */\n @Event() bqHoverOut: EventEmitter<HTMLBqTooltipElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.floatingUI = new FloatingUI(this.trigger, this.panel, {\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'absolute',\n skidding: 0,\n });\n }\n\n disconnectedCallback() {\n this.floatingUI?.destroy();\n }\n\n // Listeners\n // ==============\n\n @Listen('keydown', { target: 'document' })\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible || this.displayOn !== 'click') return;\n // Hide tooltip when the user presses the escape key, but only if the displayOn is click and the tooltip is visible\n if (event.key !== 'Escape') return;\n\n this.hide();\n }\n\n @Listen('mousedown', { target: 'document' })\n handleDocumentMouseDown(event: MouseEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user clicks outside of the tooltip, but only if the displayOn is click and the tooltip is visible\n if (isEventTargetChildOfElement(event, this.el)) return;\n\n this.hide();\n }\n\n @Listen('scroll', { target: 'document', passive: true, capture: true })\n handleDocumentScroll() {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user scrolls, but only if the the tooltip is visible\n this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Shows the tooltip */\n @Method()\n async show() {\n this.visible = true;\n this.showTooltip();\n }\n\n /** Hides the tooltip */\n @Method()\n async hide() {\n if (this.alwaysVisible) return;\n\n this.visible = false;\n this.hideTooltip();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleTriggerMouseOver = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverIn.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerMouseLeave = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverOut.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private handleTriggerOnClick = async () => {\n if (this.displayOn !== 'click') return;\n\n const clickEvent = this.bqClick.emit(this.el);\n if (clickEvent.defaultPrevented) return;\n\n await (this.visible ? this.hide() : this.show());\n };\n\n private handleTriggerFocusin = async () => {\n if (this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusIn.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerFocusout = async () => {\n if (!this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusOut.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private showTooltip = () => {\n if (!this.panel) return;\n this.floatingUI?.update();\n };\n\n private hideTooltip = () => {\n if (!this.panel) return;\n this.visible = false;\n };\n\n private get isHidden() {\n return !this.visible && !this.alwaysVisible;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-tooltip relative\" part=\"base\">\n {/* TRIGGER */}\n {/**\n * NOTE: We could use a native HTML button as trigger container, but it causes issues with\n * certain interactive elements inside the trigger slot (e.g., buttons, links, inputs...).\n * This is because nested interactive elements are not allowed inside a button.\n * Also, that will force the user to focus twice to reach the inner interactive element.\n */}\n {/** biome-ignore lint/a11y/noStaticElementInteractions: bypass the \"Static Elements should not be interactive.\" rule */}\n {/** biome-ignore lint/a11y/useKeyWithClickEvents: bypass the \"Enforce to have the onClick mouse event with the onKeyUp, the onKeyDown, or the onKeyPress keyboard event.\" rule */}\n <div\n class=\"bq-tooltip--trigger\"\n onClick={this.handleTriggerOnClick}\n onFocusin={this.handleTriggerFocusin}\n onFocusout={this.handleTriggerFocusout}\n onMouseEnter={this.handleTriggerMouseOver}\n onMouseLeave={this.handleTriggerMouseLeave}\n part=\"trigger\"\n ref={(el: HTMLDivElement) => {\n this.trigger = el;\n }}\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n <div\n aria-hidden={this.isHidden}\n class=\"bq-tooltip--panel\"\n hidden={this.isHidden}\n part=\"panel\"\n ref={(el: HTMLDivElement) => {\n this.panel = el;\n }}\n role=\"tooltip\"\n >\n {!this.hideArrow && (\n <div\n class=\"bq-tooltip--arrow\"\n ref={(el: HTMLDivElement) => {\n this.arrow = el;\n }}\n />\n )}\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,5 +2,5 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import{p as a,H as r,c as e,h as b,d as n,t}from"./p-YjPwN7vu.js";import{i as o}from"./p-B4sM1t6Z.js";import{i}from"./p-BcPwGxIn.js";import{i as q}from"./p-BRbYDZoo.js";import{v as d}from"./p-zh4P02Kn.js";import{b as s}from"./p-uqkxeAeG.js";import{d as l}from"./p-DnqmdkvK.js";const c=["small","medium","large"];const u=["button","submit","reset"];const v=["primary","secondary","link","text"];const g=["standard","ghost","danger"];const f=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.aspect-square{aspect-ratio:1/1}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-auto{flex-basis:auto}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.rounded-\\[--bq-button--border-radius\\]{border-radius:var(--bq-button--border-radius)}.border-\\[length\\:--bq-button--border-width\\]{border-width:var(--bq-button--border-width)}.border-m{border-width:var(--bq-stroke-m)}.border-solid{border-style:solid}.border-\\[color\\:--bq-button--border-color\\]{border-color:var(--bq-button--border-color)}.border-brand{border-color:var(--bq-stroke--brand)}.border-tertiary{border-color:var(--bq-stroke--tertiary)}.bg-transparent{background-color:transparent}.bg-ui-brand{background-color:var(--bq-ui--brand)}.bg-ui-danger{background-color:var(--bq-ui--danger)}.bg-ui-secondary{background-color:var(--bq-ui--secondary)}.p-\\[--bq-button--large-paddingY\\]{padding:var(--bq-button--large-paddingY)}.p-\\[--bq-button--medium-paddingY\\]{padding:var(--bq-button--medium-paddingY)}.p-\\[--bq-button--small-paddingY\\]{padding:var(--bq-button--small-paddingY)}.pe-xs2{padding-inline-end:var(--bq-spacing-xs2)}.ps-xs2{padding-inline-start:var(--bq-spacing-xs2)}.text-\\[length\\:--bq-button--large-font-size\\]{font-size:var(--bq-button--large-font-size)}.text-\\[length\\:--bq-button--medium-font-size\\]{font-size:var(--bq-button--medium-font-size)}.text-\\[length\\:--bq-button--small-font-size\\]{font-size:var(--bq-button--small-font-size)}.font-medium{font-weight:var(--bq-font-weight--medium)}.text-brand{color:var(--bq-text--brand)}.opacity-60{opacity:.6}.transition-\\[background-color\\2c border-color\\2c color\\]{transition-duration:.15s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.is-auto{inline-size:auto}.is-full{inline-size:100%}.p-b-\\[--bq-button--large-paddingY\\]{padding-block:var(--bq-button--large-paddingY)}.p-b-\\[--bq-button--medium-paddingY\\]{padding-block:var(--bq-button--medium-paddingY)}.p-b-\\[--bq-button--small-paddingY\\]{padding-block:var(--bq-button--small-paddingY)}.p-i-\\[--bq-button--large-paddingX\\]{padding-inline:var(--bq-button--large-paddingX)}.p-i-\\[--bq-button--medium-paddingX\\]{padding-inline:var(--bq-button--medium-paddingX)}.p-i-\\[--bq-button--small-paddingX\\]{padding-inline:var(--bq-button--small-paddingX)}.bq-button{align-items:center;border-color:var(--bq-button--border-color);border-radius:var(--bq-button--border-radius);border-width:var(--bq-button--border-width);box-sizing:border-box;cursor:inherit;display:flex;font-weight:var(--bq-font-weight--medium);justify-content:center;line-height:var(--bq-font-line-height--regular);transition-duration:.3s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-button:disabled{cursor:not-allowed;opacity:.6}.bq-button:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-button ::slotted(bq-icon){--bq-icon--color:var(--bq-button--icon-color,currentColor)}.bq-button:hover:not(:disabled) ::slotted(bq-icon){--bq-icon--color:var(--bq-button-hover--icon-color,var(--bq-button--icon-color,currentColor))}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-button--border-color:transparent;--bq-button--border-radius:var(--bq-radius--m);--bq-button--border-style:solid;--bq-button--border-width:0;--bq-button--small-paddingX:var(--bq-spacing-xs);--bq-button--small-paddingY:var(--bq-spacing-xs2);--bq-button--small-font-size:var(--bq-font-size--m);--bq-button--medium-paddingX:var(--bq-spacing-m);--bq-button--medium-paddingY:var(--bq-spacing-s);--bq-button--medium-font-size:var(--bq-font-size--m);--bq-button--large-paddingX:var(--bq-spacing-l);--bq-button--large-paddingY:var(--bq-spacing-m);--bq-button--large-font-size:var(--bq-font-size--m);border-radius:var(--bq-button--border-radius);cursor:pointer;display:inline-block;inline-size:auto;position:relative}.block,:host([block]){inline-size:100%}.bq-button--primary{background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-button--primary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.bq-button--primary:enabled:active,.bq-button--primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.bq-button--primary.ghost{background-color:transparent;border-color:var(--bq-stroke--brand);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--brand)}.bq-button--primary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--primary.ghost:enabled:active,.bq-button--primary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.bq-button--primary.danger{background-color:var(--bq-ui--danger);color:var(--bq-text--alt)}.bq-button--primary.danger:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-hover) 20%)}.bq-button--primary.danger:enabled:active,.bq-button--primary.danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.bq-button--secondary{background-color:var(--bq-ui--secondary);color:var(--bq-text--primary)}.bq-button--secondary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary:enabled:active,.bq-button--secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--secondary.ghost{background-color:transparent;border-color:var(--bq-stroke--tertiary);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--primary)}.bq-button--secondary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary.ghost:enabled:active,.bq-button--secondary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link{background-color:transparent;color:var(--bq-text--brand);text-decoration-line:none}.bq-button--link:hover:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--link:active:not(.disabled),.bq-button--link:hover:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link.disabled{cursor:not-allowed;opacity:.6}.bq-button--text{background-color:transparent;color:var(--bq-text--primary)}.bq-button--text:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--text:enabled:active,.bq-button--text:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.only-icon{aspect-ratio:1/1}.small{font-size:var(--bq-button--small-font-size);padding-block:var(--bq-button--small-paddingY);padding-inline:var(--bq-button--small-paddingX)}.small.only-icon{padding:var(--bq-button--small-paddingY)}.medium{font-size:var(--bq-button--medium-font-size);padding-block:var(--bq-button--medium-paddingY);padding-inline:var(--bq-button--medium-paddingX)}.medium.only-icon{padding:var(--bq-button--medium-paddingY)}.large{font-size:var(--bq-button--large-font-size);padding-block:var(--bq-button--large-paddingY);padding-inline:var(--bq-button--large-paddingX)}.large.only-icon{padding:var(--bq-button--large-paddingY)}.bq-button__label ::slotted(bq-icon){display:flex}.content-left{justify-content:flex-start}.content-right{justify-content:flex-end}.bq-button__prefix,.bq-button__suffix{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;pointer-events:none}.bq-button.has-prefix .bq-button__label{padding-inline-start:var(--bq-spacing-xs2)}.bq-button.has-suffix .bq-button__label{padding-inline-end:var(--bq-spacing-xs2)}.bq-button.loading{cursor:wait;position:relative}.bq-button.loading .bq-button__label,.bq-button.loading .bq-button__prefix,.bq-button.loading .bq-button__suffix{visibility:hidden}.bq-button__loader{-webkit-animation:spin 1s linear 0s infinite;animation:spin 1s linear 0s infinite;position:absolute}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.active\\:enabled\\:bg-active-ui-brand:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-danger:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-primary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-secondary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-brand:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:not\\(\\.disabled\\)\\]\\:active\\:bg-active-ui-secondary:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.\\[\\&_\\:\\:slotted\\(bq-icon\\)\\]\\:\\[--bq-icon--color\\:_var\\(--bq-button--icon-color\\2c _currentColor\\)\\] ::slotted(bq-icon){--bq-icon--color:var(--bq-button--icon-color,currentColor)}.static{position:static}.hidden{display:none}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.text-\\[--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}`;const p=a(class a extends r{constructor(a){super();if(a!==false){this.__registerHost()}this.__attachShadow();this.bqBlur=e(this,"bqBlur");this.bqFocus=e(this,"bqFocus");this.bqClick=e(this,"bqClick");this.internals=this.attachInternals()}prefixElem;suffixElem;get el(){return this}internals;hasPrefix=false;hasSuffix=false;appearance="primary";block=false;border="m";disabled=false;download;href;justifyContent="center";label;loading=false;onlyIcon=false;size="medium";target;type="button";variant="standard";checkPropValues(){d(v,"primary",this.el,"appearance");d(u,"button",this.el,"type");d(c,"medium",this.el,"size");d(g,"standard",this.el,"variant")}handleOnlyIconPropChange(){if(!this.onlyIcon||!i(this.label))return;console.warn("⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.")}bqBlur;bqFocus;bqClick;componentWillLoad(){this.checkPropValues();this.handleOnlyIconPropChange()}componentDidLoad(){this.handleSlotChange()}handleBlur=()=>{this.bqBlur.emit(this.el)};handleFocus=()=>{this.bqFocus.emit(this.el)};handleClick=a=>{const{disabled:r,loading:e,bqClick:b,el:n}=this;if(r||e){this.preventEvent(a);return}const t=b.emit(n);if(t.defaultPrevented){this.preventEvent(a);return}this.handleFormAction()};handleFormAction(){const{type:a,internals:{form:r}}=this;if(i(r))return;const e=this.formActions(r)[a];if(i(e))return;e()}formActions=a=>({submit:()=>this.submitAssociatedForm(a),reset:()=>a.reset()});submitAssociatedForm=a=>{if(!o()||i(a))return;const r=document.createElement("button");r.type=this.type;r.hidden=true;a.append(r);r.click();r.remove()};handleSlotChange=()=>{this.hasPrefix=s(this.prefixElem,"prefix");this.hasSuffix=s(this.suffixElem,"suffix")};preventEvent(a){a.preventDefault();a.stopPropagation()}render(){const a=q(this.href);const r=a?"a":"button";const e={...this.border&&{"--bq-button--border-radius":`var(--bq-radius--${this.border})`}};return b(n,{key:"59aa5d609765eb449a0c880b51e9047d846c1d39",style:e},b(r,{key:"a41c8a26f4baabc52c6baff2d36a6080949a0b9a","aria-disabled":this.disabled?"true":"false","aria-label":this.label??undefined,class:{"bq-button":true,[`bq-button--${this.appearance}`]:true,[`content-${this.justifyContent}`]:true,[`${this.variant}`]:true,[`${this.size}`]:true,block:this.block,disabled:this.disabled,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,loading:this.loading,"only-icon":this.onlyIcon},disabled:this.disabled,download:a?this.download:undefined,href:a?this.href:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:this.handleFocus,part:"button",rel:a&&this.target?"noreferrer noopener":undefined,tabIndex:this.disabled?-1:0,target:a?this.target:undefined,type:this.type},b("span",{key:"a371c05dfb53e89de6baccf7f32c266392f39e78",class:"bq-button__prefix",part:"prefix",ref:a=>{this.prefixElem=a}},b("slot",{key:"14d062855f2a5e6b5314402c450a251bcec63f56",name:"prefix",onSlotchange:this.handleSlotChange})),b("span",{key:"eddde84e0d66e759ddae018f1d2593e88dd14962",class:"bq-button__label",part:"label"},b("slot",{key:"e311be1ac0f20eda0fea376953efd4dd44e2ce1d"})),b("span",{key:"cc3e13436975f93402ee230b654bbaa85aeec8ce",class:"bq-button__suffix",part:"suffix",ref:a=>{this.suffixElem=a}},b("slot",{key:"211a86e553a17b1985175375fc22c87b409d5fe2",name:"suffix",onSlotchange:this.handleSlotChange})),this.loading&&b("bq-icon",{key:"5684d748b4ccdf7731e98cd1e67f8233bf96383f",class:"bq-button__loader",name:"spinner-gap"})))}static get delegatesFocus(){return true}static get formAssociated(){return true}static get watchers(){return{appearance:[{checkPropValues:0}],type:[{checkPropValues:0}],size:[{checkPropValues:0}],variant:[{checkPropValues:0}],onlyIcon:[{handleOnlyIconPropChange:0}]}}static get style(){return f()}},[849,"bq-button",{appearance:[513],block:[516],border:[513],disabled:[4],download:[1],href:[513],justifyContent:[513,"justify-content"],label:[513],loading:[4],onlyIcon:[4,"only-icon"],size:[513],target:[513],type:[513],variant:[513],hasPrefix:[32],hasSuffix:[32]},undefined,{appearance:[{checkPropValues:0}],type:[{checkPropValues:0}],size:[{checkPropValues:0}],variant:[{checkPropValues:0}],onlyIcon:[{handleOnlyIconPropChange:0}]}]);function m(){if(typeof customElements==="undefined"){return}const a=["bq-button","bq-icon"];a.forEach((a=>{switch(a){case"bq-button":if(!customElements.get(t(a))){customElements.define(t(a),p)}break;case"bq-icon":if(!customElements.get(t(a))){l()}break}}))}export{p as B,m as d};
6
- //# sourceMappingURL=p-D4ZErYyQ.js.map
5
+ import{p as a,H as r,c as e,h as b,d as n,t}from"./p-YjPwN7vu.js";import{i as o}from"./p-B4sM1t6Z.js";import{i}from"./p-BcPwGxIn.js";import{i as q}from"./p-BRbYDZoo.js";import{v as d}from"./p-zh4P02Kn.js";import{b as s}from"./p-uqkxeAeG.js";import{d as l}from"./p-DnqmdkvK.js";const c=["small","medium","large"];const u=["button","submit","reset"];const v=["primary","secondary","link","text"];const g=["standard","ghost","danger"];const f=()=>`.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.aspect-square{aspect-ratio:1/1}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-auto{flex-basis:auto}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.rounded-\\[--bq-button--border-radius\\]{border-radius:var(--bq-button--border-radius)}.border-\\[length\\:--bq-button--border-width\\]{border-width:var(--bq-button--border-width)}.border-m{border-width:var(--bq-stroke-m)}.border-solid{border-style:solid}.border-\\[color\\:--bq-button--border-color\\]{border-color:var(--bq-button--border-color)}.border-brand{border-color:var(--bq-stroke--brand)}.border-tertiary{border-color:var(--bq-stroke--tertiary)}.bg-transparent{background-color:transparent}.bg-ui-brand{background-color:var(--bq-ui--brand)}.bg-ui-danger{background-color:var(--bq-ui--danger)}.bg-ui-secondary{background-color:var(--bq-ui--secondary)}.p-\\[--bq-button--large-paddingY\\]{padding:var(--bq-button--large-paddingY)}.p-\\[--bq-button--medium-paddingY\\]{padding:var(--bq-button--medium-paddingY)}.p-\\[--bq-button--small-paddingY\\]{padding:var(--bq-button--small-paddingY)}.pe-xs2{padding-inline-end:var(--bq-spacing-xs2)}.ps-xs2{padding-inline-start:var(--bq-spacing-xs2)}.text-\\[length\\:--bq-button--large-font-size\\]{font-size:var(--bq-button--large-font-size)}.text-\\[length\\:--bq-button--medium-font-size\\]{font-size:var(--bq-button--medium-font-size)}.text-\\[length\\:--bq-button--small-font-size\\]{font-size:var(--bq-button--small-font-size)}.font-medium{font-weight:var(--bq-font-weight--medium)}.text-brand{color:var(--bq-text--brand)}.opacity-60{opacity:.6}.transition-\\[background-color\\2c border-color\\2c color\\]{transition-duration:.15s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.is-auto{inline-size:auto}.is-full{inline-size:100%}.p-b-\\[--bq-button--large-paddingY\\]{padding-block:var(--bq-button--large-paddingY)}.p-b-\\[--bq-button--medium-paddingY\\]{padding-block:var(--bq-button--medium-paddingY)}.p-b-\\[--bq-button--small-paddingY\\]{padding-block:var(--bq-button--small-paddingY)}.p-i-\\[--bq-button--large-paddingX\\]{padding-inline:var(--bq-button--large-paddingX)}.p-i-\\[--bq-button--medium-paddingX\\]{padding-inline:var(--bq-button--medium-paddingX)}.p-i-\\[--bq-button--small-paddingX\\]{padding-inline:var(--bq-button--small-paddingX)}.bq-button{align-items:center;border-color:var(--bq-button--border-color);border-radius:var(--bq-button--border-radius);border-width:var(--bq-button--border-width);box-sizing:border-box;cursor:inherit;display:flex;font-weight:var(--bq-font-weight--medium);justify-content:center;line-height:var(--bq-font-line-height--regular);transition-duration:.3s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-button:disabled{cursor:not-allowed;opacity:.6}.bq-button:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-button ::slotted(bq-icon){--bq-icon--color:var(--bq-button--icon-color,currentColor)}.bq-button:hover:not(:disabled) ::slotted(bq-icon){--bq-icon--color:var(--bq-button-hover--icon-color,var(--bq-button--icon-color,currentColor))}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-button--border-color:transparent;--bq-button--border-radius:var(--bq-radius--m);--bq-button--border-style:solid;--bq-button--border-width:0;--bq-button--small-paddingX:var(--bq-spacing-xs);--bq-button--small-paddingY:var(--bq-spacing-xs2);--bq-button--small-font-size:var(--bq-font-size--m);--bq-button--medium-paddingX:var(--bq-spacing-m);--bq-button--medium-paddingY:var(--bq-spacing-s);--bq-button--medium-font-size:var(--bq-font-size--m);--bq-button--large-paddingX:var(--bq-spacing-l);--bq-button--large-paddingY:var(--bq-spacing-m);--bq-button--large-font-size:var(--bq-font-size--m);border-radius:var(--bq-button--border-radius);cursor:pointer;display:inline-block;inline-size:auto;position:relative}.block,:host([block]){inline-size:100%}.bq-button--primary{background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-button--primary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.bq-button--primary:enabled:active,.bq-button--primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.bq-button--primary.ghost{background-color:transparent;border-color:var(--bq-stroke--brand);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--brand)}.bq-button--primary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--primary.ghost:enabled:active,.bq-button--primary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.bq-button--primary.danger{background-color:var(--bq-ui--danger);color:var(--bq-text--alt)}.bq-button--primary.danger:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-hover) 20%)}.bq-button--primary.danger:enabled:active,.bq-button--primary.danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.bq-button--secondary{background-color:var(--bq-ui--secondary);color:var(--bq-text--primary)}.bq-button--secondary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary:enabled:active,.bq-button--secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--secondary.ghost{background-color:transparent;border-color:var(--bq-stroke--tertiary);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--primary)}.bq-button--secondary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary.ghost:enabled:active,.bq-button--secondary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link{background-color:transparent;color:var(--bq-text--brand);text-decoration-line:none}.bq-button--link:hover:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--link:active:not(.disabled),.bq-button--link:hover:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link.disabled{cursor:not-allowed;opacity:.6}.bq-button--text{background-color:transparent;color:var(--bq-text--primary)}.bq-button--text:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--text:enabled:active,.bq-button--text:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.only-icon{aspect-ratio:1/1}.small{font-size:var(--bq-button--small-font-size);padding-block:var(--bq-button--small-paddingY);padding-inline:var(--bq-button--small-paddingX)}.small.only-icon{padding:var(--bq-button--small-paddingY)}.medium{font-size:var(--bq-button--medium-font-size);padding-block:var(--bq-button--medium-paddingY);padding-inline:var(--bq-button--medium-paddingX)}.medium.only-icon{padding:var(--bq-button--medium-paddingY)}.large{font-size:var(--bq-button--large-font-size);padding-block:var(--bq-button--large-paddingY);padding-inline:var(--bq-button--large-paddingX)}.large.only-icon{padding:var(--bq-button--large-paddingY)}.bq-button__label ::slotted(bq-icon){display:flex}.content-left{justify-content:flex-start}.content-right{justify-content:flex-end}.bq-button__prefix,.bq-button__suffix{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;pointer-events:none}.bq-button.has-prefix .bq-button__label{padding-inline-start:var(--bq-spacing-xs2)}.bq-button.has-suffix .bq-button__label{padding-inline-end:var(--bq-spacing-xs2)}.bq-button.loading{cursor:wait;position:relative}.bq-button.loading .bq-button__label,.bq-button.loading .bq-button__prefix,.bq-button.loading .bq-button__suffix{visibility:hidden}.bq-button__loader{-webkit-animation:spin 1s linear 0s infinite;animation:spin 1s linear 0s infinite;position:absolute}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.active\\:enabled\\:bg-active-ui-brand:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-danger:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-primary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-secondary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-brand:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:not\\(\\.disabled\\)\\]\\:active\\:bg-active-ui-secondary:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.\\[\\&_\\:\\:slotted\\(bq-icon\\)\\]\\:\\[--bq-icon--color\\:_var\\(--bq-button--icon-color\\2c _currentColor\\)\\] ::slotted(bq-icon){--bq-icon--color:var(--bq-button--icon-color,currentColor)}.static{position:static}.inline{display:inline}.hidden{display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.text-\\[--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}`;const p=a(class a extends r{constructor(a){super();if(a!==false){this.__registerHost()}this.__attachShadow();this.bqBlur=e(this,"bqBlur");this.bqFocus=e(this,"bqFocus");this.bqClick=e(this,"bqClick");this.internals=this.attachInternals()}prefixElem;suffixElem;get el(){return this}internals;hasPrefix=false;hasSuffix=false;appearance="primary";block=false;border="m";disabled=false;download;href;justifyContent="center";label;loading=false;onlyIcon=false;size="medium";target;type="button";variant="standard";checkPropValues(){d(v,"primary",this.el,"appearance");d(u,"button",this.el,"type");d(c,"medium",this.el,"size");d(g,"standard",this.el,"variant")}handleOnlyIconPropChange(){if(!this.onlyIcon||!i(this.label))return;console.warn("⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.")}bqBlur;bqFocus;bqClick;componentWillLoad(){this.checkPropValues();this.handleOnlyIconPropChange()}componentDidLoad(){this.handleSlotChange()}handleBlur=()=>{this.bqBlur.emit(this.el)};handleFocus=()=>{this.bqFocus.emit(this.el)};handleClick=a=>{const{disabled:r,loading:e,bqClick:b,el:n}=this;if(r||e){this.preventEvent(a);return}const t=b.emit(n);if(t.defaultPrevented){this.preventEvent(a);return}this.handleFormAction()};handleFormAction(){const{type:a,internals:{form:r}}=this;if(i(r))return;const e=this.formActions(r)[a];if(i(e))return;e()}formActions=a=>({submit:()=>this.submitAssociatedForm(a),reset:()=>a.reset()});submitAssociatedForm=a=>{if(!o()||i(a))return;const r=document.createElement("button");r.type=this.type;r.hidden=true;a.append(r);r.click();r.remove()};handleSlotChange=()=>{this.hasPrefix=s(this.prefixElem,"prefix");this.hasSuffix=s(this.suffixElem,"suffix")};preventEvent(a){a.preventDefault();a.stopPropagation()}render(){const a=q(this.href);const r=a?"a":"button";const e={...this.border&&{"--bq-button--border-radius":`var(--bq-radius--${this.border})`}};return b(n,{key:"59aa5d609765eb449a0c880b51e9047d846c1d39",style:e},b(r,{key:"a41c8a26f4baabc52c6baff2d36a6080949a0b9a","aria-disabled":this.disabled?"true":"false","aria-label":this.label??undefined,class:{"bq-button":true,[`bq-button--${this.appearance}`]:true,[`content-${this.justifyContent}`]:true,[`${this.variant}`]:true,[`${this.size}`]:true,block:this.block,disabled:this.disabled,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,loading:this.loading,"only-icon":this.onlyIcon},disabled:this.disabled,download:a?this.download:undefined,href:a?this.href:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:this.handleFocus,part:"button",rel:a&&this.target?"noreferrer noopener":undefined,tabIndex:this.disabled?-1:0,target:a?this.target:undefined,type:this.type},b("span",{key:"a371c05dfb53e89de6baccf7f32c266392f39e78",class:"bq-button__prefix",part:"prefix",ref:a=>{this.prefixElem=a}},b("slot",{key:"14d062855f2a5e6b5314402c450a251bcec63f56",name:"prefix",onSlotchange:this.handleSlotChange})),b("span",{key:"eddde84e0d66e759ddae018f1d2593e88dd14962",class:"bq-button__label",part:"label"},b("slot",{key:"e311be1ac0f20eda0fea376953efd4dd44e2ce1d"})),b("span",{key:"cc3e13436975f93402ee230b654bbaa85aeec8ce",class:"bq-button__suffix",part:"suffix",ref:a=>{this.suffixElem=a}},b("slot",{key:"211a86e553a17b1985175375fc22c87b409d5fe2",name:"suffix",onSlotchange:this.handleSlotChange})),this.loading&&b("bq-icon",{key:"5684d748b4ccdf7731e98cd1e67f8233bf96383f",class:"bq-button__loader",name:"spinner-gap"})))}static get delegatesFocus(){return true}static get formAssociated(){return true}static get watchers(){return{appearance:[{checkPropValues:0}],type:[{checkPropValues:0}],size:[{checkPropValues:0}],variant:[{checkPropValues:0}],onlyIcon:[{handleOnlyIconPropChange:0}]}}static get style(){return f()}},[849,"bq-button",{appearance:[513],block:[516],border:[513],disabled:[4],download:[1],href:[513],justifyContent:[513,"justify-content"],label:[513],loading:[4],onlyIcon:[4,"only-icon"],size:[513],target:[513],type:[513],variant:[513],hasPrefix:[32],hasSuffix:[32]},undefined,{appearance:[{checkPropValues:0}],type:[{checkPropValues:0}],size:[{checkPropValues:0}],variant:[{checkPropValues:0}],onlyIcon:[{handleOnlyIconPropChange:0}]}]);function m(){if(typeof customElements==="undefined"){return}const a=["bq-button","bq-icon"];a.forEach((a=>{switch(a){case"bq-button":if(!customElements.get(t(a))){customElements.define(t(a),p)}break;case"bq-icon":if(!customElements.get(t(a))){l()}break}}))}export{p as B,m as d};
6
+ //# sourceMappingURL=p-fdkSHq2G.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButton","__stencil_proxyCustomElement","HTMLElement","prefixElem","suffixElem","internals","hasPrefix","hasSuffix","appearance","block","border","disabled","download","href","justifyContent","label","loading","onlyIcon","size","target","type","variant","checkPropValues","validatePropValue","this","el","handleOnlyIconPropChange","isNil","console","warn","bqBlur","bqFocus","bqClick","componentWillLoad","componentDidLoad","handleSlotChange","handleBlur","emit","handleFocus","handleClick","ev","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","form","formAction","formActions","submit","submitAssociatedForm","reset","isClient","btn","document","createElement","hidden","append","click","remove","hasSlotContent","preventDefault","stopPropagation","render","isLink","isDefined","TagElem","style","h","Host","key","undefined","class","onBlur","onClick","onFocus","part","rel","tabIndex","ref","spanElem","name","onSlotchange"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n // Internal workaround to allow overriding icon color via CSS variables from slotted bq-buttons\n // @see: packages/beeq/src/components/side-menu/scss/bq-side-menu.scss\n @apply [&_::slotted(bq-icon)]:[--bq-icon--color:_var(--bq-button--icon-color,_currentColor)];\n // On hover, update the icon color if custom property is defined\n &:hover:not(:disabled) ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-button-hover--icon-color, var(--bq-button--icon-color, currentColor));\n }\n }\n}\n\n:host {\n @apply is-auto relative inline-block cursor-pointer rounded-[--bq-button--border-radius];\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply border-m border-solid border-brand bg-transparent text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply border-m border-solid border-tertiary bg-transparent text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply bg-transparent text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.only-icon {\n @apply aspect-square;\n}\n\n.small {\n @apply text-[length:--bq-button--small-font-size] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--small-paddingY];\n }\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--medium-paddingY];\n }\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--large-paddingY];\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { hasSlotContent, isClient, isDefined, isNil, validatePropValue } from '../../shared/utils';\nimport type {\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { BUTTON_APPEARANCE, BUTTON_SIZE, BUTTON_TYPE, BUTTON_VARIANT } from './bq-button.types';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @example How to use it\n * ```html\n * <bq-button appearance=\"primary\" border=\"m\" size=\"medium\">\n * <bq-icon name=\"arrow-circle-left\" slot=\"prefix\"></bq-icon>\n * Go back\n * </bq-button>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/286b43-buttons\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"primary\" | \"secondary\" | \"link\" | \"text\"} appearance - The appearance style to apply to the button\n * @attr {boolean} block - If `true`, it will make the button fit to its parent width.\n * @attr {string} border - The corner radius of the button\n * @attr {boolean} disabled - If `true`, the button will be disabled (no interaction allowed)\n * @attr {string} download - Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * @attr {string} href - When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n * @attr {\"left\" | \"center\" | \"right\"} justify-content - It determinate how the content should be aligned\n * @attr {boolean} loading - If `true` it will display the button in a loading state\n * @attr {boolean} only-icon - If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions)\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the button\n * @attr {\"_blank\" | \"_parent\" | \"_self\" | \"_top\"} target - Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * @attr {\"button\" | \"submit\" | \"reset\"} type - The default behavior of the button\n * @attr {\"standard\" | \"ghost\" | \"danger\"} variant - The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`)\n *\n * @event bqBlur - Handler to be called when the button loses focus\n * @event bqFocus - Handler to be called when button gets focus\n * @event bqClick - Handler to be called when the button is clicked\n *\n * @slot prefix - The prefix content to be displayed before the button label\n * @slot - The button label content\n * @slot suffix - The suffix content to be displayed after the button label\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n *\n * @cssprop --bq-button--border-color - Button border color\n * @cssprop --bq-button--border-radius - Button border radius\n * @cssprop --bq-button--border-style - Button border style\n * @cssprop --bq-button--border-width - Button border width\n * @cssprop --bq-button--small-paddingX - Button small padding block (top and bottom)\n * @cssprop --bq-button--small-paddingY - Button small padding inline (left and right)\n * @cssprop --bq-button--small-font-size - Button small font size\n * @cssprop --bq-button--medium-paddingX - Button medium padding block (top and bottom)\n * @cssprop --bq-button--medium-paddingY - Button medium padding inline (left and right)\n * @cssprop --bq-button--medium-font-size - Button medium font size\n * @cssprop --bq-button--large-paddingX - Button large padding block (top and bottom)\n * @cssprop --bq-button--large-paddingY - Button large padding inline (left and right)\n * @cssprop --bq-button--large-font-size - Button large font size\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style to apply to the button */\n @Prop({ reflect: true }) appearance?: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block?: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border?: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled?: boolean = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href?: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent?: 'left' | 'center' | 'right' = 'center';\n\n /** Text used for accessibility purposes, specially screen readers, to describe the button action */\n @Prop({ reflect: true }) label?: string;\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading?: boolean = false;\n\n /** If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions). Make sure to set the `label` prop for accessibility purposes. */\n @Prop() onlyIcon?: boolean = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size?: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target?: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type?: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant?: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n @Watch('onlyIcon')\n handleOnlyIconPropChange() {\n if (!this.onlyIcon || !isNil(this.label)) return;\n\n console.warn(\n '⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.',\n );\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus. */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button gets focus. */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked. */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleOnlyIconPropChange();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (!isClient() || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const isLink = isDefined(this.href);\n const TagElem = isLink ? 'a' : 'button';\n const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label ?? undefined}\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n 'only-icon': this.onlyIcon,\n }}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n tabIndex={this.disabled ? -1 : 0}\n target={isLink ? this.target : undefined}\n type={this.type}\n >\n <span\n class=\"bq-button__prefix\"\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span\n class=\"bq-button__suffix\"\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && <bq-icon class=\"bq-button__loader\" name=\"spinner-gap\" />}\n </TagElem>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButton","__stencil_proxyCustomElement","HTMLElement","prefixElem","suffixElem","internals","hasPrefix","hasSuffix","appearance","block","border","disabled","download","href","justifyContent","label","loading","onlyIcon","size","target","type","variant","checkPropValues","validatePropValue","this","el","handleOnlyIconPropChange","isNil","console","warn","bqBlur","bqFocus","bqClick","componentWillLoad","componentDidLoad","handleSlotChange","handleBlur","emit","handleFocus","handleClick","ev","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","form","formAction","formActions","submit","submitAssociatedForm","reset","isClient","btn","document","createElement","hidden","append","click","remove","hasSlotContent","preventDefault","stopPropagation","render","isLink","isDefined","TagElem","style","h","Host","key","undefined","class","onBlur","onClick","onFocus","part","rel","tabIndex","ref","spanElem","name","onSlotchange"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n // Internal workaround to allow overriding icon color via CSS variables from slotted bq-buttons\n // @see: packages/beeq/src/components/side-menu/scss/bq-side-menu.scss\n @apply [&_::slotted(bq-icon)]:[--bq-icon--color:_var(--bq-button--icon-color,_currentColor)];\n // On hover, update the icon color if custom property is defined\n &:hover:not(:disabled) ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-button-hover--icon-color, var(--bq-button--icon-color, currentColor));\n }\n }\n}\n\n:host {\n @apply is-auto relative inline-block cursor-pointer rounded-[--bq-button--border-radius];\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply border-m border-solid border-brand bg-transparent text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply border-m border-solid border-tertiary bg-transparent text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply bg-transparent text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.only-icon {\n @apply aspect-square;\n}\n\n.small {\n @apply text-[length:--bq-button--small-font-size] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--small-paddingY];\n }\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--medium-paddingY];\n }\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n\n &.only-icon {\n @apply p-[--bq-button--large-paddingY];\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Prop, State, Watch } from '@stencil/core';\n\nimport { hasSlotContent, isClient, isDefined, isNil, validatePropValue } from '../../shared/utils';\nimport type {\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { BUTTON_APPEARANCE, BUTTON_SIZE, BUTTON_TYPE, BUTTON_VARIANT } from './bq-button.types';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @example How to use it\n * ```html\n * <bq-button appearance=\"primary\" border=\"m\" size=\"medium\">\n * <bq-icon name=\"arrow-circle-left\" slot=\"prefix\"></bq-icon>\n * Go back\n * </bq-button>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/286b43-buttons\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"primary\" | \"secondary\" | \"link\" | \"text\"} appearance - The appearance style to apply to the button\n * @attr {boolean} block - If `true`, it will make the button fit to its parent width.\n * @attr {string} border - The corner radius of the button\n * @attr {boolean} disabled - If `true`, the button will be disabled (no interaction allowed)\n * @attr {string} download - Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * @attr {string} href - When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n * @attr {\"left\" | \"center\" | \"right\"} justify-content - It determinate how the content should be aligned\n * @attr {boolean} loading - If `true` it will display the button in a loading state\n * @attr {boolean} only-icon - If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions)\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the button\n * @attr {\"_blank\" | \"_parent\" | \"_self\" | \"_top\"} target - Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * @attr {\"button\" | \"submit\" | \"reset\"} type - The default behavior of the button\n * @attr {\"standard\" | \"ghost\" | \"danger\"} variant - The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`)\n *\n * @event bqBlur - Handler to be called when the button loses focus\n * @event bqFocus - Handler to be called when button gets focus\n * @event bqClick - Handler to be called when the button is clicked\n *\n * @slot prefix - The prefix content to be displayed before the button label\n * @slot - The button label content\n * @slot suffix - The suffix content to be displayed after the button label\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n *\n * @cssprop --bq-button--border-color - Button border color\n * @cssprop --bq-button--border-radius - Button border radius\n * @cssprop --bq-button--border-style - Button border style\n * @cssprop --bq-button--border-width - Button border width\n * @cssprop --bq-button--small-paddingX - Button small padding block (top and bottom)\n * @cssprop --bq-button--small-paddingY - Button small padding inline (left and right)\n * @cssprop --bq-button--small-font-size - Button small font size\n * @cssprop --bq-button--medium-paddingX - Button medium padding block (top and bottom)\n * @cssprop --bq-button--medium-paddingY - Button medium padding inline (left and right)\n * @cssprop --bq-button--medium-font-size - Button medium font size\n * @cssprop --bq-button--large-paddingX - Button large padding block (top and bottom)\n * @cssprop --bq-button--large-paddingY - Button large padding inline (left and right)\n * @cssprop --bq-button--large-font-size - Button large font size\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style to apply to the button */\n @Prop({ reflect: true }) appearance?: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block?: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border?: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled?: boolean = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href?: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent?: 'left' | 'center' | 'right' = 'center';\n\n /** Text used for accessibility purposes, specially screen readers, to describe the button action */\n @Prop({ reflect: true }) label?: string;\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading?: boolean = false;\n\n /** If `true` it will display the button as an icon-only button with aspect ratio 1:1 (square dimensions). Make sure to set the `label` prop for accessibility purposes. */\n @Prop() onlyIcon?: boolean = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size?: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target?: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type?: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant?: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n @Watch('onlyIcon')\n handleOnlyIconPropChange() {\n if (!this.onlyIcon || !isNil(this.label)) return;\n\n console.warn(\n '⚠️ [BqButton]: When using `only-icon` attribute (`onlyIcon` prop), it is required to set the `label` prop for accessibility reasons.',\n );\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus. */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button gets focus. */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked. */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleOnlyIconPropChange();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (!isClient() || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const isLink = isDefined(this.href);\n const TagElem = isLink ? 'a' : 'button';\n const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label ?? undefined}\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n 'only-icon': this.onlyIcon,\n }}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n tabIndex={this.disabled ? -1 : 0}\n target={isLink ? this.target : undefined}\n type={this.type}\n >\n <span\n class=\"bq-button__prefix\"\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span\n class=\"bq-button__suffix\"\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && <bq-icon class=\"bq-button__loader\" name=\"spinner-gap\" />}\n </TagElem>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}