@beeq/core 1.11.0 → 1.11.1

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 (690) 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/bq-accordion.entry.esm.js.map +1 -1
  4. package/dist/beeq/bq-alert.entry.esm.js.map +1 -1
  5. package/dist/beeq/bq-avatar.entry.esm.js.map +1 -1
  6. package/dist/beeq/bq-badge.entry.esm.js.map +1 -1
  7. package/dist/beeq/bq-breadcrumb-item.entry.esm.js.map +1 -1
  8. package/dist/beeq/bq-breadcrumb.entry.esm.js.map +1 -1
  9. package/dist/beeq/bq-button.bq-icon.entry.esm.js.map +1 -1
  10. package/dist/beeq/bq-card.entry.esm.js.map +1 -1
  11. package/dist/beeq/bq-checkbox.entry.esm.js.map +1 -1
  12. package/dist/beeq/bq-date-picker.entry.esm.js.map +1 -1
  13. package/dist/beeq/bq-dialog.entry.esm.js.map +1 -1
  14. package/dist/beeq/bq-divider.entry.esm.js.map +1 -1
  15. package/dist/beeq/bq-drawer.entry.esm.js.map +1 -1
  16. package/dist/beeq/bq-dropdown.bq-panel.entry.esm.js.map +1 -1
  17. package/dist/beeq/bq-empty-state.entry.esm.js.map +1 -1
  18. package/dist/beeq/bq-input.entry.esm.js.map +1 -1
  19. package/dist/beeq/bq-notification.entry.esm.js.map +1 -1
  20. package/dist/beeq/bq-option-group.entry.esm.js.map +1 -1
  21. package/dist/beeq/bq-option-list.bq-tag.entry.esm.js.map +1 -1
  22. package/dist/beeq/bq-option.entry.esm.js.map +1 -1
  23. package/dist/beeq/bq-page-title.entry.esm.js.map +1 -1
  24. package/dist/beeq/bq-progress.entry.esm.js.map +1 -1
  25. package/dist/beeq/bq-radio-group.entry.esm.js.map +1 -1
  26. package/dist/beeq/bq-radio.entry.esm.js.map +1 -1
  27. package/dist/beeq/bq-select.entry.esm.js.map +1 -1
  28. package/dist/beeq/bq-side-menu-item.entry.esm.js.map +1 -1
  29. package/dist/beeq/bq-side-menu.entry.esm.js.map +1 -1
  30. package/dist/beeq/bq-slider.entry.esm.js.map +1 -1
  31. package/dist/beeq/bq-spinner.entry.esm.js.map +1 -1
  32. package/dist/beeq/bq-status.entry.esm.js.map +1 -1
  33. package/dist/beeq/bq-step-item.entry.esm.js.map +1 -1
  34. package/dist/beeq/bq-steps.entry.esm.js.map +1 -1
  35. package/dist/beeq/bq-switch.entry.esm.js.map +1 -1
  36. package/dist/beeq/bq-tab-group.entry.esm.js.map +1 -1
  37. package/dist/beeq/bq-tab.entry.esm.js.map +1 -1
  38. package/dist/beeq/bq-textarea.entry.esm.js.map +1 -1
  39. package/dist/beeq/bq-toast.entry.esm.js.map +1 -1
  40. package/dist/beeq/bq-tooltip.entry.esm.js.map +1 -1
  41. package/dist/beeq/index.esm.js +1 -1
  42. package/dist/beeq/index.esm.js.map +1 -1
  43. package/dist/beeq/{p-a9643899.entry.js → p-0bf5e367.entry.js} +2 -2
  44. package/dist/beeq/p-0bf5e367.entry.js.map +1 -0
  45. package/dist/beeq/{p-dd896cd8.entry.js → p-16defa87.entry.js} +2 -2
  46. package/dist/beeq/p-16defa87.entry.js.map +1 -0
  47. package/dist/beeq/{p-5ce77af6.entry.js → p-17de1ba4.entry.js} +2 -2
  48. package/dist/beeq/p-17de1ba4.entry.js.map +1 -0
  49. package/dist/beeq/p-1df8fe61.entry.js +6 -0
  50. package/dist/beeq/p-1df8fe61.entry.js.map +1 -0
  51. package/dist/beeq/{p-b520bdb8.entry.js → p-24749f67.entry.js} +2 -2
  52. package/dist/beeq/p-24749f67.entry.js.map +1 -0
  53. package/dist/beeq/{p-8eb8612b.entry.js → p-38add122.entry.js} +2 -2
  54. package/dist/beeq/p-38add122.entry.js.map +1 -0
  55. package/dist/beeq/{p-d1dd36ca.entry.js → p-454fa535.entry.js} +2 -2
  56. package/dist/beeq/p-454fa535.entry.js.map +1 -0
  57. package/dist/beeq/{p-ba12d135.entry.js → p-4647a0fb.entry.js} +2 -2
  58. package/dist/beeq/p-4647a0fb.entry.js.map +1 -0
  59. package/dist/beeq/{p-87430ad8.entry.js → p-4725a142.entry.js} +2 -2
  60. package/dist/beeq/p-4725a142.entry.js.map +1 -0
  61. package/dist/beeq/{p-6852a0b0.entry.js → p-51351eed.entry.js} +2 -2
  62. package/dist/beeq/p-51351eed.entry.js.map +1 -0
  63. package/dist/beeq/{p-96f6c9ae.entry.js → p-5b0a56e7.entry.js} +2 -2
  64. package/dist/beeq/p-5b0a56e7.entry.js.map +1 -0
  65. package/dist/beeq/{p-3dca7a14.entry.js → p-5c23324d.entry.js} +2 -2
  66. package/dist/beeq/p-5c23324d.entry.js.map +1 -0
  67. package/dist/beeq/{p-60db3689.entry.js → p-5dd30c4c.entry.js} +2 -2
  68. package/dist/beeq/p-5dd30c4c.entry.js.map +1 -0
  69. package/dist/beeq/{p-eb2cfa90.entry.js → p-5df7df5d.entry.js} +2 -2
  70. package/dist/beeq/p-5df7df5d.entry.js.map +1 -0
  71. package/dist/beeq/{p-c023718e.entry.js → p-5e8c8e90.entry.js} +2 -2
  72. package/dist/beeq/p-5e8c8e90.entry.js.map +1 -0
  73. package/dist/beeq/{p-1c6ef374.entry.js → p-662578a2.entry.js} +2 -2
  74. package/dist/beeq/p-662578a2.entry.js.map +1 -0
  75. package/dist/beeq/{p-3c7397cf.entry.js → p-6ae2ca4b.entry.js} +2 -2
  76. package/dist/beeq/p-6ae2ca4b.entry.js.map +1 -0
  77. package/dist/beeq/{p-0deed5d1.entry.js → p-7ca73c06.entry.js} +2 -2
  78. package/dist/beeq/p-7ca73c06.entry.js.map +1 -0
  79. package/dist/beeq/{p-7063e5c2.entry.js → p-84e62655.entry.js} +2 -2
  80. package/dist/beeq/p-84e62655.entry.js.map +1 -0
  81. package/dist/beeq/{p-dc4d2d77.entry.js → p-93d6f4f0.entry.js} +2 -2
  82. package/dist/beeq/p-93d6f4f0.entry.js.map +1 -0
  83. package/dist/beeq/{p-2f008ed1.entry.js → p-9585221e.entry.js} +2 -2
  84. package/dist/beeq/p-9585221e.entry.js.map +1 -0
  85. package/dist/beeq/{p-477f032f.entry.js → p-9e9baa82.entry.js} +2 -2
  86. package/dist/beeq/p-9e9baa82.entry.js.map +1 -0
  87. package/dist/beeq/{p-DMf9D39m.js → p-BNvWMggA.js} +2 -2
  88. package/dist/beeq/{p-DMf9D39m.js.map → p-BNvWMggA.js.map} +1 -1
  89. package/dist/beeq/p-BOf9EC3C.js +7 -0
  90. package/dist/beeq/p-BOf9EC3C.js.map +1 -0
  91. package/dist/beeq/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
  92. package/dist/beeq/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +1 -1
  93. package/dist/beeq/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
  94. package/dist/beeq/p-CVw85-WU.js.map +1 -0
  95. package/dist/beeq/p-CgIw4Syg.js +6 -0
  96. package/dist/beeq/{p-y49NXy_H.js.map → p-CgIw4Syg.js.map} +1 -1
  97. package/dist/beeq/p-DdvbF5yL.js.map +1 -1
  98. package/dist/beeq/{p-48811a09.entry.js → p-b1d2e472.entry.js} +2 -2
  99. package/dist/beeq/p-b1d2e472.entry.js.map +1 -0
  100. package/dist/beeq/p-b7efb629.entry.js +6 -0
  101. package/dist/beeq/p-b7efb629.entry.js.map +1 -0
  102. package/dist/beeq/{p-9305e1a2.entry.js → p-b88b2573.entry.js} +2 -2
  103. package/dist/beeq/p-b88b2573.entry.js.map +1 -0
  104. package/dist/beeq/p-bfca08f5.entry.js +6 -0
  105. package/dist/beeq/p-bfca08f5.entry.js.map +1 -0
  106. package/dist/beeq/{p-6a10175b.entry.js → p-c63b89d2.entry.js} +2 -2
  107. package/dist/beeq/p-c63b89d2.entry.js.map +1 -0
  108. package/dist/beeq/{p-3e8980ff.entry.js → p-ca93325b.entry.js} +2 -2
  109. package/dist/beeq/p-ca93325b.entry.js.map +1 -0
  110. package/dist/beeq/{p-04745600.entry.js → p-cb0639d5.entry.js} +2 -2
  111. package/dist/beeq/p-cb0639d5.entry.js.map +1 -0
  112. package/dist/beeq/{p-78be94d2.entry.js → p-cd53041f.entry.js} +2 -2
  113. package/dist/beeq/p-cd53041f.entry.js.map +1 -0
  114. package/dist/beeq/{p-f12a127c.entry.js → p-d8118f0b.entry.js} +2 -2
  115. package/dist/beeq/p-d8118f0b.entry.js.map +1 -0
  116. package/dist/beeq/p-d9c5ab1d.entry.js +6 -0
  117. package/dist/beeq/p-d9c5ab1d.entry.js.map +1 -0
  118. package/dist/beeq/{p-1421f4a3.entry.js → p-dc5aa386.entry.js} +2 -2
  119. package/dist/beeq/p-dc5aa386.entry.js.map +1 -0
  120. package/dist/beeq/{p-fbc38c77.entry.js → p-dcda1181.entry.js} +2 -2
  121. package/dist/beeq/p-dcda1181.entry.js.map +1 -0
  122. package/dist/beeq/{p-6d429afd.entry.js → p-e5c12fd7.entry.js} +2 -2
  123. package/dist/beeq/p-e5c12fd7.entry.js.map +1 -0
  124. package/dist/beeq/p-eaa8c123.entry.js +6 -0
  125. package/dist/beeq/p-eaa8c123.entry.js.map +1 -0
  126. package/dist/beeq/{p-8280145e.entry.js → p-eb47c1ae.entry.js} +2 -2
  127. package/dist/beeq/p-eb47c1ae.entry.js.map +1 -0
  128. package/dist/beeq/{p-f8d5c1ab.entry.js → p-eb6eac82.entry.js} +2 -2
  129. package/dist/beeq/p-eb6eac82.entry.js.map +1 -0
  130. package/dist/beeq/{p-37a2fb82.entry.js → p-f691f00c.entry.js} +2 -2
  131. package/dist/beeq/p-f691f00c.entry.js.map +1 -0
  132. package/dist/beeq/p-igOoibr-.js +6 -0
  133. package/dist/beeq/p-igOoibr-.js.map +1 -0
  134. package/dist/beeq/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
  135. package/dist/beeq/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
  136. package/dist/beeq.html-custom-data.json +2 -11
  137. package/dist/cjs/beeq.cjs.js +3 -5
  138. package/dist/cjs/beeq.cjs.js.map +1 -1
  139. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -3
  140. package/dist/cjs/bq-accordion.cjs.entry.js +18 -10
  141. package/dist/cjs/bq-accordion.entry.cjs.js.map +1 -1
  142. package/dist/cjs/bq-alert.cjs.entry.js +12 -11
  143. package/dist/cjs/bq-alert.entry.cjs.js.map +1 -1
  144. package/dist/cjs/bq-avatar.cjs.entry.js +5 -7
  145. package/dist/cjs/bq-avatar.entry.cjs.js.map +1 -1
  146. package/dist/cjs/bq-badge.cjs.entry.js +4 -4
  147. package/dist/cjs/bq-badge.entry.cjs.js.map +1 -1
  148. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +4 -6
  149. package/dist/cjs/bq-breadcrumb-item.entry.cjs.js.map +1 -1
  150. package/dist/cjs/bq-breadcrumb.cjs.entry.js +6 -4
  151. package/dist/cjs/bq-breadcrumb.entry.cjs.js.map +1 -1
  152. package/dist/cjs/bq-button.bq-icon.entry.cjs.js.map +1 -1
  153. package/dist/cjs/bq-button_2.cjs.entry.js +14 -12
  154. package/dist/cjs/bq-card.cjs.entry.js +2 -4
  155. package/dist/cjs/bq-card.entry.cjs.js.map +1 -1
  156. package/dist/cjs/bq-checkbox.cjs.entry.js +5 -5
  157. package/dist/cjs/bq-checkbox.entry.cjs.js.map +1 -1
  158. package/dist/cjs/bq-date-picker.cjs.entry.js +69 -26
  159. package/dist/cjs/bq-date-picker.entry.cjs.js.map +1 -1
  160. package/dist/cjs/bq-dialog.cjs.entry.js +12 -8
  161. package/dist/cjs/bq-dialog.entry.cjs.js.map +1 -1
  162. package/dist/cjs/bq-divider.cjs.entry.js +7 -7
  163. package/dist/cjs/bq-divider.entry.cjs.js.map +1 -1
  164. package/dist/cjs/bq-drawer.cjs.entry.js +8 -6
  165. package/dist/cjs/bq-drawer.entry.cjs.js.map +1 -1
  166. package/dist/cjs/bq-dropdown.bq-panel.entry.cjs.js.map +1 -1
  167. package/dist/cjs/bq-dropdown_2.cjs.entry.js +12 -8
  168. package/dist/cjs/bq-empty-state.cjs.entry.js +9 -7
  169. package/dist/cjs/bq-empty-state.entry.cjs.js.map +1 -1
  170. package/dist/cjs/bq-input.cjs.entry.js +29 -23
  171. package/dist/cjs/bq-input.entry.cjs.js.map +1 -1
  172. package/dist/cjs/bq-notification.cjs.entry.js +10 -6
  173. package/dist/cjs/bq-notification.entry.cjs.js.map +1 -1
  174. package/dist/cjs/bq-option-group.cjs.entry.js +2 -4
  175. package/dist/cjs/bq-option-group.entry.cjs.js.map +1 -1
  176. package/dist/cjs/bq-option-list.bq-tag.entry.cjs.js.map +1 -1
  177. package/dist/cjs/bq-option-list_2.cjs.entry.js +6 -6
  178. package/dist/cjs/bq-option.cjs.entry.js +17 -12
  179. package/dist/cjs/bq-option.entry.cjs.js.map +1 -1
  180. package/dist/cjs/bq-page-title.cjs.entry.js +10 -6
  181. package/dist/cjs/bq-page-title.entry.cjs.js.map +1 -1
  182. package/dist/cjs/bq-progress.cjs.entry.js +6 -8
  183. package/dist/cjs/bq-progress.entry.cjs.js.map +1 -1
  184. package/dist/cjs/bq-radio-group.cjs.entry.js +15 -11
  185. package/dist/cjs/bq-radio-group.entry.cjs.js.map +1 -1
  186. package/dist/cjs/bq-radio.cjs.entry.js +4 -4
  187. package/dist/cjs/bq-radio.entry.cjs.js.map +1 -1
  188. package/dist/cjs/bq-select.cjs.entry.js +76 -31
  189. package/dist/cjs/bq-select.entry.cjs.js.map +1 -1
  190. package/dist/cjs/bq-side-menu-item.cjs.entry.js +6 -6
  191. package/dist/cjs/bq-side-menu-item.entry.cjs.js.map +1 -1
  192. package/dist/cjs/bq-side-menu.cjs.entry.js +11 -9
  193. package/dist/cjs/bq-side-menu.entry.cjs.js.map +1 -1
  194. package/dist/cjs/bq-slider.cjs.entry.js +25 -14
  195. package/dist/cjs/bq-slider.entry.cjs.js.map +1 -1
  196. package/dist/cjs/bq-spinner.cjs.entry.js +12 -14
  197. package/dist/cjs/bq-spinner.entry.cjs.js.map +1 -1
  198. package/dist/cjs/bq-status.cjs.entry.js +2 -4
  199. package/dist/cjs/bq-status.entry.cjs.js.map +1 -1
  200. package/dist/cjs/bq-step-item.cjs.entry.js +7 -9
  201. package/dist/cjs/bq-step-item.entry.cjs.js.map +1 -1
  202. package/dist/cjs/bq-steps.cjs.entry.js +5 -5
  203. package/dist/cjs/bq-steps.entry.cjs.js.map +1 -1
  204. package/dist/cjs/bq-switch.cjs.entry.js +8 -6
  205. package/dist/cjs/bq-switch.entry.cjs.js.map +1 -1
  206. package/dist/cjs/bq-tab-group.cjs.entry.js +9 -9
  207. package/dist/cjs/bq-tab-group.entry.cjs.js.map +1 -1
  208. package/dist/cjs/bq-tab.cjs.entry.js +8 -6
  209. package/dist/cjs/bq-tab.entry.cjs.js.map +1 -1
  210. package/dist/cjs/bq-textarea.cjs.entry.js +16 -15
  211. package/dist/cjs/bq-textarea.entry.cjs.js.map +1 -1
  212. package/dist/cjs/bq-toast.cjs.entry.js +4 -7
  213. package/dist/cjs/bq-toast.entry.cjs.js.map +1 -1
  214. package/dist/cjs/bq-tooltip.cjs.entry.js +9 -5
  215. package/dist/cjs/bq-tooltip.entry.cjs.js.map +1 -1
  216. package/dist/cjs/date-C-h2CBps.js +170 -0
  217. package/dist/cjs/date-C-h2CBps.js.map +1 -0
  218. package/dist/cjs/{debounce-DFaAa1Cu.js → debounce-D0tIpUuS.js} +4 -4
  219. package/dist/cjs/debounce-D0tIpUuS.js.map +1 -0
  220. package/dist/cjs/{index-tFN0ax76.js → index-D7RDSS0K.js} +73 -47
  221. package/dist/cjs/{index-tFN0ax76.js.map → index-D7RDSS0K.js.map} +1 -1
  222. package/dist/cjs/{index-CLoLF-_B.js → index-g8MkV15i.js} +78 -65
  223. package/dist/cjs/index-g8MkV15i.js.map +1 -0
  224. package/dist/cjs/index.cjs.js +7 -6
  225. package/dist/cjs/index.cjs.js.map +1 -1
  226. package/dist/cjs/{isDefined-K4EcmGLZ.js → isDefined-D24L82z9.js} +3 -3
  227. package/dist/cjs/{isDefined-K4EcmGLZ.js.map → isDefined-D24L82z9.js.map} +1 -1
  228. package/dist/cjs/{isString-CHgmxASW.js → isString-CA9m1aBg.js} +3 -3
  229. package/dist/cjs/{isString-CHgmxASW.js.map → isString-CA9m1aBg.js.map} +1 -1
  230. package/dist/cjs/loader.cjs.js +2 -4
  231. package/dist/cjs/{stringToArray-DTx7uqZ4.js → stringToArray-B747BpEA.js} +4 -4
  232. package/dist/cjs/{stringToArray-DTx7uqZ4.js.map → stringToArray-B747BpEA.js.map} +1 -1
  233. package/dist/cjs/transition-C0S-pYqN.js.map +1 -1
  234. package/dist/collection/collection-manifest.json +2 -2
  235. package/dist/collection/components/accordion/bq-accordion.js +17 -11
  236. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  237. package/dist/collection/components/accordion/helper/index.js +6 -2
  238. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  239. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  240. package/dist/collection/components/accordion-group/bq-accordion-group.js +6 -6
  241. package/dist/collection/components/alert/bq-alert.js +25 -22
  242. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  243. package/dist/collection/components/avatar/bq-avatar.js +16 -16
  244. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  245. package/dist/collection/components/badge/bq-badge.js +10 -8
  246. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  247. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +7 -3
  248. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  249. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +6 -6
  250. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  251. package/dist/collection/components/button/bq-button.js +23 -19
  252. package/dist/collection/components/button/bq-button.js.map +1 -1
  253. package/dist/collection/components/button/scss/bq-button.css +1 -1
  254. package/dist/collection/components/card/bq-card.js +5 -5
  255. package/dist/collection/components/card/bq-card.js.map +1 -1
  256. package/dist/collection/components/checkbox/bq-checkbox.js +19 -17
  257. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  258. package/dist/collection/components/date-picker/bq-date-picker.js +103 -61
  259. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  260. package/dist/collection/components/dialog/bq-dialog.js +20 -14
  261. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  262. package/dist/collection/components/divider/bq-divider.js +17 -15
  263. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  264. package/dist/collection/components/drawer/bq-drawer.js +16 -12
  265. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  266. package/dist/collection/components/dropdown/bq-dropdown.js +18 -14
  267. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  268. package/dist/collection/components/empty-state/bq-empty-state.js +10 -6
  269. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  270. package/dist/collection/components/icon/bq-icon.js +17 -17
  271. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  272. package/dist/collection/components/input/bq-input.js +89 -86
  273. package/dist/collection/components/input/bq-input.js.map +1 -1
  274. package/dist/collection/components/notification/bq-notification.js +21 -15
  275. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  276. package/dist/collection/components/option/bq-option.js +42 -16
  277. package/dist/collection/components/option/bq-option.js.map +1 -1
  278. package/dist/collection/components/option/scss/bq-option.css +1 -1
  279. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  280. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  281. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  282. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  283. package/dist/collection/components/page-title/bq-page-title.js +9 -3
  284. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  285. package/dist/collection/components/panel/bq-panel.js +10 -8
  286. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  287. package/dist/collection/components/progress/bq-progress.js +14 -14
  288. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  289. package/dist/collection/components/radio/bq-radio.js +16 -14
  290. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  291. package/dist/collection/components/radio-group/bq-radio-group.js +25 -19
  292. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  293. package/dist/collection/components/select/bq-select.js +101 -54
  294. package/dist/collection/components/select/bq-select.js.map +1 -1
  295. package/dist/collection/components/select/scss/bq-select.css +1 -1
  296. package/dist/collection/components/side-menu/bq-side-menu.js +12 -8
  297. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  298. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  299. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +8 -6
  300. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  301. package/dist/collection/components/slider/bq-slider.js +36 -23
  302. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  303. package/dist/collection/components/spinner/bq-spinner.js +14 -14
  304. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  305. package/dist/collection/components/spinner/bq-spinner.types.js +1 -1
  306. package/dist/collection/components/spinner/bq-spinner.types.js.map +1 -1
  307. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  308. package/dist/collection/components/status/bq-status.js +3 -3
  309. package/dist/collection/components/status/bq-status.js.map +1 -1
  310. package/dist/collection/components/step-item/bq-step-item.js +11 -11
  311. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  312. package/dist/collection/components/steps/bq-steps.js +8 -6
  313. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  314. package/dist/collection/components/switch/bq-switch.js +22 -18
  315. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  316. package/dist/collection/components/tab/bq-tab.js +17 -13
  317. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  318. package/dist/collection/components/tab-group/bq-tab-group.js +15 -13
  319. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  320. package/dist/collection/components/tag/bq-tag.js +19 -17
  321. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  322. package/dist/collection/components/tag/helper/index.js.map +1 -1
  323. package/dist/collection/components/textarea/bq-textarea.js +51 -62
  324. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  325. package/dist/collection/components/toast/bq-toast.js +11 -12
  326. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  327. package/dist/collection/components/tooltip/bq-tooltip.js +14 -8
  328. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  329. package/dist/collection/services/interfaces/floating-ui.js.map +1 -1
  330. package/dist/collection/services/libraries/floating-ui/index.js +34 -25
  331. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  332. package/dist/collection/shared/test-utils/sleep.js +1 -1
  333. package/dist/collection/shared/test-utils/sleep.js.map +1 -1
  334. package/dist/collection/shared/utils/date.js +163 -0
  335. package/dist/collection/shared/utils/date.js.map +1 -0
  336. package/dist/collection/shared/utils/debounce.js +2 -1
  337. package/dist/collection/shared/utils/debounce.js.map +1 -1
  338. package/dist/collection/shared/utils/index.js +1 -0
  339. package/dist/collection/shared/utils/index.js.map +1 -1
  340. package/dist/collection/shared/utils/isString.js +1 -1
  341. package/dist/collection/shared/utils/isString.js.map +1 -1
  342. package/dist/collection/shared/utils/setRafTimeout.js +0 -1
  343. package/dist/collection/shared/utils/setRafTimeout.js.map +1 -1
  344. package/dist/collection/tools/angular-value-accessor-config.js.map +1 -1
  345. package/dist/collection/tools/generate-custom-elements-json.js +2 -2
  346. package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
  347. package/dist/collection/tools/vue-model-config.js.map +1 -1
  348. package/dist/components/bq-accordion-group.js +1 -1
  349. package/dist/components/bq-accordion-group.js.map +1 -1
  350. package/dist/components/bq-accordion.js +1 -1
  351. package/dist/components/bq-accordion.js.map +1 -1
  352. package/dist/components/bq-alert.js +1 -1
  353. package/dist/components/bq-alert.js.map +1 -1
  354. package/dist/components/bq-avatar.js +1 -1
  355. package/dist/components/bq-avatar.js.map +1 -1
  356. package/dist/components/bq-badge.js +1 -1
  357. package/dist/components/bq-breadcrumb-item.js +1 -1
  358. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  359. package/dist/components/bq-breadcrumb.js +1 -1
  360. package/dist/components/bq-breadcrumb.js.map +1 -1
  361. package/dist/components/bq-button.js +1 -1
  362. package/dist/components/bq-card.js +1 -1
  363. package/dist/components/bq-card.js.map +1 -1
  364. package/dist/components/bq-checkbox.js +1 -1
  365. package/dist/components/bq-checkbox.js.map +1 -1
  366. package/dist/components/bq-date-picker.js +1 -1
  367. package/dist/components/bq-date-picker.js.map +1 -1
  368. package/dist/components/bq-dialog.js +1 -1
  369. package/dist/components/bq-dialog.js.map +1 -1
  370. package/dist/components/bq-divider.js +1 -1
  371. package/dist/components/bq-drawer.js +1 -1
  372. package/dist/components/bq-drawer.js.map +1 -1
  373. package/dist/components/bq-dropdown.js +1 -1
  374. package/dist/components/bq-empty-state.js +1 -1
  375. package/dist/components/bq-empty-state.js.map +1 -1
  376. package/dist/components/bq-icon.js +1 -1
  377. package/dist/components/bq-input.js +1 -1
  378. package/dist/components/bq-input.js.map +1 -1
  379. package/dist/components/bq-notification.js +1 -1
  380. package/dist/components/bq-notification.js.map +1 -1
  381. package/dist/components/bq-option-group.js +1 -1
  382. package/dist/components/bq-option-group.js.map +1 -1
  383. package/dist/components/bq-option-list.js +1 -1
  384. package/dist/components/bq-option.js +1 -1
  385. package/dist/components/bq-option.js.map +1 -1
  386. package/dist/components/bq-page-title.js +1 -1
  387. package/dist/components/bq-page-title.js.map +1 -1
  388. package/dist/components/bq-panel.js +1 -1
  389. package/dist/components/bq-progress.js +1 -1
  390. package/dist/components/bq-progress.js.map +1 -1
  391. package/dist/components/bq-radio-group.js +1 -1
  392. package/dist/components/bq-radio-group.js.map +1 -1
  393. package/dist/components/bq-radio.js +1 -1
  394. package/dist/components/bq-radio.js.map +1 -1
  395. package/dist/components/bq-select.js +1 -1
  396. package/dist/components/bq-select.js.map +1 -1
  397. package/dist/components/bq-side-menu-item.js +1 -1
  398. package/dist/components/bq-side-menu-item.js.map +1 -1
  399. package/dist/components/bq-side-menu.js +1 -1
  400. package/dist/components/bq-side-menu.js.map +1 -1
  401. package/dist/components/bq-slider.js +1 -1
  402. package/dist/components/bq-slider.js.map +1 -1
  403. package/dist/components/bq-spinner.js +1 -1
  404. package/dist/components/bq-spinner.js.map +1 -1
  405. package/dist/components/bq-status.js +1 -1
  406. package/dist/components/bq-status.js.map +1 -1
  407. package/dist/components/bq-step-item.js +1 -1
  408. package/dist/components/bq-step-item.js.map +1 -1
  409. package/dist/components/bq-steps.js +1 -1
  410. package/dist/components/bq-steps.js.map +1 -1
  411. package/dist/components/bq-switch.js +1 -1
  412. package/dist/components/bq-switch.js.map +1 -1
  413. package/dist/components/bq-tab-group.js +1 -1
  414. package/dist/components/bq-tab-group.js.map +1 -1
  415. package/dist/components/bq-tab.js +1 -1
  416. package/dist/components/bq-tab.js.map +1 -1
  417. package/dist/components/bq-tag.js +1 -1
  418. package/dist/components/bq-textarea.js +1 -1
  419. package/dist/components/bq-textarea.js.map +1 -1
  420. package/dist/components/bq-toast.js +1 -1
  421. package/dist/components/bq-toast.js.map +1 -1
  422. package/dist/components/bq-tooltip.js +1 -1
  423. package/dist/components/index.js +1 -1
  424. package/dist/components/index.js.map +1 -1
  425. package/dist/components/{p-C4Jb3i-D.js → p-16lKXCDk.js} +2 -2
  426. package/dist/components/p-16lKXCDk.js.map +1 -0
  427. package/dist/components/{p-CjS2vgik.js → p-A6e1tN-B.js} +2 -2
  428. package/dist/components/p-A6e1tN-B.js.map +1 -0
  429. package/dist/components/{p-5er2o4Mn.js → p-B5XEhmuc.js} +2 -2
  430. package/dist/components/{p-5er2o4Mn.js.map → p-B5XEhmuc.js.map} +1 -1
  431. package/dist/components/{p-Bs3hKCXS.js → p-BBhidARY.js} +2 -2
  432. package/dist/components/p-BBhidARY.js.map +1 -0
  433. package/dist/components/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
  434. package/dist/components/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
  435. package/dist/components/p-CVw85-WU.js.map +1 -0
  436. package/dist/components/p-CXUO6Zub.js +6 -0
  437. package/dist/components/p-CXUO6Zub.js.map +1 -0
  438. package/dist/components/p-CgIw4Syg.js +6 -0
  439. package/dist/components/p-CgIw4Syg.js.map +1 -0
  440. package/dist/components/{p-k2047NJf.js → p-D14_9VoZ.js} +2 -2
  441. package/dist/components/{p-k2047NJf.js.map → p-D14_9VoZ.js.map} +1 -1
  442. package/dist/components/{p-fQPjV9jm.js → p-DGysEMss.js} +2 -2
  443. package/dist/components/p-DGysEMss.js.map +1 -0
  444. package/dist/components/p-DHdYy1q5.js +6 -0
  445. package/dist/components/p-DHdYy1q5.js.map +1 -0
  446. package/dist/components/p-DdvbF5yL.js.map +1 -1
  447. package/dist/components/{p-BIl7Vq5P.js → p-DokL_HVP.js} +2 -2
  448. package/dist/components/p-DokL_HVP.js.map +1 -0
  449. package/dist/components/{p-BPVTwD6U.js → p-eRUe5rRq.js} +2 -2
  450. package/dist/components/p-eRUe5rRq.js.map +1 -0
  451. package/dist/components/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
  452. package/dist/components/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
  453. package/dist/custom-elements.json +57 -61
  454. package/dist/esm/beeq.js +4 -6
  455. package/dist/esm/beeq.js.map +1 -1
  456. package/dist/esm/bq-accordion-group.entry.js +1 -3
  457. package/dist/esm/bq-accordion.entry.js +18 -10
  458. package/dist/esm/bq-accordion.entry.js.map +1 -1
  459. package/dist/esm/bq-alert.entry.js +12 -11
  460. package/dist/esm/bq-alert.entry.js.map +1 -1
  461. package/dist/esm/bq-avatar.entry.js +5 -7
  462. package/dist/esm/bq-avatar.entry.js.map +1 -1
  463. package/dist/esm/bq-badge.entry.js +4 -4
  464. package/dist/esm/bq-badge.entry.js.map +1 -1
  465. package/dist/esm/bq-breadcrumb-item.entry.js +4 -6
  466. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  467. package/dist/esm/bq-breadcrumb.entry.js +6 -4
  468. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  469. package/dist/esm/bq-button.bq-icon.entry.js.map +1 -1
  470. package/dist/esm/bq-button_2.entry.js +14 -12
  471. package/dist/esm/bq-card.entry.js +2 -4
  472. package/dist/esm/bq-card.entry.js.map +1 -1
  473. package/dist/esm/bq-checkbox.entry.js +5 -5
  474. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  475. package/dist/esm/bq-date-picker.entry.js +69 -26
  476. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  477. package/dist/esm/bq-dialog.entry.js +12 -8
  478. package/dist/esm/bq-dialog.entry.js.map +1 -1
  479. package/dist/esm/bq-divider.entry.js +7 -7
  480. package/dist/esm/bq-divider.entry.js.map +1 -1
  481. package/dist/esm/bq-drawer.entry.js +8 -6
  482. package/dist/esm/bq-drawer.entry.js.map +1 -1
  483. package/dist/esm/bq-dropdown.bq-panel.entry.js.map +1 -1
  484. package/dist/esm/bq-dropdown_2.entry.js +12 -8
  485. package/dist/esm/bq-empty-state.entry.js +9 -7
  486. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  487. package/dist/esm/bq-input.entry.js +29 -23
  488. package/dist/esm/bq-input.entry.js.map +1 -1
  489. package/dist/esm/bq-notification.entry.js +10 -6
  490. package/dist/esm/bq-notification.entry.js.map +1 -1
  491. package/dist/esm/bq-option-group.entry.js +2 -4
  492. package/dist/esm/bq-option-group.entry.js.map +1 -1
  493. package/dist/esm/bq-option-list.bq-tag.entry.js.map +1 -1
  494. package/dist/esm/bq-option-list_2.entry.js +6 -6
  495. package/dist/esm/bq-option.entry.js +17 -12
  496. package/dist/esm/bq-option.entry.js.map +1 -1
  497. package/dist/esm/bq-page-title.entry.js +10 -6
  498. package/dist/esm/bq-page-title.entry.js.map +1 -1
  499. package/dist/esm/bq-progress.entry.js +6 -8
  500. package/dist/esm/bq-progress.entry.js.map +1 -1
  501. package/dist/esm/bq-radio-group.entry.js +15 -11
  502. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  503. package/dist/esm/bq-radio.entry.js +4 -4
  504. package/dist/esm/bq-radio.entry.js.map +1 -1
  505. package/dist/esm/bq-select.entry.js +76 -31
  506. package/dist/esm/bq-select.entry.js.map +1 -1
  507. package/dist/esm/bq-side-menu-item.entry.js +6 -6
  508. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  509. package/dist/esm/bq-side-menu.entry.js +11 -9
  510. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  511. package/dist/esm/bq-slider.entry.js +25 -14
  512. package/dist/esm/bq-slider.entry.js.map +1 -1
  513. package/dist/esm/bq-spinner.entry.js +12 -14
  514. package/dist/esm/bq-spinner.entry.js.map +1 -1
  515. package/dist/esm/bq-status.entry.js +2 -4
  516. package/dist/esm/bq-status.entry.js.map +1 -1
  517. package/dist/esm/bq-step-item.entry.js +7 -9
  518. package/dist/esm/bq-step-item.entry.js.map +1 -1
  519. package/dist/esm/bq-steps.entry.js +5 -5
  520. package/dist/esm/bq-steps.entry.js.map +1 -1
  521. package/dist/esm/bq-switch.entry.js +8 -6
  522. package/dist/esm/bq-switch.entry.js.map +1 -1
  523. package/dist/esm/bq-tab-group.entry.js +9 -9
  524. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  525. package/dist/esm/bq-tab.entry.js +8 -6
  526. package/dist/esm/bq-tab.entry.js.map +1 -1
  527. package/dist/esm/bq-textarea.entry.js +16 -15
  528. package/dist/esm/bq-textarea.entry.js.map +1 -1
  529. package/dist/esm/bq-toast.entry.js +4 -7
  530. package/dist/esm/bq-toast.entry.js.map +1 -1
  531. package/dist/esm/bq-tooltip.entry.js +9 -5
  532. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  533. package/dist/esm/date-igOoibr-.js +167 -0
  534. package/dist/esm/date-igOoibr-.js.map +1 -0
  535. package/dist/esm/{debounce-cjfQylgg.js → debounce-gVeuteEJ.js} +4 -4
  536. package/dist/esm/debounce-gVeuteEJ.js.map +1 -0
  537. package/dist/esm/{index-DDw-pDpy.js → index-BOf9EC3C.js} +78 -65
  538. package/dist/esm/index-BOf9EC3C.js.map +1 -0
  539. package/dist/esm/{index-y49NXy_H.js → index-CgIw4Syg.js} +73 -47
  540. package/dist/esm/{index-y49NXy_H.js.map → index-CgIw4Syg.js.map} +1 -1
  541. package/dist/esm/index.js +5 -6
  542. package/dist/esm/index.js.map +1 -1
  543. package/dist/esm/{isDefined-DjmcVyb_.js → isDefined-DvmFa_bD.js} +3 -3
  544. package/dist/esm/{isDefined-DjmcVyb_.js.map → isDefined-DvmFa_bD.js.map} +1 -1
  545. package/dist/esm/{isString-CVMdKx0v.js → isString-lysmVw2n.js} +3 -3
  546. package/dist/esm/{isString-CVMdKx0v.js.map → isString-lysmVw2n.js.map} +1 -1
  547. package/dist/esm/loader.js +3 -5
  548. package/dist/esm/{stringToArray-DD7NecAG.js → stringToArray-CIJArUww.js} +4 -4
  549. package/dist/esm/{stringToArray-DD7NecAG.js.map → stringToArray-CIJArUww.js.map} +1 -1
  550. package/dist/esm/transition-DdvbF5yL.js.map +1 -1
  551. package/dist/hydrate/index.d.ts +2 -0
  552. package/dist/hydrate/index.js +955 -544
  553. package/dist/hydrate/index.mjs +955 -544
  554. package/dist/jest.config.js +3 -0
  555. package/dist/jest.config.js.map +1 -1
  556. package/dist/stencil.config.js +3 -2
  557. package/dist/stencil.config.js.map +1 -1
  558. package/dist/types/components/date-picker/bq-date-picker.d.ts +5 -2
  559. package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -0
  560. package/dist/types/components/icon/bq-icon.d.ts +1 -1
  561. package/dist/types/components/input/bq-input.d.ts +10 -11
  562. package/dist/types/components/option/bq-option.d.ts +4 -2
  563. package/dist/types/components/select/bq-select.d.ts +1 -0
  564. package/dist/types/components/spinner/bq-spinner.types.d.ts +1 -1
  565. package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
  566. package/dist/types/components/tag/helper/index.d.ts +1 -1
  567. package/dist/types/components/textarea/bq-textarea.d.ts +5 -9
  568. package/dist/types/components.d.ts +40 -42
  569. package/dist/types/global.d.ts +1 -4
  570. package/dist/types/home/runner/work/BEEQ/BEEQ/.stencil/packages/beeq/jest.config.d.ts +3 -0
  571. package/dist/types/services/interfaces/floating-ui.d.ts +1 -1
  572. package/dist/types/services/libraries/floating-ui/index.d.ts +5 -2
  573. package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
  574. package/dist/types/shared/test-utils/sleep.d.ts +1 -1
  575. package/dist/types/shared/utils/date.d.ts +18 -0
  576. package/dist/types/shared/utils/debounce.d.ts +1 -1
  577. package/dist/types/shared/utils/index.d.ts +1 -0
  578. package/dist/types/shared/utils/setRafTimeout.d.ts +1 -1
  579. package/dist/types/stencil-public-runtime.d.ts +49 -2
  580. package/dist/types/tools/angular-value-accessor-config.d.ts +1 -1
  581. package/dist/types/tools/vue-model-config.d.ts +1 -1
  582. package/package.json +1 -1
  583. package/dist/beeq/p-04745600.entry.js.map +0 -1
  584. package/dist/beeq/p-0deed5d1.entry.js.map +0 -1
  585. package/dist/beeq/p-1421f4a3.entry.js.map +0 -1
  586. package/dist/beeq/p-1c6ef374.entry.js.map +0 -1
  587. package/dist/beeq/p-1cd1ae48.entry.js +0 -6
  588. package/dist/beeq/p-1cd1ae48.entry.js.map +0 -1
  589. package/dist/beeq/p-2f008ed1.entry.js.map +0 -1
  590. package/dist/beeq/p-37a2fb82.entry.js.map +0 -1
  591. package/dist/beeq/p-3c7397cf.entry.js.map +0 -1
  592. package/dist/beeq/p-3dca7a14.entry.js.map +0 -1
  593. package/dist/beeq/p-3e8980ff.entry.js.map +0 -1
  594. package/dist/beeq/p-477f032f.entry.js.map +0 -1
  595. package/dist/beeq/p-48811a09.entry.js.map +0 -1
  596. package/dist/beeq/p-540d625a.entry.js +0 -6
  597. package/dist/beeq/p-540d625a.entry.js.map +0 -1
  598. package/dist/beeq/p-5ce77af6.entry.js.map +0 -1
  599. package/dist/beeq/p-60db3689.entry.js.map +0 -1
  600. package/dist/beeq/p-6852a0b0.entry.js.map +0 -1
  601. package/dist/beeq/p-6a10175b.entry.js.map +0 -1
  602. package/dist/beeq/p-6d429afd.entry.js.map +0 -1
  603. package/dist/beeq/p-7063e5c2.entry.js.map +0 -1
  604. package/dist/beeq/p-78be94d2.entry.js.map +0 -1
  605. package/dist/beeq/p-8280145e.entry.js.map +0 -1
  606. package/dist/beeq/p-87430ad8.entry.js.map +0 -1
  607. package/dist/beeq/p-8eb8612b.entry.js.map +0 -1
  608. package/dist/beeq/p-9305e1a2.entry.js.map +0 -1
  609. package/dist/beeq/p-96f6c9ae.entry.js.map +0 -1
  610. package/dist/beeq/p-D9ofIraD.js.map +0 -1
  611. package/dist/beeq/p-DDw-pDpy.js +0 -7
  612. package/dist/beeq/p-DDw-pDpy.js.map +0 -1
  613. package/dist/beeq/p-a9643899.entry.js.map +0 -1
  614. package/dist/beeq/p-b268b017.entry.js +0 -6
  615. package/dist/beeq/p-b268b017.entry.js.map +0 -1
  616. package/dist/beeq/p-b520bdb8.entry.js.map +0 -1
  617. package/dist/beeq/p-ba12d135.entry.js.map +0 -1
  618. package/dist/beeq/p-c023718e.entry.js.map +0 -1
  619. package/dist/beeq/p-d1dd36ca.entry.js.map +0 -1
  620. package/dist/beeq/p-dc4d2d77.entry.js.map +0 -1
  621. package/dist/beeq/p-dd896cd8.entry.js.map +0 -1
  622. package/dist/beeq/p-e7bd48a0.entry.js +0 -6
  623. package/dist/beeq/p-e7bd48a0.entry.js.map +0 -1
  624. package/dist/beeq/p-eb2cfa90.entry.js.map +0 -1
  625. package/dist/beeq/p-f12a127c.entry.js.map +0 -1
  626. package/dist/beeq/p-f189b65d.entry.js +0 -6
  627. package/dist/beeq/p-f189b65d.entry.js.map +0 -1
  628. package/dist/beeq/p-f8d5c1ab.entry.js.map +0 -1
  629. package/dist/beeq/p-fbc38c77.entry.js.map +0 -1
  630. package/dist/beeq/p-y49NXy_H.js +0 -6
  631. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +0 -1
  632. package/dist/cjs/bq-accordion.cjs.entry.js.map +0 -1
  633. package/dist/cjs/bq-alert.cjs.entry.js.map +0 -1
  634. package/dist/cjs/bq-avatar.cjs.entry.js.map +0 -1
  635. package/dist/cjs/bq-badge.cjs.entry.js.map +0 -1
  636. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +0 -1
  637. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +0 -1
  638. package/dist/cjs/bq-button_2.cjs.entry.js.map +0 -1
  639. package/dist/cjs/bq-card.cjs.entry.js.map +0 -1
  640. package/dist/cjs/bq-checkbox.cjs.entry.js.map +0 -1
  641. package/dist/cjs/bq-date-picker.cjs.entry.js.map +0 -1
  642. package/dist/cjs/bq-dialog.cjs.entry.js.map +0 -1
  643. package/dist/cjs/bq-divider.cjs.entry.js.map +0 -1
  644. package/dist/cjs/bq-drawer.cjs.entry.js.map +0 -1
  645. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +0 -1
  646. package/dist/cjs/bq-empty-state.cjs.entry.js.map +0 -1
  647. package/dist/cjs/bq-input.cjs.entry.js.map +0 -1
  648. package/dist/cjs/bq-notification.cjs.entry.js.map +0 -1
  649. package/dist/cjs/bq-option-group.cjs.entry.js.map +0 -1
  650. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +0 -1
  651. package/dist/cjs/bq-option.cjs.entry.js.map +0 -1
  652. package/dist/cjs/bq-page-title.cjs.entry.js.map +0 -1
  653. package/dist/cjs/bq-progress.cjs.entry.js.map +0 -1
  654. package/dist/cjs/bq-radio-group.cjs.entry.js.map +0 -1
  655. package/dist/cjs/bq-radio.cjs.entry.js.map +0 -1
  656. package/dist/cjs/bq-select.cjs.entry.js.map +0 -1
  657. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +0 -1
  658. package/dist/cjs/bq-side-menu.cjs.entry.js.map +0 -1
  659. package/dist/cjs/bq-slider.cjs.entry.js.map +0 -1
  660. package/dist/cjs/bq-spinner.cjs.entry.js.map +0 -1
  661. package/dist/cjs/bq-status.cjs.entry.js.map +0 -1
  662. package/dist/cjs/bq-step-item.cjs.entry.js.map +0 -1
  663. package/dist/cjs/bq-steps.cjs.entry.js.map +0 -1
  664. package/dist/cjs/bq-switch.cjs.entry.js.map +0 -1
  665. package/dist/cjs/bq-tab-group.cjs.entry.js.map +0 -1
  666. package/dist/cjs/bq-tab.cjs.entry.js.map +0 -1
  667. package/dist/cjs/bq-textarea.cjs.entry.js.map +0 -1
  668. package/dist/cjs/bq-toast.cjs.entry.js.map +0 -1
  669. package/dist/cjs/bq-tooltip.cjs.entry.js.map +0 -1
  670. package/dist/cjs/debounce-DFaAa1Cu.js.map +0 -1
  671. package/dist/cjs/index-CLoLF-_B.js.map +0 -1
  672. package/dist/components/p-BIl7Vq5P.js.map +0 -1
  673. package/dist/components/p-BPVTwD6U.js.map +0 -1
  674. package/dist/components/p-Bkf_oCvP.js +0 -6
  675. package/dist/components/p-Bkf_oCvP.js.map +0 -1
  676. package/dist/components/p-Bs3hKCXS.js.map +0 -1
  677. package/dist/components/p-C4Jb3i-D.js.map +0 -1
  678. package/dist/components/p-CjS2vgik.js.map +0 -1
  679. package/dist/components/p-D9ofIraD.js.map +0 -1
  680. package/dist/components/p-DE7kLeHf.js +0 -6
  681. package/dist/components/p-DE7kLeHf.js.map +0 -1
  682. package/dist/components/p-fQPjV9jm.js.map +0 -1
  683. package/dist/components/p-y49NXy_H.js +0 -6
  684. package/dist/components/p-y49NXy_H.js.map +0 -1
  685. package/dist/esm/bq-button_2.entry.js.map +0 -1
  686. package/dist/esm/bq-dropdown_2.entry.js.map +0 -1
  687. package/dist/esm/bq-option-list_2.entry.js.map +0 -1
  688. package/dist/esm/debounce-cjfQylgg.js.map +0 -1
  689. package/dist/esm/index-DDw-pDpy.js.map +0 -1
  690. /package/dist/components/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +0 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Parses various date input formats and returns a Date object
3
+ * Supports:
4
+ * - ISO format: "2024-05-30"
5
+ * - Text format: "30 May 2024", "May 30, 2024", "30 January 2024", "January 1, 1970" (locale-aware)
6
+ * - Numeric formats: "30/05/2024", "05-30-2024", "30.05.2024", "05.30.2024" (with heuristic for day/month)
7
+ *
8
+ * @param {string} inputValue - The date string to parse
9
+ * @param {Intl.LocalesArgument} locale - The locale for month name recognition (defaults to 'en-GB')
10
+ * @returns {Date | null} Parsed Date object or null if parsing fails
11
+ */
12
+ export declare const parseDateInput: (inputValue: string, locale?: Intl.LocalesArgument) => Date | null;
13
+ /**
14
+ * Validates if a string is in ISO date format (YYYY-MM-DD) with actual valid date values
15
+ * @param {string} dateStr - The date string to validate
16
+ * @returns {boolean} True if the date string is valid in ISO format and represents an actual valid date
17
+ */
18
+ export declare const isValidISODate: (dateStr: string) => boolean;
@@ -1,4 +1,4 @@
1
- export type TFunction = (...args: any[]) => unknown;
1
+ export type TFunction = (...args: unknown[]) => unknown;
2
2
  type TDebounceFnReturn<T> = T extends unknown[] ? (...params: T) => void : (param: T) => void;
3
3
  export type TDebounce<T> = TDebounceFnReturn<T> & {
4
4
  cancel: () => void;
@@ -1,6 +1,7 @@
1
1
  export * from './assetsPath';
2
2
  export * from './clamp';
3
3
  export * from './cssVariables';
4
+ export * from './date';
4
5
  export * from './debounce';
5
6
  export * from './event';
6
7
  export * from './getNextElement';
@@ -6,4 +6,4 @@
6
6
  * @param {Any[]} args - The arguments of func.
7
7
  * @returns {void}
8
8
  */
9
- export declare const setRafTimeout: <TFunc extends (...args: any[]) => void>(func: TFunc, wait: number, ...args: Parameters<TFunc>) => (() => void);
9
+ export declare const setRafTimeout: <TFunc extends (...args: unknown[]) => void>(func: TFunc, wait: number, ...args: Parameters<TFunc>) => (() => void);
@@ -1,4 +1,6 @@
1
- declare type CustomMethodDecorator<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
1
+ type CustomMethodDecorator<T> = (target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
2
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
3
+ type MixinInstance<F> = F extends (base: MixedInCtor) => MixedInCtor<infer I> ? I : never;
2
4
  export interface ComponentDecorator {
3
5
  (opts?: ComponentOptions): ClassDecorator;
4
6
  }
@@ -151,7 +153,13 @@ export interface StateDecorator {
151
153
  (): PropertyDecorator;
152
154
  }
153
155
  export interface WatchDecorator {
154
- (propName: string): CustomMethodDecorator<any>;
156
+ (propName: any): CustomMethodDecorator<(newValue?: any, oldValue?: any, propName?: any, ...args: any[]) => any | void>;
157
+ }
158
+ export interface PropSerializeDecorator {
159
+ (propName: any): CustomMethodDecorator<(newValue?: any, propName?: string, ...args: any[]) => string | null>;
160
+ }
161
+ export interface AttrDeserializeDecorator {
162
+ (propName: any): CustomMethodDecorator<(newValue?: any, propName?: string, ...args: any[]) => any>;
155
163
  }
156
164
  export interface UserBuildConditionals {
157
165
  isDev: boolean;
@@ -233,6 +241,14 @@ export declare const State: StateDecorator;
233
241
  * https://stenciljs.com/docs/reactive-data#watch-decorator
234
242
  */
235
243
  export declare const Watch: WatchDecorator;
244
+ /**
245
+ * Decorator to serialize a property to an attribute string.
246
+ */
247
+ export declare const PropSerialize: PropSerializeDecorator;
248
+ /**
249
+ * Decorator to deserialize an attribute string to a property.
250
+ */
251
+ export declare const AttrDeserialize: AttrDeserializeDecorator;
236
252
  export type ResolutionHandler = (elm: HTMLElement) => string | undefined | null;
237
253
  export type ErrorHandler = (err: any, element?: HTMLElement) => void;
238
254
  /**
@@ -349,6 +365,37 @@ export declare function readTask(task: RafCallback): void;
349
365
  * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler.
350
366
  */
351
367
  export declare const setErrorHandler: (handler: ErrorHandler) => void;
368
+ /**
369
+ * @deprecated - Use `MixedInCtor` instead:
370
+ * ```ts
371
+ * import { MixedInCtor } from '@stencil/core';
372
+ *
373
+ * const AFactoryFn = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
374
+ * ```
375
+ */
376
+ export type MixinFactory = (base: MixedInCtor) => MixedInCtor;
377
+ export type MixedInCtor<T = {}> = new (...args: any[]) => T;
378
+ /**
379
+ * Compose multiple mixin classes into a single constructor.
380
+ * The resulting class has the combined instance types of all mixed-in classes.
381
+ *
382
+ * Example:
383
+ * ```ts
384
+ * import { Mixin, MixedInCtor } from '@stencil/core';
385
+ *
386
+ * const AWrap = <B extends MixedInCtor>(Base: B) => {class A extends Base { propA = A }; return A;}
387
+ * const BWrap = <B extends MixedInCtor>(Base: B) => {class B extends Base { propB = B }; return B;}
388
+ * const CWrap = <B extends MixedInCtor>(Base: B) => {class C extends Base { propC = C }; return C;}
389
+ *
390
+ * class X extends Mixin(AWrap, BWrap, CWrap) {
391
+ * render() { return <div>{this.propA} {this.propB} {this.propC}</div>; }
392
+ * }
393
+ * ```
394
+ *
395
+ * @param mixinFactories mixin factory functions that return a class which extends from the provided class.
396
+ * @returns a class that is composed from extending each of the provided classes in the order they were provided.
397
+ */
398
+ export declare function Mixin<const TMixins extends readonly MixinFactory[]>(...mixinFactories: TMixins): abstract new (...args: any[]) => UnionToIntersection<MixinInstance<TMixins[number]>>;
352
399
  /**
353
400
  * This file gets copied to all distributions of stencil component collections.
354
401
  * - no imports
@@ -1,4 +1,4 @@
1
- import { ValueAccessorConfig } from '@stencil/angular-output-target';
1
+ import type { ValueAccessorConfig } from '@stencil/angular-output-target';
2
2
  /**
3
3
  * This lets you define which components should be integrated with ngModel (i.e. form components).
4
4
  * It lets you set what the target prop is (i.e. value), which event will cause the target prop to change.
@@ -1,2 +1,2 @@
1
- import { ComponentModelConfig } from '@stencil/vue-output-target';
1
+ import type { ComponentModelConfig } from '@stencil/vue-output-target';
2
2
  export declare const vueComponentModels: ComponentModelConfig[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beeq/core",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "BEEQ, a Design System components ruled by Endavan developers :)",
6
6
  "main": "./dist/index.cjs.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqTabGroupCss","BqTabGroup","debouncedBqChange","debounceTime","disableDivider","orientation","placement","size","value","checkDebounceChange","this","Math","max","cancel","debounce","event","bqChange","emit","checkPropValues","validatePropValue","TAB_SIZE","el","TAB_ORIENTATION","TAB_PLACEMENT","bqTabElements","forEach","bqTabElement","active","isNil","tabId","componentWillLoad","componentDidLoad","onKeyUp","target","isHTMLElement","makeTabsFocusable","onBqClick","detail","selectTab","onBqKeyDown","keyActions","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","direction","key","focusTabSibling","onBqBlur","restoreTabsFocus","async","currentTarget","index","elements","getNextElement","vFocus","disabled","enableFocus","Array","from","querySelectorAll","render","h","Host","class","part","role"],"sources":["../../packages/beeq/src/components/tab-group/scss/bq-tab-group.scss?tag=bq-tab-group&encapsulation=shadow","../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n\n.bq-tab-group {\n @apply relative;\n\n &::after {\n @apply absolute flex border-0 border-solid border-primary content-empty;\n }\n\n &--horizontal-start,\n &--horizontal-end {\n &::after {\n @apply is-full inset-be-0 [border-block-end-width:--bq-stroke-s];\n }\n }\n\n &--horizontal-start {\n @apply justify-start;\n }\n\n &--horizontal-end {\n @apply justify-end;\n }\n\n &--vertical-start::after {\n @apply end-0 bs-full is-0 [border-block-end-width:0px] [border-inline-end-width:--bq-stroke-s];\n }\n\n &--vertical-end::after {\n @apply start-0 bs-full is-0 [border-block-end-width:0px] [border-inline-start-width:--bq-stroke-s];\n }\n}\n\n.bq-tab-group.no-divider {\n &::after {\n @apply content-none;\n }\n}\n\n.bq-tab-group--container {\n @include hide-scrollbar;\n @apply gap-xs2 p-xs2; // This will avoid cutting the outline focus style\n}\n","import { Component, Element, Event, h, Host, Listen, Prop, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, TDebounce, validatePropValue } from '../../shared/utils';\nimport { TAB_ORIENTATION, TAB_PLACEMENT, TAB_SIZE } from '../tab/bq-tab.types';\nimport type { TTabOrientation, TTabPlacement, TTabSize } from '../tab/bq-tab.types';\n\n/**\n * The tab group is a user interface element that allows users wrap a set of tab items.\n *\n * @example How to use it\n * ```html\n * <bq-tab-group value=\"5\">\n * <bq-tab tab-id=\"1\">Tab</bq-tab>\n * <bq-tab tab-id=\"2\" active>Tab</bq-tab>\n * <bq-tab tab-id=\"3\">Long Tab name</bq-tab>\n * <bq-tab tab-id=\"4\" disabled>Tab</bq-tab>\n * </bq-tab-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/775321-tabs\n * @status stable\n *\n * @attr {number} debounce-time - A number representing the delay value applied to bqChange event handler\n * @attr {boolean} disable-divider - If true, the underline divider below the tabs won't be shown\n * @attr {string} orientation - The direction that tab should be render\n * @attr {string} placement - The placement that tab should be render\n * @attr {string} size - The size of the tab\n * @attr {string} value - A string representing the id of the selected tab.\n *\n * @event bqChange - Handler to be called when the tab value changes\n *\n * @slot - The bq-tab items\n *\n * @part base - The HTML div wrapper inside the shadow DOM.\n * @part tabs - The HTML div used to hold the tab buttons.\n */\n@Component({\n tag: 'bq-tab-group',\n styleUrl: './scss/bq-tab-group.scss',\n shadow: true,\n})\nexport class BqTabGroup {\n // Own Properties\n // ====================\n\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqTabElement }>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** A number representing the delay value applied to bqChange event handler */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true, the underline divider below the tabs won't be shown */\n @Prop({ reflect: true }) disableDivider = false;\n\n /** The direction that tab should be render */\n @Prop({ reflect: true }) orientation?: TTabOrientation = 'horizontal';\n\n /** The placement that tab should be render */\n @Prop({ reflect: true }) placement?: TTabPlacement = 'start';\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** A string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n checkDebounceChange() {\n if (this.debounceTime < 0) {\n this.debounceTime = Math.max(0, this.debounceTime);\n }\n\n if (this.debouncedBqChange) {\n this.debouncedBqChange.cancel();\n }\n\n this.debouncedBqChange = debounce((event: Parameters<typeof this.debouncedBqChange>[0]) => {\n this.bqChange.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('size')\n @Watch('value')\n @Watch('orientation')\n @Watch('placement')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\n bqTabElement.orientation = this.orientation;\n bqTabElement.placement = this.placement;\n bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab value changes */\n @Event() bqChange: EventEmitter<{ target: HTMLBqTabElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkDebounceChange();\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n @Listen('keyup', { target: 'body', passive: true, capture: true })\n onKeyUp(event: KeyboardEvent) {\n const { target } = event;\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n this.makeTabsFocusable();\n }\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqTabElement>) {\n const { detail: target } = event;\n this.bqTabElements.forEach((bqTabElement) => (bqTabElement.active = bqTabElement === target));\n this.debouncedBqChange({ value: target.tabId, target });\n this.selectTab(target);\n }\n\n @Listen('bqKeyDown', { passive: true })\n async onBqKeyDown(event: CustomEvent<KeyboardEvent>) {\n const { target } = event;\n\n // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n const keyActions: { [key: string]: 'forward' | 'backward' } = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n };\n\n // NOTE: gets the direction based on key pressed\n const direction = keyActions[event.detail.key];\n\n if (!direction) return;\n\n await this.focusTabSibling(target, direction);\n }\n\n @Listen('bqBlur', { capture: true, passive: true })\n onBqBlur() {\n this.restoreTabsFocus();\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 focusTabSibling = async (\n currentTarget: HTMLBqTabElement,\n direction: 'forward' | 'backward',\n ): Promise<void> => {\n let target: HTMLBqTabElement | null = null;\n\n this.bqTabElements.forEach((bqTabElement, index, elements) => {\n bqTabElement.active = false;\n\n if (bqTabElement === currentTarget) {\n target = getNextElement(elements, index, direction);\n }\n });\n\n if (target) {\n await target.vFocus();\n this.selectTab(target);\n }\n };\n\n private makeTabsFocusable = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled) return;\n\n /**\n * This is a \"fire and forget\" operation. The callback itself doesn't do anything special\n * with the asynchronous code (doesn't await it or do anything with the result)\n * Details: https://stackoverflow.com/a/63488201\n */\n (async () => {\n await bqTabElement.enableFocus(true);\n })();\n });\n };\n\n private restoreTabsFocus = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled || bqTabElement.active) return;\n\n /** @See line #173 */\n (async () => {\n await bqTabElement.enableFocus(false);\n })();\n });\n };\n\n private get bqTabElements(): HTMLBqTabElement[] {\n return Array.from(this.el.querySelectorAll('bq-tab'));\n }\n\n private selectTab = (target: HTMLBqTabElement): void => {\n const { tabId } = target;\n target.active = true;\n this.value = tabId;\n this.debouncedBqChange({ value: tabId, target });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host class={{ 'inline-block': this.orientation === 'vertical' }}>\n <div\n class={{\n [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} flex is-full`]: true,\n 'no-divider': this.disableDivider,\n }}\n part=\"base\"\n >\n <div\n class={{\n 'bq-tab-group--container flex overflow-x-auto': true,\n 'flex-col': this.orientation !== 'horizontal',\n }}\n role=\"tablist\"\n part=\"tabs\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ALERT_TYPE","bqAlertCss","BqAlert","autoDismissDebounce","bodyElem","footerElem","alertElement","hasContent","hasFooter","autoDismiss","border","disableClose","hideIcon","open","time","type","sticky","handleTimeout","this","cancel","debounce","hide","handleOpenChange","handleHide","handleShow","checkPropValues","validatePropValue","el","bqHide","bqShow","bqAfterShow","bqAfterHide","componentWillLoad","componentDidLoad","handleSlotChange","classList","add","show","async","ev","emit","defaultPrevented","leave","handleTransitionEnd","remove","enter","hasSlotContent","iconName","error","success","warning","render","style","h","Host","key","class","hidden","role","ref","div","part","appearance","size","onClick","bind","name","exportparts","onSlotchange"],"sources":["../../packages/beeq/src/components/alert/bq-alert.types.ts","../../packages/beeq/src/components/alert/scss/bq-alert.scss?tag=bq-alert&encapsulation=shadow","../../packages/beeq/src/components/alert/bq-alert.tsx"],"sourcesContent":["export const ALERT_TYPE = ['info', 'success', 'warning', 'error', 'default'] as const;\nexport type TAlertType = (typeof ALERT_TYPE)[number];\n\nexport const ALERT_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TAlertBorderRadius = (typeof ALERT_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Alert styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-alert.variables';\n\n:host {\n @apply block;\n}\n\n:host(.is-hidden) {\n @apply hidden;\n}\n\n:host(.is-sticky) {\n @apply fixed inset-0 z-[var(--bq-alert--z-index)] is-full inset-bs-0;\n\n .bq-alert {\n @apply items-center justify-center rounded-none;\n }\n}\n\n.bq-alert {\n @apply relative flex transition-all min-is-[--bq-alert--min-width] p-b-[--bq-alert--padding] p-i-[--bq-alert--padding];\n @apply rounded-[var(--bq-alert--border-radius)] border-[length:--bq-alert--border-width];\n\n border-style: var(--bq-alert--border-style);\n}\n\n/**\n * Set the alert background and border color based on the type value selected\n */\n\n.bq-alert__default {\n @apply border-[color:--bq-alert--border-default] bg-[color:--bq-alert--background-default];\n}\n\n.bq-alert__error {\n @apply border-[color:--bq-alert--border-error] bg-[color:--bq-alert--background-error];\n}\n\n.bq-alert__info {\n @apply border-[color:--bq-alert--border-info] bg-[color:--bq-alert--background-info];\n}\n\n.bq-alert__success {\n @apply border-[color:--bq-alert--border-success] bg-[color:--bq-alert--background-success];\n}\n\n.bq-alert__warning {\n @apply border-[color:--bq-alert--border-warning] bg-[color:--bq-alert--background-warning];\n}\n\n/**\n * Set the alert icon color based on the type value selected\n */\n.bq-alert__icon {\n &--default {\n @apply text-[color:--bq-alert--icon-color-default];\n }\n\n &--error {\n @apply text-[color:--bq-alert--icon-color-error];\n }\n\n &--info {\n @apply text-[color:--bq-alert--icon-color-info];\n }\n\n &--success {\n @apply text-[color:--bq-alert--icon-color-success];\n }\n\n &--warning {\n @apply text-[color:--bq-alert--icon-color-warning];\n }\n}\n\n/**\n * Tweak the close bq-button styles so it remain small without extra padding\n */\n.bq-alert__close::part(button) {\n @apply rounded-s border-0 bs-fit p-b-0 p-i-0;\n}\n","import { Component, Element, Event, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { ALERT_TYPE } from './bq-alert.types';\nimport type { TAlertBorderRadius, TAlertType } from './bq-alert.types';\nimport { debounce, enter, hasSlotContent, leave, TDebounce, validatePropValue } from '../../shared/utils';\n\n/**\n * The Alert is a user interface component used to convey important information to the user in a clear and concise manner.\n * It can be used to notify users of success, failure, warning, or any other type of information that needs to be brought to their attention.\n *\n * @example How to use it\n * ```html\n * <bq-alert>\n * <bq-icon name=\"star\" slot=\"icon\"></bq-icon>\n * Title\n * <span slot=\"body\">\n * Description\n * <a class=\"bq-link\" href=\"https://example.com\">Link</a>\n * </span>\n * <div slot=\"footer\">\n * <bq-button appearance=\"primary\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-alert>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/848a50-alert\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {boolean} [auto-dismiss=false] - If true, the alert will automatically hide after the specified amount of time\n * @attr {\"none\" | \"xs2\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"full\"} [border='s'] - The corner radius of the alert component\n * @attr {boolean} [disable-close=false] - If true, the close button at the top right of the alert won't be shown\n * @attr {boolean} [hide-icon=false] - If true, the alert icon won't be shown\n * @attr {boolean} [open=false] - If true, the alert will be shown\n * @attr {number} [time=3000] - The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"`\n * @attr {\"info\" | \"success\" | \"warning\" | \"error\" | \"default\"} [type='default'] - Type of Alert\n * @attr {boolean} [sticky=false] - If true, the alert component will remain fixed at the top of the page, occupying the full viewport\n *\n * @event bqHide - Callback handler to be called when the alert is hidden\n * @event bqShow - Callback handler to be called when the alert is shown\n * @event bqAfterShow - Callback handler to be called after the alert has been shown\n * @event bqAfterHide - Callback handler to be called after the alert has been hidden\n *\n * @slot - The alert title content (no slot name required)\n * @slot body - The alert description content\n * @slot footer - The alert footer content\n * @slot icon - The predefined icon based on the alert type (info, success, warning, error, default)\n * @slot btn-close - The close button of the alert\n *\n * @part base - The `<div>` container of the predefined bq-icon component\n * @part body - The container `<div>` that wraps the alert description content\n * @part btn-close - The `bq-button` used to close the alert\n * @part content - The container `<div>` that wraps all the alert content (title, description, footer)\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the alert type (info, success, warning, error, default)\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the alert main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component\n * @part title - The container `<div>` that wraps the alert title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n *\n * @cssprop --bq-alert--background - The alert background color\n * @cssprop --bq-alert--border-radius - The alert border radius\n * @cssprop --bq-alert--content-footer-gap - The alert content and footer gap\n * @cssprop --bq-alert--title-body-gap - The alert title and body gap\n *\n * @cssprop --bq-alert--border-color - The alert border color\n * @cssprop --bq-alert--border-style - The alert border style\n * @cssprop --bq-alert--border-width - The alert border width\n *\n * @cssprop --bq-alert--background-info - The alert background color for info type\n * @cssprop --bq-alert--background-success - The alert background color for success type\n * @cssprop --bq-alert--background-warning - The alert background color for warning type\n * @cssprop --bq-alert--background-error - The alert background color for error type\n *\n * @cssprop --bq-alert--border-info - The alert border color for info type\n * @cssprop --bq-alert--border-success - The alert border color for success type\n * @cssprop --bq-alert--border-warning - The alert border color for warning type\n * @cssprop --bq-alert--border-error - The alert border color for error type\n *\n * @cssprop --bq-alert--icon-color-info - The alert icon color for info type\n * @cssprop --bq-alert--icon-color-success - The alert icon color for success type\n * @cssprop --bq-alert--icon-color-warning - The alert icon color for warning type\n * @cssprop --bq-alert--icon-color-error - The alert icon color for error type\n *\n * @cssprop --bq-alert--padding - The alert padding\n * @cssprop --bq-alert--min-width - The alert min width\n */\n@Component({\n tag: 'bq-alert',\n styleUrl: './scss/bq-alert.scss',\n shadow: true,\n})\nexport class BqAlert {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private alertElement: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAlertElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** If true, the alert will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corner radius of the alert component */\n @Prop({ reflect: true }) border: TAlertBorderRadius = 's';\n\n /** If true, the close button at the top right of the alert won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the alert icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the alert will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Alert */\n @Prop({ reflect: true }) type: TAlertType = 'default';\n\n /** If true, the alert component will remain fixed at the top of the page, occupying the full viewport */\n @Prop({ reflect: true }) sticky: boolean;\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!this.open) {\n this.handleHide();\n return;\n }\n\n this.handleShow();\n\n if (this.autoDismiss) {\n this.autoDismissDebounce();\n }\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(ALERT_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the alert is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the alert is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been shown */\n @Event() bqAfterShow!: EventEmitter;\n\n /** Callback handler to be called after the alert has been hidden */\n @Event() bqAfterHide!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n\n if (!this.open) {\n this.el.classList.add('is-hidden');\n }\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 /** Method to be called to hide the alert component */\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n /** Method to be called to show the alert component */\n @Method()\n async show(): Promise<void> {\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 handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.alertElement);\n this.el.classList.add('is-hidden');\n this.handleTransitionEnd();\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.el.classList.remove('is-hidden');\n await enter(this.alertElement);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterShow.emit();\n return;\n }\n\n this.bqAfterHide.emit();\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem, 'body');\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n const iconName = {\n error: 'x-circle',\n success: 'check-circle',\n warning: 'warning-circle',\n };\n\n return iconName[this.type] || 'info';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-alert--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n style={style}\n class={{ 'is-sticky': this.sticky }}\n aria-hidden={!this.open ? 'true' : 'false'}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n >\n <div\n class={{\n [`bq-alert bq-alert__${this.type}`]: true,\n 'is-sticky': this.sticky,\n }}\n data-transition-enter=\"transition ease-out duration-300\"\n data-transition-enter-start=\"opacity-0\"\n data-transition-enter-end=\"opacity-100\"\n data-transition-leave=\"transition ease-in duration-200\"\n data-transition-leave-start=\"opacity-100\"\n data-transition-leave-end=\"opacity-0\"\n ref={(div) => (this.alertElement = div)}\n part=\"wrapper\"\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n class=\"bq-alert__close absolute end-5 focus-visible:focus [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n onClick={this.hide.bind(this)}\n part=\"btn-close\"\n >\n <slot name=\"btn-close\">\n <bq-icon name=\"x\" />\n </slot>\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n [`bq-alert__icon--${this.type} me-s flex text-left align-top`]: true,\n '!hidden': this.hideIcon,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n {this.type !== 'default' && <bq-icon name={this.iconName} part=\"icon\" exportparts=\"base,svg\" />}\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[--bq-alert--content-footer-gap]\" part=\"main\">\n <div class=\"flex flex-col gap-[--bq-alert--title-body-gap]\" part=\"content\">\n {/* TITLE */}\n <div\n class={{\n 'title-font font-semibold leading-regular text-primary': true,\n 'flex items-center': this.sticky,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-s leading-regular text-primary': true, '!hidden': !this.hasContent }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n ref={(div) => (this.footerElem = div)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["PROGRESS_BORDER_SHAPE","PROGRESS_THICKNESS","PROGRESS_TYPE","bqProgressCss","BqProgress","borderShape","enableTooltip","indeterminate","label","thickness","type","value","handleTypePropChange","validatePropValue","this","el","handleValuePropChange","newValue","validateValue","componentWillLoad","clampedValue","Math","max","min","render","style","h","Host","key","class","part","undefined","exportparts","alwaysVisible","distance","insetInlineStart","fontVariant","slot"],"sources":["../../packages/beeq/src/components/progress/bq-progress.types.ts","../../packages/beeq/src/components/progress/scss/bq-progress.scss?tag=bq-progress&encapsulation=shadow","../../packages/beeq/src/components/progress/bq-progress.tsx"],"sourcesContent":["export const PROGRESS_BORDER_SHAPE = ['square', 'rounded'] as const;\nexport type TProgressBorderShape = (typeof PROGRESS_BORDER_SHAPE)[number];\n\nexport const PROGRESS_THICKNESS = ['medium', 'large'] as const;\nexport type TProgressThickness = (typeof PROGRESS_THICKNESS)[number];\n\nexport const PROGRESS_TYPE = ['default', 'error'] as const;\nexport type TProgressType = (typeof PROGRESS_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Progress styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-progress.variables';\n\n@layer component {\n @keyframes move-indeterminate {\n 0% {\n inset-inline-start: 0;\n }\n\n 100% {\n inset-inline-start: calc(100% - var(--bq-progress-bar--indeterminateWidth));\n }\n }\n\n .animate-indeterminate {\n animation: move-indeterminate 1s linear 0s infinite alternate-reverse;\n }\n}\n\n.progress-bar {\n @apply relative appearance-none bs-[--bq-progress-bar--height] is-full;\n}\n\n.progress-bar::-webkit-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar::-webkit-progress-value {\n @apply bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar::-moz-progress-bar {\n @apply animate-indeterminate bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar:indeterminate::-moz-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar.progress-bar__border-shape::-webkit-progress-value,\n.progress-bar.progress-bar__border-shape::-webkit-progress-bar {\n @apply rounded-full;\n}\n\n.progress-bar__indeterminate {\n @apply animate-indeterminate;\n}\n\n.progress-bar.progress-bar__border-shape::-moz-progress-bar {\n @apply animate-indeterminate rounded-full;\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\nimport { PROGRESS_BORDER_SHAPE, PROGRESS_THICKNESS, PROGRESS_TYPE } from './bq-progress.types';\nimport type { TProgressBorderShape, TProgressThickness, TProgressType } from './bq-progress.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * The progress bar is a user interface component that visually represents the completion status of a task or process.\n *\n * @example How to use it\n * ```html\n * <bq-progress value=\"50\"></bq-progress>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/691cb3-progress\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {\"rounded\" | \"rounded-full\"} border-shape - It will set the border style of the progress bar\n * @attr {boolean} enable-tooltip - If `true`, a tooltip will be shown displaying the progress value\n * @attr {boolean} indeterminate - If `true` the indeterminate state of progress bar is enabled\n * @attr {boolean} label - If `true`, a label text showing the value (in percentage) will be shown\n * @attr {\"small\" | \"medium\" | \"large\"} thickness - Progress bar thickness\n * @attr {\"default\" | \"error\"} type - Progress type\n * @attr {number} value - A number representing the current value of the progress bar\n *\n * @part wrapper - The component wrapper container inside the shadow DOM\n * @part progress - The `<div>` container that holds the native progress element\n * @part progress-bar - The native html for progress element\n * @part label - The `<div>` container that holds the label value (in percentage)\n * @part indeterminate - The `<div>` container that holds the indeterminate progress bar\n * @part base - The base container for the tooltip component inside the shadow DOM when hovering over the progress bar\n * @part trigger - The container holding the element that triggers the tooltip display when hovering over the progress bar\n * @part panel - The container holding the content of the tooltip when hovering over the progress bar\n *\n * @cssprop --bq-progress-bar--height - The progress bars height\n * @cssprop --bq-progress-bar--indeterminateWidth - The progress bar width when its indeterminate\n * @cssprop --bq-progress-bar--indicatorColor - The progress bar color (inside the track area)\n * @cssprop --bq-progress-bar--trackColor - The progress bar track area (the grey one)\n */\n@Component({\n tag: 'bq-progress',\n styleUrl: './scss/bq-progress.scss',\n shadow: true,\n})\nexport class BqProgress {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqProgressElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It will set the border style of the progress bar */\n @Prop({ reflect: true }) borderShape: TProgressBorderShape = 'rounded';\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n /** If `true` the indeterminate state of progress bar is enabled */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /** If `true, a label text showing the value (in percentage) will be shown */\n @Prop({ reflect: true }) label: boolean = false;\n\n /** Progress bar thickness */\n @Prop({ reflect: true }) thickness: TProgressThickness = 'medium';\n\n /** Progress type */\n @Prop({ reflect: true }) type: TProgressType = 'default';\n\n /** A number representing the current value of the progress bar */\n @Prop({ reflect: true, mutable: true }) value = 0;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('borderShape')\n @Watch('thickness')\n @Watch('type')\n handleTypePropChange() {\n validatePropValue(PROGRESS_BORDER_SHAPE, 'rounded', this.el, 'borderShape');\n validatePropValue(PROGRESS_THICKNESS, 'medium', this.el, 'thickness');\n validatePropValue(PROGRESS_TYPE, 'default', this.el, 'type');\n }\n\n @Watch('value')\n handleValuePropChange(newValue: number) {\n this.validateValue(newValue);\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.handleTypePropChange();\n this.handleValuePropChange(this.value);\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 validateValue(newValue: number) {\n const clampedValue = Math.max(0, Math.min(100, newValue));\n if (newValue !== clampedValue) {\n this.value = clampedValue;\n }\n return this.value;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.thickness === 'large' && { '--bq-progress-bar--height': 'var(--bq-spacing-xs)' }),\n ...(this.type === 'error' && { '--bq-progress-bar--indicatorColor': 'var(--bq-ui--danger)' }),\n };\n\n return (\n <Host style={style}>\n <div class=\"flex items-center\" part=\"wrapper\">\n <div class=\"relative flex items-center is-full\" part=\"progress\">\n <progress\n class={{\n [`progress-bar progress-bar__${this.type} ${this.thickness}`]: true,\n 'progress-bar__border-shape rounded-full': this.borderShape === 'rounded',\n }}\n value={this.indeterminate ? undefined : this.value}\n max=\"100\"\n part=\"progress-bar\"\n />\n {this.enableTooltip && !this.indeterminate && (\n <bq-tooltip\n class=\"absolute [&::part(panel)]:absolute\"\n exportparts=\"base,trigger,panel\"\n alwaysVisible={true}\n distance={16}\n style={{ insetInlineStart: `${this.value}%`, fontVariant: 'tabular-nums' }}\n >\n <div class=\"absolute bs-1 is-1\" slot=\"trigger\"></div>\n {this.value}\n </bq-tooltip>\n )}\n {this.indeterminate && (\n <div\n class={{\n 'progress-bar__indeterminate absolute bg-[--bq-progress-bar--indicatorColor] bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth]': true,\n 'rounded-full': this.borderShape === 'rounded',\n }}\n part=\"indeterminate\"\n />\n )}\n </div>\n <div\n aria-hidden={!this.label || this.indeterminate ? 'true' : 'false'}\n class={{\n 'ms-xs font-medium leading-regular': true,\n 'text-primary': this.type !== 'error',\n 'text-danger': this.type === 'error',\n 'invisible ms-0 is-0': !this.label || this.indeterminate,\n }}\n style={{ fontVariant: 'tabular-nums' }}\n part=\"label\"\n >\n <span>{this.value}%</span>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;6FAAO,MAAMA,EAAwB,CAAC,SAAU,WAGzC,MAAMC,EAAqB,CAAC,SAAU,SAGtC,MAAMC,EAAgB,CAAC,UAAW,SCNzC,MAAMC,EAAgB,4osB,MC8CTC,EAAU,M,iDAiBIC,YAAoC,UAGpCC,cAAyB,MAGzBC,cAAyB,MAGzBC,MAAiB,MAGjBC,UAAgC,SAGhCC,KAAsB,UAGPC,MAAQ,EAQhD,oBAAAC,GACEC,EAAkBb,EAAuB,UAAWc,KAAKC,GAAI,eAC7DF,EAAkBZ,EAAoB,SAAUa,KAAKC,GAAI,aACzDF,EAAkBX,EAAe,UAAWY,KAAKC,GAAI,O,CAIvD,qBAAAC,CAAsBC,GACpBH,KAAKI,cAAcD,E,CAWrB,iBAAAE,GACEL,KAAKF,uBACLE,KAAKE,sBAAsBF,KAAKH,M,CAkB1B,aAAAO,CAAcD,GACpB,MAAMG,EAAeC,KAAKC,IAAI,EAAGD,KAAKE,IAAI,IAAKN,IAC/C,GAAIA,IAAaG,EAAc,CAC7BN,KAAKH,MAAQS,C,CAEf,OAAON,KAAKH,K,CAOd,MAAAa,GACE,MAAMC,EAAQ,IACRX,KAAKL,YAAc,SAAW,CAAE,4BAA6B,2BAC7DK,KAAKJ,OAAS,SAAW,CAAE,oCAAqC,yBAGtE,OACEgB,EAACC,EAAK,CAAAC,IAAA,2CAAAH,MAAOA,GACXC,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBC,KAAK,WAClCJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qCAAqCC,KAAK,YACnDJ,EAAA,YAAAE,IAAA,2CACEC,MAAO,CACL,CAAC,8BAA8Bf,KAAKJ,QAAQI,KAAKL,aAAc,KAC/D,0CAA2CK,KAAKT,cAAgB,WAElEM,MAAOG,KAAKP,cAAgBwB,UAAYjB,KAAKH,MAC7CW,IAAI,MACJQ,KAAK,iBAENhB,KAAKR,gBAAkBQ,KAAKP,eAC3BmB,EACE,cAAAE,IAAA,2CAAAC,MAAM,qCACNG,YAAY,qBACZC,cAAe,KACfC,SAAU,GACVT,MAAO,CAAEU,iBAAkB,GAAGrB,KAAKH,SAAUyB,YAAa,iBAE1DV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBAAqBQ,KAAK,YACpCvB,KAAKH,OAGTG,KAAKP,eACJmB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wJAAyJ,KACzJ,eAAgBf,KAAKT,cAAgB,WAEvCyB,KAAK,mBAIXJ,EAAA,OAAAE,IAAA,0DACgBd,KAAKN,OAASM,KAAKP,cAAgB,OAAS,QAC1DsB,MAAO,CACL,oCAAqC,KACrC,eAAgBf,KAAKJ,OAAS,QAC9B,cAAeI,KAAKJ,OAAS,QAC7B,uBAAwBI,KAAKN,OAASM,KAAKP,eAE7CkB,MAAO,CAAEW,YAAa,gBACtBN,KAAK,SAELJ,EAAA,QAAAE,IAAA,4CAAOd,KAAKH,MAAK,O","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["EMPTY_STATE_SIZE","SIZE_TO_VALUE_MAP","small","medium","large","bqEmptyStateCss","BqEmptyState","bodyElem","footerElem","hasBody","hasFooter","size","checkPropValues","validatePropValue","this","el","componentWillLoad","componentDidLoad","handleSlotChange","hasSlotContent","iconSize","render","h","key","class","part","name","exportparts","ref","div","onSlotchange"],"sources":["../../packages/beeq/src/components/empty-state/bq-empty-state.types.ts","../../packages/beeq/src/components/empty-state/scss/bq-empty-state.scss?tag=bq-empty-state&encapsulation=shadow","../../packages/beeq/src/components/empty-state/bq-empty-state.tsx"],"sourcesContent":["export const EMPTY_STATE_SIZE = ['small', 'medium', 'large'] as const;\nexport type TEmptyStateSize = (typeof EMPTY_STATE_SIZE)[number];\n\nexport const SIZE_TO_VALUE_MAP: Record<TEmptyStateSize, number> = {\n small: 40,\n medium: 80,\n large: 180,\n};\n","/* -------------------------------------------------------------------------- */\n/* Empty state styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply relative inline-block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { EMPTY_STATE_SIZE, SIZE_TO_VALUE_MAP } from './bq-empty-state.types';\nimport type { TEmptyStateSize } from './bq-empty-state.types';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * An Empty State is a UI component displayed when there is no data or content available, often used in dynamic or inactive application states.\n *\n * @example How to use it\n * ```html\n * <bq-empty-state size=\"medium\">Title</bq-empty-state>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/673ae0-empty-state/b/09d7b1\n * @status stable\n *\n * @dependency bq-icon\n *\n * @attr {\"large\" | \"medium\" | \"small\"} size - The size of the empty state component\n *\n * @slot thumbnail - The element that wraps the thumbnail element\n * @slot body - The content to be displayed after the thumbnail section\n * @slot footer - The content to be displayed after the body section as footer\n *\n * @part body - The container `<div>` that wraps the alert description content\n * @part footer - The container `<div>` that wraps the alert footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon size based on the empty state size (small, medium, large)\n * @part thumbnail - The container `<div>` that wraps the thumbnail element\n * @part title - The container `<div>` that wraps the empty state title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n */\n\n@Component({\n tag: 'bq-empty-state',\n styleUrl: './scss/bq-empty-state.scss',\n shadow: true,\n})\nexport class BqEmptyState {\n // Own Properties\n // ====================\n\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqEmptyStateElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasBody = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** The size of the empty state component */\n @Prop({ reflect: true, mutable: true }) size: TEmptyStateSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(EMPTY_STATE_SIZE, 'medium', this.el, 'size');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n this.hasBody = hasSlotContent(this.bodyElem, 'body');\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconSize(): number {\n return SIZE_TO_VALUE_MAP[this.size] || SIZE_TO_VALUE_MAP.medium;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"inline-flex flex-col items-center\" part=\"wrapper\">\n <div\n class={{\n 'm-be-m': this.size === 'small',\n 'm-be-xl': this.size === 'medium',\n 'm-be-xxl': this.size === 'large',\n }}\n part=\"thumbnail\"\n >\n <slot name=\"thumbnail\">\n <bq-icon size={this.iconSize} name=\"database\" part=\"icon\" exportparts=\"base,svg\" />\n </slot>\n </div>\n <div\n class={{\n 'font-bold leading-regular text-primary': true,\n 'text-m': this.size === 'small',\n 'text-l': this.size === 'medium',\n 'text-xxl2': this.size === 'large',\n 'm-be-xs': this.size === 'small' && this.hasBody,\n 'm-be-m': this.size === 'medium' && this.hasBody,\n 'm-be-l': this.size === 'large' && this.hasBody,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n <div\n class={{\n 'font-normal leading-regular': true,\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n 'text-l': this.size === 'large',\n 'm-be-m': this.size === 'small' && this.hasFooter,\n 'm-be-l': this.size === 'medium' && this.hasFooter,\n 'm-be-xl': this.size === 'large' && this.hasFooter,\n }}\n ref={(div) => (this.bodyElem = div)}\n part=\"body\"\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n <div class=\"flex items-start gap-xs\" ref={(div) => (this.footerElem = div)} part=\"footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;0HAAO,MAAMA,EAAmB,CAAC,QAAS,SAAU,SAG7C,MAAMC,EAAqD,CAChEC,MAAO,GACPC,OAAQ,GACRC,MAAO,KCNT,MAAMC,EAAkB,4znB,MCsCXC,EAAY,M,yBAIfC,SACAC,W,wBAWSC,QAAU,MACVC,UAAY,MAMWC,KAAwB,SAMhE,eAAAC,GACEC,EAAkBb,EAAkB,SAAUc,KAAKC,GAAI,O,CAWzD,iBAAAC,GACEF,KAAKF,iB,CAGP,gBAAAK,GACEH,KAAKI,kB,CAkBCA,iBAAmB,KACzBJ,KAAKL,QAAUU,EAAeL,KAAKP,SAAU,QAC7CO,KAAKJ,UAAYS,EAAeL,KAAKN,WAAY,SAAS,EAG5D,YAAYY,GACV,OAAOnB,EAAkBa,KAAKH,OAASV,EAAkBE,M,CAO3D,MAAAkB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oCAAoCC,KAAK,WAClDH,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,SAAUV,KAAKH,OAAS,QACxB,UAAWG,KAAKH,OAAS,SACzB,WAAYG,KAAKH,OAAS,SAE5Bc,KAAK,aAELH,EAAM,QAAAC,IAAA,2CAAAG,KAAK,aACTJ,EAAA,WAAAC,IAAA,2CAASZ,KAAMG,KAAKM,SAAUM,KAAK,WAAWD,KAAK,OAAOE,YAAY,eAG1EL,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,yCAA0C,KAC1C,SAAUV,KAAKH,OAAS,QACxB,SAAUG,KAAKH,OAAS,SACxB,YAAaG,KAAKH,OAAS,QAC3B,UAAWG,KAAKH,OAAS,SAAWG,KAAKL,QACzC,SAAUK,KAAKH,OAAS,UAAYG,KAAKL,QACzC,SAAUK,KAAKH,OAAS,SAAWG,KAAKL,SAE1CgB,KAAK,SAELH,EAAA,QAAAC,IAAA,8CAEFD,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,8BAA+B,KAC/B,SAAUV,KAAKH,OAAS,QACxB,SAAUG,KAAKH,OAAS,SACxB,SAAUG,KAAKH,OAAS,QACxB,SAAUG,KAAKH,OAAS,SAAWG,KAAKJ,UACxC,SAAUI,KAAKH,OAAS,UAAYG,KAAKJ,UACzC,UAAWI,KAAKH,OAAS,SAAWG,KAAKJ,WAE3CkB,IAAMC,GAASf,KAAKP,SAAWsB,EAC/BJ,KAAK,QAELH,EAAM,QAAAC,IAAA,2CAAAG,KAAK,OAAOI,aAAchB,KAAKI,oBAEvCI,EAAK,OAAAC,IAAA,2CAAAC,MAAM,0BAA0BI,IAAMC,GAASf,KAAKN,WAAaqB,EAAMJ,KAAK,UAC/EH,EAAA,QAAAC,IAAA,2CAAMG,KAAK,SAASI,aAAchB,KAAKI,oB","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Built by Endavans
3
- * © https://beeq.design - Apache 2 License.
4
- */
5
- import{r as a,a as e,h as r}from"./p-DDw-pDpy.js";import{a as b}from"./p-_RvVpeh2.js";import{i as n}from"./p-BcPwGxIn.js";import{i as t}from"./p-BxgDLPzX.js";import{v as q}from"./p-zh4P02Kn.js";import{b as i,a as s}from"./p-uqkxeAeG.js";import"./p-B4sM1t6Z.js";const o=["none","left","right","above","bellow"];const l=["small","medium","large"];const d='.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.relative{position:relative}.order-1{order:1}.order-2{order:2}.inline-block{display:inline-block}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-x-m{column-gap:var(--bq-spacing-m)}.gap-y-m{row-gap:var(--bq-spacing-m)}.text-left{text-align:left}.text-right{text-align:right}.bs-\\[--bq-spinner--size-large\\]{block-size:var(--bq-spinner--size-large)}.bs-\\[--bq-spinner--size-medium\\]{block-size:var(--bq-spinner--size-medium)}.bs-\\[--bq-spinner--size-small\\]{block-size:var(--bq-spinner--size-small)}.is-\\[--bq-spinner--size-large\\]{inline-size:var(--bq-spinner--size-large)}.is-\\[--bq-spinner--size-medium\\]{inline-size:var(--bq-spinner--size-medium)}.is-\\[--bq-spinner--size-small\\]{inline-size:var(--bq-spinner--size-small)}@-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-spinner--color:var(--bq-ui--brand);--bq-spinner--size-large:56px;--bq-spinner--size-medium:48px;--bq-spinner--size-small:32px;--bq-spinner--large-text-fontSize:var(--bq-font-size--m);--bq-spinner--medium-text-fontSize:var(--bq-font-size--s);--bq-spinner--small-text-fontSize:var(--bq-font-size--xs);--bq-spinner--text-lineHeight:var(--bq-font-line-height--large);display:inline-block;position:relative}.bq-spinner{display:flex}.bq-spinner--loader.large{block-size:var(--bq-spinner--size-large);inline-size:var(--bq-spinner--size-large)}.bq-spinner--loader.medium{block-size:var(--bq-spinner--size-medium);inline-size:var(--bq-spinner--size-medium)}.bq-spinner--loader.small{block-size:var(--bq-spinner--size-small);inline-size:var(--bq-spinner--size-small)}.text-left,.text-right{align-items:center;flex-direction:row}.text-left.has-text,.text-right.has-text{column-gap:var(--bq-spacing-m)}.text-left .bq-spinner--icon,.text-left .bq-spinner--loader{order:2}.text-left .bq-spinner--text,.text-right .bq-spinner--icon,.text-right .bq-spinner--loader{order:1}.text-right .bq-spinner--text{order:2}.text-above,.text-bellow{align-items:center;flex-direction:column}.text-above.has-text,.text-bellow.has-text{row-gap:var(--bq-spacing-m)}.text-above .bq-spinner--icon,.text-above .bq-spinner--loader{order:2}.text-above .bq-spinner--text,.text-bellow .bq-spinner--icon,.text-bellow .bq-spinner--loader{order:1}.text-bellow .bq-spinner--text{order:2}.is-animated .bq-spinner--icon,.is-animated .bq-spinner--loader>svg{-webkit-animation:spin 1s linear 0s infinite;animation:spin 1s linear 0s infinite}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.static{position:static}.\\!hidden{display:none!important}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-\\[--bq-spinner--color\\]{color:var(--bq-spinner--color)}.text-primary{color:var(--bq-text--primary)}.bs-full{block-size:100%}.is-full{inline-size:100%}.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}}';const c=class{constructor(e){a(this,e)}iconSlotElem;slotElem;observer=new MutationObserver((a=>{const[e]=a;this.slotContentLength=e.target.textContent.length}));get el(){return e(this)}hasIconSlot=false;hasSlot=false;slotContentLength=0;animation=true;textPosition="none";size="medium";handleTextPositionProp(){q(o,"none",this.el,"textPosition")}handleSizeProp(){q(l,"medium",this.el,"size");this.setIconSize()}handleHasIconSlot(){this.setIconSize()}componentWillLoad(){this.checkPropValues()}componentDidLoad(){this.handleSlotChange();this.handleIconSlotChange();this.setIconSize()}disconnectedCallback(){this.observer?.disconnect()}handleSlotChange=()=>{if(!this.slotElem)return;this.hasSlot=i(this.slotElem);if(!this.hasSlot)return;const a=this.slotElem.querySelector("slot")??null;if(n(a))return;this.slotContentLength=s(a,{recurse:true}).length;const e=a.assignedNodes({flatten:true});e.forEach((a=>{this.observer.observe(a,{characterData:true,childList:true,subtree:true})}))};handleIconSlotChange=()=>{this.hasIconSlot=i(this.iconSlotElem,"icon")};checkPropValues=()=>{q(o,"none",this.el,"textPosition");q(l,"medium",this.el,"size")};get isTextDisplayed(){return this.textPosition!=="none"}setIconSize(){if(!this.hasIconSlot||!this.bqIcon)return;this.bqIcon.size=parseInt(b(`bq-spinner--size-${this.size}`,this.el)).toString()}get bqIcon(){if(!this.hasIconSlot)return null;const a=this.iconSlotElem.querySelector("slot");return[...a.assignedElements({flatten:true})].filter((a=>t(a,"bq-icon")))[0]}render(){return r("div",{key:"6fa63239274e6540d888afcb5a87da58ec53f780",class:{[`bq-spinner ${this.size} text-${this.textPosition}`]:true,"is-animated":this.animation,"has-text":!!this.slotContentLength},part:"base"},!this.hasIconSlot&&r("div",{key:"5eab4f222c064ba5283e08d924c3c0ab23765e3f",class:`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`,"aria-label":"Loading...",role:"status"},r("svg",{key:"b45c4cec4f190cbcede638de2e05968d36090133",class:"bs-full is-full",fill:"currentColor",viewBox:"0 0 48 48"},r("path",{key:"7a695222b6b7d6fd0dd2f15e0ebce144719e2796",fill:"currentColor",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"}),r("path",{key:"38f0fefaf1eaa9cd8585c2fdcc7bda9db38a2672",fill:"currentColor",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",opacity:".1"}))),r("span",{key:"d8fa6843dab10327b0db8494699bc690e883089c",class:{"bq-spinner--icon":true,flex:this.hasIconSlot,"!hidden":!this.hasIconSlot},ref:a=>this.iconSlotElem=a,part:"custom-icon"},r("slot",{key:"56cf06f9a513caca55839254aab6fd2073f7a0e3",name:"icon",onSlotchange:this.handleIconSlotChange})),r("span",{key:"acab33045d770e326b768b7f36ab1904dd11434e",class:{"bq-spinner--text font-medium leading-regular text-primary":true,"!hidden":!this.isTextDisplayed},part:"text",ref:a=>this.slotElem=a},r("slot",{key:"60671aa5b04be55c87cfaca3440c737ec98a5ff9",onSlotchange:this.handleSlotChange})))}static get watchers(){return{textPosition:["handleTextPositionProp"],size:["handleSizeProp"],hasIconSlot:["handleHasIconSlot"]}}};c.style=d;export{c as bq_spinner};
6
- //# sourceMappingURL=p-1cd1ae48.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SPINNER_TEXT_POSITION","SPINNER_SIZE","bqSpinnerCss","BqSpinner","iconSlotElem","slotElem","observer","MutationObserver","mutations","mutation","this","slotContentLength","target","textContent","length","hasIconSlot","hasSlot","animation","textPosition","size","handleTextPositionProp","validatePropValue","el","handleSizeProp","setIconSize","handleHasIconSlot","componentWillLoad","checkPropValues","componentDidLoad","handleSlotChange","handleIconSlotChange","disconnectedCallback","disconnect","hasSlotContent","slot","querySelector","isNil","getTextContent","recurse","nodes","assignedNodes","flatten","forEach","node","observe","characterData","childList","subtree","isTextDisplayed","bqIcon","parseInt","getCSSVariableValue","toString","assignedElements","filter","isHTMLElement","render","h","key","class","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 } from './bq-spinner.types';\nimport type { 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 * @example How to use it\n * ```html\n * <bq-spinner size=\"medium\" text-position=\"bellow\">\n * <span>Loading...</span>\n * </bq-spinner>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/275f10-spinner/b/09d7b1\n * @status stable\n *\n * @attr {boolean} animation - If `false`, the animation on the icon element will be stopped.\n * @attr {\"small\" | \"medium\" | \"large\"} size - It defines the size of the icon element displayed.\n * @attr {\"above\" | \"below\" | \"left\" | \"right\" | \"none\"} text-position - It defines the position of the label text.\n *\n * @slot icon - The icon slot container.\n * @slot - The content of the spinner component.\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 * @cssprop --bq-spinner--color - Spinner color\n * @cssprop --bq-spinner--size-large - Spinner large size\n * @cssprop --bq-spinner--size-medium - Spinner medium size\n * @cssprop --bq-spinner--size-small - Spinner small size\n * @cssprop --bq-spinner--large-text-fontSize - Spinner large text font size\n * @cssprop --bq-spinner--medium-text-fontSize - Spinner medium text font size\n * @cssprop --bq-spinner--small-text-fontSize - Spinner small text font size\n * @cssprop --bq-spinner--text-lineHeight - Spinner text line height\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.handleSlotChange();\n this.handleIconSlotChange();\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-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 +0,0 @@
1
- {"version":3,"names":["DRAWER_POSITIONS","DRAWER_PLACEMENT","bqDrawerCss","BqDrawer","footerElem","drawerElem","OPEN_CSS_CLASS","hasFooter","hasIcon","enableBackdrop","closeOnClickOutside","closeOnEsc","open","placement","position","handleOpenChange","this","handleAfterHide","handleAfterShow","handlePlacementChange","isNil","console","warn","validatePropValue","el","synPositionMap","right","left","handlePositionChange","syncPlacementMap","end","start","bqClose","bqOpen","bqAfterOpen","bqAfterClose","componentWillLoad","componentDidLoad","handleFooterSlotChange","handleMouseClick","event","button","rect","getBoundingClientRect","clientX","hide","handleKeyDown","key","ev","emit","defaultPrevented","show","hasSlotContent","async","leave","handleTransitionEnd","classList","add","enter","remove","isPositionStart","isPositionEnd","render","h","Host","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-[--bq-drawer--zIndex] flex flex-col gap-[--bq-drawer--gap] bg-ui-primary shadow-m is-[--bq-drawer--width] max-is-full p-b-[--bq-drawer--paddingY] p-i-[--bq-drawer--paddingX] inset-b-0;\n}\n","import { Component, Element, Event, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { DRAWER_PLACEMENT, DRAWER_POSITIONS } from './bq-drawer.types';\nimport type { TDrawerPlacement, TDrawerPosition } from './bq-drawer.types';\nimport { enter, hasSlotContent, isNil, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * The Drawer component provides a sliding panel interface commonly used for navigation or presenting additional content without taking up significant screen space.\n *\n * @example How to use it\n * ```html\n * <bq-drawer position=\"end\">\n * <div class=\"flex gap-xs\" slot=\"title\">Title</div>\n * <div class=\"...\">\n * Content\n * </div>\n * <div class=\"flex flex-1 justify-center gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"primary\" block=\"\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" block=\"\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-drawer>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/871139-drawer\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n * @dependency bq-divider\n *\n * @attr {boolean} enable-backdrop - If true, the backdrop overlay will be shown when the drawer opens.\n * @attr {boolean} close-on-click-outside - If true, the drawer will not close when clicking outside the panel.\n * @attr {boolean} close-on-esc - If true, the drawer will not close when the [Esc] key is pressed.\n * @attr {boolean} open - If true, the drawer component will be shown.\n * @attr {\"start\" | \"end\"} position - Defines the position of the drawer.\n *\n * @method show - Method to be called to show the drawer component.\n * @method hide - Method to be called to hide the drawer component.\n *\n * @event bqClose - Callback handler to be called when the drawer is closed.\n * @event bqOpen - Callback handler to be called when the drawer is opened.\n * @event bqAfterOpen - Callback handler to be called after the drawer has been opened.\n * @event bqAfterClose - Callback handler to be called after the drawer has been closed.\n *\n * @slot title - The title content of the drawer.\n * @slot - The body content of the drawer.\n * @slot footer - The footer content of the drawer.\n * @slot button-close - The close button content of the drawer.\n * @slot footer-divider - The footer divider content of the drawer.\n *\n * @part backdrop - The `<div>` that holds the backdrop overlay.\n * @part button-close - The BqButton that closes the drawer.\n * @part button-close__btn - The native button used under the hood that closes the drawer.\n * @part button-close__label - The text inside the native button that closes the drawer.\n * @part panel - The `<div>` that holds the drawer entire content.\n * @part header - The `<header>` that holds the icon, title, and close button.\n * @part title - The `<div>` that holds the title content.\n * @part body - The `<main>` that holds the drawer body content.\n * @part footer - The `<footer>` that holds footer content.\n *\n * @cssprop --bq-drawer--backgroundBackdrop - Background color of the backdrop\n * @cssprop --bq-drawer--gap - Gap between the drawer and the viewport\n * @cssprop --bq-drawer--width - Width of the drawer\n * @cssprop --bq-drawer--paddingX - Padding left and right of the drawer\n * @cssprop --bq-drawer--paddingY - Padding top and bottom of the drawer\n * @cssprop --bq-drawer--zIndex - Z-index of the drawer component\n */\n@Component({\n tag: 'bq-drawer',\n styleUrl: './scss/bq-drawer.scss',\n shadow: true,\n})\nexport class BqDrawer {\n // Own Properties\n // ====================\n\n private footerElem: HTMLElement;\n private drawerElem: HTMLDivElement;\n private OPEN_CSS_CLASS = 'bq-drawer--open';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDrawerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasFooter = false;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the backdrop overlay will be shown when the drawer opens */\n @Prop({ reflect: true }) enableBackdrop = false;\n\n /** If true, the drawer will not close when clicking outside the panel */\n @Prop({ reflect: true }) closeOnClickOutside = false;\n\n /** If true, the dialog will not close when the [Esc] key is pressed */\n @Prop({ reflect: true }) closeOnEsc = false;\n\n /** If true, the drawer component will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** @deprecated Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) placement: TDrawerPlacement = 'right';\n\n /** Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) position: TDrawerPosition = 'end';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('open')\n async handleOpenChange() {\n if (!this.open) {\n await this.handleAfterHide();\n return;\n }\n\n await this.handleAfterShow();\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `placement` property is removed\n * We need to maintain retro-compatibility with the deprecated `placement` property\n */\n @Watch('placement')\n handlePlacementChange() {\n if (!isNil(this.placement)) {\n console.warn(\n `❗️ [bq-drawer]: the 'placement' prop is deprecated and it will be removed in the future. Please use 'position' instead.`,\n );\n }\n validatePropValue(DRAWER_PLACEMENT, 'right', this.el, 'placement');\n // Sync 'position' property\n const synPositionMap = {\n right: 'end',\n left: 'start',\n };\n this.position = (synPositionMap[this.placement] as TDrawerPosition) || this.position;\n }\n\n @Watch('position')\n handlePositionChange() {\n validatePropValue(DRAWER_POSITIONS, 'start', this.el, 'position');\n /**\n * Sync 'placement' property\n * !TO BE REMOVED: Delete the code below once the deprecated `placement` property is removed\n */\n const syncPlacementMap = {\n end: 'right',\n start: 'left',\n };\n this.placement = (syncPlacementMap[this.position] as TDrawerPlacement) || this.placement;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the drawer is closed */\n @Event() bqClose!: EventEmitter;\n\n /** Callback handler to be called when the drawer is opened */\n @Event() bqOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handlePositionChange();\n // !TO BE REMOVED: Delete this once the deprecated `placement` property is removed\n this.handlePlacementChange();\n }\n\n componentDidLoad() {\n this.handleFooterSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.drawerElem.getBoundingClientRect();\n if (event.clientX < rect.left || event.clientX > rect.right) {\n await this.hide();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(event: KeyboardEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnEsc || !(event.key === 'Escape' || event.key === 'Esc')) return;\n\n await this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the drawer component */\n @Method()\n async hide(): Promise<void> {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Method to be called to show the drawer component */\n @Method()\n async show(): Promise<void> {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private handleAfterHide = async () => {\n if (!this.drawerElem) return;\n\n await leave(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleAfterShow = async () => {\n if (!this.drawerElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n await enter(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private get isPositionStart() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'start' || this.placement === 'left';\n }\n\n private get isPositionEnd() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'end' || this.placement === 'right';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n {/* BACKDROP */}\n {this.enableBackdrop && (\n <div\n class={{\n 'fixed inset-0 block bg-[--bq-drawer--backgroundBackdrop] opacity-0 transition-opacity duration-300': 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 text-xl font-bold leading-regular text-primary\"\n id=\"bq-drawer__title\"\n part=\"title\"\n >\n <slot name=\"title\" />\n </h2>\n <div class=\"flex\" part=\"button-close\">\n <bq-button\n class=\"[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n slot=\"button-close\"\n exportparts=\"button:button-close__btn,label:button-close__label\"\n onClick={this.hide.bind(this)}\n >\n <slot name=\"button-close\">\n <bq-icon name=\"x-bold\" role=\"img\" title=\"Close\" />\n </slot>\n </bq-button>\n </div>\n </header>\n <main class=\"block flex-auto overflow-auto\" part=\"body\">\n <slot />\n </main>\n <footer\n class={{\n block: true,\n '!hidden': !this.hasFooter,\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer-divider\">\n <bq-divider class=\"mb-m block\" dashed />\n </slot>\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqAccordionGroupCss","BqAccordionGroup","appearance","expandAll","noAnimation","multiple","size","checkPropValues","this","bqAccordionElements","forEach","bqAccordionElement","isNil","expanded","onBqClick","event","detail","bqElem","isHTMLElement","el","contains","componentWillLoad","Array","from","querySelectorAll","render","h","key","class","part"],"sources":["../../packages/beeq/src/components/accordion-group/scss/bq-accordion-group.scss?tag=bq-accordion-group&encapsulation=shadow","../../packages/beeq/src/components/accordion-group/bq-accordion-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Accordion group styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion-group.variables';\n\n:host {\n @apply block;\n}\n","import { Component, Element, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { isHTMLElement, isNil } from '../../shared/utils';\nimport type { TAccordionAppearance, TAccordionSize } from '../accordion/bq-accordion.types';\n\n/**\n * The accordion group component is a container for multiple accordion elements.\n * It allows to manage the appearance and size of all accordions at once.\n *\n * @example How to use it\n * ```html\n * <bq-accordion-group appearance=\"filled\" size=\"medium\">\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * <bq-accordion> ... </bq-accordion>\n * </bq-accordion-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/713eae-accordion\n * @status stable\n *\n * @attr {\"filled\" | \"ghost\"} [appearance=\"filled\"] - The appearance style of accordion to be applied to all accordions\n * @attr {boolean} [expandAll=false] - If true all accordions are expanded\n * @attr {boolean} [no-animation=false] - Animation is set through JS when the browser does not support CSS calc-size() If true, the accordion animation, will be disabled. No animation will be applied.\n * @attr {boolean} [multiple=false] - If true multiple accordions can be expanded at the same time\n * @attr {\"small\" | \"medium\"} [size=\"medium\"] - The size of accordion to be applied to all accordions\n *\n * @slot - The default slot where the bq-accordion elements are placed.\n *\n * @part base - The component's base wrapper.\n *\n * @cssprop --bq-accordion-group--gap - Accordion group distance between elements\n */\n@Component({\n tag: 'bq-accordion-group',\n styleUrl: './scss/bq-accordion-group.scss',\n shadow: true,\n})\nexport class BqAccordionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The appearance style of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true all accordions are expanded */\n @Prop({ reflect: true }) expandAll: boolean;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true multiple accordions can be expanded at the same time */\n @Prop({ reflect: true }) multiple: boolean = false;\n\n /** The size of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('expandAll')\n @Watch('noAnimation')\n @Watch('size')\n checkPropValues() {\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n // NOTE: if expandAll is nil we will keep accordion default state\n if (!isNil(this.expandAll)) {\n bqAccordionElement.expanded = this.expandAll;\n }\n bqAccordionElement.appearance = this.appearance;\n bqAccordionElement.noAnimation = this.noAnimation;\n bqAccordionElement.size = this.size;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqAccordionElement>) {\n const { detail: bqElem } = event;\n // Make sure the event is coming from a bq-accordion element and its a child of the bq-accordion-group\n if (!isHTMLElement(bqElem, 'bq-accordion') || !this.el.contains(bqElem)) return;\n // We keep default behavior if multiple accordion can be expanded\n if (this.multiple) return;\n\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n if (bqAccordionElement === event.detail) return;\n\n bqAccordionElement.expanded = false;\n });\n }\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get bqAccordionElements(): HTMLBqAccordionElement[] {\n return Array.from(this.el.querySelectorAll('bq-accordion'));\n }\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"flex flex-col gap-[--bq-accordion-group--gap]\" part=\"base\">\n <slot />\n </div>\n );\n }\n}\n"],"mappings":";;;;0HAAA,MAAMA,EAAsB,+zmB,MCsCfC,EAAgB,M,iDAiBaC,WAAmC,SAGlDC,UAMAC,YAAuB,MAGvBC,SAAoB,MAGLC,KAAuB,SAS/D,eAAAC,GACEC,KAAKC,oBAAoBC,SAASC,IAEhC,IAAKC,EAAMJ,KAAKL,WAAY,CAC1BQ,EAAmBE,SAAWL,KAAKL,S,CAErCQ,EAAmBT,WAAaM,KAAKN,WACrCS,EAAmBP,YAAcI,KAAKJ,YACtCO,EAAmBL,KAAOE,KAAKF,IAAI,G,CASvC,SAAAQ,CAAUC,GACR,MAAQC,OAAQC,GAAWF,EAE3B,IAAKG,EAAcD,EAAQ,kBAAoBT,KAAKW,GAAGC,SAASH,GAAS,OAEzE,GAAIT,KAAKH,SAAU,OAEnBG,KAAKC,oBAAoBC,SAASC,IAChC,GAAIA,IAAuBI,EAAMC,OAAQ,OAEzCL,EAAmBE,SAAW,KAAK,G,CAQvC,iBAAAQ,GACEb,KAAKD,iB,CAkBP,uBAAYE,GACV,OAAOa,MAAMC,KAAKf,KAAKW,GAAGK,iBAAiB,gB,CAM7C,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gDAAgDC,KAAK,QAC9DH,EAAQ,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqStepsCss","BqSteps","stepElem","dividerColor","size","type","checkPropValues","validatePropValue","STEPS_SIZE","this","el","STEPS_TYPE","setStepItemProps","componentDidLoad","setCurrentStepItem","newCurrentStep","currentStep","bqSteps","find","step","status","slot","querySelector","assignedElements","flatten","filter","tagName","toLowerCase","forEach","bqStepElem","render","dividerPaddingTop","h","key","class","ref","div","part","strokeColor","strokeThickness","exportparts"],"sources":["../../packages/beeq/src/components/steps/scss/bq-steps.scss?tag=bq-steps&encapsulation=shadow","../../packages/beeq/src/components/steps/bq-steps.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Steps styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-steps.variables';\n\n:host {\n @apply block;\n}\n\n::slotted(bq-step-item:not(:first-child)) {\n @apply ps-[--bq-steps--gap];\n}\n","import { Component, Element, h, Method, Prop, Watch } from '@stencil/core';\n\nimport { STEPS_SIZE, STEPS_TYPE } from './bq-steps.types';\nimport type { TStepsSize, TStepsType } from './bq-steps.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * The Steps Component is a UI element used to display a series of steps or stages in a process or task.\n * It is used to guide users through a process or task and to indicate their progress.\n *\n * @example How to use it\n * ```html\n * <bq-steps divider-color=\"stroke--primary\" type=\"dot\" size=\"medium\">\n * <bq-step-item status=\"completed\"> ... </bq-step-item>\n * <bq-step-item status=\"error\"> ... </bq-step-item>\n * <bq-step-item status=\"current\"> ... </bq-step-item>\n * <bq-step-item status=\"default\"> ... </bq-step-item>\n * </bq-steps>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/896b66-stepper\n * @status stable\n *\n * @dependency bq-divider\n *\n * @attr {string} divider-color - The color of the line that connects the steps. It should be a valid declarative color token.\n * @attr {\"medium\" | \"small\"} size - The size of the steps\n * @attr {\"numeric\" | \"icon\" | \"dot\"} type - The type of prefix element to use on the step items\n *\n * @slot - The step items\n *\n * @part container - The container wrapper of the Steps component\n * @part divider-base - The base wrapper of the divider component\n * @part divider-dash-start - The dash start wrapper of the divider component\n * @part divider-dash-end - The dash end wrapper of the divider component\n *\n * @cssprop --bq-steps--divider-color - Divider color\n * @cssprop --bq-steps--gap - Gap between steps\n */\n@Component({\n tag: 'bq-steps',\n styleUrl: './scss/bq-steps.scss',\n shadow: true,\n})\nexport class BqSteps {\n // Own Properties\n // ====================\n\n private stepElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqStepsElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The color of the line that connects the steps. It should be a valid declarative color token. */\n @Prop({ reflect: true }) dividerColor: string = 'stroke--primary';\n\n /** The size of the steps */\n @Prop({ reflect: true }) size: TStepsSize = 'medium';\n\n /** The type of prefix element to use on the step items */\n @Prop({ reflect: true }) type: TStepsType;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('type')\n @Watch('size')\n checkPropValues() {\n validatePropValue(STEPS_SIZE, 'medium', this.el, 'size');\n validatePropValue(STEPS_TYPE, 'numeric', this.el, 'type');\n\n this.setStepItemProps();\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 componentDidLoad() {\n this.setStepItemProps();\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 /**\n * Set the current step item.\n * @param newCurrentStep - The step item to set as current.\n */\n @Method()\n async setCurrentStepItem(newCurrentStep: HTMLBqStepItemElement): Promise<void> {\n // Ideally, only one step item should be current.\n // So we change the status of the current step item to default.\n const currentStep = this.bqSteps.find((step) => step.status === 'current');\n if (currentStep) currentStep.status = 'default';\n // And then we set the status of the new current step item to current.\n newCurrentStep.status = 'current';\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get bqSteps(): HTMLBqStepItemElement[] {\n if (!this.stepElem) return [];\n\n const slot = this.stepElem.querySelector('slot');\n return [...slot.assignedElements({ flatten: true })].filter(\n (el: HTMLBqSideMenuItemElement) => el.tagName.toLowerCase() === 'bq-step-item',\n ) as [HTMLBqSideMenuItemElement];\n }\n\n private setStepItemProps = () => {\n this.bqSteps.forEach((bqStepElem: HTMLBqStepItemElement) => {\n bqStepElem.size = this.size;\n bqStepElem.type = this.type;\n });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n // !Note: We use a custom padding value for the medium size to avoid misalignment between the steps and the divider.\n const dividerPaddingTop = this.size === 'small' ? 'p-bs-m' : 'p-bs-5';\n\n return (\n <div\n class=\"relative flex w-full items-start justify-between\"\n ref={(div) => (this.stepElem = div)}\n part=\"container\"\n >\n <slot />\n <bq-divider\n class={`absolute -z-10 p-i-s inset-ie-0 inset-is-0 ${dividerPaddingTop}`}\n strokeColor={this.dividerColor}\n strokeThickness={2}\n exportparts=\"base:divider-base,dash-start:divider-dash-start,dash-end:divider-dash-end\"\n />\n </div>\n );\n }\n}\n"],"mappings":";;;;iIAAA,MAAMA,EAAa,6+nB,MC4CNC,EAAO,M,yBAIVC,S,wBAeiBC,aAAuB,kBAGvBC,KAAmB,SAGnBC,KAOzB,eAAAC,GACEC,EAAkBC,EAAY,SAAUC,KAAKC,GAAI,QACjDH,EAAkBI,EAAY,UAAWF,KAAKC,GAAI,QAElDD,KAAKG,kB,CAUP,gBAAAC,GACEJ,KAAKG,kB,CAkBP,wBAAME,CAAmBC,GAGvB,MAAMC,EAAcP,KAAKQ,QAAQC,MAAMC,GAASA,EAAKC,SAAW,YAChE,GAAIJ,EAAaA,EAAYI,OAAS,UAEtCL,EAAeK,OAAS,S,CAQ1B,WAAYH,GACV,IAAKR,KAAKP,SAAU,MAAO,GAE3B,MAAMmB,EAAOZ,KAAKP,SAASoB,cAAc,QACzC,MAAO,IAAID,EAAKE,iBAAiB,CAAEC,QAAS,QAASC,QAClDf,GAAkCA,EAAGgB,QAAQC,gBAAkB,gB,CAI5Df,iBAAmB,KACzBH,KAAKQ,QAAQW,SAASC,IACpBA,EAAWzB,KAAOK,KAAKL,KACvByB,EAAWxB,KAAOI,KAAKJ,IAAI,GAC3B,EAOJ,MAAAyB,GAEE,MAAMC,EAAoBtB,KAAKL,OAAS,QAAU,SAAW,SAE7D,OACE4B,EAAA,OAAAC,IAAA,2CACEC,MAAM,mDACNC,IAAMC,GAAS3B,KAAKP,SAAWkC,EAC/BC,KAAK,aAELL,EAAQ,QAAAC,IAAA,6CACRD,EACE,cAAAC,IAAA,2CAAAC,MAAO,8CAA8CH,IACrDO,YAAa7B,KAAKN,aAClBoC,gBAAiB,EACjBC,YAAY,8E","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["DIVIDER_ORIENTATION","DIVIDER_ORIENTATION_ENUM","HORIZONTAL","VERTICAL","DIVIDER_TITLE_ALIGNMENT","DIVIDER_STROKE_LINECAP","bqDividerCss","BqDivider","titleElem","hasTitle","dashed","orientation","strokeColor","titleAlignment","strokeDashWidth","strokeDashGap","strokeThickness","strokeBasis","strokeLinecap","checkPropValues","validatePropValue","this","el","connectedCallback","componentWillLoad","componentDidLoad","handleSlotChange","hasSlotContent","getTextContent","querySelector","strokeAttributes","strokeDrawPositions","strokeDasharray","drawOffset","x1","x2","y1","y2","orientationMap","Map","Object","entries","get","render","styles","getColorCSSVariable","isNil","h","Host","key","style","class","part","ref","div","role","onSlotchange"],"sources":["../../packages/beeq/src/components/divider/bq-divider.types.ts","../../packages/beeq/src/components/divider/scss/bq-divider.scss?tag=bq-divider&encapsulation=shadow","../../packages/beeq/src/components/divider/bq-divider.tsx"],"sourcesContent":["export const DIVIDER_ORIENTATION = ['horizontal', 'vertical'] as const;\nexport type TDividerOrientation = (typeof DIVIDER_ORIENTATION)[number];\n\nexport const DIVIDER_ORIENTATION_ENUM = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n} as const;\n\nexport const DIVIDER_TITLE_ALIGNMENT = ['start', 'middle', 'end'] as const;\nexport type TDividerTitleAlignment = (typeof DIVIDER_TITLE_ALIGNMENT)[number];\n\nexport const DIVIDER_STROKE_LINECAP = ['square', 'round', 'butt'] as const;\nexport type TDividerStrokeLinecap = (typeof DIVIDER_STROKE_LINECAP)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-divider.variables';\n\n:host {\n @apply block is-full;\n}\n\n:host([orientation='vertical']) {\n @apply flex bs-full;\n}\n\n.bq-divider {\n @apply flex items-center gap-[--bq-divider--title-marginX];\n}\n\n.bq-divider--stroke {\n @apply flex-grow stroke-[color:--bq-divider--stroke-color] bs-[--bq-divider--stroke-thickness] is-full;\n\n &.end {\n @apply rotate-180;\n }\n}\n\n.bq-divider--title__start .bq-divider--stroke.start,\n.bq-divider--title__end .bq-divider--stroke.end {\n @apply flex-grow-0 basis-[--bq-divider--stroke-basis];\n}\n\n.bq-divider--vertical {\n @apply flex-col items-center gap-[--bq-divider--title-marginX] is-full;\n\n .bq-divider--stroke {\n @apply bs-full is-[--bq-divider--stroke-thickness];\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIVIDER_ORIENTATION,\n DIVIDER_ORIENTATION_ENUM,\n DIVIDER_STROKE_LINECAP,\n DIVIDER_TITLE_ALIGNMENT,\n} from './bq-divider.types';\nimport type { TDividerOrientation, TDividerStrokeLinecap, TDividerTitleAlignment } from './bq-divider.types';\nimport { getColorCSSVariable, getTextContent, hasSlotContent, isNil, validatePropValue } from '../../shared/utils';\n\n/**\n * The Divider component is used to visually separate content in a layout.\n *\n * @example How to use it\n * ```html\n * <bq-divider orientation=\"horizontal\" stroke-color=\"stroke--primary\" title-alignment=\"middle\">\n * <span slot=\"title\">Divider Title</span>\n * </bq-divider>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/53dfe6-divider\n * @status stable\n *\n * @attr {boolean} dashed - If true, the divider has a dashed pattern.\n * @attr {\"horizontal\" | \"vertical\"} orientation - The default orientation of the divider.\n * @attr {string} stroke-color - Set the stroke color of the divider. The value should be a valid value of the palette color.\n * @attr {\"start\" | \"middle\" | \"end\"} title-alignment - Set the alignment of the title on the main axis of the divider (horizontal / vertical).\n * @attr {number} stroke-dash-width - Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed.\n * @attr {number} stroke-dash-gap - Set the gap of the divider's stroke. This is applicable when the stroke is dashed.\n * @attr {number} stroke-thickness - Set the thickness of the divider's stroke. Value expressed in px.\n * @attr {number} stroke-basis - Set the min width of the divider's stroke when text is not centered. Value expressed in px.\n * @attr {\"square\" | \"round\" | \"butt\"} stroke-linecap - Set the line of the divider's stroke. This is applicable when the stroke is dashed.\n *\n * @slot - The title content of the divider.\n *\n * @part base - The component's internal wrapper.\n * @part dash-start - The component's internal svg wrapper for the start line of the divider's stroke.\n * @part dash-end - The component's internal svg wrapper for the end line of the divider's stroke.\n * @part dash-start-line - The component's internal line component of the divider's stroke.\n * @part dash-end-line - The component's internal line component of the divider's stroke.\n *\n * @cssprop --bq-divider--color - Divider color\n * @cssprop --bq-divider--title-marginX - Divider space between title and delimiters\n */\n@Component({\n tag: 'bq-divider',\n styleUrl: './scss/bq-divider.scss',\n shadow: true,\n})\nexport class BqDivider {\n // Own Properties\n // ====================\n\n private titleElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDividerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasTitle: boolean;\n\n // Public Property API\n // ========================\n\n /** If true, the divider has a dashed pattern */\n @Prop() dashed = false;\n\n /** The default orientation of the divider */\n @Prop({ reflect: true }) orientation: TDividerOrientation = 'horizontal';\n\n /** Set the stroke color of the divider. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) strokeColor?: string = 'stroke--primary';\n\n /** Set the alignment of the title on the main axis of the divider (horizontal / vertical) */\n @Prop({ reflect: true }) titleAlignment?: TDividerTitleAlignment = 'middle';\n\n /** Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashWidth?: number = 12;\n\n /** Set the gap of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashGap?: number = 7;\n\n /** Set the thickness of the divider's stroke. Value expressed in px*/\n @Prop({ reflect: true }) strokeThickness?: number = 1;\n\n /** Set the min width of the divider's stroke when text is not centered. Value expressed in px */\n @Prop({ reflect: true }) strokeBasis?: number = 0;\n\n /** Set the line of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeLinecap?: TDividerStrokeLinecap = 'butt';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('orientation')\n @Watch('titleAlignment')\n @Watch('strokeLinecap')\n checkPropValues() {\n validatePropValue(DIVIDER_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(DIVIDER_TITLE_ALIGNMENT, 'middle', this.el, 'titleAlignment');\n validatePropValue(DIVIDER_STROKE_LINECAP, 'butt', this.el, 'strokeLinecap');\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 connectedCallback() {\n this.checkPropValues();\n }\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n this.hasTitle = hasSlotContent(this.titleElem) || !!getTextContent(this.titleElem.querySelector('slot'));\n };\n\n private get strokeAttributes() {\n return {\n ...this.strokeDrawPositions,\n ...(this.dashed && { 'stroke-dasharray': this.strokeDasharray }),\n 'stroke-linecap': this.strokeLinecap,\n 'stroke-width': this.strokeThickness,\n };\n }\n\n private get strokeDrawPositions() {\n const drawOffset = this.strokeThickness / 2;\n const strokeDrawPositions = {\n [DIVIDER_ORIENTATION_ENUM.HORIZONTAL]: { x1: drawOffset, x2: '100%', y1: drawOffset, y2: drawOffset },\n [DIVIDER_ORIENTATION_ENUM.VERTICAL]: { x1: drawOffset, x2: drawOffset, y1: drawOffset, y2: '100%' },\n };\n const orientationMap = new Map(Object.entries(strokeDrawPositions));\n\n return orientationMap.get(this.orientation);\n }\n\n private get strokeDasharray() {\n return `${this.strokeDashWidth}, ${this.strokeDashGap}`;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.strokeColor && { '--bq-divider--stroke-color': getColorCSSVariable(this.strokeColor) }),\n ...(this.strokeThickness && { '--bq-divider--stroke-thickness': `${this.strokeThickness}px` }),\n ...(!isNil(this.strokeBasis) && { '--bq-divider--stroke-basis': `${this.strokeBasis}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n class={{\n 'bq-divider': true,\n [`bq-divider--${this.orientation}`]: true,\n [`bq-divider--title__${this.titleAlignment}`]: true,\n 'gap-0': !this.hasTitle,\n }}\n part=\"base\"\n ref={(div) => (this.titleElem = div)}\n role=\"separator\"\n aria-orientation={this.orientation}\n >\n <svg\n class={{\n 'bq-divider--stroke start': true,\n '!hidden': this.strokeBasis === 0 && this.titleAlignment === 'start',\n }}\n part=\"dash-start\"\n >\n <line {...this.strokeAttributes} part=\"dash-start-line\" />\n </svg>\n <slot onSlotchange={this.handleSlotChange} />\n <svg\n class={{\n 'bq-divider--stroke end': true,\n '!hidden': !this.hasTitle || (this.strokeBasis === 0 && this.titleAlignment === 'end'),\n }}\n part=\"dash-end\"\n >\n <line {...this.strokeAttributes} part=\"dash-end-line\" />\n </svg>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;wOAAO,MAAMA,EAAsB,CAAC,aAAc,YAG3C,MAAMC,EAA2B,CACtCC,WAAY,aACZC,SAAU,YAGL,MAAMC,EAA0B,CAAC,QAAS,SAAU,OAGpD,MAAMC,EAAyB,CAAC,SAAU,QAAS,QCX1D,MAAMC,EAAe,0ipB,MCkDRC,EAAS,M,yBAIZC,U,wBAWSC,SAMTC,OAAS,MAGQC,YAAmC,aAGnCC,YAAuB,kBAGvBC,eAA0C,SAG1CC,gBAA2B,GAG3BC,cAAyB,EAGzBC,gBAA2B,EAG3BC,YAAuB,EAGvBC,cAAwC,OAQjE,eAAAC,GACEC,EAAkBpB,EAAqB,aAAcqB,KAAKC,GAAI,eAC9DF,EAAkBhB,EAAyB,SAAUiB,KAAKC,GAAI,kBAC9DF,EAAkBf,EAAwB,OAAQgB,KAAKC,GAAI,gB,CAW7D,iBAAAC,GACEF,KAAKF,iB,CAGP,iBAAAK,GACEH,KAAKF,iB,CAGP,gBAAAM,GACEJ,KAAKK,kB,CAkBCA,iBAAmB,KACzBL,KAAKZ,SAAWkB,EAAeN,KAAKb,cAAgBoB,EAAeP,KAAKb,UAAUqB,cAAc,QAAQ,EAG1G,oBAAYC,GACV,MAAO,IACFT,KAAKU,uBACJV,KAAKX,QAAU,CAAE,mBAAoBW,KAAKW,iBAC9C,iBAAkBX,KAAKH,cACvB,eAAgBG,KAAKL,gB,CAIzB,uBAAYe,GACV,MAAME,EAAaZ,KAAKL,gBAAkB,EAC1C,MAAMe,EAAsB,CAC1B,CAAC9B,EAAyBC,YAAa,CAAEgC,GAAID,EAAYE,GAAI,OAAQC,GAAIH,EAAYI,GAAIJ,GACzF,CAAChC,EAAyBE,UAAW,CAAE+B,GAAID,EAAYE,GAAIF,EAAYG,GAAIH,EAAYI,GAAI,SAE7F,MAAMC,EAAiB,IAAIC,IAAIC,OAAOC,QAAQV,IAE9C,OAAOO,EAAeI,IAAIrB,KAAKV,Y,CAGjC,mBAAYqB,GACV,MAAO,GAAGX,KAAKP,oBAAoBO,KAAKN,e,CAO1C,MAAA4B,GACE,MAAMC,EAAS,IACTvB,KAAKT,aAAe,CAAE,6BAA8BiC,EAAoBxB,KAAKT,iBAC7ES,KAAKL,iBAAmB,CAAE,iCAAkC,GAAGK,KAAKL,yBACnE8B,EAAMzB,KAAKJ,cAAgB,CAAE,6BAA8B,GAAGI,KAAKJ,kBAG1E,OACE8B,EAACC,EAAK,CAAAC,IAAA,2CAAAC,MAAON,GACXG,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,aAAc,KACd,CAAC,eAAe9B,KAAKV,eAAgB,KACrC,CAAC,sBAAsBU,KAAKR,kBAAmB,KAC/C,SAAUQ,KAAKZ,UAEjB2C,KAAK,OACLC,IAAMC,GAASjC,KAAKb,UAAY8C,EAChCC,KAAK,YAAW,mBACElC,KAAKV,aAEvBoC,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,2BAA4B,KAC5B,UAAW9B,KAAKJ,cAAgB,GAAKI,KAAKR,iBAAmB,SAE/DuC,KAAK,cAELL,EAAU,QAAAE,IAAA,8CAAA5B,KAAKS,iBAAkBsB,KAAK,qBAExCL,EAAA,QAAAE,IAAA,2CAAMO,aAAcnC,KAAKK,mBACzBqB,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,yBAA0B,KAC1B,WAAY9B,KAAKZ,UAAaY,KAAKJ,cAAgB,GAAKI,KAAKR,iBAAmB,OAElFuC,KAAK,YAELL,EAAA,QAAAE,IAAA,8CAAU5B,KAAKS,iBAAkBsB,KAAK,oB","ignoreList":[]}