@beeq/core 1.11.0 → 1.11.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 (691) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/bq-accordion.entry.esm.js.map +1 -1
  4. package/dist/beeq/bq-alert.entry.esm.js.map +1 -1
  5. package/dist/beeq/bq-avatar.entry.esm.js.map +1 -1
  6. package/dist/beeq/bq-badge.entry.esm.js.map +1 -1
  7. package/dist/beeq/bq-breadcrumb-item.entry.esm.js.map +1 -1
  8. package/dist/beeq/bq-breadcrumb.entry.esm.js.map +1 -1
  9. package/dist/beeq/bq-button.bq-icon.entry.esm.js.map +1 -1
  10. package/dist/beeq/bq-card.entry.esm.js.map +1 -1
  11. package/dist/beeq/bq-checkbox.entry.esm.js.map +1 -1
  12. package/dist/beeq/bq-date-picker.entry.esm.js.map +1 -1
  13. package/dist/beeq/bq-dialog.entry.esm.js.map +1 -1
  14. package/dist/beeq/bq-divider.entry.esm.js.map +1 -1
  15. package/dist/beeq/bq-drawer.entry.esm.js.map +1 -1
  16. package/dist/beeq/bq-dropdown.bq-panel.entry.esm.js.map +1 -1
  17. package/dist/beeq/bq-empty-state.entry.esm.js.map +1 -1
  18. package/dist/beeq/bq-input.entry.esm.js.map +1 -1
  19. package/dist/beeq/bq-notification.entry.esm.js.map +1 -1
  20. package/dist/beeq/bq-option-group.entry.esm.js.map +1 -1
  21. package/dist/beeq/bq-option-list.bq-tag.entry.esm.js.map +1 -1
  22. package/dist/beeq/bq-option.entry.esm.js.map +1 -1
  23. package/dist/beeq/bq-page-title.entry.esm.js.map +1 -1
  24. package/dist/beeq/bq-progress.entry.esm.js.map +1 -1
  25. package/dist/beeq/bq-radio-group.entry.esm.js.map +1 -1
  26. package/dist/beeq/bq-radio.entry.esm.js.map +1 -1
  27. package/dist/beeq/bq-select.entry.esm.js.map +1 -1
  28. package/dist/beeq/bq-side-menu-item.entry.esm.js.map +1 -1
  29. package/dist/beeq/bq-side-menu.entry.esm.js.map +1 -1
  30. package/dist/beeq/bq-slider.entry.esm.js.map +1 -1
  31. package/dist/beeq/bq-spinner.entry.esm.js.map +1 -1
  32. package/dist/beeq/bq-status.entry.esm.js.map +1 -1
  33. package/dist/beeq/bq-step-item.entry.esm.js.map +1 -1
  34. package/dist/beeq/bq-steps.entry.esm.js.map +1 -1
  35. package/dist/beeq/bq-switch.entry.esm.js.map +1 -1
  36. package/dist/beeq/bq-tab-group.entry.esm.js.map +1 -1
  37. package/dist/beeq/bq-tab.entry.esm.js.map +1 -1
  38. package/dist/beeq/bq-textarea.entry.esm.js.map +1 -1
  39. package/dist/beeq/bq-toast.entry.esm.js.map +1 -1
  40. package/dist/beeq/bq-tooltip.entry.esm.js.map +1 -1
  41. package/dist/beeq/index.esm.js +1 -1
  42. package/dist/beeq/index.esm.js.map +1 -1
  43. package/dist/beeq/{p-a9643899.entry.js → p-0bf5e367.entry.js} +2 -2
  44. package/dist/beeq/p-0bf5e367.entry.js.map +1 -0
  45. package/dist/beeq/{p-dd896cd8.entry.js → p-16defa87.entry.js} +2 -2
  46. package/dist/beeq/p-16defa87.entry.js.map +1 -0
  47. package/dist/beeq/{p-5ce77af6.entry.js → p-17de1ba4.entry.js} +2 -2
  48. package/dist/beeq/p-17de1ba4.entry.js.map +1 -0
  49. package/dist/beeq/p-1df8fe61.entry.js +6 -0
  50. package/dist/beeq/p-1df8fe61.entry.js.map +1 -0
  51. package/dist/beeq/{p-b520bdb8.entry.js → p-24749f67.entry.js} +2 -2
  52. package/dist/beeq/p-24749f67.entry.js.map +1 -0
  53. package/dist/beeq/{p-8eb8612b.entry.js → p-38add122.entry.js} +2 -2
  54. package/dist/beeq/p-38add122.entry.js.map +1 -0
  55. package/dist/beeq/{p-d1dd36ca.entry.js → p-454fa535.entry.js} +2 -2
  56. package/dist/beeq/p-454fa535.entry.js.map +1 -0
  57. package/dist/beeq/{p-ba12d135.entry.js → p-4647a0fb.entry.js} +2 -2
  58. package/dist/beeq/p-4647a0fb.entry.js.map +1 -0
  59. package/dist/beeq/{p-87430ad8.entry.js → p-4725a142.entry.js} +2 -2
  60. package/dist/beeq/p-4725a142.entry.js.map +1 -0
  61. package/dist/beeq/{p-6852a0b0.entry.js → p-51351eed.entry.js} +2 -2
  62. package/dist/beeq/p-51351eed.entry.js.map +1 -0
  63. package/dist/beeq/{p-96f6c9ae.entry.js → p-5b0a56e7.entry.js} +2 -2
  64. package/dist/beeq/p-5b0a56e7.entry.js.map +1 -0
  65. package/dist/beeq/{p-3dca7a14.entry.js → p-5c23324d.entry.js} +2 -2
  66. package/dist/beeq/p-5c23324d.entry.js.map +1 -0
  67. package/dist/beeq/{p-eb2cfa90.entry.js → p-5df7df5d.entry.js} +2 -2
  68. package/dist/beeq/p-5df7df5d.entry.js.map +1 -0
  69. package/dist/beeq/{p-c023718e.entry.js → p-5e8c8e90.entry.js} +2 -2
  70. package/dist/beeq/p-5e8c8e90.entry.js.map +1 -0
  71. package/dist/beeq/{p-1c6ef374.entry.js → p-662578a2.entry.js} +2 -2
  72. package/dist/beeq/p-662578a2.entry.js.map +1 -0
  73. package/dist/beeq/{p-3c7397cf.entry.js → p-6ae2ca4b.entry.js} +2 -2
  74. package/dist/beeq/p-6ae2ca4b.entry.js.map +1 -0
  75. package/dist/beeq/{p-0deed5d1.entry.js → p-7ca73c06.entry.js} +2 -2
  76. package/dist/beeq/p-7ca73c06.entry.js.map +1 -0
  77. package/dist/beeq/{p-7063e5c2.entry.js → p-84e62655.entry.js} +2 -2
  78. package/dist/beeq/p-84e62655.entry.js.map +1 -0
  79. package/dist/beeq/{p-dc4d2d77.entry.js → p-93d6f4f0.entry.js} +2 -2
  80. package/dist/beeq/p-93d6f4f0.entry.js.map +1 -0
  81. package/dist/beeq/{p-2f008ed1.entry.js → p-9585221e.entry.js} +2 -2
  82. package/dist/beeq/p-9585221e.entry.js.map +1 -0
  83. package/dist/beeq/{p-60db3689.entry.js → p-9c9a83f8.entry.js} +2 -2
  84. package/dist/beeq/p-9c9a83f8.entry.js.map +1 -0
  85. package/dist/beeq/{p-477f032f.entry.js → p-9e9baa82.entry.js} +2 -2
  86. package/dist/beeq/p-9e9baa82.entry.js.map +1 -0
  87. package/dist/beeq/{p-DMf9D39m.js → p-BNvWMggA.js} +2 -2
  88. package/dist/beeq/{p-DMf9D39m.js.map → p-BNvWMggA.js.map} +1 -1
  89. package/dist/beeq/p-BOf9EC3C.js +7 -0
  90. package/dist/beeq/p-BOf9EC3C.js.map +1 -0
  91. package/dist/beeq/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
  92. package/dist/beeq/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +1 -1
  93. package/dist/beeq/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
  94. package/dist/beeq/p-CVw85-WU.js.map +1 -0
  95. package/dist/beeq/p-CgIw4Syg.js +6 -0
  96. package/dist/beeq/{p-y49NXy_H.js.map → p-CgIw4Syg.js.map} +1 -1
  97. package/dist/beeq/p-DdvbF5yL.js.map +1 -1
  98. package/dist/beeq/{p-48811a09.entry.js → p-b1d2e472.entry.js} +2 -2
  99. package/dist/beeq/p-b1d2e472.entry.js.map +1 -0
  100. package/dist/beeq/p-b7efb629.entry.js +6 -0
  101. package/dist/beeq/p-b7efb629.entry.js.map +1 -0
  102. package/dist/beeq/{p-9305e1a2.entry.js → p-b88b2573.entry.js} +2 -2
  103. package/dist/beeq/p-b88b2573.entry.js.map +1 -0
  104. package/dist/beeq/p-bfca08f5.entry.js +6 -0
  105. package/dist/beeq/p-bfca08f5.entry.js.map +1 -0
  106. package/dist/beeq/{p-6a10175b.entry.js → p-c63b89d2.entry.js} +2 -2
  107. package/dist/beeq/p-c63b89d2.entry.js.map +1 -0
  108. package/dist/beeq/{p-3e8980ff.entry.js → p-ca93325b.entry.js} +2 -2
  109. package/dist/beeq/p-ca93325b.entry.js.map +1 -0
  110. package/dist/beeq/{p-04745600.entry.js → p-cb0639d5.entry.js} +2 -2
  111. package/dist/beeq/p-cb0639d5.entry.js.map +1 -0
  112. package/dist/beeq/{p-78be94d2.entry.js → p-cd53041f.entry.js} +2 -2
  113. package/dist/beeq/p-cd53041f.entry.js.map +1 -0
  114. package/dist/beeq/{p-6d429afd.entry.js → p-d31e8b6a.entry.js} +2 -2
  115. package/dist/beeq/p-d31e8b6a.entry.js.map +1 -0
  116. package/dist/beeq/{p-f12a127c.entry.js → p-d8118f0b.entry.js} +2 -2
  117. package/dist/beeq/p-d8118f0b.entry.js.map +1 -0
  118. package/dist/beeq/p-d9c5ab1d.entry.js +6 -0
  119. package/dist/beeq/p-d9c5ab1d.entry.js.map +1 -0
  120. package/dist/beeq/{p-1421f4a3.entry.js → p-dc5aa386.entry.js} +2 -2
  121. package/dist/beeq/p-dc5aa386.entry.js.map +1 -0
  122. package/dist/beeq/{p-fbc38c77.entry.js → p-dcda1181.entry.js} +2 -2
  123. package/dist/beeq/p-dcda1181.entry.js.map +1 -0
  124. package/dist/beeq/p-eaa8c123.entry.js +6 -0
  125. package/dist/beeq/p-eaa8c123.entry.js.map +1 -0
  126. package/dist/beeq/{p-8280145e.entry.js → p-eb47c1ae.entry.js} +2 -2
  127. package/dist/beeq/p-eb47c1ae.entry.js.map +1 -0
  128. package/dist/beeq/{p-f8d5c1ab.entry.js → p-eb6eac82.entry.js} +2 -2
  129. package/dist/beeq/p-eb6eac82.entry.js.map +1 -0
  130. package/dist/beeq/{p-37a2fb82.entry.js → p-f691f00c.entry.js} +2 -2
  131. package/dist/beeq/p-f691f00c.entry.js.map +1 -0
  132. package/dist/beeq/p-igOoibr-.js +6 -0
  133. package/dist/beeq/p-igOoibr-.js.map +1 -0
  134. package/dist/beeq/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
  135. package/dist/beeq/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
  136. package/dist/beeq.html-custom-data.json +40 -49
  137. package/dist/cjs/beeq.cjs.js +3 -5
  138. package/dist/cjs/beeq.cjs.js.map +1 -1
  139. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -3
  140. package/dist/cjs/bq-accordion.cjs.entry.js +18 -10
  141. package/dist/cjs/bq-accordion.entry.cjs.js.map +1 -1
  142. package/dist/cjs/bq-alert.cjs.entry.js +12 -11
  143. package/dist/cjs/bq-alert.entry.cjs.js.map +1 -1
  144. package/dist/cjs/bq-avatar.cjs.entry.js +5 -7
  145. package/dist/cjs/bq-avatar.entry.cjs.js.map +1 -1
  146. package/dist/cjs/bq-badge.cjs.entry.js +4 -4
  147. package/dist/cjs/bq-badge.entry.cjs.js.map +1 -1
  148. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +4 -6
  149. package/dist/cjs/bq-breadcrumb-item.entry.cjs.js.map +1 -1
  150. package/dist/cjs/bq-breadcrumb.cjs.entry.js +6 -4
  151. package/dist/cjs/bq-breadcrumb.entry.cjs.js.map +1 -1
  152. package/dist/cjs/bq-button.bq-icon.entry.cjs.js.map +1 -1
  153. package/dist/cjs/bq-button_2.cjs.entry.js +14 -12
  154. package/dist/cjs/bq-card.cjs.entry.js +2 -4
  155. package/dist/cjs/bq-card.entry.cjs.js.map +1 -1
  156. package/dist/cjs/bq-checkbox.cjs.entry.js +5 -5
  157. package/dist/cjs/bq-checkbox.entry.cjs.js.map +1 -1
  158. package/dist/cjs/bq-date-picker.cjs.entry.js +69 -26
  159. package/dist/cjs/bq-date-picker.entry.cjs.js.map +1 -1
  160. package/dist/cjs/bq-dialog.cjs.entry.js +12 -8
  161. package/dist/cjs/bq-dialog.entry.cjs.js.map +1 -1
  162. package/dist/cjs/bq-divider.cjs.entry.js +7 -7
  163. package/dist/cjs/bq-divider.entry.cjs.js.map +1 -1
  164. package/dist/cjs/bq-drawer.cjs.entry.js +8 -6
  165. package/dist/cjs/bq-drawer.entry.cjs.js.map +1 -1
  166. package/dist/cjs/bq-dropdown.bq-panel.entry.cjs.js.map +1 -1
  167. package/dist/cjs/bq-dropdown_2.cjs.entry.js +12 -8
  168. package/dist/cjs/bq-empty-state.cjs.entry.js +9 -7
  169. package/dist/cjs/bq-empty-state.entry.cjs.js.map +1 -1
  170. package/dist/cjs/bq-input.cjs.entry.js +29 -23
  171. package/dist/cjs/bq-input.entry.cjs.js.map +1 -1
  172. package/dist/cjs/bq-notification.cjs.entry.js +10 -6
  173. package/dist/cjs/bq-notification.entry.cjs.js.map +1 -1
  174. package/dist/cjs/bq-option-group.cjs.entry.js +2 -4
  175. package/dist/cjs/bq-option-group.entry.cjs.js.map +1 -1
  176. package/dist/cjs/bq-option-list.bq-tag.entry.cjs.js.map +1 -1
  177. package/dist/cjs/bq-option-list_2.cjs.entry.js +45 -26
  178. package/dist/cjs/bq-option.cjs.entry.js +17 -12
  179. package/dist/cjs/bq-option.entry.cjs.js.map +1 -1
  180. package/dist/cjs/bq-page-title.cjs.entry.js +10 -6
  181. package/dist/cjs/bq-page-title.entry.cjs.js.map +1 -1
  182. package/dist/cjs/bq-progress.cjs.entry.js +6 -8
  183. package/dist/cjs/bq-progress.entry.cjs.js.map +1 -1
  184. package/dist/cjs/bq-radio-group.cjs.entry.js +15 -11
  185. package/dist/cjs/bq-radio-group.entry.cjs.js.map +1 -1
  186. package/dist/cjs/bq-radio.cjs.entry.js +4 -4
  187. package/dist/cjs/bq-radio.entry.cjs.js.map +1 -1
  188. package/dist/cjs/bq-select.cjs.entry.js +75 -30
  189. package/dist/cjs/bq-select.entry.cjs.js.map +1 -1
  190. package/dist/cjs/bq-side-menu-item.cjs.entry.js +6 -6
  191. package/dist/cjs/bq-side-menu-item.entry.cjs.js.map +1 -1
  192. package/dist/cjs/bq-side-menu.cjs.entry.js +11 -9
  193. package/dist/cjs/bq-side-menu.entry.cjs.js.map +1 -1
  194. package/dist/cjs/bq-slider.cjs.entry.js +25 -14
  195. package/dist/cjs/bq-slider.entry.cjs.js.map +1 -1
  196. package/dist/cjs/bq-spinner.cjs.entry.js +12 -14
  197. package/dist/cjs/bq-spinner.entry.cjs.js.map +1 -1
  198. package/dist/cjs/bq-status.cjs.entry.js +2 -4
  199. package/dist/cjs/bq-status.entry.cjs.js.map +1 -1
  200. package/dist/cjs/bq-step-item.cjs.entry.js +7 -9
  201. package/dist/cjs/bq-step-item.entry.cjs.js.map +1 -1
  202. package/dist/cjs/bq-steps.cjs.entry.js +5 -5
  203. package/dist/cjs/bq-steps.entry.cjs.js.map +1 -1
  204. package/dist/cjs/bq-switch.cjs.entry.js +8 -6
  205. package/dist/cjs/bq-switch.entry.cjs.js.map +1 -1
  206. package/dist/cjs/bq-tab-group.cjs.entry.js +9 -9
  207. package/dist/cjs/bq-tab-group.entry.cjs.js.map +1 -1
  208. package/dist/cjs/bq-tab.cjs.entry.js +8 -6
  209. package/dist/cjs/bq-tab.entry.cjs.js.map +1 -1
  210. package/dist/cjs/bq-textarea.cjs.entry.js +16 -15
  211. package/dist/cjs/bq-textarea.entry.cjs.js.map +1 -1
  212. package/dist/cjs/bq-toast.cjs.entry.js +4 -7
  213. package/dist/cjs/bq-toast.entry.cjs.js.map +1 -1
  214. package/dist/cjs/bq-tooltip.cjs.entry.js +9 -5
  215. package/dist/cjs/bq-tooltip.entry.cjs.js.map +1 -1
  216. package/dist/cjs/date-C-h2CBps.js +170 -0
  217. package/dist/cjs/date-C-h2CBps.js.map +1 -0
  218. package/dist/cjs/{debounce-DFaAa1Cu.js → debounce-D0tIpUuS.js} +4 -4
  219. package/dist/cjs/debounce-D0tIpUuS.js.map +1 -0
  220. package/dist/cjs/{index-tFN0ax76.js → index-D7RDSS0K.js} +73 -47
  221. package/dist/cjs/{index-tFN0ax76.js.map → index-D7RDSS0K.js.map} +1 -1
  222. package/dist/cjs/{index-CLoLF-_B.js → index-g8MkV15i.js} +78 -65
  223. package/dist/cjs/index-g8MkV15i.js.map +1 -0
  224. package/dist/cjs/index.cjs.js +7 -6
  225. package/dist/cjs/index.cjs.js.map +1 -1
  226. package/dist/cjs/{isDefined-K4EcmGLZ.js → isDefined-D24L82z9.js} +3 -3
  227. package/dist/cjs/{isDefined-K4EcmGLZ.js.map → isDefined-D24L82z9.js.map} +1 -1
  228. package/dist/cjs/{isString-CHgmxASW.js → isString-CA9m1aBg.js} +3 -3
  229. package/dist/cjs/{isString-CHgmxASW.js.map → isString-CA9m1aBg.js.map} +1 -1
  230. package/dist/cjs/loader.cjs.js +2 -4
  231. package/dist/cjs/{stringToArray-DTx7uqZ4.js → stringToArray-B747BpEA.js} +4 -4
  232. package/dist/cjs/{stringToArray-DTx7uqZ4.js.map → stringToArray-B747BpEA.js.map} +1 -1
  233. package/dist/cjs/transition-C0S-pYqN.js.map +1 -1
  234. package/dist/collection/collection-manifest.json +2 -2
  235. package/dist/collection/components/accordion/bq-accordion.js +17 -11
  236. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  237. package/dist/collection/components/accordion/helper/index.js +6 -2
  238. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  239. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  240. package/dist/collection/components/accordion-group/bq-accordion-group.js +6 -6
  241. package/dist/collection/components/alert/bq-alert.js +25 -22
  242. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  243. package/dist/collection/components/avatar/bq-avatar.js +16 -16
  244. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  245. package/dist/collection/components/badge/bq-badge.js +10 -8
  246. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  247. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +7 -3
  248. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  249. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +6 -6
  250. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  251. package/dist/collection/components/button/bq-button.js +23 -19
  252. package/dist/collection/components/button/bq-button.js.map +1 -1
  253. package/dist/collection/components/button/scss/bq-button.css +1 -1
  254. package/dist/collection/components/card/bq-card.js +5 -5
  255. package/dist/collection/components/card/bq-card.js.map +1 -1
  256. package/dist/collection/components/checkbox/bq-checkbox.js +19 -17
  257. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  258. package/dist/collection/components/date-picker/bq-date-picker.js +103 -61
  259. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  260. package/dist/collection/components/dialog/bq-dialog.js +20 -14
  261. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  262. package/dist/collection/components/divider/bq-divider.js +17 -15
  263. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  264. package/dist/collection/components/drawer/bq-drawer.js +16 -12
  265. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  266. package/dist/collection/components/dropdown/bq-dropdown.js +18 -14
  267. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  268. package/dist/collection/components/empty-state/bq-empty-state.js +10 -6
  269. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  270. package/dist/collection/components/icon/bq-icon.js +17 -17
  271. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  272. package/dist/collection/components/input/bq-input.js +89 -86
  273. package/dist/collection/components/input/bq-input.js.map +1 -1
  274. package/dist/collection/components/notification/bq-notification.js +21 -15
  275. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  276. package/dist/collection/components/option/bq-option.js +42 -16
  277. package/dist/collection/components/option/bq-option.js.map +1 -1
  278. package/dist/collection/components/option/scss/bq-option.css +1 -1
  279. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  280. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  281. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  282. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  283. package/dist/collection/components/page-title/bq-page-title.js +9 -3
  284. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  285. package/dist/collection/components/panel/bq-panel.js +10 -8
  286. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  287. package/dist/collection/components/progress/bq-progress.js +14 -14
  288. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  289. package/dist/collection/components/radio/bq-radio.js +16 -14
  290. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  291. package/dist/collection/components/radio-group/bq-radio-group.js +25 -19
  292. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  293. package/dist/collection/components/select/bq-select.js +101 -54
  294. package/dist/collection/components/select/bq-select.js.map +1 -1
  295. package/dist/collection/components/side-menu/bq-side-menu.js +12 -8
  296. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  297. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  298. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +8 -6
  299. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  300. package/dist/collection/components/slider/bq-slider.js +36 -23
  301. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  302. package/dist/collection/components/spinner/bq-spinner.js +14 -14
  303. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  304. package/dist/collection/components/spinner/bq-spinner.types.js +1 -1
  305. package/dist/collection/components/spinner/bq-spinner.types.js.map +1 -1
  306. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  307. package/dist/collection/components/status/bq-status.js +3 -3
  308. package/dist/collection/components/status/bq-status.js.map +1 -1
  309. package/dist/collection/components/step-item/bq-step-item.js +11 -11
  310. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  311. package/dist/collection/components/steps/bq-steps.js +8 -6
  312. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  313. package/dist/collection/components/switch/bq-switch.js +22 -18
  314. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  315. package/dist/collection/components/tab/bq-tab.js +17 -13
  316. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  317. package/dist/collection/components/tab-group/bq-tab-group.js +15 -13
  318. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  319. package/dist/collection/components/tag/bq-tag.js +59 -38
  320. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  321. package/dist/collection/components/tag/helper/index.js.map +1 -1
  322. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  323. package/dist/collection/components/textarea/bq-textarea.js +51 -62
  324. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  325. package/dist/collection/components/toast/bq-toast.js +11 -12
  326. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  327. package/dist/collection/components/tooltip/bq-tooltip.js +14 -8
  328. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  329. package/dist/collection/services/interfaces/floating-ui.js.map +1 -1
  330. package/dist/collection/services/libraries/floating-ui/index.js +34 -25
  331. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  332. package/dist/collection/shared/test-utils/sleep.js +1 -1
  333. package/dist/collection/shared/test-utils/sleep.js.map +1 -1
  334. package/dist/collection/shared/utils/date.js +163 -0
  335. package/dist/collection/shared/utils/date.js.map +1 -0
  336. package/dist/collection/shared/utils/debounce.js +2 -1
  337. package/dist/collection/shared/utils/debounce.js.map +1 -1
  338. package/dist/collection/shared/utils/index.js +1 -0
  339. package/dist/collection/shared/utils/index.js.map +1 -1
  340. package/dist/collection/shared/utils/isString.js +1 -1
  341. package/dist/collection/shared/utils/isString.js.map +1 -1
  342. package/dist/collection/shared/utils/setRafTimeout.js +0 -1
  343. package/dist/collection/shared/utils/setRafTimeout.js.map +1 -1
  344. package/dist/collection/tools/angular-value-accessor-config.js.map +1 -1
  345. package/dist/collection/tools/generate-custom-elements-json.js +2 -2
  346. package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
  347. package/dist/collection/tools/vue-model-config.js.map +1 -1
  348. package/dist/components/bq-accordion-group.js +1 -1
  349. package/dist/components/bq-accordion-group.js.map +1 -1
  350. package/dist/components/bq-accordion.js +1 -1
  351. package/dist/components/bq-accordion.js.map +1 -1
  352. package/dist/components/bq-alert.js +1 -1
  353. package/dist/components/bq-alert.js.map +1 -1
  354. package/dist/components/bq-avatar.js +1 -1
  355. package/dist/components/bq-avatar.js.map +1 -1
  356. package/dist/components/bq-badge.js +1 -1
  357. package/dist/components/bq-breadcrumb-item.js +1 -1
  358. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  359. package/dist/components/bq-breadcrumb.js +1 -1
  360. package/dist/components/bq-breadcrumb.js.map +1 -1
  361. package/dist/components/bq-button.js +1 -1
  362. package/dist/components/bq-card.js +1 -1
  363. package/dist/components/bq-card.js.map +1 -1
  364. package/dist/components/bq-checkbox.js +1 -1
  365. package/dist/components/bq-checkbox.js.map +1 -1
  366. package/dist/components/bq-date-picker.js +1 -1
  367. package/dist/components/bq-date-picker.js.map +1 -1
  368. package/dist/components/bq-dialog.js +1 -1
  369. package/dist/components/bq-dialog.js.map +1 -1
  370. package/dist/components/bq-divider.js +1 -1
  371. package/dist/components/bq-drawer.js +1 -1
  372. package/dist/components/bq-drawer.js.map +1 -1
  373. package/dist/components/bq-dropdown.js +1 -1
  374. package/dist/components/bq-empty-state.js +1 -1
  375. package/dist/components/bq-empty-state.js.map +1 -1
  376. package/dist/components/bq-icon.js +1 -1
  377. package/dist/components/bq-input.js +1 -1
  378. package/dist/components/bq-input.js.map +1 -1
  379. package/dist/components/bq-notification.js +1 -1
  380. package/dist/components/bq-notification.js.map +1 -1
  381. package/dist/components/bq-option-group.js +1 -1
  382. package/dist/components/bq-option-group.js.map +1 -1
  383. package/dist/components/bq-option-list.js +1 -1
  384. package/dist/components/bq-option.js +1 -1
  385. package/dist/components/bq-option.js.map +1 -1
  386. package/dist/components/bq-page-title.js +1 -1
  387. package/dist/components/bq-page-title.js.map +1 -1
  388. package/dist/components/bq-panel.js +1 -1
  389. package/dist/components/bq-progress.js +1 -1
  390. package/dist/components/bq-progress.js.map +1 -1
  391. package/dist/components/bq-radio-group.js +1 -1
  392. package/dist/components/bq-radio-group.js.map +1 -1
  393. package/dist/components/bq-radio.js +1 -1
  394. package/dist/components/bq-radio.js.map +1 -1
  395. package/dist/components/bq-select.js +1 -1
  396. package/dist/components/bq-select.js.map +1 -1
  397. package/dist/components/bq-side-menu-item.js +1 -1
  398. package/dist/components/bq-side-menu-item.js.map +1 -1
  399. package/dist/components/bq-side-menu.js +1 -1
  400. package/dist/components/bq-side-menu.js.map +1 -1
  401. package/dist/components/bq-slider.js +1 -1
  402. package/dist/components/bq-slider.js.map +1 -1
  403. package/dist/components/bq-spinner.js +1 -1
  404. package/dist/components/bq-spinner.js.map +1 -1
  405. package/dist/components/bq-status.js +1 -1
  406. package/dist/components/bq-status.js.map +1 -1
  407. package/dist/components/bq-step-item.js +1 -1
  408. package/dist/components/bq-step-item.js.map +1 -1
  409. package/dist/components/bq-steps.js +1 -1
  410. package/dist/components/bq-steps.js.map +1 -1
  411. package/dist/components/bq-switch.js +1 -1
  412. package/dist/components/bq-switch.js.map +1 -1
  413. package/dist/components/bq-tab-group.js +1 -1
  414. package/dist/components/bq-tab-group.js.map +1 -1
  415. package/dist/components/bq-tab.js +1 -1
  416. package/dist/components/bq-tab.js.map +1 -1
  417. package/dist/components/bq-tag.js +1 -1
  418. package/dist/components/bq-textarea.js +1 -1
  419. package/dist/components/bq-textarea.js.map +1 -1
  420. package/dist/components/bq-toast.js +1 -1
  421. package/dist/components/bq-toast.js.map +1 -1
  422. package/dist/components/bq-tooltip.js +1 -1
  423. package/dist/components/index.js +1 -1
  424. package/dist/components/index.js.map +1 -1
  425. package/dist/components/{p-C4Jb3i-D.js → p-16lKXCDk.js} +2 -2
  426. package/dist/components/p-16lKXCDk.js.map +1 -0
  427. package/dist/components/{p-CjS2vgik.js → p-A6e1tN-B.js} +2 -2
  428. package/dist/components/p-A6e1tN-B.js.map +1 -0
  429. package/dist/components/{p-5er2o4Mn.js → p-B5XEhmuc.js} +2 -2
  430. package/dist/components/{p-5er2o4Mn.js.map → p-B5XEhmuc.js.map} +1 -1
  431. package/dist/components/{p-Ci39rxuU.js → p-BRbYDZoo.js} +2 -2
  432. package/dist/components/{p-Bs3hKCXS.js → p-CIV0haMJ.js} +2 -2
  433. package/dist/components/p-CIV0haMJ.js.map +1 -0
  434. package/dist/components/{p-D9ofIraD.js → p-CVw85-WU.js} +1 -1
  435. package/dist/components/p-CVw85-WU.js.map +1 -0
  436. package/dist/components/p-CXUO6Zub.js +6 -0
  437. package/dist/components/p-CXUO6Zub.js.map +1 -0
  438. package/dist/components/p-CgIw4Syg.js +6 -0
  439. package/dist/components/p-CgIw4Syg.js.map +1 -0
  440. package/dist/components/{p-k2047NJf.js → p-D14_9VoZ.js} +2 -2
  441. package/dist/components/{p-k2047NJf.js.map → p-D14_9VoZ.js.map} +1 -1
  442. package/dist/components/{p-fQPjV9jm.js → p-DGysEMss.js} +2 -2
  443. package/dist/components/p-DGysEMss.js.map +1 -0
  444. package/dist/components/p-DHdYy1q5.js +6 -0
  445. package/dist/components/p-DHdYy1q5.js.map +1 -0
  446. package/dist/components/p-DdvbF5yL.js.map +1 -1
  447. package/dist/components/{p-BIl7Vq5P.js → p-DokL_HVP.js} +2 -2
  448. package/dist/components/p-DokL_HVP.js.map +1 -0
  449. package/dist/components/{p-BPVTwD6U.js → p-eRUe5rRq.js} +2 -2
  450. package/dist/components/p-eRUe5rRq.js.map +1 -0
  451. package/dist/components/{p-CVMdKx0v.js → p-lysmVw2n.js} +2 -2
  452. package/dist/components/{p-CVMdKx0v.js.map → p-lysmVw2n.js.map} +1 -1
  453. package/dist/custom-elements.json +804 -799
  454. package/dist/esm/beeq.js +4 -6
  455. package/dist/esm/beeq.js.map +1 -1
  456. package/dist/esm/bq-accordion-group.entry.js +1 -3
  457. package/dist/esm/bq-accordion.entry.js +18 -10
  458. package/dist/esm/bq-accordion.entry.js.map +1 -1
  459. package/dist/esm/bq-alert.entry.js +12 -11
  460. package/dist/esm/bq-alert.entry.js.map +1 -1
  461. package/dist/esm/bq-avatar.entry.js +5 -7
  462. package/dist/esm/bq-avatar.entry.js.map +1 -1
  463. package/dist/esm/bq-badge.entry.js +4 -4
  464. package/dist/esm/bq-badge.entry.js.map +1 -1
  465. package/dist/esm/bq-breadcrumb-item.entry.js +4 -6
  466. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  467. package/dist/esm/bq-breadcrumb.entry.js +6 -4
  468. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  469. package/dist/esm/bq-button.bq-icon.entry.js.map +1 -1
  470. package/dist/esm/bq-button_2.entry.js +14 -12
  471. package/dist/esm/bq-card.entry.js +2 -4
  472. package/dist/esm/bq-card.entry.js.map +1 -1
  473. package/dist/esm/bq-checkbox.entry.js +5 -5
  474. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  475. package/dist/esm/bq-date-picker.entry.js +69 -26
  476. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  477. package/dist/esm/bq-dialog.entry.js +12 -8
  478. package/dist/esm/bq-dialog.entry.js.map +1 -1
  479. package/dist/esm/bq-divider.entry.js +7 -7
  480. package/dist/esm/bq-divider.entry.js.map +1 -1
  481. package/dist/esm/bq-drawer.entry.js +8 -6
  482. package/dist/esm/bq-drawer.entry.js.map +1 -1
  483. package/dist/esm/bq-dropdown.bq-panel.entry.js.map +1 -1
  484. package/dist/esm/bq-dropdown_2.entry.js +12 -8
  485. package/dist/esm/bq-empty-state.entry.js +9 -7
  486. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  487. package/dist/esm/bq-input.entry.js +29 -23
  488. package/dist/esm/bq-input.entry.js.map +1 -1
  489. package/dist/esm/bq-notification.entry.js +10 -6
  490. package/dist/esm/bq-notification.entry.js.map +1 -1
  491. package/dist/esm/bq-option-group.entry.js +2 -4
  492. package/dist/esm/bq-option-group.entry.js.map +1 -1
  493. package/dist/esm/bq-option-list.bq-tag.entry.js.map +1 -1
  494. package/dist/esm/bq-option-list_2.entry.js +45 -26
  495. package/dist/esm/bq-option.entry.js +17 -12
  496. package/dist/esm/bq-option.entry.js.map +1 -1
  497. package/dist/esm/bq-page-title.entry.js +10 -6
  498. package/dist/esm/bq-page-title.entry.js.map +1 -1
  499. package/dist/esm/bq-progress.entry.js +6 -8
  500. package/dist/esm/bq-progress.entry.js.map +1 -1
  501. package/dist/esm/bq-radio-group.entry.js +15 -11
  502. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  503. package/dist/esm/bq-radio.entry.js +4 -4
  504. package/dist/esm/bq-radio.entry.js.map +1 -1
  505. package/dist/esm/bq-select.entry.js +75 -30
  506. package/dist/esm/bq-select.entry.js.map +1 -1
  507. package/dist/esm/bq-side-menu-item.entry.js +6 -6
  508. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  509. package/dist/esm/bq-side-menu.entry.js +11 -9
  510. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  511. package/dist/esm/bq-slider.entry.js +25 -14
  512. package/dist/esm/bq-slider.entry.js.map +1 -1
  513. package/dist/esm/bq-spinner.entry.js +12 -14
  514. package/dist/esm/bq-spinner.entry.js.map +1 -1
  515. package/dist/esm/bq-status.entry.js +2 -4
  516. package/dist/esm/bq-status.entry.js.map +1 -1
  517. package/dist/esm/bq-step-item.entry.js +7 -9
  518. package/dist/esm/bq-step-item.entry.js.map +1 -1
  519. package/dist/esm/bq-steps.entry.js +5 -5
  520. package/dist/esm/bq-steps.entry.js.map +1 -1
  521. package/dist/esm/bq-switch.entry.js +8 -6
  522. package/dist/esm/bq-switch.entry.js.map +1 -1
  523. package/dist/esm/bq-tab-group.entry.js +9 -9
  524. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  525. package/dist/esm/bq-tab.entry.js +8 -6
  526. package/dist/esm/bq-tab.entry.js.map +1 -1
  527. package/dist/esm/bq-textarea.entry.js +16 -15
  528. package/dist/esm/bq-textarea.entry.js.map +1 -1
  529. package/dist/esm/bq-toast.entry.js +4 -7
  530. package/dist/esm/bq-toast.entry.js.map +1 -1
  531. package/dist/esm/bq-tooltip.entry.js +9 -5
  532. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  533. package/dist/esm/date-igOoibr-.js +167 -0
  534. package/dist/esm/date-igOoibr-.js.map +1 -0
  535. package/dist/esm/{debounce-cjfQylgg.js → debounce-gVeuteEJ.js} +4 -4
  536. package/dist/esm/debounce-gVeuteEJ.js.map +1 -0
  537. package/dist/esm/{index-DDw-pDpy.js → index-BOf9EC3C.js} +78 -65
  538. package/dist/esm/index-BOf9EC3C.js.map +1 -0
  539. package/dist/esm/{index-y49NXy_H.js → index-CgIw4Syg.js} +73 -47
  540. package/dist/esm/{index-y49NXy_H.js.map → index-CgIw4Syg.js.map} +1 -1
  541. package/dist/esm/index.js +5 -6
  542. package/dist/esm/index.js.map +1 -1
  543. package/dist/esm/{isDefined-DjmcVyb_.js → isDefined-DvmFa_bD.js} +3 -3
  544. package/dist/esm/{isDefined-DjmcVyb_.js.map → isDefined-DvmFa_bD.js.map} +1 -1
  545. package/dist/esm/{isString-CVMdKx0v.js → isString-lysmVw2n.js} +3 -3
  546. package/dist/esm/{isString-CVMdKx0v.js.map → isString-lysmVw2n.js.map} +1 -1
  547. package/dist/esm/loader.js +3 -5
  548. package/dist/esm/{stringToArray-DD7NecAG.js → stringToArray-CIJArUww.js} +4 -4
  549. package/dist/esm/{stringToArray-DD7NecAG.js.map → stringToArray-CIJArUww.js.map} +1 -1
  550. package/dist/esm/transition-DdvbF5yL.js.map +1 -1
  551. package/dist/hydrate/index.d.ts +2 -0
  552. package/dist/hydrate/index.js +994 -564
  553. package/dist/hydrate/index.mjs +994 -564
  554. package/dist/jest.config.js +3 -0
  555. package/dist/jest.config.js.map +1 -1
  556. package/dist/stencil.config.js +3 -2
  557. package/dist/stencil.config.js.map +1 -1
  558. package/dist/types/components/date-picker/bq-date-picker.d.ts +5 -2
  559. package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -0
  560. package/dist/types/components/icon/bq-icon.d.ts +1 -1
  561. package/dist/types/components/input/bq-input.d.ts +10 -11
  562. package/dist/types/components/option/bq-option.d.ts +4 -2
  563. package/dist/types/components/select/bq-select.d.ts +1 -0
  564. package/dist/types/components/spinner/bq-spinner.types.d.ts +1 -1
  565. package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
  566. package/dist/types/components/tag/bq-tag.d.ts +6 -4
  567. package/dist/types/components/tag/helper/index.d.ts +1 -1
  568. package/dist/types/components/textarea/bq-textarea.d.ts +5 -9
  569. package/dist/types/components.d.ts +46 -48
  570. package/dist/types/global.d.ts +1 -4
  571. package/dist/types/home/runner/work/BEEQ/BEEQ/.stencil/packages/beeq/jest.config.d.ts +3 -0
  572. package/dist/types/services/interfaces/floating-ui.d.ts +1 -1
  573. package/dist/types/services/libraries/floating-ui/index.d.ts +5 -2
  574. package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
  575. package/dist/types/shared/test-utils/sleep.d.ts +1 -1
  576. package/dist/types/shared/utils/date.d.ts +18 -0
  577. package/dist/types/shared/utils/debounce.d.ts +1 -1
  578. package/dist/types/shared/utils/index.d.ts +1 -0
  579. package/dist/types/shared/utils/setRafTimeout.d.ts +1 -1
  580. package/dist/types/stencil-public-runtime.d.ts +49 -2
  581. package/dist/types/tools/angular-value-accessor-config.d.ts +1 -1
  582. package/dist/types/tools/vue-model-config.d.ts +1 -1
  583. package/package.json +1 -1
  584. package/dist/beeq/p-04745600.entry.js.map +0 -1
  585. package/dist/beeq/p-0deed5d1.entry.js.map +0 -1
  586. package/dist/beeq/p-1421f4a3.entry.js.map +0 -1
  587. package/dist/beeq/p-1c6ef374.entry.js.map +0 -1
  588. package/dist/beeq/p-1cd1ae48.entry.js +0 -6
  589. package/dist/beeq/p-1cd1ae48.entry.js.map +0 -1
  590. package/dist/beeq/p-2f008ed1.entry.js.map +0 -1
  591. package/dist/beeq/p-37a2fb82.entry.js.map +0 -1
  592. package/dist/beeq/p-3c7397cf.entry.js.map +0 -1
  593. package/dist/beeq/p-3dca7a14.entry.js.map +0 -1
  594. package/dist/beeq/p-3e8980ff.entry.js.map +0 -1
  595. package/dist/beeq/p-477f032f.entry.js.map +0 -1
  596. package/dist/beeq/p-48811a09.entry.js.map +0 -1
  597. package/dist/beeq/p-540d625a.entry.js +0 -6
  598. package/dist/beeq/p-540d625a.entry.js.map +0 -1
  599. package/dist/beeq/p-5ce77af6.entry.js.map +0 -1
  600. package/dist/beeq/p-60db3689.entry.js.map +0 -1
  601. package/dist/beeq/p-6852a0b0.entry.js.map +0 -1
  602. package/dist/beeq/p-6a10175b.entry.js.map +0 -1
  603. package/dist/beeq/p-6d429afd.entry.js.map +0 -1
  604. package/dist/beeq/p-7063e5c2.entry.js.map +0 -1
  605. package/dist/beeq/p-78be94d2.entry.js.map +0 -1
  606. package/dist/beeq/p-8280145e.entry.js.map +0 -1
  607. package/dist/beeq/p-87430ad8.entry.js.map +0 -1
  608. package/dist/beeq/p-8eb8612b.entry.js.map +0 -1
  609. package/dist/beeq/p-9305e1a2.entry.js.map +0 -1
  610. package/dist/beeq/p-96f6c9ae.entry.js.map +0 -1
  611. package/dist/beeq/p-D9ofIraD.js.map +0 -1
  612. package/dist/beeq/p-DDw-pDpy.js +0 -7
  613. package/dist/beeq/p-DDw-pDpy.js.map +0 -1
  614. package/dist/beeq/p-a9643899.entry.js.map +0 -1
  615. package/dist/beeq/p-b268b017.entry.js +0 -6
  616. package/dist/beeq/p-b268b017.entry.js.map +0 -1
  617. package/dist/beeq/p-b520bdb8.entry.js.map +0 -1
  618. package/dist/beeq/p-ba12d135.entry.js.map +0 -1
  619. package/dist/beeq/p-c023718e.entry.js.map +0 -1
  620. package/dist/beeq/p-d1dd36ca.entry.js.map +0 -1
  621. package/dist/beeq/p-dc4d2d77.entry.js.map +0 -1
  622. package/dist/beeq/p-dd896cd8.entry.js.map +0 -1
  623. package/dist/beeq/p-e7bd48a0.entry.js +0 -6
  624. package/dist/beeq/p-e7bd48a0.entry.js.map +0 -1
  625. package/dist/beeq/p-eb2cfa90.entry.js.map +0 -1
  626. package/dist/beeq/p-f12a127c.entry.js.map +0 -1
  627. package/dist/beeq/p-f189b65d.entry.js +0 -6
  628. package/dist/beeq/p-f189b65d.entry.js.map +0 -1
  629. package/dist/beeq/p-f8d5c1ab.entry.js.map +0 -1
  630. package/dist/beeq/p-fbc38c77.entry.js.map +0 -1
  631. package/dist/beeq/p-y49NXy_H.js +0 -6
  632. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +0 -1
  633. package/dist/cjs/bq-accordion.cjs.entry.js.map +0 -1
  634. package/dist/cjs/bq-alert.cjs.entry.js.map +0 -1
  635. package/dist/cjs/bq-avatar.cjs.entry.js.map +0 -1
  636. package/dist/cjs/bq-badge.cjs.entry.js.map +0 -1
  637. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +0 -1
  638. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +0 -1
  639. package/dist/cjs/bq-button_2.cjs.entry.js.map +0 -1
  640. package/dist/cjs/bq-card.cjs.entry.js.map +0 -1
  641. package/dist/cjs/bq-checkbox.cjs.entry.js.map +0 -1
  642. package/dist/cjs/bq-date-picker.cjs.entry.js.map +0 -1
  643. package/dist/cjs/bq-dialog.cjs.entry.js.map +0 -1
  644. package/dist/cjs/bq-divider.cjs.entry.js.map +0 -1
  645. package/dist/cjs/bq-drawer.cjs.entry.js.map +0 -1
  646. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +0 -1
  647. package/dist/cjs/bq-empty-state.cjs.entry.js.map +0 -1
  648. package/dist/cjs/bq-input.cjs.entry.js.map +0 -1
  649. package/dist/cjs/bq-notification.cjs.entry.js.map +0 -1
  650. package/dist/cjs/bq-option-group.cjs.entry.js.map +0 -1
  651. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +0 -1
  652. package/dist/cjs/bq-option.cjs.entry.js.map +0 -1
  653. package/dist/cjs/bq-page-title.cjs.entry.js.map +0 -1
  654. package/dist/cjs/bq-progress.cjs.entry.js.map +0 -1
  655. package/dist/cjs/bq-radio-group.cjs.entry.js.map +0 -1
  656. package/dist/cjs/bq-radio.cjs.entry.js.map +0 -1
  657. package/dist/cjs/bq-select.cjs.entry.js.map +0 -1
  658. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +0 -1
  659. package/dist/cjs/bq-side-menu.cjs.entry.js.map +0 -1
  660. package/dist/cjs/bq-slider.cjs.entry.js.map +0 -1
  661. package/dist/cjs/bq-spinner.cjs.entry.js.map +0 -1
  662. package/dist/cjs/bq-status.cjs.entry.js.map +0 -1
  663. package/dist/cjs/bq-step-item.cjs.entry.js.map +0 -1
  664. package/dist/cjs/bq-steps.cjs.entry.js.map +0 -1
  665. package/dist/cjs/bq-switch.cjs.entry.js.map +0 -1
  666. package/dist/cjs/bq-tab-group.cjs.entry.js.map +0 -1
  667. package/dist/cjs/bq-tab.cjs.entry.js.map +0 -1
  668. package/dist/cjs/bq-textarea.cjs.entry.js.map +0 -1
  669. package/dist/cjs/bq-toast.cjs.entry.js.map +0 -1
  670. package/dist/cjs/bq-tooltip.cjs.entry.js.map +0 -1
  671. package/dist/cjs/debounce-DFaAa1Cu.js.map +0 -1
  672. package/dist/cjs/index-CLoLF-_B.js.map +0 -1
  673. package/dist/components/p-BIl7Vq5P.js.map +0 -1
  674. package/dist/components/p-BPVTwD6U.js.map +0 -1
  675. package/dist/components/p-Bkf_oCvP.js +0 -6
  676. package/dist/components/p-Bkf_oCvP.js.map +0 -1
  677. package/dist/components/p-Bs3hKCXS.js.map +0 -1
  678. package/dist/components/p-C4Jb3i-D.js.map +0 -1
  679. package/dist/components/p-CjS2vgik.js.map +0 -1
  680. package/dist/components/p-D9ofIraD.js.map +0 -1
  681. package/dist/components/p-DE7kLeHf.js +0 -6
  682. package/dist/components/p-DE7kLeHf.js.map +0 -1
  683. package/dist/components/p-fQPjV9jm.js.map +0 -1
  684. package/dist/components/p-y49NXy_H.js +0 -6
  685. package/dist/components/p-y49NXy_H.js.map +0 -1
  686. package/dist/esm/bq-button_2.entry.js.map +0 -1
  687. package/dist/esm/bq-dropdown_2.entry.js.map +0 -1
  688. package/dist/esm/bq-option-list_2.entry.js.map +0 -1
  689. package/dist/esm/debounce-cjfQylgg.js.map +0 -1
  690. package/dist/esm/index-DDw-pDpy.js.map +0 -1
  691. /package/dist/components/{p-Ci39rxuU.js.map → p-BRbYDZoo.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bq-side-menu-item.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/side-menu-item/bq-side-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, h, Prop, State } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport { getTextContent } from '../../shared/utils';\n\n/**\n * Represents the default side menu item for standard navigation elements, providing a clean and straightforward way to display menu options.\n *\n * @example How to use it\n * ```html\n * <bq-side-menu-item>\n * <bq-icon name=\"star-four\" slot=\"prefix\"></bq-icon>\n * Menu item\n * <bq-badge slot=\"suffix\">5</bq-badge>\n * </bq-side-menu-item>\n * ```\n * @documentation https://www.beeq.design/3d466e231/p/99822d-side-menu/b/09d7b1\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {boolean} active - If `true`, the menu item will be shown as active/selected.\n * @attr {boolean} collapse - If `true`, the item label and suffix will be hidden and the `width` will be reduced according to its parent.\n * @attr {boolean} disabled - If `true`, the menu item will be disabled (no interaction allowed).\n *\n * @event bqBlur - Handler to be called when the button loses focus.\n * @event bqClick - Handler to be called when the button gets focused.\n * @event bqFocus - Handler to be called when the button is clicked.\n *\n * @slot prefix - The prefix part of menu item.\n * @slot - The content of the menu item.\n * @slot suffix - The suffix part of menu item.\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part label - The label slot\n * @part prefix - The prefix slot\n * @part suffix - The suffix slot\n * @part panel - The `<div>` container that holds the tooltip content (when the side menu is collapsed)\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover (when the side menu is collapsed)\n *\n * @cssprop --bq-side-menu-item--bg-default - Side menu item default background color\n * @cssprop --bq-side-menu-item--bg-active - Side menu item active background color\n * @cssprop --bq-side-menu-item--text-default - Side menu item default text color\n * @cssprop --bq-side-menu-item--text-active - Side menu item active text color\n * @cssprop --bq-side-menu-item--paddingX - Side menu item vertical padding\n * @cssprop --bq-side-menu-item--paddingY - Side menu item horizontal padding\n */\n@Component({\n tag: 'bq-side-menu-item',\n styleUrl: './scss/bq-side-menu-item.scss',\n shadow: true,\n})\nexport class BqSideMenuItem {\n // Own Properties\n // ====================\n\n private labelElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSideMenuItemElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() textContent: string;\n\n // Public Property API\n // ========================\n\n /** If true, the menu item will be shown as active/selected. */\n @Prop() active: boolean = false;\n\n /** If true, the item label and suffix will be hidden and the `width` will be reduced according to its parent. */\n @Prop() collapse: boolean = false;\n\n /** If true, the menu item will be disabled (no interaction allowed) */\n @Prop() disabled: boolean = false;\n\n // Prop lifecycle events\n // =======================\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqSideMenuItemElement>;\n\n /** Handler to be called when the button is clicked */\n @Event() bqFocus: EventEmitter<HTMLBqSideMenuItemElement>;\n\n /** Handler to be called when button gets focus */\n @Event() bqClick: EventEmitter<HTMLBqSideMenuItemElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.labelElem) return;\n this.textContent = getTextContent(this.labelElem.querySelector('slot'));\n };\n\n handleBlur = (ev: Event) => {\n if (this.disabled) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqBlur.emit(this.el);\n };\n\n handleFocus = (ev: Event) => {\n if (this.disabled) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqFocus.emit(this.el);\n };\n\n handleClick = (ev: Event) => {\n if (this.disabled || this.active) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqClick.emit(this.el);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n private menuItem = () => (\n <button\n class={{\n 'bq-side-menu__item': true,\n active: this.active,\n disabled: this.disabled,\n 'is-collapsed': this.collapse,\n }}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.handleClick}\n aria-disabled={this.disabled ? 'true' : 'false'}\n role=\"menuitem\"\n tabindex={this.disabled ? -1 : 0}\n slot=\"trigger\"\n part=\"base\"\n >\n <div class=\"bq-side-menu__item--prefix flex items-center\" part=\"prefix\">\n <slot name=\"prefix\" />\n </div>\n <div\n class=\"bq-side-menu__item--label overflow-hidden text-ellipsis whitespace-nowrap\"\n ref={(labelElem) => (this.labelElem = labelElem)}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </div>\n <div class=\"bq-side-menu__item--suffix ml-auto flex items-center\" part=\"suffix\">\n <slot name=\"suffix\" />\n </div>\n </button>\n );\n\n render() {\n return !this.collapse ? (\n this.menuItem()\n ) : (\n <bq-tooltip class=\"bq-side-menu__item--tooltip block\" placement=\"right\" exportparts=\"trigger, panel\">\n {this.textContent}\n {this.menuItem()}\n </bq-tooltip>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-side-menu-item.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/side-menu-item/bq-side-menu-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Prop, State } from '@stencil/core';\n\nimport { getTextContent } from '../../shared/utils';\n\n/**\n * Represents the default side menu item for standard navigation elements, providing a clean and straightforward way to display menu options.\n *\n * @example How to use it\n * ```html\n * <bq-side-menu-item>\n * <bq-icon name=\"star-four\" slot=\"prefix\"></bq-icon>\n * Menu item\n * <bq-badge slot=\"suffix\">5</bq-badge>\n * </bq-side-menu-item>\n * ```\n * @documentation https://www.beeq.design/3d466e231/p/99822d-side-menu/b/09d7b1\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {boolean} active - If `true`, the menu item will be shown as active/selected.\n * @attr {boolean} collapse - If `true`, the item label and suffix will be hidden and the `width` will be reduced according to its parent.\n * @attr {boolean} disabled - If `true`, the menu item will be disabled (no interaction allowed).\n *\n * @event bqBlur - Handler to be called when the button loses focus.\n * @event bqClick - Handler to be called when the button gets focused.\n * @event bqFocus - Handler to be called when the button is clicked.\n *\n * @slot prefix - The prefix part of menu item.\n * @slot - The content of the menu item.\n * @slot suffix - The suffix part of menu item.\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part label - The label slot\n * @part prefix - The prefix slot\n * @part suffix - The suffix slot\n * @part panel - The `<div>` container that holds the tooltip content (when the side menu is collapsed)\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover (when the side menu is collapsed)\n *\n * @cssprop --bq-side-menu-item--bg-default - Side menu item default background color\n * @cssprop --bq-side-menu-item--bg-active - Side menu item active background color\n * @cssprop --bq-side-menu-item--text-default - Side menu item default text color\n * @cssprop --bq-side-menu-item--text-active - Side menu item active text color\n * @cssprop --bq-side-menu-item--paddingX - Side menu item vertical padding\n * @cssprop --bq-side-menu-item--paddingY - Side menu item horizontal padding\n */\n@Component({\n tag: 'bq-side-menu-item',\n styleUrl: './scss/bq-side-menu-item.scss',\n shadow: true,\n})\nexport class BqSideMenuItem {\n // Own Properties\n // ====================\n\n private labelElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSideMenuItemElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() textContent: string;\n\n // Public Property API\n // ========================\n\n /** If true, the menu item will be shown as active/selected. */\n @Prop() active: boolean = false;\n\n /** If true, the item label and suffix will be hidden and the `width` will be reduced according to its parent. */\n @Prop() collapse: boolean = false;\n\n /** If true, the menu item will be disabled (no interaction allowed) */\n @Prop() disabled: boolean = false;\n\n // Prop lifecycle events\n // =======================\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqSideMenuItemElement>;\n\n /** Handler to be called when the button is clicked */\n @Event() bqFocus: EventEmitter<HTMLBqSideMenuItemElement>;\n\n /** Handler to be called when button gets focus */\n @Event() bqClick: EventEmitter<HTMLBqSideMenuItemElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.labelElem) return;\n this.textContent = getTextContent(this.labelElem.querySelector('slot'));\n };\n\n handleBlur = (ev: Event) => {\n if (this.disabled) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqBlur.emit(this.el);\n };\n\n handleFocus = (ev: Event) => {\n if (this.disabled) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqFocus.emit(this.el);\n };\n\n handleClick = (ev: Event) => {\n if (this.disabled || this.active) {\n ev.preventDefault();\n ev.stopPropagation();\n return;\n }\n\n this.bqClick.emit(this.el);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n private menuItem = () => (\n <button\n aria-disabled={this.disabled ? 'true' : 'false'}\n class={{\n 'bq-side-menu__item': true,\n active: this.active,\n disabled: this.disabled,\n 'is-collapsed': this.collapse,\n }}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n part=\"base\"\n role=\"menuitem\"\n slot=\"trigger\"\n tabindex={this.disabled ? -1 : 0}\n type=\"button\"\n >\n <div class=\"bq-side-menu__item--prefix flex items-center\" part=\"prefix\">\n <slot name=\"prefix\" />\n </div>\n <div\n class=\"bq-side-menu__item--label overflow-hidden text-ellipsis whitespace-nowrap\"\n ref={(labelElem) => {\n this.labelElem = labelElem;\n }}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </div>\n <div class=\"bq-side-menu__item--suffix ml-auto flex items-center\" part=\"suffix\">\n <slot name=\"suffix\" />\n </div>\n </button>\n );\n\n render() {\n return !this.collapse ? (\n this.menuItem()\n ) : (\n <bq-tooltip class=\"bq-side-menu__item--tooltip block\" exportparts=\"trigger, panel\" placement=\"right\">\n {this.textContent}\n {this.menuItem()}\n </bq-tooltip>\n );\n }\n}\n"]}
@@ -285,7 +285,7 @@ export class BqSlider {
285
285
  }
286
286
  renderLabel = (value, position, css) => {
287
287
  return (h("span", { class: {
288
- [`${css} box-content block text-s font-medium leading-regular text-primary is-fit min-is-8 [font-variant:tabular-nums]`]: true,
288
+ [`${css} is-fit min-is-8 box-content block font-medium text-primary text-s leading-regular [font-variant:tabular-nums]`]: true,
289
289
  hidden: position === 'start' ? !this.enableValueIndicator : !this.enableValueIndicator || !this.isRangeType,
290
290
  }, part: `label-${position}` }, value.toFixed(this.decimalCount)));
291
291
  };
@@ -299,23 +299,36 @@ export class BqSlider {
299
299
  // If the value of both thumbs is the same as the min or max value, set the zIndex to -1
300
300
  return zIndex[type] ? '-1' : '0';
301
301
  };
302
- return (h("input", { type: "range", class: {
303
- '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,
302
+ return (h("input", { class: {
303
+ '-translate-y-1/2 is-full absolute inset-bs-[50%] start-0 cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed': true,
304
304
  'pointer-events-none': this.isRangeType,
305
- }, style: this.isRangeType ? { zIndex: zIndexValue(type) } : undefined, disabled: this.disabled, min: this.min, max: this.max, name: this.name, step: this.step, ref: refCallback, onInput: (ev) => this.handleInputChange(type, ev), onBlur: this.handleBlur, onFocus: this.handleFocus, onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, value: value, part: `input-${type}` }));
305
+ }, disabled: this.disabled, max: this.max, min: this.min, name: this.name, onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: (ev) => this.handleInputChange(type, ev), onMouseDown: this.handleMouseDown, onMouseUp: this.handleMouseUp, part: `input-${type}`, ref: refCallback, step: this.step, style: this.isRangeType ? { zIndex: zIndexValue(type) } : undefined, type: "range", value: value }));
306
306
  };
307
- renderTooltip = (value, thumbPosition, refCallback) => (h("bq-tooltip", { class: {
307
+ renderTooltip = (value, thumbPosition, refCallback) => (h("bq-tooltip", { alwaysVisible: true, class: {
308
308
  'absolute [&::part(panel)]:absolute': true,
309
309
  hidden: !this.isTooltipAlwaysVisible,
310
- }, exportparts: "base,trigger,panel", alwaysVisible: true, distance: this.enableValueIndicator ? 6 : 16, style: { insetInlineStart: `${thumbPosition}px`, fontVariant: 'tabular-nums' }, ref: refCallback }, h("div", { class: "absolute bs-1 is-1", slot: "trigger" }), value.toFixed(this.decimalCount)));
310
+ }, distance: this.enableValueIndicator ? 6 : 16, exportparts: "base,trigger,panel", ref: refCallback, style: { insetInlineStart: `${thumbPosition}px`, fontVariant: 'tabular-nums' } }, h("div", { class: "bs-1 is-1 absolute", slot: "trigger" }), value.toFixed(this.decimalCount)));
311
311
  // render() function
312
312
  // Always the last one in the class.
313
313
  // ===================================
314
314
  render() {
315
- return (h("div", { key: '3844d6cf882b08f7dd9bec540073b0b66e983934', "aria-disabled": this.disabled ? 'true' : 'false', class: { 'flex is-full': true, 'cursor-not-allowed opacity-60': this.disabled }, part: "base" }, this.renderLabel(this.minValue, 'start', 'me-xs text-end'), h("div", { key: '6737e4f36f62da6e5aa34bcf102154491888f593', class: "relative is-full", part: "container" }, h("span", { key: '547f9ed07f6a403a2beef97963cb369a5a0244de', class: "absolute start-0 -translate-y-1/2 rounded-xs bg-[--bq-slider--trackarea-color] bs-1 is-full inset-bs-[50%]", ref: (elem) => (this.trackElem = elem), part: "track-area" }), h("span", { key: '5219ac37913eb453bd3fd18baff8cf601ca4367a', class: "absolute -translate-y-1/2 rounded-xs bg-[--bq-slider--progress-color] bs-1 is-[50%] inset-bs-[50%]", ref: (elem) => (this.progressElem = elem), part: "progress-area" }), this.enableTooltip &&
316
- this.renderTooltip(this.minValue, this.minThumbPosition, (elem) => (this.minTooltipElem = elem)), this.renderInput('min', this.minValue, (input) => (this.inputMinElem = input)), this.enableTooltip &&
315
+ return (h("div", { key: '78a8e93092bfd59d8e9c013b0f341d6dcb4e74d7', "aria-disabled": this.disabled ? 'true' : 'false', class: { 'is-full flex': true, 'cursor-not-allowed opacity-60': this.disabled }, part: "base" }, this.renderLabel(this.minValue, 'start', 'me-xs text-end'), h("div", { key: '8b4919283cd710f277f0e97f80e1f07be277b0fd', class: "is-full relative", part: "container" }, h("span", { key: '0f90f2078ace9e752165b89f0eff60fde0c4e5ed', class: "-translate-y-1/2 bs-1 is-full absolute inset-bs-[50%] start-0 rounded-xs bg-[--bq-slider--trackarea-color]", part: "track-area", ref: (elem) => {
316
+ this.trackElem = elem;
317
+ } }), h("span", { key: '75610cdf03918cdfba898c53af76f4d7ec16fe15', class: "-translate-y-1/2 bs-1 is-[50%] absolute inset-bs-[50%] rounded-xs bg-[--bq-slider--progress-color]", part: "progress-area", ref: (elem) => {
318
+ this.progressElem = elem;
319
+ } }), this.enableTooltip &&
320
+ this.renderTooltip(this.minValue, this.minThumbPosition, (elem) => {
321
+ this.minTooltipElem = elem;
322
+ }), this.renderInput('min', this.minValue, (input) => {
323
+ this.inputMinElem = input;
324
+ }), this.enableTooltip &&
317
325
  this.isRangeType &&
318
- this.renderTooltip(this.maxValue, this.maxThumbPosition, (elem) => (this.maxTooltipElem = elem)), this.isRangeType && this.renderInput('max', this.maxValue, (input) => (this.inputMaxElem = input))), this.renderLabel(this.maxValue, 'end', 'ms-xs text-start')));
326
+ this.renderTooltip(this.maxValue, this.maxThumbPosition, (elem) => {
327
+ this.maxTooltipElem = elem;
328
+ }), this.isRangeType &&
329
+ this.renderInput('max', this.maxValue, (input) => {
330
+ this.inputMaxElem = input;
331
+ })), this.renderLabel(this.maxValue, 'end', 'ms-xs text-start')));
319
332
  }
320
333
  static get is() { return "bq-slider"; }
321
334
  static get encapsulation() { return "shadow"; }
@@ -335,7 +348,6 @@ export class BqSlider {
335
348
  return {
336
349
  "debounceTime": {
337
350
  "type": "number",
338
- "attribute": "debounce-time",
339
351
  "mutable": false,
340
352
  "complexType": {
341
353
  "original": "number",
@@ -351,11 +363,11 @@ export class BqSlider {
351
363
  "getter": false,
352
364
  "setter": false,
353
365
  "reflect": true,
366
+ "attribute": "debounce-time",
354
367
  "defaultValue": "0"
355
368
  },
356
369
  "disabled": {
357
370
  "type": "boolean",
358
- "attribute": "disabled",
359
371
  "mutable": false,
360
372
  "complexType": {
361
373
  "original": "boolean",
@@ -371,11 +383,11 @@ export class BqSlider {
371
383
  "getter": false,
372
384
  "setter": false,
373
385
  "reflect": true,
386
+ "attribute": "disabled",
374
387
  "defaultValue": "false"
375
388
  },
376
389
  "enableValueIndicator": {
377
390
  "type": "boolean",
378
- "attribute": "enable-value-indicator",
379
391
  "mutable": false,
380
392
  "complexType": {
381
393
  "original": "boolean",
@@ -391,11 +403,11 @@ export class BqSlider {
391
403
  "getter": false,
392
404
  "setter": false,
393
405
  "reflect": true,
406
+ "attribute": "enable-value-indicator",
394
407
  "defaultValue": "false"
395
408
  },
396
409
  "gap": {
397
410
  "type": "number",
398
- "attribute": "gap",
399
411
  "mutable": true,
400
412
  "complexType": {
401
413
  "original": "number",
@@ -411,11 +423,11 @@ export class BqSlider {
411
423
  "getter": false,
412
424
  "setter": false,
413
425
  "reflect": true,
426
+ "attribute": "gap",
414
427
  "defaultValue": "0"
415
428
  },
416
429
  "max": {
417
430
  "type": "number",
418
- "attribute": "max",
419
431
  "mutable": false,
420
432
  "complexType": {
421
433
  "original": "number",
@@ -431,11 +443,11 @@ export class BqSlider {
431
443
  "getter": false,
432
444
  "setter": false,
433
445
  "reflect": true,
446
+ "attribute": "max",
434
447
  "defaultValue": "100"
435
448
  },
436
449
  "min": {
437
450
  "type": "number",
438
- "attribute": "min",
439
451
  "mutable": false,
440
452
  "complexType": {
441
453
  "original": "number",
@@ -451,11 +463,11 @@ export class BqSlider {
451
463
  "getter": false,
452
464
  "setter": false,
453
465
  "reflect": true,
466
+ "attribute": "min",
454
467
  "defaultValue": "0"
455
468
  },
456
469
  "name": {
457
470
  "type": "string",
458
- "attribute": "name",
459
471
  "mutable": false,
460
472
  "complexType": {
461
473
  "original": "string",
@@ -470,11 +482,11 @@ export class BqSlider {
470
482
  },
471
483
  "getter": false,
472
484
  "setter": false,
473
- "reflect": true
485
+ "reflect": true,
486
+ "attribute": "name"
474
487
  },
475
488
  "step": {
476
489
  "type": "number",
477
- "attribute": "step",
478
490
  "mutable": false,
479
491
  "complexType": {
480
492
  "original": "number",
@@ -490,11 +502,11 @@ export class BqSlider {
490
502
  "getter": false,
491
503
  "setter": false,
492
504
  "reflect": true,
505
+ "attribute": "step",
493
506
  "defaultValue": "1"
494
507
  },
495
508
  "type": {
496
509
  "type": "string",
497
- "attribute": "type",
498
510
  "mutable": false,
499
511
  "complexType": {
500
512
  "original": "TSliderType",
@@ -516,11 +528,11 @@ export class BqSlider {
516
528
  "getter": false,
517
529
  "setter": false,
518
530
  "reflect": true,
531
+ "attribute": "type",
519
532
  "defaultValue": "'single'"
520
533
  },
521
534
  "value": {
522
535
  "type": "any",
523
- "attribute": "value",
524
536
  "mutable": true,
525
537
  "complexType": {
526
538
  "original": "TSliderValue",
@@ -541,11 +553,11 @@ export class BqSlider {
541
553
  },
542
554
  "getter": false,
543
555
  "setter": false,
544
- "reflect": true
556
+ "reflect": true,
557
+ "attribute": "value"
545
558
  },
546
559
  "enableTooltip": {
547
560
  "type": "boolean",
548
- "attribute": "enable-tooltip",
549
561
  "mutable": false,
550
562
  "complexType": {
551
563
  "original": "boolean",
@@ -561,11 +573,11 @@ export class BqSlider {
561
573
  "getter": false,
562
574
  "setter": false,
563
575
  "reflect": true,
576
+ "attribute": "enable-tooltip",
564
577
  "defaultValue": "false"
565
578
  },
566
579
  "tooltipAlwaysVisible": {
567
580
  "type": "boolean",
568
- "attribute": "tooltip-always-visible",
569
581
  "mutable": false,
570
582
  "complexType": {
571
583
  "original": "boolean",
@@ -581,6 +593,7 @@ export class BqSlider {
581
593
  "getter": false,
582
594
  "setter": false,
583
595
  "reflect": true,
596
+ "attribute": "tooltip-always-visible",
584
597
  "defaultValue": "false"
585
598
  }
586
599
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bq-slider.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/slider/bq-slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, h, Prop, State, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\nimport type { TSliderType, TSliderValue } from './bq-slider.types';\nimport { clamp, debounce, isNil, isString, TDebounce } from '../../shared/utils';\n\n/**\n * Sliders provide a visual representation of adjustable content, enabling users to change values by dragging a handle along a horizontal track.\n *\n * @example How to use it\n * ```html\n * <bq-slider max=\"100\" value=\"30\"></bq-slider>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/509cbc-slider/b/09d7b1\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait to trigger the bqChange event after each value change.\n * @attr {boolean} disabled - If `true` the slider is disabled.\n * @attr {boolean} enable-tooltip - If `true`, a tooltip will be shown displaying the progress value.\n * @attr {boolean} enable-value-indicator - If `true` it will show the value label on the side of the slider track area.\n * @attr {number} gap - A number representing the amount to remain between the minimum and maximum values (only for range type).\n * @attr {number} max - A number representing the max value of the slider.\n * @attr {number} min - A number representing the min value of the slider.\n * @attr {number} step - A number represents the step of the slider. ⚠️ 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 * @attr {boolean} tooltip-always-visible - If `true`, a tooltip will always display the progress value. It relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true.\n * @attr {\"range\" | \"single\"} type - It defines the type of slider to display.\n * @attr {\"[number, number]\" | \"number\" | \"string\"} value - The value of the slider. 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 * @event bqBlur - Handler to be called when the slider loses focus.\n * @event bqChange - Handler to be called when changing the value on range inputs.\n * @event bqFocus - Handler to be called when the slider gets focused.\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 * @cssprop --bq-slider--size - The height of the slider track/progress area\n * @cssprop --bq-slider--border-radius - Slider border radius\n * @cssprop --bq-slider--thumb-size - Slider hover thumb size\n * @cssprop --bq-slider--progress-color - Slider progress background color\n * @cssprop --bq-slider--trackarea-color - Slider track background color\n */\n@Component({\n tag: 'bq-slider',\n styleUrl: './scss/bq-slider.scss',\n formAssociated: true,\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 @AttachInternals() internals!: ElementInternals;\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 /** Name of the form control. Submitted with the form as part of a name/value pair */\n @Prop({ reflect: true }) name: string;\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 componentWillLoad() {\n this.init();\n }\n\n componentDidLoad() {\n this.runUpdates();\n }\n\n componentDidUpdate() {\n this.runUpdates();\n }\n\n formAssociatedCallback() {\n this.internals?.setFormValue(`${this.value}`);\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private 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 const { internals, isRangeType, maxValue, minValue } = this;\n this.value = isRangeType ? [minValue, maxValue] : minValue;\n internals?.setFormValue(isRangeType ? JSON.stringify(this.value) : this.value.toString());\n if (isRangeType) this.el.setAttribute('value', JSON.stringify(this.value));\n };\n\n private calculatePercent = (value: number) => {\n const totalRange = Number(this.max) - Number(this.min);\n return ((value - this.min) / 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) + this.min)\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 0;\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-primary is-fit min-is-8 [font-variant:tabular-nums]`]: 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': 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 name={this.name}\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"]}
1
+ {"version":3,"file":"bq-slider.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/slider/bq-slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, h, Prop, State, Watch } from '@stencil/core';\n\nimport { clamp, debounce, isNil, isString, type TDebounce } from '../../shared/utils';\nimport type { TSliderType, TSliderValue } from './bq-slider.types';\n\n/**\n * Sliders provide a visual representation of adjustable content, enabling users to change values by dragging a handle along a horizontal track.\n *\n * @example How to use it\n * ```html\n * <bq-slider max=\"100\" value=\"30\"></bq-slider>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/509cbc-slider/b/09d7b1\n * @status stable\n *\n * @dependency bq-tooltip\n *\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait to trigger the bqChange event after each value change.\n * @attr {boolean} disabled - If `true` the slider is disabled.\n * @attr {boolean} enable-tooltip - If `true`, a tooltip will be shown displaying the progress value.\n * @attr {boolean} enable-value-indicator - If `true` it will show the value label on the side of the slider track area.\n * @attr {number} gap - A number representing the amount to remain between the minimum and maximum values (only for range type).\n * @attr {number} max - A number representing the max value of the slider.\n * @attr {number} min - A number representing the min value of the slider.\n * @attr {number} step - A number represents the step of the slider. ⚠️ 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 * @attr {boolean} tooltip-always-visible - If `true`, a tooltip will always display the progress value. It relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true.\n * @attr {\"range\" | \"single\"} type - It defines the type of slider to display.\n * @attr {\"[number, number]\" | \"number\" | \"string\"} value - The value of the slider. 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 * @event bqBlur - Handler to be called when the slider loses focus.\n * @event bqChange - Handler to be called when changing the value on range inputs.\n * @event bqFocus - Handler to be called when the slider gets focused.\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 * @cssprop --bq-slider--size - The height of the slider track/progress area\n * @cssprop --bq-slider--border-radius - Slider border radius\n * @cssprop --bq-slider--thumb-size - Slider hover thumb size\n * @cssprop --bq-slider--progress-color - Slider progress background color\n * @cssprop --bq-slider--trackarea-color - Slider track background color\n */\n@Component({\n tag: 'bq-slider',\n styleUrl: './scss/bq-slider.scss',\n formAssociated: true,\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 @AttachInternals() internals!: ElementInternals;\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 /** Name of the form control. Submitted with the form as part of a name/value pair */\n @Prop({ reflect: true }) name: string;\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 componentWillLoad() {\n this.init();\n }\n\n componentDidLoad() {\n this.runUpdates();\n }\n\n componentDidUpdate() {\n this.runUpdates();\n }\n\n formAssociatedCallback() {\n this.internals?.setFormValue(`${this.value}`);\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private 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 const { internals, isRangeType, maxValue, minValue } = this;\n this.value = isRangeType ? [minValue, maxValue] : minValue;\n internals?.setFormValue(isRangeType ? JSON.stringify(this.value) : this.value.toString());\n if (isRangeType) this.el.setAttribute('value', JSON.stringify(this.value));\n };\n\n private calculatePercent = (value: number) => {\n const totalRange = Number(this.max) - Number(this.min);\n return ((value - this.min) / 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) + this.min)\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 0;\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} is-fit min-is-8 box-content block font-medium text-primary text-s leading-regular [font-variant:tabular-nums]`]: 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 class={{\n '-translate-y-1/2 is-full absolute inset-bs-[50%] start-0 cursor-pointer appearance-none bg-transparent outline-none disabled:cursor-not-allowed': true,\n 'pointer-events-none': this.isRangeType,\n }}\n disabled={this.disabled}\n max={this.max}\n min={this.min}\n name={this.name}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInput={(ev) => this.handleInputChange(type, ev)}\n onMouseDown={this.handleMouseDown}\n onMouseUp={this.handleMouseUp}\n part={`input-${type}`}\n ref={refCallback}\n step={this.step}\n style={this.isRangeType ? { zIndex: zIndexValue(type) } : undefined}\n type=\"range\"\n value={value}\n />\n );\n };\n\n private renderTooltip = (\n value: number,\n thumbPosition: number,\n refCallback: (elem: HTMLBqTooltipElement) => void,\n ): HTMLBqTooltipElement => (\n <bq-tooltip\n alwaysVisible={true}\n class={{\n 'absolute [&::part(panel)]:absolute': true,\n hidden: !this.isTooltipAlwaysVisible,\n }}\n distance={this.enableValueIndicator ? 6 : 16}\n exportparts=\"base,trigger,panel\"\n ref={refCallback}\n style={{ insetInlineStart: `${thumbPosition}px`, fontVariant: 'tabular-nums' }}\n >\n <div class=\"bs-1 is-1 absolute\" 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={{ 'is-full flex': 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=\"is-full relative\" part=\"container\">\n {/* TRACK AREA */}\n <span\n class=\"-translate-y-1/2 bs-1 is-full absolute inset-bs-[50%] start-0 rounded-xs bg-[--bq-slider--trackarea-color]\"\n part=\"track-area\"\n ref={(elem) => {\n this.trackElem = elem;\n }}\n />\n {/* PROGRESS AREA */}\n <span\n class=\"-translate-y-1/2 bs-1 is-[50%] absolute inset-bs-[50%] rounded-xs bg-[--bq-slider--progress-color]\"\n part=\"progress-area\"\n ref={(elem) => {\n this.progressElem = elem;\n }}\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) => {\n this.minTooltipElem = elem;\n })}\n {/* INPUT (Min), used on single type */}\n {this.renderInput('min', this.minValue, (input) => {\n this.inputMinElem = input;\n })}\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) => {\n this.maxTooltipElem = elem;\n })}\n {/* INPUT (Max) */}\n {this.isRangeType &&\n this.renderInput('max', this.maxValue, (input) => {\n this.inputMaxElem = input;\n })}\n </div>\n {/* LABEL (end) */}\n {this.renderLabel(this.maxValue, 'end', 'ms-xs text-start')}\n </div>\n );\n }\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
5
  import { h } from "@stencil/core";
6
- import { SPINNER_SIZE, SPINNER_TEXT_POSITION } from "./bq-spinner.types";
7
6
  import { getCSSVariableValue, getTextContent, hasSlotContent, isHTMLElement, isNil, validatePropValue, } from "../../shared/utils";
7
+ import { SPINNER_SIZE, SPINNER_TEXT_POSITION } from "./bq-spinner.types";
8
8
  /**
9
9
  * Spinners are designed for users to display data loading.
10
10
  *
@@ -138,7 +138,7 @@ export class BqSpinner {
138
138
  setIconSize() {
139
139
  if (!this.hasIconSlot || !this.bqIcon)
140
140
  return;
141
- this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el)).toString();
141
+ this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el), 10).toString();
142
142
  }
143
143
  get bqIcon() {
144
144
  if (!this.hasIconSlot)
@@ -150,18 +150,18 @@ export class BqSpinner {
150
150
  // Always the last one in the class.
151
151
  // ===================================
152
152
  render() {
153
- return (h("div", { key: '6fa63239274e6540d888afcb5a87da58ec53f780', class: {
153
+ return (h("div", { key: 'bad97311f868df4b27dcbfad46a06cc6f519d191', class: {
154
154
  [`bq-spinner ${this.size} text-${this.textPosition}`]: true,
155
155
  'is-animated': this.animation,
156
156
  'has-text': !!this.slotContentLength,
157
- }, part: "base" }, !this.hasIconSlot && (h("div", { key: '5eab4f222c064ba5283e08d924c3c0ab23765e3f', class: `bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`, "aria-label": "Loading...", role: "status" }, h("svg", { key: 'b45c4cec4f190cbcede638de2e05968d36090133', class: "bs-full is-full", fill: "currentColor", viewBox: "0 0 48 48" }, h("path", { key: '7a695222b6b7d6fd0dd2f15e0ebce144719e2796', fill: "currentColor", d: "M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z" }), h("path", { key: '38f0fefaf1eaa9cd8585c2fdcc7bda9db38a2672', fill: "currentColor", d: "M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z", opacity: ".1" })))), h("span", { key: 'd8fa6843dab10327b0db8494699bc690e883089c', class: {
158
- 'bq-spinner--icon': true,
159
- flex: this.hasIconSlot,
160
- '!hidden': !this.hasIconSlot,
161
- }, ref: (spanElem) => (this.iconSlotElem = spanElem), part: "custom-icon" }, h("slot", { key: '56cf06f9a513caca55839254aab6fd2073f7a0e3', name: "icon", onSlotchange: this.handleIconSlotChange })), h("span", { key: 'acab33045d770e326b768b7f36ab1904dd11434e', class: {
162
- 'bq-spinner--text font-medium leading-regular text-primary': true,
157
+ }, part: "base" }, !this.hasIconSlot && (h("div", { key: 'ab58066f256b6a9ba67e302ec649273debdb0871', "aria-label": "Loading...", class: `bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`, role: "status" }, h("svg", { key: 'afa2cd06bcd978db7a00bacabe1b94a0a5a99740', "aria-hidden": "true", class: "bs-full is-full", fill: "currentColor", viewBox: "0 0 48 48" }, h("path", { key: '9370741ab1da2d8f1729931084ca57a0f5c4d370', d: "M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z", fill: "currentColor" }), h("path", { key: '69b9db761f754bb9b92d3915b1850d6593e9de62', d: "M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z", fill: "currentColor", opacity: ".1" })))), h("span", { key: 'f1caed460b50afe214930d343d48a6be0e2a5703', class: { 'bq-spinner--icon': true, flex: this.hasIconSlot, '!hidden': !this.hasIconSlot }, part: "custom-icon", ref: (spanElem) => {
158
+ this.iconSlotElem = spanElem;
159
+ } }, h("slot", { key: 'e515e5dff249595b4429ae5419caf2f86662e7eb', name: "icon", onSlotchange: this.handleIconSlotChange })), h("span", { key: '02a048bbb0ef44f136ece2c7b0c109e0c3ddb04c', class: {
160
+ 'bq-spinner--text font-medium text-primary leading-regular': true,
163
161
  '!hidden': !this.isTextDisplayed,
164
- }, part: "text", ref: (spanElem) => (this.slotElem = spanElem) }, h("slot", { key: '60671aa5b04be55c87cfaca3440c737ec98a5ff9', onSlotchange: this.handleSlotChange }))));
162
+ }, part: "text", ref: (spanElem) => {
163
+ this.slotElem = spanElem;
164
+ } }, h("slot", { key: '99a763598c872851d5a4d52bee9e012e7f79b96d', onSlotchange: this.handleSlotChange }))));
165
165
  }
166
166
  static get is() { return "bq-spinner"; }
167
167
  static get encapsulation() { return "shadow"; }
@@ -179,7 +179,6 @@ export class BqSpinner {
179
179
  return {
180
180
  "animation": {
181
181
  "type": "boolean",
182
- "attribute": "animation",
183
182
  "mutable": false,
184
183
  "complexType": {
185
184
  "original": "boolean",
@@ -195,15 +194,15 @@ export class BqSpinner {
195
194
  "getter": false,
196
195
  "setter": false,
197
196
  "reflect": true,
197
+ "attribute": "animation",
198
198
  "defaultValue": "true"
199
199
  },
200
200
  "textPosition": {
201
201
  "type": "string",
202
- "attribute": "text-position",
203
202
  "mutable": false,
204
203
  "complexType": {
205
204
  "original": "TSpinnerTextPosition",
206
- "resolved": "\"above\" | \"bellow\" | \"left\" | \"none\" | \"right\"",
205
+ "resolved": "\"above\" | \"below\" | \"left\" | \"none\" | \"right\"",
207
206
  "references": {
208
207
  "TSpinnerTextPosition": {
209
208
  "location": "import",
@@ -221,11 +220,11 @@ export class BqSpinner {
221
220
  "getter": false,
222
221
  "setter": false,
223
222
  "reflect": true,
223
+ "attribute": "text-position",
224
224
  "defaultValue": "'none'"
225
225
  },
226
226
  "size": {
227
227
  "type": "string",
228
- "attribute": "size",
229
228
  "mutable": false,
230
229
  "complexType": {
231
230
  "original": "TSpinnerSize",
@@ -247,6 +246,7 @@ export class BqSpinner {
247
246
  "getter": false,
248
247
  "setter": false,
249
248
  "reflect": true,
249
+ "attribute": "size",
250
250
  "defaultValue": "'medium'"
251
251
  }
252
252
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bq-spinner.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/spinner/bq-spinner.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { SPINNER_SIZE, SPINNER_TEXT_POSITION } from './bq-spinner.types';\nimport type { TSpinnerSize, TSpinnerTextPosition } from './bq-spinner.types';\nimport {\n getCSSVariableValue,\n getTextContent,\n hasSlotContent,\n isHTMLElement,\n isNil,\n validatePropValue,\n} from '../../shared/utils';\n\n/**\n * Spinners are designed for users to display data loading.\n *\n * @example How to use it\n * ```html\n * <bq-spinner size=\"medium\" text-position=\"bellow\">\n * <span>Loading...</span>\n * </bq-spinner>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/275f10-spinner/b/09d7b1\n * @status stable\n *\n * @attr {boolean} animation - If `false`, the animation on the icon element will be stopped.\n * @attr {\"small\" | \"medium\" | \"large\"} size - It defines the size of the icon element displayed.\n * @attr {\"above\" | \"below\" | \"left\" | \"right\" | \"none\"} text-position - It defines the position of the label text.\n *\n * @slot icon - The icon slot container.\n * @slot - The content of the spinner component.\n *\n * @part base - The div wrapper container used under the hood.\n * @part icon - The `<svg>` icon element used to spin/animate.\n * @part custom-icon - The `<span>` tag element that holds the custom icon element passed.\n * @part text - The `<span>` tag element that renders the label text inside the component.\n *\n * @cssprop --bq-spinner--color - Spinner color\n * @cssprop --bq-spinner--size-large - Spinner large size\n * @cssprop --bq-spinner--size-medium - Spinner medium size\n * @cssprop --bq-spinner--size-small - Spinner small size\n * @cssprop --bq-spinner--large-text-fontSize - Spinner large text font size\n * @cssprop --bq-spinner--medium-text-fontSize - Spinner medium text font size\n * @cssprop --bq-spinner--small-text-fontSize - Spinner small text font size\n * @cssprop --bq-spinner--text-lineHeight - Spinner text line height\n */\n@Component({\n tag: 'bq-spinner',\n styleUrl: './scss/bq-spinner.scss',\n shadow: true,\n})\nexport class BqSpinner {\n // Own Properties\n // ====================\n\n private iconSlotElem: HTMLElement;\n private slotElem: HTMLElement;\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.slotContentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSpinnerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasIconSlot = false;\n @State() private hasSlot = false;\n @State() private slotContentLength = 0;\n\n // Public Property API\n // ========================\n\n /** If `false`, the animation on the icon element will be stopped */\n @Prop({ reflect: true }) animation? = true;\n\n /** It defines the position of the label text */\n @Prop({ reflect: true }) textPosition: TSpinnerTextPosition = 'none';\n\n /** It defines the size of the icon element displayed */\n @Prop({ reflect: true }) size: TSpinnerSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('textPosition')\n handleTextPositionProp() {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n }\n\n @Watch('size')\n handleSizeProp() {\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n this.setIconSize();\n }\n\n @Watch('hasIconSlot')\n handleHasIconSlot() {\n this.setIconSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n this.handleIconSlotChange();\n this.setIconSize();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.slotElem) return;\n\n this.hasSlot = hasSlotContent(this.slotElem);\n if (!this.hasSlot) return;\n\n const slot = this.slotElem.querySelector('slot') ?? null;\n if (isNil(slot)) return;\n\n this.slotContentLength = getTextContent(slot, { recurse: true }).length;\n const nodes = slot.assignedNodes({ flatten: true });\n nodes.forEach((node) => {\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n });\n };\n\n private handleIconSlotChange = (): void => {\n this.hasIconSlot = hasSlotContent(this.iconSlotElem, 'icon');\n };\n\n private checkPropValues = (): void => {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n };\n\n private get isTextDisplayed(): boolean {\n return this.textPosition !== 'none';\n }\n\n private setIconSize(): void {\n if (!this.hasIconSlot || !this.bqIcon) return;\n\n this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el)).toString();\n }\n\n private get bqIcon(): HTMLBqIconElement | null {\n if (!this.hasIconSlot) return null;\n\n const slot = this.iconSlotElem.querySelector('slot');\n\n return [...slot.assignedElements({ flatten: true })].filter((el: Element) =>\n isHTMLElement(el, 'bq-icon'),\n )[0] as HTMLBqIconElement;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n [`bq-spinner ${this.size} text-${this.textPosition}`]: true,\n 'is-animated': this.animation,\n 'has-text': !!this.slotContentLength,\n }}\n part=\"base\"\n >\n {!this.hasIconSlot && (\n <div\n class={`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`}\n aria-label=\"Loading...\"\n role=\"status\"\n >\n <svg class=\"bs-full is-full\" fill=\"currentColor\" viewBox=\"0 0 48 48\">\n <path\n fill=\"currentColor\"\n d=\"M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z\"\n opacity=\".1\"\n />\n </svg>\n </div>\n )}\n <span\n class={{\n 'bq-spinner--icon': true,\n flex: this.hasIconSlot,\n '!hidden': !this.hasIconSlot,\n }}\n ref={(spanElem) => (this.iconSlotElem = spanElem)}\n part=\"custom-icon\"\n >\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </span>\n <span\n class={{\n 'bq-spinner--text font-medium leading-regular text-primary': true,\n '!hidden': !this.isTextDisplayed,\n }}\n part=\"text\"\n ref={(spanElem) => (this.slotElem = spanElem)}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-spinner.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/spinner/bq-spinner.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport {\n getCSSVariableValue,\n getTextContent,\n hasSlotContent,\n isHTMLElement,\n isNil,\n validatePropValue,\n} from '../../shared/utils';\nimport type { TSpinnerSize, TSpinnerTextPosition } from './bq-spinner.types';\nimport { SPINNER_SIZE, SPINNER_TEXT_POSITION } from './bq-spinner.types';\n\n/**\n * Spinners are designed for users to display data loading.\n *\n * @example How to use it\n * ```html\n * <bq-spinner size=\"medium\" text-position=\"bellow\">\n * <span>Loading...</span>\n * </bq-spinner>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/275f10-spinner/b/09d7b1\n * @status stable\n *\n * @attr {boolean} animation - If `false`, the animation on the icon element will be stopped.\n * @attr {\"small\" | \"medium\" | \"large\"} size - It defines the size of the icon element displayed.\n * @attr {\"above\" | \"below\" | \"left\" | \"right\" | \"none\"} text-position - It defines the position of the label text.\n *\n * @slot icon - The icon slot container.\n * @slot - The content of the spinner component.\n *\n * @part base - The div wrapper container used under the hood.\n * @part icon - The `<svg>` icon element used to spin/animate.\n * @part custom-icon - The `<span>` tag element that holds the custom icon element passed.\n * @part text - The `<span>` tag element that renders the label text inside the component.\n *\n * @cssprop --bq-spinner--color - Spinner color\n * @cssprop --bq-spinner--size-large - Spinner large size\n * @cssprop --bq-spinner--size-medium - Spinner medium size\n * @cssprop --bq-spinner--size-small - Spinner small size\n * @cssprop --bq-spinner--large-text-fontSize - Spinner large text font size\n * @cssprop --bq-spinner--medium-text-fontSize - Spinner medium text font size\n * @cssprop --bq-spinner--small-text-fontSize - Spinner small text font size\n * @cssprop --bq-spinner--text-lineHeight - Spinner text line height\n */\n@Component({\n tag: 'bq-spinner',\n styleUrl: './scss/bq-spinner.scss',\n shadow: true,\n})\nexport class BqSpinner {\n // Own Properties\n // ====================\n\n private iconSlotElem: HTMLElement;\n private slotElem: HTMLElement;\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.slotContentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSpinnerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasIconSlot = false;\n @State() private hasSlot = false;\n @State() private slotContentLength = 0;\n\n // Public Property API\n // ========================\n\n /** If `false`, the animation on the icon element will be stopped */\n @Prop({ reflect: true }) animation? = true;\n\n /** It defines the position of the label text */\n @Prop({ reflect: true }) textPosition: TSpinnerTextPosition = 'none';\n\n /** It defines the size of the icon element displayed */\n @Prop({ reflect: true }) size: TSpinnerSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('textPosition')\n handleTextPositionProp() {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n }\n\n @Watch('size')\n handleSizeProp() {\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n this.setIconSize();\n }\n\n @Watch('hasIconSlot')\n handleHasIconSlot() {\n this.setIconSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n this.handleIconSlotChange();\n this.setIconSize();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.slotElem) return;\n\n this.hasSlot = hasSlotContent(this.slotElem);\n if (!this.hasSlot) return;\n\n const slot = this.slotElem.querySelector('slot') ?? null;\n if (isNil(slot)) return;\n\n this.slotContentLength = getTextContent(slot, { recurse: true }).length;\n const nodes = slot.assignedNodes({ flatten: true });\n nodes.forEach((node) => {\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n });\n };\n\n private handleIconSlotChange = (): void => {\n this.hasIconSlot = hasSlotContent(this.iconSlotElem, 'icon');\n };\n\n private checkPropValues = (): void => {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n };\n\n private get isTextDisplayed(): boolean {\n return this.textPosition !== 'none';\n }\n\n private setIconSize(): void {\n if (!this.hasIconSlot || !this.bqIcon) return;\n\n this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el), 10).toString();\n }\n\n private get bqIcon(): HTMLBqIconElement | null {\n if (!this.hasIconSlot) return null;\n\n const slot = this.iconSlotElem.querySelector('slot');\n return [...slot.assignedElements({ flatten: true })].filter((el: Element) => isHTMLElement(el, 'bq-icon'))[0];\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n [`bq-spinner ${this.size} text-${this.textPosition}`]: true,\n 'is-animated': this.animation,\n 'has-text': !!this.slotContentLength,\n }}\n part=\"base\"\n >\n {!this.hasIconSlot && (\n <div\n aria-label=\"Loading...\"\n class={`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`}\n role=\"status\"\n >\n <svg aria-hidden=\"true\" class=\"bs-full is-full\" fill=\"currentColor\" viewBox=\"0 0 48 48\">\n <path\n d=\"M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z\"\n fill=\"currentColor\"\n opacity=\".1\"\n />\n </svg>\n </div>\n )}\n <span\n class={{ 'bq-spinner--icon': true, flex: this.hasIconSlot, '!hidden': !this.hasIconSlot }}\n part=\"custom-icon\"\n ref={(spanElem) => {\n this.iconSlotElem = spanElem;\n }}\n >\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </span>\n <span\n class={{\n 'bq-spinner--text font-medium text-primary leading-regular': true,\n '!hidden': !this.isTextDisplayed,\n }}\n part=\"text\"\n ref={(spanElem) => {\n this.slotElem = spanElem;\n }}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n );\n }\n}\n"]}
@@ -2,6 +2,6 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'bellow'];
5
+ export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'below'];
6
6
  export const SPINNER_SIZE = ['small', 'medium', 'large'];
7
7
  //# sourceMappingURL=bq-spinner.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bq-spinner.types.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/spinner/bq-spinner.types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAC3F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC","sourcesContent":["export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'bellow'] as const;\nexport const SPINNER_SIZE = ['small', 'medium', 'large'] as const;\nexport type TSpinnerTextPosition = (typeof SPINNER_TEXT_POSITION)[number];\nexport type TSpinnerSize = (typeof SPINNER_SIZE)[number];\n"]}
1
+ {"version":3,"file":"bq-spinner.types.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/spinner/bq-spinner.types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC","sourcesContent":["export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'below'] as const;\nexport const SPINNER_SIZE = ['small', 'medium', 'large'] as const;\nexport type TSpinnerTextPosition = (typeof SPINNER_TEXT_POSITION)[number];\nexport type TSpinnerSize = (typeof SPINNER_SIZE)[number];\n"]}