@beeq/core 1.3.3 → 1.4.0

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 (309) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/{p-28a9a23d.entry.js → p-02c15c4b.entry.js} +2 -2
  4. package/dist/beeq/{p-2f7137e0.entry.js → p-0628de9f.entry.js} +2 -2
  5. package/dist/beeq/{p-cbca544b.entry.js → p-1a7d3fbe.entry.js} +2 -2
  6. package/dist/beeq/p-299455bd.js +7 -0
  7. package/dist/beeq/p-299455bd.js.map +1 -0
  8. package/dist/beeq/{p-32134085.entry.js → p-3c4fbdd7.entry.js} +2 -2
  9. package/dist/beeq/p-3ddd1c36.entry.js +6 -0
  10. package/dist/beeq/p-3ddd1c36.entry.js.map +1 -0
  11. package/dist/beeq/{p-c14e94e0.entry.js → p-3e4c9374.entry.js} +2 -2
  12. package/dist/beeq/{p-7d3c9c9a.entry.js → p-4ba46a90.entry.js} +2 -2
  13. package/dist/beeq/{p-7d3c9c9a.entry.js.map → p-4ba46a90.entry.js.map} +1 -1
  14. package/dist/beeq/{p-d58a7c27.entry.js → p-54c58ae3.entry.js} +2 -2
  15. package/dist/beeq/{p-ada3ca0a.entry.js → p-5ca47d1e.entry.js} +2 -2
  16. package/dist/beeq/{p-c893951f.entry.js → p-61ada51d.entry.js} +2 -2
  17. package/dist/beeq/{p-6c1ddc44.entry.js → p-64f8af01.entry.js} +2 -2
  18. package/dist/beeq/{p-354f52d1.entry.js → p-68aaabee.entry.js} +2 -2
  19. package/dist/beeq/p-6a9bb294.entry.js +6 -0
  20. package/dist/beeq/p-6a9bb294.entry.js.map +1 -0
  21. package/dist/beeq/{p-ab632829.entry.js → p-741c4780.entry.js} +2 -2
  22. package/dist/beeq/{p-6d5d2460.entry.js → p-7b5e46cb.entry.js} +2 -2
  23. package/dist/beeq/{p-8593ad98.entry.js → p-7bf832f5.entry.js} +2 -2
  24. package/dist/beeq/{p-981797b1.entry.js → p-7fbceff7.entry.js} +2 -2
  25. package/dist/beeq/p-8343145d.entry.js +6 -0
  26. package/dist/beeq/p-8343145d.entry.js.map +1 -0
  27. package/dist/beeq/{p-1f370b12.entry.js → p-8cd96f23.entry.js} +2 -2
  28. package/dist/beeq/{p-e2b64861.entry.js → p-900b24fc.entry.js} +2 -2
  29. package/dist/beeq/{p-1c789890.entry.js → p-93e38159.entry.js} +2 -2
  30. package/dist/beeq/{p-51603d69.entry.js → p-9d4b982c.entry.js} +2 -2
  31. package/dist/beeq/{p-d27ad8a0.entry.js → p-bd15cc60.entry.js} +2 -2
  32. package/dist/beeq/p-c0692037.entry.js +6 -0
  33. package/dist/beeq/p-c0692037.entry.js.map +1 -0
  34. package/dist/beeq/{p-852c54d8.entry.js → p-c09305af.entry.js} +2 -2
  35. package/dist/beeq/{p-81a34a07.entry.js → p-c435eb9d.entry.js} +2 -2
  36. package/dist/beeq/{p-de827971.entry.js → p-c63164ef.entry.js} +2 -2
  37. package/dist/beeq/{p-a30ba2bd.entry.js → p-c6c2ce93.entry.js} +2 -2
  38. package/dist/beeq/{p-bb8f8b78.entry.js → p-c98276b3.entry.js} +2 -2
  39. package/dist/beeq/{p-31472c1f.entry.js → p-d29eef16.entry.js} +2 -2
  40. package/dist/beeq/{p-0af526fc.entry.js → p-d5dcd933.entry.js} +2 -2
  41. package/dist/beeq/p-d871936d.entry.js +6 -0
  42. package/dist/beeq/p-d871936d.entry.js.map +1 -0
  43. package/dist/beeq/{p-0b6e3137.entry.js → p-d969800e.entry.js} +2 -2
  44. package/dist/beeq/{p-e67a6252.entry.js → p-d97d4712.entry.js} +2 -2
  45. package/dist/beeq/{p-d11fafe0.entry.js → p-dafa2581.entry.js} +2 -2
  46. package/dist/beeq/{p-8b57cd5e.entry.js → p-e068ede6.entry.js} +2 -2
  47. package/dist/beeq/{p-42c5530c.entry.js → p-e1162d1c.entry.js} +2 -2
  48. package/dist/beeq/p-e2c645ae.js +6 -0
  49. package/dist/beeq/p-e2c645ae.js.map +1 -0
  50. package/dist/beeq/{p-36eb59f9.entry.js → p-f4b40086.entry.js} +2 -2
  51. package/dist/cjs/app-globals-eca46908.js +1122 -0
  52. package/dist/cjs/app-globals-eca46908.js.map +1 -0
  53. package/dist/cjs/beeq.cjs.js +4 -4
  54. package/dist/cjs/beeq.cjs.js.map +1 -1
  55. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -1
  56. package/dist/cjs/bq-accordion.cjs.entry.js +1 -1
  57. package/dist/cjs/bq-alert.cjs.entry.js +1 -1
  58. package/dist/cjs/bq-avatar.cjs.entry.js +1 -1
  59. package/dist/cjs/bq-badge.cjs.entry.js +1 -1
  60. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +1 -1
  61. package/dist/cjs/bq-breadcrumb.cjs.entry.js +1 -1
  62. package/dist/cjs/bq-button_2.cjs.entry.js +307 -0
  63. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -0
  64. package/dist/cjs/bq-card.cjs.entry.js +1 -1
  65. package/dist/cjs/bq-checkbox.cjs.entry.js +1 -1
  66. package/dist/cjs/bq-date-picker.cjs.entry.js +260 -0
  67. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -0
  68. package/dist/cjs/bq-dialog.cjs.entry.js +4 -4
  69. package/dist/cjs/bq-divider.cjs.entry.js +3 -3
  70. package/dist/cjs/bq-drawer.cjs.entry.js +6 -6
  71. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  72. package/dist/cjs/{bq-panel.cjs.entry.js → bq-dropdown_2.cjs.entry.js} +108 -3
  73. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -0
  74. package/dist/cjs/bq-empty-state.cjs.entry.js +5 -5
  75. package/dist/cjs/bq-input.cjs.entry.js +5 -5
  76. package/dist/cjs/bq-notification.cjs.entry.js +3 -3
  77. package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
  78. package/dist/cjs/{bq-dropdown_3.cjs.entry.js → bq-option-list_2.cjs.entry.js} +6 -111
  79. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -0
  80. package/dist/cjs/bq-option.cjs.entry.js +5 -5
  81. package/dist/cjs/bq-progress.cjs.entry.js +5 -5
  82. package/dist/cjs/bq-radio-group.cjs.entry.js +2 -2
  83. package/dist/cjs/bq-radio.cjs.entry.js +3 -3
  84. package/dist/cjs/bq-select.cjs.entry.js +2 -2
  85. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  86. package/dist/cjs/bq-side-menu-item.cjs.entry.js +1 -1
  87. package/dist/cjs/bq-side-menu.cjs.entry.js +2 -2
  88. package/dist/cjs/bq-slider.cjs.entry.js +2 -2
  89. package/dist/cjs/bq-spinner.cjs.entry.js +5 -5
  90. package/dist/cjs/bq-status.cjs.entry.js +2 -2
  91. package/dist/cjs/bq-step-item.cjs.entry.js +5 -5
  92. package/dist/cjs/bq-steps.cjs.entry.js +2 -2
  93. package/dist/cjs/bq-switch.cjs.entry.js +3 -3
  94. package/dist/cjs/bq-tab-group.cjs.entry.js +2 -2
  95. package/dist/cjs/bq-tab.cjs.entry.js +3 -3
  96. package/dist/cjs/bq-textarea.cjs.entry.js +4 -4
  97. package/dist/cjs/bq-toast.cjs.entry.js +2 -2
  98. package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
  99. package/dist/cjs/{index-d55cdb65.js → index-58b1a597.js} +34 -18
  100. package/dist/cjs/index-58b1a597.js.map +1 -0
  101. package/dist/cjs/loader.cjs.js +3 -3
  102. package/dist/collection/collection-manifest.json +4 -2
  103. package/dist/collection/components/button/scss/bq-button.css +1 -1
  104. package/dist/collection/components/date-picker/__tests__/bq-date-picker.e2e.js +67 -0
  105. package/dist/collection/components/date-picker/__tests__/bq-date-picker.e2e.js.map +1 -0
  106. package/dist/collection/components/date-picker/bq-date-picker.js +920 -0
  107. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -0
  108. package/dist/collection/components/date-picker/bq-date-picker.types.js +6 -0
  109. package/dist/collection/components/date-picker/bq-date-picker.types.js.map +1 -0
  110. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -0
  111. package/dist/collection/components/dialog/bq-dialog.js +3 -3
  112. package/dist/collection/components/divider/bq-divider.js +2 -2
  113. package/dist/collection/components/drawer/bq-drawer.js +4 -4
  114. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  115. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  116. package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
  117. package/dist/collection/components/empty-state/bq-empty-state.js +4 -4
  118. package/dist/collection/components/icon/bq-icon.js +1 -1
  119. package/dist/collection/components/input/bq-input.js +4 -4
  120. package/dist/collection/components/notification/bq-notification.js +2 -2
  121. package/dist/collection/components/option/bq-option.js +4 -4
  122. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  123. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  124. package/dist/collection/components/panel/bq-panel.js +1 -1
  125. package/dist/collection/components/progress/bq-progress.js +4 -4
  126. package/dist/collection/components/radio/bq-radio.js +2 -2
  127. package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
  128. package/dist/collection/components/select/scss/bq-select.css +1 -1
  129. package/dist/collection/components/side-menu/bq-side-menu.js +1 -1
  130. package/dist/collection/components/slider/bq-slider.js +1 -1
  131. package/dist/collection/components/spinner/bq-spinner.js +4 -4
  132. package/dist/collection/components/status/bq-status.js +1 -1
  133. package/dist/collection/components/step-item/bq-step-item.js +4 -4
  134. package/dist/collection/components/steps/bq-steps.js +1 -1
  135. package/dist/collection/components/switch/bq-switch.js +2 -2
  136. package/dist/collection/components/tab/bq-tab.js +2 -2
  137. package/dist/collection/components/tab-group/bq-tab-group.js +1 -1
  138. package/dist/collection/components/tag/bq-tag.js +3 -3
  139. package/dist/collection/components/textarea/bq-textarea.js +3 -3
  140. package/dist/collection/components/toast/bq-toast.js +1 -1
  141. package/dist/collection/components/tooltip/bq-tooltip.js +1 -1
  142. package/dist/{beeq/p-45800965.js → collection/global/scripts/global.js} +2 -2
  143. package/dist/collection/global/scripts/global.js.map +1 -0
  144. package/dist/collection/index.js +0 -3
  145. package/dist/collection/index.js.map +1 -1
  146. package/dist/components/bq-button2.js +1 -1
  147. package/dist/components/bq-button2.js.map +1 -1
  148. package/dist/components/bq-date-picker.d.ts +11 -0
  149. package/dist/components/bq-date-picker.js +333 -0
  150. package/dist/components/bq-date-picker.js.map +1 -0
  151. package/dist/components/bq-dialog.js +3 -3
  152. package/dist/components/bq-divider2.js +2 -2
  153. package/dist/components/bq-drawer.js +5 -5
  154. package/dist/components/bq-drawer.js.map +1 -1
  155. package/dist/components/bq-dropdown2.js +1 -1
  156. package/dist/components/bq-empty-state.js +4 -4
  157. package/dist/components/bq-icon2.js +1 -1
  158. package/dist/components/bq-input.js +4 -4
  159. package/dist/components/bq-notification.js +2 -2
  160. package/dist/components/bq-option-group.js +1 -1
  161. package/dist/components/bq-option-list2.js +1 -1
  162. package/dist/components/bq-option.js +4 -4
  163. package/dist/components/bq-panel2.js +1 -1
  164. package/dist/components/bq-progress.js +4 -4
  165. package/dist/components/bq-radio-group.js +1 -1
  166. package/dist/components/bq-radio.js +2 -2
  167. package/dist/components/bq-select.js +1 -1
  168. package/dist/components/bq-select.js.map +1 -1
  169. package/dist/components/bq-side-menu.js +1 -1
  170. package/dist/components/bq-slider.js +1 -1
  171. package/dist/components/bq-spinner.js +4 -4
  172. package/dist/components/bq-status.js +1 -1
  173. package/dist/components/bq-step-item.js +4 -4
  174. package/dist/components/bq-steps.js +1 -1
  175. package/dist/components/bq-switch.js +2 -2
  176. package/dist/components/bq-tab-group.js +1 -1
  177. package/dist/components/bq-tab.js +2 -2
  178. package/dist/components/bq-tag2.js +3 -3
  179. package/dist/components/bq-textarea.js +3 -3
  180. package/dist/components/bq-toast.js +1 -1
  181. package/dist/components/bq-tooltip2.js +1 -1
  182. package/dist/components/index.d.ts +2 -0
  183. package/dist/components/index.js +1110 -0
  184. package/dist/components/index.js.map +1 -1
  185. package/dist/esm/app-globals-059f0651.js +1120 -0
  186. package/dist/esm/app-globals-059f0651.js.map +1 -0
  187. package/dist/esm/beeq.js +5 -5
  188. package/dist/esm/beeq.js.map +1 -1
  189. package/dist/esm/bq-accordion-group.entry.js +1 -1
  190. package/dist/esm/bq-accordion.entry.js +1 -1
  191. package/dist/esm/bq-alert.entry.js +1 -1
  192. package/dist/esm/bq-avatar.entry.js +1 -1
  193. package/dist/esm/bq-badge.entry.js +1 -1
  194. package/dist/esm/bq-breadcrumb-item.entry.js +1 -1
  195. package/dist/esm/bq-breadcrumb.entry.js +1 -1
  196. package/dist/esm/bq-button_2.entry.js +302 -0
  197. package/dist/esm/bq-button_2.entry.js.map +1 -0
  198. package/dist/esm/bq-card.entry.js +1 -1
  199. package/dist/esm/bq-checkbox.entry.js +1 -1
  200. package/dist/esm/bq-date-picker.entry.js +256 -0
  201. package/dist/esm/bq-date-picker.entry.js.map +1 -0
  202. package/dist/esm/bq-dialog.entry.js +4 -4
  203. package/dist/esm/bq-divider.entry.js +3 -3
  204. package/dist/esm/bq-drawer.entry.js +6 -6
  205. package/dist/esm/bq-drawer.entry.js.map +1 -1
  206. package/dist/esm/{bq-panel.entry.js → bq-dropdown_2.entry.js} +108 -4
  207. package/dist/esm/bq-dropdown_2.entry.js.map +1 -0
  208. package/dist/esm/bq-empty-state.entry.js +5 -5
  209. package/dist/esm/bq-input.entry.js +5 -5
  210. package/dist/esm/bq-notification.entry.js +3 -3
  211. package/dist/esm/bq-option-group.entry.js +2 -2
  212. package/dist/esm/{bq-dropdown_3.entry.js → bq-option-list_2.entry.js} +7 -111
  213. package/dist/esm/bq-option-list_2.entry.js.map +1 -0
  214. package/dist/esm/bq-option.entry.js +5 -5
  215. package/dist/esm/bq-progress.entry.js +5 -5
  216. package/dist/esm/bq-radio-group.entry.js +2 -2
  217. package/dist/esm/bq-radio.entry.js +3 -3
  218. package/dist/esm/bq-select.entry.js +2 -2
  219. package/dist/esm/bq-select.entry.js.map +1 -1
  220. package/dist/esm/bq-side-menu-item.entry.js +1 -1
  221. package/dist/esm/bq-side-menu.entry.js +2 -2
  222. package/dist/esm/bq-slider.entry.js +2 -2
  223. package/dist/esm/bq-spinner.entry.js +5 -5
  224. package/dist/esm/bq-status.entry.js +2 -2
  225. package/dist/esm/bq-step-item.entry.js +5 -5
  226. package/dist/esm/bq-steps.entry.js +2 -2
  227. package/dist/esm/bq-switch.entry.js +3 -3
  228. package/dist/esm/bq-tab-group.entry.js +2 -2
  229. package/dist/esm/bq-tab.entry.js +3 -3
  230. package/dist/esm/bq-textarea.entry.js +4 -4
  231. package/dist/esm/bq-toast.entry.js +2 -2
  232. package/dist/esm/bq-tooltip.entry.js +2 -2
  233. package/dist/esm/{index-d71ec085.js → index-179da433.js} +34 -18
  234. package/dist/esm/index-179da433.js.map +1 -0
  235. package/dist/esm/loader.js +4 -4
  236. package/dist/hydrate/index.js +408 -72
  237. package/dist/stencil.config.js +1 -0
  238. package/dist/stencil.config.js.map +1 -1
  239. package/dist/types/components/date-picker/bq-date-picker.d.ts +188 -0
  240. package/dist/types/components/date-picker/bq-date-picker.types.d.ts +3 -0
  241. package/dist/types/components.d.ts +269 -4
  242. package/dist/types/global/scripts/global.d.ts +13 -0
  243. package/dist/types/index.d.ts +1 -2
  244. package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
  245. package/dist/types/stencil-public-runtime.d.ts +2 -8
  246. package/package.json +14 -4
  247. package/dist/beeq/p-250b8476.entry.js +0 -6
  248. package/dist/beeq/p-250b8476.entry.js.map +0 -1
  249. package/dist/beeq/p-45800965.js.map +0 -1
  250. package/dist/beeq/p-47d89d61.entry.js +0 -6
  251. package/dist/beeq/p-47d89d61.entry.js.map +0 -1
  252. package/dist/beeq/p-70d07837.entry.js +0 -6
  253. package/dist/beeq/p-70d07837.entry.js.map +0 -1
  254. package/dist/beeq/p-ae379467.entry.js +0 -6
  255. package/dist/beeq/p-ae379467.entry.js.map +0 -1
  256. package/dist/beeq/p-d5c5b299.entry.js +0 -6
  257. package/dist/beeq/p-d5c5b299.entry.js.map +0 -1
  258. package/dist/beeq/p-fbd8dd21.js +0 -7
  259. package/dist/beeq/p-fbd8dd21.js.map +0 -1
  260. package/dist/cjs/app-globals-42eaedec.js +0 -11
  261. package/dist/cjs/app-globals-42eaedec.js.map +0 -1
  262. package/dist/cjs/bq-button.cjs.entry.js +0 -135
  263. package/dist/cjs/bq-button.cjs.entry.js.map +0 -1
  264. package/dist/cjs/bq-dropdown_3.cjs.entry.js.map +0 -1
  265. package/dist/cjs/bq-icon.cjs.entry.js +0 -186
  266. package/dist/cjs/bq-icon.cjs.entry.js.map +0 -1
  267. package/dist/cjs/bq-panel.cjs.entry.js.map +0 -1
  268. package/dist/cjs/index-d55cdb65.js.map +0 -1
  269. package/dist/esm/app-globals-7655df21.js +0 -9
  270. package/dist/esm/app-globals-7655df21.js.map +0 -1
  271. package/dist/esm/bq-button.entry.js +0 -131
  272. package/dist/esm/bq-button.entry.js.map +0 -1
  273. package/dist/esm/bq-dropdown_3.entry.js.map +0 -1
  274. package/dist/esm/bq-icon.entry.js +0 -182
  275. package/dist/esm/bq-icon.entry.js.map +0 -1
  276. package/dist/esm/bq-panel.entry.js.map +0 -1
  277. package/dist/esm/index-d71ec085.js.map +0 -1
  278. /package/dist/beeq/{p-28a9a23d.entry.js.map → p-02c15c4b.entry.js.map} +0 -0
  279. /package/dist/beeq/{p-2f7137e0.entry.js.map → p-0628de9f.entry.js.map} +0 -0
  280. /package/dist/beeq/{p-cbca544b.entry.js.map → p-1a7d3fbe.entry.js.map} +0 -0
  281. /package/dist/beeq/{p-32134085.entry.js.map → p-3c4fbdd7.entry.js.map} +0 -0
  282. /package/dist/beeq/{p-c14e94e0.entry.js.map → p-3e4c9374.entry.js.map} +0 -0
  283. /package/dist/beeq/{p-d58a7c27.entry.js.map → p-54c58ae3.entry.js.map} +0 -0
  284. /package/dist/beeq/{p-ada3ca0a.entry.js.map → p-5ca47d1e.entry.js.map} +0 -0
  285. /package/dist/beeq/{p-c893951f.entry.js.map → p-61ada51d.entry.js.map} +0 -0
  286. /package/dist/beeq/{p-6c1ddc44.entry.js.map → p-64f8af01.entry.js.map} +0 -0
  287. /package/dist/beeq/{p-354f52d1.entry.js.map → p-68aaabee.entry.js.map} +0 -0
  288. /package/dist/beeq/{p-ab632829.entry.js.map → p-741c4780.entry.js.map} +0 -0
  289. /package/dist/beeq/{p-6d5d2460.entry.js.map → p-7b5e46cb.entry.js.map} +0 -0
  290. /package/dist/beeq/{p-8593ad98.entry.js.map → p-7bf832f5.entry.js.map} +0 -0
  291. /package/dist/beeq/{p-981797b1.entry.js.map → p-7fbceff7.entry.js.map} +0 -0
  292. /package/dist/beeq/{p-1f370b12.entry.js.map → p-8cd96f23.entry.js.map} +0 -0
  293. /package/dist/beeq/{p-e2b64861.entry.js.map → p-900b24fc.entry.js.map} +0 -0
  294. /package/dist/beeq/{p-1c789890.entry.js.map → p-93e38159.entry.js.map} +0 -0
  295. /package/dist/beeq/{p-51603d69.entry.js.map → p-9d4b982c.entry.js.map} +0 -0
  296. /package/dist/beeq/{p-d27ad8a0.entry.js.map → p-bd15cc60.entry.js.map} +0 -0
  297. /package/dist/beeq/{p-852c54d8.entry.js.map → p-c09305af.entry.js.map} +0 -0
  298. /package/dist/beeq/{p-81a34a07.entry.js.map → p-c435eb9d.entry.js.map} +0 -0
  299. /package/dist/beeq/{p-de827971.entry.js.map → p-c63164ef.entry.js.map} +0 -0
  300. /package/dist/beeq/{p-a30ba2bd.entry.js.map → p-c6c2ce93.entry.js.map} +0 -0
  301. /package/dist/beeq/{p-bb8f8b78.entry.js.map → p-c98276b3.entry.js.map} +0 -0
  302. /package/dist/beeq/{p-31472c1f.entry.js.map → p-d29eef16.entry.js.map} +0 -0
  303. /package/dist/beeq/{p-0af526fc.entry.js.map → p-d5dcd933.entry.js.map} +0 -0
  304. /package/dist/beeq/{p-0b6e3137.entry.js.map → p-d969800e.entry.js.map} +0 -0
  305. /package/dist/beeq/{p-e67a6252.entry.js.map → p-d97d4712.entry.js.map} +0 -0
  306. /package/dist/beeq/{p-d11fafe0.entry.js.map → p-dafa2581.entry.js.map} +0 -0
  307. /package/dist/beeq/{p-8b57cd5e.entry.js.map → p-e068ede6.entry.js.map} +0 -0
  308. /package/dist/beeq/{p-42c5530c.entry.js.map → p-e1162d1c.entry.js.map} +0 -0
  309. /package/dist/beeq/{p-36eb59f9.entry.js.map → p-f4b40086.entry.js.map} +0 -0
@@ -0,0 +1,256 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-179da433.js';
6
+ import './assetsPath-4b5ef75f.js';
7
+ import { i as isDefined } from './isDefined-4f676ecc.js';
8
+ import { i as isHTMLElement } from './isHTMLElement-0271eefe.js';
9
+ import { v as validatePropValue } from './props-3bf7f546.js';
10
+ import { b as hasSlotContent } from './slot-179d109d.js';
11
+ import './isString-9820a2b7.js';
12
+
13
+ const DATE_PICKER_TYPE = ['single', 'multi', 'range'];
14
+
15
+ const bqDatePickerCss = "::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}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:\"Poppins\",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.pointer-events-none{pointer-events:none}.m-0{margin:0}.mb-\\[--bq-date-picker--label-margin-bottom\\]{margin-bottom:var(--bq-date-picker--label-margin-bottom)}.me-\\[--bq-date-picker--gap\\]{margin-inline-end:var(--bq-date-picker--gap)}.ms-\\[--bq-date-picker--gap\\]{margin-inline-start:var(--bq-date-picker--gap)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.size-\\[--bq-date-picker--day-size\\]{height:var(--bq-date-picker--day-size);width:var(--bq-date-picker--day-size)}.h-auto{height:auto}.min-h-\\[--bq-date-picker--icon-size\\]{min-height:var(--bq-date-picker--icon-size)}.w-full{width:100%}.min-w-\\[0\\]{min-width:0}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.select-none{user-select:none}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\\[--bq-date-picker--gap\\]{gap:var(--bq-date-picker--gap)}.gap-s{gap:var(--bq-spacing-s)}.rounded-\\[--bq-date-picker--border-radius\\]{border-radius:var(--bq-date-picker--border-radius)}.rounded-none{border-radius:var(--bq-radius--none)}.rounded-s{border-radius:var(--bq-radius--s)}.rounded-xs{border-radius:var(--bq-radius--xs)}.rounded-ee-none{border-end-end-radius:var(--bq-radius--none)}.rounded-es-none{border-end-start-radius:var(--bq-radius--none)}.rounded-se-none{border-start-end-radius:var(--bq-radius--none)}.rounded-ss-none{border-start-start-radius:var(--bq-radius--none)}.border-0{border-width:0}.border-\\[length\\:--bq-date-picker--border-width\\]{border-width:var(--bq-date-picker--border-width)}.border-\\[length\\:--bq-date-picker--currentDate-border-width\\]{border-width:var(--bq-date-picker--currentDate-border-width)}.border-none{border-style:none}.border-\\[color\\:--bq-date-picker--border-color\\]{border-color:var(--bq-date-picker--border-color)}.border-\\[color\\:--bq-date-picker--currentDate-border-color\\]{border-color:var(--bq-date-picker--currentDate-border-color)}.border-\\[color\\:--bq-focus\\]{border-color:var(--bq-focus)}.border-stroke-danger{border-color:var(--bq-stroke--danger)}.border-stroke-success{border-color:var(--bq-stroke--success)}.border-stroke-warning{border-color:var(--bq-stroke--warning)}.bg-\\[--bq-date-picker--background-color\\]{background-color:var(--bq-date-picker--background-color)}.bg-\\[--bq-date-picker--range-background-color\\]{background-color:var(--bq-date-picker--range-background-color)}.bg-\\[inherit\\]{background-color:inherit}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-xs2{padding:var(--bq-spacing-xs2)}.px-xs{padding-left:var(--bq-spacing-xs);padding-right:var(--bq-spacing-xs)}.py-\\[--bq-date-picker--paddingY\\]{padding-bottom:var(--bq-date-picker--paddingY);padding-top:var(--bq-date-picker--paddingY)}.py-xs2{padding-bottom:var(--bq-spacing-xs2);padding-top:var(--bq-spacing-xs2)}.pe-\\[--bq-date-picker--padding-end\\]{padding-inline-end:var(--bq-date-picker--padding-end)}.ps-\\[--bq-date-picker--padding-start\\]{padding-inline-start:var(--bq-date-picker--padding-start)}.font-\\[inherit\\]{font-family:inherit}.font-default{font-family:var(--bq-font-family)}.text-\\[length\\:--bq-date-picker--label-text-size\\]{font-size:var(--bq-date-picker--label-text-size)}.text-\\[length\\:--bq-date-picker--text-size\\]{font-size:var(--bq-date-picker--text-size)}.text-\\[length\\:inherit\\]{font-size:inherit}.text-\\[--bq-text--secondary\\]{color:var(--bq-text--secondary)}.text-\\[color\\:--bq-date-picker--currentDate-text-color\\]{color:var(--bq-date-picker--currentDate-text-color)}.text-\\[color\\:--bq-date-picker--label-text-color\\]{color:var(--bq-date-picker--label-text-color)}.text-\\[color\\:--bq-date-picker--text-color\\]{color:var(--bq-date-picker--text-color)}.text-\\[color\\:inherit\\]{color:inherit}.text-\\[color\\:var\\(--bq-text--alt\\)\\]{color:var(--bq-text--alt)}.text-text-primary{color:var(--bq-text--primary)}.opacity-100{opacity:1}.opacity-60{opacity:.6}.transition-\\[border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.border-active-stroke-danger{border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.border-active-stroke-success{border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.border-active-stroke-warning{border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-date-picker--background-color:var(--bq-ui--primary);--bq-date-picker--border-color:var(--bq-stroke--tertiary);--bq-date-picker--border-radius:var(--bq-radius--s);--bq-date-picker--border-width:1px;--bq-date-picker--currentDate-border-width:2px;--bq-date-picker--border-style:solid;--bq-date-picker--gap:var(--bq-spacing-xs);--bq-date-picker--icon-size:24px;--bq-date-picker--label-margin-bottom:var(--bq-spacing-xs);--bq-date-picker--label-text-size:var(--bq-font-size--s);--bq-date-picker--label-text-color:var(--bq-text--primary);--bq-date-picker--currentDate-text-color:var(--bq-text--brand);--bq-date-picker--padding-start:var(--bq-spacing-m);--bq-date-picker--padding-end:var(--bq-spacing-m);--bq-date-picker--paddingY:var(--bq-spacing-s);--bq-date-picker--day-size:var(--bq-spacing-xl);--bq-date-picker--text-color:var(--bq-text--primary);--bq-date-picker--text-size:var(--bq-font-size--m);--bq-date-picker--text-placeholder-color:var(--bq-text--secondary);--bq-date-picker--range-background-color:var(--bq-ui--brand);--bq-date-picker--currentDate-border-color:var(--bq-stroke--brand);display:block;width:100%}.bq-date-picker__label{align-items:center;color:var(--bq-date-picker--label-text-color);display:flex;flex-grow:1;font-size:var(--bq-date-picker--label-text-size);gap:var(--bq-date-picker--gap);margin-bottom:var(--bq-date-picker--label-margin-bottom)}.bq-date-picker__control{align-items:center;border-color:var(--bq-date-picker--border-color);border-radius:var(--bq-date-picker--border-radius);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--border-width);color:var(--bq-date-picker--text-color);display:flex;font-size:var(--bq-date-picker--text-size);padding-bottom:var(--bq-date-picker--paddingY);padding-inline-end:var(--bq-date-picker--padding-end);padding-top:var(--bq-date-picker--paddingY);padding-inline-start:var(--bq-date-picker--padding-start);transition-duration:.15s;transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none;width:100%}.bq-date-picker__control::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.bq-date-picker__control:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.bq-date-picker__control:not(.disabled):focus-within{--bq-ring-width:1px;--bq-ring-offset-width:0;border-color:var(--bq-focus);outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-date-picker__control:not(.disabled):focus-within .bq-date-picker__control--clear,.bq-date-picker__control:not(.disabled):hover .bq-date-picker__control--clear{display:inline-block}.bq-date-picker__control.disabled{cursor:not-allowed;opacity:.6}.bq-date-picker__control.validation-error{border-color:var(--bq-stroke--danger)}.bq-date-picker__control.validation-error:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-hover) 20%)}.bq-date-picker__control.validation-error:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--danger);border-color:color-mix(in srgb,var(--bq-stroke--danger),var(--bq-active) 20%)}.bq-date-picker__control.validation-success{border-color:var(--bq-stroke--success)}.bq-date-picker__control.validation-success:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-hover) 20%)}.bq-date-picker__control.validation-success:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--success);border-color:color-mix(in srgb,var(--bq-stroke--success),var(--bq-active) 20%)}.bq-date-picker__control.validation-warning{border-color:var(--bq-stroke--warning)}.bq-date-picker__control.validation-warning:hover:not(.disabled):not(:focus-within){border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-hover) 20%)}.bq-date-picker__control.validation-warning:not(.disabled):focus-within{--bq-ring-color-focus:var(--bq-stroke--warning);border-color:color-mix(in srgb,var(--bq-stroke--warning),var(--bq-active) 20%)}.bq-date-picker__control--input{appearance:none;background-color:inherit;border-style:none;color:inherit;cursor:inherit;flex:1 1 auto;font-family:inherit;font-size:inherit;margin:0;min-height:var(--bq-date-picker--icon-size);min-width:0;padding:0;user-select:none}.bq-date-picker__control--input:focus{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--input:focus-visible{outline:2px solid transparent;outline-offset:2px}.bq-date-picker__control--clear::part(button){--bq-ring-width:initial;--bq-ring-offset-width:initial;--bq-ring-color-focus:initial;border-radius:var(--bq-radius--xs);border-style:none;height:auto;padding:0}.bq-date-picker__control--prefix,.bq-date-picker__control--suffix{align-items:center;color:var(--bq-date-picker--text-color);display:flex;pointer-events:none}.bq-date-picker__control--prefix{margin-inline-end:var(--bq-date-picker--gap)}.bq-date-picker__control--suffix{margin-inline-start:var(--bq-date-picker--gap)}::slotted(bq-icon),bq-icon{--bq-icon--size:var(--bq-date-picker--icon-size)!important}calendar-date::part(header),calendar-multi::part(header),calendar-range::part(header){gap:var(--bq-spacing-s);justify-content:center}calendar-date::part(heading),calendar-multi::part(heading),calendar-range::part(heading){padding:var(--bq-spacing-xs2) var(--bq-spacing-xs)}calendar-date::part(button),calendar-multi::part(button),calendar-range::part(button){background-color:transparent;border-radius:var(--bq-radius--s);border-width:0;padding:var(--bq-spacing-xs2);transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}calendar-date::part(button):focus-visible,calendar-multi::part(button):focus-visible,calendar-range::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-date::part(button):hover,calendar-multi::part(button):hover,calendar-range::part(button):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}calendar-date::part(container),calendar-multi::part(container),calendar-range::part(container){background-color:var(--bq-date-picker--background-color);padding:0}calendar-month{--color-accent:var(--bq-ui--brand)}calendar-month::part(button){align-items:center;background-color:transparent;border-radius:var(--bq-radius--s);color:var(--bq-text--primary);display:flex;font-family:var(--bq-font-family);height:var(--bq-date-picker--day-size);justify-content:center;padding:0;transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-date-picker--day-size)}calendar-month::part(button):focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}calendar-month::part(button):hover{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}calendar-month::part(button day selected){background-color:var(--bq-date-picker--range-background-color)}calendar-month::part(button day selected):hover{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}calendar-month::part(outside){color:var(--bq-text--secondary);opacity:1}calendar-month::part(selected){border-radius:var(--bq-radius--s);color:var(--bq-text--alt)}calendar-month::part(range-inner){border-radius:var(--bq-radius--none)}calendar-month::part(today){border-color:var(--bq-date-picker--currentDate-border-color);border-radius:var(--bq-radius--s);border-style:var(--bq-date-picker--border-style);border-width:var(--bq-date-picker--currentDate-border-width);color:var(--bq-date-picker--currentDate-text-color)}calendar-month::part(today selected){color:var(--bq-text--alt)}calendar-month::part(today range-inner){border-radius:var(--bq-radius--none)}calendar-month::part(today range-start){border-end-start-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(today range-end){border-end-end-radius:var(--bq-radius--none);border-radius:var(--bq-radius--s)}calendar-month::part(range-start){border-end-end-radius:var(--bq-radius--none);border-start-end-radius:var(--bq-radius--none)}calendar-month::part(range-end){border-end-start-radius:var(--bq-radius--none);border-start-start-radius:var(--bq-radius--none)}calendar-month::part(range-start range-end){border-radius:var(--bq-radius--s)}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.placeholder\\:text-\\[color\\:--bq-date-picker--text-placeholder-color\\]::placeholder{color:var(--bq-date-picker--text-placeholder-color)}.hover\\:bg-hover-bg-secondary:hover{background-color:color-mix(in srgb,var(--bq-background--secondary),var(--bq-hover) 20%)}.hover\\:bg-hover-ui-brand:hover{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.hover\\:bg-hover-ui-primary:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.table{display:table}.grid{display:grid}.\\!hidden{display:none!important}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.gap-\\[--bq-spacing-m\\]{gap:var(--bq-spacing-m)}@media (min-width:640px){.sm\\:block{display:block}}.\\[\\&\\:\\:part\\(panel\\)\\]\\:w-auto::part(panel){width:auto}.\\[\\&\\:\\:part\\(panel\\)\\]\\:p-m::part(panel){padding:var(--bq-spacing-m)}.h-\\[var\\(--bq-icon--size\\)\\]{height:var(--bq-icon--size)}.w-\\[var\\(--bq-icon--size\\)\\]{width:var(--bq-icon--size)}.text-\\[color\\:var\\(--bq-icon--color\\)\\]{color:var(--bq-icon--color)}.relative{position:relative}.border{border-width:1px}";
16
+ const BqDatePickerStyle0 = bqDatePickerCss;
17
+
18
+ const BqDatePicker = class {
19
+ constructor(hostRef) {
20
+ registerInstance(this, hostRef);
21
+ this.bqBlur = createEvent(this, "bqBlur", 7);
22
+ this.bqChange = createEvent(this, "bqChange", 7);
23
+ this.bqClear = createEvent(this, "bqClear", 7);
24
+ this.bqFocus = createEvent(this, "bqFocus", 7);
25
+ this.fallbackInputId = 'date-picker';
26
+ // Export parts of the calendar-month component
27
+ this.COMMON_EXPORT_PARTS = 'heading,table,tr,head,week,th,td';
28
+ this.BUTTON_EXPORT_PARTS = 'button,day,selected,today,disallowed,outside,range-start,range-end,range-inner';
29
+ // Local methods
30
+ // Internal business logic.
31
+ // These methods cannot be called from the host element.
32
+ // =======================================================
33
+ this.handleBlur = () => {
34
+ if (this.disabled)
35
+ return;
36
+ this.bqBlur.emit(this.el);
37
+ };
38
+ this.handleFocus = () => {
39
+ if (this.disabled)
40
+ return;
41
+ this.bqFocus.emit(this.el);
42
+ };
43
+ this.handleChange = (ev) => {
44
+ if (this.disabled)
45
+ return;
46
+ if (!isHTMLElement(ev.target, 'input'))
47
+ return;
48
+ const dateValue = new Date(ev.target.value);
49
+ if (!isNaN(dateValue.getTime())) {
50
+ // We need to force the value to respect the format: yyyy-mm-dd, hence the hardcoded locale
51
+ this.value = dateValue.toLocaleDateString('fr-CA');
52
+ this.formattedDate = this.formatDate(this.value);
53
+ this.bqChange.emit({ value: this.value, el: this.el });
54
+ }
55
+ };
56
+ this.handleCalendarChange = (ev) => {
57
+ const { value } = ev.target;
58
+ this.value = value;
59
+ this.formattedDate = this.formatDate(this.value);
60
+ this.inputElem.value = this.formattedDate;
61
+ this.inputElem.focus();
62
+ this.bqChange.emit({ value: this.value, el: this.el });
63
+ this.open = this.type === 'multi';
64
+ };
65
+ this.handleClearClick = (ev) => {
66
+ if (this.disabled)
67
+ return;
68
+ this.inputElem.value = '';
69
+ this.value = this.inputElem.value;
70
+ this.bqClear.emit(this.el);
71
+ this.bqChange.emit({ value: this.value, el: this.el });
72
+ this.inputElem.focus();
73
+ ev.stopPropagation();
74
+ };
75
+ this.handleLabelSlotChange = () => {
76
+ this.hasLabel = hasSlotContent(this.labelElem);
77
+ };
78
+ this.handlePrefixSlotChange = () => {
79
+ this.hasPrefix = hasSlotContent(this.prefixElem);
80
+ };
81
+ this.handleSuffixSlotChange = () => {
82
+ this.hasSuffix = hasSlotContent(this.suffixElem);
83
+ };
84
+ this.generateCalendarMonth = (offset, className = '') => {
85
+ return (h("calendar-month", { offset: offset, class: className, exportparts: `${this.COMMON_EXPORT_PARTS},${this.BUTTON_EXPORT_PARTS}` }));
86
+ };
87
+ /**
88
+ * Generates an array of JSX.Element representing calendar months.
89
+ *
90
+ * If the type of the date picker is 'range' or 'multi' and the number of months is specified,
91
+ * it generates an array of calendar months with the specified length. Each month will have an offset
92
+ * and a class name based on its position in the array. The offset is used to determine the month to display,
93
+ * and the class name is used for responsive design.
94
+ *
95
+ * If the type of the date picker is not 'range' or 'multi', or if the number of months is not specified,
96
+ * it generates an array with a single calendar month.
97
+ *
98
+ * @returns {JSX.Element[]} An array of JSX.Element representing calendar months.
99
+ */
100
+ this.generateCalendarMonths = () => {
101
+ if (this.type === 'range' || (this.type === 'multi' && this.months)) {
102
+ return Array.from({ length: this.months }, (_, i) => {
103
+ const offset = i > 0 ? i : undefined;
104
+ const className = offset ? 'hidden sm:block' : '';
105
+ return this.generateCalendarMonth(offset, className);
106
+ });
107
+ }
108
+ return [this.generateCalendarMonth()];
109
+ };
110
+ /**
111
+ * Extracts and returns the first date part from a given string.
112
+ * When the type of the date picker is 'range' or 'multi', the first or initial date part of the value
113
+ * should be the focused date in the calendar.
114
+ *
115
+ * @param value - The value to be processed, can be a string.
116
+ * @returns The extracted last date portion of the value.
117
+ */
118
+ this.focusedDate = (value) => {
119
+ if (!value)
120
+ return;
121
+ const dateRegex = /\b\d{4}-\d{2}-\d{2}\b/;
122
+ const match = dateRegex.exec(value);
123
+ return match ? match[0] : null;
124
+ };
125
+ this.formatDate = (value) => {
126
+ if (!value)
127
+ return;
128
+ const dateFormatter = new Intl.DateTimeFormat(this.locale, this.formatOptions);
129
+ if (this.type === 'range') {
130
+ const [start, end] = value.split('/').map((dateStr) => new Date(dateStr));
131
+ return dateFormatter.formatRange(start, end);
132
+ }
133
+ if (this.type === 'multi') {
134
+ const dates = value.split(' ').map((dateStr) => new Date(dateStr));
135
+ return dates.map((date) => dateFormatter.format(date)).join(', ');
136
+ }
137
+ return dateFormatter.format(new Date(value));
138
+ };
139
+ this.formattedDate = undefined;
140
+ this.hasLabel = false;
141
+ this.hasPrefix = false;
142
+ this.hasSuffix = false;
143
+ this.hasValue = false;
144
+ this.autofocus = undefined;
145
+ this.clearButtonLabel = 'Clear value';
146
+ this.disableClear = false;
147
+ this.disabled = false;
148
+ this.distance = 8;
149
+ this.firstDayOfWeek = 1;
150
+ this.formatOptions = {
151
+ day: 'numeric',
152
+ month: 'short',
153
+ year: 'numeric',
154
+ };
155
+ this.form = undefined;
156
+ this.isDateDisallowed = undefined;
157
+ this.locale = 'en-GB';
158
+ this.max = undefined;
159
+ this.min = undefined;
160
+ this.months = undefined;
161
+ this.monthsPerView = 1;
162
+ this.name = undefined;
163
+ this.open = false;
164
+ this.panelHeight = 'auto';
165
+ this.placeholder = undefined;
166
+ this.placement = 'bottom-end';
167
+ this.required = undefined;
168
+ this.skidding = 0;
169
+ this.showOutsideDays = false;
170
+ this.strategy = 'fixed';
171
+ this.type = 'single';
172
+ this.validationStatus = 'none';
173
+ this.value = undefined;
174
+ }
175
+ // Prop lifecycle events
176
+ // =======================
177
+ handleValueChange() {
178
+ if (Array.isArray(this.value)) {
179
+ this.hasValue = this.value.some((val) => val.length > 0);
180
+ return;
181
+ }
182
+ this.formattedDate = this.formatDate(this.value);
183
+ this.hasValue = isDefined(this.value);
184
+ }
185
+ checkPropValues() {
186
+ validatePropValue(DATE_PICKER_TYPE, 'single', this.el, 'type');
187
+ }
188
+ // Component lifecycle events
189
+ // Ordered by their natural call order
190
+ // =====================================
191
+ componentDidLoad() {
192
+ this.handleValueChange();
193
+ }
194
+ // Listeners
195
+ // ==============
196
+ handleOpenChange(ev) {
197
+ if (!ev.composedPath().includes(this.el))
198
+ return;
199
+ this.open = ev.detail.open;
200
+ }
201
+ // Public methods API
202
+ // These methods are exposed on the host element.
203
+ // Always use two lines.
204
+ // Public Methods must be async.
205
+ // Requires JSDocs for public API documentation.
206
+ // ===============================================
207
+ /**
208
+ * Clears the selected value.
209
+ *
210
+ * @return {Promise<void>}
211
+ * @memberof BqInput
212
+ */
213
+ async clear() {
214
+ if (this.disabled)
215
+ return;
216
+ this.value = undefined;
217
+ this.bqClear.emit(this.el);
218
+ }
219
+ get CalendarType() {
220
+ const componentTypes = {
221
+ single: 'calendar-date',
222
+ multi: 'calendar-multi',
223
+ range: 'calendar-range',
224
+ };
225
+ // Return the corresponding component type, based on the type prop value
226
+ return componentTypes[this.type] || componentTypes.single;
227
+ }
228
+ // render() function
229
+ // Always the last one in the class.
230
+ // ===================================
231
+ render() {
232
+ const CallyCalendar = this.CalendarType;
233
+ const labelId = `bq-date-picker__label-${this.name || this.fallbackInputId}`;
234
+ return (h("div", { key: 'df35ce5297fda3dc59c88f2e3c6a06e81d7dfb85', class: "bq-date-picker", part: "base" }, h("label", { key: '0ceb3db82238ef54d193d7e1a62e14af837d8e8c', id: labelId, class: { 'bq-date-picker__label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, ref: (labelElem) => (this.labelElem = labelElem), part: "label" }, h("slot", { key: '05a62c89da28bfc958d606931af4a02c558e1a60', name: "label", onSlotchange: this.handleLabelSlotChange })), h("bq-dropdown", { key: 'c031406764fcb7d053fba4cd94bc86dc133fc05f', class: "bq-date-picker__dropdown w-full [&::part(panel)]:w-auto [&::part(panel)]:p-m", disabled: this.disabled, distance: this.distance, open: this.open, panelHeight: this.panelHeight, placement: this.placement, skidding: this.skidding, strategy: this.strategy, exportparts: "panel" }, h("div", { key: 'bc5f93af9af5314ce6e6f7a74c929be12b974d5b', class: {
235
+ 'bq-date-picker__control': true,
236
+ [`validation-${this.validationStatus}`]: true,
237
+ disabled: this.disabled,
238
+ }, part: "control", slot: "trigger" }, h("span", { key: '8b74505e49ba28441c53dfdc259d6e6836a0337e', class: { 'bq-date-picker__control--prefix': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: '1d088c73628b00f492765e6f712d817c7e6218dc', name: "prefix", onSlotchange: this.handlePrefixSlotChange })), h("input", { key: 'aa4c4adcb892a6378664739d583cde9d395fcd9c', id: this.name || this.fallbackInputId, class: "bq-date-picker__control--input", autoComplete: "off", autoCapitalize: "off", autoFocus: this.autofocus, "aria-disabled": this.disabled ? 'true' : 'false', "aria-controls": `${this.name}`, "aria-haspopup": "dialog", disabled: this.disabled, form: this.form, name: this.name, placeholder: this.placeholder, readonly: this.type !== 'single', ref: (inputElem) => (this.inputElem = inputElem), required: this.required, spellcheck: false, type: "text", value: this.formattedDate, part: "input",
239
+ // Events
240
+ onBlur: this.handleBlur, onFocus: this.handleFocus, onChange: this.handleChange }), this.hasValue && !this.disabled && !this.disableClear && (
241
+ // The clear button will be visible as long as the input has a value
242
+ // and the parent group is hovered or has focus-within
243
+ h("bq-button", { key: 'ba2b203dac9f3cdbbbf3261de22f9dd200774532', class: "bq-date-picker__control--clear ms-[--bq-date-picker--gap] hidden", appearance: "text", "aria-label": this.clearButtonLabel, size: "small", onBqClick: this.handleClearClick, part: "clear-btn", exportparts: "button" }, h("slot", { key: '6fa6b03d2ef5c9d047d8fae4dffec6c5936471a6', name: "clear-icon" }, h("bq-icon", { key: 'be4d9fcddcdf44dcc12b6dc877ca550a2d6d1ac1', weight: "bold", name: "x-circle", class: "flex" })))), h("span", { key: 'e39ea85dd0552d8bf2ef5e09c1ca739b71a08574', class: "bq-date-picker__control--suffix", ref: (spanElem) => (this.suffixElem = spanElem), part: "suffix" }, h("slot", { key: '2df089de0d33a4792de1e5747601cc68ca54bbd1', name: "suffix", onSlotchange: this.handleSuffixSlotChange }, h("bq-icon", { key: 'e5f8639ef10ab86af5489e9bc7596d4094362bf5', name: "calendar-blank", weight: "bold", class: "flex" })))), h("div", { key: '0b1d96b7b24a684367b520a6c27d97cbf420449c', class: "flex items-center justify-center" }, h(CallyCalendar, { key: 'c8f9c078979af83eca9c000feead81f93bc9f9df', isDateDisallowed: this.isDateDisallowed, locale: this.locale, value: this.value, min: this.min, max: this.max, months: this.monthsPerView, focusedDate: this.focusedDate(this.value), firstDayOfWeek: this.firstDayOfWeek, showOutsideDays: this.showOutsideDays, onChange: this.handleCalendarChange, exportparts: "container,header,button,previous,next,disabled,heading" }, h("bq-icon", { key: '71b97efbf26c6a9fa9da15c6f953c6eb53dd11aa', color: "text--primary", slot: "previous", name: "caret-left", label: "Previous" }), h("bq-icon", { key: '8b5864fd18af8b6fda8be4422257903dfc34d978', color: "text--primary", slot: "next", name: "caret-right", label: "Next" }), h("div", { key: '7b3ec9daef1d3efce65ed73aa4274637c44df062', class: "flex flex-wrap justify-center gap-[--bq-spacing-m]" }, this.generateCalendarMonths()))))));
244
+ }
245
+ static get delegatesFocus() { return true; }
246
+ get el() { return getElement(this); }
247
+ static get watchers() { return {
248
+ "value": ["handleValueChange"],
249
+ "type": ["checkPropValues"]
250
+ }; }
251
+ };
252
+ BqDatePicker.style = BqDatePickerStyle0;
253
+
254
+ export { BqDatePicker as bq_date_picker };
255
+
256
+ //# sourceMappingURL=bq-date-picker.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"bq-date-picker.entry.js","mappings":";;;;;;;;;;;;AAEO,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAU;;ACFrE,MAAM,eAAe,GAAG,kkjCAAkkjC,CAAC;AAC3ljC,2BAAe,eAAe;;MCmDjB,YAAY;;;;;;;QASf,oBAAe,GAAG,aAAa,CAAC;;QAGvB,wBAAmB,GAAG,kCAAkC,CAAC;QACzD,wBAAmB,GAClC,gFAAgF,CAAC;;;;;QA0M3E,eAAU,GAAG;YACnB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B,CAAC;QAEM,gBAAW,GAAG;YACpB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC;QAEM,iBAAY,GAAG,CAAC,EAAS;YAC/B,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;gBAAE,OAAO;YAE/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE;;gBAE/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aACxD;SACF,CAAC;QAEM,yBAAoB,GAAG,CAAC,EAAS;YACvC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAsC,CAAC;YAE5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;SACnC,CAAC;QAEM,qBAAgB,GAAG,CAAC,EAAe;YACzC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAEvB,EAAE,CAAC,eAAe,EAAE,CAAC;SACtB,CAAC;QAEM,0BAAqB,GAAG;YAC9B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChD,CAAC;QAEM,2BAAsB,GAAG;YAC/B,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClD,CAAC;QAEM,2BAAsB,GAAG;YAC/B,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClD,CAAC;QAEM,0BAAqB,GAAG,CAAC,MAAe,EAAE,SAAS,GAAG,EAAE;YAC9D,QACE,sBACE,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,EAAE,GACtE,EACF;SACH,CAAC;;;;;;;;;;;;;;QAeM,2BAAsB,GAAG;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;gBACnE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;oBACrC,MAAM,SAAS,GAAG,MAAM,GAAG,iBAAiB,GAAG,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;iBACtD,CAAC,CAAC;aACJ;YAED,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;SACvC,CAAC;;;;;;;;;QAUM,gBAAW,GAAG,CAAC,KAAa;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,SAAS,GAAG,uBAAuB,CAAC;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAChC,CAAC;QAEM,eAAU,GAAG,CAAC,KAAa;YACjC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAE/E,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1E,OAAO,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aAC9C;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YAED,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C,CAAC;;wBAjUkB,KAAK;yBACJ,KAAK;yBACL,KAAK;wBACN,KAAK;;gCASoB,aAAa;4BAGjB,KAAK;wBAMA,KAAK;wBAGN,CAAC;8BAGS,CAAC;6BAKJ;YAClD,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;SAChB;;;sBAWuD,OAAO;;;;6BAYd,CAAC;;oBAMO,KAAK;2BAGC,MAAM;;yBAMV,YAAY;;wBAM1B,CAAC;+BAGM,KAAK;wBAGE,OAAO;oBAGjB,QAAQ;gCAYK,MAAM;;;;;IAUpE,iBAAiB;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAGD,eAAe;QACb,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KAChE;;;;IAyBD,gBAAgB;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;;IAMD,gBAAgB,CAAC,EAAkC;QACjD,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO;QAEjD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KAC5B;;;;;;;;;;;;;IAgBD,MAAM,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC5B;IA4ID,IAAY,YAAY;QACtB,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,gBAAgB;SACf,CAAC;;QAGX,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC;KAC3D;;;;IAMD,MAAM;QACJ,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,OAAO,GAAG,yBAAyB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7E,QACE,4DAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,IAErC,8DACE,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACnE,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAC1C,GAAG,EAAE,CAAC,SAA0B,MAAM,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EACjE,IAAI,EAAC,OAAO,IAEZ,6DAAM,IAAI,EAAC,OAAO,EAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,GAAI,CACzD,EAER,oEACE,KAAK,EAAC,8EAA8E,EACpF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAC,OAAO,IAGnB,4DACE,KAAK,EAAE;gBACL,yBAAyB,EAAE,IAAI;gBAC/B,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI;gBAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,EACD,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,SAAS,IAGd,6DACE,KAAK,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAC9E,GAAG,EAAE,CAAC,QAAyB,MAAM,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,EAChE,IAAI,EAAC,QAAQ,IAEb,6DAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,GAAI,CAC5D,EAEP,8DACE,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EACrC,KAAK,EAAC,gCAAgC,EACtC,YAAY,EAAC,KAAK,EAClB,cAAc,EAAC,KAAK,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,mBACV,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,GAAG,IAAI,CAAC,IAAI,EAAE,mBACf,QAAQ,EACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,EAChC,GAAG,EAAE,CAAC,SAA2B,MAAM,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAClE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,KAAK,EACjB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,IAAI,EAAC,OAAO;;YAEZ,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC3B,EAED,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY;;;QAGpD,kEACE,KAAK,EAAC,kEAAkE,EACxE,UAAU,EAAC,MAAM,gBACL,IAAI,CAAC,gBAAgB,EACjC,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,IAAI,EAAC,WAAW,EAChB,WAAW,EAAC,QAAQ,IAEpB,6DAAM,IAAI,EAAC,YAAY,IACrB,gEAAS,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,GAAG,CACjD,CACG,CACb,EAED,6DACE,KAAK,EAAC,iCAAiC,EACvC,GAAG,EAAE,CAAC,QAAyB,MAAM,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,EAChE,IAAI,EAAC,QAAQ,IAEb,6DAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,sBAAsB,IAC3D,gEAAS,IAAI,EAAC,gBAAgB,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAG,CACvD,CACF,CACH,EACN,4DAAK,KAAK,EAAC,kCAAkC,IAC3C,EAAC,aAAa,qDACZ,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,MAAM,EAAE,IAAI,CAAC,MAAgB,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EACzC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,WAAW,EAAC,wDAAwD,IAEpE,gEAAS,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,UAAU,GAAG,EACpF,gEAAS,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,MAAM,GAAG,EAE7E,4DAAK,KAAK,EAAC,oDAAoD,IAAE,IAAI,CAAC,sBAAsB,EAAE,CAAO,CACvF,CACZ,CACM,CACV,EACN;KACH;;;;;;;;;;;;","names":[],"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 w-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-date-picker__label {\n @apply mb-[--bq-date-picker--label-margin-bottom] flex flex-grow items-center gap-[--bq-date-picker--gap];\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 w-full items-center transition-[border-color,box-shadow];\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 py-[--bq-date-picker--paddingY] pe-[--bq-date-picker--padding-end] ps-[--bq-date-picker--padding-start];\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 m-0 min-h-[--bq-date-picker--icon-size] min-w-[0] border-none p-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 h-auto rounded-xs border-none p-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 px-xs py-xs2;\n }\n\n &::part(button) {\n @apply rounded-s border-0 bg-transparent p-xs2 transition-colors duration-200;\n @apply focus-visible:focus hover:bg-hover-ui-primary;\n }\n\n &::part(container) {\n @apply bg-[--bq-date-picker--background-color] p-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 p-0 font-default text-text-primary transition-colors duration-200 ease-in-out;\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:var(--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:var(--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';\n\nimport { DATE_PICKER_TYPE, DaysOfWeek, TDatePickerType } from './bq-date-picker.types';\nimport { FloatingUIPlacement } from '../../services/interfaces';\nimport { hasSlotContent, isDefined, isHTMLElement, validatePropValue } 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 container - The container for the entire component.\n * @part header - The container for heading and button's.\n * @part button - Any button within the component.\n * @part previous - The previous page button.\n * @part next - The next page button.\n * @part disabled - A button that is disabled due to min/max.\n * @part heading - The heading containing the month and year.\n\n// Parts specific to the calendar-month component:\n * @part heading - The heading that labels the month.\n * @part table - The <table> element.\n * @part tr - Any row within the table.\n * @part head - The table's header row.\n * @part week - The table's body rows.\n * @part th - The table's header cells.\n * @part td - The table's body cells.\n * @part button - Any button used in the component.\n * @part day - The buttons corresponding to each day in the grid.\n * @part selected - Any days which are selected.\n * @part today - Today's day.\n * @part disallowed - Any day that has been disallowed via isDateDisallowed.\n * @part outside - Any days which are outside the current month.\n * @part range-start - The day at the start of a date range.\n * @part range-end - The day at the end of a date range.\n * @part 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 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 = 'heading,table,tr,head,week,th,td';\n private readonly BUTTON_EXPORT_PARTS =\n 'button,day,selected,today,disallowed,outside,range-start,range-end,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() formattedDate: string;\n @State() hasLabel = false;\n @State() hasPrefix = 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 /** The number of months to display per page when using next/previous buttons. */\n @Prop({ reflect: true }) monthsPerView: number = 1;\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?: FloatingUIPlacement = '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 /** 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.formattedDate = this.formatDate(this.value);\n this.hasValue = isDefined(this.value);\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 componentDidLoad() {\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 }\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 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.formattedDate = this.formatDate(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.formattedDate = this.formatDate(this.value);\n this.inputElem.value = this.formattedDate;\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 handleClearClick = (ev: CustomEvent) => {\n if (this.disabled) return;\n\n this.inputElem.value = '';\n this.value = this.inputElem.value;\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 focusedDate = (value: string) => {\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 formatDate = (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 w-full [&::part(panel)]:w-auto [&::part(panel)]:p-m\"\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.formattedDate}\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 <div class=\"flex items-center justify-center\">\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.monthsPerView}\n focusedDate={this.focusedDate(this.value)}\n firstDayOfWeek={this.firstDayOfWeek}\n showOutsideDays={this.showOutsideDays}\n onChange={this.handleCalendarChange}\n exportparts=\"container,header,button,previous,next,disabled,heading\"\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 </div>\n </bq-dropdown>\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-d71ec085.js';
5
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-179da433.js';
6
6
  import './assetsPath-4b5ef75f.js';
7
7
  import { v as validatePropValue } from './props-3bf7f546.js';
8
8
  import { b as hasSlotContent } from './slot-179d109d.js';
@@ -154,15 +154,15 @@ const BqDialog = class {
154
154
  const style = {
155
155
  ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),
156
156
  };
157
- return (h("dialog", { key: 'b419e6a7146b36db038e7c9884660025de62fd29', style: style, class: `bq-dialog hidden ${this.size} focus-visible:outline-none`, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-75", "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-75", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), part: "dialog" }, h("main", { key: '55fd10503d93cde3180f99719f0255ebbb78b443', class: "flex flex-col gap-[var(--bq-dialog--title-body-gap)] overflow-hidden", part: "content" }, h("header", { key: '36ab82fafd5477a279da975da581724874238aa0', class: "bq-dialog--header", part: "header" }, h("div", { key: 'b3e309a35eaee7f6636ae73d5bf5d1333f597fce', class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, h("slot", { key: 'ecab6e140bddfb82dd47a75228f16c796db35b7d', name: "title" })), h("div", { key: 'b30702f0428b322529deda672d0550910eb1cda6', class: "flex", onClick: () => this.hide(), role: "button", part: "button-close" }, h("slot", { key: '5fa99aebb9fb55ea1bdf0507840195adc0e8d9a0', name: "button-close" }, !this.hideCloseButton && (h("bq-button", { key: 'b0d6a699b638ff9a4be7443075615829ca3ca595', class: "bq-dialog--close", appearance: "text", size: "small", slot: "button-close" }, h("bq-icon", { key: 'd58b042458c59372c8fb93acf748b4667b119011', class: "cursor-pointer", name: "x", role: "img", title: "Close" })))))), h("div", { key: '32c2701384f09e6c117af82e9d1967f11ac4c065', class: {
157
+ return (h("dialog", { key: 'f1e6c4bcf79c6ab11b953cc65f102ed31b43863b', style: style, class: `bq-dialog hidden ${this.size} focus-visible:outline-none`, "data-transition-enter": "transition ease-in duration-300", "data-transition-enter-start": "opacity-0 scale-75", "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-75", inert: this.open ? undefined : true, ref: (dialogElem) => (this.dialogElem = dialogElem), part: "dialog" }, h("main", { key: '31a9866cccd99fd29ef9d1a718687b32306cf0fc', class: "flex flex-col gap-[var(--bq-dialog--title-body-gap)] overflow-hidden", part: "content" }, h("header", { key: 'b8b88c2913059a837ee9964bc53af65b9b8abf7c', class: "bq-dialog--header", part: "header" }, h("div", { key: 'f308083d72478429babebff8029a3c9fe37c3ebf', class: "bq-dialog--title flex flex-1 items-center justify-between", part: "title" }, h("slot", { key: '23835a635affb9b5dc9658b8fbf4818e3a512a9b', name: "title" })), h("div", { key: '366211941acce249b8ac9a3aecb8c3fae5d1a030', class: "flex", onClick: () => this.hide(), role: "button", part: "button-close" }, h("slot", { key: '6c558b6eef210f4afa28524446ae87bad3875055', name: "button-close" }, !this.hideCloseButton && (h("bq-button", { key: '841bd4666c6368ea267020ae6fd35b040c6c2b50', class: "bq-dialog--close", appearance: "text", size: "small", slot: "button-close" }, h("bq-icon", { key: '1abd3adf0d28a04e736753292880eb1709d7d5e6', class: "cursor-pointer", name: "x", role: "img", title: "Close" })))))), h("div", { key: '496d8cd758be04af7b70682fa59d1fe2d4e7522d', class: {
158
158
  '!hidden': !this.hasContent,
159
159
  'overflow-y-auto px-[var(--bq-dialog--padding)]': this.hasContent,
160
160
  '!pb-[var(--bq-dialog--padding)]': !this.hasFooter,
161
- }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, h("slot", { key: '9a84345bfd322ccfe01b0a8e1de14d4e935369ff', onSlotchange: this.handleContentSlotChange }))), h("footer", { key: '53b19d9170f8230678f3133af2ac70579e72a32d', class: {
161
+ }, ref: (mainElem) => (this.contentElem = mainElem), part: "body" }, h("slot", { key: '60ddca5c51a6b6592a26b9ce763d013195989bd0', onSlotchange: this.handleContentSlotChange }))), h("footer", { key: '192e9f5c9d305b5705745f10571177c1e21126ff', class: {
162
162
  '!hidden': !this.hasFooter,
163
163
  'bq-dialog--footer': this.hasFooter,
164
164
  'bg-ui-alt !py-s': this.footerAppearance === 'highlight',
165
- }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: 'd58ed4c85a14f1bb2e4627ce5a05c42e6e6e2538', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
165
+ }, ref: (footerElem) => (this.footerElem = footerElem), part: "footer" }, h("slot", { key: '390463bf98e3a9bc140573e33b13df1f96721f8c', name: "footer", onSlotchange: this.handleFooterSlotChange }))));
166
166
  }
167
167
  get el() { return getElement(this); }
168
168
  static get watchers() { return {
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { r as registerInstance, h, a as Host, g as getElement } from './index-d71ec085.js';
5
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-179da433.js';
6
6
  import './assetsPath-4b5ef75f.js';
7
7
  import { g as getColorCSSVariable } from './cssVariables-5ffccc29.js';
8
8
  import { v as validatePropValue } from './props-3bf7f546.js';
@@ -104,12 +104,12 @@ const BqDivider = class {
104
104
  ...(this.strokeBasis && { '--bq-divider--stroke-basis': `${this.strokeBasis}px` }),
105
105
  };
106
106
  const strokeAttributes = this.getStrokeAttributes();
107
- return (h(Host, { key: 'c15512b216995158cf6d8222fd63cd2b6b6fb1ed', style: styles }, h("div", { key: '62fb65d40d021f13c8deeb46a5a8b9a6eeee5559', class: {
107
+ return (h(Host, { key: '22dabf0c77f361bf3a4f495b4ed354e958125fd5', style: styles }, h("div", { key: '4f60cea65bcf572946537c5670a45899900c71ae', class: {
108
108
  'bq-divider': true,
109
109
  [`bq-divider--${this.orientation}`]: true,
110
110
  [`bq-divider--title__${this.titleAlignment}`]: true,
111
111
  'gap-0': !this.hasTitle,
112
- }, part: "base", ref: (div) => (this.titleElem = div), role: "separator", "aria-orientation": this.orientation }, h("svg", { key: '4d11986ab342f4f0a64276bdb0277343d631c201', class: "bq-divider--stroke start", part: "dash-start" }, h("line", { key: 'a6391e80f79c15ccb9d806e4261eae8b3fe7e9d4', ...strokeAttributes, part: "dash-start-line" })), h("slot", { key: '74572e8c97c7d270efdb5c47043f689b23e13a95', onSlotchange: this.handleSlotChange }), h("svg", { key: '4ef36c56efdaab93cd7741655f67876daba884f4', class: { 'bq-divider--stroke end': true, '!hidden': !this.hasTitle }, part: "dash-end" }, h("line", { key: '58a33d9c6f3dfb101ed3b3d67228551f1d229780', ...strokeAttributes, part: "dash-end-line" })))));
112
+ }, part: "base", ref: (div) => (this.titleElem = div), role: "separator", "aria-orientation": this.orientation }, h("svg", { key: '12e9d43ad16744cc3d25597935c27ce1193159b7', class: "bq-divider--stroke start", part: "dash-start" }, h("line", { key: '169c4103d4370c0380b7ab84f8a89a6c300fc600', ...strokeAttributes, part: "dash-start-line" })), h("slot", { key: 'e4ee00aca9dcf252af3dc38c88388d01ca3f9f18', onSlotchange: this.handleSlotChange }), h("svg", { key: 'd5bd8cdc0f1244b07efe40a62117f5e03f264484', class: { 'bq-divider--stroke end': true, '!hidden': !this.hasTitle }, part: "dash-end" }, h("line", { key: '2db9f86167cbfc80f3200b9e5ba56753d498c751', ...strokeAttributes, part: "dash-end-line" })))));
113
113
  }
114
114
  get el() { return getElement(this); }
115
115
  static get watchers() { return {