@beeq/core 1.8.0-beta.4 → 1.8.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) 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 +12 -12
  4. package/dist/beeq/{p-7ea146b8.entry.js → p-01fe8efb.entry.js} +1 -3
  5. package/dist/beeq/{p-7ea146b8.entry.js.map → p-01fe8efb.entry.js.map} +1 -1
  6. package/dist/beeq/{p-d9bcaeed.entry.js → p-03373320.entry.js} +1 -3
  7. package/dist/beeq/{p-d9bcaeed.entry.js.map → p-03373320.entry.js.map} +1 -1
  8. package/dist/beeq/{p-e06c8398.entry.js → p-03c586df.entry.js} +19 -21
  9. package/dist/beeq/p-03c586df.entry.js.map +1 -0
  10. package/dist/beeq/{p-a94d15f9.entry.js → p-0a981080.entry.js} +1 -3
  11. package/dist/beeq/{p-a94d15f9.entry.js.map → p-0a981080.entry.js.map} +1 -1
  12. package/dist/beeq/{p-03e23dca.entry.js → p-0ce76c54.entry.js} +1 -3
  13. package/dist/beeq/{p-03e23dca.entry.js.map → p-0ce76c54.entry.js.map} +1 -1
  14. package/dist/beeq/{p-f5eb8fff.entry.js → p-2bb049ae.entry.js} +2 -4
  15. package/dist/beeq/{p-f5eb8fff.entry.js.map → p-2bb049ae.entry.js.map} +1 -1
  16. package/dist/beeq/{p-8b6fc3ef.entry.js → p-3043c826.entry.js} +5 -7
  17. package/dist/beeq/{p-8b6fc3ef.entry.js.map → p-3043c826.entry.js.map} +1 -1
  18. package/dist/beeq/{p-fe57aa48.entry.js → p-38e70f78.entry.js} +1 -3
  19. package/dist/beeq/{p-fe57aa48.entry.js.map → p-38e70f78.entry.js.map} +1 -1
  20. package/dist/beeq/{p-818cd6d7.entry.js → p-398bfb48.entry.js} +1 -3
  21. package/dist/beeq/{p-818cd6d7.entry.js.map → p-398bfb48.entry.js.map} +1 -1
  22. package/dist/beeq/{p-cdd5b425.entry.js → p-3f9a348a.entry.js} +2 -4
  23. package/dist/beeq/{p-cdd5b425.entry.js.map → p-3f9a348a.entry.js.map} +1 -1
  24. package/dist/beeq/{p-27974392.entry.js → p-41ac1d84.entry.js} +2 -4
  25. package/dist/beeq/{p-27974392.entry.js.map → p-41ac1d84.entry.js.map} +1 -1
  26. package/dist/beeq/{p-908c57e9.entry.js → p-4eabcd51.entry.js} +1 -3
  27. package/dist/beeq/{p-908c57e9.entry.js.map → p-4eabcd51.entry.js.map} +1 -1
  28. package/dist/beeq/{p-d2f682a9.entry.js → p-544deac1.entry.js} +3 -5
  29. package/dist/beeq/{p-d2f682a9.entry.js.map → p-544deac1.entry.js.map} +1 -1
  30. package/dist/beeq/{p-f5d59aba.entry.js → p-5ff6621d.entry.js} +2 -4
  31. package/dist/beeq/{p-f5d59aba.entry.js.map → p-5ff6621d.entry.js.map} +1 -1
  32. package/dist/beeq/{p-3e3fd7b5.entry.js → p-60cbc966.entry.js} +1 -3
  33. package/dist/beeq/{p-3e3fd7b5.entry.js.map → p-60cbc966.entry.js.map} +1 -1
  34. package/dist/beeq/{p-98de0101.entry.js → p-68ff188d.entry.js} +1 -3
  35. package/dist/beeq/{p-98de0101.entry.js.map → p-68ff188d.entry.js.map} +1 -1
  36. package/dist/beeq/{p-7aa47927.entry.js → p-69c766a3.entry.js} +9 -11
  37. package/dist/beeq/p-69c766a3.entry.js.map +1 -0
  38. package/dist/beeq/{p-89665044.entry.js → p-76486949.entry.js} +2 -4
  39. package/dist/beeq/{p-89665044.entry.js.map → p-76486949.entry.js.map} +1 -1
  40. package/dist/beeq/{p-0fce4de9.js → p-83d6d9ad.js} +2 -4
  41. package/dist/beeq/{p-0fce4de9.js.map → p-83d6d9ad.js.map} +1 -1
  42. package/dist/beeq/{p-03749fbf.entry.js → p-8b16f130.entry.js} +1 -3
  43. package/dist/beeq/{p-03749fbf.entry.js.map → p-8b16f130.entry.js.map} +1 -1
  44. package/dist/beeq/{p-b877d662.entry.js → p-8e1c6978.entry.js} +80 -49
  45. package/dist/beeq/p-8e1c6978.entry.js.map +1 -0
  46. package/dist/beeq/p-8f1c68c0.js +71 -0
  47. package/dist/beeq/p-8f1c68c0.js.map +1 -0
  48. package/dist/beeq/{p-5d51cadd.entry.js → p-9cab14ee.entry.js} +1 -3
  49. package/dist/beeq/{p-5d51cadd.entry.js.map → p-9cab14ee.entry.js.map} +1 -1
  50. package/dist/beeq/{p-7695fc8d.entry.js → p-a23b23c4.entry.js} +1 -3
  51. package/dist/beeq/{p-7695fc8d.entry.js.map → p-a23b23c4.entry.js.map} +1 -1
  52. package/dist/beeq/{p-2b2d8b0c.entry.js → p-a608a4fb.entry.js} +2 -4
  53. package/dist/beeq/{p-2b2d8b0c.entry.js.map → p-a608a4fb.entry.js.map} +1 -1
  54. package/dist/beeq/{p-bc60faa1.entry.js → p-aacaaa35.entry.js} +1 -3
  55. package/dist/beeq/{p-bc60faa1.entry.js.map → p-aacaaa35.entry.js.map} +1 -1
  56. package/dist/beeq/{p-d8f7bf11.entry.js → p-b2df1479.entry.js} +1 -3
  57. package/dist/beeq/{p-d8f7bf11.entry.js.map → p-b2df1479.entry.js.map} +1 -1
  58. package/dist/beeq/{p-5d8d6717.entry.js → p-b77b52f2.entry.js} +2 -4
  59. package/dist/beeq/{p-5d8d6717.entry.js.map → p-b77b52f2.entry.js.map} +1 -1
  60. package/dist/beeq/{p-5fcbf15f.entry.js → p-c83bc7fd.entry.js} +10 -11
  61. package/dist/beeq/p-c83bc7fd.entry.js.map +1 -0
  62. package/dist/beeq/{p-e6911710.entry.js → p-cb2b0014.entry.js} +1 -3
  63. package/dist/beeq/{p-e6911710.entry.js.map → p-cb2b0014.entry.js.map} +1 -1
  64. package/dist/beeq/{p-60ab652b.entry.js → p-cfb8829b.entry.js} +1 -3
  65. package/dist/beeq/{p-60ab652b.entry.js.map → p-cfb8829b.entry.js.map} +1 -1
  66. package/dist/beeq/{p-3ed73068.entry.js → p-d7067dae.entry.js} +1 -3
  67. package/dist/beeq/{p-3ed73068.entry.js.map → p-d7067dae.entry.js.map} +1 -1
  68. package/dist/beeq/{p-f69d2900.entry.js → p-d7dc7086.entry.js} +1 -3
  69. package/dist/beeq/{p-f69d2900.entry.js.map → p-d7dc7086.entry.js.map} +1 -1
  70. package/dist/beeq/{p-5a9a73a0.js → p-edfd9767.js} +2 -2
  71. package/dist/beeq/p-edfd9767.js.map +1 -0
  72. package/dist/beeq/{p-ac0d84a6.entry.js → p-f979d79a.entry.js} +1 -3
  73. package/dist/beeq/{p-ac0d84a6.entry.js.map → p-f979d79a.entry.js.map} +1 -1
  74. package/dist/beeq/{p-5a12011a.entry.js → p-faa3be41.entry.js} +1 -3
  75. package/dist/beeq/{p-5a12011a.entry.js.map → p-faa3be41.entry.js.map} +1 -1
  76. package/dist/beeq/{p-bb14b231.entry.js → p-fb20c6eb.entry.js} +2 -4
  77. package/dist/beeq/{p-bb14b231.entry.js.map → p-fb20c6eb.entry.js.map} +1 -1
  78. package/dist/beeq/{p-be746e37.entry.js → p-fe278ecc.entry.js} +2 -4
  79. package/dist/beeq/{p-be746e37.entry.js.map → p-fe278ecc.entry.js.map} +1 -1
  80. package/dist/cjs/assetsPath-8bd8d221.js +77 -0
  81. package/dist/cjs/assetsPath-8bd8d221.js.map +1 -0
  82. package/dist/cjs/beeq.cjs.js +1 -1
  83. package/dist/cjs/bq-accordion-group.cjs.entry.js +0 -1
  84. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  85. package/dist/cjs/bq-accordion.cjs.entry.js +0 -1
  86. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  87. package/dist/cjs/bq-alert.cjs.entry.js +0 -1
  88. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  89. package/dist/cjs/bq-avatar.cjs.entry.js +0 -1
  90. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  91. package/dist/cjs/bq-badge.cjs.entry.js +1 -2
  92. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  93. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +1 -2
  94. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  95. package/dist/cjs/bq-breadcrumb.cjs.entry.js +0 -1
  96. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  97. package/dist/cjs/bq-button_2.cjs.entry.js +52 -21
  98. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  99. package/dist/cjs/bq-card.cjs.entry.js +0 -1
  100. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  101. package/dist/cjs/bq-checkbox.cjs.entry.js +0 -1
  102. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  103. package/dist/cjs/bq-date-picker.cjs.entry.js +1 -2
  104. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  105. package/dist/cjs/bq-dialog.cjs.entry.js +1 -2
  106. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  107. package/dist/cjs/bq-divider.cjs.entry.js +1 -2
  108. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  109. package/dist/cjs/bq-drawer.cjs.entry.js +1 -2
  110. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-empty-state.cjs.entry.js +0 -1
  112. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-input.cjs.entry.js +1 -2
  114. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-notification.cjs.entry.js +4 -5
  116. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-option-list_2.cjs.entry.js +1 -2
  118. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-option.cjs.entry.js +0 -1
  120. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-page-title.cjs.entry.js +0 -1
  122. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-progress.cjs.entry.js +0 -1
  124. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-radio-group.cjs.entry.js +0 -1
  126. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-select.cjs.entry.js +2 -3
  128. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-side-menu-item.cjs.entry.js +0 -1
  130. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-side-menu.cjs.entry.js +4 -4
  132. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-slider.cjs.entry.js +0 -1
  134. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-spinner.cjs.entry.js +1 -2
  136. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-status.cjs.entry.js +0 -1
  138. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-step-item.cjs.entry.js +0 -1
  140. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-steps.cjs.entry.js +0 -1
  142. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-switch.cjs.entry.js +0 -1
  144. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-tab-group.cjs.entry.js +0 -1
  146. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-tab.cjs.entry.js +0 -1
  148. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-textarea.cjs.entry.js +0 -1
  150. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-toast.cjs.entry.js +3 -4
  152. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  153. package/dist/cjs/{cssVariables-a0e1e906.js → cssVariables-dd190bc2.js} +2 -2
  154. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  155. package/dist/cjs/index.cjs.js +3 -3
  156. package/dist/cjs/{isDefined-ee0026ed.js → isDefined-f3968296.js} +1 -2
  157. package/dist/cjs/isDefined-f3968296.js.map +1 -0
  158. package/dist/cjs/loader.cjs.js +1 -1
  159. package/dist/collection/components/button/bq-button.js +41 -16
  160. package/dist/collection/components/button/bq-button.js.map +1 -1
  161. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  162. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  163. package/dist/collection/components/icon/helper/request.js +2 -2
  164. package/dist/collection/components/icon/helper/request.js.map +1 -1
  165. package/dist/collection/components/notification/bq-notification.js +4 -4
  166. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  167. package/dist/collection/components/select/scss/bq-select.css +1 -1
  168. package/dist/collection/components/side-menu/bq-side-menu.js +9 -3
  169. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  170. package/dist/collection/components/toast/bq-toast.js +3 -3
  171. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  172. package/dist/collection/shared/utils/assetsPath.js +47 -35
  173. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  174. package/dist/collection/shared/utils/cssVariables.js +1 -1
  175. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  176. package/dist/components/bq-accordion-group.js +0 -1
  177. package/dist/components/bq-accordion-group.js.map +1 -1
  178. package/dist/components/bq-accordion.js +0 -1
  179. package/dist/components/bq-accordion.js.map +1 -1
  180. package/dist/components/bq-alert.js +0 -1
  181. package/dist/components/bq-alert.js.map +1 -1
  182. package/dist/components/bq-avatar.js +0 -1
  183. package/dist/components/bq-avatar.js.map +1 -1
  184. package/dist/components/bq-badge2.js +0 -1
  185. package/dist/components/bq-badge2.js.map +1 -1
  186. package/dist/components/bq-breadcrumb-item.js +0 -1
  187. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  188. package/dist/components/bq-breadcrumb.js +0 -1
  189. package/dist/components/bq-breadcrumb.js.map +1 -1
  190. package/dist/components/bq-button2.js +42 -18
  191. package/dist/components/bq-button2.js.map +1 -1
  192. package/dist/components/bq-card.js +0 -1
  193. package/dist/components/bq-card.js.map +1 -1
  194. package/dist/components/bq-checkbox.js +0 -1
  195. package/dist/components/bq-checkbox.js.map +1 -1
  196. package/dist/components/bq-date-picker.js +0 -1
  197. package/dist/components/bq-date-picker.js.map +1 -1
  198. package/dist/components/bq-dialog.js +1 -2
  199. package/dist/components/bq-dialog.js.map +1 -1
  200. package/dist/components/bq-divider2.js +0 -1
  201. package/dist/components/bq-divider2.js.map +1 -1
  202. package/dist/components/bq-drawer.js +1 -2
  203. package/dist/components/bq-drawer.js.map +1 -1
  204. package/dist/components/bq-empty-state.js +0 -1
  205. package/dist/components/bq-empty-state.js.map +1 -1
  206. package/dist/components/bq-icon2.js +70 -4
  207. package/dist/components/bq-icon2.js.map +1 -1
  208. package/dist/components/bq-input.js +0 -1
  209. package/dist/components/bq-input.js.map +1 -1
  210. package/dist/components/bq-notification.js +4 -5
  211. package/dist/components/bq-notification.js.map +1 -1
  212. package/dist/components/bq-option-list2.js +0 -1
  213. package/dist/components/bq-option-list2.js.map +1 -1
  214. package/dist/components/bq-option.js +0 -1
  215. package/dist/components/bq-option.js.map +1 -1
  216. package/dist/components/bq-page-title.js +0 -1
  217. package/dist/components/bq-page-title.js.map +1 -1
  218. package/dist/components/bq-progress.js +0 -1
  219. package/dist/components/bq-progress.js.map +1 -1
  220. package/dist/components/bq-radio-group.js +0 -1
  221. package/dist/components/bq-radio-group.js.map +1 -1
  222. package/dist/components/bq-select.js +1 -2
  223. package/dist/components/bq-select.js.map +1 -1
  224. package/dist/components/bq-side-menu-item.js +0 -1
  225. package/dist/components/bq-side-menu-item.js.map +1 -1
  226. package/dist/components/bq-side-menu.js +5 -4
  227. package/dist/components/bq-side-menu.js.map +1 -1
  228. package/dist/components/bq-slider.js +0 -1
  229. package/dist/components/bq-slider.js.map +1 -1
  230. package/dist/components/bq-spinner.js +0 -1
  231. package/dist/components/bq-spinner.js.map +1 -1
  232. package/dist/components/bq-status.js +0 -1
  233. package/dist/components/bq-status.js.map +1 -1
  234. package/dist/components/bq-step-item.js +0 -1
  235. package/dist/components/bq-step-item.js.map +1 -1
  236. package/dist/components/bq-steps.js +0 -1
  237. package/dist/components/bq-steps.js.map +1 -1
  238. package/dist/components/bq-switch.js +0 -1
  239. package/dist/components/bq-switch.js.map +1 -1
  240. package/dist/components/bq-tab-group.js +0 -1
  241. package/dist/components/bq-tab-group.js.map +1 -1
  242. package/dist/components/bq-tab.js +0 -1
  243. package/dist/components/bq-tab.js.map +1 -1
  244. package/dist/components/bq-tag2.js +0 -1
  245. package/dist/components/bq-tag2.js.map +1 -1
  246. package/dist/components/bq-textarea.js +0 -1
  247. package/dist/components/bq-textarea.js.map +1 -1
  248. package/dist/components/bq-toast.js +3 -4
  249. package/dist/components/bq-toast.js.map +1 -1
  250. package/dist/components/cssVariables.js +1 -1
  251. package/dist/components/cssVariables.js.map +1 -1
  252. package/dist/components/index.js +1 -1
  253. package/dist/components/isDefined.js +0 -1
  254. package/dist/components/isDefined.js.map +1 -1
  255. package/dist/esm/assetsPath-beeee241.js +74 -0
  256. package/dist/esm/assetsPath-beeee241.js.map +1 -0
  257. package/dist/esm/beeq.js +1 -1
  258. package/dist/esm/bq-accordion-group.entry.js +0 -1
  259. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  260. package/dist/esm/bq-accordion.entry.js +0 -1
  261. package/dist/esm/bq-accordion.entry.js.map +1 -1
  262. package/dist/esm/bq-alert.entry.js +0 -1
  263. package/dist/esm/bq-alert.entry.js.map +1 -1
  264. package/dist/esm/bq-avatar.entry.js +0 -1
  265. package/dist/esm/bq-avatar.entry.js.map +1 -1
  266. package/dist/esm/bq-badge.entry.js +1 -2
  267. package/dist/esm/bq-badge.entry.js.map +1 -1
  268. package/dist/esm/bq-breadcrumb-item.entry.js +1 -2
  269. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  270. package/dist/esm/bq-breadcrumb.entry.js +0 -1
  271. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  272. package/dist/esm/bq-button_2.entry.js +52 -21
  273. package/dist/esm/bq-button_2.entry.js.map +1 -1
  274. package/dist/esm/bq-card.entry.js +0 -1
  275. package/dist/esm/bq-card.entry.js.map +1 -1
  276. package/dist/esm/bq-checkbox.entry.js +0 -1
  277. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  278. package/dist/esm/bq-date-picker.entry.js +1 -2
  279. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  280. package/dist/esm/bq-dialog.entry.js +1 -2
  281. package/dist/esm/bq-dialog.entry.js.map +1 -1
  282. package/dist/esm/bq-divider.entry.js +1 -2
  283. package/dist/esm/bq-divider.entry.js.map +1 -1
  284. package/dist/esm/bq-drawer.entry.js +1 -2
  285. package/dist/esm/bq-drawer.entry.js.map +1 -1
  286. package/dist/esm/bq-empty-state.entry.js +0 -1
  287. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  288. package/dist/esm/bq-input.entry.js +1 -2
  289. package/dist/esm/bq-input.entry.js.map +1 -1
  290. package/dist/esm/bq-notification.entry.js +4 -5
  291. package/dist/esm/bq-notification.entry.js.map +1 -1
  292. package/dist/esm/bq-option-list_2.entry.js +1 -2
  293. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  294. package/dist/esm/bq-option.entry.js +0 -1
  295. package/dist/esm/bq-option.entry.js.map +1 -1
  296. package/dist/esm/bq-page-title.entry.js +0 -1
  297. package/dist/esm/bq-page-title.entry.js.map +1 -1
  298. package/dist/esm/bq-progress.entry.js +0 -1
  299. package/dist/esm/bq-progress.entry.js.map +1 -1
  300. package/dist/esm/bq-radio-group.entry.js +0 -1
  301. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  302. package/dist/esm/bq-select.entry.js +2 -3
  303. package/dist/esm/bq-select.entry.js.map +1 -1
  304. package/dist/esm/bq-side-menu-item.entry.js +0 -1
  305. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  306. package/dist/esm/bq-side-menu.entry.js +4 -4
  307. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  308. package/dist/esm/bq-slider.entry.js +0 -1
  309. package/dist/esm/bq-slider.entry.js.map +1 -1
  310. package/dist/esm/bq-spinner.entry.js +1 -2
  311. package/dist/esm/bq-spinner.entry.js.map +1 -1
  312. package/dist/esm/bq-status.entry.js +0 -1
  313. package/dist/esm/bq-status.entry.js.map +1 -1
  314. package/dist/esm/bq-step-item.entry.js +0 -1
  315. package/dist/esm/bq-step-item.entry.js.map +1 -1
  316. package/dist/esm/bq-steps.entry.js +0 -1
  317. package/dist/esm/bq-steps.entry.js.map +1 -1
  318. package/dist/esm/bq-switch.entry.js +0 -1
  319. package/dist/esm/bq-switch.entry.js.map +1 -1
  320. package/dist/esm/bq-tab-group.entry.js +0 -1
  321. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  322. package/dist/esm/bq-tab.entry.js +0 -1
  323. package/dist/esm/bq-tab.entry.js.map +1 -1
  324. package/dist/esm/bq-textarea.entry.js +0 -1
  325. package/dist/esm/bq-textarea.entry.js.map +1 -1
  326. package/dist/esm/bq-toast.entry.js +3 -4
  327. package/dist/esm/bq-toast.entry.js.map +1 -1
  328. package/dist/esm/{cssVariables-23e3ca0d.js → cssVariables-000c23ad.js} +2 -2
  329. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  330. package/dist/esm/index.js +4 -4
  331. package/dist/esm/{isDefined-650befc3.js → isDefined-0cb07ee6.js} +1 -2
  332. package/dist/esm/isDefined-0cb07ee6.js.map +1 -0
  333. package/dist/esm/loader.js +1 -1
  334. package/dist/hydrate/index.js +113 -68
  335. package/dist/hydrate/index.mjs +113 -68
  336. package/dist/types/components/button/bq-button.d.ts +5 -0
  337. package/dist/types/shared/utils/assetsPath.d.ts +5 -9
  338. package/package.json +1 -1
  339. package/dist/beeq/p-5a9a73a0.js.map +0 -1
  340. package/dist/beeq/p-5fcbf15f.entry.js.map +0 -1
  341. package/dist/beeq/p-7aa47927.entry.js.map +0 -1
  342. package/dist/beeq/p-a84d4562.js +0 -64
  343. package/dist/beeq/p-a84d4562.js.map +0 -1
  344. package/dist/beeq/p-b877d662.entry.js.map +0 -1
  345. package/dist/beeq/p-e06c8398.entry.js.map +0 -1
  346. package/dist/cjs/assetsPath-6ac8935a.js +0 -65
  347. package/dist/cjs/assetsPath-6ac8935a.js.map +0 -1
  348. package/dist/cjs/cssVariables-a0e1e906.js.map +0 -1
  349. package/dist/cjs/isDefined-ee0026ed.js.map +0 -1
  350. package/dist/components/assetsPath.js +0 -62
  351. package/dist/components/assetsPath.js.map +0 -1
  352. package/dist/esm/assetsPath-e2f1ceb9.js +0 -62
  353. package/dist/esm/assetsPath-e2f1ceb9.js.map +0 -1
  354. package/dist/esm/cssVariables-23e3ca0d.js.map +0 -1
  355. package/dist/esm/isDefined-650befc3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["bqTextareaCss","BqTextareaStyle0","BqTextarea","debounceBqInput","fallbackId","helperTextElem","labelElem","textarea","handleValueChange","this","maxlength","value","length","substring","bqBlur","bqChange","bqClear","bqFocus","bqInput","componentDidLoad","numberOfCharacters","handleBlur","disabled","emit","el","handleFocus","handleChange","ev","isHTMLElement","target","handleInput","cancel","debounce","debounceTime","autoResize","autoGrow","inputElem","style","height","scrollHeight","handleLabelSlotChange","hasLabel","hasSlotContent","handleHelperTextSlotChange","hasHelperText","render","h","key","class","part","htmlFor","name","ref","label","onSlotchange","id","disableResize","validationStatus","autocapitalize","autocomplete","autocorrect","autofocus","form","maxLength","undefined","placeholder","readOnly","readonly","required","rows","spellcheck","wrap","elem","onBlur","onChange","onFocus","onInput","span"],"sources":["../../packages/beeq/src/components/textarea/scss/bq-textarea.scss?tag=bq-textarea&encapsulation=shadow","../../packages/beeq/src/components/textarea/bq-textarea.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Textarea styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-textarea.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__label {\n @apply text-[length:--bq-textarea--label-text-size] text-[color:--bq-textarea--label-text-color] m-be-[--bq-textarea--label-margin-bottom];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Textarea control */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__input {\n @apply flex-auto resize-y bg-[--bq-textarea--background-color] bs-[inherit];\n // Border\n @apply rounded-[--bq-textarea--border-radius] border-[length:--bq-textarea--border-width] border-[color:--bq-textarea--border-color];\n // Padding\n @apply pe-[--bq-textarea--padding-end] ps-[--bq-textarea--padding-start] p-b-[--bq-textarea--paddingY];\n // Text\n @apply text-[length:--bq-textarea--text-size] text-[color:--bq-textarea--text-color] placeholder:text-[color:--bq-textarea--text-placeholder-color];\n // Transition\n @apply transition-colors ease-in-out;\n // Hover\n @apply [&:not([disabled]):not(:focus-within)]:hover:border-hover-stroke-brand;\n // Disabled\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // Focus\n &:not([disabled]):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-textarea--border-color-focus);\n\n @apply focus border-[color:--bq-ring-color-focus];\n }\n}\n\n/* ------------------------------- Validations ------------------------------- */\n\n.bq-textarea__input.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-textarea__input.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-textarea__input.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__helper {\n @apply text-[length:--bq-textarea--helper-text-size] text-[color:--bq-textarea--helper-text-color] m-bs-[--bq-textarea--helper-margin-top];\n}\n\n/* ------------------------------- Validations ------------------------------ */\n\n.bq-textarea__helper.validation-error {\n @apply text-text-danger;\n}\n\n.bq-textarea__helper.validation-success {\n @apply text-text-success;\n}\n\n.bq-textarea__helper.validation-warning {\n @apply text-text-warning;\n}\n\n/* ----------------------------- Helper counter ----------------------------- */\n\n/** Apply a disabled text color style to the textarea counter when the validation is none. */\n.bq-textarea__helper[class~='validation-none'] {\n .bq-textarea__helper--counter {\n @apply opacity-60;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TTextareaAutoCapitalize, TTextareaWrap } from './bq-textarea.types';\nimport { debounce, hasSlotContent, isHTMLElement, TDebounce } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part input - The textarea element.\n * @part label - The textarea label.\n * @part helper-info - The helper info container.\n * @part helper-text - The helper text.\n * @part helper-counter - The helper counter.\n */\n@Component({\n tag: 'bq-textarea',\n styleUrl: './scss/bq-textarea.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTextarea {\n // Own Properties\n // ====================\n\n private debounceBqInput: TDebounce<void>;\n private fallbackId = 'textarea';\n\n private helperTextElem?: HTMLElement;\n private labelElem?: HTMLLabelElement;\n private textarea: HTMLTextAreaElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTextareaElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasHelperText = false;\n @State() private hasLabel = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the textarea field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: TTextareaAutoCapitalize = 'off';\n\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /**\n * Controls whether or not the textarea field should have autocorrect enabled.\n * Possible values are 'on' and 'off'.\n */\n @Prop({ reflect: true }) autocorrect: 'on' | 'off' = 'off';\n\n /** If true, the textarea will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\n * If `false`, the textarea will have a fixed height specified by the `rows` property.\n */\n @Prop({ reflect: true }) autoGrow: boolean = false;\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /** If `true`, the user cannot interact with the textarea. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If `true`, it will block the user's ability to resize the textarea. */\n @Prop({ reflect: true }) disableResize?: boolean = false;\n\n /** The ID of the form that the textarea field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * When enabled, a character counter will be shown underneath the textarea.\n */\n @Prop({ reflect: true }) maxlength: number;\n\n /** The name of the textarea element. */\n @Prop({ reflect: true }) name!: string;\n\n /** The placeholder text to show when there is no value. */\n @Prop({ reflect: true }) placeholder!: string;\n\n /** If true, the textarea field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /** Indicates whether or not the textarea field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean = false;\n\n /** The number of visible text lines for the control. It must be a positive integer. */\n @Prop({ reflect: true }) rows: number = 5;\n\n /** If true, the textarea content may be checked for spelling errors. */\n @Prop({ reflect: true }) spellcheck: boolean = false;\n /**\n * The validation status of the textarea.\n *\n * @remarks\n * This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The textarea has a validation error.\n * - `'warning'`: The textarea has a validation warning.\n * - `'success'`: The textarea has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The value of the textarea. It can be used to reset the textarea to a previous value. */\n @Prop({ mutable: true }) value: string;\n\n /** Specifies how the text in a text area is to be wrapped when submitted in a form */\n @Prop({ reflect: true }) wrap: TTextareaWrap = 'soft';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (!this.textarea) return;\n if (!this.maxlength || this.value.length < this.maxlength) return;\n // If the value is longer than the maxlength, we need to truncate it\n this.value = this.value.substring(0, this.maxlength);\n this.textarea.value = this.value;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the textarea loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value has changed and the textarea loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the textarea field and then clicks outside of the textarea field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n /** Callback handler emitted when the textarea value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqTextareaElement>;\n\n /** Callback handler emitted when the textarea has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value changes.\n * This handler is called whenever the user types or pastes text into the textarea field.\n */\n @Event() bqInput!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n // Listeners\n // ==============\n\n componentDidLoad() {\n this.handleValueChange();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get numberOfCharacters() {\n if (!this.maxlength || !this.textarea) return 0;\n\n return this.value.length;\n }\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n\n this.autoResize();\n };\n\n private autoResize = () => {\n if (!this.autoGrow) return;\n\n const inputElem = this.textarea;\n if (!inputElem) return;\n\n inputElem.style.height = 'auto';\n inputElem.style.height = `${inputElem.scrollHeight}px`;\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-textarea flex flex-auto flex-col\" part=\"base\">\n <label\n class={{ 'bq-textarea__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name ?? this.fallbackId}\n aria-label={this.name ?? this.fallbackId}\n ref={(label: HTMLLabelElement) => (this.labelElem = label)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n <textarea\n id={this.name ?? this.fallbackId}\n class={{\n 'bq-textarea__input': true,\n 'resize-none': this.disableResize,\n [`validation-${this.validationStatus}`]: true,\n }}\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autocorrect={this.autocorrect}\n autofocus={this.autofocus}\n disabled={this.disabled}\n form={this.form}\n maxLength={this.maxlength > 0 ? this.maxlength : undefined}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n ref={(elem: HTMLTextAreaElement) => (this.textarea = elem)}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n >\n {this.value}\n </textarea>\n <div\n class={{\n 'bq-textarea__helper flex items-center justify-between': true,\n [`validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText && !this.maxlength,\n }}\n part=\"helper-info\"\n >\n <span\n class=\"bq-textarea__helper--text\"\n ref={(span: HTMLElement) => (this.helperTextElem = span)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </span>\n <span class={{ 'bq-textarea__helper--counter': true, '!hidden': !this.maxlength }} part=\"helper-counter\">\n {this.numberOfCharacters}/{this.maxlength}\n </span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["bqTextareaCss","BqTextareaStyle0","BqTextarea","debounceBqInput","fallbackId","helperTextElem","labelElem","textarea","handleValueChange","this","maxlength","value","length","substring","bqBlur","bqChange","bqClear","bqFocus","bqInput","componentDidLoad","numberOfCharacters","handleBlur","disabled","emit","el","handleFocus","handleChange","ev","isHTMLElement","target","handleInput","cancel","debounce","debounceTime","autoResize","autoGrow","inputElem","style","height","scrollHeight","handleLabelSlotChange","hasLabel","hasSlotContent","handleHelperTextSlotChange","hasHelperText","render","h","key","class","part","htmlFor","name","ref","label","onSlotchange","id","disableResize","validationStatus","autocapitalize","autocomplete","autocorrect","autofocus","form","maxLength","undefined","placeholder","readOnly","readonly","required","rows","spellcheck","wrap","elem","onBlur","onChange","onFocus","onInput","span"],"sources":["../../packages/beeq/src/components/textarea/scss/bq-textarea.scss?tag=bq-textarea&encapsulation=shadow","../../packages/beeq/src/components/textarea/bq-textarea.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Textarea styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-textarea.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__label {\n @apply text-[length:--bq-textarea--label-text-size] text-[color:--bq-textarea--label-text-color] m-be-[--bq-textarea--label-margin-bottom];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Textarea control */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__input {\n @apply flex-auto resize-y bg-[--bq-textarea--background-color] bs-[inherit];\n // Border\n @apply rounded-[--bq-textarea--border-radius] border-[length:--bq-textarea--border-width] border-[color:--bq-textarea--border-color];\n // Padding\n @apply pe-[--bq-textarea--padding-end] ps-[--bq-textarea--padding-start] p-b-[--bq-textarea--paddingY];\n // Text\n @apply text-[length:--bq-textarea--text-size] text-[color:--bq-textarea--text-color] placeholder:text-[color:--bq-textarea--text-placeholder-color];\n // Transition\n @apply transition-colors ease-in-out;\n // Hover\n @apply [&:not([disabled]):not(:focus-within)]:hover:border-hover-stroke-brand;\n // Disabled\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // Focus\n &:not([disabled]):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-textarea--border-color-focus);\n\n @apply focus border-[color:--bq-ring-color-focus];\n }\n}\n\n/* ------------------------------- Validations ------------------------------- */\n\n.bq-textarea__input.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-textarea__input.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-textarea__input.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-textarea__helper {\n @apply text-[length:--bq-textarea--helper-text-size] text-[color:--bq-textarea--helper-text-color] m-bs-[--bq-textarea--helper-margin-top];\n}\n\n/* ------------------------------- Validations ------------------------------ */\n\n.bq-textarea__helper.validation-error {\n @apply text-text-danger;\n}\n\n.bq-textarea__helper.validation-success {\n @apply text-text-success;\n}\n\n.bq-textarea__helper.validation-warning {\n @apply text-text-warning;\n}\n\n/* ----------------------------- Helper counter ----------------------------- */\n\n/** Apply a disabled text color style to the textarea counter when the validation is none. */\n.bq-textarea__helper[class~='validation-none'] {\n .bq-textarea__helper--counter {\n @apply opacity-60;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TTextareaAutoCapitalize, TTextareaWrap } from './bq-textarea.types';\nimport { debounce, hasSlotContent, isHTMLElement, TDebounce } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part input - The textarea element.\n * @part label - The textarea label.\n * @part helper-info - The helper info container.\n * @part helper-text - The helper text.\n * @part helper-counter - The helper counter.\n */\n@Component({\n tag: 'bq-textarea',\n styleUrl: './scss/bq-textarea.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTextarea {\n // Own Properties\n // ====================\n\n private debounceBqInput: TDebounce<void>;\n private fallbackId = 'textarea';\n\n private helperTextElem?: HTMLElement;\n private labelElem?: HTMLLabelElement;\n private textarea: HTMLTextAreaElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTextareaElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasHelperText = false;\n @State() private hasLabel = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the textarea field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: TTextareaAutoCapitalize = 'off';\n\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled.\n * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /**\n * Controls whether or not the textarea field should have autocorrect enabled.\n * Possible values are 'on' and 'off'.\n */\n @Prop({ reflect: true }) autocorrect: 'on' | 'off' = 'off';\n\n /** If true, the textarea will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\n * If `false`, the textarea will have a fixed height specified by the `rows` property.\n */\n @Prop({ reflect: true }) autoGrow: boolean = false;\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /** If `true`, the user cannot interact with the textarea. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If `true`, it will block the user's ability to resize the textarea. */\n @Prop({ reflect: true }) disableResize?: boolean = false;\n\n /** The ID of the form that the textarea field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * When enabled, a character counter will be shown underneath the textarea.\n */\n @Prop({ reflect: true }) maxlength: number;\n\n /** The name of the textarea element. */\n @Prop({ reflect: true }) name!: string;\n\n /** The placeholder text to show when there is no value. */\n @Prop({ reflect: true }) placeholder!: string;\n\n /** If true, the textarea field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /** Indicates whether or not the textarea field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean = false;\n\n /** The number of visible text lines for the control. It must be a positive integer. */\n @Prop({ reflect: true }) rows: number = 5;\n\n /** If true, the textarea content may be checked for spelling errors. */\n @Prop({ reflect: true }) spellcheck: boolean = false;\n /**\n * The validation status of the textarea.\n *\n * @remarks\n * This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The textarea has a validation error.\n * - `'warning'`: The textarea has a validation warning.\n * - `'success'`: The textarea has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The value of the textarea. It can be used to reset the textarea to a previous value. */\n @Prop({ mutable: true }) value: string;\n\n /** Specifies how the text in a text area is to be wrapped when submitted in a form */\n @Prop({ reflect: true }) wrap: TTextareaWrap = 'soft';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (!this.textarea) return;\n if (!this.maxlength || this.value.length < this.maxlength) return;\n // If the value is longer than the maxlength, we need to truncate it\n this.value = this.value.substring(0, this.maxlength);\n this.textarea.value = this.value;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the textarea loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value has changed and the textarea loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the textarea field and then clicks outside of the textarea field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n /** Callback handler emitted when the textarea value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqTextareaElement>;\n\n /** Callback handler emitted when the textarea has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value changes.\n * This handler is called whenever the user types or pastes text into the textarea field.\n */\n @Event() bqInput!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n // Listeners\n // ==============\n\n componentDidLoad() {\n this.handleValueChange();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get numberOfCharacters() {\n if (!this.maxlength || !this.textarea) return 0;\n\n return this.value.length;\n }\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n\n this.autoResize();\n };\n\n private autoResize = () => {\n if (!this.autoGrow) return;\n\n const inputElem = this.textarea;\n if (!inputElem) return;\n\n inputElem.style.height = 'auto';\n inputElem.style.height = `${inputElem.scrollHeight}px`;\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-textarea flex flex-auto flex-col\" part=\"base\">\n <label\n class={{ 'bq-textarea__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name ?? this.fallbackId}\n aria-label={this.name ?? this.fallbackId}\n ref={(label: HTMLLabelElement) => (this.labelElem = label)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n <textarea\n id={this.name ?? this.fallbackId}\n class={{\n 'bq-textarea__input': true,\n 'resize-none': this.disableResize,\n [`validation-${this.validationStatus}`]: true,\n }}\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autocorrect={this.autocorrect}\n autofocus={this.autofocus}\n disabled={this.disabled}\n form={this.form}\n maxLength={this.maxlength > 0 ? this.maxlength : undefined}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n ref={(elem: HTMLTextAreaElement) => (this.textarea = elem)}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n >\n {this.value}\n </textarea>\n <div\n class={{\n 'bq-textarea__helper flex items-center justify-between': true,\n [`validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText && !this.maxlength,\n }}\n part=\"helper-info\"\n >\n <span\n class=\"bq-textarea__helper--text\"\n ref={(span: HTMLElement) => (this.helperTextElem = span)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </span>\n <span class={{ 'bq-textarea__helper--counter': true, '!hidden': !this.maxlength }} part=\"helper-counter\">\n {this.numberOfCharacters}/{this.maxlength}\n </span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,MAAMA,IAAgB;;AACtB,MAAAC,IAAeD;;MCoBFE,IAAU;;;;;;;;yBAoBY;oBACL;0BAUuC;wBAMnB;uBAMK;;oBASR;wBAMW;oBAGX;yBAGM;;;;;oBAkBL;oBAGA;gBAGN;sBAGO;4BAWe;;gBAMf;;;;EAxGvCC;EACAC,WAAa;EAEbC;EACAC;EACAC;;;;;;EAyGR,iBAAAC;IACE,KAAKC,KAAKF,UAAU;IACpB,KAAKE,KAAKC,aAAaD,KAAKE,MAAMC,SAASH,KAAKC,WAAW;;QAE3DD,KAAKE,QAAQF,KAAKE,MAAME,UAAU,GAAGJ,KAAKC;IAC1CD,KAAKF,SAASI,QAAQF,KAAKE;;;;;;EAQpBG;;;;;EAMAC;;EAGAC;;EAGAC;;;;;EAMAC;;;;;;EAST,gBAAAC;IACEV,KAAKD;;;;;;;;;;;;EAeP,sBAAYY;IACV,KAAKX,KAAKC,cAAcD,KAAKF,UAAU,OAAO;IAE9C,OAAOE,KAAKE,MAAMC;;EAGZS,WAAa;IACnB,IAAIZ,KAAKa,UAAU;IAEnBb,KAAKK,OAAOS,KAAKd,KAAKe;AAAG;EAGnBC,YAAc;IACpB,IAAIhB,KAAKa,UAAU;IAEnBb,KAAKQ,QAAQM,KAAKd,KAAKe;AAAG;EAGpBE,aAAgBC;IACtB,IAAIlB,KAAKa,UAAU;IAEnB,KAAKM,EAAcD,EAAGE,QAAQ,aAAa;IAC3CpB,KAAKE,QAAQgB,EAAGE,OAAOlB;IAEvBF,KAAKM,SAASQ,KAAK;MAAEZ,OAAOF,KAAKE;MAAOa,IAAIf,KAAKe;;AAAK;EAGhDM,YAAeH;IACrB,IAAIlB,KAAKa,UAAU;IAEnBb,KAAKN,iBAAiB4B;IAEtB,KAAKH,EAAcD,EAAGE,QAAQ,aAAa;IAC3CpB,KAAKE,QAAQgB,EAAGE,OAAOlB;IAEvBF,KAAKN,kBAAkB6B,GAAS;MAC9BvB,KAAKS,QAAQK,KAAK;QAAEZ,OAAOF,KAAKE;QAAOa,IAAIf,KAAKe;;AAAK,QACpDf,KAAKwB;IACRxB,KAAKN;IAELM,KAAKyB;AAAY;EAGXA,WAAa;IACnB,KAAKzB,KAAK0B,UAAU;IAEpB,MAAMC,IAAY3B,KAAKF;IACvB,KAAK6B,GAAW;IAEhBA,EAAUC,MAAMC,SAAS;IACzBF,EAAUC,MAAMC,SAAS,GAAGF,EAAUG;AAAgB;EAGhDC,sBAAwB;IAC9B/B,KAAKgC,WAAWC,EAAejC,KAAKH;AAAU;EAGxCqC,2BAA6B;IACnClC,KAAKmC,gBAAgBF,EAAejC,KAAKJ;AAAe;;;;EAO1D,MAAAwC;IACE,OACEC,EAAA;MAAAC,KAAA;MAAKC,OAAM;MAAsCC,MAAK;OACpDH,EAAA;MAAAC,KAAA;MACEC,OAAO;QAAE,sBAAsB;QAAM,YAAYvC,KAAKgC;;MACtDS,SAASzC,KAAK0C,QAAQ1C,KAAKL;MAAU,cACzBK,KAAK0C,QAAQ1C,KAAKL;MAC9BgD,KAAMC,KAA6B5C,KAAKH,YAAY+C;MACpDJ,MAAK;OAELH,EAAA;MAAAC,KAAA;MAAMI,MAAK;MAAQG,cAAc7C,KAAK+B;SAExCM,EAAA;MAAAC,KAAA;MACEQ,IAAI9C,KAAK0C,QAAQ1C,KAAKL;MACtB4C,OAAO;QACL,sBAAsB;QACtB,eAAevC,KAAK+C;QACpB,CAAC,cAAc/C,KAAKgD,qBAAqB;;MAE3CC,gBAAgBjD,KAAKiD;MACrBC,cAAclD,KAAKkD;MACnBC,aAAanD,KAAKmD;MAClBC,WAAWpD,KAAKoD;MAChBvC,UAAUb,KAAKa;MACfwC,MAAMrD,KAAKqD;MACXC,WAAWtD,KAAKC,YAAY,IAAID,KAAKC,YAAYsD;MACjDb,MAAM1C,KAAK0C;MACXc,aAAaxD,KAAKwD;MAClBC,UAAUzD,KAAK0D;MACfC,UAAU3D,KAAK2D;MACfC,MAAM5D,KAAK4D;MACXC,YAAY7D,KAAK6D;MACjBC,MAAM9D,KAAK8D;MACXnB,KAAMoB,KAA+B/D,KAAKF,WAAWiE;MACrDC,QAAQhE,KAAKY;MACbqD,UAAUjE,KAAKiB;MACfiD,SAASlE,KAAKgB;MACdmD,SAASnE,KAAKqB;MACdmB,MAAK;OAEJxC,KAAKE,QAERmC,EAAA;MAAAC,KAAA;MACEC,OAAO;QACL,yDAAyD;QACzD,CAAC,cAAcvC,KAAKgD,qBAAqB;QACzC,YAAYhD,KAAKmC,kBAAkBnC,KAAKC;;MAE1CuC,MAAK;OAELH,EAAA;MAAAC,KAAA;MACEC,OAAM;MACNI,KAAMyB,KAAuBpE,KAAKJ,iBAAiBwE;MACnD5B,MAAK;OAELH,EAAA;MAAAC,KAAA;MAAMI,MAAK;MAAcG,cAAc7C,KAAKkC;SAE9CG,EAAA;MAAAC,KAAA;MAAMC,OAAO;QAAE,gCAAgC;QAAM,YAAYvC,KAAKC;;MAAauC,MAAK;OACrFxC,KAAKW,oBAAkB,KAAGX,KAAKC","ignoreList":[]}
@@ -4,8 +4,6 @@
4
4
  */
5
5
  import { r as a, c as r, g as e, h as b, a as t } from "./p-01df4baa.js";
6
6
 
7
- import "./p-a84d4562.js";
8
-
9
7
  import { i as n } from "./p-99829fc7.js";
10
8
 
11
9
  import { v as i } from "./p-687da041.js";
@@ -19,7 +17,7 @@ const s = [ "start", "end" ];
19
17
  // !TO BE REMOVED: `placement` is deprecated and it will be removed in the future
20
18
  const l = [ "left", "right" ];
21
19
 
22
- const c = '.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-10{z-index:10}.flex{display:flex}.flex-col{flex-direction:column}.gap-\\[--bq-drawer--gap\\]{gap:var(--bq-drawer--gap)}.bg-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-grey-900);--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:9999;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:10}.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-between{justify-content:space-between}.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-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}.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)}';
20
+ const c = '.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-10{z-index:10}.flex{display:flex}.flex-col{flex-direction:column}.gap-\\[--bq-drawer--gap\\]{gap:var(--bq-drawer--gap)}.bg-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-grey-900);--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:9999;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:10}.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-between{justify-content:space-between}.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-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}.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)}.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)}';
23
21
 
24
22
  const v = c;
25
23
 
@@ -271,4 +269,4 @@ const u = class {
271
269
  u.style = v;
272
270
 
273
271
  export { u as bq_drawer };
274
- //# sourceMappingURL=p-cdd5b425.entry.js.map
272
+ //# sourceMappingURL=p-3f9a348a.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DRAWER_POSITIONS","DRAWER_PLACEMENT","bqDrawerCss","BqDrawerStyle0","BqDrawer","footerElem","drawerElem","OPEN_CSS_CLASS","handleOpenChange","this","open","handleAfterHide","handleAfterShow","handlePlacementChange","isNil","placement","console","warn","validatePropValue","el","synPositionMap","right","left","position","handlePositionChange","syncPlacementMap","end","start","bqClose","bqOpen","bqAfterOpen","bqAfterClose","componentWillLoad","handleMouseClick","event","closeOnClickOutside","button","rect","getBoundingClientRect","clientX","hide","handleKeyDown","closeOnEsc","key","ev","emit","defaultPrevented","show","handleFooterSlotChange","hasFooter","hasSlotContent","async","leave","handleTransitionEnd","classList","add","enter","remove","isPositionStart","isPositionEnd","render","h","Host","enableBackdrop","class","tabIndex","part","ref","div","hidden","role","id","name","appearance","size","slot","exportparts","onClick","bind","title","block","dashed","onSlotchange"],"sources":["../../packages/beeq/src/components/drawer/bq-drawer.types.ts","../../packages/beeq/src/components/drawer/scss/bq-drawer.scss?tag=bq-drawer&encapsulation=shadow","../../packages/beeq/src/components/drawer/bq-drawer.tsx"],"sourcesContent":["export const DRAWER_POSITIONS = ['start', 'end'] as const;\nexport type TDrawerPosition = (typeof DRAWER_POSITIONS)[number];\n// !TO BE REMOVED: `placement` is deprecated and it will be removed in the future\nexport const DRAWER_PLACEMENT = ['left', 'right'] as const;\nexport type TDrawerPlacement = (typeof DRAWER_PLACEMENT)[number];\n","/* -------------------------------------------------------------------------- */\n/* Drawer styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-drawer.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-drawer--open) {\n @apply visible #{!important};\n}\n\n.bq-drawer {\n @apply fixed z-10 flex flex-col gap-[--bq-drawer--gap] bg-bg-primary shadow-m is-[--bq-drawer--width] max-is-full inset-b-0 p-b-[--bq-drawer--paddingY] p-i-[--bq-drawer--paddingX];\n}\n","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 * @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\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-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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DRAWER_POSITIONS","DRAWER_PLACEMENT","bqDrawerCss","BqDrawerStyle0","BqDrawer","footerElem","drawerElem","OPEN_CSS_CLASS","handleOpenChange","this","open","handleAfterHide","handleAfterShow","handlePlacementChange","isNil","placement","console","warn","validatePropValue","el","synPositionMap","right","left","position","handlePositionChange","syncPlacementMap","end","start","bqClose","bqOpen","bqAfterOpen","bqAfterClose","componentWillLoad","handleMouseClick","event","closeOnClickOutside","button","rect","getBoundingClientRect","clientX","hide","handleKeyDown","closeOnEsc","key","ev","emit","defaultPrevented","show","handleFooterSlotChange","hasFooter","hasSlotContent","async","leave","handleTransitionEnd","classList","add","enter","remove","isPositionStart","isPositionEnd","render","h","Host","enableBackdrop","class","tabIndex","part","ref","div","hidden","role","id","name","appearance","size","slot","exportparts","onClick","bind","title","block","dashed","onSlotchange"],"sources":["../../packages/beeq/src/components/drawer/bq-drawer.types.ts","../../packages/beeq/src/components/drawer/scss/bq-drawer.scss?tag=bq-drawer&encapsulation=shadow","../../packages/beeq/src/components/drawer/bq-drawer.tsx"],"sourcesContent":["export const DRAWER_POSITIONS = ['start', 'end'] as const;\nexport type TDrawerPosition = (typeof DRAWER_POSITIONS)[number];\n// !TO BE REMOVED: `placement` is deprecated and it will be removed in the future\nexport const DRAWER_PLACEMENT = ['left', 'right'] as const;\nexport type TDrawerPlacement = (typeof DRAWER_PLACEMENT)[number];\n","/* -------------------------------------------------------------------------- */\n/* Drawer styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-drawer.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-drawer--open) {\n @apply visible #{!important};\n}\n\n.bq-drawer {\n @apply fixed z-10 flex flex-col gap-[--bq-drawer--gap] bg-bg-primary shadow-m is-[--bq-drawer--width] max-is-full inset-b-0 p-b-[--bq-drawer--paddingY] p-i-[--bq-drawer--paddingX];\n}\n","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 * @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\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-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"],"mappings":"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","ignoreList":[]}
@@ -4,9 +4,7 @@
4
4
  */
5
5
  import { r as a, g as r, h as e } from "./p-01df4baa.js";
6
6
 
7
- import "./p-a84d4562.js";
8
-
9
- import { a as b } from "./p-5a9a73a0.js";
7
+ import { a as b } from "./p-edfd9767.js";
10
8
 
11
9
  import { i as n } from "./p-99829fc7.js";
12
10
 
@@ -194,4 +192,4 @@ const v = class {
194
192
  v.style = c;
195
193
 
196
194
  export { v as bq_spinner };
197
- //# sourceMappingURL=p-27974392.entry.js.map
195
+ //# sourceMappingURL=p-41ac1d84.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SPINNER_TEXT_POSITION","SPINNER_SIZE","bqSpinnerCss","BqSpinnerStyle0","BqSpinner","iconSlotElem","slotElem","observer","MutationObserver","mutations","mutation","this","slotContentLength","target","textContent","length","handleTextPositionProp","validatePropValue","el","handleSizeProp","setIconSize","handleHasIconSlot","componentWillLoad","checkPropValues","componentDidLoad","disconnectedCallback","disconnect","handleSlotChange","hasSlot","hasSlotContent","slot","querySelector","isNil","getTextContent","recurse","nodes","assignedNodes","flatten","forEach","node","observe","characterData","childList","subtree","handleIconSlotChange","hasIconSlot","isTextDisplayed","textPosition","bqIcon","size","parseInt","getCSSVariableValue","toString","assignedElements","filter","isHTMLElement","render","h","key","class","animation","part","role","fill","viewBox","d","opacity","flex","ref","spanElem","name","onSlotchange"],"sources":["../../packages/beeq/src/components/spinner/bq-spinner.types.ts","../../packages/beeq/src/components/spinner/scss/bq-spinner.scss?tag=bq-spinner&encapsulation=shadow","../../packages/beeq/src/components/spinner/bq-spinner.tsx"],"sourcesContent":["export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'bellow'] as const;\nexport const SPINNER_SIZE = ['small', 'medium', 'large'] as const;\nexport type TSpinnerTextPosition = (typeof SPINNER_TEXT_POSITION)[number];\nexport type TSpinnerSize = (typeof SPINNER_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Spinner styles */\n/* -------------------------------------------------------------------------- */\n@import './bq-spinner.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-spinner {\n @apply flex;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner loader size */\n/* -------------------------------------------------------------------------- */\n\n.bq-spinner--loader.large {\n @apply bs-[--bq-spinner--size-large] is-[--bq-spinner--size-large];\n}\n\n.bq-spinner--loader.medium {\n @apply bs-[--bq-spinner--size-medium] is-[--bq-spinner--size-medium];\n}\n\n.bq-spinner--loader.small {\n @apply bs-[--bq-spinner--size-small] is-[--bq-spinner--size-small];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Text position */\n/* -------------------------------------------------------------------------- */\n\n.text-left,\n.text-right {\n @apply flex-row items-center;\n\n &.has-text {\n @apply gap-x-m;\n }\n}\n\n.text-left {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-right {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n.text-above,\n.text-bellow {\n @apply flex-col items-center;\n\n &.has-text {\n @apply gap-y-m;\n }\n}\n\n.text-above {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-bellow {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Animate slotted icon if provided */\n/* -------------------------------------------------------------------------- */\n\n.is-animated {\n .bq-spinner--icon,\n .bq-spinner--loader > svg {\n @include animation-spin;\n }\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { SPINNER_SIZE, SPINNER_TEXT_POSITION, TSpinnerSize, TSpinnerTextPosition } from './bq-spinner.types';\nimport {\n getCSSVariableValue,\n getTextContent,\n hasSlotContent,\n isHTMLElement,\n isNil,\n validatePropValue,\n} from '../../shared/utils';\n\n/**\n * Spinners are designed for users to display data loading.\n *\n * @part base - The div wrapper container used under the hood.\n * @part icon - The `<svg>` icon element used to spin/animate.\n * @part custom-icon - The `<span>` tag element that holds the custom icon element passed.\n * @part text - The `<span>` tag element that renders the label text inside the component.\n */\n@Component({\n tag: 'bq-spinner',\n styleUrl: './scss/bq-spinner.scss',\n shadow: true,\n})\nexport class BqSpinner {\n // Own Properties\n // ====================\n\n private iconSlotElem: HTMLElement;\n private slotElem: HTMLElement;\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.slotContentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSpinnerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasIconSlot = false;\n @State() private hasSlot = false;\n @State() private slotContentLength = 0;\n\n // Public Property API\n // ========================\n\n /** If `false`, the animation on the icon element will be stopped */\n @Prop({ reflect: true }) animation? = true;\n\n /** It defines the position of the label text */\n @Prop({ reflect: true }) textPosition: TSpinnerTextPosition = 'none';\n\n /** It defines the size of the icon element displayed */\n @Prop({ reflect: true }) size: TSpinnerSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('textPosition')\n handleTextPositionProp() {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n }\n\n @Watch('size')\n handleSizeProp() {\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n this.setIconSize();\n }\n\n @Watch('hasIconSlot')\n handleHasIconSlot() {\n this.setIconSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.setIconSize();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.slotElem) return;\n\n this.hasSlot = hasSlotContent(this.slotElem);\n if (!this.hasSlot) return;\n\n const slot = this.slotElem.querySelector('slot') ?? null;\n if (isNil(slot)) return;\n\n this.slotContentLength = getTextContent(slot, { recurse: true }).length;\n const nodes = slot.assignedNodes({ flatten: true });\n nodes.forEach((node) => {\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n });\n };\n\n private handleIconSlotChange = (): void => {\n this.hasIconSlot = hasSlotContent(this.iconSlotElem, 'icon');\n };\n\n private checkPropValues = (): void => {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n };\n\n private get isTextDisplayed(): boolean {\n return this.textPosition !== 'none';\n }\n\n private setIconSize(): void {\n if (!this.hasIconSlot || !this.bqIcon) return;\n\n this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el)).toString();\n }\n\n private get bqIcon(): HTMLBqIconElement | null {\n if (!this.hasIconSlot) return null;\n\n const slot = this.iconSlotElem.querySelector('slot');\n\n return [...slot.assignedElements({ flatten: true })].filter((el: Element) =>\n isHTMLElement(el, 'bq-icon'),\n )[0] as HTMLBqIconElement;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n [`bq-spinner ${this.size} text-${this.textPosition}`]: true,\n 'is-animated': this.animation,\n 'has-text': !!this.slotContentLength,\n }}\n part=\"base\"\n >\n {!this.hasIconSlot && (\n <div\n class={`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`}\n aria-label=\"Loading...\"\n role=\"status\"\n >\n <svg class=\"bs-full is-full\" fill=\"currentColor\" viewBox=\"0 0 48 48\">\n <path\n fill=\"currentColor\"\n d=\"M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z\"\n opacity=\".1\"\n />\n </svg>\n </div>\n )}\n <span\n class={{\n 'bq-spinner--icon': true,\n flex: this.hasIconSlot,\n '!hidden': !this.hasIconSlot,\n }}\n ref={(spanElem) => (this.iconSlotElem = spanElem)}\n part=\"custom-icon\"\n >\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </span>\n <span\n class={{\n 'bq-spinner--text font-medium leading-regular text-text-primary': true,\n '!hidden': !this.isTextDisplayed,\n }}\n part=\"text\"\n ref={(spanElem) => (this.slotElem = spanElem)}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SPINNER_TEXT_POSITION","SPINNER_SIZE","bqSpinnerCss","BqSpinnerStyle0","BqSpinner","iconSlotElem","slotElem","observer","MutationObserver","mutations","mutation","this","slotContentLength","target","textContent","length","handleTextPositionProp","validatePropValue","el","handleSizeProp","setIconSize","handleHasIconSlot","componentWillLoad","checkPropValues","componentDidLoad","disconnectedCallback","disconnect","handleSlotChange","hasSlot","hasSlotContent","slot","querySelector","isNil","getTextContent","recurse","nodes","assignedNodes","flatten","forEach","node","observe","characterData","childList","subtree","handleIconSlotChange","hasIconSlot","isTextDisplayed","textPosition","bqIcon","size","parseInt","getCSSVariableValue","toString","assignedElements","filter","isHTMLElement","render","h","key","class","animation","part","role","fill","viewBox","d","opacity","flex","ref","spanElem","name","onSlotchange"],"sources":["../../packages/beeq/src/components/spinner/bq-spinner.types.ts","../../packages/beeq/src/components/spinner/scss/bq-spinner.scss?tag=bq-spinner&encapsulation=shadow","../../packages/beeq/src/components/spinner/bq-spinner.tsx"],"sourcesContent":["export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'bellow'] as const;\nexport const SPINNER_SIZE = ['small', 'medium', 'large'] as const;\nexport type TSpinnerTextPosition = (typeof SPINNER_TEXT_POSITION)[number];\nexport type TSpinnerSize = (typeof SPINNER_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Spinner styles */\n/* -------------------------------------------------------------------------- */\n@import './bq-spinner.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-spinner {\n @apply flex;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner loader size */\n/* -------------------------------------------------------------------------- */\n\n.bq-spinner--loader.large {\n @apply bs-[--bq-spinner--size-large] is-[--bq-spinner--size-large];\n}\n\n.bq-spinner--loader.medium {\n @apply bs-[--bq-spinner--size-medium] is-[--bq-spinner--size-medium];\n}\n\n.bq-spinner--loader.small {\n @apply bs-[--bq-spinner--size-small] is-[--bq-spinner--size-small];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Text position */\n/* -------------------------------------------------------------------------- */\n\n.text-left,\n.text-right {\n @apply flex-row items-center;\n\n &.has-text {\n @apply gap-x-m;\n }\n}\n\n.text-left {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-right {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n.text-above,\n.text-bellow {\n @apply flex-col items-center;\n\n &.has-text {\n @apply gap-y-m;\n }\n}\n\n.text-above {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-bellow {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Animate slotted icon if provided */\n/* -------------------------------------------------------------------------- */\n\n.is-animated {\n .bq-spinner--icon,\n .bq-spinner--loader > svg {\n @include animation-spin;\n }\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { SPINNER_SIZE, SPINNER_TEXT_POSITION, TSpinnerSize, TSpinnerTextPosition } from './bq-spinner.types';\nimport {\n getCSSVariableValue,\n getTextContent,\n hasSlotContent,\n isHTMLElement,\n isNil,\n validatePropValue,\n} from '../../shared/utils';\n\n/**\n * Spinners are designed for users to display data loading.\n *\n * @part base - The div wrapper container used under the hood.\n * @part icon - The `<svg>` icon element used to spin/animate.\n * @part custom-icon - The `<span>` tag element that holds the custom icon element passed.\n * @part text - The `<span>` tag element that renders the label text inside the component.\n */\n@Component({\n tag: 'bq-spinner',\n styleUrl: './scss/bq-spinner.scss',\n shadow: true,\n})\nexport class BqSpinner {\n // Own Properties\n // ====================\n\n private iconSlotElem: HTMLElement;\n private slotElem: HTMLElement;\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.slotContentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSpinnerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasIconSlot = false;\n @State() private hasSlot = false;\n @State() private slotContentLength = 0;\n\n // Public Property API\n // ========================\n\n /** If `false`, the animation on the icon element will be stopped */\n @Prop({ reflect: true }) animation? = true;\n\n /** It defines the position of the label text */\n @Prop({ reflect: true }) textPosition: TSpinnerTextPosition = 'none';\n\n /** It defines the size of the icon element displayed */\n @Prop({ reflect: true }) size: TSpinnerSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('textPosition')\n handleTextPositionProp() {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n }\n\n @Watch('size')\n handleSizeProp() {\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n this.setIconSize();\n }\n\n @Watch('hasIconSlot')\n handleHasIconSlot() {\n this.setIconSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.setIconSize();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.slotElem) return;\n\n this.hasSlot = hasSlotContent(this.slotElem);\n if (!this.hasSlot) return;\n\n const slot = this.slotElem.querySelector('slot') ?? null;\n if (isNil(slot)) return;\n\n this.slotContentLength = getTextContent(slot, { recurse: true }).length;\n const nodes = slot.assignedNodes({ flatten: true });\n nodes.forEach((node) => {\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n });\n };\n\n private handleIconSlotChange = (): void => {\n this.hasIconSlot = hasSlotContent(this.iconSlotElem, 'icon');\n };\n\n private checkPropValues = (): void => {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n };\n\n private get isTextDisplayed(): boolean {\n return this.textPosition !== 'none';\n }\n\n private setIconSize(): void {\n if (!this.hasIconSlot || !this.bqIcon) return;\n\n this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el)).toString();\n }\n\n private get bqIcon(): HTMLBqIconElement | null {\n if (!this.hasIconSlot) return null;\n\n const slot = this.iconSlotElem.querySelector('slot');\n\n return [...slot.assignedElements({ flatten: true })].filter((el: Element) =>\n isHTMLElement(el, 'bq-icon'),\n )[0] as HTMLBqIconElement;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n [`bq-spinner ${this.size} text-${this.textPosition}`]: true,\n 'is-animated': this.animation,\n 'has-text': !!this.slotContentLength,\n }}\n part=\"base\"\n >\n {!this.hasIconSlot && (\n <div\n class={`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`}\n aria-label=\"Loading...\"\n role=\"status\"\n >\n <svg class=\"bs-full is-full\" fill=\"currentColor\" viewBox=\"0 0 48 48\">\n <path\n fill=\"currentColor\"\n d=\"M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z\"\n opacity=\".1\"\n />\n </svg>\n </div>\n )}\n <span\n class={{\n 'bq-spinner--icon': true,\n flex: this.hasIconSlot,\n '!hidden': !this.hasIconSlot,\n }}\n ref={(spanElem) => (this.iconSlotElem = spanElem)}\n part=\"custom-icon\"\n >\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </span>\n <span\n class={{\n 'bq-spinner--text font-medium leading-regular text-text-primary': true,\n '!hidden': !this.isTextDisplayed,\n }}\n part=\"text\"\n ref={(spanElem) => (this.slotElem = spanElem)}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,6 @@
4
4
  */
5
5
  import { r as a, g as r, h as b } from "./p-01df4baa.js";
6
6
 
7
- import "./p-a84d4562.js";
8
-
9
7
  import { v as e } from "./p-687da041.js";
10
8
 
11
9
  const q = [ "alert", "danger", "info", "neutral", "success" ];
@@ -81,4 +79,4 @@ const i = class {
81
79
  i.style = t;
82
80
 
83
81
  export { i as bq_status };
84
- //# sourceMappingURL=p-908c57e9.entry.js.map
82
+ //# sourceMappingURL=p-4eabcd51.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["STATUS_TYPE","bqStatusCss","BqStatusStyle0","BqStatus","checkPropValues","validatePropValue","this","el","componentWillLoad","render","h","key","class","part","role","type","size"],"sources":["../../packages/beeq/src/components/status/bq-status.types.ts","../../packages/beeq/src/components/status/scss/bq-status.scss?tag=bq-status&encapsulation=shadow","../../packages/beeq/src/components/status/bq-status.tsx"],"sourcesContent":["export const STATUS_TYPE = ['alert', 'danger', 'info', 'neutral', 'success'] as const;\nexport type TStatusType = (typeof STATUS_TYPE)[number];\n","@import './bq-status.variables';\n\n.bq-status__circle {\n &::part(base) {\n --bq-badge--size-medium: var(--bq-status-circle--size);\n }\n\n &.success::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.success);\n }\n\n &.danger::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.danger);\n }\n\n &.neutral::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.secondary);\n }\n\n &.alert::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.warning);\n }\n\n &.info::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.brand);\n }\n}\n\n.bq-status__text ::slotted(*) {\n @apply text-s font-medium leading-regular text-text-primary m-b-0 m-i-0 p-b-0 p-i-0;\n}\n","import { Component, Element, h, Prop, Watch } from '@stencil/core';\n\nimport { STATUS_TYPE, TStatusType } from './bq-status.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper of the status component\n * @part circle - The colored circle that marks the status type\n * @part text - The `<div>` container that holds the text label of the status component\n */\n@Component({\n tag: 'bq-status',\n styleUrl: './scss/bq-status.scss',\n shadow: true,\n})\nexport class BqStatus {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqStatusElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It defines the type of status to display */\n @Prop({ reflect: true }) type: TStatusType = 'neutral';\n\n // Prop lifecycle events\n // =======================\n @Watch('type')\n checkPropValues() {\n validatePropValue(STATUS_TYPE, 'neutral', this.el, 'type');\n }\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n // render() function\n // Always the last one in the class.\n // ===================================\n render() {\n return (\n <div class=\"bq-status inline-flex items-center gap-xs\" part=\"base\" role=\"status\">\n <bq-badge class={`bq-status__circle rounded-full ${this.type}`} size=\"medium\" part=\"circle\" role=\"img\" />\n <div\n class=\"bq-status__text text-s font-medium leading-regular text-text-primary max-bs-[20px] p-b-0 p-i-0 m-b-0 m-i-0\"\n part=\"text\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;AAAO,MAAMA,IAAc,EAAC,SAAS,UAAU,QAAQ,WAAW;;ACAlE,MAAMC,IAAc;;AACpB,MAAAC,IAAeD;;MCcFE,IAAQ;;;gBAgB0B;;;;;;;EAK7C,eAAAC;IACEC,EAAkBL,GAAa,WAAWM,KAAKC,IAAI;;;;;;;;EAUrD,iBAAAC;IACEF,KAAKF;;;;;;;;;;;;;;;;;EAoBP,MAAAK;IACE,OACEC,EAAA;MAAAC,KAAA;MAAKC,OAAM;MAA4CC,MAAK;MAAOC,MAAK;OACtEJ,EAAA;MAAAC,KAAA;MAAUC,OAAO,kCAAkCN,KAAKS;MAAQC,MAAK;MAASH,MAAK;MAASC,MAAK;QACjGJ,EAAA;MAAAC,KAAA;MACEC,OAAM;MACNC,MAAK;OAELH,EAAA;MAAAC,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["STATUS_TYPE","bqStatusCss","BqStatusStyle0","BqStatus","checkPropValues","validatePropValue","this","el","componentWillLoad","render","h","key","class","part","role","type","size"],"sources":["../../packages/beeq/src/components/status/bq-status.types.ts","../../packages/beeq/src/components/status/scss/bq-status.scss?tag=bq-status&encapsulation=shadow","../../packages/beeq/src/components/status/bq-status.tsx"],"sourcesContent":["export const STATUS_TYPE = ['alert', 'danger', 'info', 'neutral', 'success'] as const;\nexport type TStatusType = (typeof STATUS_TYPE)[number];\n","@import './bq-status.variables';\n\n.bq-status__circle {\n &::part(base) {\n --bq-badge--size-medium: var(--bq-status-circle--size);\n }\n\n &.success::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.success);\n }\n\n &.danger::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.danger);\n }\n\n &.neutral::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.secondary);\n }\n\n &.alert::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.warning);\n }\n\n &.info::part(base) {\n --bq-badge--background-color: theme(backgroundColor.ui.brand);\n }\n}\n\n.bq-status__text ::slotted(*) {\n @apply text-s font-medium leading-regular text-text-primary m-b-0 m-i-0 p-b-0 p-i-0;\n}\n","import { Component, Element, h, Prop, Watch } from '@stencil/core';\n\nimport { STATUS_TYPE, TStatusType } from './bq-status.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper of the status component\n * @part circle - The colored circle that marks the status type\n * @part text - The `<div>` container that holds the text label of the status component\n */\n@Component({\n tag: 'bq-status',\n styleUrl: './scss/bq-status.scss',\n shadow: true,\n})\nexport class BqStatus {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqStatusElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It defines the type of status to display */\n @Prop({ reflect: true }) type: TStatusType = 'neutral';\n\n // Prop lifecycle events\n // =======================\n @Watch('type')\n checkPropValues() {\n validatePropValue(STATUS_TYPE, 'neutral', this.el, 'type');\n }\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n // render() function\n // Always the last one in the class.\n // ===================================\n render() {\n return (\n <div class=\"bq-status inline-flex items-center gap-xs\" part=\"base\" role=\"status\">\n <bq-badge class={`bq-status__circle rounded-full ${this.type}`} size=\"medium\" part=\"circle\" role=\"img\" />\n <div\n class=\"bq-status__text text-s font-medium leading-regular text-text-primary max-bs-[20px] p-b-0 p-i-0 m-b-0 m-i-0\"\n part=\"text\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;AAAO,MAAMA,IAAc,EAAC,SAAS,UAAU,QAAQ,WAAW;;ACAlE,MAAMC,IAAc;;AACpB,MAAAC,IAAeD;;MCcFE,IAAQ;;;gBAgB0B;;;;;;;EAK7C,eAAAC;IACEC,EAAkBL,GAAa,WAAWM,KAAKC,IAAI;;;;;;;;EAUrD,iBAAAC;IACEF,KAAKF;;;;;;;;;;;;;;;;;EAoBP,MAAAK;IACE,OACEC,EAAA;MAAAC,KAAA;MAAKC,OAAM;MAA4CC,MAAK;MAAOC,MAAK;OACtEJ,EAAA;MAAAC,KAAA;MAAUC,OAAO,kCAAkCN,KAAKS;MAAQC,MAAK;MAASH,MAAK;MAASC,MAAK;QACjGJ,EAAA;MAAAC,KAAA;MACEC,OAAM;MACNC,MAAK;OAELH,EAAA;MAAAC,KAAA","ignoreList":[]}