@beeq/core 1.8.0-beta.0 → 1.8.0-beta.2

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 (417) hide show
  1. package/dist/beeq/beeq.esm.js +43 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +64 -1
  4. package/dist/beeq/index.esm.js.map +1 -1
  5. package/dist/beeq/p-026222c6.entry.js +309 -0
  6. package/dist/beeq/{p-63ad9702.entry.js.map → p-026222c6.entry.js.map} +1 -1
  7. package/dist/beeq/p-04d98ed3.entry.js +257 -0
  8. package/dist/beeq/p-04d98ed3.entry.js.map +1 -0
  9. package/dist/beeq/p-05685544.entry.js +121 -0
  10. package/dist/beeq/{p-c9c942e6.entry.js.map → p-05685544.entry.js.map} +1 -1
  11. package/dist/beeq/p-0ab0b58d.js +25 -1
  12. package/dist/beeq/p-0ab0b58d.js.map +1 -1
  13. package/dist/beeq/p-0c42c08a.js +1811 -0
  14. package/dist/beeq/p-0c42c08a.js.map +1 -0
  15. package/dist/beeq/p-0ebe73ef.entry.js +149 -0
  16. package/dist/beeq/{p-571b40ff.entry.js.map → p-0ebe73ef.entry.js.map} +1 -1
  17. package/dist/beeq/p-115ed5b2.js +25 -1
  18. package/dist/beeq/p-115ed5b2.js.map +1 -1
  19. package/dist/beeq/p-11eaeb5d.entry.js +330 -0
  20. package/dist/beeq/{p-4739f5c3.entry.js.map → p-11eaeb5d.entry.js.map} +1 -1
  21. package/dist/beeq/p-12dbc6ac.entry.js +87 -0
  22. package/dist/beeq/{p-3b2ce34b.entry.js.map → p-12dbc6ac.entry.js.map} +1 -1
  23. package/dist/beeq/p-19df76ba.entry.js +220 -0
  24. package/dist/beeq/{p-79b7547b.entry.js.map → p-19df76ba.entry.js.map} +1 -1
  25. package/dist/beeq/p-1c8b6eb4.js +12 -1
  26. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  27. package/dist/beeq/p-1f3a4359.js +11 -1
  28. package/dist/beeq/p-1f3a4359.js.map +1 -1
  29. package/dist/beeq/p-2ef721e1.entry.js +261 -0
  30. package/dist/beeq/{p-52577f3a.entry.js.map → p-2ef721e1.entry.js.map} +1 -1
  31. package/dist/beeq/p-37466506.entry.js +103 -0
  32. package/dist/beeq/{p-b90c6de9.entry.js.map → p-37466506.entry.js.map} +1 -1
  33. package/dist/beeq/p-377c70d1.entry.js +173 -0
  34. package/dist/beeq/{p-eddb77c7.entry.js.map → p-377c70d1.entry.js.map} +1 -1
  35. package/dist/beeq/p-38d4bd8a.js +1934 -1
  36. package/dist/beeq/p-38d4bd8a.js.map +1 -1
  37. package/dist/beeq/p-3dd0e436.entry.js +130 -0
  38. package/dist/beeq/p-3dd0e436.entry.js.map +1 -0
  39. package/dist/beeq/p-3fd0d92d.js +1228 -1
  40. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  41. package/dist/beeq/p-41033fe6.entry.js +84 -0
  42. package/dist/beeq/{p-94d62f1b.entry.js.map → p-41033fe6.entry.js.map} +1 -1
  43. package/dist/beeq/p-43e4fcdb.entry.js +173 -0
  44. package/dist/beeq/{p-9c6c6646.entry.js.map → p-43e4fcdb.entry.js.map} +1 -1
  45. package/dist/beeq/p-4a235cd2.entry.js +258 -0
  46. package/dist/beeq/{p-b9544567.entry.js.map → p-4a235cd2.entry.js.map} +1 -1
  47. package/dist/beeq/p-4a3d8532.entry.js +205 -0
  48. package/dist/beeq/{p-8059836c.entry.js.map → p-4a3d8532.entry.js.map} +1 -1
  49. package/dist/beeq/p-4dd962a7.entry.js +104 -0
  50. package/dist/beeq/{p-ae8ffb81.entry.js.map → p-4dd962a7.entry.js.map} +1 -1
  51. package/dist/beeq/p-4eccc020.entry.js +203 -0
  52. package/dist/beeq/{p-a006be9e.entry.js.map → p-4eccc020.entry.js.map} +1 -1
  53. package/dist/beeq/p-4fc098bb.entry.js +90 -0
  54. package/dist/beeq/{p-be664fb0.entry.js.map → p-4fc098bb.entry.js.map} +1 -1
  55. package/dist/beeq/p-513bab02.js +16 -0
  56. package/dist/beeq/{p-aee056e5.js.map → p-513bab02.js.map} +1 -1
  57. package/dist/beeq/p-57621be1.js +9 -1
  58. package/dist/beeq/p-57621be1.js.map +1 -1
  59. package/dist/beeq/p-5eab4f55.entry.js +117 -0
  60. package/dist/beeq/{p-9f40249f.entry.js.map → p-5eab4f55.entry.js.map} +1 -1
  61. package/dist/beeq/p-600e7c38.entry.js +102 -0
  62. package/dist/beeq/{p-633319f3.entry.js.map → p-600e7c38.entry.js.map} +1 -1
  63. package/dist/beeq/p-687da041.js +20 -1
  64. package/dist/beeq/p-687da041.js.map +1 -1
  65. package/dist/beeq/p-7089c66a.entry.js +156 -0
  66. package/dist/beeq/{p-235328ee.entry.js.map → p-7089c66a.entry.js.map} +1 -1
  67. package/dist/beeq/p-734853f9.entry.js +259 -0
  68. package/dist/beeq/{p-d2bbae3b.entry.js.map → p-734853f9.entry.js.map} +1 -1
  69. package/dist/beeq/p-7774eec3.entry.js +135 -0
  70. package/dist/beeq/{p-255fcbe4.entry.js.map → p-7774eec3.entry.js.map} +1 -1
  71. package/dist/beeq/p-7b9ff03f.entry.js +437 -0
  72. package/dist/beeq/p-7b9ff03f.entry.js.map +1 -0
  73. package/dist/beeq/p-7c06dfec.entry.js +204 -0
  74. package/dist/beeq/{p-a8cb8989.entry.js.map → p-7c06dfec.entry.js.map} +1 -1
  75. package/dist/beeq/p-900d4e78.entry.js +102 -0
  76. package/dist/beeq/{p-b7281046.entry.js.map → p-900d4e78.entry.js.map} +1 -1
  77. package/dist/beeq/p-911e07b7.entry.js +513 -0
  78. package/dist/beeq/p-911e07b7.entry.js.map +1 -0
  79. package/dist/beeq/p-924ebf7d.entry.js +394 -0
  80. package/dist/beeq/p-924ebf7d.entry.js.map +1 -0
  81. package/dist/beeq/p-951ba558.js +64 -1
  82. package/dist/beeq/p-951ba558.js.map +1 -1
  83. package/dist/beeq/p-99829fc7.js +8 -1
  84. package/dist/beeq/p-99829fc7.js.map +1 -1
  85. package/dist/beeq/p-9aa18e2f.entry.js +303 -0
  86. package/dist/beeq/p-9aa18e2f.entry.js.map +1 -0
  87. package/dist/beeq/p-a5dc1c94.js +118 -1
  88. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  89. package/dist/beeq/p-a8cad5ab.js +5 -1
  90. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  91. package/dist/beeq/p-ae94b9f8.entry.js +144 -0
  92. package/dist/beeq/{p-41bac721.entry.js.map → p-ae94b9f8.entry.js.map} +1 -1
  93. package/dist/beeq/p-af062402.js +7 -1
  94. package/dist/beeq/p-af062402.js.map +1 -1
  95. package/dist/beeq/p-b38e8c5a.entry.js +208 -0
  96. package/dist/beeq/p-b38e8c5a.entry.js.map +1 -0
  97. package/dist/beeq/p-b4278945.entry.js +195 -0
  98. package/dist/beeq/{p-a7b0fd0b.entry.js.map → p-b4278945.entry.js.map} +1 -1
  99. package/dist/beeq/p-b48545b6.entry.js +248 -0
  100. package/dist/beeq/{p-4ba2bec7.entry.js.map → p-b48545b6.entry.js.map} +1 -1
  101. package/dist/beeq/p-c907de72.entry.js +145 -0
  102. package/dist/beeq/{p-96d7f361.entry.js.map → p-c907de72.entry.js.map} +1 -1
  103. package/dist/beeq/p-ceb3bb9a.entry.js +187 -0
  104. package/dist/beeq/p-ceb3bb9a.entry.js.map +1 -0
  105. package/dist/beeq/p-d3008f60.entry.js +279 -0
  106. package/dist/beeq/p-d3008f60.entry.js.map +1 -0
  107. package/dist/beeq/p-d7a88b16.js +87 -1
  108. package/dist/beeq/p-d7a88b16.js.map +1 -1
  109. package/dist/beeq/p-e5afdf8c.js +87 -0
  110. package/dist/beeq/p-e5afdf8c.js.map +1 -0
  111. package/dist/beeq/p-e7d75b87.entry.js +144 -0
  112. package/dist/beeq/{p-6e026fad.entry.js.map → p-e7d75b87.entry.js.map} +1 -1
  113. package/dist/beeq/p-ecd27cf2.js +11 -1
  114. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  115. package/dist/beeq/p-f00abfb8.entry.js +145 -0
  116. package/dist/beeq/{p-90c5851d.entry.js.map → p-f00abfb8.entry.js.map} +1 -1
  117. package/dist/beeq/p-f8663855.entry.js +329 -0
  118. package/dist/beeq/{p-e6382462.entry.js.map → p-f8663855.entry.js.map} +1 -1
  119. package/dist/cjs/assetsPath-7ead23b7.js +89 -0
  120. package/dist/cjs/assetsPath-7ead23b7.js.map +1 -0
  121. package/dist/cjs/beeq.cjs.js +2 -2
  122. package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
  123. package/dist/cjs/bq-accordion.cjs.entry.js +2 -2
  124. package/dist/cjs/bq-alert.cjs.entry.js +19 -25
  125. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  126. package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
  127. package/dist/cjs/bq-badge.cjs.entry.js +4 -4
  128. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +6 -6
  129. package/dist/cjs/bq-breadcrumb.cjs.entry.js +3 -3
  130. package/dist/cjs/bq-button_2.cjs.entry.js +16 -10
  131. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-card.cjs.entry.js +4 -4
  133. package/dist/cjs/bq-checkbox.cjs.entry.js +4 -4
  134. package/dist/cjs/bq-date-picker.cjs.entry.js +10 -7
  135. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-dialog.cjs.entry.js +7 -7
  137. package/dist/cjs/bq-divider.cjs.entry.js +9 -6
  138. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-drawer.cjs.entry.js +7 -7
  140. package/dist/cjs/bq-dropdown_2.cjs.entry.js +3 -3
  141. package/dist/cjs/bq-empty-state.cjs.entry.js +6 -6
  142. package/dist/cjs/bq-input.cjs.entry.js +7 -7
  143. package/dist/cjs/bq-notification.cjs.entry.js +26 -19
  144. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
  146. package/dist/cjs/bq-option-list_2.cjs.entry.js +7 -7
  147. package/dist/cjs/bq-option.cjs.entry.js +6 -6
  148. package/dist/cjs/bq-page-title.cjs.entry.js +4 -4
  149. package/dist/cjs/bq-progress.cjs.entry.js +6 -6
  150. package/dist/cjs/bq-radio-group.cjs.entry.js +3 -3
  151. package/dist/cjs/bq-radio.cjs.entry.js +3 -3
  152. package/dist/cjs/bq-select.cjs.entry.js +21 -15
  153. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  155. package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
  156. package/dist/cjs/bq-slider.cjs.entry.js +12 -6
  157. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-spinner.cjs.entry.js +6 -6
  159. package/dist/cjs/bq-status.cjs.entry.js +3 -3
  160. package/dist/cjs/bq-step-item.cjs.entry.js +9 -6
  161. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-steps.cjs.entry.js +3 -3
  163. package/dist/cjs/bq-switch.cjs.entry.js +4 -4
  164. package/dist/cjs/bq-tab-group.cjs.entry.js +5 -5
  165. package/dist/cjs/bq-tab.cjs.entry.js +4 -4
  166. package/dist/cjs/bq-textarea.cjs.entry.js +5 -5
  167. package/dist/cjs/bq-toast.cjs.entry.js +29 -31
  168. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
  170. package/dist/cjs/{index-e6d59dbb.js → index-1d3aac65.js} +20 -2
  171. package/dist/cjs/index-1d3aac65.js.map +1 -0
  172. package/dist/cjs/index.cjs.js +2 -2
  173. package/dist/cjs/{isDefined-4f4a320b.js → isDefined-a9dd6d5b.js} +2 -2
  174. package/dist/cjs/{isDefined-4f4a320b.js.map → isDefined-a9dd6d5b.js.map} +1 -1
  175. package/dist/cjs/loader.cjs.js +2 -2
  176. package/dist/collection/components/alert/bq-alert.js +26 -26
  177. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  178. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  179. package/dist/collection/components/avatar/bq-avatar.js +3 -3
  180. package/dist/collection/components/badge/bq-badge.js +2 -2
  181. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +1 -1
  182. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +3 -3
  183. package/dist/collection/components/button/bq-button.js +2 -2
  184. package/dist/collection/components/card/bq-card.js +2 -2
  185. package/dist/collection/components/checkbox/bq-checkbox.js +2 -2
  186. package/dist/collection/components/date-picker/bq-date-picker.js +6 -3
  187. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  188. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  189. package/dist/collection/components/dialog/bq-dialog.js +4 -4
  190. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  191. package/dist/collection/components/divider/bq-divider.js +7 -4
  192. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  193. package/dist/collection/components/drawer/bq-drawer.js +4 -4
  194. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  195. package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
  196. package/dist/collection/components/empty-state/bq-empty-state.js +4 -4
  197. package/dist/collection/components/icon/bq-icon.js +13 -7
  198. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  199. package/dist/collection/components/input/bq-input.js +4 -4
  200. package/dist/collection/components/notification/bq-notification.js +31 -17
  201. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  202. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  203. package/dist/collection/components/option/bq-option.js +4 -4
  204. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  205. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  206. package/dist/collection/components/page-title/bq-page-title.js +2 -2
  207. package/dist/collection/components/panel/bq-panel.js +1 -1
  208. package/dist/collection/components/progress/bq-progress.js +4 -4
  209. package/dist/collection/components/radio/bq-radio.js +2 -2
  210. package/dist/collection/components/radio-group/bq-radio-group.js +1 -1
  211. package/dist/collection/components/select/bq-select.js +18 -12
  212. package/dist/collection/components/select/bq-select.js.map +1 -1
  213. package/dist/collection/components/select/scss/bq-select.css +1 -1
  214. package/dist/collection/components/side-menu/bq-side-menu.js +1 -1
  215. package/dist/collection/components/slider/bq-slider.js +10 -4
  216. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  217. package/dist/collection/components/spinner/bq-spinner.js +4 -4
  218. package/dist/collection/components/status/bq-status.js +1 -1
  219. package/dist/collection/components/step-item/bq-step-item.js +7 -4
  220. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  221. package/dist/collection/components/steps/bq-steps.js +1 -1
  222. package/dist/collection/components/switch/bq-switch.js +2 -2
  223. package/dist/collection/components/tab/bq-tab.js +2 -2
  224. package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
  225. package/dist/collection/components/tag/bq-tag.js +3 -3
  226. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  227. package/dist/collection/components/textarea/bq-textarea.js +3 -3
  228. package/dist/collection/components/toast/bq-toast.js +35 -29
  229. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  230. package/dist/collection/components/tooltip/bq-tooltip.js +1 -1
  231. package/dist/collection/index.js +1 -0
  232. package/dist/collection/index.js.map +1 -1
  233. package/dist/collection/shared/utils/assetsPath.js +64 -27
  234. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  235. package/dist/components/assetsPath.js +64 -27
  236. package/dist/components/assetsPath.js.map +1 -1
  237. package/dist/components/bq-alert.js +17 -23
  238. package/dist/components/bq-alert.js.map +1 -1
  239. package/dist/components/bq-avatar.js +3 -3
  240. package/dist/components/bq-badge2.js +2 -2
  241. package/dist/components/bq-breadcrumb-item.js +3 -3
  242. package/dist/components/bq-breadcrumb.js +1 -1
  243. package/dist/components/bq-button2.js +2 -2
  244. package/dist/components/bq-card.js +2 -2
  245. package/dist/components/bq-checkbox.js +2 -2
  246. package/dist/components/bq-date-picker.js +7 -4
  247. package/dist/components/bq-date-picker.js.map +1 -1
  248. package/dist/components/bq-dialog.js +5 -5
  249. package/dist/components/bq-divider2.js +7 -4
  250. package/dist/components/bq-divider2.js.map +1 -1
  251. package/dist/components/bq-drawer.js +5 -5
  252. package/dist/components/bq-dropdown2.js +1 -1
  253. package/dist/components/bq-empty-state.js +4 -4
  254. package/dist/components/bq-icon2.js +11 -5
  255. package/dist/components/bq-icon2.js.map +1 -1
  256. package/dist/components/bq-input.js +4 -4
  257. package/dist/components/bq-notification.js +25 -17
  258. package/dist/components/bq-notification.js.map +1 -1
  259. package/dist/components/bq-option-group.js +1 -1
  260. package/dist/components/bq-option-list2.js +1 -1
  261. package/dist/components/bq-option.js +4 -4
  262. package/dist/components/bq-page-title.js +2 -2
  263. package/dist/components/bq-panel2.js +1 -1
  264. package/dist/components/bq-progress.js +4 -4
  265. package/dist/components/bq-radio-group.js +1 -1
  266. package/dist/components/bq-radio.js +2 -2
  267. package/dist/components/bq-select.js +19 -13
  268. package/dist/components/bq-select.js.map +1 -1
  269. package/dist/components/bq-side-menu.js +1 -1
  270. package/dist/components/bq-slider.js +10 -4
  271. package/dist/components/bq-slider.js.map +1 -1
  272. package/dist/components/bq-spinner.js +4 -4
  273. package/dist/components/bq-status.js +1 -1
  274. package/dist/components/bq-step-item.js +7 -4
  275. package/dist/components/bq-step-item.js.map +1 -1
  276. package/dist/components/bq-steps.js +1 -1
  277. package/dist/components/bq-switch.js +2 -2
  278. package/dist/components/bq-tab-group.js +3 -3
  279. package/dist/components/bq-tab.js +2 -2
  280. package/dist/components/bq-tag2.js +4 -4
  281. package/dist/components/bq-textarea.js +3 -3
  282. package/dist/components/bq-toast.js +28 -29
  283. package/dist/components/bq-toast.js.map +1 -1
  284. package/dist/components/bq-tooltip2.js +1 -1
  285. package/dist/esm/assetsPath-c02b0e16.js +86 -0
  286. package/dist/esm/assetsPath-c02b0e16.js.map +1 -0
  287. package/dist/esm/beeq.js +3 -3
  288. package/dist/esm/bq-accordion-group.entry.js +2 -2
  289. package/dist/esm/bq-accordion.entry.js +2 -2
  290. package/dist/esm/bq-alert.entry.js +19 -25
  291. package/dist/esm/bq-alert.entry.js.map +1 -1
  292. package/dist/esm/bq-avatar.entry.js +5 -5
  293. package/dist/esm/bq-badge.entry.js +4 -4
  294. package/dist/esm/bq-breadcrumb-item.entry.js +6 -6
  295. package/dist/esm/bq-breadcrumb.entry.js +3 -3
  296. package/dist/esm/bq-button_2.entry.js +16 -10
  297. package/dist/esm/bq-button_2.entry.js.map +1 -1
  298. package/dist/esm/bq-card.entry.js +4 -4
  299. package/dist/esm/bq-checkbox.entry.js +4 -4
  300. package/dist/esm/bq-date-picker.entry.js +10 -7
  301. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  302. package/dist/esm/bq-dialog.entry.js +7 -7
  303. package/dist/esm/bq-divider.entry.js +9 -6
  304. package/dist/esm/bq-divider.entry.js.map +1 -1
  305. package/dist/esm/bq-drawer.entry.js +7 -7
  306. package/dist/esm/bq-dropdown_2.entry.js +3 -3
  307. package/dist/esm/bq-empty-state.entry.js +6 -6
  308. package/dist/esm/bq-input.entry.js +7 -7
  309. package/dist/esm/bq-notification.entry.js +26 -19
  310. package/dist/esm/bq-notification.entry.js.map +1 -1
  311. package/dist/esm/bq-option-group.entry.js +2 -2
  312. package/dist/esm/bq-option-list_2.entry.js +7 -7
  313. package/dist/esm/bq-option.entry.js +6 -6
  314. package/dist/esm/bq-page-title.entry.js +4 -4
  315. package/dist/esm/bq-progress.entry.js +6 -6
  316. package/dist/esm/bq-radio-group.entry.js +3 -3
  317. package/dist/esm/bq-radio.entry.js +3 -3
  318. package/dist/esm/bq-select.entry.js +22 -16
  319. package/dist/esm/bq-select.entry.js.map +1 -1
  320. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  321. package/dist/esm/bq-side-menu.entry.js +3 -3
  322. package/dist/esm/bq-slider.entry.js +12 -6
  323. package/dist/esm/bq-slider.entry.js.map +1 -1
  324. package/dist/esm/bq-spinner.entry.js +6 -6
  325. package/dist/esm/bq-status.entry.js +3 -3
  326. package/dist/esm/bq-step-item.entry.js +9 -6
  327. package/dist/esm/bq-step-item.entry.js.map +1 -1
  328. package/dist/esm/bq-steps.entry.js +3 -3
  329. package/dist/esm/bq-switch.entry.js +4 -4
  330. package/dist/esm/bq-tab-group.entry.js +5 -5
  331. package/dist/esm/bq-tab.entry.js +4 -4
  332. package/dist/esm/bq-textarea.entry.js +5 -5
  333. package/dist/esm/bq-toast.entry.js +29 -31
  334. package/dist/esm/bq-toast.entry.js.map +1 -1
  335. package/dist/esm/bq-tooltip.entry.js +2 -2
  336. package/dist/esm/{index-efc1c2ef.js → index-f69556fe.js} +20 -2
  337. package/dist/esm/index-f69556fe.js.map +1 -0
  338. package/dist/esm/index.js +3 -3
  339. package/dist/esm/{isDefined-91ae4cd3.js → isDefined-1e676215.js} +2 -2
  340. package/dist/esm/{isDefined-91ae4cd3.js.map → isDefined-1e676215.js.map} +1 -1
  341. package/dist/esm/loader.js +3 -3
  342. package/dist/hydrate/index.js +281 -201
  343. package/dist/hydrate/index.mjs +281 -201
  344. package/dist/stencil.config.js +6 -0
  345. package/dist/stencil.config.js.map +1 -1
  346. package/dist/types/components/alert/bq-alert.d.ts +10 -4
  347. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -0
  348. package/dist/types/components/divider/bq-divider.d.ts +1 -0
  349. package/dist/types/components/icon/bq-icon.d.ts +3 -1
  350. package/dist/types/components/notification/bq-notification.d.ts +8 -0
  351. package/dist/types/components/select/bq-select.d.ts +2 -0
  352. package/dist/types/components/slider/bq-slider.d.ts +2 -0
  353. package/dist/types/components/step-item/bq-step-item.d.ts +1 -0
  354. package/dist/types/components/toast/bq-toast.d.ts +5 -0
  355. package/dist/types/components.d.ts +8 -8
  356. package/dist/types/index.d.ts +1 -1
  357. package/dist/types/shared/utils/assetsPath.d.ts +18 -11
  358. package/package.json +4 -4
  359. package/dist/beeq/p-235328ee.entry.js +0 -6
  360. package/dist/beeq/p-255fcbe4.entry.js +0 -6
  361. package/dist/beeq/p-268dc1e3.entry.js +0 -6
  362. package/dist/beeq/p-268dc1e3.entry.js.map +0 -1
  363. package/dist/beeq/p-3aa41d80.entry.js +0 -6
  364. package/dist/beeq/p-3aa41d80.entry.js.map +0 -1
  365. package/dist/beeq/p-3b2ce34b.entry.js +0 -6
  366. package/dist/beeq/p-41bac721.entry.js +0 -6
  367. package/dist/beeq/p-4739f5c3.entry.js +0 -6
  368. package/dist/beeq/p-4ba2bec7.entry.js +0 -6
  369. package/dist/beeq/p-52577f3a.entry.js +0 -6
  370. package/dist/beeq/p-571b40ff.entry.js +0 -6
  371. package/dist/beeq/p-606c080c.entry.js +0 -6
  372. package/dist/beeq/p-606c080c.entry.js.map +0 -1
  373. package/dist/beeq/p-633319f3.entry.js +0 -6
  374. package/dist/beeq/p-63ad9702.entry.js +0 -6
  375. package/dist/beeq/p-6e026fad.entry.js +0 -6
  376. package/dist/beeq/p-6edc8a33.js +0 -6
  377. package/dist/beeq/p-6edc8a33.js.map +0 -1
  378. package/dist/beeq/p-76e714c6.js +0 -7
  379. package/dist/beeq/p-76e714c6.js.map +0 -1
  380. package/dist/beeq/p-79b7547b.entry.js +0 -6
  381. package/dist/beeq/p-7f23cde7.entry.js +0 -6
  382. package/dist/beeq/p-7f23cde7.entry.js.map +0 -1
  383. package/dist/beeq/p-8059836c.entry.js +0 -6
  384. package/dist/beeq/p-8b7c7049.entry.js +0 -6
  385. package/dist/beeq/p-8b7c7049.entry.js.map +0 -1
  386. package/dist/beeq/p-90c5851d.entry.js +0 -6
  387. package/dist/beeq/p-94d62f1b.entry.js +0 -6
  388. package/dist/beeq/p-96d7f361.entry.js +0 -6
  389. package/dist/beeq/p-9acfedb8.entry.js +0 -6
  390. package/dist/beeq/p-9acfedb8.entry.js.map +0 -1
  391. package/dist/beeq/p-9c6c6646.entry.js +0 -6
  392. package/dist/beeq/p-9cd26e8d.entry.js +0 -6
  393. package/dist/beeq/p-9cd26e8d.entry.js.map +0 -1
  394. package/dist/beeq/p-9f40249f.entry.js +0 -6
  395. package/dist/beeq/p-a006be9e.entry.js +0 -6
  396. package/dist/beeq/p-a7b0fd0b.entry.js +0 -6
  397. package/dist/beeq/p-a8cb8989.entry.js +0 -6
  398. package/dist/beeq/p-ae8ffb81.entry.js +0 -6
  399. package/dist/beeq/p-aee056e5.js +0 -6
  400. package/dist/beeq/p-b7281046.entry.js +0 -6
  401. package/dist/beeq/p-b90c6de9.entry.js +0 -6
  402. package/dist/beeq/p-b9544567.entry.js +0 -6
  403. package/dist/beeq/p-be664fb0.entry.js +0 -6
  404. package/dist/beeq/p-c9c942e6.entry.js +0 -6
  405. package/dist/beeq/p-d2bbae3b.entry.js +0 -6
  406. package/dist/beeq/p-ddb23180.entry.js +0 -6
  407. package/dist/beeq/p-ddb23180.entry.js.map +0 -1
  408. package/dist/beeq/p-e6382462.entry.js +0 -6
  409. package/dist/beeq/p-eab59153.entry.js +0 -6
  410. package/dist/beeq/p-eab59153.entry.js.map +0 -1
  411. package/dist/beeq/p-eddb77c7.entry.js +0 -6
  412. package/dist/cjs/assetsPath-eac0a3bf.js +0 -52
  413. package/dist/cjs/assetsPath-eac0a3bf.js.map +0 -1
  414. package/dist/cjs/index-e6d59dbb.js.map +0 -1
  415. package/dist/esm/assetsPath-ae18c25e.js +0 -49
  416. package/dist/esm/assetsPath-ae18c25e.js.map +0 -1
  417. package/dist/esm/index-efc1c2ef.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["setRafTimeout","func","wait","args","invokeFunc","timeoutId","setTimeout","clearTimeout","rafId","currentTime","performance","now","cancel","cancelAnimationFrame","handleRequestAnimationFrame","time","delta","requestAnimationFrame","debounce","immediate","debounceHandler","context","this","timeoutHandler","fn","apply","isNil","Object","assign"],"sources":["../../packages/beeq/src/shared/utils/setRafTimeout.ts","../../packages/beeq/src/shared/utils/debounce.ts"],"sourcesContent":["/**\n * Implements setTimeout using requestAnimationFrame. Uses setTimeout if wait is 0.\n *\n * @param {Function} func - The function to timeout.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Any[]} args - The arguments of func.\n * @returns {void}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const setRafTimeout = <TFunc extends (...args: any[]) => void>(\n func: TFunc,\n wait: number,\n ...args: Parameters<TFunc>\n): (() => void) => {\n const invokeFunc = () => func(...args);\n\n if (wait === 0) {\n const timeoutId = setTimeout(invokeFunc, wait);\n return () => clearTimeout(timeoutId);\n } else {\n let rafId: number;\n const currentTime = performance.now();\n\n const cancel = () => cancelAnimationFrame(rafId);\n\n const handleRequestAnimationFrame: FrameRequestCallback = (time) => {\n const delta = time - currentTime;\n\n cancel();\n\n if (delta < wait) {\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n } else {\n invokeFunc();\n }\n };\n\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n\n return cancel;\n }\n};\n","import { isNil } from './isNil';\nimport { setRafTimeout } from './setRafTimeout';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = (...args: any[]) => unknown;\n\ntype TDebounceFnReturn<T> = T extends unknown[] ? (...params: T) => void : (param: T) => void;\nexport type TDebounce<T> = TDebounceFnReturn<T> & { cancel: () => void } extends infer U ? U : never;\n\n/**\n * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed\n * since the last time the debounced function was invoked.\n *\n * @param {Function} func - The function to debounce.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Boolean} immediate - If `true`, the function triggers immediately and then waits for the interval before being called again.\n * @return {Function} The new debounced function.\n */\nexport const debounce = <TFunc extends TFunction>(func: TFunc, wait = 0, immediate = false) => {\n let cancel: () => void | undefined;\n\n function debounceHandler(...args: Parameters<typeof func>) {\n cancel?.();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n function timeoutHandler(fn: TFunc, context: unknown, ...args: Parameters<typeof fn>) {\n fn.apply(context, args);\n }\n\n if (immediate && isNil(cancel)) {\n func.apply(context, args);\n }\n\n cancel = setRafTimeout(timeoutHandler, wait, func, context, ...args);\n }\n\n return Object.assign(debounceHandler, {\n cancel: () => {\n cancel?.();\n },\n });\n};\n"],"mappings":";;;;0CASaA,EAAgB,CAC3BC,EACAC,KACGC,KAEH,MAAMC,EAAa,IAAMH,KAAQE,GAEjC,GAAID,IAAS,EAAG,CACd,MAAMG,EAAYC,WAAWF,EAAYF,GACzC,MAAO,IAAMK,aAAaF,E,KACrB,CACL,IAAIG,EACJ,MAAMC,EAAcC,YAAYC,MAEhC,MAAMC,EAAS,IAAMC,qBAAqBL,GAE1C,MAAMM,EAAqDC,IACzD,MAAMC,EAAQD,EAAON,EAErBG,IAEA,GAAII,EAAQd,EAAM,CAChBM,EAAQS,sBAAsBH,E,KACzB,CACLV,G,GAIJI,EAAQS,sBAAsBH,GAE9B,OAAOF,C,SCrBEM,EAAW,CAA0BjB,EAAaC,EAAO,EAAGiB,EAAY,SACnF,IAAIP,EAEJ,SAASQ,KAAmBjB,GAC1BS,IAAM,MAANA,SAAM,SAANA,IAGA,MAAMS,EAAUC,KAEhB,SAASC,EAAeC,EAAWH,KAAqBlB,GACtDqB,EAAGC,MAAMJ,EAASlB,E,CAGpB,GAAIgB,GAAaO,EAAMd,GAAS,CAC9BX,EAAKwB,MAAMJ,EAASlB,E,CAGtBS,EAASZ,EAAcuB,EAAgBrB,EAAMD,EAAMoB,KAAYlB,E,CAGjE,OAAOwB,OAAOC,OAAOR,EAAiB,CACpCR,OAAQ,KACNA,IAAM,MAANA,SAAM,SAANA,GAAU,GAEZ,S","ignoreList":[]}
1
+ {"version":3,"names":["setRafTimeout","func","wait","args","invokeFunc","timeoutId","setTimeout","clearTimeout","rafId","currentTime","performance","now","cancel","cancelAnimationFrame","handleRequestAnimationFrame","time","delta","requestAnimationFrame","debounce","immediate","debounceHandler","context","this","timeoutHandler","fn","apply","isNil","Object","assign"],"sources":["../../packages/beeq/src/shared/utils/setRafTimeout.ts","../../packages/beeq/src/shared/utils/debounce.ts"],"sourcesContent":["/**\n * Implements setTimeout using requestAnimationFrame. Uses setTimeout if wait is 0.\n *\n * @param {Function} func - The function to timeout.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Any[]} args - The arguments of func.\n * @returns {void}\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const setRafTimeout = <TFunc extends (...args: any[]) => void>(\n func: TFunc,\n wait: number,\n ...args: Parameters<TFunc>\n): (() => void) => {\n const invokeFunc = () => func(...args);\n\n if (wait === 0) {\n const timeoutId = setTimeout(invokeFunc, wait);\n return () => clearTimeout(timeoutId);\n } else {\n let rafId: number;\n const currentTime = performance.now();\n\n const cancel = () => cancelAnimationFrame(rafId);\n\n const handleRequestAnimationFrame: FrameRequestCallback = (time) => {\n const delta = time - currentTime;\n\n cancel();\n\n if (delta < wait) {\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n } else {\n invokeFunc();\n }\n };\n\n rafId = requestAnimationFrame(handleRequestAnimationFrame);\n\n return cancel;\n }\n};\n","import { isNil } from './isNil';\nimport { setRafTimeout } from './setRafTimeout';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = (...args: any[]) => unknown;\n\ntype TDebounceFnReturn<T> = T extends unknown[] ? (...params: T) => void : (param: T) => void;\nexport type TDebounce<T> = TDebounceFnReturn<T> & { cancel: () => void } extends infer U ? U : never;\n\n/**\n * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed\n * since the last time the debounced function was invoked.\n *\n * @param {Function} func - The function to debounce.\n * @param {Number} wait - The number of milliseconds to delay.\n * @param {Boolean} immediate - If `true`, the function triggers immediately and then waits for the interval before being called again.\n * @return {Function} The new debounced function.\n */\nexport const debounce = <TFunc extends TFunction>(func: TFunc, wait = 0, immediate = false) => {\n let cancel: () => void | undefined;\n\n function debounceHandler(...args: Parameters<typeof func>) {\n cancel?.();\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n function timeoutHandler(fn: TFunc, context: unknown, ...args: Parameters<typeof fn>) {\n fn.apply(context, args);\n }\n\n if (immediate && isNil(cancel)) {\n func.apply(context, args);\n }\n\n cancel = setRafTimeout(timeoutHandler, wait, func, context, ...args);\n }\n\n return Object.assign(debounceHandler, {\n cancel: () => {\n cancel?.();\n },\n });\n};\n"],"mappings":";;;;;;;;;;;;;;;MASaA,gBAAgB,CAC3BC,GACAC,MACGC;EAEH,MAAMC,aAAa,MAAMH,KAAQE;EAEjC,IAAID,MAAS,GAAG;IACd,MAAMG,IAAYC,WAAWF,YAAYF;IACzC,OAAO,MAAMK,aAAaF;SACrB;IACL,IAAIG;IACJ,MAAMC,IAAcC,YAAYC;IAEhC,MAAMC,SAAS,MAAMC,qBAAqBL;IAE1C,MAAMM,8BAAqDC;MACzD,MAAMC,IAAQD,IAAON;MAErBG;MAEA,IAAII,IAAQd,GAAM;QAChBM,IAAQS,sBAAsBH;aACzB;QACLV;;;IAIJI,IAAQS,sBAAsBH;IAE9B,OAAOF;;;;;;;;;;;;UCrBEM,WAAW,CAA0BjB,GAAaC,IAAO,GAAGiB,IAAY;EACnF,IAAIP;EAEJ,SAASQ,mBAAmBjB;IAC1BS,MAAM,QAANA,WAAM,aAANA;;QAGA,MAAMS,IAAUC;IAEhB,SAASC,eAAeC,GAAWH,MAAqBlB;MACtDqB,EAAGC,MAAMJ,GAASlB;;IAGpB,IAAIgB,KAAaO,EAAMd,IAAS;MAC9BX,EAAKwB,MAAMJ,GAASlB;;IAGtBS,IAASZ,cAAcuB,gBAAgBrB,GAAMD,GAAMoB,MAAYlB;;EAGjE,OAAOwB,OAAOC,OAAOR,iBAAiB;IACpCR,QAAQ;MACNA,MAAM,QAANA,WAAM,aAANA;AAAU;;AAEZ","ignoreList":[]}
@@ -2,5 +2,12 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- const n=n=>n===null||n===undefined;export{n as i};
5
+ /**
6
+ * Check if the value is null or undefined
7
+ * @param value the value to be checked
8
+ * @returns {boolean} the value is null or undefined
9
+ */
10
+ const isNil = n => n === null || n === undefined;
11
+
12
+ export { isNil as i };
6
13
  //# sourceMappingURL=p-99829fc7.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isNil","value","undefined"],"sources":["../../packages/beeq/src/shared/utils/isNil.ts"],"sourcesContent":["/**\n * Check if the value is null or undefined\n * @param value the value to be checked\n * @returns {boolean} the value is null or undefined\n */\nexport const isNil = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n"],"mappings":";;;;MAKaA,EAAYC,GAChBA,IAAU,MAAQA,IAAUC,iB","ignoreList":[]}
1
+ {"version":3,"names":["isNil","value","undefined"],"sources":["../../packages/beeq/src/shared/utils/isNil.ts"],"sourcesContent":["/**\n * Check if the value is null or undefined\n * @param value the value to be checked\n * @returns {boolean} the value is null or undefined\n */\nexport const isNil = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n"],"mappings":";;;;;;;;;MAKaA,QAAYC,KAChBA,MAAU,QAAQA,MAAUC","ignoreList":[]}
@@ -0,0 +1,303 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ import { r, c as a, h as e, g as b } from "./p-0c42c08a.js";
6
+
7
+ import "./p-e5afdf8c.js";
8
+
9
+ import { c as t } from "./p-1f3a4359.js";
10
+
11
+ import { d as i } from "./p-951ba558.js";
12
+
13
+ import { i as n } from "./p-99829fc7.js";
14
+
15
+ import { i as s } from "./p-ecd27cf2.js";
16
+
17
+ const o = '::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.pointer-events-auto{pointer-events:auto}.box-content{box-sizing:content-box}.block{display:block}.size-\\[--bq-slider--thumb-size\\]{height:var(--bq-slider--thumb-size);width:var(--bq-slider--thumb-size)}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.rounded-full{border-radius:var(--bq-radius--full)}.border-m{border-width:var(--bq-stroke-m)}.border-solid{border-style:solid}.border-stroke-brand{border-color:var(--bq-stroke--brand)}.transition-\\[background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.bg-active-ui-brand{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.border-active-stroke-brand{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%)}.border-hover-stroke-brand{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.is-full{inline-size:100%}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}.thumb-focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.thumb-hover{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}.thumb-active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}@-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-slider--size:4px;--bq-slider--border-radius:var(--bq-radius--xs);--bq-slider--thumb-size:13px;--bq-slider--progress-color:var(--bq-ui--brand);--bq-slider--trackarea-color:var(--bq-ui--secondary);display:block;inline-size:100%}input[type=range]::-webkit-slider-thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}input[type=range]::-webkit-slider-runnable-track{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,1,1)}input[type=range]:focus-visible::-webkit-slider-thumb{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}input[type=range]:hover::-webkit-slider-thumb{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}input[type=range]:active::-webkit-slider-thumb{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}input[type=range][disabled]::-webkit-slider-thumb{cursor:not-allowed}input[type=range]::-moz-range-thumb{appearance:none;background-color:var(--bq-ui--primary);border-color:var(--bq-stroke--brand);border-radius:var(--bq-radius--full);border-style:solid;border-width:var(--bq-stroke-m);box-sizing:content-box;cursor:pointer;height:var(--bq-slider--thumb-size);pointer-events:auto;transition-duration:.3s;transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--bq-slider--thumb-size)}input[type=range]::-moz-range-track{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,1,1)}input[type=range]:focus-visible::-moz-range-thumb{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}input[type=range]:hover::-moz-range-thumb{border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-hover) 20%)}input[type=range]:active::-moz-range-thumb{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%);border-color:color-mix(in srgb,var(--bq-stroke--brand),var(--bq-active) 20%);cursor:grabbing}input[type=range][disabled]::-moz-range-thumb{cursor:not-allowed}.-translate-y-1\\/2{--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;--tw-translate-y:-50%;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))}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.start-0{inset-inline-start:0}.me-xs{margin-inline-end:var(--bq-spacing-xs)}.ms-xs{margin-inline-start:var(--bq-spacing-xs)}.flex{display:flex}.hidden{display:none}.rounded-xs{border-radius:var(--bq-radius--xs)}.bg-\\[--bq-slider--progress-color\\]{background-color:var(--bq-slider--progress-color)}.bg-\\[--bq-slider--trackarea-color\\]{background-color:var(--bq-slider--trackarea-color)}.bg-transparent{background-color:transparent}.text-start{text-align:start}.text-end{text-align:end}.text-s{font-size:var(--bq-font-size--s)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.outline-none{outline:2px solid transparent;outline-offset:2px}.bs-1{block-size:.25rem}.is-1{inline-size:.25rem}.is-\\[50\\%\\]{inline-size:50%}.is-fit{inline-size:fit-content}.min-is-8{min-inline-size:2rem}.inset-bs-\\[50\\%\\]{inset-block-start:50%}.\\[font-variant\\:tabular-nums\\]{font-variant:tabular-nums}.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}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:\\:part\\(panel\\)\\]\\:absolute::part(panel){position:absolute}.visible{visibility:visible}.fixed{position:fixed}';
18
+
19
+ const q = o;
20
+
21
+ const d = class {
22
+ constructor(b) {
23
+ r(this, b);
24
+ this.bqChange = a(this, "bqChange", 7);
25
+ this.bqBlur = a(this, "bqBlur", 7);
26
+ this.bqFocus = a(this, "bqFocus", 7);
27
+ // Listeners
28
+ // ==============
29
+ // Public methods API
30
+ // These methods are exposed on the host element.
31
+ // Always use two lines.
32
+ // Public Methods must be async.
33
+ // Requires JSDocs for public API documentation.
34
+ // ===============================================
35
+ // Local methods
36
+ // Internal business logic.
37
+ // These methods cannot be called from the host element.
38
+ // =======================================================
39
+ this.init = () => {
40
+ this.handleGapChange(this.gap);
41
+ this.setState(this.value);
42
+ this.handleStepPropChange();
43
+ };
44
+ this.runUpdates = () => {
45
+ this.updateProgressTrack();
46
+ this.syncInputsValue();
47
+ this.setThumbPosition();
48
+ };
49
+ this.setState = r => {
50
+ const a = this.isRangeType;
51
+ const e = this.stringToObject(r);
52
+ this.minValue = a ? t(e[0], this.min, this.max - this.gap) : e;
53
+ this.maxValue = a ? t(e[1], this.minValue + this.gap, this.max) : this.minValue;
54
+ };
55
+ this.setThumbPosition = () => {
56
+ if (!this.enableTooltip) return;
57
+ // Destructure the returned object from this.thumbPosition() and assign the properties to this.minThumbPosition and this.maxThumbPosition
58
+ ({minThumbPosition: this.minThumbPosition, maxThumbPosition: this.maxThumbPosition} = this.thumbPosition());
59
+ };
60
+ this.syncInputsValue = () => {
61
+ var r, a;
62
+ (r = this.inputMinElem) === null || r === void 0 ? void 0 : r.setAttribute("value", this.minValue.toString());
63
+ (a = this.inputMaxElem) === null || a === void 0 ? void 0 : a.setAttribute("value", this.maxValue.toString());
64
+ };
65
+ this.stringToObject = r => s(r) ? JSON.parse(r) : r;
66
+ this.handleInputChange = (r, a) => {
67
+ const e = a.target;
68
+ const b = parseFloat(e.value);
69
+ if (r === "min") {
70
+ this.minValue = this.isRangeType ? Math.min(b, this.maxValue - this.gap) : b;
71
+ } else if (r === "max") {
72
+ this.maxValue = this.isRangeType ? Math.max(b, this.minValue + this.gap) : b;
73
+ }
74
+ // Update the input value to reflect the clamped value
75
+ const t = (r === "min" ? this.minValue : this.maxValue).toString();
76
+ e.value = t;
77
+ e.setAttribute("value", t);
78
+ // Sync the prop value.
79
+ // This will trigger the `@Watch('value')` method and emit the `bqChange` event.
80
+ this.value = this.isRangeType ? [ this.minValue, this.maxValue ] : this.minValue;
81
+ };
82
+ this.calculatePercent = r => {
83
+ const a = Number(this.max) - Number(this.min);
84
+ return r / a * 100;
85
+ };
86
+ this.updateProgressTrack = () => {
87
+ if (!this.progressElem) return;
88
+ // For range type, left starts from the `min` value and width is the difference between `max` and `min`.
89
+ // For non-range type, left starts from 0 and width is the `min` value.
90
+ const r = this.isRangeType ? this.calculatePercent(this.minValue) : 0;
91
+ const a = this.isRangeType ? this.calculatePercent(Number(this.maxValue) - Number(this.minValue)) : this.calculatePercent(this.minValue);
92
+ this.progressElem.style.insetInlineStart = `${r}%`;
93
+ this.progressElem.style.inlineSize = `${a}%`;
94
+ };
95
+ this.calculateThumbPosition = r => {
96
+ if (!this.progressElem) return;
97
+ // Get the width of the track area and the size of the input range thumb
98
+ const a = this.trackElem.getBoundingClientRect().width;
99
+ // We need to also add 4px to the thumb size,
100
+ // this is because the thumb is 2px border (`border-m`)
101
+ const e = parseInt(getComputedStyle(this.el).getPropertyValue("--bq-slider--thumb-size"), 10) + 4;
102
+ const b = a - e;
103
+ return (r - this.min) / (this.max - this.min) * b + e / 2;
104
+ };
105
+ this.thumbPosition = () => {
106
+ const r = this.calculateThumbPosition(this.minValue);
107
+ const a = this.isRangeType ? this.calculateThumbPosition(this.maxValue) : undefined;
108
+ return {
109
+ minThumbPosition: r,
110
+ maxThumbPosition: a
111
+ };
112
+ };
113
+ this.emitBqChange = () => {
114
+ var r;
115
+ (r = this.debounceBqChange) === null || r === void 0 ? void 0 : r.cancel();
116
+ const a = this.isRangeType ? [ this.minValue, this.maxValue ] : this.minValue;
117
+ this.debounceBqChange = i((() => this.bqChange.emit({
118
+ value: a,
119
+ el: this.el
120
+ })), this.debounceTime);
121
+ this.debounceBqChange();
122
+ };
123
+ this.handleBlur = () => {
124
+ this.bqBlur.emit(this.el);
125
+ };
126
+ this.handleFocus = () => {
127
+ this.bqFocus.emit(this.el);
128
+ };
129
+ this.handleMouseDown = r => {
130
+ this.handleTooltipVisibility(r, "remove");
131
+ };
132
+ this.handleMouseUp = r => {
133
+ this.handleTooltipVisibility(r, "add");
134
+ };
135
+ this.handleTooltipVisibility = (r, a) => {
136
+ if (!this.enableTooltip || this.tooltipAlwaysVisible) return;
137
+ const e = r.target;
138
+ const b = e === this.inputMinElem ? this.minTooltipElem : this.maxTooltipElem;
139
+ b.classList[a]("hidden");
140
+ };
141
+ this.renderLabel = (r, a, b) => e("span", {
142
+ class: {
143
+ [`${b} box-content block text-s font-medium leading-regular text-text-primary is-fit min-is-8 [font-variant:tabular-nums]`]: true,
144
+ hidden: a === "start" ? !this.enableValueIndicator : !this.enableValueIndicator || !this.isRangeType
145
+ },
146
+ part: `label-${a}`
147
+ }, r.toFixed(this.decimalCount));
148
+ this.renderInput = (r, a, b) => {
149
+ // Determine the zIndex value based on the type and the current min and max values.
150
+ const zIndexValue = r => {
151
+ const a = {
152
+ min: this.minValue === this.min && this.maxValue === this.minValue,
153
+ max: this.maxValue === this.max && this.minValue === this.maxValue
154
+ };
155
+ // If the value of both thumbs is the same as the min or max value, set the zIndex to -1
156
+ return a[r] ? "-1" : "0";
157
+ };
158
+ return e("input", {
159
+ type: "range",
160
+ class: {
161
+ "absolute start-0 -translate-y-1/2 cursor-pointer appearance-none bg-transparent outline-none is-full inset-bs-[50%] disabled:cursor-not-allowed": true,
162
+ "pointer-events-none": this.isRangeType
163
+ },
164
+ style: this.isRangeType ? {
165
+ zIndex: zIndexValue(r)
166
+ } : undefined,
167
+ disabled: this.disabled,
168
+ min: this.min,
169
+ max: this.max,
170
+ step: this.step,
171
+ ref: b,
172
+ onInput: a => this.handleInputChange(r, a),
173
+ onBlur: this.handleBlur,
174
+ onFocus: this.handleFocus,
175
+ onMouseDown: this.handleMouseDown,
176
+ onMouseUp: this.handleMouseUp,
177
+ value: a,
178
+ part: `input-${r}`
179
+ });
180
+ };
181
+ this.renderTooltip = (r, a, b) => e("bq-tooltip", {
182
+ class: {
183
+ "absolute [&::part(panel)]:absolute": true,
184
+ hidden: !this.isTooltipAlwaysVisible
185
+ },
186
+ exportparts: "base,trigger,panel",
187
+ alwaysVisible: true,
188
+ distance: this.enableValueIndicator ? 6 : 16,
189
+ style: {
190
+ insetInlineStart: `${a}px`,
191
+ fontVariant: "tabular-nums"
192
+ },
193
+ ref: b
194
+ }, e("div", {
195
+ class: "absolute bs-1 is-1",
196
+ slot: "trigger"
197
+ }), r.toFixed(this.decimalCount));
198
+ this.minValue = undefined;
199
+ this.maxValue = undefined;
200
+ this.minThumbPosition = undefined;
201
+ this.maxThumbPosition = undefined;
202
+ this.debounceTime = 0;
203
+ this.disabled = false;
204
+ this.enableValueIndicator = false;
205
+ this.gap = 0;
206
+ this.max = 100;
207
+ this.min = 0;
208
+ this.step = 1;
209
+ this.type = "single";
210
+ this.value = undefined;
211
+ this.enableTooltip = false;
212
+ this.tooltipAlwaysVisible = false;
213
+ }
214
+ // Prop lifecycle events
215
+ // =======================
216
+ handleValuePropChange(r) {
217
+ this.setState(r);
218
+ this.emitBqChange();
219
+ }
220
+ handleStepPropChange() {
221
+ this.minValue = Math.round(this.minValue / this.step) * this.step;
222
+ this.maxValue = Math.round(this.maxValue / this.step) * this.step;
223
+ }
224
+ handleGapChange(r) {
225
+ if (!this.isRangeType) return;
226
+ // Use the this.value prop value when the component is initialized
227
+ // Otherwise, use the current this.min and this.max state values
228
+ const a = !n(this.min) && !n(this.max) ? [ this.min, this.max ] : this.stringToObject(this.value);
229
+ // If the gap is less than the min or greater than the max, set it to 0
230
+ this.gap = r < a[0] || r > a[1] ? 0 : r;
231
+ }
232
+ // Component lifecycle events
233
+ // Ordered by their natural call order
234
+ // =====================================
235
+ connectedCallback() {
236
+ this.init();
237
+ }
238
+ componentWillLoad() {
239
+ this.init();
240
+ }
241
+ componentDidLoad() {
242
+ this.runUpdates();
243
+ }
244
+ componentDidUpdate() {
245
+ this.runUpdates();
246
+ }
247
+ get decimalCount() {
248
+ // Return the length of the decimal part of the step value.
249
+ return (this.step % 1).toFixed(10).split(".")[1].replace(/0+$/, "").length;
250
+ }
251
+ get isRangeType() {
252
+ return this.type === "range";
253
+ }
254
+ get isTooltipAlwaysVisible() {
255
+ return this.tooltipAlwaysVisible && this.enableTooltip;
256
+ }
257
+ // render() function
258
+ // Always the last one in the class.
259
+ // ===================================
260
+ render() {
261
+ return e("div", {
262
+ key: "7e5e51fd0071e51d0044aad5806ca6f0830effd6",
263
+ "aria-disabled": this.disabled ? "true" : "false",
264
+ class: {
265
+ "flex is-full": true,
266
+ "cursor-not-allowed opacity-60": this.disabled
267
+ },
268
+ part: "base"
269
+ }, this.renderLabel(this.minValue, "start", "me-xs text-end"), e("div", {
270
+ key: "a634215936756adc80b3b1334be46e043d56e0e5",
271
+ class: "relative is-full",
272
+ part: "container"
273
+ }, e("span", {
274
+ key: "84706af7ff86d2f7552671716e202c5c1cf2726a",
275
+ class: "absolute start-0 -translate-y-1/2 rounded-xs bg-[--bq-slider--trackarea-color] bs-1 is-full inset-bs-[50%]",
276
+ ref: r => this.trackElem = r,
277
+ part: "track-area"
278
+ }), e("span", {
279
+ key: "be9989047cee5228530fe55522341adc818bac2e",
280
+ class: "absolute -translate-y-1/2 rounded-xs bg-[--bq-slider--progress-color] bs-1 is-[50%] inset-bs-[50%]",
281
+ ref: r => this.progressElem = r,
282
+ part: "progress-area"
283
+ }), this.enableTooltip && this.renderTooltip(this.minValue, this.minThumbPosition, (r => this.minTooltipElem = r)), this.renderInput("min", this.minValue, (r => this.inputMinElem = r)), this.enableTooltip && this.isRangeType && this.renderTooltip(this.maxValue, this.maxThumbPosition, (r => this.maxTooltipElem = r)), this.isRangeType && this.renderInput("max", this.maxValue, (r => this.inputMaxElem = r))), this.renderLabel(this.maxValue, "end", "ms-xs text-start"));
284
+ }
285
+ static get delegatesFocus() {
286
+ return true;
287
+ }
288
+ get el() {
289
+ return b(this);
290
+ }
291
+ static get watchers() {
292
+ return {
293
+ value: [ "handleValuePropChange" ],
294
+ step: [ "handleStepPropChange" ],
295
+ gap: [ "handleGapChange" ]
296
+ };
297
+ }
298
+ };
299
+
300
+ d.style = q;
301
+
302
+ export { d as bq_slider };
303
+ //# sourceMappingURL=p-9aa18e2f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bqSliderCss","BqSliderStyle0","BqSlider","this","init","handleGapChange","gap","setState","value","handleStepPropChange","runUpdates","updateProgressTrack","syncInputsValue","setThumbPosition","newValue","isRangeType","stringToObject","minValue","clamp","min","max","maxValue","enableTooltip","minThumbPosition","maxThumbPosition","thumbPosition","_a","inputMinElem","setAttribute","toString","_b","inputMaxElem","isString","JSON","parse","handleInputChange","type","event","target","parseFloat","Math","reflectedValue","calculatePercent","totalRange","Number","progressElem","left","width","style","insetInlineStart","inlineSize","calculateThumbPosition","trackAreaWidth","trackElem","getBoundingClientRect","inputThumbSize","parseInt","getComputedStyle","el","getPropertyValue","totalWidth","undefined","emitBqChange","debounceBqChange","cancel","debounce","bqChange","emit","debounceTime","handleBlur","bqBlur","handleFocus","bqFocus","handleMouseDown","handleTooltipVisibility","handleMouseUp","action","tooltipAlwaysVisible","tooltipElem","minTooltipElem","maxTooltipElem","classList","renderLabel","position","css","h","class","hidden","enableValueIndicator","part","toFixed","decimalCount","renderInput","refCallback","zIndexValue","zIndex","disabled","step","ref","onInput","ev","onBlur","onFocus","onMouseDown","onMouseUp","renderTooltip","isTooltipAlwaysVisible","exportparts","alwaysVisible","distance","fontVariant","slot","handleValuePropChange","round","isNil","connectedCallback","componentWillLoad","componentDidLoad","componentDidUpdate","split","replace","length","render","key","elem","input"],"sources":["../../packages/beeq/src/components/slider/scss/bq-slider.scss?tag=bq-slider&encapsulation=shadow","../../packages/beeq/src/components/slider/bq-slider.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Slider styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-slider.variables';\n\n@layer components {\n .thumb {\n @apply pointer-events-auto box-content size-[--bq-slider--thumb-size] cursor-pointer appearance-none rounded-full border-m border-solid border-stroke-brand bg-ui-primary;\n @apply transition-[background-color,border-color,box-shadow] duration-300;\n }\n\n .thumb-focus {\n @apply focus;\n }\n\n .thumb-hover {\n @apply border-hover-stroke-brand;\n }\n\n .thumb-active {\n @apply cursor-grabbing bg-active-ui-brand border-active-stroke-brand;\n }\n}\n\n:host {\n @apply block is-full;\n}\n\n/* ---------------------- Webkit (Chrome, Safari, Edge) --------------------- */\n\ninput[type='range']::-webkit-slider-thumb {\n @apply thumb;\n}\n\ninput[type='range']::-webkit-slider-runnable-track {\n @apply transition-all duration-300 ease-in;\n}\n\ninput[type='range']:focus-visible::-webkit-slider-thumb {\n @apply thumb-focus;\n}\n\ninput[type='range']:hover::-webkit-slider-thumb {\n @apply thumb-hover;\n}\n\ninput[type='range']:active::-webkit-slider-thumb {\n @apply thumb-active;\n}\n\ninput[type='range'][disabled]::-webkit-slider-thumb {\n @apply cursor-not-allowed;\n}\n\n/* ---------------------------- Mozilla (Firefox) --------------------------- */\n\ninput[type='range']::-moz-range-thumb {\n @apply thumb;\n}\n\ninput[type='range']::-moz-range-track {\n @apply transition-all duration-300 ease-in;\n}\n\ninput[type='range']:focus-visible::-moz-range-thumb {\n @apply thumb-focus;\n}\n\ninput[type='range']:hover::-moz-range-thumb {\n @apply thumb-hover;\n}\n\ninput[type='range']:active::-moz-range-thumb {\n @apply thumb-active;\n}\n\ninput[type='range'][disabled]::-moz-range-thumb {\n @apply cursor-not-allowed;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\n\nimport { TSliderType, TSliderValue } from './bq-slider.types';\nimport { clamp, debounce, isNil, isString, TDebounce } from '../../shared/utils';\n\n/**\n * @part base - The component's base wrapper.\n * @part container - The container of the slider.\n * @part track-area - The track area of the slider.\n * @part progress-area - The progress area of the slider.\n * @part input-min - The input element for the value when the slider type is `single` or the minimum value when the slider type is `range`.\n * @part input-max - The input element for the maximum value.\n * @part label-start - The label for the value when the slider type is `single` or the minimum value when the slider type is `range`.\n * @part label-end - The label for maximum value when the slider type is `range`.\n */\n@Component({\n tag: 'bq-slider',\n styleUrl: './scss/bq-slider.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSlider {\n // Own Properties\n // ====================\n\n private inputMinElem: HTMLInputElement;\n private inputMaxElem: HTMLInputElement;\n private minTooltipElem: HTMLBqTooltipElement;\n private maxTooltipElem: HTMLBqTooltipElement;\n private progressElem: HTMLSpanElement;\n private trackElem: HTMLSpanElement;\n private debounceBqChange: TDebounce<void>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSliderElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n /**\n * The `minValue` state is the only value when the slider type is `single`\n * and the minimum value when the slider type is `range`.\n */\n @State() minValue: number;\n /** The `maxValue` state is only used when the slider type is `range`. */\n @State() maxValue: number;\n /** It hold the left position of the Thumb for the value or the minimum value (if the slider type is `range`) */\n @State() minThumbPosition: number;\n /** It hold the left position of the Thumb for the maximum value (if the slider type is `range`) */\n @State() maxThumbPosition: number;\n\n // Public Property API\n // ========================\n\n /** The amount of time, in milliseconds, to wait to trigger the `bqChange` event after each value change. */\n @Prop({ reflect: true }) debounceTime = 0;\n\n /** If `true` the slider is disabled. */\n @Prop({ reflect: true }) disabled? = false;\n\n /** If `true` it will show the value label on a side of the slider track area */\n @Prop({ reflect: true }) enableValueIndicator? = false;\n\n /** A number representing the amount to remain between the minimum and maximum values (only for range type). */\n @Prop({ reflect: true, mutable: true }) gap = 0;\n\n /** A number representing the max value of the slider. */\n @Prop({ reflect: true }) max = 100;\n\n /** A number representing the min value of the slider. */\n @Prop({ reflect: true }) min = 0;\n\n /**\n * A number representing the step of the slider.\n * ⚠️ Please notice that the value (or list of values if the slider type is `range`) will be rounded to the nearest multiple of `step`.\n */\n @Prop({ reflect: true }) step = 1;\n\n /** It defines the type of slider to display */\n @Prop({ reflect: true }) type: TSliderType = 'single';\n\n /**\n * The value of the slider.\n * - If the slider type is `single`, the value is a number.\n * - If the slider type is `range`, the value is an array of two numbers (the first number represents the `min` value and the second number represents the `max` value).\n */\n @Prop({ reflect: true, mutable: true }) value: TSliderValue;\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n /**\n * If `true`, a tooltip will always display the progress value.\n * It relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true.\n */\n @Prop({ reflect: true }) tooltipAlwaysVisible: boolean = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValuePropChange(newValue: TSliderValue) {\n this.setState(newValue);\n this.emitBqChange();\n }\n\n @Watch('step')\n handleStepPropChange() {\n this.minValue = Math.round(this.minValue / this.step) * this.step;\n this.maxValue = Math.round(this.maxValue / this.step) * this.step;\n }\n\n @Watch('gap')\n handleGapChange(newValue: number) {\n if (!this.isRangeType) return;\n // Use the this.value prop value when the component is initialized\n // Otherwise, use the current this.min and this.max state values\n const value = !isNil(this.min) && !isNil(this.max) ? [this.min, this.max] : this.stringToObject(this.value);\n // If the gap is less than the min or greater than the max, set it to 0\n this.gap = newValue < value[0] || newValue > value[1] ? 0 : newValue;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when change the value on range inputs */\n @Event() bqChange: EventEmitter<{ value: Exclude<TSliderValue, string>; el: HTMLBqSliderElement }>;\n\n /** Handler to be called when the slider loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqSliderElement>;\n\n /** Handler to be called when the slider gets focused */\n @Event() bqFocus: EventEmitter<HTMLBqSliderElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.init();\n }\n\n componentWillLoad() {\n this.init();\n }\n\n componentDidLoad() {\n this.runUpdates();\n }\n\n componentDidUpdate() {\n this.runUpdates();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private init = () => {\n this.handleGapChange(this.gap);\n this.setState(this.value);\n this.handleStepPropChange();\n };\n\n private runUpdates = () => {\n this.updateProgressTrack();\n this.syncInputsValue();\n this.setThumbPosition();\n };\n\n private setState = (newValue: TSliderValue) => {\n const isRangeType = this.isRangeType;\n const value = this.stringToObject(newValue);\n\n this.minValue = isRangeType ? clamp(value[0], this.min, this.max - this.gap) : value;\n this.maxValue = isRangeType ? clamp(value[1], this.minValue + this.gap, this.max) : this.minValue;\n };\n\n private setThumbPosition = () => {\n if (!this.enableTooltip) return;\n\n // Destructure the returned object from this.thumbPosition() and assign the properties to this.minThumbPosition and this.maxThumbPosition\n ({ minThumbPosition: this.minThumbPosition, maxThumbPosition: this.maxThumbPosition } = this.thumbPosition());\n };\n\n private syncInputsValue = () => {\n this.inputMinElem?.setAttribute('value', this.minValue.toString());\n this.inputMaxElem?.setAttribute('value', this.maxValue.toString());\n };\n\n private stringToObject = (value: TSliderValue) => (isString(value) ? JSON.parse(value) : value);\n\n private handleInputChange = (type: 'min' | 'max', event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n const value = parseFloat(target.value);\n\n if (type === 'min') {\n this.minValue = this.isRangeType ? Math.min(value, this.maxValue - this.gap) : value;\n } else if (type === 'max') {\n this.maxValue = this.isRangeType ? Math.max(value, this.minValue + this.gap) : value;\n }\n\n // Update the input value to reflect the clamped value\n const reflectedValue = (type === 'min' ? this.minValue : this.maxValue).toString();\n target.value = reflectedValue;\n target.setAttribute('value', reflectedValue);\n\n // Sync the prop value.\n // This will trigger the `@Watch('value')` method and emit the `bqChange` event.\n this.value = this.isRangeType ? [this.minValue, this.maxValue] : this.minValue;\n };\n\n private calculatePercent = (value: number) => {\n const totalRange = Number(this.max) - Number(this.min);\n return (value / totalRange) * 100;\n };\n\n private updateProgressTrack = () => {\n if (!this.progressElem) return;\n\n // For range type, left starts from the `min` value and width is the difference between `max` and `min`.\n // For non-range type, left starts from 0 and width is the `min` value.\n const left = this.isRangeType ? this.calculatePercent(this.minValue) : 0;\n const width = this.isRangeType\n ? this.calculatePercent(Number(this.maxValue) - Number(this.minValue))\n : this.calculatePercent(this.minValue);\n\n this.progressElem.style.insetInlineStart = `${left}%`;\n this.progressElem.style.inlineSize = `${width}%`;\n };\n\n private calculateThumbPosition = (value: number): number => {\n if (!this.progressElem) return;\n\n // Get the width of the track area and the size of the input range thumb\n const trackAreaWidth = this.trackElem.getBoundingClientRect().width;\n // We need to also add 4px to the thumb size,\n // this is because the thumb is 2px border (`border-m`)\n const inputThumbSize = parseInt(getComputedStyle(this.el).getPropertyValue('--bq-slider--thumb-size'), 10) + 4;\n const totalWidth = trackAreaWidth - inputThumbSize;\n\n return ((value - this.min) / (this.max - this.min)) * totalWidth + inputThumbSize / 2;\n };\n\n private thumbPosition = (): { minThumbPosition: number; maxThumbPosition?: number } => {\n const minThumbPosition = this.calculateThumbPosition(this.minValue);\n const maxThumbPosition = this.isRangeType ? this.calculateThumbPosition(this.maxValue) : undefined;\n\n return { minThumbPosition, maxThumbPosition };\n };\n\n private emitBqChange = () => {\n this.debounceBqChange?.cancel();\n\n const value: Exclude<TSliderValue, string> = this.isRangeType ? [this.minValue, this.maxValue] : this.minValue;\n this.debounceBqChange = debounce(() => this.bqChange.emit({ value, el: this.el }), this.debounceTime);\n\n this.debounceBqChange();\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleMouseDown = (event: MouseEvent) => {\n this.handleTooltipVisibility(event, 'remove');\n };\n\n private handleMouseUp = (event: MouseEvent) => {\n this.handleTooltipVisibility(event, 'add');\n };\n\n private handleTooltipVisibility = (event: MouseEvent, action: 'add' | 'remove') => {\n if (!this.enableTooltip || this.tooltipAlwaysVisible) return;\n\n const target = event.target as HTMLElement;\n const tooltipElem = target === this.inputMinElem ? this.minTooltipElem : this.maxTooltipElem;\n tooltipElem.classList[action]('hidden');\n };\n\n private get decimalCount(): number {\n // Return the length of the decimal part of the step value.\n return (this.step % 1).toFixed(10).split('.')[1].replace(/0+$/, '').length;\n }\n\n private get isRangeType() {\n return this.type === 'range';\n }\n\n private get isTooltipAlwaysVisible(): boolean {\n return this.tooltipAlwaysVisible && this.enableTooltip;\n }\n\n private renderLabel = (value: number, position: 'start' | 'end', css?: string) => {\n return (\n <span\n class={{\n [`${css} box-content block text-s font-medium leading-regular text-text-primary is-fit min-is-8 [font-variant:tabular-nums]`]:\n true,\n hidden: position === 'start' ? !this.enableValueIndicator : !this.enableValueIndicator || !this.isRangeType,\n }}\n part={`label-${position}`}\n >\n {value.toFixed(this.decimalCount)}\n </span>\n );\n };\n\n private renderInput = (type: 'max' | 'min', value: number, refCallback: (input: HTMLInputElement) => void) => {\n // Determine the zIndex value based on the type and the current min and max values.\n const zIndexValue = (type: 'min' | 'max'): string => {\n const zIndex = {\n min: this.minValue === this.min && this.maxValue === this.minValue,\n max: this.maxValue === this.max && this.minValue === this.maxValue,\n };\n\n // If the value of both thumbs is the same as the min or max value, set the zIndex to -1\n return zIndex[type] ? '-1' : '0';\n };\n\n return (\n <input\n type=\"range\"\n class={{\n 'absolute start-0 -translate-y-1/2 cursor-pointer appearance-none bg-transparent outline-none is-full inset-bs-[50%] disabled:cursor-not-allowed':\n true,\n 'pointer-events-none': this.isRangeType,\n }}\n style={this.isRangeType ? { zIndex: zIndexValue(type) } : undefined}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n ref={refCallback}\n onInput={(ev) => this.handleInputChange(type, ev)}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n value={value}\n part={`input-${type}`}\n />\n );\n };\n\n private renderTooltip = (\n value: number,\n thumbPosition: number,\n refCallback: (elem: HTMLBqTooltipElement) => void,\n ): HTMLBqTooltipElement => (\n <bq-tooltip\n class={{\n 'absolute [&::part(panel)]:absolute': true,\n hidden: !this.isTooltipAlwaysVisible,\n }}\n exportparts=\"base,trigger,panel\"\n alwaysVisible={true}\n distance={this.enableValueIndicator ? 6 : 16}\n style={{ insetInlineStart: `${thumbPosition}px`, fontVariant: 'tabular-nums' }}\n ref={refCallback}\n >\n <div class=\"absolute bs-1 is-1\" slot=\"trigger\" />\n {value.toFixed(this.decimalCount)}\n </bq-tooltip>\n );\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n aria-disabled={this.disabled ? 'true' : 'false'}\n class={{ 'flex is-full': true, 'cursor-not-allowed opacity-60': this.disabled }}\n part=\"base\"\n >\n {/* LABEL (start) */}\n {this.renderLabel(this.minValue, 'start', 'me-xs text-end')}\n {/* SLIDER */}\n <div class=\"relative is-full\" part=\"container\">\n {/* TRACK AREA */}\n <span\n class=\"absolute start-0 -translate-y-1/2 rounded-xs bg-[--bq-slider--trackarea-color] bs-1 is-full inset-bs-[50%]\"\n ref={(elem) => (this.trackElem = elem)}\n part=\"track-area\"\n />\n {/* PROGRESS AREA */}\n <span\n class=\"absolute -translate-y-1/2 rounded-xs bg-[--bq-slider--progress-color] bs-1 is-[50%] inset-bs-[50%]\"\n ref={(elem) => (this.progressElem = elem)}\n part=\"progress-area\"\n />\n {/* TOOLTIP on top of the value or min value (if the slider type is `range`) */}\n {this.enableTooltip &&\n this.renderTooltip(this.minValue, this.minThumbPosition, (elem) => (this.minTooltipElem = elem))}\n {/* INPUT (Min), used on single type */}\n {this.renderInput('min', this.minValue, (input) => (this.inputMinElem = input))}\n {/* TOOLTIP on top of the max value (if the slider type is `range`) */}\n {this.enableTooltip &&\n this.isRangeType &&\n this.renderTooltip(this.maxValue, this.maxThumbPosition, (elem) => (this.maxTooltipElem = elem))}\n {/* INPUT (Max) */}\n {this.isRangeType && this.renderInput('max', this.maxValue, (input) => (this.inputMaxElem = input))}\n </div>\n {/* LABEL (end) */}\n {this.renderLabel(this.maxValue, 'end', 'ms-xs text-start')}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,5 +2,122 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- const t=async(t,n=null)=>{t.classList.remove("hidden");await a("enter",t,n)};const n=async(t,n=null)=>{await a("leave",t,n);t.classList.add("hidden")};const s=async(s,a=null)=>{if(s.classList.contains("hidden")){await t(s,a)}else{await n(s,a)}};const a=async(t,n,s)=>{const{dataset:a}=n;const d=s?`${s}-${t}`:t;const l=`transition${t.charAt(0).toUpperCase()+t.slice(1)}`;const w=e(a,l,d);const $=e(a,`${l}Start`,`${d}-start`);const m=e(a,`${l}End`,`${d}-end`);o(n,w);o(n,$);await i();c(n,$);o(n,m);await r(n);c(n,m);c(n,w)};const e=(t,n,s)=>t[n]?t[n].split(" "):[s];const o=(t,n)=>{t.classList.add(...n)};const c=(t,n)=>{t.classList.remove(...n)};const i=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>t()))}))}));const r=t=>Promise.all(t.getAnimations().map((t=>t.finished)));export{t as e,n as l,s as t};
5
+ /* -------------------------------------------------------------------------- */
6
+ /* Credits to MikeMcCall for the original implementation */
7
+ /* Github: https://github.com/mmccall10/el-transition */
8
+ /* -------------------------------------------------------------------------- */
9
+ /**
10
+ * Transition an element entry
11
+ *
12
+ * @param element The element to enter
13
+ * @param transitionName The name of the transition
14
+ * @returns A promise that resolves when the transition is complete
15
+ */
16
+ const enter = async (t, n = null) => {
17
+ t.classList.remove("hidden");
18
+ await transition("enter", t, n);
19
+ };
20
+
21
+ /**
22
+ * Transition an element exit
23
+ *
24
+ * @param element The element to leave
25
+ * @param transitionName The name of the transition
26
+ * @returns A promise that resolves when the transition is complete
27
+ */ const leave = async (t, n = null) => {
28
+ await transition("leave", t, n);
29
+ t.classList.add("hidden");
30
+ };
31
+
32
+ /**
33
+ * Toggle an element entry/exit
34
+ *
35
+ * @param element The element to toggle
36
+ * @param transitionName The name of the transition
37
+ * @returns A promise that resolves when the transition is complete
38
+ */ const toggle = async (t, n = null) => {
39
+ if (t.classList.contains("hidden")) {
40
+ await enter(t, n);
41
+ } else {
42
+ await leave(t, n);
43
+ }
44
+ };
45
+
46
+ /**
47
+ * Perform a transition on an element
48
+ *
49
+ * @param direction The direction of the transition
50
+ * @param element The element to transition
51
+ * @param animation The animation to use
52
+ * @returns A promise that resolves when the transition is complete
53
+ * @internal
54
+ */ const transition = async (t, n, s) => {
55
+ const {dataset: a} = n;
56
+ const e = s ? `${s}-${t}` : t;
57
+ const o = `transition${t.charAt(0).toUpperCase() + t.slice(1)}`;
58
+ // Get the genesis, start, and end classes
59
+ const c = getDatasetValueOrDefault(a, o, e);
60
+ const i = getDatasetValueOrDefault(a, `${o}Start`, `${e}-start`);
61
+ const r = getDatasetValueOrDefault(a, `${o}End`, `${e}-end`);
62
+ // Add genesis and start classes, then wait for the next frame
63
+ addClasses(n, c);
64
+ addClasses(n, i);
65
+ await nextFrame();
66
+ // Replace start classes with end classes, then wait for the transition to finish
67
+ removeClasses(n, i);
68
+ addClasses(n, r);
69
+ await afterTransition(n);
70
+ // Remove end and genesis classes
71
+ removeClasses(n, r);
72
+ removeClasses(n, c);
73
+ };
74
+
75
+ /**
76
+ * Get the value of a dataset key or a default value
77
+ *
78
+ * @param dataset The dataset to get the value from
79
+ * @param key The key to get the value for
80
+ * @param defaultValue The default value to return if the key is not found
81
+ * @returns The value of the dataset key or the default value
82
+ * @internal
83
+ */ const getDatasetValueOrDefault = (t, n, s) => t[n] ? t[n].split(" ") : [ s ];
84
+
85
+ /**
86
+ * Add classes to an element
87
+ *
88
+ * @param element The element to add the CSS classes to
89
+ * @param classes The classes to add
90
+ * @internal
91
+ */ const addClasses = (t, n) => {
92
+ t.classList.add(...n);
93
+ };
94
+
95
+ /**
96
+ * Remove classes from an element
97
+ *
98
+ * @param element The element to remove the CSS classes from
99
+ * @param classes The classes to remove
100
+ * @internal
101
+ */ const removeClasses = (t, n) => {
102
+ t.classList.remove(...n);
103
+ };
104
+
105
+ /**
106
+ * Wait for the next frame
107
+ * @returns A promise that resolves when the next frame is available
108
+ * @internal
109
+ */ const nextFrame = () => new Promise((t => {
110
+ requestAnimationFrame((() => {
111
+ requestAnimationFrame((() => t()));
112
+ }));
113
+ }));
114
+
115
+ /**
116
+ * Wait for all animations to finish
117
+ * @param element The element to wait for
118
+ * @returns A promise that resolves when all animations are finished
119
+ * @internal
120
+ */ const afterTransition = t => Promise.all(t.getAnimations().map((t => t.finished)));
121
+
122
+ export { enter as e, leave as l, toggle as t };
6
123
  //# sourceMappingURL=p-a5dc1c94.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["enter","async","element","transitionName","classList","remove","transition","leave","add","toggle","contains","direction","animation","dataset","animationClass","transitionKey","charAt","toUpperCase","slice","genesisClasses","getDatasetValueOrDefault","startClasses","endClasses","addClasses","nextFrame","removeClasses","afterTransition","key","defaultValue","split","classes","Promise","resolve","requestAnimationFrame","all","getAnimations","map","finished"],"sources":["../../packages/beeq/src/shared/utils/transition.ts"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Credits to MikeMcCall for the original implementation */\n/* Github: https://github.com/mmccall10/el-transition */\n/* -------------------------------------------------------------------------- */\n\ninterface HTMLElementWithAnimations extends HTMLElement {\n getAnimations(): Animation[];\n}\n\n/**\n * Transition an element entry\n *\n * @param element The element to enter\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const enter = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n};\n\n/**\n * Transition an element exit\n *\n * @param element The element to leave\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const leave = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n};\n\n/**\n * Toggle an element entry/exit\n *\n * @param element The element to toggle\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const toggle = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n};\n\n/**\n * Perform a transition on an element\n *\n * @param direction The direction of the transition\n * @param element The element to transition\n * @param animation The animation to use\n * @returns A promise that resolves when the transition is complete\n * @internal\n */\nconst transition = async (direction: string, element: HTMLElement, animation: string | null): Promise<void> => {\n const { dataset } = element;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n\n // Get the genesis, start, and end classes\n const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);\n const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);\n const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);\n\n // Add genesis and start classes, then wait for the next frame\n addClasses(element, genesisClasses);\n addClasses(element, startClasses);\n await nextFrame();\n\n // Replace start classes with end classes, then wait for the transition to finish\n removeClasses(element, startClasses);\n addClasses(element, endClasses);\n await afterTransition(element as HTMLElementWithAnimations);\n\n // Remove end and genesis classes\n removeClasses(element, endClasses);\n removeClasses(element, genesisClasses);\n};\n\n/**\n * Get the value of a dataset key or a default value\n *\n * @param dataset The dataset to get the value from\n * @param key The key to get the value for\n * @param defaultValue The default value to return if the key is not found\n * @returns The value of the dataset key or the default value\n * @internal\n */\nconst getDatasetValueOrDefault = (dataset: DOMStringMap, key: string, defaultValue: string): string[] => {\n return dataset[key] ? dataset[key].split(' ') : [defaultValue];\n};\n\n/**\n * Add classes to an element\n *\n * @param element The element to add the CSS classes to\n * @param classes The classes to add\n * @internal\n */\nconst addClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.add(...classes);\n};\n\n/**\n * Remove classes from an element\n *\n * @param element The element to remove the CSS classes from\n * @param classes The classes to remove\n * @internal\n */\nconst removeClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.remove(...classes);\n};\n\n/**\n * Wait for the next frame\n * @returns A promise that resolves when the next frame is available\n * @internal\n */\nconst nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => resolve());\n });\n });\n};\n\n/**\n * Wait for all animations to finish\n * @param element The element to wait for\n * @returns A promise that resolves when all animations are finished\n * @internal\n */\nconst afterTransition = (element: HTMLElementWithAnimations): Promise<Animation[]> => {\n return Promise.all(element.getAnimations().map((animation) => animation.finished));\n};\n"],"mappings":";;;;MAgBaA,EAAQC,MAAOC,EAAsBC,EAAgC,QAChFD,EAAQE,UAAUC,OAAO,gBACnBC,EAAW,QAASJ,EAASC,EAAe,E,MAUvCI,EAAQN,MAAOC,EAAsBC,EAAgC,cAC1EG,EAAW,QAASJ,EAASC,GACnCD,EAAQE,UAAUI,IAAI,SAAS,E,MAUpBC,EAASR,MAAOC,EAAsBC,EAAgC,QACjF,GAAID,EAAQE,UAAUM,SAAS,UAAW,OAClCV,EAAME,EAASC,E,KAChB,OACCI,EAAML,EAASC,E,GAazB,MAAMG,EAAaL,MAAOU,EAAmBT,EAAsBU,KACjE,MAAMC,QAAEA,GAAYX,EACpB,MAAMY,EAAiBF,EAAY,GAAGA,KAAaD,IAAcA,EACjE,MAAMI,EAAgB,aAAaJ,EAAUK,OAAO,GAAGC,cAAgBN,EAAUO,MAAM,KAGvF,MAAMC,EAAiBC,EAAyBP,EAASE,EAAeD,GACxE,MAAMO,EAAeD,EAAyBP,EAAS,GAAGE,SAAsB,GAAGD,WACnF,MAAMQ,EAAaF,EAAyBP,EAAS,GAAGE,OAAoB,GAAGD,SAG/ES,EAAWrB,EAASiB,GACpBI,EAAWrB,EAASmB,SACdG,IAGNC,EAAcvB,EAASmB,GACvBE,EAAWrB,EAASoB,SACdI,EAAgBxB,GAGtBuB,EAAcvB,EAASoB,GACvBG,EAAcvB,EAASiB,EAAe,EAYxC,MAAMC,EAA2B,CAACP,EAAuBc,EAAaC,IAC7Df,EAAQc,GAAOd,EAAQc,GAAKE,MAAM,KAAO,CAACD,GAUnD,MAAML,EAAa,CAACrB,EAAsB4B,KACxC5B,EAAQE,UAAUI,OAAOsB,EAAQ,EAUnC,MAAML,EAAgB,CAACvB,EAAsB4B,KAC3C5B,EAAQE,UAAUC,UAAUyB,EAAQ,EAQtC,MAAMN,EAAY,IACT,IAAIO,SAASC,IAClBC,uBAAsB,KACpBA,uBAAsB,IAAMD,KAAU,GACtC,IAUN,MAAMN,EAAmBxB,GAChB6B,QAAQG,IAAIhC,EAAQiC,gBAAgBC,KAAKxB,GAAcA,EAAUyB,mB","ignoreList":[]}
1
+ {"version":3,"names":["enter","async","element","transitionName","classList","remove","transition","leave","add","toggle","contains","direction","animation","dataset","animationClass","transitionKey","charAt","toUpperCase","slice","genesisClasses","getDatasetValueOrDefault","startClasses","endClasses","addClasses","nextFrame","removeClasses","afterTransition","key","defaultValue","split","classes","Promise","resolve","requestAnimationFrame","all","getAnimations","map","finished"],"sources":["../../packages/beeq/src/shared/utils/transition.ts"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Credits to MikeMcCall for the original implementation */\n/* Github: https://github.com/mmccall10/el-transition */\n/* -------------------------------------------------------------------------- */\n\ninterface HTMLElementWithAnimations extends HTMLElement {\n getAnimations(): Animation[];\n}\n\n/**\n * Transition an element entry\n *\n * @param element The element to enter\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const enter = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n};\n\n/**\n * Transition an element exit\n *\n * @param element The element to leave\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const leave = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n};\n\n/**\n * Toggle an element entry/exit\n *\n * @param element The element to toggle\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const toggle = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n};\n\n/**\n * Perform a transition on an element\n *\n * @param direction The direction of the transition\n * @param element The element to transition\n * @param animation The animation to use\n * @returns A promise that resolves when the transition is complete\n * @internal\n */\nconst transition = async (direction: string, element: HTMLElement, animation: string | null): Promise<void> => {\n const { dataset } = element;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n\n // Get the genesis, start, and end classes\n const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);\n const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);\n const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);\n\n // Add genesis and start classes, then wait for the next frame\n addClasses(element, genesisClasses);\n addClasses(element, startClasses);\n await nextFrame();\n\n // Replace start classes with end classes, then wait for the transition to finish\n removeClasses(element, startClasses);\n addClasses(element, endClasses);\n await afterTransition(element as HTMLElementWithAnimations);\n\n // Remove end and genesis classes\n removeClasses(element, endClasses);\n removeClasses(element, genesisClasses);\n};\n\n/**\n * Get the value of a dataset key or a default value\n *\n * @param dataset The dataset to get the value from\n * @param key The key to get the value for\n * @param defaultValue The default value to return if the key is not found\n * @returns The value of the dataset key or the default value\n * @internal\n */\nconst getDatasetValueOrDefault = (dataset: DOMStringMap, key: string, defaultValue: string): string[] => {\n return dataset[key] ? dataset[key].split(' ') : [defaultValue];\n};\n\n/**\n * Add classes to an element\n *\n * @param element The element to add the CSS classes to\n * @param classes The classes to add\n * @internal\n */\nconst addClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.add(...classes);\n};\n\n/**\n * Remove classes from an element\n *\n * @param element The element to remove the CSS classes from\n * @param classes The classes to remove\n * @internal\n */\nconst removeClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.remove(...classes);\n};\n\n/**\n * Wait for the next frame\n * @returns A promise that resolves when the next frame is available\n * @internal\n */\nconst nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => resolve());\n });\n });\n};\n\n/**\n * Wait for all animations to finish\n * @param element The element to wait for\n * @returns A promise that resolves when all animations are finished\n * @internal\n */\nconst afterTransition = (element: HTMLElementWithAnimations): Promise<Animation[]> => {\n return Promise.all(element.getAnimations().map((animation) => animation.finished));\n};\n"],"mappings":";;;;;;;;;;;;;;;MAgBaA,QAAQC,OAAOC,GAAsBC,IAAgC;EAChFD,EAAQE,UAAUC,OAAO;QACnBC,WAAW,SAASJ,GAASC;AAAe;;;;;;;;UAUvCI,QAAQN,OAAOC,GAAsBC,IAAgC;QAC1EG,WAAW,SAASJ,GAASC;EACnCD,EAAQE,UAAUI,IAAI;AAAS;;;;;;;;UAUpBC,SAASR,OAAOC,GAAsBC,IAAgC;EACjF,IAAID,EAAQE,UAAUM,SAAS,WAAW;UAClCV,MAAME,GAASC;SAChB;UACCI,MAAML,GAASC;;;;;;;;;;;;GAazB,OAAMG,aAAaL,OAAOU,GAAmBT,GAAsBU;EACjE,OAAMC,SAAEA,KAAYX;EACpB,MAAMY,IAAiBF,IAAY,GAAGA,KAAaD,MAAcA;EACjE,MAAMI,IAAgB,aAAaJ,EAAUK,OAAO,GAAGC,gBAAgBN,EAAUO,MAAM;;IAGvF,MAAMC,IAAiBC,yBAAyBP,GAASE,GAAeD;EACxE,MAAMO,IAAeD,yBAAyBP,GAAS,GAAGE,UAAsB,GAAGD;EACnF,MAAMQ,IAAaF,yBAAyBP,GAAS,GAAGE,QAAoB,GAAGD;;IAG/ES,WAAWrB,GAASiB;EACpBI,WAAWrB,GAASmB;QACdG;;IAGNC,cAAcvB,GAASmB;EACvBE,WAAWrB,GAASoB;QACdI,gBAAgBxB;;IAGtBuB,cAAcvB,GAASoB;EACvBG,cAAcvB,GAASiB;AAAe;;;;;;;;;;GAYxC,OAAMC,2BAA2B,CAACP,GAAuBc,GAAaC,MAC7Df,EAAQc,KAAOd,EAAQc,GAAKE,MAAM,OAAO,EAACD;;;;;;;;GAUnD,OAAML,aAAa,CAACrB,GAAsB4B;EACxC5B,EAAQE,UAAUI,OAAOsB;AAAQ;;;;;;;;GAUnC,OAAML,gBAAgB,CAACvB,GAAsB4B;EAC3C5B,EAAQE,UAAUC,UAAUyB;AAAQ;;;;;;GAQtC,OAAMN,YAAY,MACT,IAAIO,SAASC;EAClBC,uBAAsB;IACpBA,uBAAsB,MAAMD;AAAU;AACtC;;;;;;;GAUN,OAAMN,kBAAmBxB,KAChB6B,QAAQG,IAAIhC,EAAQiC,gBAAgBC,KAAKxB,KAAcA,EAAUyB","ignoreList":[]}