@beeq/core 1.8.0-beta.0 → 1.8.0-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 (417) hide show
  1. package/dist/beeq/beeq.esm.js +43 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +64 -1
  4. package/dist/beeq/index.esm.js.map +1 -1
  5. package/dist/beeq/p-026222c6.entry.js +309 -0
  6. package/dist/beeq/{p-63ad9702.entry.js.map → p-026222c6.entry.js.map} +1 -1
  7. package/dist/beeq/p-04d98ed3.entry.js +257 -0
  8. package/dist/beeq/p-04d98ed3.entry.js.map +1 -0
  9. package/dist/beeq/p-05685544.entry.js +121 -0
  10. package/dist/beeq/{p-c9c942e6.entry.js.map → p-05685544.entry.js.map} +1 -1
  11. package/dist/beeq/p-0ab0b58d.js +25 -1
  12. package/dist/beeq/p-0ab0b58d.js.map +1 -1
  13. package/dist/beeq/p-0c42c08a.js +1811 -0
  14. package/dist/beeq/p-0c42c08a.js.map +1 -0
  15. package/dist/beeq/p-0ebe73ef.entry.js +149 -0
  16. package/dist/beeq/{p-571b40ff.entry.js.map → p-0ebe73ef.entry.js.map} +1 -1
  17. package/dist/beeq/p-115ed5b2.js +25 -1
  18. package/dist/beeq/p-115ed5b2.js.map +1 -1
  19. package/dist/beeq/p-11eaeb5d.entry.js +330 -0
  20. package/dist/beeq/{p-4739f5c3.entry.js.map → p-11eaeb5d.entry.js.map} +1 -1
  21. package/dist/beeq/p-12dbc6ac.entry.js +87 -0
  22. package/dist/beeq/{p-3b2ce34b.entry.js.map → p-12dbc6ac.entry.js.map} +1 -1
  23. package/dist/beeq/p-19df76ba.entry.js +220 -0
  24. package/dist/beeq/{p-79b7547b.entry.js.map → p-19df76ba.entry.js.map} +1 -1
  25. package/dist/beeq/p-1c8b6eb4.js +12 -1
  26. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  27. package/dist/beeq/p-1f3a4359.js +11 -1
  28. package/dist/beeq/p-1f3a4359.js.map +1 -1
  29. package/dist/beeq/p-2ef721e1.entry.js +261 -0
  30. package/dist/beeq/{p-52577f3a.entry.js.map → p-2ef721e1.entry.js.map} +1 -1
  31. package/dist/beeq/p-37466506.entry.js +103 -0
  32. package/dist/beeq/{p-b90c6de9.entry.js.map → p-37466506.entry.js.map} +1 -1
  33. package/dist/beeq/p-377c70d1.entry.js +173 -0
  34. package/dist/beeq/{p-eddb77c7.entry.js.map → p-377c70d1.entry.js.map} +1 -1
  35. package/dist/beeq/p-38d4bd8a.js +1934 -1
  36. package/dist/beeq/p-38d4bd8a.js.map +1 -1
  37. package/dist/beeq/p-3dd0e436.entry.js +130 -0
  38. package/dist/beeq/p-3dd0e436.entry.js.map +1 -0
  39. package/dist/beeq/p-3fd0d92d.js +1228 -1
  40. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  41. package/dist/beeq/p-41033fe6.entry.js +84 -0
  42. package/dist/beeq/{p-94d62f1b.entry.js.map → p-41033fe6.entry.js.map} +1 -1
  43. package/dist/beeq/p-43e4fcdb.entry.js +173 -0
  44. package/dist/beeq/{p-9c6c6646.entry.js.map → p-43e4fcdb.entry.js.map} +1 -1
  45. package/dist/beeq/p-4a235cd2.entry.js +258 -0
  46. package/dist/beeq/{p-b9544567.entry.js.map → p-4a235cd2.entry.js.map} +1 -1
  47. package/dist/beeq/p-4a3d8532.entry.js +205 -0
  48. package/dist/beeq/{p-8059836c.entry.js.map → p-4a3d8532.entry.js.map} +1 -1
  49. package/dist/beeq/p-4dd962a7.entry.js +104 -0
  50. package/dist/beeq/{p-ae8ffb81.entry.js.map → p-4dd962a7.entry.js.map} +1 -1
  51. package/dist/beeq/p-4eccc020.entry.js +203 -0
  52. package/dist/beeq/{p-a006be9e.entry.js.map → p-4eccc020.entry.js.map} +1 -1
  53. package/dist/beeq/p-4fc098bb.entry.js +90 -0
  54. package/dist/beeq/{p-be664fb0.entry.js.map → p-4fc098bb.entry.js.map} +1 -1
  55. package/dist/beeq/p-513bab02.js +16 -0
  56. package/dist/beeq/{p-aee056e5.js.map → p-513bab02.js.map} +1 -1
  57. package/dist/beeq/p-57621be1.js +9 -1
  58. package/dist/beeq/p-57621be1.js.map +1 -1
  59. package/dist/beeq/p-5eab4f55.entry.js +117 -0
  60. package/dist/beeq/{p-9f40249f.entry.js.map → p-5eab4f55.entry.js.map} +1 -1
  61. package/dist/beeq/p-600e7c38.entry.js +102 -0
  62. package/dist/beeq/{p-633319f3.entry.js.map → p-600e7c38.entry.js.map} +1 -1
  63. package/dist/beeq/p-687da041.js +20 -1
  64. package/dist/beeq/p-687da041.js.map +1 -1
  65. package/dist/beeq/p-7089c66a.entry.js +156 -0
  66. package/dist/beeq/{p-235328ee.entry.js.map → p-7089c66a.entry.js.map} +1 -1
  67. package/dist/beeq/p-734853f9.entry.js +259 -0
  68. package/dist/beeq/{p-d2bbae3b.entry.js.map → p-734853f9.entry.js.map} +1 -1
  69. package/dist/beeq/p-7774eec3.entry.js +135 -0
  70. package/dist/beeq/{p-255fcbe4.entry.js.map → p-7774eec3.entry.js.map} +1 -1
  71. package/dist/beeq/p-7b9ff03f.entry.js +437 -0
  72. package/dist/beeq/p-7b9ff03f.entry.js.map +1 -0
  73. package/dist/beeq/p-7c06dfec.entry.js +204 -0
  74. package/dist/beeq/{p-a8cb8989.entry.js.map → p-7c06dfec.entry.js.map} +1 -1
  75. package/dist/beeq/p-900d4e78.entry.js +102 -0
  76. package/dist/beeq/{p-b7281046.entry.js.map → p-900d4e78.entry.js.map} +1 -1
  77. package/dist/beeq/p-911e07b7.entry.js +513 -0
  78. package/dist/beeq/p-911e07b7.entry.js.map +1 -0
  79. package/dist/beeq/p-924ebf7d.entry.js +394 -0
  80. package/dist/beeq/p-924ebf7d.entry.js.map +1 -0
  81. package/dist/beeq/p-951ba558.js +64 -1
  82. package/dist/beeq/p-951ba558.js.map +1 -1
  83. package/dist/beeq/p-99829fc7.js +8 -1
  84. package/dist/beeq/p-99829fc7.js.map +1 -1
  85. package/dist/beeq/p-9aa18e2f.entry.js +303 -0
  86. package/dist/beeq/p-9aa18e2f.entry.js.map +1 -0
  87. package/dist/beeq/p-a5dc1c94.js +118 -1
  88. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  89. package/dist/beeq/p-a8cad5ab.js +5 -1
  90. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  91. package/dist/beeq/p-ae94b9f8.entry.js +144 -0
  92. package/dist/beeq/{p-41bac721.entry.js.map → p-ae94b9f8.entry.js.map} +1 -1
  93. package/dist/beeq/p-af062402.js +7 -1
  94. package/dist/beeq/p-af062402.js.map +1 -1
  95. package/dist/beeq/p-b38e8c5a.entry.js +208 -0
  96. package/dist/beeq/p-b38e8c5a.entry.js.map +1 -0
  97. package/dist/beeq/p-b4278945.entry.js +195 -0
  98. package/dist/beeq/{p-a7b0fd0b.entry.js.map → p-b4278945.entry.js.map} +1 -1
  99. package/dist/beeq/p-b48545b6.entry.js +248 -0
  100. package/dist/beeq/{p-4ba2bec7.entry.js.map → p-b48545b6.entry.js.map} +1 -1
  101. package/dist/beeq/p-c907de72.entry.js +145 -0
  102. package/dist/beeq/{p-96d7f361.entry.js.map → p-c907de72.entry.js.map} +1 -1
  103. package/dist/beeq/p-ceb3bb9a.entry.js +187 -0
  104. package/dist/beeq/p-ceb3bb9a.entry.js.map +1 -0
  105. package/dist/beeq/p-d3008f60.entry.js +279 -0
  106. package/dist/beeq/p-d3008f60.entry.js.map +1 -0
  107. package/dist/beeq/p-d7a88b16.js +87 -1
  108. package/dist/beeq/p-d7a88b16.js.map +1 -1
  109. package/dist/beeq/p-e5afdf8c.js +87 -0
  110. package/dist/beeq/p-e5afdf8c.js.map +1 -0
  111. package/dist/beeq/p-e7d75b87.entry.js +144 -0
  112. package/dist/beeq/{p-6e026fad.entry.js.map → p-e7d75b87.entry.js.map} +1 -1
  113. package/dist/beeq/p-ecd27cf2.js +11 -1
  114. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  115. package/dist/beeq/p-f00abfb8.entry.js +145 -0
  116. package/dist/beeq/{p-90c5851d.entry.js.map → p-f00abfb8.entry.js.map} +1 -1
  117. package/dist/beeq/p-f8663855.entry.js +329 -0
  118. package/dist/beeq/{p-e6382462.entry.js.map → p-f8663855.entry.js.map} +1 -1
  119. package/dist/cjs/assetsPath-7ead23b7.js +89 -0
  120. package/dist/cjs/assetsPath-7ead23b7.js.map +1 -0
  121. package/dist/cjs/beeq.cjs.js +2 -2
  122. package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
  123. package/dist/cjs/bq-accordion.cjs.entry.js +2 -2
  124. package/dist/cjs/bq-alert.cjs.entry.js +19 -25
  125. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  126. package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
  127. package/dist/cjs/bq-badge.cjs.entry.js +4 -4
  128. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +6 -6
  129. package/dist/cjs/bq-breadcrumb.cjs.entry.js +3 -3
  130. package/dist/cjs/bq-button_2.cjs.entry.js +16 -10
  131. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-card.cjs.entry.js +4 -4
  133. package/dist/cjs/bq-checkbox.cjs.entry.js +4 -4
  134. package/dist/cjs/bq-date-picker.cjs.entry.js +10 -7
  135. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-dialog.cjs.entry.js +7 -7
  137. package/dist/cjs/bq-divider.cjs.entry.js +9 -6
  138. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-drawer.cjs.entry.js +7 -7
  140. package/dist/cjs/bq-dropdown_2.cjs.entry.js +3 -3
  141. package/dist/cjs/bq-empty-state.cjs.entry.js +6 -6
  142. package/dist/cjs/bq-input.cjs.entry.js +7 -7
  143. package/dist/cjs/bq-notification.cjs.entry.js +26 -19
  144. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
  146. package/dist/cjs/bq-option-list_2.cjs.entry.js +7 -7
  147. package/dist/cjs/bq-option.cjs.entry.js +6 -6
  148. package/dist/cjs/bq-page-title.cjs.entry.js +4 -4
  149. package/dist/cjs/bq-progress.cjs.entry.js +6 -6
  150. package/dist/cjs/bq-radio-group.cjs.entry.js +3 -3
  151. package/dist/cjs/bq-radio.cjs.entry.js +3 -3
  152. package/dist/cjs/bq-select.cjs.entry.js +21 -15
  153. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  155. package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
  156. package/dist/cjs/bq-slider.cjs.entry.js +12 -6
  157. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-spinner.cjs.entry.js +6 -6
  159. package/dist/cjs/bq-status.cjs.entry.js +3 -3
  160. package/dist/cjs/bq-step-item.cjs.entry.js +9 -6
  161. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-steps.cjs.entry.js +3 -3
  163. package/dist/cjs/bq-switch.cjs.entry.js +4 -4
  164. package/dist/cjs/bq-tab-group.cjs.entry.js +5 -5
  165. package/dist/cjs/bq-tab.cjs.entry.js +4 -4
  166. package/dist/cjs/bq-textarea.cjs.entry.js +5 -5
  167. package/dist/cjs/bq-toast.cjs.entry.js +29 -31
  168. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
  170. package/dist/cjs/{index-e6d59dbb.js → index-1d3aac65.js} +20 -2
  171. package/dist/cjs/index-1d3aac65.js.map +1 -0
  172. package/dist/cjs/index.cjs.js +2 -2
  173. package/dist/cjs/{isDefined-4f4a320b.js → isDefined-a9dd6d5b.js} +2 -2
  174. package/dist/cjs/{isDefined-4f4a320b.js.map → isDefined-a9dd6d5b.js.map} +1 -1
  175. package/dist/cjs/loader.cjs.js +2 -2
  176. package/dist/collection/components/alert/bq-alert.js +26 -26
  177. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  178. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  179. package/dist/collection/components/avatar/bq-avatar.js +3 -3
  180. package/dist/collection/components/badge/bq-badge.js +2 -2
  181. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +1 -1
  182. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +3 -3
  183. package/dist/collection/components/button/bq-button.js +2 -2
  184. package/dist/collection/components/card/bq-card.js +2 -2
  185. package/dist/collection/components/checkbox/bq-checkbox.js +2 -2
  186. package/dist/collection/components/date-picker/bq-date-picker.js +6 -3
  187. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  188. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  189. package/dist/collection/components/dialog/bq-dialog.js +4 -4
  190. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  191. package/dist/collection/components/divider/bq-divider.js +7 -4
  192. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  193. package/dist/collection/components/drawer/bq-drawer.js +4 -4
  194. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  195. package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
  196. package/dist/collection/components/empty-state/bq-empty-state.js +4 -4
  197. package/dist/collection/components/icon/bq-icon.js +13 -7
  198. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  199. package/dist/collection/components/input/bq-input.js +4 -4
  200. package/dist/collection/components/notification/bq-notification.js +31 -17
  201. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  202. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  203. package/dist/collection/components/option/bq-option.js +4 -4
  204. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  205. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  206. package/dist/collection/components/page-title/bq-page-title.js +2 -2
  207. package/dist/collection/components/panel/bq-panel.js +1 -1
  208. package/dist/collection/components/progress/bq-progress.js +4 -4
  209. package/dist/collection/components/radio/bq-radio.js +2 -2
  210. package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
  211. package/dist/collection/components/select/bq-select.js +18 -12
  212. package/dist/collection/components/select/bq-select.js.map +1 -1
  213. package/dist/collection/components/select/scss/bq-select.css +1 -1
  214. package/dist/collection/components/side-menu/bq-side-menu.js +1 -1
  215. package/dist/collection/components/slider/bq-slider.js +10 -4
  216. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  217. package/dist/collection/components/spinner/bq-spinner.js +4 -4
  218. package/dist/collection/components/status/bq-status.js +1 -1
  219. package/dist/collection/components/step-item/bq-step-item.js +7 -4
  220. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  221. package/dist/collection/components/steps/bq-steps.js +1 -1
  222. package/dist/collection/components/switch/bq-switch.js +2 -2
  223. package/dist/collection/components/tab/bq-tab.js +2 -2
  224. package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
  225. package/dist/collection/components/tag/bq-tag.js +3 -3
  226. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  227. package/dist/collection/components/textarea/bq-textarea.js +3 -3
  228. package/dist/collection/components/toast/bq-toast.js +35 -29
  229. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  230. package/dist/collection/components/tooltip/bq-tooltip.js +1 -1
  231. package/dist/collection/index.js +1 -0
  232. package/dist/collection/index.js.map +1 -1
  233. package/dist/collection/shared/utils/assetsPath.js +64 -27
  234. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  235. package/dist/components/assetsPath.js +64 -27
  236. package/dist/components/assetsPath.js.map +1 -1
  237. package/dist/components/bq-alert.js +17 -23
  238. package/dist/components/bq-alert.js.map +1 -1
  239. package/dist/components/bq-avatar.js +3 -3
  240. package/dist/components/bq-badge2.js +2 -2
  241. package/dist/components/bq-breadcrumb-item.js +3 -3
  242. package/dist/components/bq-breadcrumb.js +1 -1
  243. package/dist/components/bq-button2.js +2 -2
  244. package/dist/components/bq-card.js +2 -2
  245. package/dist/components/bq-checkbox.js +2 -2
  246. package/dist/components/bq-date-picker.js +7 -4
  247. package/dist/components/bq-date-picker.js.map +1 -1
  248. package/dist/components/bq-dialog.js +5 -5
  249. package/dist/components/bq-divider2.js +7 -4
  250. package/dist/components/bq-divider2.js.map +1 -1
  251. package/dist/components/bq-drawer.js +5 -5
  252. package/dist/components/bq-dropdown2.js +1 -1
  253. package/dist/components/bq-empty-state.js +4 -4
  254. package/dist/components/bq-icon2.js +11 -5
  255. package/dist/components/bq-icon2.js.map +1 -1
  256. package/dist/components/bq-input.js +4 -4
  257. package/dist/components/bq-notification.js +25 -17
  258. package/dist/components/bq-notification.js.map +1 -1
  259. package/dist/components/bq-option-group.js +1 -1
  260. package/dist/components/bq-option-list2.js +1 -1
  261. package/dist/components/bq-option.js +4 -4
  262. package/dist/components/bq-page-title.js +2 -2
  263. package/dist/components/bq-panel2.js +1 -1
  264. package/dist/components/bq-progress.js +4 -4
  265. package/dist/components/bq-radio-group.js +1 -1
  266. package/dist/components/bq-radio.js +2 -2
  267. package/dist/components/bq-select.js +19 -13
  268. package/dist/components/bq-select.js.map +1 -1
  269. package/dist/components/bq-side-menu.js +1 -1
  270. package/dist/components/bq-slider.js +10 -4
  271. package/dist/components/bq-slider.js.map +1 -1
  272. package/dist/components/bq-spinner.js +4 -4
  273. package/dist/components/bq-status.js +1 -1
  274. package/dist/components/bq-step-item.js +7 -4
  275. package/dist/components/bq-step-item.js.map +1 -1
  276. package/dist/components/bq-steps.js +1 -1
  277. package/dist/components/bq-switch.js +2 -2
  278. package/dist/components/bq-tab-group.js +3 -3
  279. package/dist/components/bq-tab.js +2 -2
  280. package/dist/components/bq-tag2.js +4 -4
  281. package/dist/components/bq-textarea.js +3 -3
  282. package/dist/components/bq-toast.js +28 -29
  283. package/dist/components/bq-toast.js.map +1 -1
  284. package/dist/components/bq-tooltip2.js +1 -1
  285. package/dist/esm/assetsPath-c02b0e16.js +86 -0
  286. package/dist/esm/assetsPath-c02b0e16.js.map +1 -0
  287. package/dist/esm/beeq.js +3 -3
  288. package/dist/esm/bq-accordion-group.entry.js +2 -2
  289. package/dist/esm/bq-accordion.entry.js +2 -2
  290. package/dist/esm/bq-alert.entry.js +19 -25
  291. package/dist/esm/bq-alert.entry.js.map +1 -1
  292. package/dist/esm/bq-avatar.entry.js +5 -5
  293. package/dist/esm/bq-badge.entry.js +4 -4
  294. package/dist/esm/bq-breadcrumb-item.entry.js +6 -6
  295. package/dist/esm/bq-breadcrumb.entry.js +3 -3
  296. package/dist/esm/bq-button_2.entry.js +16 -10
  297. package/dist/esm/bq-button_2.entry.js.map +1 -1
  298. package/dist/esm/bq-card.entry.js +4 -4
  299. package/dist/esm/bq-checkbox.entry.js +4 -4
  300. package/dist/esm/bq-date-picker.entry.js +10 -7
  301. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  302. package/dist/esm/bq-dialog.entry.js +7 -7
  303. package/dist/esm/bq-divider.entry.js +9 -6
  304. package/dist/esm/bq-divider.entry.js.map +1 -1
  305. package/dist/esm/bq-drawer.entry.js +7 -7
  306. package/dist/esm/bq-dropdown_2.entry.js +3 -3
  307. package/dist/esm/bq-empty-state.entry.js +6 -6
  308. package/dist/esm/bq-input.entry.js +7 -7
  309. package/dist/esm/bq-notification.entry.js +26 -19
  310. package/dist/esm/bq-notification.entry.js.map +1 -1
  311. package/dist/esm/bq-option-group.entry.js +2 -2
  312. package/dist/esm/bq-option-list_2.entry.js +7 -7
  313. package/dist/esm/bq-option.entry.js +6 -6
  314. package/dist/esm/bq-page-title.entry.js +4 -4
  315. package/dist/esm/bq-progress.entry.js +6 -6
  316. package/dist/esm/bq-radio-group.entry.js +3 -3
  317. package/dist/esm/bq-radio.entry.js +3 -3
  318. package/dist/esm/bq-select.entry.js +22 -16
  319. package/dist/esm/bq-select.entry.js.map +1 -1
  320. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  321. package/dist/esm/bq-side-menu.entry.js +3 -3
  322. package/dist/esm/bq-slider.entry.js +12 -6
  323. package/dist/esm/bq-slider.entry.js.map +1 -1
  324. package/dist/esm/bq-spinner.entry.js +6 -6
  325. package/dist/esm/bq-status.entry.js +3 -3
  326. package/dist/esm/bq-step-item.entry.js +9 -6
  327. package/dist/esm/bq-step-item.entry.js.map +1 -1
  328. package/dist/esm/bq-steps.entry.js +3 -3
  329. package/dist/esm/bq-switch.entry.js +4 -4
  330. package/dist/esm/bq-tab-group.entry.js +5 -5
  331. package/dist/esm/bq-tab.entry.js +4 -4
  332. package/dist/esm/bq-textarea.entry.js +5 -5
  333. package/dist/esm/bq-toast.entry.js +29 -31
  334. package/dist/esm/bq-toast.entry.js.map +1 -1
  335. package/dist/esm/bq-tooltip.entry.js +2 -2
  336. package/dist/esm/{index-efc1c2ef.js → index-f69556fe.js} +20 -2
  337. package/dist/esm/index-f69556fe.js.map +1 -0
  338. package/dist/esm/index.js +3 -3
  339. package/dist/esm/{isDefined-91ae4cd3.js → isDefined-1e676215.js} +2 -2
  340. package/dist/esm/{isDefined-91ae4cd3.js.map → isDefined-1e676215.js.map} +1 -1
  341. package/dist/esm/loader.js +3 -3
  342. package/dist/hydrate/index.js +281 -201
  343. package/dist/hydrate/index.mjs +281 -201
  344. package/dist/stencil.config.js +6 -0
  345. package/dist/stencil.config.js.map +1 -1
  346. package/dist/types/components/alert/bq-alert.d.ts +10 -4
  347. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -0
  348. package/dist/types/components/divider/bq-divider.d.ts +1 -0
  349. package/dist/types/components/icon/bq-icon.d.ts +3 -1
  350. package/dist/types/components/notification/bq-notification.d.ts +8 -0
  351. package/dist/types/components/select/bq-select.d.ts +2 -0
  352. package/dist/types/components/slider/bq-slider.d.ts +2 -0
  353. package/dist/types/components/step-item/bq-step-item.d.ts +1 -0
  354. package/dist/types/components/toast/bq-toast.d.ts +5 -0
  355. package/dist/types/components.d.ts +8 -8
  356. package/dist/types/index.d.ts +1 -1
  357. package/dist/types/shared/utils/assetsPath.d.ts +18 -11
  358. package/package.json +4 -4
  359. package/dist/beeq/p-235328ee.entry.js +0 -6
  360. package/dist/beeq/p-255fcbe4.entry.js +0 -6
  361. package/dist/beeq/p-268dc1e3.entry.js +0 -6
  362. package/dist/beeq/p-268dc1e3.entry.js.map +0 -1
  363. package/dist/beeq/p-3aa41d80.entry.js +0 -6
  364. package/dist/beeq/p-3aa41d80.entry.js.map +0 -1
  365. package/dist/beeq/p-3b2ce34b.entry.js +0 -6
  366. package/dist/beeq/p-41bac721.entry.js +0 -6
  367. package/dist/beeq/p-4739f5c3.entry.js +0 -6
  368. package/dist/beeq/p-4ba2bec7.entry.js +0 -6
  369. package/dist/beeq/p-52577f3a.entry.js +0 -6
  370. package/dist/beeq/p-571b40ff.entry.js +0 -6
  371. package/dist/beeq/p-606c080c.entry.js +0 -6
  372. package/dist/beeq/p-606c080c.entry.js.map +0 -1
  373. package/dist/beeq/p-633319f3.entry.js +0 -6
  374. package/dist/beeq/p-63ad9702.entry.js +0 -6
  375. package/dist/beeq/p-6e026fad.entry.js +0 -6
  376. package/dist/beeq/p-6edc8a33.js +0 -6
  377. package/dist/beeq/p-6edc8a33.js.map +0 -1
  378. package/dist/beeq/p-76e714c6.js +0 -7
  379. package/dist/beeq/p-76e714c6.js.map +0 -1
  380. package/dist/beeq/p-79b7547b.entry.js +0 -6
  381. package/dist/beeq/p-7f23cde7.entry.js +0 -6
  382. package/dist/beeq/p-7f23cde7.entry.js.map +0 -1
  383. package/dist/beeq/p-8059836c.entry.js +0 -6
  384. package/dist/beeq/p-8b7c7049.entry.js +0 -6
  385. package/dist/beeq/p-8b7c7049.entry.js.map +0 -1
  386. package/dist/beeq/p-90c5851d.entry.js +0 -6
  387. package/dist/beeq/p-94d62f1b.entry.js +0 -6
  388. package/dist/beeq/p-96d7f361.entry.js +0 -6
  389. package/dist/beeq/p-9acfedb8.entry.js +0 -6
  390. package/dist/beeq/p-9acfedb8.entry.js.map +0 -1
  391. package/dist/beeq/p-9c6c6646.entry.js +0 -6
  392. package/dist/beeq/p-9cd26e8d.entry.js +0 -6
  393. package/dist/beeq/p-9cd26e8d.entry.js.map +0 -1
  394. package/dist/beeq/p-9f40249f.entry.js +0 -6
  395. package/dist/beeq/p-a006be9e.entry.js +0 -6
  396. package/dist/beeq/p-a7b0fd0b.entry.js +0 -6
  397. package/dist/beeq/p-a8cb8989.entry.js +0 -6
  398. package/dist/beeq/p-ae8ffb81.entry.js +0 -6
  399. package/dist/beeq/p-aee056e5.js +0 -6
  400. package/dist/beeq/p-b7281046.entry.js +0 -6
  401. package/dist/beeq/p-b90c6de9.entry.js +0 -6
  402. package/dist/beeq/p-b9544567.entry.js +0 -6
  403. package/dist/beeq/p-be664fb0.entry.js +0 -6
  404. package/dist/beeq/p-c9c942e6.entry.js +0 -6
  405. package/dist/beeq/p-d2bbae3b.entry.js +0 -6
  406. package/dist/beeq/p-ddb23180.entry.js +0 -6
  407. package/dist/beeq/p-ddb23180.entry.js.map +0 -1
  408. package/dist/beeq/p-e6382462.entry.js +0 -6
  409. package/dist/beeq/p-eab59153.entry.js +0 -6
  410. package/dist/beeq/p-eab59153.entry.js.map +0 -1
  411. package/dist/beeq/p-eddb77c7.entry.js +0 -6
  412. package/dist/cjs/assetsPath-eac0a3bf.js +0 -52
  413. package/dist/cjs/assetsPath-eac0a3bf.js.map +0 -1
  414. package/dist/cjs/index-e6d59dbb.js.map +0 -1
  415. package/dist/esm/assetsPath-ae18c25e.js +0 -49
  416. package/dist/esm/assetsPath-ae18c25e.js.map +0 -1
  417. package/dist/esm/index-efc1c2ef.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["EMPTY_STATE_SIZE","SIZE_TO_VALUE_MAP","small","medium","large","bqEmptyStateCss","BqEmptyStateStyle0","BqEmptyState","this","handleContentSlotChange","hasBody","hasSlotContent","bodyElem","handleFooterSlotChange","hasFooter","footerElem","checkPropValues","validatePropValue","el","componentWillLoad","iconSize","size","render","h","key","class","part","name","exportparts","ref","div","onSlotchange"],"sources":["../../packages/beeq/src/components/empty-state/bq-empty-state.types.ts","../../packages/beeq/src/components/empty-state/scss/bq-empty-state.scss?tag=bq-empty-state&encapsulation=shadow","../../packages/beeq/src/components/empty-state/bq-empty-state.tsx"],"sourcesContent":["export const EMPTY_STATE_SIZE = ['small', 'medium', 'large'] as const;\nexport type TEmptyStateSize = (typeof EMPTY_STATE_SIZE)[number];\n\nexport const SIZE_TO_VALUE_MAP: Record<TEmptyStateSize, number> = {\n small: 40,\n medium: 80,\n large: 180,\n};\n","/* -------------------------------------------------------------------------- */\n/* Empty state styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply relative inline-block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { EMPTY_STATE_SIZE, SIZE_TO_VALUE_MAP, TEmptyStateSize } from './bq-empty-state.types';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The container `<div>` that wraps the alert description content\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon size based on the empty state size (small, medium, large)\n * @part thumbnail - The container `<div>` that wraps the thumbnail element\n * @part title - The container `<div>` that wraps the empty state title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n */\n\n@Component({\n tag: 'bq-empty-state',\n styleUrl: './scss/bq-empty-state.scss',\n shadow: true,\n})\nexport class BqEmptyState {\n // Own Properties\n // ====================\n\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqEmptyStateElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasBody = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** The size of the empty state component */\n @Prop({ reflect: true, mutable: true }) size: TEmptyStateSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(EMPTY_STATE_SIZE, 'medium', this.el, 'size');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 handleContentSlotChange = () => {\n this.hasBody = hasSlotContent(this.bodyElem, 'body');\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconSize(): number {\n return SIZE_TO_VALUE_MAP[this.size] || SIZE_TO_VALUE_MAP.medium;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"inline-flex flex-col items-center\" part=\"wrapper\">\n <div\n class={{\n 'm-be-m': this.size === 'small',\n 'm-be-xl': this.size === 'medium',\n 'm-be-xxl': this.size === 'large',\n }}\n part=\"thumbnail\"\n >\n <slot name=\"thumbnail\">\n <bq-icon size={this.iconSize} name=\"database\" part=\"icon\" exportparts=\"base,svg\" />\n </slot>\n </div>\n <div\n class={{\n 'title-font font-bold leading-regular text-text-primary': true,\n 'text-m': this.size === 'small',\n 'text-l': this.size === 'medium',\n 'text-xxl2': this.size === 'large',\n 'm-be-xs': this.size === 'small' && this.hasBody,\n 'm-be-m': this.size === 'medium' && this.hasBody,\n 'm-be-l': this.size === 'large' && this.hasBody,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n <div\n class={{\n 'font-normal leading-regular': true,\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n 'text-l': this.size === 'large',\n 'm-be-m': this.size === 'small' && this.hasFooter,\n 'm-be-l': this.size === 'medium' && this.hasFooter,\n 'm-be-xl': this.size === 'large' && this.hasFooter,\n }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleContentSlotChange} />\n </div>\n <div class={{ 'flex items-start gap-xs': true }} ref={(div) => (this.footerElem = div)} part=\"footer\">\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;kJAAO,MAAMA,EAAmB,CAAC,QAAS,SAAU,SAG7C,MAAMC,EAAqD,CAChEC,MAAO,GACPC,OAAQ,GACRC,MAAO,KCNT,MAAMC,EAAkB,kqnBACxB,MAAAC,EAAeD,E,MCkBFE,EAAY,M,yBA4DfC,KAAAC,wBAA0B,KAChCD,KAAKE,QAAUC,EAAeH,KAAKI,SAAU,OAAO,EAG9CJ,KAAAK,uBAAyB,KAC/BL,KAAKM,UAAYH,EAAeH,KAAKO,WAAY,SAAS,E,aAjDjC,M,eACE,M,UAMmC,Q,CAMhE,eAAAC,GACEC,EAAkBjB,EAAkB,SAAUQ,KAAKU,GAAI,O,CAWzD,iBAAAC,GACEX,KAAKQ,iB,CA0BP,YAAYI,GACV,OAAOnB,EAAkBO,KAAKa,OAASpB,EAAkBE,M,CAO3D,MAAAmB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oCAAoCC,KAAK,WAClDH,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,SAAUjB,KAAKa,OAAS,QACxB,UAAWb,KAAKa,OAAS,SACzB,WAAYb,KAAKa,OAAS,SAE5BK,KAAK,aAELH,EAAA,QAAAC,IAAA,2CAAMG,KAAK,aACTJ,EAAA,WAAAC,IAAA,2CAASH,KAAMb,KAAKY,SAAUO,KAAK,WAAWD,KAAK,OAAOE,YAAY,eAG1EL,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,yDAA0D,KAC1D,SAAUjB,KAAKa,OAAS,QACxB,SAAUb,KAAKa,OAAS,SACxB,YAAab,KAAKa,OAAS,QAC3B,UAAWb,KAAKa,OAAS,SAAWb,KAAKE,QACzC,SAAUF,KAAKa,OAAS,UAAYb,KAAKE,QACzC,SAAUF,KAAKa,OAAS,SAAWb,KAAKE,SAE1CgB,KAAK,SAELH,EAAA,QAAAC,IAAA,8CAEFD,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,8BAA+B,KAC/B,SAAUjB,KAAKa,OAAS,QACxB,SAAUb,KAAKa,OAAS,SACxB,SAAUb,KAAKa,OAAS,QACxB,SAAUb,KAAKa,OAAS,SAAWb,KAAKM,UACxC,SAAUN,KAAKa,OAAS,UAAYb,KAAKM,UACzC,UAAWN,KAAKa,OAAS,SAAWb,KAAKM,WAE3Ce,IAAMC,GAAStB,KAAKI,SAAWkB,EAC/BJ,KAAK,QAELH,EAAA,QAAAC,IAAA,2CAAMG,KAAK,OAAOI,aAAcvB,KAAKC,2BAEvCc,EAAA,OAAAC,IAAA,2CAAKC,MAAO,CAAE,0BAA2B,MAAQI,IAAMC,GAAStB,KAAKO,WAAae,EAAMJ,KAAK,UAC3FH,EAAA,QAAAC,IAAA,2CAAMG,KAAK,SAASI,aAAcvB,KAAKK,0B","ignoreList":[]}
1
+ {"version":3,"names":["EMPTY_STATE_SIZE","SIZE_TO_VALUE_MAP","small","medium","large","bqEmptyStateCss","BqEmptyStateStyle0","BqEmptyState","this","handleContentSlotChange","hasBody","hasSlotContent","bodyElem","handleFooterSlotChange","hasFooter","footerElem","checkPropValues","validatePropValue","el","componentWillLoad","iconSize","size","render","h","key","class","part","name","exportparts","ref","div","onSlotchange"],"sources":["../../packages/beeq/src/components/empty-state/bq-empty-state.types.ts","../../packages/beeq/src/components/empty-state/scss/bq-empty-state.scss?tag=bq-empty-state&encapsulation=shadow","../../packages/beeq/src/components/empty-state/bq-empty-state.tsx"],"sourcesContent":["export const EMPTY_STATE_SIZE = ['small', 'medium', 'large'] as const;\nexport type TEmptyStateSize = (typeof EMPTY_STATE_SIZE)[number];\n\nexport const SIZE_TO_VALUE_MAP: Record<TEmptyStateSize, number> = {\n small: 40,\n medium: 80,\n large: 180,\n};\n","/* -------------------------------------------------------------------------- */\n/* Empty state styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply relative inline-block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { EMPTY_STATE_SIZE, SIZE_TO_VALUE_MAP, TEmptyStateSize } from './bq-empty-state.types';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The container `<div>` that wraps the alert description content\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon size based on the empty state size (small, medium, large)\n * @part thumbnail - The container `<div>` that wraps the thumbnail element\n * @part title - The container `<div>` that wraps the empty state title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n */\n\n@Component({\n tag: 'bq-empty-state',\n styleUrl: './scss/bq-empty-state.scss',\n shadow: true,\n})\nexport class BqEmptyState {\n // Own Properties\n // ====================\n\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqEmptyStateElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasBody = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** The size of the empty state component */\n @Prop({ reflect: true, mutable: true }) size: TEmptyStateSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(EMPTY_STATE_SIZE, 'medium', this.el, 'size');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 handleContentSlotChange = () => {\n this.hasBody = hasSlotContent(this.bodyElem, 'body');\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconSize(): number {\n return SIZE_TO_VALUE_MAP[this.size] || SIZE_TO_VALUE_MAP.medium;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"inline-flex flex-col items-center\" part=\"wrapper\">\n <div\n class={{\n 'm-be-m': this.size === 'small',\n 'm-be-xl': this.size === 'medium',\n 'm-be-xxl': this.size === 'large',\n }}\n part=\"thumbnail\"\n >\n <slot name=\"thumbnail\">\n <bq-icon size={this.iconSize} name=\"database\" part=\"icon\" exportparts=\"base,svg\" />\n </slot>\n </div>\n <div\n class={{\n 'title-font font-bold leading-regular text-text-primary': true,\n 'text-m': this.size === 'small',\n 'text-l': this.size === 'medium',\n 'text-xxl2': this.size === 'large',\n 'm-be-xs': this.size === 'small' && this.hasBody,\n 'm-be-m': this.size === 'medium' && this.hasBody,\n 'm-be-l': this.size === 'large' && this.hasBody,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n <div\n class={{\n 'font-normal leading-regular': true,\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n 'text-l': this.size === 'large',\n 'm-be-m': this.size === 'small' && this.hasFooter,\n 'm-be-l': this.size === 'medium' && this.hasFooter,\n 'm-be-xl': this.size === 'large' && this.hasFooter,\n }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleContentSlotChange} />\n </div>\n <div class={{ 'flex items-start gap-xs': true }} ref={(div) => (this.footerElem = div)} part=\"footer\">\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,IAAmB,EAAC,SAAS,UAAU;;AAG7C,MAAMC,IAAqD;EAChEC,OAAO;EACPC,QAAQ;EACRC,OAAO;;;ACNT,MAAMC,IAAkB;;AACxB,MAAAC,IAAeD;;MCkBFE,IAAY;;;;;;;;;;;;;;;QA4DfC,KAAAC,0BAA0B;MAChCD,KAAKE,UAAUC,EAAeH,KAAKI,UAAU;AAAO;IAG9CJ,KAAAK,yBAAyB;MAC/BL,KAAKM,YAAYH,EAAeH,KAAKO,YAAY;AAAS;mBAjDjC;qBACE;gBAMmC;;;;EAMhE,eAAAC;IACEC,EAAkBjB,GAAkB,UAAUQ,KAAKU,IAAI;;;;;;;;EAWzD,iBAAAC;IACEX,KAAKQ;;EA0BP,YAAYI;IACV,OAAOnB,EAAkBO,KAAKa,SAASpB,EAAkBE;;;;;EAO3D,MAAAmB;IACE,OACEC,EAAA;MAAAC,KAAA;MAAKC,OAAM;MAAoCC,MAAK;OAClDH,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,UAAUjB,KAAKa,SAAS;QACxB,WAAWb,KAAKa,SAAS;QACzB,YAAYb,KAAKa,SAAS;;MAE5BK,MAAK;OAELH,EAAA;MAAAC,KAAA;MAAMG,MAAK;OACTJ,EAAA;MAAAC,KAAA;MAASH,MAAMb,KAAKY;MAAUO,MAAK;MAAWD,MAAK;MAAOE,aAAY;UAG1EL,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,0DAA0D;QAC1D,UAAUjB,KAAKa,SAAS;QACxB,UAAUb,KAAKa,SAAS;QACxB,aAAab,KAAKa,SAAS;QAC3B,WAAWb,KAAKa,SAAS,WAAWb,KAAKE;QACzC,UAAUF,KAAKa,SAAS,YAAYb,KAAKE;QACzC,UAAUF,KAAKa,SAAS,WAAWb,KAAKE;;MAE1CgB,MAAK;OAELH,EAAA;MAAAC,KAAA;SAEFD,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,+BAA+B;QAC/B,UAAUjB,KAAKa,SAAS;QACxB,UAAUb,KAAKa,SAAS;QACxB,UAAUb,KAAKa,SAAS;QACxB,UAAUb,KAAKa,SAAS,WAAWb,KAAKM;QACxC,UAAUN,KAAKa,SAAS,YAAYb,KAAKM;QACzC,WAAWN,KAAKa,SAAS,WAAWb,KAAKM;;MAE3Ce,KAAMC,KAAStB,KAAKI,WAAWkB;MAC/BJ,MAAK;OAELH,EAAA;MAAAC,KAAA;MAAMG,MAAK;MAAOI,cAAcvB,KAAKC;SAEvCc,EAAA;MAAAC,KAAA;MAAKC,OAAO;QAAE,2BAA2B;;MAAQI,KAAMC,KAAStB,KAAKO,aAAae;MAAMJ,MAAK;OAC3FH,EAAA;MAAAC,KAAA;MAAMG,MAAK;MAASI,cAAcvB,KAAKK","ignoreList":[]}
@@ -2,5 +2,29 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- const r=(r,t=0,e="forward")=>{let n=t;do{n=o(n,r.length,e);if(n===t){break}}while(r[n].disabled);return r[n]};const o=(r,o,t)=>{const e=r+(t==="forward"?1:-1);return(o+e)%o};export{r as g};
5
+ /**
6
+ * Gets the next element that is not disabled
7
+ *
8
+ * @param {Array} elements - The array to search in
9
+ * @param {Numebr} startAt - Position to start at
10
+ * @param {String} direction - The direction to look on
11
+ * @returns {Element} Next available element
12
+ */
13
+ const getNextElement = (r, o = 0, t = "forward") => {
14
+ let e = o;
15
+ do {
16
+ e = getNextIndex(e, r.length, t);
17
+ if (e === o) {
18
+ break;
19
+ }
20
+ } while (r[e].disabled);
21
+ return r[e];
22
+ };
23
+
24
+ const getNextIndex = (r, o, t) => {
25
+ const e = r + (t === "forward" ? 1 : -1);
26
+ return (o + e) % o;
27
+ };
28
+
29
+ export { getNextElement as g };
6
30
  //# sourceMappingURL=p-115ed5b2.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getNextElement","elements","startAt","direction","elementIndex","getNextIndex","length","disabled","currentIndex","nextIndex"],"sources":["../../packages/beeq/src/shared/utils/getNextElement.ts"],"sourcesContent":["/**\n * Gets the next element that is not disabled\n *\n * @param {Array} elements - The array to search in\n * @param {Numebr} startAt - Position to start at\n * @param {String} direction - The direction to look on\n * @returns {Element} Next available element\n */\n\nexport const getNextElement = <T extends { disabled: boolean }>(\n elements: T[],\n startAt = 0,\n direction: 'forward' | 'backward' = 'forward',\n): T => {\n let elementIndex = startAt;\n\n do {\n elementIndex = getNextIndex(elementIndex, elements.length, direction);\n if (elementIndex === startAt) {\n break;\n }\n } while (elements[elementIndex].disabled);\n\n return elements[elementIndex];\n};\n\nconst getNextIndex = (currentIndex: number, length: number, direction: 'forward' | 'backward'): number => {\n const nextIndex = currentIndex + (direction === 'forward' ? 1 : -1);\n return (length + nextIndex) % length;\n};\n"],"mappings":";;;;MASaA,EAAiB,CAC5BC,EACAC,EAAU,EACVC,EAAoC,aAEpC,IAAIC,EAAeF,EAEnB,EAAG,CACDE,EAAeC,EAAaD,EAAcH,EAASK,OAAQH,GAC3D,GAAIC,IAAiBF,EAAS,CAC5B,K,QAEKD,EAASG,GAAcG,UAEhC,OAAON,EAASG,EAAa,EAG/B,MAAMC,EAAe,CAACG,EAAsBF,EAAgBH,KAC1D,MAAMM,EAAYD,GAAgBL,IAAc,UAAY,GAAK,GACjE,OAAQG,EAASG,GAAaH,CAAM,S","ignoreList":[]}
1
+ {"version":3,"names":["getNextElement","elements","startAt","direction","elementIndex","getNextIndex","length","disabled","currentIndex","nextIndex"],"sources":["../../packages/beeq/src/shared/utils/getNextElement.ts"],"sourcesContent":["/**\n * Gets the next element that is not disabled\n *\n * @param {Array} elements - The array to search in\n * @param {Numebr} startAt - Position to start at\n * @param {String} direction - The direction to look on\n * @returns {Element} Next available element\n */\n\nexport const getNextElement = <T extends { disabled: boolean }>(\n elements: T[],\n startAt = 0,\n direction: 'forward' | 'backward' = 'forward',\n): T => {\n let elementIndex = startAt;\n\n do {\n elementIndex = getNextIndex(elementIndex, elements.length, direction);\n if (elementIndex === startAt) {\n break;\n }\n } while (elements[elementIndex].disabled);\n\n return elements[elementIndex];\n};\n\nconst getNextIndex = (currentIndex: number, length: number, direction: 'forward' | 'backward'): number => {\n const nextIndex = currentIndex + (direction === 'forward' ? 1 : -1);\n return (length + nextIndex) % length;\n};\n"],"mappings":";;;;;;;;;;;;MASaA,iBAAiB,CAC5BC,GACAC,IAAU,GACVC,IAAoC;EAEpC,IAAIC,IAAeF;EAEnB,GAAG;IACDE,IAAeC,aAAaD,GAAcH,EAASK,QAAQH;IAC3D,IAAIC,MAAiBF,GAAS;MAC5B;;WAEKD,EAASG,GAAcG;EAEhC,OAAON,EAASG;AAAa;;AAG/B,MAAMC,eAAe,CAACG,GAAsBF,GAAgBH;EAC1D,MAAMM,IAAYD,KAAgBL,MAAc,YAAY,KAAK;EACjE,QAAQG,IAASG,KAAaH;AAAM","ignoreList":[]}
@@ -0,0 +1,330 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ import { r as a, c as r, h as e, g as n } from "./p-0c42c08a.js";
6
+
7
+ import "./p-e5afdf8c.js";
8
+
9
+ import { v as o } from "./p-687da041.js";
10
+
11
+ import { b } from "./p-d7a88b16.js";
12
+
13
+ const i = [ "small", "medium" ];
14
+
15
+ const d = [ "filled", "ghost" ];
16
+
17
+ /* -------------------------------------------------------------------------------------- */
18
+ /* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */
19
+ /* -------------------------------------------------------------------------------------- */ class t {
20
+ constructor(a) {
21
+ this.animationOptions = {
22
+ duration: 200,
23
+ easing: "ease-in-out"
24
+ };
25
+ // Store the <details> element
26
+ this.el = a;
27
+ // Store the <summary> header element
28
+ this.header = a.querySelector("summary");
29
+ // Store the <div class="content"> element
30
+ this.panel = a.querySelector(".bq-accordion__body");
31
+ // Store the animation object (so we can cancel it, if needed)
32
+ this.animation = null;
33
+ // Store if the element is closing
34
+ this.isClosing = false;
35
+ // Store if the element is expanding
36
+ this.isExpanding = false;
37
+ }
38
+ open() {
39
+ // Check if the element is being closed or is already closed
40
+ if (!this.isClosing && this.el.open) return;
41
+ // Apply a fixed height on the element
42
+ this.el.style.height = `${this.el.offsetHeight}px`;
43
+ // Force the [open] attribute on the details element
44
+ this.el.open = true;
45
+ // Wait for the next frame to call the expand function
46
+ window.requestAnimationFrame((() => this.expand()));
47
+ }
48
+ close() {
49
+ // Check if the element is being opened or is already open
50
+ if (!this.isExpanding && !this.el.open) return;
51
+ // Set the element as "being closed"
52
+ this.isClosing = true;
53
+ // Store the current height of the element
54
+ const a = `${this.el.offsetHeight}px`;
55
+ // Calculate the height of the <summary> header
56
+ const r = `${this.header.offsetHeight}px`;
57
+ // If there is already an animation running
58
+ if (this.animation) {
59
+ // Cancel the current animation
60
+ this.animation.cancel();
61
+ }
62
+ // Start a WAAPI animation
63
+ this.animation = this.el.animate({
64
+ height: [ a, r ]
65
+ }, this.animationOptions);
66
+ // When the animation is complete, call onAnimationFinish()
67
+ this.animation.onfinish = () => this.onAnimationFinish(false)
68
+ // If the animation is cancelled, isClosing variable is set to false
69
+ ;
70
+ this.animation.oncancel = () => this.isClosing = false;
71
+ }
72
+ // Expands the accordion
73
+ expand() {
74
+ // Set the element as "being expanding"
75
+ this.isExpanding = true;
76
+ // Get the current fixed height of the element
77
+ const a = `${this.el.offsetHeight}px`;
78
+ // Calculate the open height of the element (summary header height + panel body height)
79
+ const r = `${this.header.offsetHeight + this.panel.offsetHeight}px`;
80
+ // If there is already an animation running
81
+ if (this.animation) {
82
+ // Cancel the current animation
83
+ this.animation.cancel();
84
+ }
85
+ // Start a WAAPI animation
86
+ this.animation = this.el.animate({
87
+ height: [ a, r ]
88
+ }, this.animationOptions);
89
+ // When the animation is complete, call onAnimationFinish()
90
+ this.animation.onfinish = () => this.onAnimationFinish(true)
91
+ // If the animation is cancelled, isExpanding variable is set to false
92
+ ;
93
+ this.animation.oncancel = () => this.isExpanding = false;
94
+ }
95
+ // Handles the end of the animation
96
+ onAnimationFinish(a) {
97
+ // Set the open attribute based on the parameter
98
+ this.el.open = a;
99
+ // Clear the stored animation
100
+ this.animation = null;
101
+ // Reset isClosing & isExpanding
102
+ this.isClosing = false;
103
+ this.isExpanding = false;
104
+ // Remove the overflow hidden and the fixed height
105
+ this.el.removeAttribute("style");
106
+ // Dispatch a custom event based on the open parameter
107
+ const r = new Event("accordionTransitionEnd", {
108
+ bubbles: false,
109
+ composed: true
110
+ });
111
+ this.el.dispatchEvent(r);
112
+ }
113
+ }
114
+
115
+ const c = '::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.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))}.pointer-events-none{pointer-events:none}.block{display:block}.flex{display:flex}.hidden{display:none}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.list-none{list-style-type:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\\[--bq-accordion--medium-gap\\]{gap:var(--bq-accordion--medium-gap)}.gap-\\[--bq-accordion--small-gap\\]{gap:var(--bq-accordion--small-gap)}.overflow-hidden{overflow:hidden}.rounded-ee-\\[--bq-accordion--medium-radius\\]{border-end-end-radius:var(--bq-accordion--medium-radius)}.rounded-ee-\\[--bq-accordion--small-radius\\]{border-end-end-radius:var(--bq-accordion--small-radius)}.rounded-ee-\\[0px\\]{border-end-end-radius:0}.rounded-es-\\[--bq-accordion--medium-radius\\]{border-end-start-radius:var(--bq-accordion--medium-radius)}.rounded-es-\\[--bq-accordion--small-radius\\]{border-end-start-radius:var(--bq-accordion--small-radius)}.rounded-es-\\[0px\\]{border-end-start-radius:0}.rounded-se-\\[--bq-accordion--medium-radius\\]{border-start-end-radius:var(--bq-accordion--medium-radius)}.rounded-se-\\[--bq-accordion--small-radius\\]{border-start-end-radius:var(--bq-accordion--small-radius)}.rounded-se-\\[0px\\]{border-start-end-radius:0}.rounded-ss-\\[--bq-accordion--medium-radius\\]{border-start-start-radius:var(--bq-accordion--medium-radius)}.rounded-ss-\\[--bq-accordion--small-radius\\]{border-start-start-radius:var(--bq-accordion--small-radius)}.rounded-ss-\\[0px\\]{border-start-start-radius:0}.border-\\[length\\:--bq-accordion--collapsed-border-width\\]{border-width:var(--bq-accordion--collapsed-border-width)}.border-\\[length\\:--bq-accordion--expanded-border-width\\]{border-width:var(--bq-accordion--expanded-border-width)}.border-\\[length\\:--bq-accordion--panel-filled-border-width\\]{border-width:var(--bq-accordion--panel-filled-border-width)}.border-\\[length\\:--bq-accordion--panel-ghost-border-width\\]{border-width:var(--bq-accordion--panel-ghost-border-width)}.border-\\[color\\:--bq-accordion--collapsed-border-color\\]{border-color:var(--bq-accordion--collapsed-border-color)}.border-\\[color\\:--bq-accordion--expanded-border-color\\]{border-color:var(--bq-accordion--expanded-border-color)}.border-\\[color\\:--bq-accordion--panel-filled-border-color\\]{border-color:var(--bq-accordion--panel-filled-border-color)}.border-\\[color\\:--bq-accordion--panel-ghost-border-color\\]{border-color:var(--bq-accordion--panel-ghost-border-color)}.bg-\\[--bq-accordion--filled-collapsed-background\\]{background-color:var(--bq-accordion--filled-collapsed-background)}.bg-\\[--bq-accordion--filled-expanded-background\\]{background-color:var(--bq-accordion--filled-expanded-background)}.bg-\\[--bq-accordion--ghost-collapsed-background\\]{background-color:var(--bq-accordion--ghost-collapsed-background)}.bg-\\[--bq-accordion--ghost-expanded-background\\]{background-color:var(--bq-accordion--ghost-expanded-background)}.pe-\\[--bq-accordion--medium-padding-end\\]{padding-inline-end:var(--bq-accordion--medium-padding-end)}.pe-\\[--bq-accordion--panel-medium-filled-padding-end\\]{padding-inline-end:var(--bq-accordion--panel-medium-filled-padding-end)}.pe-\\[--bq-accordion--panel-medium-ghost-padding-end\\]{padding-inline-end:var(--bq-accordion--panel-medium-ghost-padding-end)}.pe-\\[--bq-accordion--panel-small-filled-padding-end\\]{padding-inline-end:var(--bq-accordion--panel-small-filled-padding-end)}.pe-\\[--bq-accordion--panel-small-ghost-padding-end\\]{padding-inline-end:var(--bq-accordion--panel-small-ghost-padding-end)}.pe-\\[--bq-accordion--small-padding-end\\]{padding-inline-end:var(--bq-accordion--small-padding-end)}.ps-\\[--bq-accordion--medium-padding-start\\]{padding-inline-start:var(--bq-accordion--medium-padding-start)}.ps-\\[--bq-accordion--panel-medium-filled-padding-start\\]{padding-inline-start:var(--bq-accordion--panel-medium-filled-padding-start)}.ps-\\[--bq-accordion--panel-medium-ghost-padding-start\\]{padding-inline-start:var(--bq-accordion--panel-medium-ghost-padding-start)}.ps-\\[--bq-accordion--panel-small-filled-padding-start\\]{padding-inline-start:var(--bq-accordion--panel-small-filled-padding-start)}.ps-\\[--bq-accordion--panel-small-ghost-padding-start\\]{padding-inline-start:var(--bq-accordion--panel-small-ghost-padding-start)}.ps-\\[--bq-accordion--small-padding-start\\]{padding-inline-start:var(--bq-accordion--small-padding-start)}.text-\\[--bq-accordion--filled-collapsed-text-color\\]{color:var(--bq-accordion--filled-collapsed-text-color)}.text-\\[--bq-accordion--filled-expanded-text-color\\]{color:var(--bq-accordion--filled-expanded-text-color)}.text-\\[--bq-accordion--ghost-collapsed-text-color\\]{color:var(--bq-accordion--ghost-collapsed-text-color)}.text-\\[--bq-accordion--ghost-expanded-text-color\\]{color:var(--bq-accordion--ghost-expanded-text-color)}.opacity-60{opacity:.6}.transition-\\[block-size\\2c content-visibility\\]{transition-duration:.15s;transition-property:block-size,content-visibility;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.bs-0{block-size:0}.bs-auto{block-size:auto}.p-b-\\[--bq-accordion--medium-padding-y\\]{padding-block:var(--bq-accordion--medium-padding-y)}.p-b-\\[--bq-accordion--panel-medium-filled-padding-y\\]{padding-block:var(--bq-accordion--panel-medium-filled-padding-y)}.p-b-\\[--bq-accordion--panel-medium-ghost-padding-y\\]{padding-block:var(--bq-accordion--panel-medium-ghost-padding-y)}.p-b-\\[--bq-accordion--panel-small-filled-padding-y\\]{padding-block:var(--bq-accordion--panel-small-filled-padding-y)}.p-b-\\[--bq-accordion--panel-small-ghost-padding-y\\]{padding-block:var(--bq-accordion--panel-small-ghost-padding-y)}.p-b-\\[--bq-accordion--small-padding-y\\]{padding-block:var(--bq-accordion--small-padding-y)}.\\[transition-behavior\\:allow-discrete\\]{transition-behavior:allow-discrete}@-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-accordion--small-padding-y:var(--bq-spacing-xs);--bq-accordion--small-padding-start:var(--bq-spacing-s);--bq-accordion--small-padding-end:var(--bq-spacing-s);--bq-accordion--small-gap:var(--bq-spacing-xs);--bq-accordion--small-radius:var(--bq-radius--xs);--bq-accordion--medium-padding-y:var(--bq-spacing-s);--bq-accordion--medium-padding-start:var(--bq-spacing-m);--bq-accordion--medium-padding-end:var(--bq-spacing-m);--bq-accordion--medium-gap:var(--bq-spacing-m);--bq-accordion--medium-radius:var(--bq-radius--xs);--bq-accordion--collapsed-border-color:transparent;--bq-accordion--collapsed-border-style:none;--bq-accordion--collapsed-border-width:unset;--bq-accordion--expanded-border-color:transparent;--bq-accordion--expanded-border-style:none;--bq-accordion--expanded-border-width:unset;--bq-accordion--filled-collapsed-background:var(--bq-ui--secondary);--bq-accordion--filled-collapsed-text-color:var(--bq-text--primary);--bq-accordion--filled-expanded-background:var(--bq-ui--brand-alt);--bq-accordion--filled-expanded-text-color:var(--bq-text--primary);--bq-accordion--ghost-collapsed-background:transparent;--bq-accordion--ghost-collapsed-text-color:var(--bq-text--primary);--bq-accordion--ghost-expanded-background:transparent;--bq-accordion--ghost-expanded-text-color:var(--bq-text--brand);--bq-accordion--panel-filled-border-color:var(--bq-stroke--primary);--bq-accordion--panel-filled-border-style:solid;--bq-accordion--panel-filled-border-width:var(--bq-stroke-s);--bq-accordion--panel-small-filled-padding-y:var(--bq-spacing-s);--bq-accordion--panel-small-filled-padding-start:var(--bq-spacing-s);--bq-accordion--panel-small-filled-padding-end:var(--bq-spacing-s);--bq-accordion--panel-medium-filled-padding-y:var(--bq-spacing-m);--bq-accordion--panel-medium-filled-padding-start:var(--bq-spacing-m);--bq-accordion--panel-medium-filled-padding-end:var(--bq-spacing-m);--bq-accordion--panel-ghost-border-color:transparent;--bq-accordion--panel-ghost-border-style:none;--bq-accordion--panel-ghost-border-width:unset;--bq-accordion--panel-small-ghost-padding-y:var(--bq-spacing-s);--bq-accordion--panel-small-ghost-padding-start:var(--bq-spacing-l);--bq-accordion--panel-small-ghost-padding-end:var(--bq-spacing-l);--bq-accordion--panel-medium-ghost-padding-y:var(--bq-spacing-m);--bq-accordion--panel-medium-ghost-padding-start:var(--bq-spacing-xl);--bq-accordion--panel-medium-ghost-padding-end:var(--bq-spacing-xl);display:block}.bq-accordion.disabled{cursor:not-allowed;opacity:.6}.bq-accordion.disabled .bq-accordion__header{pointer-events:none}.bq-accordion.small .bq-accordion__header{border-end-end-radius:var(--bq-accordion--small-radius);border-end-start-radius:var(--bq-accordion--small-radius);border-start-end-radius:var(--bq-accordion--small-radius);border-start-start-radius:var(--bq-accordion--small-radius);gap:var(--bq-accordion--small-gap);padding-block:var(--bq-accordion--small-padding-y);padding-inline-end:var(--bq-accordion--small-padding-end);padding-inline-start:var(--bq-accordion--small-padding-start)}.bq-accordion.medium .bq-accordion__header{border-end-end-radius:var(--bq-accordion--medium-radius);border-end-start-radius:var(--bq-accordion--medium-radius);border-start-end-radius:var(--bq-accordion--medium-radius);border-start-start-radius:var(--bq-accordion--medium-radius);gap:var(--bq-accordion--medium-gap);padding-block:var(--bq-accordion--medium-padding-y);padding-inline-end:var(--bq-accordion--medium-padding-end);padding-inline-start:var(--bq-accordion--medium-padding-start)}.bq-accordion[open] .bq-accordion__header{border-color:var(--bq-accordion--expanded-border-color);border-end-end-radius:0;border-end-start-radius:0;border-style:var(--bq-accordion--expanded-border-style);border-width:var(--bq-accordion--expanded-border-width)}.bq-accordion.small .bq-accordion__body{border-end-end-radius:var(--bq-accordion--small-radius);border-end-start-radius:var(--bq-accordion--small-radius);border-start-end-radius:0;border-start-start-radius:0}.bq-accordion.medium .bq-accordion__body{border-end-end-radius:var(--bq-accordion--medium-radius);border-end-start-radius:var(--bq-accordion--medium-radius);border-start-end-radius:0;border-start-start-radius:0}.bq-accordion.filled .bq-accordion__header{background-color:var(--bq-accordion--filled-collapsed-background)}.bq-accordion.filled .bq-accordion__header:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-accordion.filled .bq-accordion__header--text{color:var(--bq-accordion--filled-collapsed-text-color)}.bq-accordion.filled .bq-accordion__body{border-color:var(--bq-accordion--panel-filled-border-color);border-style:var(--bq-accordion--panel-filled-border-style);border-width:var(--bq-accordion--panel-filled-border-width)}.bq-accordion.filled[open] .bq-accordion__header{background-color:var(--bq-accordion--filled-expanded-background)}.bq-accordion.filled[open] .bq-accordion__header:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-accordion.filled[open] .bq-accordion__header--text{color:var(--bq-accordion--filled-expanded-text-color)}.bq-accordion.ghost .bq-accordion__header{background-color:var(--bq-accordion--ghost-collapsed-background)}.bq-accordion.ghost .bq-accordion__header:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-accordion.ghost .bq-accordion__header--text{color:var(--bq-accordion--ghost-collapsed-text-color)}.bq-accordion.ghost .bq-accordion__body{border-color:var(--bq-accordion--panel-ghost-border-color);border-style:var(--bq-accordion--panel-ghost-border-style);border-width:var(--bq-accordion--panel-ghost-border-width)}.bq-accordion.ghost[open] .bq-accordion__header{background-color:var(--bq-accordion--ghost-expanded-background)}.bq-accordion.ghost[open] .bq-accordion__header:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-accordion.ghost[open] .bq-accordion__header--text{color:var(--bq-accordion--ghost-expanded-text-color)}.bq-accordion.small.filled .bq-accordion__body{padding-block:var(--bq-accordion--panel-small-filled-padding-y);padding-inline-end:var(--bq-accordion--panel-small-filled-padding-end);padding-inline-start:var(--bq-accordion--panel-small-filled-padding-start)}.bq-accordion.medium.filled .bq-accordion__body{padding-block:var(--bq-accordion--panel-medium-filled-padding-y);padding-inline-end:var(--bq-accordion--panel-medium-filled-padding-end);padding-inline-start:var(--bq-accordion--panel-medium-filled-padding-start)}.bq-accordion.small.ghost .bq-accordion__body{padding-block:var(--bq-accordion--panel-small-ghost-padding-y);padding-inline-end:var(--bq-accordion--panel-small-ghost-padding-end);padding-inline-start:var(--bq-accordion--panel-small-ghost-padding-start)}.bq-accordion.medium.ghost .bq-accordion__body{padding-block:var(--bq-accordion--panel-medium-ghost-padding-y);padding-inline-end:var(--bq-accordion--panel-medium-ghost-padding-end);padding-inline-start:var(--bq-accordion--panel-medium-ghost-padding-start)}.bq-accordion::details-content{transition-behavior:allow-discrete;block-size:0;display:block;overflow:hidden;transition-duration:.3s;transition-property:block-size,content-visibility;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-accordion[open]::details-content{block-size:auto}@supports (block-size:calc-size(auto)){.bq-accordion[open]:not(.no-animation)::details-content{block-size:calc-size(auto)}}.bq-accordion__header{--bq-ring-offset-width:-2px;align-items:center;border-color:var(--bq-accordion--collapsed-border-color);border-style:var(--bq-accordion--collapsed-border-style);border-width:var(--bq-accordion--collapsed-border-width);cursor:pointer;display:flex;list-style-type:none;transition-duration:.3s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none}.bq-accordion__header: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-accordion__header::-webkit-details-marker,.bq-accordion__header::marker{display:none}.bq-accordion__header--text{flex:1 1 0%}.bq-accordion__header--prefix,.bq-accordion__header--suffix{align-items:center;display:flex;justify-content:center}.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)}.hover\\:bg-hover-ui-secondary:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}@supports (block-size:calc-size(auto)){.supports-\\[block-size\\:calc-size\\(auto\\)\\]\\:bs-\\[calc-size\\(auto\\)\\]{block-size:calc-size(auto)}}.rotate-180{--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;--tw-rotate:180deg;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))}.collapse{visibility:collapse}.static{position:static}.\\!hidden{display:none!important}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.text-\\[color\\:--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)}';
116
+
117
+ const s = c;
118
+
119
+ const q = class {
120
+ constructor(e) {
121
+ a(this, e);
122
+ this.bqBlur = r(this, "bqBlur", 7);
123
+ this.bqFocus = r(this, "bqFocus", 7);
124
+ this.bqOpen = r(this, "bqOpen", 7);
125
+ this.bqAfterOpen = r(this, "bqAfterOpen", 7);
126
+ this.bqClose = r(this, "bqClose", 7);
127
+ this.bqAfterClose = r(this, "bqAfterClose", 7);
128
+ this.bqClick = r(this, "bqClick", 7);
129
+ // Public methods API
130
+ // These methods are exposed on the host element.
131
+ // Always use two lines.
132
+ // Public Methods must be async.
133
+ // Requires JSDocs for public API documentation.
134
+ // ===============================================
135
+ // Local methods
136
+ // Internal business logic.
137
+ // These methods cannot be called from the host element.
138
+ // =======================================================
139
+ this.handleClick = a => {
140
+ a.preventDefault();
141
+ if (this.disabled) return;
142
+ this.bqClick.emit(this.el);
143
+ this.expanded = !this.expanded;
144
+ };
145
+ this.handleFocus = () => {
146
+ if (this.disabled) return;
147
+ this.bqFocus.emit(this.el);
148
+ };
149
+ this.handleBlur = () => {
150
+ this.bqBlur.emit(this.el);
151
+ };
152
+ this.handlePrefixSlotChange = () => {
153
+ this.hasPrefix = b(this.prefixElem, "prefix");
154
+ };
155
+ this.handleSuffixSlotChange = () => {
156
+ this.hasSuffix = b(this.suffixElem, "suffix");
157
+ };
158
+ this.hasPrefix = false;
159
+ this.hasSuffix = false;
160
+ this.appearance = "filled";
161
+ this.disabled = false;
162
+ this.expanded = false;
163
+ this.noAnimation = false;
164
+ this.rotate = false;
165
+ this.size = "medium";
166
+ }
167
+ // Prop lifecycle events
168
+ // =======================
169
+ checkPropValues() {
170
+ o(i, "medium", this.el, "size");
171
+ o(d, "filled", this.el, "appearance");
172
+ }
173
+ handleExpandedChange() {
174
+ var a, r;
175
+ const e = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);
176
+ if (e.defaultPrevented) {
177
+ this.expanded = !this.expanded;
178
+ return;
179
+ }
180
+ this.expanded ? (a = this.accordion) === null || a === void 0 ? void 0 : a.open() : (r = this.accordion) === null || r === void 0 ? void 0 : r.close();
181
+ if (!this.isCssCalcSizeSupported) return;
182
+ // NOTE: This is a workaround to trigger the transitionEnd event
183
+ // when the open/close animation is handled via CSS instead of JS
184
+ setTimeout((() => {
185
+ this.el.dispatchEvent(new CustomEvent("accordionTransitionEnd", {
186
+ bubbles: false,
187
+ composed: true
188
+ }));
189
+ }), 200);
190
+ }
191
+ handleDisabledChange() {
192
+ if (!this.disabled) return;
193
+ this.expanded = false;
194
+ }
195
+ handleJsAnimation() {
196
+ if (this.isCssCalcSizeSupported) return;
197
+ console.warn(`[bq-accordion] calc-size() is not supported and animation will be set through JS\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`);
198
+ this.accordion = !this.noAnimation ? new t(this.detailsElem) : null;
199
+ }
200
+ // Component lifecycle events
201
+ // Ordered by their natural call order
202
+ // =====================================
203
+ componentWillLoad() {
204
+ this.checkPropValues();
205
+ }
206
+ componentDidLoad() {
207
+ this.handleJsAnimation();
208
+ this.handleExpandedChange();
209
+ }
210
+ // Listeners
211
+ // ==============
212
+ onAccordionTransitionEnd(a) {
213
+ a.stopPropagation();
214
+ if (a.target !== this.el) return;
215
+ this.expanded ? this.bqAfterOpen.emit(this.el) : this.bqAfterClose.emit(this.el);
216
+ }
217
+ get open() {
218
+ return this.expanded && !this.disabled;
219
+ }
220
+ get isCssCalcSizeSupported() {
221
+ var a;
222
+ return (a = window.CSS) === null || a === void 0 ? void 0 : a.supports("(block-size: calc-size(auto))");
223
+ }
224
+ // render() function
225
+ // Always the last one in the class.
226
+ // ===================================
227
+ render() {
228
+ return e("details", {
229
+ key: "48c1d654694d4999c6d325fcbde8c43486e62213",
230
+ class: {
231
+ [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,
232
+ "no-animation": this.noAnimation,
233
+ disabled: this.disabled
234
+ },
235
+ ref: a => this.detailsElem = a,
236
+ open: this.open,
237
+ part: "base"
238
+ }, e("summary", {
239
+ key: "f8fc495b559b16237b3a8ad49f5499d239cd68e8",
240
+ class: "bq-accordion__header",
241
+ onClick: this.handleClick,
242
+ onFocus: this.handleFocus,
243
+ onBlur: this.handleBlur,
244
+ "aria-expanded": this.expanded,
245
+ "aria-disabled": this.disabled,
246
+ "aria-controls": "bq-accordion__body",
247
+ tabindex: this.disabled ? -1 : 0,
248
+ part: "header"
249
+ }, e("div", {
250
+ key: "305ee372c9c9537fea76e7b57b41ddaeb81640a5",
251
+ ref: a => this.prefixElem = a,
252
+ class: {
253
+ "bq-accordion__header--prefix": true,
254
+ "!hidden": !this.hasPrefix
255
+ },
256
+ part: "prefix"
257
+ }, e("slot", {
258
+ key: "e588a8a2f33215be8e70f642485c3d27c4b7767e",
259
+ name: "prefix",
260
+ onSlotchange: this.handlePrefixSlotChange
261
+ })), e("div", {
262
+ key: "248a47fd82003f7d745c88cdced34b3e6f5855a5",
263
+ class: "bq-accordion__header--text",
264
+ part: "text"
265
+ }, e("slot", {
266
+ key: "eeddb1706abda0deaf90c878f0843176f1f19320",
267
+ name: "header"
268
+ })), e("div", {
269
+ key: "ef62bfb8e766b59282092cdfb052ae71bff5d358",
270
+ ref: a => this.suffixElem = a,
271
+ class: {
272
+ "bq-accordion__header--suffix": true,
273
+ "!hidden": !this.hasSuffix
274
+ },
275
+ part: "suffix"
276
+ }, e("slot", {
277
+ key: "49b08c176cfd66552da0afc327fbbdc39b78d1e2",
278
+ name: "suffix",
279
+ onSlotchange: this.handleSuffixSlotChange
280
+ })), e("div", {
281
+ key: "27d8a460b110c6f33b7e7a49452a2d24ba373b64",
282
+ class: {
283
+ "flex items-center justify-center transition-transform duration-300 ease-in-out": true,
284
+ "!hidden": this.open && !this.rotate,
285
+ "rotate-180": this.rotate && this.open
286
+ }
287
+ }, e("slot", {
288
+ key: "19dc458b735a88262ab5df239404389aed64fdb8",
289
+ name: "expand"
290
+ }, e("bq-icon", {
291
+ key: "e9fdf8236ef47afbf8f1382437e8b68145ba980c",
292
+ name: "plus"
293
+ }))), e("div", {
294
+ key: "853a99dcd4d5418915781c5d02f33b7fe47ac8cb",
295
+ class: {
296
+ "flex items-center justify-center": true,
297
+ "!hidden": !this.open && !this.rotate || this.rotate
298
+ }
299
+ }, e("slot", {
300
+ key: "ee6cb86a458f75df72d35e984ab26676f9d534dd",
301
+ name: "collapse"
302
+ }, e("bq-icon", {
303
+ key: "d84dcc1320fb6ed50933593aebde0e4afc7369fe",
304
+ name: "minus"
305
+ })))), e("div", {
306
+ key: "fef7fff7e8686614b24cf8e84f996f403f6a63cd",
307
+ id: "bq-accordion__body",
308
+ class: "bq-accordion__body overflow-hidden",
309
+ part: "panel"
310
+ }, e("slot", {
311
+ key: "bb5f2a3e57a1b7ec4a05711cb8f14d88b3eaf8e3"
312
+ })));
313
+ }
314
+ get el() {
315
+ return n(this);
316
+ }
317
+ static get watchers() {
318
+ return {
319
+ size: [ "checkPropValues" ],
320
+ expanded: [ "handleExpandedChange" ],
321
+ disabled: [ "handleDisabledChange" ],
322
+ noAnimation: [ "handleJsAnimation" ]
323
+ };
324
+ }
325
+ };
326
+
327
+ q.style = s;
328
+
329
+ export { q as bq_accordion };
330
+ //# sourceMappingURL=p-11eaeb5d.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ACCORDION_SIZE","ACCORDION_APPEARANCE","Accordion","constructor","el","this","animationOptions","duration","easing","header","querySelector","panel","animation","isClosing","isExpanding","open","style","height","offsetHeight","window","requestAnimationFrame","expand","close","startHeight","endHeight","cancel","animate","onfinish","onAnimationFinish","oncancel","removeAttribute","endEvent","Event","bubbles","composed","dispatchEvent","bqAccordionCss","BqAccordionStyle0","BqAccordion","handleClick","event","preventDefault","disabled","bqClick","emit","expanded","handleFocus","bqFocus","handleBlur","bqBlur","handlePrefixSlotChange","hasPrefix","hasSlotContent","prefixElem","handleSuffixSlotChange","hasSuffix","suffixElem","checkPropValues","validatePropValue","handleExpandedChange","bqOpen","bqClose","defaultPrevented","_a","accordion","_b","isCssCalcSizeSupported","setTimeout","CustomEvent","handleDisabledChange","handleJsAnimation","console","warn","noAnimation","detailsElem","componentWillLoad","componentDidLoad","onAccordionTransitionEnd","stopPropagation","target","bqAfterOpen","bqAfterClose","CSS","supports","render","h","key","class","size","appearance","ref","part","onClick","onFocus","onBlur","tabindex","element","name","onSlotchange","rotate","id"],"sources":["../../packages/beeq/src/components/accordion/bq-accordion.types.ts","../../packages/beeq/src/components/accordion/helper/index.ts","../../packages/beeq/src/components/accordion/scss/bq-accordion.scss?tag=bq-accordion&encapsulation=shadow","../../packages/beeq/src/components/accordion/bq-accordion.tsx"],"sourcesContent":["export const ACCORDION_SIZE = ['small', 'medium'] as const;\nexport type TAccordionSize = (typeof ACCORDION_SIZE)[number];\n\nexport const ACCORDION_APPEARANCE = ['filled', 'ghost'] as const;\nexport type TAccordionAppearance = (typeof ACCORDION_APPEARANCE)[number];\n","/* -------------------------------------------------------------------------------------- */\n/* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */\n/* -------------------------------------------------------------------------------------- */\n\nexport class Accordion {\n private el: HTMLDetailsElement;\n private header: HTMLElement;\n private panel: HTMLElement;\n private animation: Animation | null;\n private isClosing: boolean;\n private isExpanding: boolean;\n private animationOptions = {\n duration: 200,\n easing: 'ease-in-out',\n };\n\n constructor(el: HTMLDetailsElement) {\n // Store the <details> element\n this.el = el;\n // Store the <summary> header element\n this.header = el.querySelector('summary');\n // Store the <div class=\"content\"> element\n this.panel = el.querySelector('.bq-accordion__body');\n // Store the animation object (so we can cancel it, if needed)\n this.animation = null;\n // Store if the element is closing\n this.isClosing = false;\n // Store if the element is expanding\n this.isExpanding = false;\n }\n\n public open() {\n // Check if the element is being closed or is already closed\n if (!this.isClosing && this.el.open) return;\n // Apply a fixed height on the element\n this.el.style.height = `${this.el.offsetHeight}px`;\n // Force the [open] attribute on the details element\n this.el.open = true;\n // Wait for the next frame to call the expand function\n window.requestAnimationFrame(() => this.expand());\n }\n\n public close() {\n // Check if the element is being opened or is already open\n if (!this.isExpanding && !this.el.open) return;\n // Set the element as \"being closed\"\n this.isClosing = true;\n\n // Store the current height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the height of the <summary> header\n const endHeight = `${this.header.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(false);\n // If the animation is cancelled, isClosing variable is set to false\n this.animation.oncancel = () => (this.isClosing = false);\n }\n\n // Expands the accordion\n private expand() {\n // Set the element as \"being expanding\"\n this.isExpanding = true;\n // Get the current fixed height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the open height of the element (summary header height + panel body height)\n const endHeight = `${this.header.offsetHeight + this.panel.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(true);\n // If the animation is cancelled, isExpanding variable is set to false\n this.animation.oncancel = () => (this.isExpanding = false);\n }\n\n // Handles the end of the animation\n private onAnimationFinish(open: boolean) {\n // Set the open attribute based on the parameter\n this.el.open = open;\n // Clear the stored animation\n this.animation = null;\n // Reset isClosing & isExpanding\n this.isClosing = false;\n this.isExpanding = false;\n // Remove the overflow hidden and the fixed height\n this.el.removeAttribute('style');\n // Dispatch a custom event based on the open parameter\n const endEvent = new Event('accordionTransitionEnd', { bubbles: false, composed: true });\n this.el.dispatchEvent(endEvent);\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Accordion styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion.variables';\n\n:host {\n @apply block;\n}\n\n.bq-accordion {\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n\n .bq-accordion__header {\n @apply pointer-events-none;\n }\n }\n\n &.small .bq-accordion__header {\n @apply gap-[--bq-accordion--small-gap] pe-[--bq-accordion--small-padding-end] ps-[--bq-accordion--small-padding-start] p-b-[--bq-accordion--small-padding-y];\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[--bq-accordion--small-radius] rounded-ss-[--bq-accordion--small-radius];\n }\n\n &.medium .bq-accordion__header {\n @apply gap-[--bq-accordion--medium-gap] pe-[--bq-accordion--medium-padding-end] ps-[--bq-accordion--medium-padding-start] p-b-[--bq-accordion--medium-padding-y];\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[--bq-accordion--medium-radius] rounded-ss-[--bq-accordion--medium-radius];\n }\n\n &[open] .bq-accordion__header {\n @apply border-[length:--bq-accordion--expanded-border-width] border-[color:--bq-accordion--expanded-border-color];\n @apply rounded-ee-[0px] rounded-es-[0px];\n\n border-style: var(--bq-accordion--expanded-border-style);\n }\n\n &.small .bq-accordion__body {\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.medium .bq-accordion__body {\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.filled {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-collapsed-text-color];\n }\n\n .bq-accordion__body {\n @apply border-[length:--bq-accordion--panel-filled-border-width] border-[color:--bq-accordion--panel-filled-border-color];\n\n border-style: var(--bq-accordion--panel-filled-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-expanded-text-color];\n }\n }\n\n &.ghost {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-collapsed-text-color];\n }\n\n .bq-accordion__body {\n @apply border-[length:--bq-accordion--panel-ghost-border-width] border-[color:--bq-accordion--panel-ghost-border-color];\n\n border-style: var(--bq-accordion--panel-ghost-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-expanded-text-color];\n }\n }\n\n &.small.filled .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-small-filled-padding-end] ps-[--bq-accordion--panel-small-filled-padding-start] p-b-[--bq-accordion--panel-small-filled-padding-y];\n }\n\n &.medium.filled .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-medium-filled-padding-end] ps-[--bq-accordion--panel-medium-filled-padding-start] p-b-[--bq-accordion--panel-medium-filled-padding-y];\n }\n\n &.small.ghost .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-small-ghost-padding-end] ps-[--bq-accordion--panel-small-ghost-padding-start] p-b-[--bq-accordion--panel-small-ghost-padding-y];\n }\n\n &.medium.ghost .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-medium-ghost-padding-end] ps-[--bq-accordion--panel-medium-ghost-padding-start] p-b-[--bq-accordion--panel-medium-ghost-padding-y];\n }\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion::details-content {\n @apply block overflow-hidden transition-[block-size,content-visibility] duration-300 ease-in-out bs-0 [transition-behavior:allow-discrete];\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]::details-content {\n /* block-size: auto is just a fallback for browsers that don't support the calc-size() function */\n @apply bs-auto;\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]:not(.no-animation)::details-content {\n @apply supports-[block-size:calc-size(auto)]:bs-[calc-size(auto)];\n}\n\n.bq-accordion__header {\n // Since there's an overflow on the <summary> element, the focus outline is not visible,\n // so we force it to be inset to avoid the overflow hidden.\n --bq-ring-offset-width: -2px;\n\n @apply flex cursor-pointer select-none list-none items-center transition-colors duration-300 ease-in-out focus-visible:focus;\n @apply border-[length:--bq-accordion--collapsed-border-width] border-[color:--bq-accordion--collapsed-border-color];\n\n border-style: var(--bq-accordion--collapsed-border-style);\n\n &::marker,\n &::-webkit-details-marker {\n @apply hidden;\n }\n}\n\n.bq-accordion__header--text {\n @apply flex-1;\n}\n\n.bq-accordion__header--prefix,\n.bq-accordion__header--suffix {\n @apply flex items-center justify-center;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { ACCORDION_APPEARANCE, ACCORDION_SIZE, TAccordionAppearance, TAccordionSize } from './bq-accordion.types';\nimport { Accordion } from './helper';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The `<details>` that holds the accordion content\n * @part header - The `<summary>` that holds the accordion header content\n * @part prefix - The `<div>` that holds the accordion text prefix icon / avatar\n * @part text - The `<div>` that holds the accordion header text\n * @part suffix - The `<div>` that holds the accordion text suffix icon\n * @part panel - The `<div>` that holds the accordion panel content\n */\n@Component({\n tag: 'bq-accordion',\n styleUrl: './scss/bq-accordion.scss',\n shadow: true,\n})\nexport class BqAccordion {\n // Own Properties\n // ====================\n\n private accordion: Accordion;\n private prefixElem: HTMLDivElement;\n private suffixElem: HTMLDivElement;\n private detailsElem: HTMLDetailsElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionElement;\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 of accordion */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true accordion is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If true accordion is expanded */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true accordion expand icon is rotate 180deg when expanded */\n @Prop({ reflect: true }) rotate: boolean = false;\n\n /** The size of accordion */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(ACCORDION_SIZE, 'medium', this.el, 'size');\n validatePropValue(ACCORDION_APPEARANCE, 'filled', this.el, 'appearance');\n }\n\n @Watch('expanded')\n handleExpandedChange() {\n const event = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);\n if (event.defaultPrevented) {\n this.expanded = !this.expanded;\n return;\n }\n\n this.expanded ? this.accordion?.open() : this.accordion?.close();\n if (!this.isCssCalcSizeSupported) return;\n\n // NOTE: This is a workaround to trigger the transitionEnd event\n // when the open/close animation is handled via CSS instead of JS\n setTimeout(() => {\n this.el.dispatchEvent(new CustomEvent('accordionTransitionEnd', { bubbles: false, composed: true }));\n }, 200);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.disabled) return;\n\n this.expanded = false;\n }\n\n @Watch('noAnimation')\n handleJsAnimation() {\n if (this.isCssCalcSizeSupported) return;\n\n console.warn(\n `[bq-accordion] calc-size() is not supported and animation will be set through JS\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`,\n );\n this.accordion = !this.noAnimation ? new Accordion(this.detailsElem) : null;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the accordion loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is opened */\n @Event() bqOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is opened */\n @Event() bqAfterOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is closed */\n @Event() bqClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is closed */\n @Event() bqAfterClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** @internal Handler to be called when the accordion is clicked */\n @Event() bqClick: EventEmitter<HTMLBqAccordionElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleJsAnimation();\n this.handleExpandedChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('accordionTransitionEnd')\n onAccordionTransitionEnd(event: CustomEvent) {\n event.stopPropagation();\n if (event.target !== this.el) return;\n\n this.expanded ? this.bqAfterOpen.emit(this.el) : this.bqAfterClose.emit(this.el);\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 handleClick = (event: MouseEvent) => {\n event.preventDefault();\n\n if (this.disabled) return;\n\n this.bqClick.emit(this.el);\n this.expanded = !this.expanded;\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get open() {\n return this.expanded && !this.disabled;\n }\n\n private get isCssCalcSizeSupported() {\n return window.CSS?.supports('(block-size: calc-size(auto))');\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <details\n class={{\n [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,\n 'no-animation': this.noAnimation,\n disabled: this.disabled,\n }}\n ref={(detailsElem: HTMLDetailsElement) => (this.detailsElem = detailsElem)}\n open={this.open}\n part=\"base\"\n >\n <summary\n class=\"bq-accordion__header\"\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-expanded={this.expanded}\n aria-disabled={this.disabled}\n aria-controls=\"bq-accordion__body\"\n tabindex={this.disabled ? -1 : 0}\n part=\"header\"\n >\n <div\n ref={(element) => (this.prefixElem = element)}\n class={{ 'bq-accordion__header--prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </div>\n <div class=\"bq-accordion__header--text\" part=\"text\">\n <slot name=\"header\" />\n </div>\n <div\n ref={(element) => (this.suffixElem = element)}\n class={{ 'bq-accordion__header--suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange} />\n </div>\n <div\n class={{\n 'flex items-center justify-center transition-transform duration-300 ease-in-out': true,\n '!hidden': this.open && !this.rotate,\n 'rotate-180': this.rotate && this.open,\n }}\n >\n <slot name=\"expand\">\n <bq-icon name=\"plus\" />\n </slot>\n </div>\n <div\n class={{ 'flex items-center justify-center': true, '!hidden': (!this.open && !this.rotate) || this.rotate }}\n >\n <slot name=\"collapse\">\n <bq-icon name=\"minus\" />\n </slot>\n </div>\n </summary>\n <div id=\"bq-accordion__body\" class=\"bq-accordion__body overflow-hidden\" part=\"panel\">\n <slot />\n </div>\n </details>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ACCORDION_SIZE","ACCORDION_APPEARANCE","Accordion","constructor","el","this","animationOptions","duration","easing","header","querySelector","panel","animation","isClosing","isExpanding","open","style","height","offsetHeight","window","requestAnimationFrame","expand","close","startHeight","endHeight","cancel","animate","onfinish","onAnimationFinish","oncancel","removeAttribute","endEvent","Event","bubbles","composed","dispatchEvent","bqAccordionCss","BqAccordionStyle0","BqAccordion","handleClick","event","preventDefault","disabled","bqClick","emit","expanded","handleFocus","bqFocus","handleBlur","bqBlur","handlePrefixSlotChange","hasPrefix","hasSlotContent","prefixElem","handleSuffixSlotChange","hasSuffix","suffixElem","checkPropValues","validatePropValue","handleExpandedChange","bqOpen","bqClose","defaultPrevented","_a","accordion","_b","isCssCalcSizeSupported","setTimeout","CustomEvent","handleDisabledChange","handleJsAnimation","console","warn","noAnimation","detailsElem","componentWillLoad","componentDidLoad","onAccordionTransitionEnd","stopPropagation","target","bqAfterOpen","bqAfterClose","CSS","supports","render","h","key","class","size","appearance","ref","part","onClick","onFocus","onBlur","tabindex","element","name","onSlotchange","rotate","id"],"sources":["../../packages/beeq/src/components/accordion/bq-accordion.types.ts","../../packages/beeq/src/components/accordion/helper/index.ts","../../packages/beeq/src/components/accordion/scss/bq-accordion.scss?tag=bq-accordion&encapsulation=shadow","../../packages/beeq/src/components/accordion/bq-accordion.tsx"],"sourcesContent":["export const ACCORDION_SIZE = ['small', 'medium'] as const;\nexport type TAccordionSize = (typeof ACCORDION_SIZE)[number];\n\nexport const ACCORDION_APPEARANCE = ['filled', 'ghost'] as const;\nexport type TAccordionAppearance = (typeof ACCORDION_APPEARANCE)[number];\n","/* -------------------------------------------------------------------------------------- */\n/* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */\n/* -------------------------------------------------------------------------------------- */\n\nexport class Accordion {\n private el: HTMLDetailsElement;\n private header: HTMLElement;\n private panel: HTMLElement;\n private animation: Animation | null;\n private isClosing: boolean;\n private isExpanding: boolean;\n private animationOptions = {\n duration: 200,\n easing: 'ease-in-out',\n };\n\n constructor(el: HTMLDetailsElement) {\n // Store the <details> element\n this.el = el;\n // Store the <summary> header element\n this.header = el.querySelector('summary');\n // Store the <div class=\"content\"> element\n this.panel = el.querySelector('.bq-accordion__body');\n // Store the animation object (so we can cancel it, if needed)\n this.animation = null;\n // Store if the element is closing\n this.isClosing = false;\n // Store if the element is expanding\n this.isExpanding = false;\n }\n\n public open() {\n // Check if the element is being closed or is already closed\n if (!this.isClosing && this.el.open) return;\n // Apply a fixed height on the element\n this.el.style.height = `${this.el.offsetHeight}px`;\n // Force the [open] attribute on the details element\n this.el.open = true;\n // Wait for the next frame to call the expand function\n window.requestAnimationFrame(() => this.expand());\n }\n\n public close() {\n // Check if the element is being opened or is already open\n if (!this.isExpanding && !this.el.open) return;\n // Set the element as \"being closed\"\n this.isClosing = true;\n\n // Store the current height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the height of the <summary> header\n const endHeight = `${this.header.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(false);\n // If the animation is cancelled, isClosing variable is set to false\n this.animation.oncancel = () => (this.isClosing = false);\n }\n\n // Expands the accordion\n private expand() {\n // Set the element as \"being expanding\"\n this.isExpanding = true;\n // Get the current fixed height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the open height of the element (summary header height + panel body height)\n const endHeight = `${this.header.offsetHeight + this.panel.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(true);\n // If the animation is cancelled, isExpanding variable is set to false\n this.animation.oncancel = () => (this.isExpanding = false);\n }\n\n // Handles the end of the animation\n private onAnimationFinish(open: boolean) {\n // Set the open attribute based on the parameter\n this.el.open = open;\n // Clear the stored animation\n this.animation = null;\n // Reset isClosing & isExpanding\n this.isClosing = false;\n this.isExpanding = false;\n // Remove the overflow hidden and the fixed height\n this.el.removeAttribute('style');\n // Dispatch a custom event based on the open parameter\n const endEvent = new Event('accordionTransitionEnd', { bubbles: false, composed: true });\n this.el.dispatchEvent(endEvent);\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Accordion styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion.variables';\n\n:host {\n @apply block;\n}\n\n.bq-accordion {\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n\n .bq-accordion__header {\n @apply pointer-events-none;\n }\n }\n\n &.small .bq-accordion__header {\n @apply gap-[--bq-accordion--small-gap] pe-[--bq-accordion--small-padding-end] ps-[--bq-accordion--small-padding-start] p-b-[--bq-accordion--small-padding-y];\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[--bq-accordion--small-radius] rounded-ss-[--bq-accordion--small-radius];\n }\n\n &.medium .bq-accordion__header {\n @apply gap-[--bq-accordion--medium-gap] pe-[--bq-accordion--medium-padding-end] ps-[--bq-accordion--medium-padding-start] p-b-[--bq-accordion--medium-padding-y];\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[--bq-accordion--medium-radius] rounded-ss-[--bq-accordion--medium-radius];\n }\n\n &[open] .bq-accordion__header {\n @apply border-[length:--bq-accordion--expanded-border-width] border-[color:--bq-accordion--expanded-border-color];\n @apply rounded-ee-[0px] rounded-es-[0px];\n\n border-style: var(--bq-accordion--expanded-border-style);\n }\n\n &.small .bq-accordion__body {\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.medium .bq-accordion__body {\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.filled {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-collapsed-text-color];\n }\n\n .bq-accordion__body {\n @apply border-[length:--bq-accordion--panel-filled-border-width] border-[color:--bq-accordion--panel-filled-border-color];\n\n border-style: var(--bq-accordion--panel-filled-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-expanded-text-color];\n }\n }\n\n &.ghost {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-collapsed-text-color];\n }\n\n .bq-accordion__body {\n @apply border-[length:--bq-accordion--panel-ghost-border-width] border-[color:--bq-accordion--panel-ghost-border-color];\n\n border-style: var(--bq-accordion--panel-ghost-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-expanded-text-color];\n }\n }\n\n &.small.filled .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-small-filled-padding-end] ps-[--bq-accordion--panel-small-filled-padding-start] p-b-[--bq-accordion--panel-small-filled-padding-y];\n }\n\n &.medium.filled .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-medium-filled-padding-end] ps-[--bq-accordion--panel-medium-filled-padding-start] p-b-[--bq-accordion--panel-medium-filled-padding-y];\n }\n\n &.small.ghost .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-small-ghost-padding-end] ps-[--bq-accordion--panel-small-ghost-padding-start] p-b-[--bq-accordion--panel-small-ghost-padding-y];\n }\n\n &.medium.ghost .bq-accordion__body {\n @apply pe-[--bq-accordion--panel-medium-ghost-padding-end] ps-[--bq-accordion--panel-medium-ghost-padding-start] p-b-[--bq-accordion--panel-medium-ghost-padding-y];\n }\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion::details-content {\n @apply block overflow-hidden transition-[block-size,content-visibility] duration-300 ease-in-out bs-0 [transition-behavior:allow-discrete];\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]::details-content {\n /* block-size: auto is just a fallback for browsers that don't support the calc-size() function */\n @apply bs-auto;\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]:not(.no-animation)::details-content {\n @apply supports-[block-size:calc-size(auto)]:bs-[calc-size(auto)];\n}\n\n.bq-accordion__header {\n // Since there's an overflow on the <summary> element, the focus outline is not visible,\n // so we force it to be inset to avoid the overflow hidden.\n --bq-ring-offset-width: -2px;\n\n @apply flex cursor-pointer select-none list-none items-center transition-colors duration-300 ease-in-out focus-visible:focus;\n @apply border-[length:--bq-accordion--collapsed-border-width] border-[color:--bq-accordion--collapsed-border-color];\n\n border-style: var(--bq-accordion--collapsed-border-style);\n\n &::marker,\n &::-webkit-details-marker {\n @apply hidden;\n }\n}\n\n.bq-accordion__header--text {\n @apply flex-1;\n}\n\n.bq-accordion__header--prefix,\n.bq-accordion__header--suffix {\n @apply flex items-center justify-center;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { ACCORDION_APPEARANCE, ACCORDION_SIZE, TAccordionAppearance, TAccordionSize } from './bq-accordion.types';\nimport { Accordion } from './helper';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The `<details>` that holds the accordion content\n * @part header - The `<summary>` that holds the accordion header content\n * @part prefix - The `<div>` that holds the accordion text prefix icon / avatar\n * @part text - The `<div>` that holds the accordion header text\n * @part suffix - The `<div>` that holds the accordion text suffix icon\n * @part panel - The `<div>` that holds the accordion panel content\n */\n@Component({\n tag: 'bq-accordion',\n styleUrl: './scss/bq-accordion.scss',\n shadow: true,\n})\nexport class BqAccordion {\n // Own Properties\n // ====================\n\n private accordion: Accordion;\n private prefixElem: HTMLDivElement;\n private suffixElem: HTMLDivElement;\n private detailsElem: HTMLDetailsElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionElement;\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 of accordion */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true accordion is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If true accordion is expanded */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true accordion expand icon is rotate 180deg when expanded */\n @Prop({ reflect: true }) rotate: boolean = false;\n\n /** The size of accordion */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(ACCORDION_SIZE, 'medium', this.el, 'size');\n validatePropValue(ACCORDION_APPEARANCE, 'filled', this.el, 'appearance');\n }\n\n @Watch('expanded')\n handleExpandedChange() {\n const event = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);\n if (event.defaultPrevented) {\n this.expanded = !this.expanded;\n return;\n }\n\n this.expanded ? this.accordion?.open() : this.accordion?.close();\n if (!this.isCssCalcSizeSupported) return;\n\n // NOTE: This is a workaround to trigger the transitionEnd event\n // when the open/close animation is handled via CSS instead of JS\n setTimeout(() => {\n this.el.dispatchEvent(new CustomEvent('accordionTransitionEnd', { bubbles: false, composed: true }));\n }, 200);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.disabled) return;\n\n this.expanded = false;\n }\n\n @Watch('noAnimation')\n handleJsAnimation() {\n if (this.isCssCalcSizeSupported) return;\n\n console.warn(\n `[bq-accordion] calc-size() is not supported and animation will be set through JS\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`,\n );\n this.accordion = !this.noAnimation ? new Accordion(this.detailsElem) : null;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the accordion loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is opened */\n @Event() bqOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is opened */\n @Event() bqAfterOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is closed */\n @Event() bqClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is closed */\n @Event() bqAfterClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** @internal Handler to be called when the accordion is clicked */\n @Event() bqClick: EventEmitter<HTMLBqAccordionElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleJsAnimation();\n this.handleExpandedChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('accordionTransitionEnd')\n onAccordionTransitionEnd(event: CustomEvent) {\n event.stopPropagation();\n if (event.target !== this.el) return;\n\n this.expanded ? this.bqAfterOpen.emit(this.el) : this.bqAfterClose.emit(this.el);\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 handleClick = (event: MouseEvent) => {\n event.preventDefault();\n\n if (this.disabled) return;\n\n this.bqClick.emit(this.el);\n this.expanded = !this.expanded;\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get open() {\n return this.expanded && !this.disabled;\n }\n\n private get isCssCalcSizeSupported() {\n return window.CSS?.supports('(block-size: calc-size(auto))');\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <details\n class={{\n [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,\n 'no-animation': this.noAnimation,\n disabled: this.disabled,\n }}\n ref={(detailsElem: HTMLDetailsElement) => (this.detailsElem = detailsElem)}\n open={this.open}\n part=\"base\"\n >\n <summary\n class=\"bq-accordion__header\"\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-expanded={this.expanded}\n aria-disabled={this.disabled}\n aria-controls=\"bq-accordion__body\"\n tabindex={this.disabled ? -1 : 0}\n part=\"header\"\n >\n <div\n ref={(element) => (this.prefixElem = element)}\n class={{ 'bq-accordion__header--prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </div>\n <div class=\"bq-accordion__header--text\" part=\"text\">\n <slot name=\"header\" />\n </div>\n <div\n ref={(element) => (this.suffixElem = element)}\n class={{ 'bq-accordion__header--suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange} />\n </div>\n <div\n class={{\n 'flex items-center justify-center transition-transform duration-300 ease-in-out': true,\n '!hidden': this.open && !this.rotate,\n 'rotate-180': this.rotate && this.open,\n }}\n >\n <slot name=\"expand\">\n <bq-icon name=\"plus\" />\n </slot>\n </div>\n <div\n class={{ 'flex items-center justify-center': true, '!hidden': (!this.open && !this.rotate) || this.rotate }}\n >\n <slot name=\"collapse\">\n <bq-icon name=\"minus\" />\n </slot>\n </div>\n </summary>\n <div id=\"bq-accordion__body\" class=\"bq-accordion__body overflow-hidden\" part=\"panel\">\n <slot />\n </div>\n </details>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,IAAiB,EAAC,SAAS;;AAGjC,MAAMC,IAAuB,EAAC,UAAU;;;;mGCClCC;EAYX,WAAAC,CAAYC;IALJC,KAAAC,mBAAmB;MACzBC,UAAU;MACVC,QAAQ;;;QAKRH,KAAKD,KAAKA;;QAEVC,KAAKI,SAASL,EAAGM,cAAc;;QAE/BL,KAAKM,QAAQP,EAAGM,cAAc;;QAE9BL,KAAKO,YAAY;;QAEjBP,KAAKQ,YAAY;;QAEjBR,KAAKS,cAAc;;EAGd,IAAAC;;IAEL,KAAKV,KAAKQ,aAAaR,KAAKD,GAAGW,MAAM;;QAErCV,KAAKD,GAAGY,MAAMC,SAAS,GAAGZ,KAAKD,GAAGc;;QAElCb,KAAKD,GAAGW,OAAO;;QAEfI,OAAOC,uBAAsB,MAAMf,KAAKgB;;EAGnC,KAAAC;;IAEL,KAAKjB,KAAKS,gBAAgBT,KAAKD,GAAGW,MAAM;;QAExCV,KAAKQ,YAAY;;QAGjB,MAAMU,IAAc,GAAGlB,KAAKD,GAAGc;;QAE/B,MAAMM,IAAY,GAAGnB,KAAKI,OAAOS;;QAGjC,IAAIb,KAAKO,WAAW;;MAElBP,KAAKO,UAAUa;;;QAIjBpB,KAAKO,YAAYP,KAAKD,GAAGsB,QAAQ;MAAET,QAAQ,EAACM,GAAaC;OAAcnB,KAAKC;;QAE5ED,KAAKO,UAAUe,WAAW,MAAMtB,KAAKuB,kBAAkB;;;IAEvDvB,KAAKO,UAAUiB,WAAW,MAAOxB,KAAKQ,YAAY;;;EAI5C,MAAAQ;;IAENhB,KAAKS,cAAc;;QAEnB,MAAMS,IAAc,GAAGlB,KAAKD,GAAGc;;QAE/B,MAAMM,IAAY,GAAGnB,KAAKI,OAAOS,eAAeb,KAAKM,MAAMO;;QAG3D,IAAIb,KAAKO,WAAW;;MAElBP,KAAKO,UAAUa;;;QAIjBpB,KAAKO,YAAYP,KAAKD,GAAGsB,QAAQ;MAAET,QAAQ,EAACM,GAAaC;OAAcnB,KAAKC;;QAE5ED,KAAKO,UAAUe,WAAW,MAAMtB,KAAKuB,kBAAkB;;;IAEvDvB,KAAKO,UAAUiB,WAAW,MAAOxB,KAAKS,cAAc;;;EAI9C,iBAAAc,CAAkBb;;IAExBV,KAAKD,GAAGW,OAAOA;;QAEfV,KAAKO,YAAY;;QAEjBP,KAAKQ,YAAY;IACjBR,KAAKS,cAAc;;QAEnBT,KAAKD,GAAG0B,gBAAgB;;QAExB,MAAMC,IAAW,IAAIC,MAAM,0BAA0B;MAAEC,SAAS;MAAOC,UAAU;;IACjF7B,KAAKD,GAAG+B,cAAcJ;;;;ACvG1B,MAAMK,IAAiB;;AACvB,MAAAC,IAAeD;;MCkBFE,IAAW;;;;;;;;;;;;;;;;;;;;QAuJdjC,KAAAkC,cAAeC;MACrBA,EAAMC;MAEN,IAAIpC,KAAKqC,UAAU;MAEnBrC,KAAKsC,QAAQC,KAAKvC,KAAKD;MACvBC,KAAKwC,YAAYxC,KAAKwC;AAAQ;IAGxBxC,KAAAyC,cAAc;MACpB,IAAIzC,KAAKqC,UAAU;MAEnBrC,KAAK0C,QAAQH,KAAKvC,KAAKD;AAAG;IAGpBC,KAAA2C,aAAa;MACnB3C,KAAK4C,OAAOL,KAAKvC,KAAKD;AAAG;IAGnBC,KAAA6C,yBAAyB;MAC/B7C,KAAK8C,YAAYC,EAAe/C,KAAKgD,YAAY;AAAS;IAGpDhD,KAAAiD,yBAAyB;MAC/BjD,KAAKkD,YAAYH,EAAe/C,KAAKmD,YAAY;AAAS;qBA7J/B;qBACA;sBAM8C;oBAG9B;oBAGe;uBAMZ;kBAGL;gBAGoB;;;;EAM/D,eAAAC;IACEC,EAAkB1D,GAAgB,UAAUK,KAAKD,IAAI;IACrDsD,EAAkBzD,GAAsB,UAAUI,KAAKD,IAAI;;EAI7D,oBAAAuD;;IACE,MAAMnB,IAAQnC,KAAKwC,WAAWxC,KAAKuD,OAAOhB,KAAKvC,KAAKD,MAAMC,KAAKwD,QAAQjB,KAAKvC,KAAKD;IACjF,IAAIoC,EAAMsB,kBAAkB;MAC1BzD,KAAKwC,YAAYxC,KAAKwC;MACtB;;IAGFxC,KAAKwC,YAAWkB,IAAA1D,KAAK2D,eAAS,QAAAD,WAAA,aAAAA,EAAEhD,UAASkD,IAAA5D,KAAK2D,eAAS,QAAAC,WAAA,aAAAA,EAAE3C;IACzD,KAAKjB,KAAK6D,wBAAwB;;;QAIlCC,YAAW;MACT9D,KAAKD,GAAG+B,cAAc,IAAIiC,YAAY,0BAA0B;QAAEnC,SAAS;QAAOC,UAAU;;AAAQ,QACnG;;EAIL,oBAAAmC;IACE,KAAKhE,KAAKqC,UAAU;IAEpBrC,KAAKwC,WAAW;;EAIlB,iBAAAyB;IACE,IAAIjE,KAAK6D,wBAAwB;IAEjCK,QAAQC,KACN;IAGFnE,KAAK2D,aAAa3D,KAAKoE,cAAc,IAAIvE,EAAUG,KAAKqE,eAAe;;;;;EAgCzE,iBAAAC;IACEtE,KAAKoD;;EAGP,gBAAAmB;IACEvE,KAAKiE;IACLjE,KAAKsD;;;;EAOP,wBAAAkB,CAAyBrC;IACvBA,EAAMsC;IACN,IAAItC,EAAMuC,WAAW1E,KAAKD,IAAI;IAE9BC,KAAKwC,WAAWxC,KAAK2E,YAAYpC,KAAKvC,KAAKD,MAAMC,KAAK4E,aAAarC,KAAKvC,KAAKD;;EA0C/E,QAAYW;IACV,OAAOV,KAAKwC,aAAaxC,KAAKqC;;EAGhC,0BAAYwB;;IACV,QAAOH,IAAA5C,OAAO+D,SAAG,QAAAnB,WAAA,aAAAA,EAAEoB,SAAS;;;;;EAO9B,MAAAC;IACE,OACEC,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,CAAC,gCAAgClF,KAAKmF,QAAQnF,KAAKoF,eAAe;QAClE,gBAAgBpF,KAAKoE;QACrB/B,UAAUrC,KAAKqC;;MAEjBgD,KAAMhB,KAAqCrE,KAAKqE,cAAcA;MAC9D3D,MAAMV,KAAKU;MACX4E,MAAK;OAELN,EAAA;MAAAC,KAAA;MACEC,OAAM;MACNK,SAASvF,KAAKkC;MACdsD,SAASxF,KAAKyC;MACdgD,QAAQzF,KAAK2C;MAAU,iBACR3C,KAAKwC;MAAQ,iBACbxC,KAAKqC;MAAQ,iBACd;MACdqD,UAAU1F,KAAKqC,YAAY,IAAI;MAC/BiD,MAAK;OAELN,EAAA;MAAAC,KAAA;MACEI,KAAMM,KAAa3F,KAAKgD,aAAa2C;MACrCT,OAAO;QAAE,gCAAgC;QAAM,YAAYlF,KAAK8C;;MAChEwC,MAAK;OAELN,EAAA;MAAAC,KAAA;MAAMW,MAAK;MAASC,cAAc7F,KAAK6C;SAEzCmC,EAAA;MAAAC,KAAA;MAAKC,OAAM;MAA6BI,MAAK;OAC3CN,EAAA;MAAAC,KAAA;MAAMW,MAAK;SAEbZ,EAAA;MAAAC,KAAA;MACEI,KAAMM,KAAa3F,KAAKmD,aAAawC;MACrCT,OAAO;QAAE,gCAAgC;QAAM,YAAYlF,KAAKkD;;MAChEoC,MAAK;OAELN,EAAA;MAAAC,KAAA;MAAMW,MAAK;MAASC,cAAc7F,KAAKiD;SAEzC+B,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,kFAAkF;QAClF,WAAWlF,KAAKU,SAASV,KAAK8F;QAC9B,cAAc9F,KAAK8F,UAAU9F,KAAKU;;OAGpCsE,EAAA;MAAAC,KAAA;MAAMW,MAAK;OACTZ,EAAA;MAAAC,KAAA;MAASW,MAAK;UAGlBZ,EAAA;MAAAC,KAAA;MACEC,OAAO;QAAE,oCAAoC;QAAM,YAAalF,KAAKU,SAASV,KAAK8F,UAAW9F,KAAK8F;;OAEnGd,EAAA;MAAAC,KAAA;MAAMW,MAAK;OACTZ,EAAA;MAAAC,KAAA;MAASW,MAAK;WAIpBZ,EAAA;MAAAC,KAAA;MAAKc,IAAG;MAAqBb,OAAM;MAAqCI,MAAK;OAC3EN,EAAA;MAAAC,KAAA","ignoreList":[]}