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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/dist/beeq/beeq.css +1 -1
  2. package/dist/beeq/beeq.esm.js +43 -1
  3. package/dist/beeq/beeq.esm.js.map +1 -1
  4. package/dist/beeq/index.esm.js +64 -1
  5. package/dist/beeq/index.esm.js.map +1 -1
  6. package/dist/beeq/p-01df4baa.js +1826 -0
  7. package/dist/beeq/p-01df4baa.js.map +1 -0
  8. package/dist/beeq/p-01fe8efb.entry.js +182 -0
  9. package/dist/beeq/p-01fe8efb.entry.js.map +1 -0
  10. package/dist/beeq/p-03373320.entry.js +318 -0
  11. package/dist/beeq/p-03373320.entry.js.map +1 -0
  12. package/dist/beeq/{p-b7f02fb6.entry.js → p-03c586df.entry.js} +288 -2
  13. package/dist/beeq/p-03c586df.entry.js.map +1 -0
  14. package/dist/beeq/{p-b994054a.entry.js → p-0a981080.entry.js} +150 -2
  15. package/dist/beeq/{p-6823479d.entry.js.map → p-0a981080.entry.js.map} +1 -1
  16. package/dist/beeq/{p-010fb578.entry.js → p-0ce76c54.entry.js} +99 -2
  17. package/dist/beeq/{p-45b7b5cf.entry.js.map → p-0ce76c54.entry.js.map} +1 -1
  18. package/dist/beeq/p-115ed5b2.js +25 -1
  19. package/dist/beeq/p-115ed5b2.js.map +1 -1
  20. package/dist/beeq/p-1c8b6eb4.js +12 -1
  21. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  22. package/dist/beeq/p-1defeea3.js +69 -0
  23. package/dist/beeq/{p-951ba558.js.map → p-1defeea3.js.map} +1 -1
  24. package/dist/beeq/p-1f3a4359.js +11 -1
  25. package/dist/beeq/p-1f3a4359.js.map +1 -1
  26. package/dist/beeq/p-2bb049ae.entry.js +334 -0
  27. package/dist/beeq/p-2bb049ae.entry.js.map +1 -0
  28. package/dist/beeq/p-3043c826.entry.js +133 -0
  29. package/dist/beeq/p-3043c826.entry.js.map +1 -0
  30. package/dist/beeq/p-38e70f78.entry.js +133 -0
  31. package/dist/beeq/p-38e70f78.entry.js.map +1 -0
  32. package/dist/beeq/p-398bfb48.entry.js +242 -0
  33. package/dist/beeq/{p-7871f3f0.entry.js.map → p-398bfb48.entry.js.map} +1 -1
  34. package/dist/beeq/p-3f9a348a.entry.js +272 -0
  35. package/dist/beeq/{p-2e61db84.entry.js.map → p-3f9a348a.entry.js.map} +1 -1
  36. package/dist/beeq/p-3fd0d92d.js +1228 -1
  37. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  38. package/dist/beeq/p-41ac1d84.entry.js +195 -0
  39. package/dist/beeq/p-41ac1d84.entry.js.map +1 -0
  40. package/dist/beeq/p-4eabcd51.entry.js +82 -0
  41. package/dist/beeq/{p-d5992d3d.entry.js.map → p-4eabcd51.entry.js.map} +1 -1
  42. package/dist/beeq/p-544deac1.entry.js +528 -0
  43. package/dist/beeq/p-544deac1.entry.js.map +1 -0
  44. package/dist/beeq/p-57621be1.js +9 -1
  45. package/dist/beeq/p-57621be1.js.map +1 -1
  46. package/dist/beeq/p-5ff6621d.entry.js +134 -0
  47. package/dist/beeq/p-5ff6621d.entry.js.map +1 -0
  48. package/dist/beeq/p-60cbc966.entry.js +85 -0
  49. package/dist/beeq/{p-95d0abdc.entry.js.map → p-60cbc966.entry.js.map} +1 -1
  50. package/dist/beeq/p-687da041.js +20 -1
  51. package/dist/beeq/p-687da041.js.map +1 -1
  52. package/dist/beeq/p-68ff188d.entry.js +144 -0
  53. package/dist/beeq/p-68ff188d.entry.js.map +1 -0
  54. package/dist/beeq/p-69c766a3.entry.js +213 -0
  55. package/dist/beeq/p-69c766a3.entry.js.map +1 -0
  56. package/dist/beeq/p-76486949.entry.js +347 -0
  57. package/dist/beeq/p-76486949.entry.js.map +1 -0
  58. package/dist/beeq/p-83d6d9ad.js +14 -0
  59. package/dist/beeq/{p-513bab02.js.map → p-83d6d9ad.js.map} +1 -1
  60. package/dist/beeq/p-8b16f130.entry.js +210 -0
  61. package/dist/beeq/{p-010fb578.entry.js.map → p-8b16f130.entry.js.map} +1 -1
  62. package/dist/beeq/p-8e1c6978.entry.js +443 -0
  63. package/dist/beeq/p-8e1c6978.entry.js.map +1 -0
  64. package/dist/beeq/p-8f1c68c0.js +71 -0
  65. package/dist/beeq/p-8f1c68c0.js.map +1 -0
  66. package/dist/beeq/p-99829fc7.js +8 -1
  67. package/dist/beeq/p-99829fc7.js.map +1 -1
  68. package/dist/beeq/p-9cab14ee.entry.js +119 -0
  69. package/dist/beeq/{p-f7a0a316.entry.js.map → p-9cab14ee.entry.js.map} +1 -1
  70. package/dist/beeq/p-a23b23c4.entry.js +213 -0
  71. package/dist/beeq/p-a23b23c4.entry.js.map +1 -0
  72. package/dist/beeq/p-a5dc1c94.js +118 -1
  73. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  74. package/dist/beeq/p-a608a4fb.entry.js +112 -0
  75. package/dist/beeq/{p-9da0e8d7.entry.js.map → p-a608a4fb.entry.js.map} +1 -1
  76. package/dist/beeq/p-a8cad5ab.js +5 -1
  77. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  78. package/dist/beeq/p-aacaaa35.entry.js +209 -0
  79. package/dist/beeq/{p-ded1aed2.entry.js.map → p-aacaaa35.entry.js.map} +1 -1
  80. package/dist/beeq/p-af062402.js +7 -1
  81. package/dist/beeq/p-af062402.js.map +1 -1
  82. package/dist/beeq/p-b2df1479.entry.js +270 -0
  83. package/dist/beeq/p-b2df1479.entry.js.map +1 -0
  84. package/dist/beeq/p-b77b52f2.entry.js +188 -0
  85. package/dist/beeq/{p-0cbec77b.entry.js.map → p-b77b52f2.entry.js.map} +1 -1
  86. package/dist/beeq/p-c78ae3c2.js +1983 -0
  87. package/dist/beeq/p-c78ae3c2.js.map +1 -0
  88. package/dist/beeq/p-c83bc7fd.entry.js +157 -0
  89. package/dist/beeq/p-c83bc7fd.entry.js.map +1 -0
  90. package/dist/beeq/p-cb2b0014.entry.js +363 -0
  91. package/dist/beeq/p-cb2b0014.entry.js.map +1 -0
  92. package/dist/beeq/p-cb917e68.entry.js +177 -0
  93. package/dist/beeq/p-cb917e68.entry.js.map +1 -0
  94. package/dist/beeq/p-cfb8829b.entry.js +100 -0
  95. package/dist/beeq/{p-b2acd8f3.entry.js.map → p-cfb8829b.entry.js.map} +1 -1
  96. package/dist/beeq/p-d7067dae.entry.js +151 -0
  97. package/dist/beeq/{p-1202161d.entry.js.map → p-d7067dae.entry.js.map} +1 -1
  98. package/dist/beeq/p-d7ce7165.js +91 -0
  99. package/dist/beeq/p-d7ce7165.js.map +1 -0
  100. package/dist/beeq/p-d7dc7086.entry.js +267 -0
  101. package/dist/beeq/p-d7dc7086.entry.js.map +1 -0
  102. package/dist/beeq/p-ecd27cf2.js +11 -1
  103. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  104. package/dist/beeq/p-edfd9767.js +31 -0
  105. package/dist/beeq/p-edfd9767.js.map +1 -0
  106. package/dist/beeq/p-f11a3beb.entry.js +90 -0
  107. package/dist/beeq/{p-fbf6b04b.entry.js.map → p-f11a3beb.entry.js.map} +1 -1
  108. package/dist/beeq/p-f1d6a960.entry.js +271 -0
  109. package/dist/beeq/p-f1d6a960.entry.js.map +1 -0
  110. package/dist/beeq/p-f350516b.entry.js +154 -0
  111. package/dist/beeq/p-f350516b.entry.js.map +1 -0
  112. package/dist/beeq/p-f979d79a.entry.js +120 -0
  113. package/dist/beeq/{p-83207939.entry.js.map → p-f979d79a.entry.js.map} +1 -1
  114. package/dist/beeq/{p-d5992d3d.entry.js → p-faa3be41.entry.js} +155 -2
  115. package/dist/beeq/{p-e7ede06e.entry.js.map → p-faa3be41.entry.js.map} +1 -1
  116. package/dist/beeq/p-fb20c6eb.entry.js +458 -0
  117. package/dist/beeq/p-fb20c6eb.entry.js.map +1 -0
  118. package/dist/beeq/p-fe278ecc.entry.js +267 -0
  119. package/dist/beeq/p-fe278ecc.entry.js.map +1 -0
  120. package/dist/cjs/assetsPath-8bd8d221.js +77 -0
  121. package/dist/cjs/assetsPath-8bd8d221.js.map +1 -0
  122. package/dist/cjs/beeq.cjs.js +3 -3
  123. package/dist/cjs/beeq.cjs.js.map +1 -1
  124. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -4
  125. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/bq-accordion.cjs.entry.js +83 -48
  127. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  128. package/dist/cjs/bq-alert.cjs.entry.js +57 -43
  129. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  130. package/dist/cjs/bq-avatar.cjs.entry.js +40 -40
  131. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-badge.cjs.entry.js +42 -42
  133. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  134. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +39 -29
  135. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-breadcrumb.cjs.entry.js +45 -30
  137. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  138. package/dist/cjs/bq-button_2.cjs.entry.js +138 -90
  139. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  140. package/dist/cjs/bq-card.cjs.entry.js +3 -4
  141. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  142. package/dist/cjs/bq-checkbox.cjs.entry.js +63 -54
  143. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  144. package/dist/cjs/bq-date-picker.cjs.entry.js +160 -140
  145. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  146. package/dist/cjs/bq-dialog.cjs.entry.js +71 -50
  147. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  148. package/dist/cjs/bq-divider.cjs.entry.js +23 -21
  149. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  150. package/dist/cjs/bq-drawer.cjs.entry.js +48 -34
  151. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  152. package/dist/cjs/bq-dropdown_2.cjs.entry.js +44 -34
  153. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-empty-state.cjs.entry.js +25 -22
  155. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  156. package/dist/cjs/bq-input.cjs.entry.js +116 -90
  157. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-notification.cjs.entry.js +63 -49
  159. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  160. package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
  161. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-option-list_2.cjs.entry.js +73 -54
  163. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  164. package/dist/cjs/bq-option.cjs.entry.js +61 -45
  165. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  166. package/dist/cjs/bq-page-title.cjs.entry.js +36 -32
  167. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  168. package/dist/cjs/bq-progress.cjs.entry.js +3 -4
  169. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  170. package/dist/cjs/bq-radio-group.cjs.entry.js +12 -7
  171. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  172. package/dist/cjs/bq-radio.cjs.entry.js +43 -37
  173. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  174. package/dist/cjs/bq-select.cjs.entry.js +185 -168
  175. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  176. package/dist/cjs/bq-side-menu-item.cjs.entry.js +68 -55
  177. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  178. package/dist/cjs/bq-side-menu.cjs.entry.js +47 -32
  179. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  180. package/dist/cjs/bq-slider.cjs.entry.js +160 -145
  181. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  182. package/dist/cjs/bq-spinner.cjs.entry.js +52 -51
  183. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  184. package/dist/cjs/bq-status.cjs.entry.js +3 -4
  185. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  186. package/dist/cjs/bq-step-item.cjs.entry.js +15 -11
  187. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  188. package/dist/cjs/bq-steps.cjs.entry.js +12 -10
  189. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  190. package/dist/cjs/bq-switch.cjs.entry.js +43 -32
  191. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  192. package/dist/cjs/bq-tab-group.cjs.entry.js +64 -57
  193. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  194. package/dist/cjs/bq-tab.cjs.entry.js +43 -33
  195. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  196. package/dist/cjs/bq-textarea.cjs.entry.js +80 -58
  197. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  198. package/dist/cjs/bq-toast.cjs.entry.js +44 -38
  199. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  200. package/dist/cjs/bq-tooltip.cjs.entry.js +46 -42
  201. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  202. package/dist/cjs/{cssVariables-a0e1e906.js → cssVariables-dd190bc2.js} +2 -2
  203. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  204. package/dist/cjs/{debounce-f94a239b.js → debounce-1f7e1176.js} +3 -3
  205. package/dist/cjs/debounce-1f7e1176.js.map +1 -0
  206. package/dist/cjs/{index-e6d59dbb.js → index-34edf639.js} +48 -15
  207. package/dist/cjs/index-34edf639.js.map +1 -0
  208. package/dist/cjs/{index-e4c116b6.js → index-fc7876d6.js} +63 -19
  209. package/dist/cjs/index-fc7876d6.js.map +1 -0
  210. package/dist/cjs/index.cjs.js +5 -5
  211. package/dist/cjs/{isDefined-a9dd6d5b.js → isDefined-f3968296.js} +1 -2
  212. package/dist/cjs/isDefined-f3968296.js.map +1 -0
  213. package/dist/cjs/loader.cjs.js +2 -2
  214. package/dist/cjs/{slot-dd6f7db9.js → slot-2fee189a.js} +3 -4
  215. package/dist/{beeq/p-d7a88b16.js.map → cjs/slot-2fee189a.js.map} +1 -1
  216. package/dist/collection/_storybook/foundation/helper/index.js +3 -3
  217. package/dist/collection/_storybook/foundation/helper/index.js.map +1 -1
  218. package/dist/collection/collection-manifest.json +2 -2
  219. package/dist/collection/components/accordion/bq-accordion.js +72 -39
  220. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  221. package/dist/collection/components/accordion/helper/index.js +10 -4
  222. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  223. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  224. package/dist/collection/components/accordion-group/bq-accordion-group.js +5 -0
  225. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  226. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  227. package/dist/collection/components/alert/bq-alert.js +55 -37
  228. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  229. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  230. package/dist/collection/components/avatar/bq-avatar.js +40 -36
  231. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  232. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  233. package/dist/collection/components/badge/bq-badge.js +40 -36
  234. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  235. package/dist/collection/components/badge/scss/bq-badge.css +1 -1
  236. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +45 -26
  237. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  238. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  239. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +40 -24
  240. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  241. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  242. package/dist/collection/components/button/bq-button.js +84 -43
  243. package/dist/collection/components/button/bq-button.js.map +1 -1
  244. package/dist/collection/components/button/scss/bq-button.css +1 -1
  245. package/dist/collection/components/card/bq-card.js +5 -0
  246. package/dist/collection/components/card/bq-card.js.map +1 -1
  247. package/dist/collection/components/card/scss/bq-card.css +1 -1
  248. package/dist/collection/components/checkbox/bq-checkbox.js +63 -50
  249. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  250. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  251. package/dist/collection/components/date-picker/bq-date-picker.js +158 -134
  252. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  253. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  254. package/dist/collection/components/dialog/bq-dialog.js +70 -45
  255. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  256. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  257. package/dist/collection/components/divider/bq-divider.js +21 -15
  258. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  259. package/dist/collection/components/divider/scss/bq-divider.css +1 -1
  260. package/dist/collection/components/drawer/bq-drawer.js +47 -29
  261. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  262. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  263. package/dist/collection/components/dropdown/bq-dropdown.js +34 -23
  264. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  265. package/dist/collection/components/empty-state/bq-empty-state.js +25 -18
  266. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  267. package/dist/collection/components/icon/bq-icon.js +41 -37
  268. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  269. package/dist/collection/components/icon/helper/request.js +2 -2
  270. package/dist/collection/components/icon/helper/request.js.map +1 -1
  271. package/dist/collection/components/icon/scss/bq-icon.css +1 -1
  272. package/dist/collection/components/input/bq-input.js +113 -83
  273. package/dist/collection/components/input/bq-input.js.map +1 -1
  274. package/dist/collection/components/input/scss/bq-input.css +1 -1
  275. package/dist/collection/components/notification/bq-notification.js +61 -43
  276. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  277. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  278. package/dist/collection/components/option/bq-option.js +60 -40
  279. package/dist/collection/components/option/bq-option.js.map +1 -1
  280. package/dist/collection/components/option/scss/bq-option.css +1 -1
  281. package/dist/collection/components/option-group/bq-option-group.js +5 -0
  282. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  283. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  284. package/dist/collection/components/option-list/bq-option-list.js +10 -0
  285. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  286. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  287. package/dist/collection/components/page-title/bq-page-title.js +35 -27
  288. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  289. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  290. package/dist/collection/components/panel/bq-panel.js +11 -6
  291. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  292. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  293. package/dist/collection/components/progress/bq-progress.js +5 -0
  294. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  295. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  296. package/dist/collection/components/radio/bq-radio.js +43 -34
  297. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  298. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  299. package/dist/collection/components/radio-group/bq-radio-group.js +12 -3
  300. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  301. package/dist/collection/components/select/bq-select.js +182 -161
  302. package/dist/collection/components/select/bq-select.js.map +1 -1
  303. package/dist/collection/components/select/scss/bq-select.css +1 -1
  304. package/dist/collection/components/side-menu/bq-side-menu.js +50 -29
  305. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  306. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  307. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +68 -51
  308. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  309. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  310. package/dist/collection/components/slider/bq-slider.js +159 -140
  311. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  312. package/dist/collection/components/slider/scss/bq-slider.css +1 -1
  313. package/dist/collection/components/spinner/bq-spinner.js +51 -46
  314. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  315. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  316. package/dist/collection/components/status/bq-status.js +5 -0
  317. package/dist/collection/components/status/bq-status.js.map +1 -1
  318. package/dist/collection/components/status/scss/bq-status.css +1 -1
  319. package/dist/collection/components/step-item/bq-step-item.js +17 -7
  320. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  321. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  322. package/dist/collection/components/steps/bq-steps.js +12 -6
  323. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  324. package/dist/collection/components/steps/scss/bq-steps.css +1 -1
  325. package/dist/collection/components/switch/bq-switch.js +42 -27
  326. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  327. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  328. package/dist/collection/components/tab/bq-tab.js +42 -28
  329. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  330. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  331. package/dist/collection/components/tab-group/bq-tab-group.js +64 -53
  332. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  333. package/dist/collection/components/tag/bq-tag.js +64 -46
  334. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  335. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  336. package/dist/collection/components/textarea/bq-textarea.js +78 -52
  337. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  338. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  339. package/dist/collection/components/toast/bq-toast.js +43 -33
  340. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  341. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  342. package/dist/collection/components/tooltip/bq-tooltip.js +45 -38
  343. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  344. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  345. package/dist/collection/index.js +0 -1
  346. package/dist/collection/index.js.map +1 -1
  347. package/dist/collection/services/libraries/floating-ui/index.js +4 -0
  348. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  349. package/dist/collection/shared/utils/assetsPath.js +45 -57
  350. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  351. package/dist/collection/shared/utils/cssVariables.js +1 -1
  352. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  353. package/dist/collection/shared/utils/debounce.js +2 -2
  354. package/dist/collection/shared/utils/debounce.js.map +1 -1
  355. package/dist/collection/shared/utils/slot.js +2 -3
  356. package/dist/collection/shared/utils/slot.js.map +1 -1
  357. package/dist/components/bq-accordion-group.js +2 -3
  358. package/dist/components/bq-accordion-group.js.map +1 -1
  359. package/dist/components/bq-accordion.js +81 -46
  360. package/dist/components/bq-accordion.js.map +1 -1
  361. package/dist/components/bq-alert.js +54 -40
  362. package/dist/components/bq-alert.js.map +1 -1
  363. package/dist/components/bq-avatar.js +39 -39
  364. package/dist/components/bq-avatar.js.map +1 -1
  365. package/dist/components/bq-badge2.js +39 -39
  366. package/dist/components/bq-badge2.js.map +1 -1
  367. package/dist/components/bq-breadcrumb-item.js +37 -27
  368. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  369. package/dist/components/bq-breadcrumb.js +44 -29
  370. package/dist/components/bq-breadcrumb.js.map +1 -1
  371. package/dist/components/bq-button2.js +84 -47
  372. package/dist/components/bq-button2.js.map +1 -1
  373. package/dist/components/bq-card.js +2 -3
  374. package/dist/components/bq-card.js.map +1 -1
  375. package/dist/components/bq-checkbox.js +62 -53
  376. package/dist/components/bq-checkbox.js.map +1 -1
  377. package/dist/components/bq-date-picker.js +157 -137
  378. package/dist/components/bq-date-picker.js.map +1 -1
  379. package/dist/components/bq-dialog.js +69 -48
  380. package/dist/components/bq-dialog.js.map +1 -1
  381. package/dist/components/bq-divider2.js +20 -18
  382. package/dist/components/bq-divider2.js.map +1 -1
  383. package/dist/components/bq-drawer.js +46 -32
  384. package/dist/components/bq-drawer.js.map +1 -1
  385. package/dist/components/bq-dropdown2.js +32 -24
  386. package/dist/components/bq-dropdown2.js.map +1 -1
  387. package/dist/components/bq-empty-state.js +23 -20
  388. package/dist/components/bq-empty-state.js.map +1 -1
  389. package/dist/components/bq-icon2.js +112 -42
  390. package/dist/components/bq-icon2.js.map +1 -1
  391. package/dist/components/bq-input.js +112 -86
  392. package/dist/components/bq-input.js.map +1 -1
  393. package/dist/components/bq-notification.js +60 -46
  394. package/dist/components/bq-notification.js.map +1 -1
  395. package/dist/components/bq-option-group.js +2 -2
  396. package/dist/components/bq-option-group.js.map +1 -1
  397. package/dist/components/bq-option-list2.js +7 -3
  398. package/dist/components/bq-option-list2.js.map +1 -1
  399. package/dist/components/bq-option.js +59 -43
  400. package/dist/components/bq-option.js.map +1 -1
  401. package/dist/components/bq-page-title.js +34 -30
  402. package/dist/components/bq-page-title.js.map +1 -1
  403. package/dist/components/bq-panel2.js +10 -8
  404. package/dist/components/bq-panel2.js.map +1 -1
  405. package/dist/components/bq-progress.js +2 -3
  406. package/dist/components/bq-progress.js.map +1 -1
  407. package/dist/components/bq-radio-group.js +10 -5
  408. package/dist/components/bq-radio-group.js.map +1 -1
  409. package/dist/components/bq-radio.js +43 -37
  410. package/dist/components/bq-radio.js.map +1 -1
  411. package/dist/components/bq-select.js +181 -164
  412. package/dist/components/bq-select.js.map +1 -1
  413. package/dist/components/bq-side-menu-item.js +67 -54
  414. package/dist/components/bq-side-menu-item.js.map +1 -1
  415. package/dist/components/bq-side-menu.js +47 -31
  416. package/dist/components/bq-side-menu.js.map +1 -1
  417. package/dist/components/bq-slider.js +158 -143
  418. package/dist/components/bq-slider.js.map +1 -1
  419. package/dist/components/bq-spinner.js +49 -48
  420. package/dist/components/bq-spinner.js.map +1 -1
  421. package/dist/components/bq-status.js +2 -3
  422. package/dist/components/bq-status.js.map +1 -1
  423. package/dist/components/bq-step-item.js +14 -10
  424. package/dist/components/bq-step-item.js.map +1 -1
  425. package/dist/components/bq-steps.js +11 -9
  426. package/dist/components/bq-steps.js.map +1 -1
  427. package/dist/components/bq-switch.js +41 -30
  428. package/dist/components/bq-switch.js.map +1 -1
  429. package/dist/components/bq-tab-group.js +62 -55
  430. package/dist/components/bq-tab-group.js.map +1 -1
  431. package/dist/components/bq-tab.js +41 -31
  432. package/dist/components/bq-tab.js.map +1 -1
  433. package/dist/components/bq-tag2.js +63 -49
  434. package/dist/components/bq-tag2.js.map +1 -1
  435. package/dist/components/bq-textarea.js +77 -55
  436. package/dist/components/bq-textarea.js.map +1 -1
  437. package/dist/components/bq-toast.js +42 -36
  438. package/dist/components/bq-toast.js.map +1 -1
  439. package/dist/components/bq-tooltip2.js +44 -40
  440. package/dist/components/bq-tooltip2.js.map +1 -1
  441. package/dist/components/cssVariables.js +1 -1
  442. package/dist/components/cssVariables.js.map +1 -1
  443. package/dist/components/debounce.js +2 -2
  444. package/dist/components/debounce.js.map +1 -1
  445. package/dist/components/index.js +1 -1
  446. package/dist/components/index2.js +62 -18
  447. package/dist/components/index2.js.map +1 -1
  448. package/dist/components/isDefined.js +0 -1
  449. package/dist/components/isDefined.js.map +1 -1
  450. package/dist/components/slot.js +2 -3
  451. package/dist/components/slot.js.map +1 -1
  452. package/dist/esm/assetsPath-beeee241.js +74 -0
  453. package/dist/esm/assetsPath-beeee241.js.map +1 -0
  454. package/dist/esm/beeq.js +4 -4
  455. package/dist/esm/beeq.js.map +1 -1
  456. package/dist/esm/bq-accordion-group.entry.js +3 -4
  457. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  458. package/dist/esm/bq-accordion.entry.js +83 -48
  459. package/dist/esm/bq-accordion.entry.js.map +1 -1
  460. package/dist/esm/bq-alert.entry.js +57 -43
  461. package/dist/esm/bq-alert.entry.js.map +1 -1
  462. package/dist/esm/bq-avatar.entry.js +40 -40
  463. package/dist/esm/bq-avatar.entry.js.map +1 -1
  464. package/dist/esm/bq-badge.entry.js +42 -42
  465. package/dist/esm/bq-badge.entry.js.map +1 -1
  466. package/dist/esm/bq-breadcrumb-item.entry.js +39 -29
  467. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  468. package/dist/esm/bq-breadcrumb.entry.js +45 -30
  469. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  470. package/dist/esm/bq-button_2.entry.js +138 -90
  471. package/dist/esm/bq-button_2.entry.js.map +1 -1
  472. package/dist/esm/bq-card.entry.js +3 -4
  473. package/dist/esm/bq-card.entry.js.map +1 -1
  474. package/dist/esm/bq-checkbox.entry.js +63 -54
  475. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  476. package/dist/esm/bq-date-picker.entry.js +160 -140
  477. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  478. package/dist/esm/bq-dialog.entry.js +71 -50
  479. package/dist/esm/bq-dialog.entry.js.map +1 -1
  480. package/dist/esm/bq-divider.entry.js +23 -21
  481. package/dist/esm/bq-divider.entry.js.map +1 -1
  482. package/dist/esm/bq-drawer.entry.js +48 -34
  483. package/dist/esm/bq-drawer.entry.js.map +1 -1
  484. package/dist/esm/bq-dropdown_2.entry.js +44 -34
  485. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  486. package/dist/esm/bq-empty-state.entry.js +25 -22
  487. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  488. package/dist/esm/bq-input.entry.js +116 -90
  489. package/dist/esm/bq-input.entry.js.map +1 -1
  490. package/dist/esm/bq-notification.entry.js +63 -49
  491. package/dist/esm/bq-notification.entry.js.map +1 -1
  492. package/dist/esm/bq-option-group.entry.js +3 -3
  493. package/dist/esm/bq-option-group.entry.js.map +1 -1
  494. package/dist/esm/bq-option-list_2.entry.js +73 -54
  495. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  496. package/dist/esm/bq-option.entry.js +61 -45
  497. package/dist/esm/bq-option.entry.js.map +1 -1
  498. package/dist/esm/bq-page-title.entry.js +36 -32
  499. package/dist/esm/bq-page-title.entry.js.map +1 -1
  500. package/dist/esm/bq-progress.entry.js +3 -4
  501. package/dist/esm/bq-progress.entry.js.map +1 -1
  502. package/dist/esm/bq-radio-group.entry.js +12 -7
  503. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  504. package/dist/esm/bq-radio.entry.js +43 -37
  505. package/dist/esm/bq-radio.entry.js.map +1 -1
  506. package/dist/esm/bq-select.entry.js +185 -168
  507. package/dist/esm/bq-select.entry.js.map +1 -1
  508. package/dist/esm/bq-side-menu-item.entry.js +68 -55
  509. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  510. package/dist/esm/bq-side-menu.entry.js +47 -32
  511. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  512. package/dist/esm/bq-slider.entry.js +160 -145
  513. package/dist/esm/bq-slider.entry.js.map +1 -1
  514. package/dist/esm/bq-spinner.entry.js +52 -51
  515. package/dist/esm/bq-spinner.entry.js.map +1 -1
  516. package/dist/esm/bq-status.entry.js +3 -4
  517. package/dist/esm/bq-status.entry.js.map +1 -1
  518. package/dist/esm/bq-step-item.entry.js +15 -11
  519. package/dist/esm/bq-step-item.entry.js.map +1 -1
  520. package/dist/esm/bq-steps.entry.js +12 -10
  521. package/dist/esm/bq-steps.entry.js.map +1 -1
  522. package/dist/esm/bq-switch.entry.js +43 -32
  523. package/dist/esm/bq-switch.entry.js.map +1 -1
  524. package/dist/esm/bq-tab-group.entry.js +64 -57
  525. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  526. package/dist/esm/bq-tab.entry.js +43 -33
  527. package/dist/esm/bq-tab.entry.js.map +1 -1
  528. package/dist/esm/bq-textarea.entry.js +80 -58
  529. package/dist/esm/bq-textarea.entry.js.map +1 -1
  530. package/dist/esm/bq-toast.entry.js +44 -38
  531. package/dist/esm/bq-toast.entry.js.map +1 -1
  532. package/dist/esm/bq-tooltip.entry.js +46 -42
  533. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  534. package/dist/esm/{cssVariables-23e3ca0d.js → cssVariables-000c23ad.js} +2 -2
  535. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  536. package/dist/esm/{debounce-c82e3da1.js → debounce-3e72f418.js} +3 -3
  537. package/dist/esm/debounce-3e72f418.js.map +1 -0
  538. package/dist/esm/{index-efc1c2ef.js → index-033f1efb.js} +48 -16
  539. package/dist/esm/index-033f1efb.js.map +1 -0
  540. package/dist/esm/{index-136429a6.js → index-1618c78b.js} +63 -19
  541. package/dist/esm/index-1618c78b.js.map +1 -0
  542. package/dist/esm/index.js +6 -6
  543. package/dist/esm/{isDefined-1e676215.js → isDefined-0cb07ee6.js} +1 -2
  544. package/dist/esm/isDefined-0cb07ee6.js.map +1 -0
  545. package/dist/esm/loader.js +3 -3
  546. package/dist/esm/{slot-179d109d.js → slot-58bfedb5.js} +3 -4
  547. package/dist/esm/slot-58bfedb5.js.map +1 -0
  548. package/dist/hydrate/index.d.ts +10 -4
  549. package/dist/hydrate/index.js +3857 -1984
  550. package/dist/hydrate/index.mjs +3857 -1984
  551. package/dist/types/_storybook/foundation/helper/index.d.ts +1 -3
  552. package/dist/types/components/button/bq-button.d.ts +5 -0
  553. package/dist/types/components/radio/bq-radio.d.ts +0 -5
  554. package/dist/types/index.d.ts +1 -1
  555. package/dist/types/shared/utils/assetsPath.d.ts +6 -19
  556. package/dist/types/stencil-public-runtime.d.ts +4 -0
  557. package/package.json +4 -4
  558. package/dist/beeq/p-05b44bb7.entry.js +0 -6
  559. package/dist/beeq/p-05b44bb7.entry.js.map +0 -1
  560. package/dist/beeq/p-0cbec77b.entry.js +0 -6
  561. package/dist/beeq/p-1202161d.entry.js +0 -6
  562. package/dist/beeq/p-17b341dd.entry.js +0 -6
  563. package/dist/beeq/p-17b341dd.entry.js.map +0 -1
  564. package/dist/beeq/p-1d81f9e5.entry.js +0 -6
  565. package/dist/beeq/p-1d81f9e5.entry.js.map +0 -1
  566. package/dist/beeq/p-2714ce21.entry.js +0 -6
  567. package/dist/beeq/p-2714ce21.entry.js.map +0 -1
  568. package/dist/beeq/p-2e61db84.entry.js +0 -6
  569. package/dist/beeq/p-32f74048.entry.js +0 -6
  570. package/dist/beeq/p-32f74048.entry.js.map +0 -1
  571. package/dist/beeq/p-339d14c8.entry.js +0 -6
  572. package/dist/beeq/p-339d14c8.entry.js.map +0 -1
  573. package/dist/beeq/p-35ec6cac.entry.js +0 -6
  574. package/dist/beeq/p-35ec6cac.entry.js.map +0 -1
  575. package/dist/beeq/p-38d4bd8a.js +0 -6
  576. package/dist/beeq/p-38d4bd8a.js.map +0 -1
  577. package/dist/beeq/p-3ea228d3.entry.js +0 -6
  578. package/dist/beeq/p-3ea228d3.entry.js.map +0 -1
  579. package/dist/beeq/p-45b7b5cf.entry.js +0 -6
  580. package/dist/beeq/p-45e674b4.entry.js +0 -6
  581. package/dist/beeq/p-45e674b4.entry.js.map +0 -1
  582. package/dist/beeq/p-4954154f.entry.js +0 -6
  583. package/dist/beeq/p-4954154f.entry.js.map +0 -1
  584. package/dist/beeq/p-513bab02.js +0 -6
  585. package/dist/beeq/p-5a9a73a0.js +0 -6
  586. package/dist/beeq/p-5a9a73a0.js.map +0 -1
  587. package/dist/beeq/p-5f3ce05a.entry.js +0 -6
  588. package/dist/beeq/p-5f3ce05a.entry.js.map +0 -1
  589. package/dist/beeq/p-6823479d.entry.js +0 -6
  590. package/dist/beeq/p-76e714c6.js +0 -7
  591. package/dist/beeq/p-76e714c6.js.map +0 -1
  592. package/dist/beeq/p-7871f3f0.entry.js +0 -6
  593. package/dist/beeq/p-7a049750.entry.js +0 -6
  594. package/dist/beeq/p-7a049750.entry.js.map +0 -1
  595. package/dist/beeq/p-83207939.entry.js +0 -6
  596. package/dist/beeq/p-8d8993ba.entry.js +0 -6
  597. package/dist/beeq/p-8d8993ba.entry.js.map +0 -1
  598. package/dist/beeq/p-9406afc0.entry.js +0 -6
  599. package/dist/beeq/p-9406afc0.entry.js.map +0 -1
  600. package/dist/beeq/p-94899104.entry.js +0 -6
  601. package/dist/beeq/p-94899104.entry.js.map +0 -1
  602. package/dist/beeq/p-951ba558.js +0 -6
  603. package/dist/beeq/p-95d0abdc.entry.js +0 -6
  604. package/dist/beeq/p-9da0e8d7.entry.js +0 -6
  605. package/dist/beeq/p-a535a72f.entry.js +0 -6
  606. package/dist/beeq/p-a535a72f.entry.js.map +0 -1
  607. package/dist/beeq/p-a5a17e6e.entry.js +0 -6
  608. package/dist/beeq/p-a5a17e6e.entry.js.map +0 -1
  609. package/dist/beeq/p-b2acd8f3.entry.js +0 -6
  610. package/dist/beeq/p-b7f02fb6.entry.js.map +0 -1
  611. package/dist/beeq/p-b994054a.entry.js.map +0 -1
  612. package/dist/beeq/p-be4941d0.entry.js +0 -6
  613. package/dist/beeq/p-be4941d0.entry.js.map +0 -1
  614. package/dist/beeq/p-d7a88b16.js +0 -6
  615. package/dist/beeq/p-dd206dba.entry.js +0 -6
  616. package/dist/beeq/p-dd206dba.entry.js.map +0 -1
  617. package/dist/beeq/p-ded1aed2.entry.js +0 -6
  618. package/dist/beeq/p-e08d9b52.entry.js +0 -6
  619. package/dist/beeq/p-e08d9b52.entry.js.map +0 -1
  620. package/dist/beeq/p-e572b038.entry.js +0 -6
  621. package/dist/beeq/p-e572b038.entry.js.map +0 -1
  622. package/dist/beeq/p-e5afdf8c.js +0 -6
  623. package/dist/beeq/p-e5afdf8c.js.map +0 -1
  624. package/dist/beeq/p-e7ede06e.entry.js +0 -6
  625. package/dist/beeq/p-f7a0a316.entry.js +0 -6
  626. package/dist/beeq/p-fbf6b04b.entry.js +0 -6
  627. package/dist/cjs/assetsPath-7ead23b7.js +0 -89
  628. package/dist/cjs/assetsPath-7ead23b7.js.map +0 -1
  629. package/dist/cjs/cssVariables-a0e1e906.js.map +0 -1
  630. package/dist/cjs/debounce-f94a239b.js.map +0 -1
  631. package/dist/cjs/index-e4c116b6.js.map +0 -1
  632. package/dist/cjs/index-e6d59dbb.js.map +0 -1
  633. package/dist/cjs/isDefined-a9dd6d5b.js.map +0 -1
  634. package/dist/cjs/slot-dd6f7db9.js.map +0 -1
  635. package/dist/components/assetsPath.js +0 -86
  636. package/dist/components/assetsPath.js.map +0 -1
  637. package/dist/esm/assetsPath-c02b0e16.js +0 -86
  638. package/dist/esm/assetsPath-c02b0e16.js.map +0 -1
  639. package/dist/esm/cssVariables-23e3ca0d.js.map +0 -1
  640. package/dist/esm/debounce-c82e3da1.js.map +0 -1
  641. package/dist/esm/index-136429a6.js.map +0 -1
  642. package/dist/esm/index-efc1c2ef.js.map +0 -1
  643. package/dist/esm/isDefined-1e676215.js.map +0 -1
  644. package/dist/esm/slot-179d109d.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"bq-date-picker.entry.cjs.js","mappings":"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","names":["isHTMLElement","hasSlotContent","h","isDefined","validatePropValue","isEventTargetChildOfElement"],"sources":["../../packages/beeq/src/components/date-picker/bq-date-picker.types.ts","../../packages/beeq/src/components/date-picker/scss/bq-date-picker.scss?tag=bq-date-picker&encapsulation=shadow","../../packages/beeq/src/components/date-picker/bq-date-picker.tsx"],"sourcesContent":["export type DaysOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DATE_PICKER_TYPE = ['single', 'multi', 'range'] as const;\nexport type TDatePickerType = (typeof DATE_PICKER_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Date picker styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-date-picker.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__label {\n @apply flex flex-grow items-center gap-[--bq-date-picker--gap] m-be-[--bq-date-picker--label-margin-bottom];\n @apply text-[length:--bq-date-picker--label-text-size] text-[color:--bq-date-picker--label-text-color];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Date picker input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control {\n @apply flex items-center transition-[border-color,box-shadow] is-full;\n // Border\n @apply rounded-[--bq-date-picker--border-radius] border-[length:--bq-date-picker--border-width] border-[color:--bq-date-picker--border-color];\n // Padding\n @apply pe-[--bq-date-picker--padding-end] ps-[--bq-date-picker--padding-start] p-b-[--bq-date-picker--paddingY];\n // Text\n @apply select-none text-[length:--bq-date-picker--text-size] text-[color:--bq-date-picker--text-color] placeholder:text-[color:--bq-date-picker--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-date-picker--border-style);\n\n // Focus\n &:not(.disabled):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n\n @apply focus border-[color:--bq-focus];\n }\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-date-picker__control--clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-date-picker__control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-date-picker__control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-date-picker__control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-date-picker__control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--input {\n @apply flex-auto cursor-[inherit] select-none appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply border-none min-bs-[--bq-date-picker--icon-size] min-is-0 m-b-0 m-i-0 p-b-0 p-i-0 focus:outline-none focus-visible:outline-none;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply rounded-xs border-none bs-auto p-b-0 p-i-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--prefix,\n.bq-date-picker__control--suffix {\n @apply pointer-events-none flex items-center text-[color:--bq-date-picker--text-color];\n}\n\n.bq-date-picker__control--prefix {\n @apply me-[--bq-date-picker--gap];\n}\n\n.bq-date-picker__control--suffix {\n @apply ms-[--bq-date-picker--gap];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-date-picker--icon-size) !important;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Customize Cally date picker */\n/* -------------------------------------------------------------------------- */\n\ncalendar-date,\ncalendar-range,\ncalendar-multi {\n &::part(header) {\n @apply justify-center gap-s;\n }\n\n &::part(heading) {\n @apply p-b-xs2 p-i-xs;\n }\n\n &::part(button) {\n @apply rounded-s border-0 bg-transparent transition-colors duration-200 p-b-xs2 p-i-xs2;\n @apply focus-visible:focus hover:bg-hover-ui-primary;\n }\n\n &::part(container) {\n @apply bg-[--bq-date-picker--background-color] p-b-0 p-i-0;\n }\n}\n\ncalendar-month {\n /* stylelint-disable-next-line custom-property-pattern */\n --color-accent: var(--bq-ui--brand);\n\n &::part(button) {\n @apply flex items-center justify-center rounded-s bg-transparent font-default text-text-primary transition-colors duration-200 ease-in-out p-b-0 p-i-0;\n @apply size-[--bq-date-picker--day-size] focus-visible:focus hover:bg-hover-bg-secondary;\n }\n\n &::part(button day selected) {\n @apply bg-[--bq-date-picker--range-background-color] hover:bg-hover-ui-brand;\n }\n\n &::part(outside) {\n @apply text-[--bq-text--secondary] opacity-100;\n }\n\n &::part(selected) {\n @apply rounded-s text-[color:--bq-text--alt];\n }\n\n &::part(range-inner) {\n @apply rounded-none;\n }\n\n &::part(today) {\n @apply rounded-s border-[length:--bq-date-picker--currentDate-border-width] border-[color:--bq-date-picker--currentDate-border-color] text-[color:--bq-date-picker--currentDate-text-color];\n\n border-style: var(--bq-date-picker--border-style);\n }\n\n &::part(today selected) {\n @apply text-[color:--bq-text--alt];\n }\n\n &::part(today range-inner) {\n @apply rounded-none;\n }\n\n &::part(today range-start) {\n @apply rounded-s rounded-es-none;\n }\n\n &::part(today range-end) {\n @apply rounded-s rounded-ee-none;\n }\n\n &::part(range-start) {\n @apply rounded-ee-none rounded-se-none;\n }\n\n &::part(range-end) {\n @apply rounded-es-none rounded-ss-none;\n }\n\n &::part(range-start range-end) {\n @apply rounded-s;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { CalendarDate } from 'cally';\n\nimport { DATE_PICKER_TYPE, DaysOfWeek, TDatePickerType } from './bq-date-picker.types';\nimport { Placement } from '../../services/interfaces';\nimport {\n hasSlotContent,\n isDefined,\n isEventTargetChildOfElement,\n isHTMLElement,\n validatePropValue,\n} from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The date picker panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n\n// Parts from the Cally library for calendar-date and calendar-range components:\n * @part calendar__container - The container for the entire component.\n * @part calendar__header - The container for heading and button's.\n * @part calendar__button - Any button within the component.\n * @part calendar__previous - The previous page button.\n * @part calendar__next - The next page button.\n * @part calendar__disabled - A button that is disabled due to min/max.\n * @part calendar__heading - The heading containing the month and year.\n\n// Parts specific to the calendar-month component:\n * @part calendar__heading - The heading that labels the month.\n * @part calendar__table - The <table> element.\n * @part calendar__tr - Any row within the table.\n * @part calendar__head - The table's header row.\n * @part calendar__week - The table's body rows.\n * @part calendar__th - The table's header cells.\n * @part calendar__td - The table's body cells.\n * @part calendar__button - Any button used in the component.\n * @part calendar__day - The buttons corresponding to each day in the grid.\n * @part calendar__selected - Any days which are selected.\n * @part calendar__today - Today's day.\n * @part calendar__disallowed - Any day that has been disallowed via isDateDisallowed.\n * @part calendar__outside - Any days which are outside the current month.\n * @part calendar__range-start - The day at the start of a date range.\n * @part calendar__range-end - The day at the end of a date range.\n * @part calendar__range-inner - Any days between the start and end of a date range.\n */\n@Component({\n tag: 'bq-date-picker',\n styleUrl: './scss/bq-date-picker.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqDatePicker {\n // Own Properties\n // ====================\n\n private callyElem?: InstanceType<typeof CalendarDate>;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private fallbackInputId = 'date-picker';\n\n // Export parts of the calendar-month component\n private readonly COMMON_EXPORT_PARTS =\n 'calendar__heading,calendar__table,calendar__tr,calendar__head,calendar__week,calendar__th,calendar__td';\n private readonly BUTTON_EXPORT_PARTS =\n 'calendar__button,calendar__day,calendar__selected,calendar__today,calendar__disallowed,calendar__outside,calendar__range-start,calendar__range-end,calendar__range-inner';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDatePickerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() focusedDate: string;\n @State() displayDate: string;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasRangeEnd = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If `true`, the Date picker input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /** If `true`, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /**\n * Indicates whether the Date picker input is disabled or not.\n * If `true`, the Date picker is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** Represents the distance (gutter or margin) between the Date picker panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The first day of the week, where Sunday is 0, Monday is 1, etc */\n @Prop({ reflect: true }) firstDayOfWeek?: DaysOfWeek = 1;\n\n /** The options to use when formatting the displayed value.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options\n */\n @Prop() formatOptions: Intl.DateTimeFormatOptions = {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n };\n\n /** The ID of the form that the Date picker input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** A function that takes a date and returns true if the date should not be selectable */\n @Prop({ reflect: true }) isDateDisallowed?: (date: Date) => boolean;\n\n /** The locale for formatting dates. If not set, will use the browser's locale.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument\n */\n @Prop({ reflect: true }) locale: Intl.LocalesArgument = 'en-GB';\n\n /** The latest date that can be selected */\n @Prop({ reflect: true }) max?: string;\n\n /** The earliest date that can be selected */\n @Prop({ reflect: true }) min?: string;\n\n /** Number of months to show when range is `true` */\n @Prop({ reflect: true }) months: number;\n\n /**\n * Specifies how the next/previous buttons should navigate the calendar.\n * - single: The buttons will navigate by a single month at a time.\n * - months: The buttons will navigate by the number of months displayed per view.\n */\n @Prop({ reflect: true }) monthsPerView: 'single' | 'months' = 'single';\n\n /** The Date picker input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** If `true`, the Date picker panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Date picker panel. */\n @Prop({ reflect: true, mutable: true }) panelHeight?: string = 'auto';\n\n /** The Date picker input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Date picker panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom-end';\n\n /** Indicates whether or not the Date picker input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Represents the skidding between the Date picker panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Whether to show days outside the month */\n @Prop({ reflect: true }) showOutsideDays: boolean = false;\n\n /** Defines the strategy to position the Date picker panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /** The date that is tentatively selected e.g. the start of a range selection */\n @Prop({ reflect: true, mutable: true }) tentative?: string;\n\n /** It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection */\n @Prop({ reflect: true }) type: TDatePickerType = 'single';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value represents the currently selected date or range and can be used to reset the field to a previous value.\n * All dates are expected in ISO-8601 format (YYYY-MM-DD). */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (Array.isArray(this.value)) {\n this.hasValue = this.value.some((val) => val.length > 0);\n return;\n }\n\n this.hasValue = isDefined(this.value);\n this.displayDate = this.formatDisplayValue(this.value);\n\n this.setFocusedDate();\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(DATE_PICKER_TYPE, 'single', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqDatePickerElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqDatePickerElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqDatePickerElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqDatePickerElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.handleValueChange();\n }\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n this.setFocusedDate();\n }\n\n @Listen('click', { target: 'body', capture: true })\n handleClickOutside(ev: MouseEvent) {\n const { open, type, hasRangeEnd } = this;\n if (!open || type !== 'range' || ev.button !== 0) return;\n if (isEventTargetChildOfElement(ev, this.el) || hasRangeEnd) return;\n if (isEventTargetChildOfElement(ev, this.el)) return;\n\n if (!hasRangeEnd) {\n this.tentative = undefined;\n this.hasRangeEnd = false;\n }\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 * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqInput\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n this.value = undefined;\n\n this.bqClear.emit(this.el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private setFocusedDate = () => {\n if (!this.callyElem) return;\n // We need to set the focused date in the calendar component via a ref\n // because it doesn't work when passed as a prop (the Cally element does not re-render)\n this.callyElem.focusedDate = this.value\n ? this.formatFocusedDate(this.value)\n : new Date().toLocaleDateString('fr-CA');\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n\n const dateValue = new Date(ev.target.value);\n if (!isNaN(dateValue.getTime())) {\n // We need to force the value to respect the format: yyyy-mm-dd, hence the hardcoded locale\n this.value = dateValue.toLocaleDateString('fr-CA');\n this.displayDate = this.formatDisplayValue(this.value);\n this.bqChange.emit({ value: this.value, el: this.el });\n }\n };\n\n private handleCalendarChange = (ev: Event) => {\n const { value } = ev.target as unknown as { value: string };\n\n this.value = value;\n this.displayDate = this.formatDisplayValue(this.value);\n this.inputElem.value = this.displayDate;\n this.inputElem.focus();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n\n this.open = this.type === 'multi';\n };\n\n private handleCalendarRangeStart = (ev: CustomEvent) => {\n this.hasRangeEnd = false;\n this.tentative = new Date(ev.detail).toLocaleDateString('fr-CA');\n };\n\n private handleCalendarRangeEnd = () => {\n this.hasRangeEnd = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n if (this.disabled) return;\n\n this.inputElem.value = '';\n this.value = this.inputElem.value;\n this.hasRangeEnd = false;\n\n this.bqClear.emit(this.el);\n this.bqChange.emit({ value: this.value, el: this.el });\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private generateCalendarMonth = (offset?: number, className = ''): JSX.Element => {\n return (\n <calendar-month\n offset={offset}\n class={className}\n exportparts={`${this.COMMON_EXPORT_PARTS},${this.BUTTON_EXPORT_PARTS}`}\n />\n );\n };\n\n /**\n * Generates an array of JSX.Element representing calendar months.\n *\n * If the type of the date picker is 'range' or 'multi' and the number of months is specified,\n * it generates an array of calendar months with the specified length. Each month will have an offset\n * and a class name based on its position in the array. The offset is used to determine the month to display,\n * and the class name is used for responsive design.\n *\n * If the type of the date picker is not 'range' or 'multi', or if the number of months is not specified,\n * it generates an array with a single calendar month.\n *\n * @returns {JSX.Element[]} An array of JSX.Element representing calendar months.\n */\n private generateCalendarMonths = (): JSX.Element[] => {\n if (this.type === 'range' || (this.type === 'multi' && this.months)) {\n return Array.from({ length: this.months }, (_, i) => {\n const offset = i > 0 ? i : undefined;\n const className = offset ? 'hidden sm:block' : '';\n return this.generateCalendarMonth(offset, className);\n });\n }\n\n return [this.generateCalendarMonth()];\n };\n\n /**\n * Extracts and returns the first date part from a given string.\n * When the type of the date picker is 'range' or 'multi', the first or initial date part of the value\n * should be the focused date in the calendar.\n *\n * @param value - The value to be processed, can be a string.\n * @returns The extracted last date portion of the value.\n */\n private formatFocusedDate = (value: string): string | null => {\n if (!value) return;\n\n const dateRegex = /\\b\\d{4}-\\d{2}-\\d{2}\\b/;\n const match = dateRegex.exec(value);\n return match ? match[0] : null;\n };\n\n private formatDisplayValue = (value: string): string | undefined => {\n if (!value) return;\n\n const dateFormatter = new Intl.DateTimeFormat(this.locale, this.formatOptions);\n\n if (this.type === 'range') {\n const [start, end] = value.split('/').map((dateStr) => new Date(dateStr));\n return dateFormatter.formatRange(start, end);\n }\n\n if (this.type === 'multi') {\n const dates = value.split(' ').map((dateStr) => new Date(dateStr));\n return dates.map((date) => dateFormatter.format(date)).join(', ');\n }\n\n return dateFormatter.format(new Date(value));\n };\n\n private get CalendarType() {\n const componentTypes = {\n single: 'calendar-date',\n multi: 'calendar-multi',\n range: 'calendar-range',\n } as const;\n\n // Return the corresponding component type, based on the type prop value\n return componentTypes[this.type] || componentTypes.single;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const CallyCalendar = this.CalendarType;\n const labelId = `bq-date-picker__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-date-picker\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-date-picker__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select date picker dropdown */}\n <bq-dropdown\n class=\"bq-date-picker__dropdown is-full [&::part(panel)]:p-m [&::part(panel)]:is-auto\"\n disabled={this.disabled}\n distance={this.distance}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-date-picker__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-date-picker__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-date-picker__control--input\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoFocus={this.autofocus}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`${this.name}`}\n aria-haspopup=\"dialog\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.type !== 'single'}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n required={this.required}\n spellcheck={false}\n type=\"text\"\n value={this.displayDate}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n >\n <slot name=\"clear-icon\">\n <bq-icon weight=\"bold\" name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class=\"bq-date-picker__control--suffix\"\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"calendar-blank\" weight=\"bold\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <CallyCalendar\n isDateDisallowed={this.isDateDisallowed}\n locale={this.locale as string}\n value={this.value}\n min={this.min}\n max={this.max}\n months={this.months}\n tentative={this.tentative}\n pageBy={this.monthsPerView}\n firstDayOfWeek={this.firstDayOfWeek}\n showOutsideDays={this.showOutsideDays}\n onChange={this.handleCalendarChange}\n onRangestart={this.handleCalendarRangeStart}\n onRangeend={this.handleCalendarRangeEnd}\n exportparts=\"container:calendar__container,header:calendar__header,button:calendar__button,previous:calendar__previous,next:calendar__next,disabled:calendar__disabled,heading:calendar__heading\"\n ref={(elem) => (this.callyElem = elem as InstanceType<typeof CalendarDate>)}\n >\n <bq-icon color=\"text--primary\" slot=\"previous\" name=\"caret-left\" label=\"Previous\" />\n <bq-icon color=\"text--primary\" slot=\"next\" name=\"caret-right\" label=\"Next\" />\n\n <div class=\"flex flex-wrap justify-center gap-[--bq-spacing-m]\">{this.generateCalendarMonths()}</div>\n </CallyCalendar>\n </bq-dropdown>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-date-picker.entry.cjs.js","mappings":"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","names":["isDefined","validatePropValue","isEventTargetChildOfElement","isHTMLElement","hasSlotContent","h"],"sources":["../../packages/beeq/src/components/date-picker/bq-date-picker.types.ts","../../packages/beeq/src/components/date-picker/scss/bq-date-picker.scss?tag=bq-date-picker&encapsulation=shadow","../../packages/beeq/src/components/date-picker/bq-date-picker.tsx"],"sourcesContent":["export type DaysOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DATE_PICKER_TYPE = ['single', 'multi', 'range'] as const;\nexport type TDatePickerType = (typeof DATE_PICKER_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Date picker styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-date-picker.variables';\n\n:host {\n @apply block is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__label {\n @apply flex flex-grow items-center gap-[--bq-date-picker--gap] m-be-[--bq-date-picker--label-margin-bottom];\n @apply text-[length:--bq-date-picker--label-text-size] text-[color:--bq-date-picker--label-text-color];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Date picker input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control {\n @apply flex items-center transition-[border-color,box-shadow] is-full;\n // Border\n @apply rounded-[--bq-date-picker--border-radius] border-[length:--bq-date-picker--border-width] border-[color:--bq-date-picker--border-color];\n // Padding\n @apply pe-[--bq-date-picker--padding-end] ps-[--bq-date-picker--padding-start] p-b-[--bq-date-picker--paddingY];\n // Text\n @apply select-none text-[length:--bq-date-picker--text-size] text-[color:--bq-date-picker--text-color] placeholder:text-[color:--bq-date-picker--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-brand;\n\n border-style: var(--bq-date-picker--border-style);\n\n // Focus\n &:not(.disabled):focus-within {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n\n @apply focus border-[color:--bq-focus];\n }\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-date-picker__control--clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-date-picker__control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-date-picker__control.validation-error {\n @apply border-stroke-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.danger);\n\n @apply border-active-stroke-danger;\n }\n}\n\n.bq-date-picker__control.validation-success {\n @apply border-stroke-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.success);\n\n @apply border-active-stroke-success;\n }\n}\n\n.bq-date-picker__control.validation-warning {\n @apply border-stroke-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-stroke-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(colors.stroke.warning);\n\n @apply border-active-stroke-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--input {\n @apply flex-auto cursor-[inherit] select-none appearance-none bg-[inherit] font-[inherit] text-[length:inherit] text-[color:inherit];\n @apply border-none min-bs-[--bq-date-picker--icon-size] min-is-0 m-b-0 m-i-0 p-b-0 p-i-0 focus:outline-none focus-visible:outline-none;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply rounded-xs border-none bs-auto p-b-0 p-i-0;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__control--prefix,\n.bq-date-picker__control--suffix {\n @apply pointer-events-none flex items-center text-[color:--bq-date-picker--text-color];\n}\n\n.bq-date-picker__control--prefix {\n @apply me-[--bq-date-picker--gap];\n}\n\n.bq-date-picker__control--suffix {\n @apply ms-[--bq-date-picker--gap];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-date-picker--icon-size) !important;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Customize Cally date picker */\n/* -------------------------------------------------------------------------- */\n\ncalendar-date,\ncalendar-range,\ncalendar-multi {\n &::part(header) {\n @apply justify-center gap-s;\n }\n\n &::part(heading) {\n @apply p-b-xs2 p-i-xs;\n }\n\n &::part(button) {\n @apply rounded-s border-0 bg-transparent transition-colors duration-200 p-b-xs2 p-i-xs2;\n @apply focus-visible:focus hover:bg-hover-ui-primary;\n }\n\n &::part(container) {\n @apply bg-[--bq-date-picker--background-color] p-b-0 p-i-0;\n }\n}\n\ncalendar-month {\n /* stylelint-disable-next-line custom-property-pattern */\n --color-accent: var(--bq-ui--brand);\n\n &::part(button) {\n @apply flex items-center justify-center rounded-s bg-transparent font-default text-text-primary transition-colors duration-200 ease-in-out p-b-0 p-i-0;\n @apply size-[--bq-date-picker--day-size] focus-visible:focus hover:bg-hover-bg-secondary;\n }\n\n &::part(button day selected) {\n @apply bg-[--bq-date-picker--range-background-color] hover:bg-hover-ui-brand;\n }\n\n &::part(outside) {\n @apply text-[--bq-text--secondary] opacity-100;\n }\n\n &::part(selected) {\n @apply rounded-s text-[color:--bq-text--alt];\n }\n\n &::part(range-inner) {\n @apply rounded-none;\n }\n\n &::part(today) {\n @apply rounded-s border-[length:--bq-date-picker--currentDate-border-width] border-[color:--bq-date-picker--currentDate-border-color] text-[color:--bq-date-picker--currentDate-text-color];\n\n border-style: var(--bq-date-picker--border-style);\n }\n\n &::part(today selected) {\n @apply text-[color:--bq-text--alt];\n }\n\n &::part(today range-inner) {\n @apply rounded-none;\n }\n\n &::part(today range-start) {\n @apply rounded-s rounded-es-none;\n }\n\n &::part(today range-end) {\n @apply rounded-s rounded-ee-none;\n }\n\n &::part(range-start) {\n @apply rounded-ee-none rounded-se-none;\n }\n\n &::part(range-end) {\n @apply rounded-es-none rounded-ss-none;\n }\n\n &::part(range-start range-end) {\n @apply rounded-s;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { CalendarDate } from 'cally';\n\nimport { DATE_PICKER_TYPE, DaysOfWeek, TDatePickerType } from './bq-date-picker.types';\nimport { Placement } from '../../services/interfaces';\nimport {\n hasSlotContent,\n isDefined,\n isEventTargetChildOfElement,\n isHTMLElement,\n validatePropValue,\n} from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The date picker panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n\n// Parts from the Cally library for calendar-date and calendar-range components:\n * @part calendar__container - The container for the entire component.\n * @part calendar__header - The container for heading and button's.\n * @part calendar__button - Any button within the component.\n * @part calendar__previous - The previous page button.\n * @part calendar__next - The next page button.\n * @part calendar__disabled - A button that is disabled due to min/max.\n * @part calendar__heading - The heading containing the month and year.\n\n// Parts specific to the calendar-month component:\n * @part calendar__heading - The heading that labels the month.\n * @part calendar__table - The <table> element.\n * @part calendar__tr - Any row within the table.\n * @part calendar__head - The table's header row.\n * @part calendar__week - The table's body rows.\n * @part calendar__th - The table's header cells.\n * @part calendar__td - The table's body cells.\n * @part calendar__button - Any button used in the component.\n * @part calendar__day - The buttons corresponding to each day in the grid.\n * @part calendar__selected - Any days which are selected.\n * @part calendar__today - Today's day.\n * @part calendar__disallowed - Any day that has been disallowed via isDateDisallowed.\n * @part calendar__outside - Any days which are outside the current month.\n * @part calendar__range-start - The day at the start of a date range.\n * @part calendar__range-end - The day at the end of a date range.\n * @part calendar__range-inner - Any days between the start and end of a date range.\n */\n@Component({\n tag: 'bq-date-picker',\n styleUrl: './scss/bq-date-picker.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqDatePicker {\n // Own Properties\n // ====================\n\n private callyElem?: InstanceType<typeof CalendarDate>;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private fallbackInputId = 'date-picker';\n\n // Export parts of the calendar-month component\n private readonly COMMON_EXPORT_PARTS =\n 'calendar__heading,calendar__table,calendar__tr,calendar__head,calendar__week,calendar__th,calendar__td';\n private readonly BUTTON_EXPORT_PARTS =\n 'calendar__button,calendar__day,calendar__selected,calendar__today,calendar__disallowed,calendar__outside,calendar__range-start,calendar__range-end,calendar__range-inner';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDatePickerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() focusedDate: string;\n @State() displayDate: string;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasRangeEnd = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If `true`, the Date picker input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /** If `true`, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /**\n * Indicates whether the Date picker input is disabled or not.\n * If `true`, the Date picker is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** Represents the distance (gutter or margin) between the Date picker panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The first day of the week, where Sunday is 0, Monday is 1, etc */\n @Prop({ reflect: true }) firstDayOfWeek?: DaysOfWeek = 1;\n\n /** The options to use when formatting the displayed value.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options\n */\n @Prop() formatOptions: Intl.DateTimeFormatOptions = {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n };\n\n /** The ID of the form that the Date picker input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** A function that takes a date and returns true if the date should not be selectable */\n @Prop({ reflect: true }) isDateDisallowed?: (date: Date) => boolean;\n\n /** The locale for formatting dates. If not set, will use the browser's locale.\n * Details: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument\n */\n @Prop({ reflect: true }) locale: Intl.LocalesArgument = 'en-GB';\n\n /** The latest date that can be selected */\n @Prop({ reflect: true }) max?: string;\n\n /** The earliest date that can be selected */\n @Prop({ reflect: true }) min?: string;\n\n /** Number of months to show when range is `true` */\n @Prop({ reflect: true }) months: number;\n\n /**\n * Specifies how the next/previous buttons should navigate the calendar.\n * - single: The buttons will navigate by a single month at a time.\n * - months: The buttons will navigate by the number of months displayed per view.\n */\n @Prop({ reflect: true }) monthsPerView: 'single' | 'months' = 'single';\n\n /** The Date picker input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** If `true`, the Date picker panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Date picker panel. */\n @Prop({ reflect: true, mutable: true }) panelHeight?: string = 'auto';\n\n /** The Date picker input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Date picker panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom-end';\n\n /** Indicates whether or not the Date picker input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Represents the skidding between the Date picker panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Whether to show days outside the month */\n @Prop({ reflect: true }) showOutsideDays: boolean = false;\n\n /** Defines the strategy to position the Date picker panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /** The date that is tentatively selected e.g. the start of a range selection */\n @Prop({ reflect: true, mutable: true }) tentative?: string;\n\n /** It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection */\n @Prop({ reflect: true }) type: TDatePickerType = 'single';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value represents the currently selected date or range and can be used to reset the field to a previous value.\n * All dates are expected in ISO-8601 format (YYYY-MM-DD). */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (Array.isArray(this.value)) {\n this.hasValue = this.value.some((val) => val.length > 0);\n return;\n }\n\n this.hasValue = isDefined(this.value);\n this.displayDate = this.formatDisplayValue(this.value);\n\n this.setFocusedDate();\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(DATE_PICKER_TYPE, 'single', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqDatePickerElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqDatePickerElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqDatePickerElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqDatePickerElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.handleValueChange();\n }\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n this.setFocusedDate();\n }\n\n @Listen('click', { target: 'body', capture: true })\n handleClickOutside(ev: MouseEvent) {\n const { open, type, hasRangeEnd } = this;\n if (!open || type !== 'range' || ev.button !== 0) return;\n if (isEventTargetChildOfElement(ev, this.el) || hasRangeEnd) return;\n if (isEventTargetChildOfElement(ev, this.el)) return;\n\n if (!hasRangeEnd) {\n this.tentative = undefined;\n this.hasRangeEnd = false;\n }\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 * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqInput\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n this.value = undefined;\n\n this.bqClear.emit(this.el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private setFocusedDate = () => {\n if (!this.callyElem) return;\n // We need to set the focused date in the calendar component via a ref\n // because it doesn't work when passed as a prop (the Cally element does not re-render)\n this.callyElem.focusedDate = this.value\n ? this.formatFocusedDate(this.value)\n : new Date().toLocaleDateString('fr-CA');\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n\n const dateValue = new Date(ev.target.value);\n if (!isNaN(dateValue.getTime())) {\n // We need to force the value to respect the format: yyyy-mm-dd, hence the hardcoded locale\n this.value = dateValue.toLocaleDateString('fr-CA');\n this.displayDate = this.formatDisplayValue(this.value);\n this.bqChange.emit({ value: this.value, el: this.el });\n }\n };\n\n private handleCalendarChange = (ev: Event) => {\n const { value } = ev.target as unknown as { value: string };\n\n this.value = value;\n this.displayDate = this.formatDisplayValue(this.value);\n this.inputElem.value = this.displayDate;\n this.inputElem.focus();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n\n this.open = this.type === 'multi';\n };\n\n private handleCalendarRangeStart = (ev: CustomEvent) => {\n this.hasRangeEnd = false;\n this.tentative = new Date(ev.detail).toLocaleDateString('fr-CA');\n };\n\n private handleCalendarRangeEnd = () => {\n this.hasRangeEnd = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n if (this.disabled) return;\n\n this.inputElem.value = '';\n this.value = this.inputElem.value;\n this.hasRangeEnd = false;\n\n this.bqClear.emit(this.el);\n this.bqChange.emit({ value: this.value, el: this.el });\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private generateCalendarMonth = (offset?: number, className = ''): JSX.Element => {\n return (\n <calendar-month\n offset={offset}\n class={className}\n exportparts={`${this.COMMON_EXPORT_PARTS},${this.BUTTON_EXPORT_PARTS}`}\n />\n );\n };\n\n /**\n * Generates an array of JSX.Element representing calendar months.\n *\n * If the type of the date picker is 'range' or 'multi' and the number of months is specified,\n * it generates an array of calendar months with the specified length. Each month will have an offset\n * and a class name based on its position in the array. The offset is used to determine the month to display,\n * and the class name is used for responsive design.\n *\n * If the type of the date picker is not 'range' or 'multi', or if the number of months is not specified,\n * it generates an array with a single calendar month.\n *\n * @returns {JSX.Element[]} An array of JSX.Element representing calendar months.\n */\n private generateCalendarMonths = (): JSX.Element[] => {\n if (this.type === 'range' || (this.type === 'multi' && this.months)) {\n return Array.from({ length: this.months }, (_, i) => {\n const offset = i > 0 ? i : undefined;\n const className = offset ? 'hidden sm:block' : '';\n return this.generateCalendarMonth(offset, className);\n });\n }\n\n return [this.generateCalendarMonth()];\n };\n\n /**\n * Extracts and returns the first date part from a given string.\n * When the type of the date picker is 'range' or 'multi', the first or initial date part of the value\n * should be the focused date in the calendar.\n *\n * @param value - The value to be processed, can be a string.\n * @returns The extracted last date portion of the value.\n */\n private formatFocusedDate = (value: string): string | null => {\n if (!value) return;\n\n const dateRegex = /\\b\\d{4}-\\d{2}-\\d{2}\\b/;\n const match = dateRegex.exec(value);\n return match ? match[0] : null;\n };\n\n private formatDisplayValue = (value: string): string | undefined => {\n if (!value) return;\n\n const dateFormatter = new Intl.DateTimeFormat(this.locale, this.formatOptions);\n\n if (this.type === 'range') {\n const [start, end] = value.split('/').map((dateStr) => new Date(dateStr));\n return dateFormatter.formatRange(start, end);\n }\n\n if (this.type === 'multi') {\n const dates = value.split(' ').map((dateStr) => new Date(dateStr));\n return dates.map((date) => dateFormatter.format(date)).join(', ');\n }\n\n return dateFormatter.format(new Date(value));\n };\n\n private get CalendarType() {\n const componentTypes = {\n single: 'calendar-date',\n multi: 'calendar-multi',\n range: 'calendar-range',\n } as const;\n\n // Return the corresponding component type, based on the type prop value\n return componentTypes[this.type] || componentTypes.single;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const CallyCalendar = this.CalendarType;\n const labelId = `bq-date-picker__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-date-picker\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-date-picker__label': true, '!hidden': !this.hasLabel }}\n aria-label={this.name || this.fallbackInputId}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select date picker dropdown */}\n <bq-dropdown\n class=\"bq-date-picker__dropdown is-full [&::part(panel)]:p-m [&::part(panel)]:is-auto\"\n disabled={this.disabled}\n distance={this.distance}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-date-picker__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-date-picker__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-date-picker__control--input\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`${this.name}`}\n aria-haspopup=\"dialog\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.type !== 'single'}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n required={this.required}\n spellcheck={false}\n type=\"text\"\n value={this.displayDate}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n >\n <slot name=\"clear-icon\">\n <bq-icon weight=\"bold\" name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class=\"bq-date-picker__control--suffix\"\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"calendar-blank\" weight=\"bold\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <CallyCalendar\n isDateDisallowed={this.isDateDisallowed}\n locale={this.locale as string}\n value={this.value}\n min={this.min}\n max={this.max}\n months={this.months}\n tentative={this.tentative}\n pageBy={this.monthsPerView}\n firstDayOfWeek={this.firstDayOfWeek}\n showOutsideDays={this.showOutsideDays}\n onChange={this.handleCalendarChange}\n onRangestart={this.handleCalendarRangeStart}\n onRangeend={this.handleCalendarRangeEnd}\n exportparts=\"container:calendar__container,header:calendar__header,button:calendar__button,previous:calendar__previous,next:calendar__next,disabled:calendar__disabled,heading:calendar__heading\"\n ref={(elem) => (this.callyElem = elem as InstanceType<typeof CalendarDate>)}\n >\n <bq-icon color=\"text--primary\" slot=\"previous\" name=\"caret-left\" label=\"Previous\" />\n <bq-icon color=\"text--primary\" slot=\"next\" name=\"caret-right\" label=\"Next\" />\n\n <div class=\"flex flex-wrap justify-center gap-[--bq-spacing-m]\">{this.generateCalendarMonths()}</div>\n </CallyCalendar>\n </bq-dropdown>\n </div>\n );\n }\n}\n"],"version":3}
@@ -6,16 +6,15 @@
6
6
 
7
7
  Object.defineProperty(exports, '__esModule', { value: true });
8
8
 
9
- const index = require('./index-e6d59dbb.js');
10
- require('./assetsPath-7ead23b7.js');
9
+ const index = require('./index-34edf639.js');
11
10
  const props = require('./props-2653e993.js');
12
- const slot = require('./slot-dd6f7db9.js');
11
+ const slot = require('./slot-2fee189a.js');
13
12
  const transition = require('./transition-be315790.js');
14
13
 
15
14
  const DIALOG_SIZE = ['small', 'medium', 'large'];
16
15
  const DIALOG_FOOTER_APPEARANCE = ['standard', 'highlight'];
17
16
 
18
- const bqDialogCss = "::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:\"Outfit\",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:\"Poppins\",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bq-dialog,.shadow-\\[shadow\\:--bq-dialog--box-shadow\\]{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.sticky{position:sticky}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-\\[--bq-dialog--content-footer-gap\\]{gap:var(--bq-dialog--content-footer-gap)}.gap-m{gap:var(--bq-spacing-m)}.gap-xs{gap:var(--bq-spacing-xs)}.rounded-\\[--bq-dialog--border-radius\\]{border-radius:var(--bq-dialog--border-radius)}.border-\\[length\\:--bq-dialog--border-width\\]{border-width:var(--bq-dialog--border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-dialog--border-color\\]{border-color:var(--bq-dialog--border-color)}.bg-\\[--bq-dialog--background-backdrop\\]{background-color:var(--bq-dialog--background-backdrop)}.bg-\\[--bq-dialog--background\\]{background-color:var(--bq-dialog--background)}.text-\\[--bq-dialog--text-color\\]{color:var(--bq-dialog--text-color)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow-\\[shadow\\:--bq-dialog--box-shadow\\]{--tw-shadow:var(--bq-dialog--box-shadow);--tw-shadow-colored:var(--bq-dialog--box-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-\\[opacity\\]{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.is-\\[90vw\\]{inline-size:90vw}.is-full{inline-size:100%}.p-b-0{padding-block:0}.p-b-\\[--bq-dialog--padding\\]{padding-block:var(--bq-dialog--padding)}.p-be-0{padding-block-end:0}.p-bs-0{padding-block-start:0}.p-i-\\[--bq-dialog--padding\\]{padding-inline:var(--bq-dialog--padding)}.inset-bs-0{inset-block-start:0}.inset-bs-\\[100\\%\\]{inset-block-start:100%}@-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)}}::-ms-backdrop{--bq-dialog--background:var(--bq-ui--primary);--bq-dialog--background-backdrop:var(--bq-grey-900);--bq-dialog--text-color:var(--bq-text--primary);--bq-dialog--box-shadow:var(--bq-box-shadow--l);--bq-dialog--border-color:transparent;--bq-dialog--border-radius:var(--bq-radius--m);--bq-dialog--border-style:none;--bq-dialog--border-width:unset;--bq-dialog--padding:var(--bq-spacing-l);--bq-dialog--content-footer-gap:var(--bq-spacing-l);--bq-dialog--title-body-gap:var(--bq-spacing-s);--bq-dialog--width-small:320px;--bq-dialog--width-medium:480px;--bq-dialog--width-large:640px;--bq-dialog-z-index:10}::backdrop,:host{--bq-dialog--background:var(--bq-ui--primary);--bq-dialog--background-backdrop:var(--bq-grey-900);--bq-dialog--text-color:var(--bq-text--primary);--bq-dialog--box-shadow:var(--bq-box-shadow--l);--bq-dialog--border-color:transparent;--bq-dialog--border-radius:var(--bq-radius--m);--bq-dialog--border-style:none;--bq-dialog--border-width:unset;--bq-dialog--padding:var(--bq-spacing-l);--bq-dialog--content-footer-gap:var(--bq-spacing-l);--bq-dialog--title-body-gap:var(--bq-spacing-s);--bq-dialog--width-small:320px;--bq-dialog--width-medium:480px;--bq-dialog--width-large:640px;--bq-dialog-z-index:10}:host{visibility:hidden!important}:host(.bq-dialog--open){visibility:visible!important}.bq-dialog{--tw-shadow:var(--bq-dialog--box-shadow);--tw-shadow-colored:var(--bq-dialog--box-shadow);background-color:var(--bq-dialog--background);border-color:var(--bq-dialog--border-color);border-radius:var(--bq-dialog--border-radius);border-style:var(--bq-dialog--border-style);border-width:var(--bq-dialog--border-width);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:var(--bq-dialog--text-color);display:flex;flex-direction:column;gap:var(--bq-dialog--content-footer-gap);inline-size:90vw;padding-block:0;padding-inline:0;position:absolute}@media (min-width:640px){.bq-dialog.small{inline-size:var(--bq-dialog--width-small)}.bq-dialog.medium{inline-size:var(--bq-dialog--width-medium)}.bq-dialog.large{inline-size:var(--bq-dialog--width-large)}}.bq-dialog::-ms-backdrop{background-color:var(--bq-dialog--background-backdrop);opacity:0;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-dialog::backdrop{background-color:var(--bq-dialog--background-backdrop);opacity:0;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-dialog[open]::-ms-backdrop{opacity:.6}.bq-dialog[open]::backdrop{opacity:.6}.bq-dialog--header{gap:var(--bq-spacing-m);inset-block-start:0;padding-block:var(--bq-dialog--padding);padding-block-end:0;padding-inline:var(--bq-dialog--padding)}.bq-dialog--footer,.bq-dialog--header{align-items:center;display:flex;position:sticky}.bq-dialog--footer{gap:var(--bq-spacing-xs);inline-size:100%;inset-block-start:100%;justify-content:flex-end;padding-block:var(--bq-dialog--padding);padding-block-start:0;padding-inline:var(--bq-dialog--padding)}.bq-dialog--close{--bq-radius--m:var(--bq-radius--s);--bq-button--small-paddingX:var(--bq-spacing-xs2);--bq-button--small-paddingY:var(--bq-spacing-xs2)}.bq-dialog--close::part(button){border-style:none}@media (min-width:640px){.sm\\:is-\\[--bq-dialog--width-large\\]{inline-size:var(--bq-dialog--width-large)}.sm\\:is-\\[--bq-dialog--width-medium\\]{inline-size:var(--bq-dialog--width-medium)}.sm\\:is-\\[--bq-dialog--width-small\\]{inline-size:var(--bq-dialog--width-small)}}.scale-100,.scale-90{--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))}.static{position:static}.m-auto{margin:auto}.\\!hidden{display:none!important}.hidden{display:none}.flex-1{flex:1 1 0%}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.cursor-pointer{cursor:pointer}.justify-between{justify-content:space-between}.gap-\\[--bq-dialog--title-body-gap\\]{gap:var(--bq-dialog--title-body-gap)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.bg-ui-alt{background-color:var(--bq-ui--alt)}.opacity-100{opacity:1}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\!p-b-s{padding-block:var(--bq-spacing-s)!important}.\\!p-be-\\[--bq-dialog--padding\\]{padding-block-end:var(--bq-dialog--padding)!important}.inset-be-\\[50\\%\\]{inset-block-end:50%}.inset-bs-\\[50\\%\\]{inset-block-start:50%}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}.block{display:block}";
17
+ const bqDialogCss = ".transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bq-dialog,.shadow-\\[shadow\\:--bq-dialog--box-shadow\\]{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:\"Outfit\",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:\"Poppins\",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.sticky{position:sticky}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-\\[--bq-dialog--content-footer-gap\\]{gap:var(--bq-dialog--content-footer-gap)}.gap-m{gap:var(--bq-spacing-m)}.gap-xs{gap:var(--bq-spacing-xs)}.rounded-\\[--bq-dialog--border-radius\\]{border-radius:var(--bq-dialog--border-radius)}.border-\\[length\\:--bq-dialog--border-width\\]{border-width:var(--bq-dialog--border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-dialog--border-color\\]{border-color:var(--bq-dialog--border-color)}.bg-\\[--bq-dialog--background-backdrop\\]{background-color:var(--bq-dialog--background-backdrop)}.bg-\\[--bq-dialog--background\\]{background-color:var(--bq-dialog--background)}.text-\\[--bq-dialog--text-color\\]{color:var(--bq-dialog--text-color)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.shadow-\\[shadow\\:--bq-dialog--box-shadow\\]{--tw-shadow:var(--bq-dialog--box-shadow);--tw-shadow-colored:var(--bq-dialog--box-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-\\[opacity\\]{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.is-\\[90vw\\]{inline-size:90vw}.is-full{inline-size:100%}.p-b-0{padding-block:0}.p-b-\\[--bq-dialog--padding\\]{padding-block:var(--bq-dialog--padding)}.p-be-0{padding-block-end:0}.p-bs-0{padding-block-start:0}.p-i-\\[--bq-dialog--padding\\]{padding-inline:var(--bq-dialog--padding)}.inset-bs-0{inset-block-start:0}.inset-bs-\\[100\\%\\]{inset-block-start:100%}@-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)}}::-ms-backdrop{--bq-dialog--background:var(--bq-ui--primary);--bq-dialog--background-backdrop:var(--bq-grey-900);--bq-dialog--text-color:var(--bq-text--primary);--bq-dialog--box-shadow:var(--bq-box-shadow--l);--bq-dialog--border-color:transparent;--bq-dialog--border-radius:var(--bq-radius--m);--bq-dialog--border-style:none;--bq-dialog--border-width:unset;--bq-dialog--padding:var(--bq-spacing-l);--bq-dialog--content-footer-gap:var(--bq-spacing-l);--bq-dialog--title-body-gap:var(--bq-spacing-s);--bq-dialog--width-small:320px;--bq-dialog--width-medium:480px;--bq-dialog--width-large:640px;--bq-dialog-z-index:10}::backdrop,:host{--bq-dialog--background:var(--bq-ui--primary);--bq-dialog--background-backdrop:var(--bq-grey-900);--bq-dialog--text-color:var(--bq-text--primary);--bq-dialog--box-shadow:var(--bq-box-shadow--l);--bq-dialog--border-color:transparent;--bq-dialog--border-radius:var(--bq-radius--m);--bq-dialog--border-style:none;--bq-dialog--border-width:unset;--bq-dialog--padding:var(--bq-spacing-l);--bq-dialog--content-footer-gap:var(--bq-spacing-l);--bq-dialog--title-body-gap:var(--bq-spacing-s);--bq-dialog--width-small:320px;--bq-dialog--width-medium:480px;--bq-dialog--width-large:640px;--bq-dialog-z-index:10}:host{visibility:hidden!important}:host(.bq-dialog--open){visibility:visible!important}.bq-dialog{--tw-shadow:var(--bq-dialog--box-shadow);--tw-shadow-colored:var(--bq-dialog--box-shadow);background-color:var(--bq-dialog--background);border-color:var(--bq-dialog--border-color);border-radius:var(--bq-dialog--border-radius);border-style:var(--bq-dialog--border-style);border-width:var(--bq-dialog--border-width);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:var(--bq-dialog--text-color);display:flex;flex-direction:column;gap:var(--bq-dialog--content-footer-gap);inline-size:90vw;padding-block:0;padding-inline:0;position:absolute}@media (min-width:640px){.bq-dialog.small{inline-size:var(--bq-dialog--width-small)}.bq-dialog.medium{inline-size:var(--bq-dialog--width-medium)}.bq-dialog.large{inline-size:var(--bq-dialog--width-large)}}.bq-dialog::-ms-backdrop{background-color:var(--bq-dialog--background-backdrop);opacity:0;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-dialog::backdrop{background-color:var(--bq-dialog--background-backdrop);opacity:0;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-dialog[open]::-ms-backdrop{opacity:.6}.bq-dialog[open]::backdrop{opacity:.6}.bq-dialog--header{gap:var(--bq-spacing-m);inset-block-start:0;padding-block:var(--bq-dialog--padding);padding-block-end:0;padding-inline:var(--bq-dialog--padding)}.bq-dialog--footer,.bq-dialog--header{align-items:center;display:flex;position:sticky}.bq-dialog--footer{gap:var(--bq-spacing-xs);inline-size:100%;inset-block-start:100%;justify-content:flex-end;padding-block:var(--bq-dialog--padding);padding-block-start:0;padding-inline:var(--bq-dialog--padding)}.bq-dialog--close{--bq-radius--m:var(--bq-radius--s);--bq-button--small-paddingX:var(--bq-spacing-xs2);--bq-button--small-paddingY:var(--bq-spacing-xs2)}.bq-dialog--close::part(button){border-style:none}@media (min-width:640px){.sm\\:is-\\[--bq-dialog--width-large\\]{inline-size:var(--bq-dialog--width-large)}.sm\\:is-\\[--bq-dialog--width-medium\\]{inline-size:var(--bq-dialog--width-medium)}.sm\\:is-\\[--bq-dialog--width-small\\]{inline-size:var(--bq-dialog--width-small)}}.scale-100,.scale-90{--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))}.static{position:static}.m-auto{margin:auto}.\\!hidden{display:none!important}.hidden{display:none}.flex-1{flex:1 1 0%}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.cursor-pointer{cursor:pointer}.justify-between{justify-content:space-between}.gap-\\[--bq-dialog--title-body-gap\\]{gap:var(--bq-dialog--title-body-gap)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.bg-ui-alt{background-color:var(--bq-ui--alt)}.opacity-100{opacity:1}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\!p-b-s{padding-block:var(--bq-spacing-s)!important}.\\!p-be-\\[--bq-dialog--padding\\]{padding-block-end:var(--bq-dialog--padding)!important}.inset-be-\\[50\\%\\]{inset-block-end:50%}.inset-bs-\\[50\\%\\]{inset-block-start:50%}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.block{display:block}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}";
19
18
  const BqDialogStyle0 = bqDialogCss;
20
19
 
21
20
  const BqDialog = class {
@@ -26,43 +25,6 @@ const BqDialog = class {
26
25
  this.bqOpen = index.createEvent(this, "bqOpen", 7);
27
26
  this.bqAfterOpen = index.createEvent(this, "bqAfterOpen", 7);
28
27
  this.bqAfterClose = index.createEvent(this, "bqAfterClose", 7);
29
- this.OPEN_CSS_CLASS = 'bq-dialog--open';
30
- // Local methods
31
- // Internal business logic.
32
- // These methods cannot be called from the host element.
33
- // =======================================================
34
- this.handleClose = async () => {
35
- if (!this.dialogElem)
36
- return;
37
- await transition.leave(this.dialogElem);
38
- this.dialogElem.close();
39
- // Emit bqAfterClose event after the dialog is closed
40
- this.handleTransitionEnd();
41
- };
42
- this.handleOpen = async () => {
43
- if (!this.dialogElem)
44
- return;
45
- this.el.classList.add(this.OPEN_CSS_CLASS);
46
- // Show the dialog
47
- this.disableBackdrop ? this.dialogElem.show() : this.dialogElem.showModal();
48
- await transition.enter(this.dialogElem);
49
- // Emit bqAfterOpen event after the dialog is opened
50
- this.handleTransitionEnd();
51
- };
52
- this.handleTransitionEnd = () => {
53
- if (this.open) {
54
- this.bqAfterOpen.emit();
55
- return;
56
- }
57
- this.bqAfterClose.emit();
58
- this.el.classList.remove(this.OPEN_CSS_CLASS);
59
- };
60
- this.handleContentSlotChange = () => {
61
- this.hasContent = slot.hasSlotContent(this.contentElem);
62
- };
63
- this.handleFooterSlotChange = () => {
64
- this.hasFooter = slot.hasSlotContent(this.footerElem, 'footer');
65
- };
66
28
  this.hasContent = false;
67
29
  this.hasFooter = false;
68
30
  this.border = 'm';
@@ -74,6 +36,14 @@ const BqDialog = class {
74
36
  this.open = false;
75
37
  this.size = 'medium';
76
38
  }
39
+ // Own Properties
40
+ // ====================
41
+ dialogElem;
42
+ contentElem;
43
+ footerElem;
44
+ closeSlotElem;
45
+ OPEN_CSS_CLASS = 'bq-dialog--open';
46
+ get el() { return index.getElement(this); }
77
47
  // Prop lifecycle events
78
48
  // =======================
79
49
  checkPropValues() {
@@ -87,6 +57,19 @@ const BqDialog = class {
87
57
  }
88
58
  await this.handleClose();
89
59
  }
60
+ // Events section
61
+ // Requires JSDocs for public API documentation
62
+ // ==============================================
63
+ /** Callback handler emitted when the dialog has been canceled or dismissed */
64
+ bqCancel;
65
+ /** Callback handler emitted when the dialog will close */
66
+ bqClose;
67
+ /** Callback handler emitted when the dialog will open */
68
+ bqOpen;
69
+ /** Callback handler emitted when the dialog finish opening */
70
+ bqAfterOpen;
71
+ /** Callback handler emitted when the dialog finish closing */
72
+ bqAfterClose;
90
73
  // Component lifecycle events
91
74
  // Ordered by their natural call order
92
75
  // =====================================
@@ -94,14 +77,12 @@ const BqDialog = class {
94
77
  this.checkPropValues();
95
78
  }
96
79
  componentDidLoad() {
97
- var _a;
98
80
  this.handleOpenChange();
99
81
  this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name="button-close"]');
100
- (_a = this.closeSlotElem) === null || _a === void 0 ? void 0 : _a.addEventListener('click', () => this.hide());
82
+ this.closeSlotElem?.addEventListener('click', () => this.hide());
101
83
  }
102
84
  disconnectedCallback() {
103
- var _a;
104
- (_a = this.closeSlotElem) === null || _a === void 0 ? void 0 : _a.removeEventListener('click', () => this.hide());
85
+ this.closeSlotElem?.removeEventListener('click', () => this.hide());
105
86
  }
106
87
  // Listeners
107
88
  // ==============
@@ -158,6 +139,47 @@ const BqDialog = class {
158
139
  return;
159
140
  this.open = false;
160
141
  }
142
+ // Local methods
143
+ // Internal business logic.
144
+ // These methods cannot be called from the host element.
145
+ // =======================================================
146
+ handleClose = async () => {
147
+ if (!this.dialogElem)
148
+ return;
149
+ await transition.leave(this.dialogElem);
150
+ this.dialogElem.close();
151
+ // Emit bqAfterClose event after the dialog is closed
152
+ this.handleTransitionEnd();
153
+ };
154
+ handleOpen = async () => {
155
+ if (!this.dialogElem)
156
+ return;
157
+ this.el.classList.add(this.OPEN_CSS_CLASS);
158
+ // Show the dialog
159
+ if (this.disableBackdrop) {
160
+ this.dialogElem.show();
161
+ }
162
+ else {
163
+ this.dialogElem.showModal();
164
+ }
165
+ await transition.enter(this.dialogElem);
166
+ // Emit bqAfterOpen event after the dialog is opened
167
+ this.handleTransitionEnd();
168
+ };
169
+ handleTransitionEnd = () => {
170
+ if (this.open) {
171
+ this.bqAfterOpen.emit();
172
+ return;
173
+ }
174
+ this.bqAfterClose.emit();
175
+ this.el.classList.remove(this.OPEN_CSS_CLASS);
176
+ };
177
+ handleContentSlotChange = () => {
178
+ this.hasContent = slot.hasSlotContent(this.contentElem);
179
+ };
180
+ handleFooterSlotChange = () => {
181
+ this.hasFooter = slot.hasSlotContent(this.footerElem, 'footer');
182
+ };
161
183
  // render() function
162
184
  // Always the last one in the class.
163
185
  // ===================================
@@ -165,20 +187,19 @@ const BqDialog = class {
165
187
  const style = {
166
188
  ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),
167
189
  };
168
- return (index.h("dialog", { key: 'df09fe26f0ce303509bfebfe782d9f1fb04edbe2', style: style, class: {
190
+ return (index.h("dialog", { key: 'edad2dfe4c454ead47cdb07da80ebd478dd614a3', style: style, class: {
169
191
  [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,
170
192
  'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,
171
- }, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-90", "data-transition-enter-end": "opacity-100 scale-100", "data-transition-leave": "transition ease-out duration-300", "data-transition-leave-start": "opacity-100 scale-100", "data-transition-leave-end": "opacity-0 scale-90", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), "aria-modal": "true", "aria-labelledby": "bq-dialog--title", part: "dialog" }, index.h("main", { key: '09b21cf360df561fe71043aaef63929d0cd5ad44', class: "flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden", part: "content" }, index.h("header", { key: '53db88116059171b4907c26161401bcdc6c850ca', class: "bq-dialog--header", part: "header" }, index.h("div", { key: '44d69efee09552a1117953ff6e236d2c6cf5dce7', id: "bq-dialog--title", class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, index.h("slot", { key: '793d58011238eba09154c2ce89f9dbefe6e1f9ab', name: "title" })), index.h("slot", { key: 'dfbca1a5f41da3a7065ab8081bb9088bbc1f9e9e', name: "button-close" }, !this.hideCloseButton && (index.h("bq-button", { key: '028151492f895b3aa4d94a0e3d93cedea4fb1ef5', class: "bq-dialog--close", appearance: "text", size: "small" }, index.h("bq-icon", { key: '6b810b7e95c84161fbc4c6c16e6f22ac9d3ab93d', class: "cursor-pointer", name: "x", role: "img", title: "Close" }))))), index.h("div", { key: '8644460bcf2860a42657f2200832808c2a737151', class: {
193
+ }, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-90", "data-transition-enter-end": "opacity-100 scale-100", "data-transition-leave": "transition ease-out duration-300", "data-transition-leave-start": "opacity-100 scale-100", "data-transition-leave-end": "opacity-0 scale-90", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), "aria-modal": "true", "aria-labelledby": "bq-dialog--title", part: "dialog" }, index.h("main", { key: '5d11f5912958d45f17d81ab237d77c57b0c685ec', class: "flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden", part: "content" }, index.h("header", { key: '03ab7b68c9e88dca0bbed1b8b7dd7f566c120ecd', class: "bq-dialog--header", part: "header" }, index.h("div", { key: 'ac3ea44d698d49c9c84bded50da8bf645c6bcaa2', id: "bq-dialog--title", class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, index.h("slot", { key: 'a8d21841e63866c04857d7ed8190bc01fceacb05', name: "title" })), index.h("slot", { key: '546400ba650b3c9afba548102b84ff3795658b53', name: "button-close" }, !this.hideCloseButton && (index.h("bq-button", { key: '9ff628d9f99640b20c0a66e6786d4384a84f0f5f', class: "bq-dialog--close", appearance: "text", size: "small" }, index.h("bq-icon", { key: '6878747b99c6b374d8f08c815b775adeeb69ec31', class: "cursor-pointer", name: "x", role: "img", title: "Close" }))))), index.h("div", { key: '7bbbc85265567a3dde39117fcde33e9f033edfac', class: {
172
194
  '!hidden': !this.hasContent,
173
195
  'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,
174
196
  '!p-be-[--bq-dialog--padding]': !this.hasFooter,
175
- }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, index.h("slot", { key: 'd0c3b1d0c6bca52a21567bd79460ab2ec751f91a', onSlotchange: this.handleContentSlotChange }))), index.h("footer", { key: 'd1326d1060c79d0cea8dcebe2ea9e8c52e9e0a13', class: {
197
+ }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, index.h("slot", { key: '5a7975180540ec3a561e87b08c465389b93eb606', onSlotchange: this.handleContentSlotChange }))), index.h("footer", { key: '74db1f887484331433da0cb054e4b129be933f84', class: {
176
198
  '!hidden': !this.hasFooter,
177
199
  'bq-dialog--footer': this.hasFooter,
178
200
  'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',
179
- }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, index.h("slot", { key: '960e0aa784ca846a53d5588f4a96111ee362a138', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
201
+ }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, index.h("slot", { key: 'ee616e7761a61c69fe7b18c7371b84ee62d083fa', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
180
202
  }
181
- get el() { return index.getElement(this); }
182
203
  static get watchers() { return {
183
204
  "footerAppearance": ["checkPropValues"],
184
205
  "size": ["checkPropValues"],
@@ -1 +1 @@
1
- {"file":"bq-dialog.entry.cjs.js","mappings":"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","names":["leave","enter","hasSlotContent","validatePropValue","h"],"sources":["../../packages/beeq/src/components/dialog/bq-dialog.types.ts","../../packages/beeq/src/components/dialog/scss/bq-dialog.scss?tag=bq-dialog&encapsulation=shadow","../../packages/beeq/src/components/dialog/bq-dialog.tsx"],"sourcesContent":["export const DIALOG_SIZE = ['small', 'medium', 'large'] as const;\nexport type TDialogSize = (typeof DIALOG_SIZE)[number];\n\nexport const DIALOG_FOOTER_APPEARANCE = ['standard', 'highlight'] as const;\nexport type TDialogFooterAppearance = (typeof DIALOG_FOOTER_APPEARANCE)[number];\n\nexport const DIALOG_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TDialogBorderRadius = (typeof DIALOG_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Dialog styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-dialog.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-dialog--open) {\n @apply visible #{!important};\n}\n\n/* --------------------------------- Dialog --------------------------------- */\n\n.bq-dialog {\n @apply absolute flex flex-col gap-[--bq-dialog--content-footer-gap] p-b-0 p-i-0;\n @apply bg-[--bq-dialog--background] text-[--bq-dialog--text-color] shadow-[shadow:--bq-dialog--box-shadow];\n @apply rounded-[--bq-dialog--border-radius] border-[length:--bq-dialog--border-width] border-[color:--bq-dialog--border-color];\n // If mobile resolution, dialog will be full width\n @apply is-[90vw];\n\n border-style: var(--bq-dialog--border-style);\n\n &.small {\n @apply sm:is-[--bq-dialog--width-small];\n }\n\n &.medium {\n @apply sm:is-[--bq-dialog--width-medium];\n }\n\n &.large {\n @apply sm:is-[--bq-dialog--width-large];\n }\n}\n\n/* ----------------------------- Dialog backdrop ---------------------------- */\n\n.bq-dialog::backdrop {\n @apply bg-[--bq-dialog--background-backdrop] opacity-0 transition-[opacity] duration-300 ease-in-out;\n}\n\n.bq-dialog[open]::backdrop {\n @apply opacity-60;\n}\n\n/* ------------------------------ Dialog header ----------------------------- */\n\n.bq-dialog--header {\n @apply sticky flex items-center gap-m inset-bs-0 p-b-[--bq-dialog--padding] p-be-0 p-i-[--bq-dialog--padding];\n}\n\n/* ------------------------------ Dialog footer ----------------------------- */\n\n.bq-dialog--footer {\n @apply sticky flex items-center justify-end gap-xs is-full inset-bs-[100%] p-b-[--bq-dialog--padding] p-bs-0 p-i-[--bq-dialog--padding];\n}\n\n/* --------------------------- Dialog close button -------------------------- */\n\n.bq-dialog--close {\n --bq-radius--m: theme(borderRadius.s);\n --bq-button--small-paddingX: theme(spacing.xs2);\n --bq-button--small-paddingY: theme(spacing.xs2);\n\n &::part(button) {\n @apply border-none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The `<main>` that holds the dialog body content\n * @part button-close - The button that close the dialog on click\n * @part content - The `<div>` container that holds the dialog title and body content\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM\n * @part footer - The `<footer>` that holds footer content\n * @part header - The `<header>` that holds the icon, title, description and close button\n * @part title - The `<div>` that holds the title content\n */\n\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private closeSlotElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Corder radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleOpenChange();\n this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name=\"button-close\"]');\n this.closeSlotElem?.addEventListener('click', () => this.hide());\n }\n\n disconnectedCallback() {\n this.closeSlotElem?.removeEventListener('click', () => this.hide());\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n await leave(this.dialogElem);\n this.dialogElem.close();\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n this.disableBackdrop ? this.dialogElem.show() : this.dialogElem.showModal();\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={{\n [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,\n 'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,\n }}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-90\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-90\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n aria-modal=\"true\"\n aria-labelledby=\"bq-dialog--title\"\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div id=\"bq-dialog--title\" class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,\n '!p-be-[--bq-dialog--padding]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleContentSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-dialog.entry.cjs.js","mappings":"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","names":["validatePropValue","leave","enter","hasSlotContent","h"],"sources":["../../packages/beeq/src/components/dialog/bq-dialog.types.ts","../../packages/beeq/src/components/dialog/scss/bq-dialog.scss?tag=bq-dialog&encapsulation=shadow","../../packages/beeq/src/components/dialog/bq-dialog.tsx"],"sourcesContent":["export const DIALOG_SIZE = ['small', 'medium', 'large'] as const;\nexport type TDialogSize = (typeof DIALOG_SIZE)[number];\n\nexport const DIALOG_FOOTER_APPEARANCE = ['standard', 'highlight'] as const;\nexport type TDialogFooterAppearance = (typeof DIALOG_FOOTER_APPEARANCE)[number];\n\nexport const DIALOG_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TDialogBorderRadius = (typeof DIALOG_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Dialog styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-dialog.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-dialog--open) {\n @apply visible #{!important};\n}\n\n/* --------------------------------- Dialog --------------------------------- */\n\n.bq-dialog {\n @apply absolute flex flex-col gap-[--bq-dialog--content-footer-gap] p-b-0 p-i-0;\n @apply bg-[--bq-dialog--background] text-[--bq-dialog--text-color] shadow-[shadow:--bq-dialog--box-shadow];\n @apply rounded-[--bq-dialog--border-radius] border-[length:--bq-dialog--border-width] border-[color:--bq-dialog--border-color];\n // If mobile resolution, dialog will be full width\n @apply is-[90vw];\n\n border-style: var(--bq-dialog--border-style);\n\n &.small {\n @apply sm:is-[--bq-dialog--width-small];\n }\n\n &.medium {\n @apply sm:is-[--bq-dialog--width-medium];\n }\n\n &.large {\n @apply sm:is-[--bq-dialog--width-large];\n }\n}\n\n/* ----------------------------- Dialog backdrop ---------------------------- */\n\n.bq-dialog::backdrop {\n @apply bg-[--bq-dialog--background-backdrop] opacity-0 transition-[opacity] duration-300 ease-in-out;\n}\n\n.bq-dialog[open]::backdrop {\n @apply opacity-60;\n}\n\n/* ------------------------------ Dialog header ----------------------------- */\n\n.bq-dialog--header {\n @apply sticky flex items-center gap-m inset-bs-0 p-b-[--bq-dialog--padding] p-be-0 p-i-[--bq-dialog--padding];\n}\n\n/* ------------------------------ Dialog footer ----------------------------- */\n\n.bq-dialog--footer {\n @apply sticky flex items-center justify-end gap-xs is-full inset-bs-[100%] p-b-[--bq-dialog--padding] p-bs-0 p-i-[--bq-dialog--padding];\n}\n\n/* --------------------------- Dialog close button -------------------------- */\n\n.bq-dialog--close {\n --bq-radius--m: theme(borderRadius.s);\n --bq-button--small-paddingX: theme(spacing.xs2);\n --bq-button--small-paddingY: theme(spacing.xs2);\n\n &::part(button) {\n @apply border-none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The `<main>` that holds the dialog body content\n * @part button-close - The button that close the dialog on click\n * @part content - The `<div>` container that holds the dialog title and body content\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM\n * @part footer - The `<footer>` that holds footer content\n * @part header - The `<header>` that holds the icon, title, description and close button\n * @part title - The `<div>` that holds the title content\n */\n\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private closeSlotElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Corder radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleOpenChange();\n this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name=\"button-close\"]');\n this.closeSlotElem?.addEventListener('click', () => this.hide());\n }\n\n disconnectedCallback() {\n this.closeSlotElem?.removeEventListener('click', () => this.hide());\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n await leave(this.dialogElem);\n this.dialogElem.close();\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n if (this.disableBackdrop) {\n this.dialogElem.show();\n } else {\n this.dialogElem.showModal();\n }\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={{\n [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,\n 'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,\n }}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-90\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-90\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n aria-modal=\"true\"\n aria-labelledby=\"bq-dialog--title\"\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div id=\"bq-dialog--title\" class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,\n '!p-be-[--bq-dialog--padding]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleContentSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"],"version":3}