@beeq/core 1.8.3 → 1.8.4

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 (421) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +1 -1
  4. package/dist/beeq/{p-b69f347d.entry.js → p-0338b2f9.entry.js} +2 -2
  5. package/dist/beeq/p-0338b2f9.entry.js.map +1 -0
  6. package/dist/beeq/{p-3806d9e3.entry.js → p-0b0a2c8a.entry.js} +2 -2
  7. package/dist/beeq/{p-803269b3.entry.js → p-0ee91951.entry.js} +2 -2
  8. package/dist/beeq/{p-3f654a12.entry.js → p-11f54320.entry.js} +2 -2
  9. package/dist/beeq/{p-66b6d69a.entry.js → p-1694f242.entry.js} +2 -2
  10. package/dist/beeq/{p-9a7af424.entry.js → p-21ef028f.entry.js} +2 -2
  11. package/dist/beeq/{p-7585f825.entry.js → p-226f3647.entry.js} +2 -2
  12. package/dist/beeq/{p-d7ce7165.js → p-260d4ca0.js} +2 -2
  13. package/dist/beeq/{p-d7ce7165.js.map → p-260d4ca0.js.map} +1 -1
  14. package/dist/beeq/{p-c42f9ac5.entry.js → p-2f55e11f.entry.js} +2 -2
  15. package/dist/beeq/{p-ee1ecb6e.entry.js → p-3ac6d599.entry.js} +2 -2
  16. package/dist/beeq/{p-a4e11bbc.entry.js → p-402449b6.entry.js} +2 -2
  17. package/dist/beeq/p-402449b6.entry.js.map +1 -0
  18. package/dist/beeq/{p-dbac0368.entry.js → p-4757fa1e.entry.js} +2 -2
  19. package/dist/beeq/p-4757fa1e.entry.js.map +1 -0
  20. package/dist/beeq/{p-3fe626f1.entry.js → p-49b40ec5.entry.js} +2 -2
  21. package/dist/beeq/p-49b40ec5.entry.js.map +1 -0
  22. package/dist/beeq/{p-a8075be3.entry.js → p-4fc0cf41.entry.js} +2 -2
  23. package/dist/beeq/{p-19f5a833.entry.js → p-5837a0ea.entry.js} +2 -2
  24. package/dist/beeq/p-5837a0ea.entry.js.map +1 -0
  25. package/dist/beeq/{p-dafa4162.entry.js → p-5e4edb8a.entry.js} +2 -2
  26. package/dist/beeq/{p-dafa4162.entry.js.map → p-5e4edb8a.entry.js.map} +1 -1
  27. package/dist/beeq/{p-7efff703.entry.js → p-5fe65f50.entry.js} +2 -2
  28. package/dist/beeq/{p-e8f147c2.entry.js → p-68944624.entry.js} +2 -2
  29. package/dist/beeq/p-68944624.entry.js.map +1 -0
  30. package/dist/beeq/{p-cb9fa154.entry.js → p-6aaa20c9.entry.js} +2 -2
  31. package/dist/beeq/p-6aaa20c9.entry.js.map +1 -0
  32. package/dist/beeq/{p-59a1b546.entry.js → p-6bc7c1e5.entry.js} +2 -2
  33. package/dist/beeq/p-6bc7c1e5.entry.js.map +1 -0
  34. package/dist/beeq/{p-bbaad491.entry.js → p-730ed434.entry.js} +2 -2
  35. package/dist/beeq/{p-4d21a49d.entry.js → p-7af08445.entry.js} +2 -2
  36. package/dist/beeq/{p-15bf8ffd.entry.js → p-7cfca18b.entry.js} +2 -2
  37. package/dist/beeq/p-7cfca18b.entry.js.map +1 -0
  38. package/dist/beeq/{p-ba1f9637.entry.js → p-7d161e60.entry.js} +2 -2
  39. package/dist/beeq/p-7d161e60.entry.js.map +1 -0
  40. package/dist/beeq/{p-19ea2c90.entry.js → p-7dda6cb9.entry.js} +2 -2
  41. package/dist/beeq/p-7dda6cb9.entry.js.map +1 -0
  42. package/dist/beeq/{p-5546f242.entry.js → p-85d7bc6c.entry.js} +2 -2
  43. package/dist/beeq/{p-4500ffe5.entry.js → p-93a3bcb5.entry.js} +2 -2
  44. package/dist/beeq/{p-90165aef.entry.js → p-96684c94.entry.js} +2 -2
  45. package/dist/beeq/{p-90165aef.entry.js.map → p-96684c94.entry.js.map} +1 -1
  46. package/dist/beeq/p-9ecdbeec.js +6 -0
  47. package/dist/beeq/p-a035d288.js +6 -0
  48. package/dist/beeq/{p-b129db1a.entry.js → p-a0b2db0b.entry.js} +2 -2
  49. package/dist/beeq/p-a52f0ff0.entry.js +6 -0
  50. package/dist/beeq/p-a52f0ff0.entry.js.map +1 -0
  51. package/dist/beeq/{p-f4e8ebd3.entry.js → p-a902a347.entry.js} +2 -2
  52. package/dist/beeq/{p-70310ac8.entry.js → p-aeb28fb3.entry.js} +2 -2
  53. package/dist/beeq/p-aeb28fb3.entry.js.map +1 -0
  54. package/dist/beeq/{p-b0d168c8.entry.js → p-af9c9769.entry.js} +2 -2
  55. package/dist/beeq/p-af9c9769.entry.js.map +1 -0
  56. package/dist/beeq/{p-b7b3f7c6.entry.js → p-b4ae4315.entry.js} +2 -2
  57. package/dist/beeq/p-c05c50bf.js +7 -0
  58. package/dist/beeq/p-c05c50bf.js.map +1 -0
  59. package/dist/beeq/{p-e655938a.entry.js → p-d04883ab.entry.js} +2 -2
  60. package/dist/beeq/{p-a8d64d1b.entry.js → p-d4676bbd.entry.js} +2 -2
  61. package/dist/beeq/{p-39a80765.entry.js → p-e29c46f5.entry.js} +2 -2
  62. package/dist/beeq/p-e29c46f5.entry.js.map +1 -0
  63. package/dist/beeq/{p-8ed41b69.entry.js → p-e827f88d.entry.js} +2 -2
  64. package/dist/beeq/{p-65d67b85.entry.js → p-f7e3eff3.entry.js} +2 -2
  65. package/dist/beeq/p-f7e3eff3.entry.js.map +1 -0
  66. package/dist/beeq/{p-ed569a61.entry.js → p-f85f1705.entry.js} +2 -2
  67. package/dist/beeq.html-custom-data.json +59 -59
  68. package/dist/cjs/{assetsPath-32c4030b.js → assetsPath-bff6e1f9.js} +2 -2
  69. package/dist/cjs/{assetsPath-32c4030b.js.map → assetsPath-bff6e1f9.js.map} +1 -1
  70. package/dist/cjs/beeq.cjs.js +3 -3
  71. package/dist/cjs/beeq.cjs.js.map +1 -1
  72. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -1
  73. package/dist/cjs/bq-accordion.cjs.entry.js +7 -8
  74. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  75. package/dist/cjs/bq-alert.cjs.entry.js +8 -9
  76. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  77. package/dist/cjs/bq-avatar.cjs.entry.js +1 -1
  78. package/dist/cjs/bq-badge.cjs.entry.js +8 -5
  79. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  80. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +2 -2
  81. package/dist/cjs/bq-breadcrumb.cjs.entry.js +5 -2
  82. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  83. package/dist/cjs/bq-button_2.cjs.entry.js +9 -6
  84. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  85. package/dist/cjs/bq-card.cjs.entry.js +1 -1
  86. package/dist/cjs/bq-checkbox.cjs.entry.js +1 -1
  87. package/dist/cjs/bq-date-picker.cjs.entry.js +97 -17
  88. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  89. package/dist/cjs/bq-dialog.cjs.entry.js +8 -9
  90. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  91. package/dist/cjs/bq-divider.cjs.entry.js +2 -2
  92. package/dist/cjs/bq-drawer.cjs.entry.js +10 -7
  93. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  94. package/dist/cjs/bq-dropdown_2.cjs.entry.js +1 -1
  95. package/dist/cjs/bq-empty-state.cjs.entry.js +10 -9
  96. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  97. package/dist/cjs/bq-input.cjs.entry.js +11 -14
  98. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  99. package/dist/cjs/bq-notification.cjs.entry.js +8 -7
  100. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  101. package/dist/cjs/bq-option-group.cjs.entry.js +1 -1
  102. package/dist/cjs/bq-option-list_2.cjs.entry.js +8 -5
  103. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  104. package/dist/cjs/bq-option.cjs.entry.js +10 -9
  105. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  106. package/dist/cjs/bq-page-title.cjs.entry.js +7 -4
  107. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  108. package/dist/cjs/bq-progress.cjs.entry.js +1 -1
  109. package/dist/cjs/bq-radio-group.cjs.entry.js +1 -1
  110. package/dist/cjs/bq-radio.cjs.entry.js +1 -1
  111. package/dist/cjs/bq-select.cjs.entry.js +10 -15
  112. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  114. package/dist/cjs/bq-side-menu.cjs.entry.js +1 -1
  115. package/dist/cjs/bq-slider.cjs.entry.js +1 -1
  116. package/dist/cjs/bq-spinner.cjs.entry.js +8 -6
  117. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  118. package/dist/cjs/bq-status.cjs.entry.js +1 -1
  119. package/dist/cjs/bq-step-item.cjs.entry.js +1 -1
  120. package/dist/cjs/bq-steps.cjs.entry.js +1 -1
  121. package/dist/cjs/bq-switch.cjs.entry.js +2 -2
  122. package/dist/cjs/bq-tab-group.cjs.entry.js +1 -1
  123. package/dist/cjs/bq-tab.cjs.entry.js +7 -4
  124. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-textarea.cjs.entry.js +7 -8
  126. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-toast.cjs.entry.js +1 -1
  128. package/dist/cjs/bq-tooltip.cjs.entry.js +1 -1
  129. package/dist/cjs/{index-0c8d249a.js → index-6fcc2c3c.js} +56 -20
  130. package/dist/cjs/index-6fcc2c3c.js.map +1 -0
  131. package/dist/cjs/index.cjs.js +4 -4
  132. package/dist/cjs/{isDefined-5e8aae9d.js → isDefined-237b1214.js} +2 -2
  133. package/dist/cjs/{isDefined-5e8aae9d.js.map → isDefined-237b1214.js.map} +1 -1
  134. package/dist/cjs/loader.cjs.js +2 -2
  135. package/dist/cjs/{slot-2fee189a.js → slot-c3eeb29f.js} +3 -1
  136. package/dist/cjs/slot-c3eeb29f.js.map +1 -0
  137. package/dist/collection/collection-manifest.json +1 -1
  138. package/dist/collection/components/accordion/bq-accordion.js +5 -6
  139. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  140. package/dist/collection/components/alert/bq-alert.js +6 -7
  141. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  142. package/dist/collection/components/badge/bq-badge.js +6 -3
  143. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  144. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +4 -1
  145. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  146. package/dist/collection/components/button/bq-button.js +5 -2
  147. package/dist/collection/components/button/bq-button.js.map +1 -1
  148. package/dist/collection/components/date-picker/bq-date-picker.js +27 -14
  149. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  150. package/dist/collection/components/date-picker/bq-date-picker.types.js.map +1 -1
  151. package/dist/collection/components/date-picker/helper/callyLibrary.js +73 -0
  152. package/dist/collection/components/date-picker/helper/callyLibrary.js.map +1 -0
  153. package/dist/collection/components/dialog/bq-dialog.js +6 -7
  154. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  155. package/dist/collection/components/drawer/bq-drawer.js +7 -4
  156. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  157. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  158. package/dist/collection/components/empty-state/bq-empty-state.js +8 -7
  159. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  160. package/dist/collection/components/input/bq-input.js +8 -11
  161. package/dist/collection/components/input/bq-input.js.map +1 -1
  162. package/dist/collection/components/notification/bq-notification.js +6 -5
  163. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  164. package/dist/collection/components/option/bq-option.js +8 -7
  165. package/dist/collection/components/option/bq-option.js.map +1 -1
  166. package/dist/collection/components/page-title/bq-page-title.js +5 -2
  167. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  168. package/dist/collection/components/select/bq-select.js +6 -11
  169. package/dist/collection/components/select/bq-select.js.map +1 -1
  170. package/dist/collection/components/select/scss/bq-select.css +1 -1
  171. package/dist/collection/components/spinner/bq-spinner.js +6 -4
  172. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  173. package/dist/collection/components/tab/bq-tab.js +5 -2
  174. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  175. package/dist/collection/components/tag/bq-tag.js +6 -3
  176. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  177. package/dist/collection/components/textarea/bq-textarea.js +5 -6
  178. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  179. package/dist/collection/shared/utils/slot.js +2 -0
  180. package/dist/collection/shared/utils/slot.js.map +1 -1
  181. package/dist/components/bq-accordion-group.js +1 -1
  182. package/dist/components/bq-accordion.js +1 -1
  183. package/dist/components/bq-accordion.js.map +1 -1
  184. package/dist/components/bq-alert.js +1 -1
  185. package/dist/components/bq-alert.js.map +1 -1
  186. package/dist/components/bq-avatar.js +1 -1
  187. package/dist/components/bq-badge.js +1 -1
  188. package/dist/components/bq-breadcrumb-item.js +1 -1
  189. package/dist/components/bq-breadcrumb.js +1 -1
  190. package/dist/components/bq-breadcrumb.js.map +1 -1
  191. package/dist/components/bq-button.js +1 -1
  192. package/dist/components/bq-card.js +1 -1
  193. package/dist/components/bq-checkbox.js +1 -1
  194. package/dist/components/bq-date-picker.js +1 -1
  195. package/dist/components/bq-date-picker.js.map +1 -1
  196. package/dist/components/bq-dialog.js +1 -1
  197. package/dist/components/bq-dialog.js.map +1 -1
  198. package/dist/components/bq-divider.js +1 -1
  199. package/dist/components/bq-drawer.js +1 -1
  200. package/dist/components/bq-drawer.js.map +1 -1
  201. package/dist/components/bq-dropdown.js +1 -1
  202. package/dist/components/bq-empty-state.js +1 -1
  203. package/dist/components/bq-empty-state.js.map +1 -1
  204. package/dist/components/bq-icon.js +1 -1
  205. package/dist/components/bq-input.js +1 -1
  206. package/dist/components/bq-input.js.map +1 -1
  207. package/dist/components/bq-notification.js +1 -1
  208. package/dist/components/bq-notification.js.map +1 -1
  209. package/dist/components/bq-option-group.js +1 -1
  210. package/dist/components/bq-option-list.js +1 -1
  211. package/dist/components/bq-option.js +1 -1
  212. package/dist/components/bq-option.js.map +1 -1
  213. package/dist/components/bq-page-title.js +1 -1
  214. package/dist/components/bq-page-title.js.map +1 -1
  215. package/dist/components/bq-panel.js +1 -1
  216. package/dist/components/bq-progress.js +1 -1
  217. package/dist/components/bq-radio-group.js +1 -1
  218. package/dist/components/bq-radio.js +1 -1
  219. package/dist/components/bq-select.js +1 -1
  220. package/dist/components/bq-select.js.map +1 -1
  221. package/dist/components/bq-side-menu-item.js +1 -1
  222. package/dist/components/bq-side-menu.js +1 -1
  223. package/dist/components/bq-slider.js +1 -1
  224. package/dist/components/bq-spinner.js +1 -1
  225. package/dist/components/bq-spinner.js.map +1 -1
  226. package/dist/components/bq-status.js +1 -1
  227. package/dist/components/bq-step-item.js +1 -1
  228. package/dist/components/bq-steps.js +1 -1
  229. package/dist/components/bq-switch.js +1 -1
  230. package/dist/components/bq-tab-group.js +1 -1
  231. package/dist/components/bq-tab.js +1 -1
  232. package/dist/components/bq-tab.js.map +1 -1
  233. package/dist/components/bq-tag.js +1 -1
  234. package/dist/components/bq-textarea.js +1 -1
  235. package/dist/components/bq-textarea.js.map +1 -1
  236. package/dist/components/bq-toast.js +1 -1
  237. package/dist/components/bq-tooltip.js +1 -1
  238. package/dist/components/index.js +1 -1
  239. package/dist/components/{p-c58e0d87.js → p-1629a472.js} +2 -2
  240. package/dist/components/{p-ac26ffcd.js → p-242345e1.js} +2 -2
  241. package/dist/components/{p-d7ce7165.js → p-260d4ca0.js} +2 -2
  242. package/dist/components/{p-d7ce7165.js.map → p-260d4ca0.js.map} +1 -1
  243. package/dist/components/{p-a02c6b73.js → p-2aab0744.js} +2 -2
  244. package/dist/components/p-2aab0744.js.map +1 -0
  245. package/dist/components/p-39d794c1.js +6 -0
  246. package/dist/components/{p-5b34bd04.js → p-51027528.js} +2 -2
  247. package/dist/components/p-66fcce92.js +6 -0
  248. package/dist/components/p-66fcce92.js.map +1 -0
  249. package/dist/components/{p-8d8eeb62.js → p-afef286d.js} +2 -2
  250. package/dist/components/{p-f5588ccd.js → p-b5306ce3.js} +2 -2
  251. package/dist/components/p-b5306ce3.js.map +1 -0
  252. package/dist/components/{p-b50adb19.js → p-dfb2cbb5.js} +2 -2
  253. package/dist/components/p-f0fcfdea.js +6 -0
  254. package/dist/components/p-f0fcfdea.js.map +1 -0
  255. package/dist/components/{p-9a115ee5.js → p-fd965589.js} +2 -2
  256. package/dist/custom-elements.json +724 -791
  257. package/dist/esm/{assetsPath-57848212.js → assetsPath-14f18f9a.js} +2 -2
  258. package/dist/esm/{assetsPath-57848212.js.map → assetsPath-14f18f9a.js.map} +1 -1
  259. package/dist/esm/beeq.js +4 -4
  260. package/dist/esm/beeq.js.map +1 -1
  261. package/dist/esm/bq-accordion-group.entry.js +1 -1
  262. package/dist/esm/bq-accordion.entry.js +7 -8
  263. package/dist/esm/bq-accordion.entry.js.map +1 -1
  264. package/dist/esm/bq-alert.entry.js +8 -9
  265. package/dist/esm/bq-alert.entry.js.map +1 -1
  266. package/dist/esm/bq-avatar.entry.js +1 -1
  267. package/dist/esm/bq-badge.entry.js +8 -5
  268. package/dist/esm/bq-badge.entry.js.map +1 -1
  269. package/dist/esm/bq-breadcrumb-item.entry.js +2 -2
  270. package/dist/esm/bq-breadcrumb.entry.js +5 -2
  271. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  272. package/dist/esm/bq-button_2.entry.js +9 -6
  273. package/dist/esm/bq-button_2.entry.js.map +1 -1
  274. package/dist/esm/bq-card.entry.js +1 -1
  275. package/dist/esm/bq-checkbox.entry.js +1 -1
  276. package/dist/esm/bq-date-picker.entry.js +97 -17
  277. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  278. package/dist/esm/bq-dialog.entry.js +8 -9
  279. package/dist/esm/bq-dialog.entry.js.map +1 -1
  280. package/dist/esm/bq-divider.entry.js +2 -2
  281. package/dist/esm/bq-drawer.entry.js +10 -7
  282. package/dist/esm/bq-drawer.entry.js.map +1 -1
  283. package/dist/esm/bq-dropdown_2.entry.js +1 -1
  284. package/dist/esm/bq-empty-state.entry.js +10 -9
  285. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  286. package/dist/esm/bq-input.entry.js +11 -14
  287. package/dist/esm/bq-input.entry.js.map +1 -1
  288. package/dist/esm/bq-notification.entry.js +8 -7
  289. package/dist/esm/bq-notification.entry.js.map +1 -1
  290. package/dist/esm/bq-option-group.entry.js +1 -1
  291. package/dist/esm/bq-option-list_2.entry.js +8 -5
  292. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  293. package/dist/esm/bq-option.entry.js +10 -9
  294. package/dist/esm/bq-option.entry.js.map +1 -1
  295. package/dist/esm/bq-page-title.entry.js +7 -4
  296. package/dist/esm/bq-page-title.entry.js.map +1 -1
  297. package/dist/esm/bq-progress.entry.js +1 -1
  298. package/dist/esm/bq-radio-group.entry.js +1 -1
  299. package/dist/esm/bq-radio.entry.js +1 -1
  300. package/dist/esm/bq-select.entry.js +10 -15
  301. package/dist/esm/bq-select.entry.js.map +1 -1
  302. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  303. package/dist/esm/bq-side-menu.entry.js +1 -1
  304. package/dist/esm/bq-slider.entry.js +1 -1
  305. package/dist/esm/bq-spinner.entry.js +8 -6
  306. package/dist/esm/bq-spinner.entry.js.map +1 -1
  307. package/dist/esm/bq-status.entry.js +1 -1
  308. package/dist/esm/bq-step-item.entry.js +1 -1
  309. package/dist/esm/bq-steps.entry.js +1 -1
  310. package/dist/esm/bq-switch.entry.js +2 -2
  311. package/dist/esm/bq-tab-group.entry.js +1 -1
  312. package/dist/esm/bq-tab.entry.js +7 -4
  313. package/dist/esm/bq-tab.entry.js.map +1 -1
  314. package/dist/esm/bq-textarea.entry.js +7 -8
  315. package/dist/esm/bq-textarea.entry.js.map +1 -1
  316. package/dist/esm/bq-toast.entry.js +1 -1
  317. package/dist/esm/bq-tooltip.entry.js +1 -1
  318. package/dist/esm/{index-59610291.js → index-4e4c39e8.js} +56 -20
  319. package/dist/esm/index-4e4c39e8.js.map +1 -0
  320. package/dist/esm/index.js +5 -5
  321. package/dist/esm/{isDefined-30b8b652.js → isDefined-7a919d19.js} +2 -2
  322. package/dist/esm/{isDefined-30b8b652.js.map → isDefined-7a919d19.js.map} +1 -1
  323. package/dist/esm/loader.js +3 -3
  324. package/dist/esm/{slot-58bfedb5.js → slot-be230a01.js} +3 -1
  325. package/dist/esm/slot-be230a01.js.map +1 -0
  326. package/dist/hydrate/index.d.ts +22 -5
  327. package/dist/hydrate/index.js +674 -1297
  328. package/dist/hydrate/index.mjs +674 -1297
  329. package/dist/stencil.config.js +20 -17
  330. package/dist/stencil.config.js.map +1 -1
  331. package/dist/types/components/accordion/bq-accordion.d.ts +1 -2
  332. package/dist/types/components/alert/bq-alert.d.ts +1 -2
  333. package/dist/types/components/badge/bq-badge.d.ts +2 -1
  334. package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +1 -0
  335. package/dist/types/components/button/bq-button.d.ts +1 -0
  336. package/dist/types/components/date-picker/bq-date-picker.d.ts +3 -4
  337. package/dist/types/components/date-picker/bq-date-picker.types.d.ts +16 -0
  338. package/dist/types/components/date-picker/helper/callyLibrary.d.ts +11 -0
  339. package/dist/types/components/dialog/bq-dialog.d.ts +1 -2
  340. package/dist/types/components/drawer/bq-drawer.d.ts +1 -0
  341. package/dist/types/components/empty-state/bq-empty-state.d.ts +2 -2
  342. package/dist/types/components/input/bq-input.d.ts +2 -4
  343. package/dist/types/components/notification/bq-notification.d.ts +2 -2
  344. package/dist/types/components/option/bq-option.d.ts +2 -2
  345. package/dist/types/components/page-title/bq-page-title.d.ts +1 -0
  346. package/dist/types/components/select/bq-select.d.ts +1 -4
  347. package/dist/types/components/tab/bq-tab.d.ts +1 -0
  348. package/dist/types/components/tag/bq-tag.d.ts +1 -0
  349. package/dist/types/components/textarea/bq-textarea.d.ts +1 -2
  350. package/dist/types/global.d.ts +0 -10
  351. package/package.json +2 -3
  352. package/dist/beeq/p-15bf8ffd.entry.js.map +0 -1
  353. package/dist/beeq/p-19ea2c90.entry.js.map +0 -1
  354. package/dist/beeq/p-19f5a833.entry.js.map +0 -1
  355. package/dist/beeq/p-34611c2f.js +0 -6
  356. package/dist/beeq/p-34611c2f.js.map +0 -1
  357. package/dist/beeq/p-39a80765.entry.js.map +0 -1
  358. package/dist/beeq/p-3fe626f1.entry.js.map +0 -1
  359. package/dist/beeq/p-4a3784e1.js +0 -7
  360. package/dist/beeq/p-4a3784e1.js.map +0 -1
  361. package/dist/beeq/p-59a1b546.entry.js.map +0 -1
  362. package/dist/beeq/p-65d67b85.entry.js.map +0 -1
  363. package/dist/beeq/p-6bea33f4.entry.js +0 -6
  364. package/dist/beeq/p-6bea33f4.entry.js.map +0 -1
  365. package/dist/beeq/p-70310ac8.entry.js.map +0 -1
  366. package/dist/beeq/p-a4e11bbc.entry.js.map +0 -1
  367. package/dist/beeq/p-b0d168c8.entry.js.map +0 -1
  368. package/dist/beeq/p-b69f347d.entry.js.map +0 -1
  369. package/dist/beeq/p-ba1f9637.entry.js.map +0 -1
  370. package/dist/beeq/p-cb9fa154.entry.js.map +0 -1
  371. package/dist/beeq/p-cf923c68.js +0 -6
  372. package/dist/beeq/p-dbac0368.entry.js.map +0 -1
  373. package/dist/beeq/p-e4dd6ff4.js +0 -6
  374. package/dist/beeq/p-e8f147c2.entry.js.map +0 -1
  375. package/dist/cjs/cally-1bde2e82.js +0 -1162
  376. package/dist/cjs/cally-1bde2e82.js.map +0 -1
  377. package/dist/cjs/index-0c8d249a.js.map +0 -1
  378. package/dist/cjs/slot-2fee189a.js.map +0 -1
  379. package/dist/components/p-34611c2f.js +0 -6
  380. package/dist/components/p-34611c2f.js.map +0 -1
  381. package/dist/components/p-37483f1c.js +0 -6
  382. package/dist/components/p-37483f1c.js.map +0 -1
  383. package/dist/components/p-6e0c7ab4.js +0 -6
  384. package/dist/components/p-a02c6b73.js.map +0 -1
  385. package/dist/components/p-d16482dc.js +0 -6
  386. package/dist/components/p-d16482dc.js.map +0 -1
  387. package/dist/components/p-f5588ccd.js.map +0 -1
  388. package/dist/esm/cally-49a83be1.js +0 -1157
  389. package/dist/esm/cally-49a83be1.js.map +0 -1
  390. package/dist/esm/index-59610291.js.map +0 -1
  391. package/dist/esm/slot-58bfedb5.js.map +0 -1
  392. /package/dist/beeq/{p-3806d9e3.entry.js.map → p-0b0a2c8a.entry.js.map} +0 -0
  393. /package/dist/beeq/{p-803269b3.entry.js.map → p-0ee91951.entry.js.map} +0 -0
  394. /package/dist/beeq/{p-3f654a12.entry.js.map → p-11f54320.entry.js.map} +0 -0
  395. /package/dist/beeq/{p-66b6d69a.entry.js.map → p-1694f242.entry.js.map} +0 -0
  396. /package/dist/beeq/{p-9a7af424.entry.js.map → p-21ef028f.entry.js.map} +0 -0
  397. /package/dist/beeq/{p-7585f825.entry.js.map → p-226f3647.entry.js.map} +0 -0
  398. /package/dist/beeq/{p-c42f9ac5.entry.js.map → p-2f55e11f.entry.js.map} +0 -0
  399. /package/dist/beeq/{p-ee1ecb6e.entry.js.map → p-3ac6d599.entry.js.map} +0 -0
  400. /package/dist/beeq/{p-a8075be3.entry.js.map → p-4fc0cf41.entry.js.map} +0 -0
  401. /package/dist/beeq/{p-7efff703.entry.js.map → p-5fe65f50.entry.js.map} +0 -0
  402. /package/dist/beeq/{p-bbaad491.entry.js.map → p-730ed434.entry.js.map} +0 -0
  403. /package/dist/beeq/{p-4d21a49d.entry.js.map → p-7af08445.entry.js.map} +0 -0
  404. /package/dist/beeq/{p-5546f242.entry.js.map → p-85d7bc6c.entry.js.map} +0 -0
  405. /package/dist/beeq/{p-4500ffe5.entry.js.map → p-93a3bcb5.entry.js.map} +0 -0
  406. /package/dist/beeq/{p-e4dd6ff4.js.map → p-9ecdbeec.js.map} +0 -0
  407. /package/dist/beeq/{p-cf923c68.js.map → p-a035d288.js.map} +0 -0
  408. /package/dist/beeq/{p-b129db1a.entry.js.map → p-a0b2db0b.entry.js.map} +0 -0
  409. /package/dist/beeq/{p-f4e8ebd3.entry.js.map → p-a902a347.entry.js.map} +0 -0
  410. /package/dist/beeq/{p-b7b3f7c6.entry.js.map → p-b4ae4315.entry.js.map} +0 -0
  411. /package/dist/beeq/{p-e655938a.entry.js.map → p-d04883ab.entry.js.map} +0 -0
  412. /package/dist/beeq/{p-a8d64d1b.entry.js.map → p-d4676bbd.entry.js.map} +0 -0
  413. /package/dist/beeq/{p-8ed41b69.entry.js.map → p-e827f88d.entry.js.map} +0 -0
  414. /package/dist/beeq/{p-ed569a61.entry.js.map → p-f85f1705.entry.js.map} +0 -0
  415. /package/dist/components/{p-c58e0d87.js.map → p-1629a472.js.map} +0 -0
  416. /package/dist/components/{p-ac26ffcd.js.map → p-242345e1.js.map} +0 -0
  417. /package/dist/components/{p-6e0c7ab4.js.map → p-39d794c1.js.map} +0 -0
  418. /package/dist/components/{p-5b34bd04.js.map → p-51027528.js.map} +0 -0
  419. /package/dist/components/{p-8d8eeb62.js.map → p-afef286d.js.map} +0 -0
  420. /package/dist/components/{p-b50adb19.js.map → p-dfb2cbb5.js.map} +0 -0
  421. /package/dist/components/{p-9a115ee5.js.map → p-fd965589.js.map} +0 -0
@@ -0,0 +1,73 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ /* -------------------------------------------------------------------------- */
6
+ /* Cally Library loader helper */
7
+ /* -------------------------------------------------------------------------- */
8
+ const CALLY_SCRIPT_ATTRIBUTE = 'data-cally-library';
9
+ //❗ Make sure to update the version here when the library releases a new version
10
+ const CALLY_LIB_VERSION = '0.8.0';
11
+ /**
12
+ * ❗ Make sure to update the hash here if the `CALLY_LIB_VERSION` is updated
13
+ * This hash is used to ensure the integrity of the library when loading it
14
+ * from a CDN.
15
+ * @see https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
16
+ */
17
+ const CALLY_LIB_HASH = 'sha384-giuY/f8D3+ehgOTmQMr4HvrreOITDmvXsZuDCJ1csQ+3dURHA24NqRd8lkSI6uGF';
18
+ let isLibraryLoaded = false;
19
+ /**
20
+ * Checks if the Cally library is already loaded in the document
21
+ * @returns {boolean} True if the library is loaded
22
+ */
23
+ export const isCallyLibraryLoaded = () => {
24
+ // This might be a bit redundant, but it's a sanity check to ensure the library is actually loaded
25
+ return isLibraryLoaded || document.querySelector(`script[${CALLY_SCRIPT_ATTRIBUTE}]`) !== null;
26
+ };
27
+ /**
28
+ * Loads the Cally library for the date picker component
29
+ * @throws {Error} If the library fails to load
30
+ * @return {Promise<void>}
31
+ */
32
+ export const loadCallyLibrary = async () => {
33
+ if (isCallyLibraryLoaded())
34
+ return;
35
+ try {
36
+ await loadScript({
37
+ type: 'module',
38
+ src: `https://unpkg.com/cally@${CALLY_LIB_VERSION}/dist/cally.js`,
39
+ attributes: {
40
+ [CALLY_SCRIPT_ATTRIBUTE]: '',
41
+ crossOrigin: 'anonymous',
42
+ integrity: CALLY_LIB_HASH,
43
+ },
44
+ });
45
+ isLibraryLoaded = true;
46
+ }
47
+ catch (error) {
48
+ isLibraryLoaded = false;
49
+ throw new Error(`Failed to load the cally library: ${error instanceof Error ? error.message : 'Unknown error'}`);
50
+ }
51
+ };
52
+ /**
53
+ * Helper function to load a script with given configuration
54
+ * @param {Object} config - Script configuration
55
+ * @param {string} config.type - The type of the script
56
+ * @param {string} config.src - The source URL of the script
57
+ * @param {Object} [config.attributes] - Additional attributes to set on the script element
58
+ * @returns {Promise<void>}
59
+ */
60
+ const loadScript = ({ type, src, attributes = {} }) => {
61
+ return new Promise((resolve, reject) => {
62
+ const script = document.createElement('script');
63
+ script.type = type;
64
+ script.src = src;
65
+ script.onload = () => resolve();
66
+ script.onerror = (error) => reject(new Error(`Failed to load script: ${src}, ${error instanceof Error ? error.message : 'Unknown error'}`));
67
+ Object.entries(attributes).forEach(([key, value]) => {
68
+ script.setAttribute(key, value);
69
+ });
70
+ document.head.appendChild(script);
71
+ });
72
+ };
73
+ //# sourceMappingURL=callyLibrary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callyLibrary.js","sourceRoot":"","sources":["../../../../../../../src/components/date-picker/helper/callyLibrary.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC;;;;;GAKG;AACH,MAAM,cAAc,GAAG,yEAAyE,CAAC;AAEjG,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAY,EAAE;IAChD,kGAAkG;IAClG,OAAO,eAAe,IAAI,QAAQ,CAAC,aAAa,CAAC,UAAU,sBAAsB,GAAG,CAAC,KAAK,IAAI,CAAC;AACjG,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;IACxD,IAAI,oBAAoB,EAAE;QAAE,OAAO;IAEnC,IAAI,CAAC;QACH,MAAM,UAAU,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,2BAA2B,iBAAiB,gBAAgB;YACjE,UAAU,EAAE;gBACV,CAAC,sBAAsB,CAAC,EAAE,EAAE;gBAC5B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,cAAc;aAC1B;SACF,CAAC,CAAC;QAEH,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAe,GAAG,KAAK,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACnH,CAAC;AACH,CAAC,CAAC;AAQF;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE,EAAgB,EAAiB,EAAE;IACjF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QAEjB,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAChC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAElH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Cally Library loader helper */\n/* -------------------------------------------------------------------------- */\n\nconst CALLY_SCRIPT_ATTRIBUTE = 'data-cally-library';\n//❗ Make sure to update the version here when the library releases a new version\nconst CALLY_LIB_VERSION = '0.8.0';\n/**\n * ❗ Make sure to update the hash here if the `CALLY_LIB_VERSION` is updated\n * This hash is used to ensure the integrity of the library when loading it\n * from a CDN.\n * @see https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity\n */\nconst CALLY_LIB_HASH = 'sha384-giuY/f8D3+ehgOTmQMr4HvrreOITDmvXsZuDCJ1csQ+3dURHA24NqRd8lkSI6uGF';\n\nlet isLibraryLoaded = false;\n\n/**\n * Checks if the Cally library is already loaded in the document\n * @returns {boolean} True if the library is loaded\n */\nexport const isCallyLibraryLoaded = (): boolean => {\n // This might be a bit redundant, but it's a sanity check to ensure the library is actually loaded\n return isLibraryLoaded || document.querySelector(`script[${CALLY_SCRIPT_ATTRIBUTE}]`) !== null;\n};\n\n/**\n * Loads the Cally library for the date picker component\n * @throws {Error} If the library fails to load\n * @return {Promise<void>}\n */\nexport const loadCallyLibrary = async (): Promise<void> => {\n if (isCallyLibraryLoaded()) return;\n\n try {\n await loadScript({\n type: 'module',\n src: `https://unpkg.com/cally@${CALLY_LIB_VERSION}/dist/cally.js`,\n attributes: {\n [CALLY_SCRIPT_ATTRIBUTE]: '',\n crossOrigin: 'anonymous',\n integrity: CALLY_LIB_HASH,\n },\n });\n\n isLibraryLoaded = true;\n } catch (error) {\n isLibraryLoaded = false;\n throw new Error(`Failed to load the cally library: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n};\n\ninterface ScriptConfig {\n type: string;\n src: string;\n attributes?: Record<string, string>;\n}\n\n/**\n * Helper function to load a script with given configuration\n * @param {Object} config - Script configuration\n * @param {string} config.type - The type of the script\n * @param {string} config.src - The source URL of the script\n * @param {Object} [config.attributes] - Additional attributes to set on the script element\n * @returns {Promise<void>}\n */\nconst loadScript = ({ type, src, attributes = {} }: ScriptConfig): Promise<void> => {\n return new Promise<void>((resolve, reject) => {\n const script = document.createElement('script');\n script.type = type;\n script.src = src;\n\n script.onload = () => resolve();\n script.onerror = (error: Event) =>\n reject(new Error(`Failed to load script: ${src}, ${error instanceof Error ? error.message : 'Unknown error'}`));\n\n Object.entries(attributes).forEach(([key, value]) => {\n script.setAttribute(key, value);\n });\n\n document.head.appendChild(script);\n });\n};\n"]}
@@ -149,6 +149,7 @@ export class BqDialog {
149
149
  this.checkPropValues();
150
150
  }
151
151
  componentDidLoad() {
152
+ this.handleSlotChange();
152
153
  this.handleOpenChange();
153
154
  this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name="button-close"]');
154
155
  this.closeSlotElem?.addEventListener('click', () => this.hide());
@@ -246,10 +247,8 @@ export class BqDialog {
246
247
  this.bqAfterClose.emit();
247
248
  this.el.classList.remove(this.OPEN_CSS_CLASS);
248
249
  };
249
- handleContentSlotChange = () => {
250
+ handleSlotChange = () => {
250
251
  this.hasContent = hasSlotContent(this.contentElem);
251
- };
252
- handleFooterSlotChange = () => {
253
252
  this.hasFooter = hasSlotContent(this.footerElem, 'footer');
254
253
  };
255
254
  // render() function
@@ -259,18 +258,18 @@ export class BqDialog {
259
258
  const style = {
260
259
  ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),
261
260
  };
262
- return (h("dialog", { key: '3cd44a424a5e44fc3a74b8d2c3f56f1d489760d6', style: style, class: {
261
+ return (h("dialog", { key: '135ba080be5d1283779bab5563f72f5e840781ef', style: style, class: {
263
262
  [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,
264
263
  'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,
265
- }, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-90", "data-transition-enter-end": "opacity-100 scale-100", "data-transition-leave": "transition ease-out duration-300", "data-transition-leave-start": "opacity-100 scale-100", "data-transition-leave-end": "opacity-0 scale-90", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), "aria-modal": "true", "aria-labelledby": "bq-dialog--title", part: "dialog" }, h("main", { key: 'c967e58afe1dc96623506cbc86ee414b1043a263', class: "flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden", part: "content" }, h("header", { key: '17135bc61996c8896ec713a1331d7e1ff21e48a1', class: "bq-dialog--header", part: "header" }, h("div", { key: 'a31dda76fe4a33da03a7e8ef3883c6b2a6c85dcf', id: "bq-dialog--title", class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, h("slot", { key: 'eb4199ff50b409cb8b1435e54199b137248f9cb8', name: "title" })), h("slot", { key: '81cbc62aae11a6cb1eb23a16516157cfb904689d', name: "button-close" }, !this.hideCloseButton && (h("bq-button", { key: '8f79cf67625472520c7d5025bef8bf37d00a0c17', class: "bq-dialog--close", appearance: "text", size: "small" }, h("bq-icon", { key: 'eb6c9f7186e1d68294bb2bbfab73848d804a443c', class: "cursor-pointer", name: "x", role: "img", title: "Close" }))))), h("div", { key: '7f103bd3befe76498d33727930311a70bc6ceac6', class: {
264
+ }, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-90", "data-transition-enter-end": "opacity-100 scale-100", "data-transition-leave": "transition ease-out duration-300", "data-transition-leave-start": "opacity-100 scale-100", "data-transition-leave-end": "opacity-0 scale-90", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), "aria-modal": "true", "aria-labelledby": "bq-dialog--title", part: "dialog" }, h("main", { key: 'f24799fddd755cf16ceee241946ad87719a28769', class: "flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden", part: "content" }, h("header", { key: 'caca1dffb20724b200bf368f3b6b8e50ca3fbaad', class: "bq-dialog--header", part: "header" }, h("div", { key: 'c859333b1df5ec270cbb0484b7d74257283eba7b', id: "bq-dialog--title", class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, h("slot", { key: '6efb1aa83bf4e37efdbdfb4b7d0580b8c6c068f5', name: "title" })), h("slot", { key: '86cb87c4074a571b18bdc2033a8395f8ce0af484', name: "button-close" }, !this.hideCloseButton && (h("bq-button", { key: 'f9fface9461e62501a7770024ca3b599f8ce0e10', class: "bq-dialog--close", appearance: "text", size: "small" }, h("bq-icon", { key: 'c68d894a421ced27a57fd5bdf40638082d224f56', class: "cursor-pointer", name: "x", role: "img", title: "Close" }))))), h("div", { key: '5b58345eb77b8c1d21439a7eb36ff17cc0e5932e', class: {
266
265
  '!hidden': !this.hasContent,
267
266
  'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,
268
267
  '!p-be-[--bq-dialog--padding]': !this.hasFooter,
269
- }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, h("slot", { key: '09f66573a12a920560fca112333c817fba366bef', onSlotchange: this.handleContentSlotChange }))), h("footer", { key: 'a44d7e507c56d6c1de5535e77658a24de8361b57', class: {
268
+ }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, h("slot", { key: '266d2c5b892814dd0b253ce83ee03df849263a0f', onSlotchange: this.handleSlotChange }))), h("footer", { key: '1ce0fbcc5213ebb56e18d03e22c498f44674eef4', class: {
270
269
  '!hidden': !this.hasFooter,
271
270
  'bq-dialog--footer': this.hasFooter,
272
271
  'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',
273
- }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: '7bbd41828e3c30a3a35916b448fb48e65d4e0d63', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
272
+ }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: '7cfba4b2c8dd4512fed61e81304b4e9bec317ad9', name: "footer", onSlotchange: this.handleSlotChange }))));
274
273
  }
275
274
  static get is() { return "bq-dialog"; }
276
275
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-dialog.js","sourceRoot":"","sources":["../../../../../../src/components/dialog/bq-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/G,OAAO,EACL,wBAAwB,EACxB,WAAW,GAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AAMH,MAAM,OAAO,QAAQ;IACnB,iBAAiB;IACjB,uBAAuB;IAEf,UAAU,CAAoB;IAC9B,WAAW,CAAc;IACzB,UAAU,CAAc;IACxB,aAAa,CAAc;IAC3B,cAAc,GAAG,iBAAiB,CAAC;IAE3C,iCAAiC;IACjC,sCAAsC;IAC3B,EAAE,CAAuB;IAEpC,oBAAoB;IACpB,wCAAwC;IACxC,0CAA0C;IAEzB,UAAU,GAAG,KAAK,CAAC;IACnB,SAAS,GAAG,KAAK,CAAC;IAEnC,sBAAsB;IACtB,2BAA2B;IAE3B,4CAA4C;IACnB,MAAM,GAAwB,GAAG,CAAC;IAE3D,yEAAyE;IAChD,eAAe,GAAG,KAAK,CAAC;IAEjD,qEAAqE;IAC5C,sBAAsB,GAAG,KAAK,CAAC;IAExD,+EAA+E;IACtD,wBAAwB,GAAG,KAAK,CAAC;IAE1D,+BAA+B;IACN,gBAAgB,GAA4B,UAAU,CAAC;IAEhF,yCAAyC;IAChB,eAAe,GAAG,KAAK,CAAC;IAEjD,gDAAgD;IACR,IAAI,GAAY,KAAK,CAAC;IAE9D,6BAA6B;IACW,IAAI,GAAgB,QAAQ,CAAC;IAErE,wBAAwB;IACxB,0BAA0B;IAG1B,eAAe;QACb,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,iBAAiB,CAAC,wBAAwB,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAGD,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,8EAA8E;IACrE,QAAQ,CAAsB;IAEvC,0DAA0D;IACjD,OAAO,CAAsB;IAEtC,yDAAyD;IAChD,MAAM,CAAsB;IAErC,8DAA8D;IACrD,WAAW,CAAsB;IAE1C,8DAA8D;IACrD,YAAY,CAAsB;IAE3C,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,iBAAiB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,YAAY;IACZ,iBAAiB;IAGjB,KAAK,CAAC,gBAAgB,CAAC,KAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,wBAAwB;YAAE,OAAO;QAC9D,kDAAkD;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;QACrD,IACE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;YACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;YAC3B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI;YACzB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,EAC1B,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,aAAa,CAAC,EAAiB;QACnC,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;YAAE,OAAO;QAE3D,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD,sBAAsB;IAEtB,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,gBAAgB;YAAE,OAAO;QAEhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,wBAAwB;IAExB,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,EAAE,CAAC,gBAAgB;YAAE,OAAO;QAEhC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,mCAAmC;IAEnC,KAAK,CAAC,MAAM;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,gBAAgB;YAAE,OAAO;QAEhC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAElD,WAAW,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,qDAAqD;QACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,kBAAkB;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,oDAAoD;QACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEM,mBAAmB,GAAG,GAAG,EAAE;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC;IAEM,uBAAuB,GAAG,GAAG,EAAE;QACrC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC,CAAC;IAEM,sBAAsB,GAAG,GAAG,EAAE;QACpC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,4BAA4B,EAAE,oBAAoB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SACzF,CAAC;QAEF,OAAO,CACL,+DACE,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;gBACL,CAAC,oBAAoB,IAAI,CAAC,IAAI,oCAAoC,CAAC,EAAE,IAAI;gBACzE,+BAA+B,EAAE,IAAI,CAAC,eAAe;aACtD,2BACqB,iCAAiC,iCAC3B,oBAAoB,+BACtB,uBAAuB,2BAC3B,kCAAkC,iCAC5B,uBAAuB,+BACzB,oBAAoB,EAC9C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACnC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,gBACxC,MAAM,qBACD,kBAAkB,EAClC,IAAI,EAAC,QAAQ;YAEb,6DAAM,KAAK,EAAC,iEAAiE,EAAC,IAAI,EAAC,SAAS;gBAC1F,+DAAQ,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,QAAQ;oBAC7C,4DAAK,EAAE,EAAC,kBAAkB,EAAC,KAAK,EAAC,2DAA2D,EAAC,IAAI,EAAC,OAAO;wBACvG,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB;oBACN,6DAAM,IAAI,EAAC,cAAc,IACtB,CAAC,IAAI,CAAC,eAAe,IAAI,CACxB,kEAAW,KAAK,EAAC,kBAAkB,EAAC,UAAU,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO;wBAChE,gEAAS,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,GAAG,CAC1D,CACb,CACI,CACA;gBACT,4DACE,KAAK,EAAE;wBACL,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU;wBAC3B,4CAA4C,EAAE,IAAI,CAAC,UAAU;wBAC7D,8BAA8B,EAAE,CAAC,IAAI,CAAC,SAAS;qBAChD,EACD,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,EAChD,IAAI,EAAC,MAAM;oBAEX,6DAAM,YAAY,EAAE,IAAI,CAAC,uBAAuB,GAAI,CAChD,CACD;YACP,+DACE,KAAK,EAAE;oBACL,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS;oBAC1B,mBAAmB,EAAE,IAAI,CAAC,SAAS;oBACnC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,KAAK,WAAW;iBAC1D,EACD,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,EACnD,IAAI,EAAC,QAAQ;gBAEb,6DAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,GAAI,CAC1D,CACF,CACV,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * The Dialog component is used to display additional content or prompt a user for action.\n * It provides a way to display additional information, options, or controls in a separate, non-obstructive interface element.\n *\n * @example How to use it\n * ```html\n * <bq-dialog footer-appearance=\"standard\" border=\"m\" size=\"medium\">\n * <h5 class=\"bold flex items-center gap-s\" slot=\"title\">\n * <bq-icon name=\"info\" size=\"30\" color=\"text--accent\" role=\"img\" title=\"Info\"></bq-icon>\n * Title\n * </h5>\n * <p>\n * Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n * standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a\n * type specimen book.\n * </p>\n * <div class=\"flex gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"link\">Button</bq-button>\n * <bq-button variant=\"ghost\">Button</bq-button>\n * <bq-button variant=\"standard\" slot=\"footer\">Button</bq-button>\n * </div>\n * </bq-dialog>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/15b6fc-dialog\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {\"none\" | \"xs2\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"full\"} border - Border radius of the dialog component.\n * @attr {boolean} disable-backdrop - If true, the backdrop overlay won't be shown when the dialog opens.\n * @attr {boolean} disable-close-esc-keydown - If true, the dialog will not close when the [Esc] key is pressed.\n * @attr {boolean} disable-close-click-outside - If true, the dialog will not close when clicking on the backdrop overlay.\n * @attr {\"standard\" | \"highlight\"} footer-appearance - The appearance of the footer.\n * @attr {boolean} hide-close-button - If true, it hides the close button.\n * @attr {boolean} open - If true, the dialog will be shown as open.\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the dialog.\n *\n * @method show - Open the dialog.\n * @method hide - Closes the dialog.\n * @method cancel - Dismiss or cancel the dialog.\n *\n * @event bqCancel - Callback handler emitted when the dialog has been canceled or dismissed.\n * @event bqClose - Callback handler emitted when the dialog will close.\n * @event bqOpen - Callback handler emitted when the dialog will open.\n * @event bqAfterOpen - Callback handler emitted when the dialog finish opening.\n * @event bqAfterClose - Callback handler emitted when the dialog finish closing.\n *\n * @slot title - The title content of the dialog.\n * @slot - The body content of the dialog.\n * @slot footer - The footer content of the dialog.\n * @slot button-close - The close button content of the dialog.\n *\n * @part body - The `<main>` that holds the dialog body content.\n * @part button-close - The button that closes the dialog on click.\n * @part content - The `<div>` container that holds the dialog title and body content.\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM.\n * @part footer - The `<footer>` that holds footer content.\n * @part header - The `<header>` that holds the icon, title, description and close button.\n * @part title - The `<div>` that holds the title content.\n *\n * @cssprop --bq-dialog--background - Dialog background color\n * @cssprop --bq-dialog--background-backdrop - Dialog backdrop background color\n * @cssprop --bq-dialog--box-shadow - Dialog box shadow\n * @cssprop --bq-dialog--border-color - Dialog border color\n * @cssprop --bq-dialog--border-style - Dialog border style\n * @cssprop --bq-dialog--border-width - Dialog border width\n * @cssprop --bq-dialog--border-radius - Dialog border radius\n * @cssprop --bq-dialog--padding - Dialog padding\n * @cssprop --bq-dialog--content-footer-gap - Dialog gap distance between content and footer elements\n * @cssprop --bq-dialog--title-body-gap - Dialog gap distance between title and body elements\n * @cssprop --bq-dialog--width-small - Dialog small width\n * @cssprop --bq-dialog--width-medium - Dialog medium width\n * @cssprop --bq-dialog--width-large - Dialog large width\n * @cssprop --bq-dialog-z-index - Dialog z-index applied when opened\n */\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private closeSlotElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Border radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\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.handleOpenChange();\n this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name=\"button-close\"]');\n this.closeSlotElem?.addEventListener('click', () => this.hide());\n }\n\n disconnectedCallback() {\n this.closeSlotElem?.removeEventListener('click', () => this.hide());\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\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 /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n await leave(this.dialogElem);\n this.dialogElem.close();\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n if (this.disableBackdrop) {\n this.dialogElem.show();\n } else {\n this.dialogElem.showModal();\n }\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={{\n [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,\n 'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,\n }}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-90\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-90\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n aria-modal=\"true\"\n aria-labelledby=\"bq-dialog--title\"\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div id=\"bq-dialog--title\" class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,\n '!p-be-[--bq-dialog--padding]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleContentSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-dialog.js","sourceRoot":"","sources":["../../../../../../src/components/dialog/bq-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * The Dialog component is used to display additional content or prompt a user for action.\n * It provides a way to display additional information, options, or controls in a separate, non-obstructive interface element.\n *\n * @example How to use it\n * ```html\n * <bq-dialog footer-appearance=\"standard\" border=\"m\" size=\"medium\">\n * <h5 class=\"bold flex items-center gap-s\" slot=\"title\">\n * <bq-icon name=\"info\" size=\"30\" color=\"text--accent\" role=\"img\" title=\"Info\"></bq-icon>\n * Title\n * </h5>\n * <p>\n * Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's\n * standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a\n * type specimen book.\n * </p>\n * <div class=\"flex gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"link\">Button</bq-button>\n * <bq-button variant=\"ghost\">Button</bq-button>\n * <bq-button variant=\"standard\" slot=\"footer\">Button</bq-button>\n * </div>\n * </bq-dialog>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/15b6fc-dialog\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {\"none\" | \"xs2\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"full\"} border - Border radius of the dialog component.\n * @attr {boolean} disable-backdrop - If true, the backdrop overlay won't be shown when the dialog opens.\n * @attr {boolean} disable-close-esc-keydown - If true, the dialog will not close when the [Esc] key is pressed.\n * @attr {boolean} disable-close-click-outside - If true, the dialog will not close when clicking on the backdrop overlay.\n * @attr {\"standard\" | \"highlight\"} footer-appearance - The appearance of the footer.\n * @attr {boolean} hide-close-button - If true, it hides the close button.\n * @attr {boolean} open - If true, the dialog will be shown as open.\n * @attr {\"small\" | \"medium\" | \"large\"} size - The size of the dialog.\n *\n * @method show - Open the dialog.\n * @method hide - Closes the dialog.\n * @method cancel - Dismiss or cancel the dialog.\n *\n * @event bqCancel - Callback handler emitted when the dialog has been canceled or dismissed.\n * @event bqClose - Callback handler emitted when the dialog will close.\n * @event bqOpen - Callback handler emitted when the dialog will open.\n * @event bqAfterOpen - Callback handler emitted when the dialog finish opening.\n * @event bqAfterClose - Callback handler emitted when the dialog finish closing.\n *\n * @slot title - The title content of the dialog.\n * @slot - The body content of the dialog.\n * @slot footer - The footer content of the dialog.\n * @slot button-close - The close button content of the dialog.\n *\n * @part body - The `<main>` that holds the dialog body content.\n * @part button-close - The button that closes the dialog on click.\n * @part content - The `<div>` container that holds the dialog title and body content.\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM.\n * @part footer - The `<footer>` that holds footer content.\n * @part header - The `<header>` that holds the icon, title, description and close button.\n * @part title - The `<div>` that holds the title content.\n *\n * @cssprop --bq-dialog--background - Dialog background color\n * @cssprop --bq-dialog--background-backdrop - Dialog backdrop background color\n * @cssprop --bq-dialog--box-shadow - Dialog box shadow\n * @cssprop --bq-dialog--border-color - Dialog border color\n * @cssprop --bq-dialog--border-style - Dialog border style\n * @cssprop --bq-dialog--border-width - Dialog border width\n * @cssprop --bq-dialog--border-radius - Dialog border radius\n * @cssprop --bq-dialog--padding - Dialog padding\n * @cssprop --bq-dialog--content-footer-gap - Dialog gap distance between content and footer elements\n * @cssprop --bq-dialog--title-body-gap - Dialog gap distance between title and body elements\n * @cssprop --bq-dialog--width-small - Dialog small width\n * @cssprop --bq-dialog--width-medium - Dialog medium width\n * @cssprop --bq-dialog--width-large - Dialog large width\n * @cssprop --bq-dialog-z-index - Dialog z-index applied when opened\n */\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private closeSlotElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Border radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\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.handleSlotChange();\n this.handleOpenChange();\n\n this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name=\"button-close\"]');\n this.closeSlotElem?.addEventListener('click', () => this.hide());\n }\n\n disconnectedCallback() {\n this.closeSlotElem?.removeEventListener('click', () => this.hide());\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\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 /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n await leave(this.dialogElem);\n this.dialogElem.close();\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n if (this.disableBackdrop) {\n this.dialogElem.show();\n } else {\n this.dialogElem.showModal();\n }\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={{\n [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,\n 'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,\n }}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-90\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-90\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n aria-modal=\"true\"\n aria-labelledby=\"bq-dialog--title\"\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div id=\"bq-dialog--title\" class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,\n '!p-be-[--bq-dialog--padding]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"]}
@@ -150,6 +150,9 @@ export class BqDrawer {
150
150
  // !TO BE REMOVED: Delete this once the deprecated `placement` property is removed
151
151
  this.handlePlacementChange();
152
152
  }
153
+ componentDidLoad() {
154
+ this.handleFooterSlotChange();
155
+ }
153
156
  // Listeners
154
157
  // ==============
155
158
  async handleMouseClick(event) {
@@ -232,20 +235,20 @@ export class BqDrawer {
232
235
  // Always the last one in the class.
233
236
  // ===================================
234
237
  render() {
235
- return (h(Host, { key: 'a716a127c60de5db3e25edb6f7c9aaed4fa3d7e5' }, this.enableBackdrop && (h("div", { key: '2c35713184b02bdc5cb7a144a7f50acd0eabf17f', class: {
238
+ return (h(Host, { key: '83f55f61d6f3dff26d4b9f8f987734839de4135e' }, this.enableBackdrop && (h("div", { key: '89a05f0693053eda89e5d11c420113d33fb95cc8', class: {
236
239
  'fixed inset-0 block bg-[--bq-drawer--backgroundBackdrop] opacity-0 transition-opacity duration-300': true,
237
240
  'pointer-events-none': !this.open,
238
241
  'opacity-60': this.open,
239
- }, tabIndex: -1, part: "backdrop" })), h("div", { key: '5b81a5bdc905b0e1c9d021e19d8cc71d99603aca', class: {
242
+ }, tabIndex: -1, part: "backdrop" })), h("div", { key: '200019ad3a62c5bd13566773a5313cfb537b9e82', class: {
240
243
  [`bq-drawer transition-all duration-300 ease-in-out ${this.position || this.placement}`]: true,
241
244
  '-start-[--bq-drawer--width]': this.isPositionStart,
242
245
  '-end-[--bq-drawer--width]': this.isPositionEnd,
243
246
  'start-0': this.open && this.isPositionStart,
244
247
  'end-0': this.open && this.isPositionEnd,
245
- }, ref: (div) => (this.drawerElem = div), "aria-hidden": !this.open ? 'true' : 'false', "aria-labelledby": "bq-drawer__title", "aria-modal": "true", hidden: !this.open, part: "panel", role: "dialog" }, h("header", { key: '8991fce74864f75efe643ce271cd3b7706232665', class: "flex items-center", part: "header" }, h("h2", { key: 'ee292cd20857dc02423e5b46e7ecd43c0da616ca', class: "flex-1 items-center justify-between font-bold leading-regular text-primary", id: "bq-drawer__title", part: "title" }, h("slot", { key: '9a40f9bd02d3b62a6ab30813805332586928bb60', name: "title" })), h("div", { key: '89e7788a9eabfa538185b8e1fefb3d85cb20126b', class: "flex", part: "button-close" }, h("bq-button", { key: '58e2bff54395943c2847fa242b27f15ae4fad323', class: "[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex", appearance: "text", size: "small", slot: "button-close", exportparts: "button:button-close__btn,label:button-close__label", onClick: this.hide.bind(this) }, h("slot", { key: 'cf80701a3b3937074cd2bf1da198c0278d2c0eb9', name: "button-close" }, h("bq-icon", { key: '1273bcaf86c227666bf9138d00d4262f29c4959e', name: "x-bold", role: "img", title: "Close" }))))), h("main", { key: 'b880d52a3f611d1ea23eca2b671a1c06035c44b7', class: "block flex-auto overflow-auto", part: "body" }, h("slot", { key: 'aab010203250eb15cfed94597a678324525f52e7' })), h("footer", { key: '6fb62993cf08d45046549d5ad11d0a01d307371a', class: {
248
+ }, ref: (div) => (this.drawerElem = div), "aria-hidden": !this.open ? 'true' : 'false', "aria-labelledby": "bq-drawer__title", "aria-modal": "true", hidden: !this.open, part: "panel", role: "dialog" }, h("header", { key: '96652eb3fa91d9a2caf5604c0aa1eeaa17cc81b8', class: "flex items-center", part: "header" }, h("h2", { key: 'eec5cb333c9c58b2c4609e512109bef8eb605bab', class: "flex-1 items-center justify-between font-bold leading-regular text-primary", id: "bq-drawer__title", part: "title" }, h("slot", { key: 'cd3aefa705728a68f9a3ac0ce58277db770cd78d', name: "title" })), h("div", { key: 'cc790b9b739a73fae4cbefb378292149f3a79ecf', class: "flex", part: "button-close" }, h("bq-button", { key: 'ccbc79f015a5bc9ffd3aa39a4cabbf1277004631', class: "[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex", appearance: "text", size: "small", slot: "button-close", exportparts: "button:button-close__btn,label:button-close__label", onClick: this.hide.bind(this) }, h("slot", { key: '3d90fc7cdd1f8b91193ef5bd1021b2c6985c6779', name: "button-close" }, h("bq-icon", { key: '4c0ece9db83f3c2195978e32210470415cca3e5b', name: "x-bold", role: "img", title: "Close" }))))), h("main", { key: '090963d8e845305fa269fdd81c9c102182c32ba6', class: "block flex-auto overflow-auto", part: "body" }, h("slot", { key: 'bc60fa850c87710ca6e6b2a14adcf2039f7362d2' })), h("footer", { key: '9c7ed47e5c88b4e3307766974d062c9ed8813b56', class: {
246
249
  block: true,
247
250
  '!hidden': !this.hasFooter,
248
- }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: 'ade83c02ad4c9992e951b7a1dc68c9c83d0ae378', name: "footer-divider" }, h("bq-divider", { key: '4192ca556fd8564ab9fc5cc20a324edcc21d3df3', class: "mb-m block", dashed: true })), h("slot", { key: '0cdbcef8d62e5f8ca1d9414dbc46b69de79a0e54', name: "footer", onSlotchange: this.handleFooterSlotChange })))));
251
+ }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: 'f9daf2a58ff77d1b71210a5157fad68578c7d8ae', name: "footer-divider" }, h("bq-divider", { key: '8869f1229d7f979d80089d1556b3739a96d3f55d', class: "mb-m block", dashed: true })), h("slot", { key: '4253a7b31cdeceafbf3cc60d9459271a5831cc7d', name: "footer", onSlotchange: this.handleFooterSlotChange })))));
249
252
  }
250
253
  static get is() { return "bq-drawer"; }
251
254
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-drawer.js","sourceRoot":"","sources":["../../../../../../src/components/drawer/bq-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { DRAWER_PLACEMENT, DRAWER_POSITIONS, TDrawerPlacement, TDrawerPosition } from './bq-drawer.types';\nimport { enter, hasSlotContent, isNil, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * The Drawer component provides a sliding panel interface commonly used for navigation or presenting additional content without taking up significant screen space.\n *\n * @example How to use it\n * ```html\n * <bq-drawer position=\"end\">\n * <div class=\"flex gap-xs\" slot=\"title\">Title</div>\n * <div class=\"...\">\n * Content\n * </div>\n * <div class=\"flex flex-1 justify-center gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"primary\" block=\"\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" block=\"\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-drawer>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/871139-drawer\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n * @dependency bq-divider\n *\n * @attr {boolean} enable-backdrop - If true, the backdrop overlay will be shown when the drawer opens.\n * @attr {boolean} close-on-click-outside - If true, the drawer will not close when clicking outside the panel.\n * @attr {boolean} close-on-esc - If true, the drawer will not close when the [Esc] key is pressed.\n * @attr {boolean} open - If true, the drawer component will be shown.\n * @attr {\"start\" | \"end\"} position - Defines the position of the drawer.\n *\n * @method show - Method to be called to show the drawer component.\n * @method hide - Method to be called to hide the drawer component.\n *\n * @event bqClose - Callback handler to be called when the drawer is closed.\n * @event bqOpen - Callback handler to be called when the drawer is opened.\n * @event bqAfterOpen - Callback handler to be called after the drawer has been opened.\n * @event bqAfterClose - Callback handler to be called after the drawer has been closed.\n *\n * @slot title - The title content of the drawer.\n * @slot - The body content of the drawer.\n * @slot footer - The footer content of the drawer.\n * @slot button-close - The close button content of the drawer.\n * @slot footer-divider - The footer divider content of the drawer.\n *\n * @part backdrop - The `<div>` that holds the backdrop overlay.\n * @part button-close - The BqButton that closes the drawer.\n * @part button-close__btn - The native button used under the hood that closes the drawer.\n * @part button-close__label - The text inside the native button that closes the drawer.\n * @part panel - The `<div>` that holds the drawer entire content.\n * @part header - The `<header>` that holds the icon, title, and close button.\n * @part title - The `<div>` that holds the title content.\n * @part body - The `<main>` that holds the drawer body content.\n * @part footer - The `<footer>` that holds footer content.\n *\n * @cssprop --bq-drawer--backgroundBackdrop - Background color of the backdrop\n * @cssprop --bq-drawer--gap - Gap between the drawer and the viewport\n * @cssprop --bq-drawer--width - Width of the drawer\n * @cssprop --bq-drawer--paddingX - Padding left and right of the drawer\n * @cssprop --bq-drawer--paddingY - Padding top and bottom of the drawer\n * @cssprop --bq-drawer--zIndex - Z-index of the drawer component\n */\n@Component({\n tag: 'bq-drawer',\n styleUrl: './scss/bq-drawer.scss',\n shadow: true,\n})\nexport class BqDrawer {\n // Own Properties\n // ====================\n\n private footerElem: HTMLElement;\n private drawerElem: HTMLDivElement;\n private OPEN_CSS_CLASS = 'bq-drawer--open';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDrawerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasFooter = false;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the backdrop overlay will be shown when the drawer opens */\n @Prop({ reflect: true }) enableBackdrop = false;\n\n /** If true, the drawer will not close when clicking outside the panel */\n @Prop({ reflect: true }) closeOnClickOutside = false;\n\n /** If true, the dialog will not close when the [Esc] key is pressed */\n @Prop({ reflect: true }) closeOnEsc = false;\n\n /** If true, the drawer component will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** @deprecated Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) placement: TDrawerPlacement = 'right';\n\n /** Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) position: TDrawerPosition = 'end';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('open')\n async handleOpenChange() {\n if (!this.open) {\n await this.handleAfterHide();\n return;\n }\n\n await this.handleAfterShow();\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `placement` property is removed\n * We need to maintain retro-compatibility with the deprecated `placement` property\n */\n @Watch('placement')\n handlePlacementChange() {\n if (!isNil(this.placement)) {\n console.warn(\n `❗️ [bq-drawer]: the 'placement' prop is deprecated and it will be removed in the future. Please use 'position' instead.`,\n );\n }\n validatePropValue(DRAWER_PLACEMENT, 'right', this.el, 'placement');\n // Sync 'position' property\n const synPositionMap = {\n right: 'end',\n left: 'start',\n };\n this.position = (synPositionMap[this.placement] as TDrawerPosition) || this.position;\n }\n\n @Watch('position')\n handlePositionChange() {\n validatePropValue(DRAWER_POSITIONS, 'start', this.el, 'position');\n /**\n * Sync 'placement' property\n * !TO BE REMOVED: Delete the code below once the deprecated `placement` property is removed\n */\n const syncPlacementMap = {\n end: 'right',\n start: 'left',\n };\n this.placement = (syncPlacementMap[this.position] as TDrawerPlacement) || this.placement;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the drawer is closed */\n @Event() bqClose!: EventEmitter;\n\n /** Callback handler to be called when the drawer is opened */\n @Event() bqOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handlePositionChange();\n // !TO BE REMOVED: Delete this once the deprecated `placement` property is removed\n this.handlePlacementChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.drawerElem.getBoundingClientRect();\n if (event.clientX < rect.left || event.clientX > rect.right) {\n await this.hide();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(event: KeyboardEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnEsc || !(event.key === 'Escape' || event.key === 'Esc')) return;\n\n await this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the drawer component */\n @Method()\n async hide(): Promise<void> {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Method to be called to show the drawer component */\n @Method()\n async show(): Promise<void> {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private handleAfterHide = async () => {\n if (!this.drawerElem) return;\n\n await leave(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleAfterShow = async () => {\n if (!this.drawerElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n await enter(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private get isPositionStart() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'start' || this.placement === 'left';\n }\n\n private get isPositionEnd() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'end' || this.placement === 'right';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n {/* BACKDROP */}\n {this.enableBackdrop && (\n <div\n class={{\n 'fixed inset-0 block bg-[--bq-drawer--backgroundBackdrop] opacity-0 transition-opacity duration-300':\n true,\n 'pointer-events-none': !this.open,\n 'opacity-60': this.open,\n }}\n tabIndex={-1}\n part=\"backdrop\"\n />\n )}\n {/* DRAWER PANEL */}\n <div\n class={{\n [`bq-drawer transition-all duration-300 ease-in-out ${this.position || this.placement}`]: true,\n '-start-[--bq-drawer--width]': this.isPositionStart,\n '-end-[--bq-drawer--width]': this.isPositionEnd,\n 'start-0': this.open && this.isPositionStart,\n 'end-0': this.open && this.isPositionEnd,\n }}\n ref={(div) => (this.drawerElem = div)}\n aria-hidden={!this.open ? 'true' : 'false'}\n aria-labelledby=\"bq-drawer__title\"\n aria-modal=\"true\"\n hidden={!this.open}\n part=\"panel\"\n role=\"dialog\"\n >\n <header class=\"flex items-center\" part=\"header\">\n <h2\n class=\"flex-1 items-center justify-between font-bold leading-regular text-primary\"\n id=\"bq-drawer__title\"\n part=\"title\"\n >\n <slot name=\"title\" />\n </h2>\n <div class=\"flex\" part=\"button-close\">\n <bq-button\n class=\"[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n slot=\"button-close\"\n exportparts=\"button:button-close__btn,label:button-close__label\"\n onClick={this.hide.bind(this)}\n >\n <slot name=\"button-close\">\n <bq-icon name=\"x-bold\" role=\"img\" title=\"Close\" />\n </slot>\n </bq-button>\n </div>\n </header>\n <main class=\"block flex-auto overflow-auto\" part=\"body\">\n <slot />\n </main>\n <footer\n class={{\n block: true,\n '!hidden': !this.hasFooter,\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer-divider\">\n <bq-divider class=\"mb-m block\" dashed />\n </slot>\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-drawer.js","sourceRoot":"","sources":["../../../../../../src/components/drawer/bq-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { DRAWER_PLACEMENT, DRAWER_POSITIONS, TDrawerPlacement, TDrawerPosition } from './bq-drawer.types';\nimport { enter, hasSlotContent, isNil, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * The Drawer component provides a sliding panel interface commonly used for navigation or presenting additional content without taking up significant screen space.\n *\n * @example How to use it\n * ```html\n * <bq-drawer position=\"end\">\n * <div class=\"flex gap-xs\" slot=\"title\">Title</div>\n * <div class=\"...\">\n * Content\n * </div>\n * <div class=\"flex flex-1 justify-center gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"primary\" block=\"\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" block=\"\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-drawer>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/871139-drawer\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n * @dependency bq-divider\n *\n * @attr {boolean} enable-backdrop - If true, the backdrop overlay will be shown when the drawer opens.\n * @attr {boolean} close-on-click-outside - If true, the drawer will not close when clicking outside the panel.\n * @attr {boolean} close-on-esc - If true, the drawer will not close when the [Esc] key is pressed.\n * @attr {boolean} open - If true, the drawer component will be shown.\n * @attr {\"start\" | \"end\"} position - Defines the position of the drawer.\n *\n * @method show - Method to be called to show the drawer component.\n * @method hide - Method to be called to hide the drawer component.\n *\n * @event bqClose - Callback handler to be called when the drawer is closed.\n * @event bqOpen - Callback handler to be called when the drawer is opened.\n * @event bqAfterOpen - Callback handler to be called after the drawer has been opened.\n * @event bqAfterClose - Callback handler to be called after the drawer has been closed.\n *\n * @slot title - The title content of the drawer.\n * @slot - The body content of the drawer.\n * @slot footer - The footer content of the drawer.\n * @slot button-close - The close button content of the drawer.\n * @slot footer-divider - The footer divider content of the drawer.\n *\n * @part backdrop - The `<div>` that holds the backdrop overlay.\n * @part button-close - The BqButton that closes the drawer.\n * @part button-close__btn - The native button used under the hood that closes the drawer.\n * @part button-close__label - The text inside the native button that closes the drawer.\n * @part panel - The `<div>` that holds the drawer entire content.\n * @part header - The `<header>` that holds the icon, title, and close button.\n * @part title - The `<div>` that holds the title content.\n * @part body - The `<main>` that holds the drawer body content.\n * @part footer - The `<footer>` that holds footer content.\n *\n * @cssprop --bq-drawer--backgroundBackdrop - Background color of the backdrop\n * @cssprop --bq-drawer--gap - Gap between the drawer and the viewport\n * @cssprop --bq-drawer--width - Width of the drawer\n * @cssprop --bq-drawer--paddingX - Padding left and right of the drawer\n * @cssprop --bq-drawer--paddingY - Padding top and bottom of the drawer\n * @cssprop --bq-drawer--zIndex - Z-index of the drawer component\n */\n@Component({\n tag: 'bq-drawer',\n styleUrl: './scss/bq-drawer.scss',\n shadow: true,\n})\nexport class BqDrawer {\n // Own Properties\n // ====================\n\n private footerElem: HTMLElement;\n private drawerElem: HTMLDivElement;\n private OPEN_CSS_CLASS = 'bq-drawer--open';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDrawerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasFooter = false;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the backdrop overlay will be shown when the drawer opens */\n @Prop({ reflect: true }) enableBackdrop = false;\n\n /** If true, the drawer will not close when clicking outside the panel */\n @Prop({ reflect: true }) closeOnClickOutside = false;\n\n /** If true, the dialog will not close when the [Esc] key is pressed */\n @Prop({ reflect: true }) closeOnEsc = false;\n\n /** If true, the drawer component will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** @deprecated Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) placement: TDrawerPlacement = 'right';\n\n /** Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) position: TDrawerPosition = 'end';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('open')\n async handleOpenChange() {\n if (!this.open) {\n await this.handleAfterHide();\n return;\n }\n\n await this.handleAfterShow();\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `placement` property is removed\n * We need to maintain retro-compatibility with the deprecated `placement` property\n */\n @Watch('placement')\n handlePlacementChange() {\n if (!isNil(this.placement)) {\n console.warn(\n `❗️ [bq-drawer]: the 'placement' prop is deprecated and it will be removed in the future. Please use 'position' instead.`,\n );\n }\n validatePropValue(DRAWER_PLACEMENT, 'right', this.el, 'placement');\n // Sync 'position' property\n const synPositionMap = {\n right: 'end',\n left: 'start',\n };\n this.position = (synPositionMap[this.placement] as TDrawerPosition) || this.position;\n }\n\n @Watch('position')\n handlePositionChange() {\n validatePropValue(DRAWER_POSITIONS, 'start', this.el, 'position');\n /**\n * Sync 'placement' property\n * !TO BE REMOVED: Delete the code below once the deprecated `placement` property is removed\n */\n const syncPlacementMap = {\n end: 'right',\n start: 'left',\n };\n this.placement = (syncPlacementMap[this.position] as TDrawerPlacement) || this.placement;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the drawer is closed */\n @Event() bqClose!: EventEmitter;\n\n /** Callback handler to be called when the drawer is opened */\n @Event() bqOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handlePositionChange();\n // !TO BE REMOVED: Delete this once the deprecated `placement` property is removed\n this.handlePlacementChange();\n }\n\n componentDidLoad() {\n this.handleFooterSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.drawerElem.getBoundingClientRect();\n if (event.clientX < rect.left || event.clientX > rect.right) {\n await this.hide();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(event: KeyboardEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnEsc || !(event.key === 'Escape' || event.key === 'Esc')) return;\n\n await this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the drawer component */\n @Method()\n async hide(): Promise<void> {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Method to be called to show the drawer component */\n @Method()\n async show(): Promise<void> {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private handleAfterHide = async () => {\n if (!this.drawerElem) return;\n\n await leave(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleAfterShow = async () => {\n if (!this.drawerElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n await enter(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private get isPositionStart() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'start' || this.placement === 'left';\n }\n\n private get isPositionEnd() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'end' || this.placement === 'right';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n {/* BACKDROP */}\n {this.enableBackdrop && (\n <div\n class={{\n 'fixed inset-0 block bg-[--bq-drawer--backgroundBackdrop] opacity-0 transition-opacity duration-300':\n true,\n 'pointer-events-none': !this.open,\n 'opacity-60': this.open,\n }}\n tabIndex={-1}\n part=\"backdrop\"\n />\n )}\n {/* DRAWER PANEL */}\n <div\n class={{\n [`bq-drawer transition-all duration-300 ease-in-out ${this.position || this.placement}`]: true,\n '-start-[--bq-drawer--width]': this.isPositionStart,\n '-end-[--bq-drawer--width]': this.isPositionEnd,\n 'start-0': this.open && this.isPositionStart,\n 'end-0': this.open && this.isPositionEnd,\n }}\n ref={(div) => (this.drawerElem = div)}\n aria-hidden={!this.open ? 'true' : 'false'}\n aria-labelledby=\"bq-drawer__title\"\n aria-modal=\"true\"\n hidden={!this.open}\n part=\"panel\"\n role=\"dialog\"\n >\n <header class=\"flex items-center\" part=\"header\">\n <h2\n class=\"flex-1 items-center justify-between font-bold leading-regular text-primary\"\n id=\"bq-drawer__title\"\n part=\"title\"\n >\n <slot name=\"title\" />\n </h2>\n <div class=\"flex\" part=\"button-close\">\n <bq-button\n class=\"[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n slot=\"button-close\"\n exportparts=\"button:button-close__btn,label:button-close__label\"\n onClick={this.hide.bind(this)}\n >\n <slot name=\"button-close\">\n <bq-icon name=\"x-bold\" role=\"img\" title=\"Close\" />\n </slot>\n </bq-button>\n </div>\n </header>\n <main class=\"block flex-auto overflow-auto\" part=\"body\">\n <slot />\n </main>\n <footer\n class={{\n block: true,\n '!hidden': !this.hasFooter,\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer-divider\">\n <bq-divider class=\"mb-m block\" dashed />\n </slot>\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- .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))}.bq-drawer,.shadow-m{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::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}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.z-\[--bq-drawer--zIndex\]{z-index:var(--bq-drawer--zIndex)}.flex{display:flex}.flex-col{flex-direction:column}.gap-\[--bq-drawer--gap\]{gap:var(--bq-drawer--gap)}.bg-primary{background-color:var(--bq-background--primary)}.shadow-m{--tw-shadow:var(--bq-box-shadow--m);--tw-shadow-colored:var(--bq-box-shadow--m);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.is-\[--bq-drawer--width\]{inline-size:var(--bq-drawer--width)}.max-is-full{max-inline-size:100%}.p-b-\[--bq-drawer--paddingY\]{padding-block:var(--bq-drawer--paddingY)}.p-i-\[--bq-drawer--paddingX\]{padding-inline:var(--bq-drawer--paddingX)}.inset-b-0{inset-block:0}@-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-drawer--backgroundBackdrop:var(--bq-background--overlay);--bq-drawer--gap:var(--bq-spacing-l);--bq-drawer--width:320px;--bq-drawer--paddingX:var(--bq-spacing-l);--bq-drawer--paddingY:var(--bq-spacing-m);--bq-drawer--zIndex:10;visibility:hidden!important}:host(.bq-drawer--open){visibility:visible!important}.bq-drawer{--tw-shadow:var(--bq-box-shadow--m);--tw-shadow-colored:var(--bq-box-shadow--m);background-color:var(--bq-background--primary);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:var(--bq-drawer--gap);inline-size:var(--bq-drawer--width);inset-block:0;max-inline-size:100%;padding-block:var(--bq-drawer--paddingY);padding-inline:var(--bq-drawer--paddingX);position:fixed;z-index:var(--bq-drawer--zIndex)}.pointer-events-none{pointer-events:none}.static{position:static}.inset-0{inset:0}.-end-\[--bq-drawer--width\]{inset-inline-end:calc(var(--bq-drawer--width)*-1)}.-start-\[--bq-drawer--width\]{inset-inline-start:calc(var(--bq-drawer--width)*-1)}.end-0{inset-inline-end:0}.start-0{inset-inline-start:0}.mb-m{margin-bottom:var(--bq-spacing-m)}.block{display:block}.\!hidden{display:none!important}.hidden{display:none}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--bq-spacing-xs)}.overflow-auto{overflow:auto}.bg-\[--bq-drawer--backgroundBackdrop\]{background-color:var(--bq-drawer--backgroundBackdrop)}.font-bold{font-weight:var(--bq-font-weight--bold)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;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)}.\[\&\:\:part\(button\)\]\:rounded-s::part(button){border-radius:var(--bq-radius--s)}.\[\&\:\:part\(button\)\]\:border-0::part(button){border-width:0}.\[\&\:\:part\(button\)\]\:bs-fit::part(button){block-size:fit-content}.\[\&\:\:part\(button\)\]\:p-b-0::part(button){padding-block:0}.\[\&\:\:part\(button\)\]\:p-i-0::part(button){padding-inline:0}.\[\&\:\:part\(label\)\]\:inline-flex::part(label){display:inline-flex}.gap-0{gap:0}.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)}.inline{display:inline}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}
1
+ .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))}.bq-drawer,.shadow-m{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::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}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.z-\[--bq-drawer--zIndex\]{z-index:var(--bq-drawer--zIndex)}.flex{display:flex}.flex-col{flex-direction:column}.gap-\[--bq-drawer--gap\]{gap:var(--bq-drawer--gap)}.bg-primary{background-color:var(--bq-background--primary)}.shadow-m{--tw-shadow:var(--bq-box-shadow--m);--tw-shadow-colored:var(--bq-box-shadow--m);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.is-\[--bq-drawer--width\]{inline-size:var(--bq-drawer--width)}.max-is-full{max-inline-size:100%}.p-b-\[--bq-drawer--paddingY\]{padding-block:var(--bq-drawer--paddingY)}.p-i-\[--bq-drawer--paddingX\]{padding-inline:var(--bq-drawer--paddingX)}.inset-b-0{inset-block:0}@-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-drawer--backgroundBackdrop:var(--bq-background--overlay);--bq-drawer--gap:var(--bq-spacing-l);--bq-drawer--width:320px;--bq-drawer--paddingX:var(--bq-spacing-l);--bq-drawer--paddingY:var(--bq-spacing-m);--bq-drawer--zIndex:10;visibility:hidden!important}:host(.bq-drawer--open){visibility:visible!important}.bq-drawer{--tw-shadow:var(--bq-box-shadow--m);--tw-shadow-colored:var(--bq-box-shadow--m);background-color:var(--bq-background--primary);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;gap:var(--bq-drawer--gap);inline-size:var(--bq-drawer--width);inset-block:0;max-inline-size:100%;padding-block:var(--bq-drawer--paddingY);padding-inline:var(--bq-drawer--paddingX);position:fixed;z-index:var(--bq-drawer--zIndex)}.pointer-events-none{pointer-events:none}.static{position:static}.inset-0{inset:0}.-end-\[--bq-drawer--width\]{inset-inline-end:calc(var(--bq-drawer--width)*-1)}.-start-\[--bq-drawer--width\]{inset-inline-start:calc(var(--bq-drawer--width)*-1)}.end-0{inset-inline-end:0}.start-0{inset-inline-start:0}.mb-m{margin-bottom:var(--bq-spacing-m)}.block{display:block}.\!hidden{display:none!important}.hidden{display:none}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--bq-spacing-xs)}.overflow-auto{overflow:auto}.bg-\[--bq-drawer--backgroundBackdrop\]{background-color:var(--bq-drawer--backgroundBackdrop)}.font-bold{font-weight:var(--bq-font-weight--bold)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;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)}.\[\&\:\:part\(button\)\]\:rounded-s::part(button){border-radius:var(--bq-radius--s)}.\[\&\:\:part\(button\)\]\:border-0::part(button){border-width:0}.\[\&\:\:part\(button\)\]\:bs-fit::part(button){block-size:fit-content}.\[\&\:\:part\(button\)\]\:p-b-0::part(button){padding-block:0}.\[\&\:\:part\(button\)\]\:p-i-0::part(button){padding-inline:0}.\[\&\:\:part\(label\)\]\:inline-flex::part(label){display:inline-flex}.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)}.gap-0{gap:0}.inline{display:inline}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}
@@ -62,6 +62,9 @@ export class BqEmptyState {
62
62
  componentWillLoad() {
63
63
  this.checkPropValues();
64
64
  }
65
+ componentDidLoad() {
66
+ this.handleSlotChange();
67
+ }
65
68
  // Listeners
66
69
  // ==============
67
70
  // Public methods API
@@ -74,10 +77,8 @@ export class BqEmptyState {
74
77
  // Internal business logic.
75
78
  // These methods cannot be called from the host element.
76
79
  // =======================================================
77
- handleContentSlotChange = () => {
80
+ handleSlotChange = () => {
78
81
  this.hasBody = hasSlotContent(this.bodyElem, 'body');
79
- };
80
- handleFooterSlotChange = () => {
81
82
  this.hasFooter = hasSlotContent(this.footerElem, 'footer');
82
83
  };
83
84
  get iconSize() {
@@ -87,11 +88,11 @@ export class BqEmptyState {
87
88
  // Always the last one in the class.
88
89
  // ===================================
89
90
  render() {
90
- return (h("div", { key: '265bf294dfd83d5d1d28c4f5d25320aa75111ec1', class: "inline-flex flex-col items-center", part: "wrapper" }, h("div", { key: '35bc5ede6393064956829c70edabf1199c8c98df', class: {
91
+ return (h("div", { key: '8079680edf3b14a5b0473a13498dc045d25c492d', class: "inline-flex flex-col items-center", part: "wrapper" }, h("div", { key: '457990eadb0f908e56ae1e2eeaca85966d2a66d3', class: {
91
92
  'm-be-m': this.size === 'small',
92
93
  'm-be-xl': this.size === 'medium',
93
94
  'm-be-xxl': this.size === 'large',
94
- }, part: "thumbnail" }, h("slot", { key: '07844c7da5e149500859d2ee07cd31b68d72d8d6', name: "thumbnail" }, h("bq-icon", { key: 'f4fc24936461d81288d48cbae35ef41480776238', size: this.iconSize, name: "database", part: "icon", exportparts: "base,svg" }))), h("div", { key: '448dc648e7a419b9c53e38c7257a0ef1cfbd6fee', class: {
95
+ }, part: "thumbnail" }, h("slot", { key: '64563d3d5a40fdb24cc4d468a9ad63f777468fb9', name: "thumbnail" }, h("bq-icon", { key: 'f9aa9c6a33dc6922aae4e18349c64ebb371b6fb2', size: this.iconSize, name: "database", part: "icon", exportparts: "base,svg" }))), h("div", { key: '3b73f8bf763d8f7afa54e41a759843b71159f022', class: {
95
96
  'font-bold leading-regular text-primary': true,
96
97
  'text-m': this.size === 'small',
97
98
  'text-l': this.size === 'medium',
@@ -99,7 +100,7 @@ export class BqEmptyState {
99
100
  'm-be-xs': this.size === 'small' && this.hasBody,
100
101
  'm-be-m': this.size === 'medium' && this.hasBody,
101
102
  'm-be-l': this.size === 'large' && this.hasBody,
102
- }, part: "title" }, h("slot", { key: 'fbb8d58e6d6507403f14bd8aae04cd6345cfde9a' })), h("div", { key: '907ebb451f780278be93ef765aae23a073e381ff', class: {
103
+ }, part: "title" }, h("slot", { key: '1abd1a911fbcb6cc8d239ce94529a5081546a37f' })), h("div", { key: '920c6e7ff233b5cddd32c844987e3d8aa37d0bec', class: {
103
104
  'font-normal leading-regular': true,
104
105
  'text-s': this.size === 'small',
105
106
  'text-m': this.size === 'medium',
@@ -107,7 +108,7 @@ export class BqEmptyState {
107
108
  'm-be-m': this.size === 'small' && this.hasFooter,
108
109
  'm-be-l': this.size === 'medium' && this.hasFooter,
109
110
  'm-be-xl': this.size === 'large' && this.hasFooter,
110
- }, ref: (div) => (this.bodyElem = div), part: "body" }, h("slot", { key: '15ae662e06daa9b8d1c62c43b4165083a5ba3b64', name: "body", onSlotchange: this.handleContentSlotChange })), h("div", { key: '10a192b571932ff950ee923480eb2f5cf07ec433', class: "flex items-start gap-xs", ref: (div) => (this.footerElem = div), part: "footer" }, h("slot", { key: '8370de211d144a29d54ebda8f5af447c4fddaaff', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
111
+ }, ref: (div) => (this.bodyElem = div), part: "body" }, h("slot", { key: 'f7894e5c291a05262dbade42dafccc223a6ac0e6', name: "body", onSlotchange: this.handleSlotChange })), h("div", { key: '0603bdaa963924bf8ef99640fcd695c5a03ff533', class: "flex items-start gap-xs", ref: (div) => (this.footerElem = div), part: "footer" }, h("slot", { key: '26faa3a234103e25234ae8d28e07dd4747566e30', name: "footer", onSlotchange: this.handleSlotChange }))));
111
112
  }
112
113
  static get is() { return "bq-empty-state"; }
113
114
  static get encapsulation() { return "shadow"; }