@beeq/core 1.12.2-beta.0 → 1.12.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/dist/beeq/beeq.esm.js +1 -44
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +1 -69
  4. package/dist/beeq/p-026cfacc.entry.js +6 -0
  5. package/dist/beeq/p-026cfacc.entry.js.map +1 -0
  6. package/dist/beeq/p-061d53de.entry.js +6 -0
  7. package/dist/beeq/p-061d53de.entry.js.map +1 -0
  8. package/dist/beeq/{p-9a78587d.entry.js → p-08fef3d3.entry.js} +2 -134
  9. package/dist/beeq/p-08fef3d3.entry.js.map +1 -0
  10. package/dist/beeq/p-12d9420b.entry.js +6 -0
  11. package/dist/beeq/p-12d9420b.entry.js.map +1 -0
  12. package/dist/beeq/p-17454929.entry.js +6 -0
  13. package/dist/beeq/p-17454929.entry.js.map +1 -0
  14. package/dist/beeq/{p-ff327b98.entry.js → p-1bce390d.entry.js} +2 -116
  15. package/dist/beeq/p-1bce390d.entry.js.map +1 -0
  16. package/dist/beeq/p-1c09c7c0.entry.js +6 -0
  17. package/dist/beeq/p-1c09c7c0.entry.js.map +1 -0
  18. package/dist/beeq/p-1f819545.entry.js +6 -0
  19. package/dist/beeq/p-1f819545.entry.js.map +1 -0
  20. package/dist/beeq/p-292a8a40.entry.js +6 -0
  21. package/dist/beeq/p-292a8a40.entry.js.map +1 -0
  22. package/dist/beeq/p-2ec4fbf0.entry.js +6 -0
  23. package/dist/beeq/p-2ec4fbf0.entry.js.map +1 -0
  24. package/dist/beeq/p-34125078.entry.js +6 -0
  25. package/dist/beeq/p-34125078.entry.js.map +1 -0
  26. package/dist/beeq/{p-6b68123f.entry.js → p-36e8e717.entry.js} +2 -246
  27. package/dist/beeq/p-36e8e717.entry.js.map +1 -0
  28. package/dist/beeq/p-37f739f5.entry.js +6 -0
  29. package/dist/beeq/p-37f739f5.entry.js.map +1 -0
  30. package/dist/beeq/p-38a7015c.entry.js +6 -0
  31. package/dist/{components/p-CXLw0i9p.js.map → beeq/p-38a7015c.entry.js.map} +1 -1
  32. package/dist/beeq/p-4aa539d7.entry.js +6 -0
  33. package/dist/beeq/p-4aa539d7.entry.js.map +1 -0
  34. package/dist/beeq/p-51074699.entry.js +6 -0
  35. package/dist/beeq/p-51074699.entry.js.map +1 -0
  36. package/dist/beeq/p-64123cb2.entry.js +6 -0
  37. package/dist/beeq/p-64123cb2.entry.js.map +1 -0
  38. package/dist/beeq/{p-426fd908.entry.js → p-6a70511e.entry.js} +2 -211
  39. package/dist/beeq/p-6a70511e.entry.js.map +1 -0
  40. package/dist/beeq/{p-1011ae42.entry.js → p-7c9c6561.entry.js} +2 -89
  41. package/dist/beeq/p-7c9c6561.entry.js.map +1 -0
  42. package/dist/beeq/p-7e73ea84.entry.js +6 -0
  43. package/dist/beeq/p-7e73ea84.entry.js.map +1 -0
  44. package/dist/beeq/p-84db8789.entry.js +6 -0
  45. package/dist/beeq/p-84db8789.entry.js.map +1 -0
  46. package/dist/beeq/p-85af346a.entry.js +6 -0
  47. package/dist/beeq/p-85af346a.entry.js.map +1 -0
  48. package/dist/beeq/p-B4sM1t6Z.js +1 -8
  49. package/dist/beeq/p-BNvWMggA.js +1 -23
  50. package/dist/beeq/p-BRMw_HGf.js +1 -8
  51. package/dist/beeq/p-BRbYDZoo.js +1 -10
  52. package/dist/beeq/p-BcPwGxIn.js +1 -9
  53. package/dist/beeq/p-BsSDkLU5.js +1 -26
  54. package/dist/beeq/p-CCNjsDdb.js +1 -88
  55. package/dist/beeq/p-CVw85-WU.js +1 -64
  56. package/dist/beeq/p-Cau9SvT4.js +1 -12
  57. package/dist/beeq/p-CmKvDWiL.js +1 -1782
  58. package/dist/beeq/p-CpKQ7XUL.js +1 -284
  59. package/dist/beeq/p-D1A0LpG_.js +1 -10
  60. package/dist/beeq/p-DdvbF5yL.js +1 -119
  61. package/dist/beeq/p-DnkZCdMA.js +1 -8
  62. package/dist/beeq/p-Ds7rcaFH.js +1 -65
  63. package/dist/beeq/p-Dx-CEPSQ.js +1 -13
  64. package/dist/beeq/p-XbB3xSTR.js +7 -0
  65. package/dist/beeq/p-XbB3xSTR.js.map +1 -0
  66. package/dist/beeq/p-_RvVpeh2.js +1 -29
  67. package/dist/beeq/p-a4e6c238.entry.js +6 -0
  68. package/dist/beeq/p-a4e6c238.entry.js.map +1 -0
  69. package/dist/beeq/p-ab690c8e.entry.js +6 -0
  70. package/dist/beeq/p-ab690c8e.entry.js.map +1 -0
  71. package/dist/beeq/p-ad86b7ee.entry.js +6 -0
  72. package/dist/beeq/p-ad86b7ee.entry.js.map +1 -0
  73. package/dist/beeq/p-b31ab8df.entry.js +6 -0
  74. package/dist/beeq/p-b31ab8df.entry.js.map +1 -0
  75. package/dist/beeq/p-b4f1b67f.entry.js +6 -0
  76. package/dist/beeq/p-b4f1b67f.entry.js.map +1 -0
  77. package/dist/beeq/{p-8b5934a3.entry.js → p-bcd26036.entry.js} +2 -154
  78. package/dist/beeq/p-bcd26036.entry.js.map +1 -0
  79. package/dist/beeq/{p-11671252.entry.js → p-c08c4c7b.entry.js} +2 -124
  80. package/dist/beeq/p-c08c4c7b.entry.js.map +1 -0
  81. package/dist/{components/p-CXLw0i9p.js → beeq/p-c3013171.entry.js} +2 -291
  82. package/dist/beeq/p-c3013171.entry.js.map +1 -0
  83. package/dist/beeq/p-ce975008.entry.js +6 -0
  84. package/dist/beeq/p-ce975008.entry.js.map +1 -0
  85. package/dist/beeq/{p-db09cc1e.entry.js → p-cf843f3a.entry.js} +2 -83
  86. package/dist/beeq/p-cf843f3a.entry.js.map +1 -0
  87. package/dist/beeq/p-d1f4ce2e.entry.js +6 -0
  88. package/dist/beeq/p-d1f4ce2e.entry.js.map +1 -0
  89. package/dist/beeq/p-d6edf4cb.entry.js +6 -0
  90. package/dist/beeq/p-d6edf4cb.entry.js.map +1 -0
  91. package/dist/beeq/p-e38637a0.entry.js +6 -0
  92. package/dist/beeq/p-e38637a0.entry.js.map +1 -0
  93. package/dist/beeq/p-ec4c7f14.entry.js +6 -0
  94. package/dist/beeq/p-ec4c7f14.entry.js.map +1 -0
  95. package/dist/beeq/p-f3c8eda1.entry.js +6 -0
  96. package/dist/beeq/p-f3c8eda1.entry.js.map +1 -0
  97. package/dist/beeq/{p-1aba3eec.entry.js → p-f86bbd71.entry.js} +2 -146
  98. package/dist/beeq/p-f86bbd71.entry.js.map +1 -0
  99. package/dist/beeq/p-ff68b62f.entry.js +6 -0
  100. package/dist/beeq/p-ff68b62f.entry.js.map +1 -0
  101. package/dist/beeq/p-lysmVw2n.js +1 -12
  102. package/dist/beeq/p-uqkxeAeG.js +1 -88
  103. package/dist/beeq/p-zh4P02Kn.js +1 -21
  104. package/dist/beeq/scripts/esm-loader.js +24 -0
  105. package/dist/beeq/scripts/zeroheight-svg-loader.js +22 -0
  106. package/dist/beeq.html-custom-data.json +198 -198
  107. package/dist/cjs/beeq.cjs.js +2 -3
  108. package/dist/cjs/beeq.cjs.js.map +1 -1
  109. package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -3
  110. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-accordion.cjs.entry.js +14 -15
  112. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-alert.cjs.entry.js +14 -15
  114. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-avatar.cjs.entry.js +13 -14
  116. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-badge.cjs.entry.js +9 -10
  118. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +2 -3
  120. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-breadcrumb.cjs.entry.js +7 -8
  122. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-button_2.cjs.entry.js +19 -20
  124. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-card.cjs.entry.js +7 -8
  126. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-checkbox.cjs.entry.js +5 -6
  128. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-date-picker.cjs.entry.js +20 -21
  130. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-dialog.cjs.entry.js +15 -16
  132. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-divider.cjs.entry.js +15 -16
  134. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-drawer.cjs.entry.js +19 -20
  136. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-dropdown_2.cjs.entry.js +7 -8
  138. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-empty-state.cjs.entry.js +26 -27
  140. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-input.cjs.entry.js +22 -23
  142. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-notification.cjs.entry.js +12 -13
  144. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-option-group.cjs.entry.js +2 -3
  146. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-option-list_2.cjs.entry.js +11 -12
  148. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-option.cjs.entry.js +15 -16
  150. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-page-title.cjs.entry.js +11 -12
  152. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  153. package/dist/cjs/bq-progress.cjs.entry.js +13 -14
  154. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-radio-group.cjs.entry.js +2 -3
  156. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-radio.cjs.entry.js +9 -10
  158. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-select.cjs.entry.js +31 -32
  160. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  161. package/dist/cjs/bq-side-menu-item.cjs.entry.js +6 -7
  162. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  163. package/dist/cjs/bq-side-menu.cjs.entry.js +4 -5
  164. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  165. package/dist/cjs/bq-slider.cjs.entry.js +23 -24
  166. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  167. package/dist/cjs/bq-spinner.cjs.entry.js +10 -11
  168. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-status.cjs.entry.js +2 -3
  170. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  171. package/dist/cjs/bq-step-item.cjs.entry.js +17 -18
  172. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  173. package/dist/cjs/bq-steps.cjs.entry.js +3 -4
  174. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  175. package/dist/cjs/bq-switch.cjs.entry.js +10 -11
  176. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  177. package/dist/cjs/bq-tab-group.cjs.entry.js +8 -9
  178. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  179. package/dist/cjs/bq-tab.cjs.entry.js +5 -6
  180. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  181. package/dist/cjs/bq-textarea.cjs.entry.js +16 -17
  182. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  183. package/dist/cjs/bq-toast.cjs.entry.js +2 -3
  184. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  185. package/dist/cjs/bq-tooltip.cjs.entry.js +9 -10
  186. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  187. package/dist/cjs/{index-BwvwUnfB.js → index-Bp6IQmE_.js} +68 -22
  188. package/dist/cjs/index-Bp6IQmE_.js.map +1 -0
  189. package/dist/cjs/loader.cjs.js +2 -3
  190. package/dist/cjs/loader.cjs.js.map +1 -1
  191. package/dist/collection/components/accordion/bq-accordion.js +14 -14
  192. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  193. package/dist/collection/components/accordion-group/bq-accordion-group.js +2 -2
  194. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  195. package/dist/collection/components/alert/bq-alert.js +14 -15
  196. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  197. package/dist/collection/components/avatar/bq-avatar.js +13 -14
  198. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  199. package/dist/collection/components/badge/bq-badge.js +9 -10
  200. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  201. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +6 -7
  202. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  203. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +2 -2
  204. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  205. package/dist/collection/components/button/bq-button.js +18 -19
  206. package/dist/collection/components/button/bq-button.js.map +1 -1
  207. package/dist/collection/components/card/bq-card.js +7 -8
  208. package/dist/collection/components/card/bq-card.js.map +1 -1
  209. package/dist/collection/components/checkbox/bq-checkbox.js +5 -5
  210. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  211. package/dist/collection/components/date-picker/bq-date-picker.js +20 -20
  212. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  213. package/dist/collection/components/dialog/bq-dialog.js +15 -15
  214. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  215. package/dist/collection/components/divider/bq-divider.js +15 -16
  216. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  217. package/dist/collection/components/drawer/bq-drawer.js +19 -20
  218. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  219. package/dist/collection/components/dropdown/bq-dropdown.js +2 -2
  220. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  221. package/dist/collection/components/empty-state/bq-empty-state.js +26 -26
  222. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  223. package/dist/collection/components/icon/bq-icon.js +2 -3
  224. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  225. package/dist/collection/components/input/bq-input.js +22 -22
  226. package/dist/collection/components/input/bq-input.js.map +1 -1
  227. package/dist/collection/components/notification/bq-notification.js +12 -13
  228. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  229. package/dist/collection/components/option/bq-option.js +15 -16
  230. package/dist/collection/components/option/bq-option.js.map +1 -1
  231. package/dist/collection/components/option-group/bq-option-group.js +2 -2
  232. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  233. package/dist/collection/components/option-list/bq-option-list.js +2 -2
  234. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  235. package/dist/collection/components/page-title/bq-page-title.js +11 -11
  236. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  237. package/dist/collection/components/panel/bq-panel.js +3 -3
  238. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  239. package/dist/collection/components/progress/bq-progress.js +13 -14
  240. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  241. package/dist/collection/components/radio/bq-radio.js +9 -10
  242. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  243. package/dist/collection/components/radio-group/bq-radio-group.js +2 -3
  244. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  245. package/dist/collection/components/select/bq-select.js +27 -27
  246. package/dist/collection/components/select/bq-select.js.map +1 -1
  247. package/dist/collection/components/select/scss/bq-select.css +1 -1
  248. package/dist/collection/components/side-menu/bq-side-menu.js +4 -4
  249. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  250. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +6 -6
  251. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  252. package/dist/collection/components/slider/bq-slider.js +23 -23
  253. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  254. package/dist/collection/components/spinner/bq-spinner.js +10 -10
  255. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  256. package/dist/collection/components/status/bq-status.js +2 -2
  257. package/dist/collection/components/status/bq-status.js.map +1 -1
  258. package/dist/collection/components/step-item/bq-step-item.js +16 -16
  259. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  260. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  261. package/dist/collection/components/steps/bq-steps.js +3 -3
  262. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  263. package/dist/collection/components/switch/bq-switch.js +10 -11
  264. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  265. package/dist/collection/components/tab/bq-tab.js +5 -5
  266. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  267. package/dist/collection/components/tab-group/bq-tab-group.js +8 -9
  268. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  269. package/dist/collection/components/tag/bq-tag.js +10 -11
  270. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  271. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  272. package/dist/collection/components/textarea/bq-textarea.js +16 -16
  273. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  274. package/dist/collection/components/toast/bq-toast.js +2 -3
  275. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  276. package/dist/collection/components/tooltip/bq-tooltip.js +8 -8
  277. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  278. package/dist/collection/global/scripts/esm-loader.js +23 -6
  279. package/dist/collection/scripts/esm-loader.js +24 -0
  280. package/dist/collection/scripts/zeroheight-svg-loader.js +22 -0
  281. package/dist/components/bq-accordion-group.js +1 -157
  282. package/dist/components/bq-accordion-group.js.map +1 -1
  283. package/dist/components/bq-accordion.js +1 -444
  284. package/dist/components/bq-accordion.js.map +1 -1
  285. package/dist/components/bq-alert.js +1 -354
  286. package/dist/components/bq-alert.js.map +1 -1
  287. package/dist/components/bq-avatar.js +1 -206
  288. package/dist/components/bq-avatar.js.map +1 -1
  289. package/dist/components/bq-badge.js +1 -8
  290. package/dist/components/bq-breadcrumb-item.js +1 -129
  291. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  292. package/dist/components/bq-breadcrumb.js +1 -138
  293. package/dist/components/bq-breadcrumb.js.map +1 -1
  294. package/dist/components/bq-button.js +1 -8
  295. package/dist/components/bq-card.js +1 -118
  296. package/dist/components/bq-card.js.map +1 -1
  297. package/dist/components/bq-checkbox.js +1 -314
  298. package/dist/components/bq-checkbox.js.map +1 -1
  299. package/dist/components/bq-date-picker.js +1 -1113
  300. package/dist/components/bq-date-picker.js.map +1 -1
  301. package/dist/components/bq-dialog.js +1 -347
  302. package/dist/components/bq-dialog.js.map +1 -1
  303. package/dist/components/bq-divider.js +1 -8
  304. package/dist/components/bq-drawer.js +1 -356
  305. package/dist/components/bq-drawer.js.map +1 -1
  306. package/dist/components/bq-dropdown.js +1 -8
  307. package/dist/components/bq-empty-state.js +1 -192
  308. package/dist/components/bq-empty-state.js.map +1 -1
  309. package/dist/components/bq-icon.js +1 -8
  310. package/dist/components/bq-input.js +1 -502
  311. package/dist/components/bq-input.js.map +1 -1
  312. package/dist/components/bq-notification.js +1 -381
  313. package/dist/components/bq-notification.js.map +1 -1
  314. package/dist/components/bq-option-group.js +1 -104
  315. package/dist/components/bq-option-group.js.map +1 -1
  316. package/dist/components/bq-option-list.js +1 -8
  317. package/dist/components/bq-option.js +1 -200
  318. package/dist/components/bq-option.js.map +1 -1
  319. package/dist/components/bq-page-title.js +1 -150
  320. package/dist/components/bq-page-title.js.map +1 -1
  321. package/dist/components/bq-panel.js +1 -8
  322. package/dist/components/bq-progress.js +1 -220
  323. package/dist/components/bq-progress.js.map +1 -1
  324. package/dist/components/bq-radio-group.js +1 -457
  325. package/dist/components/bq-radio-group.js.map +1 -1
  326. package/dist/components/bq-radio.js +1 -219
  327. package/dist/components/bq-radio.js.map +1 -1
  328. package/dist/components/bq-select.js +1 -794
  329. package/dist/components/bq-select.js.map +1 -1
  330. package/dist/components/bq-side-menu-item.js +1 -181
  331. package/dist/components/bq-side-menu-item.js.map +1 -1
  332. package/dist/components/bq-side-menu.js +1 -200
  333. package/dist/components/bq-side-menu.js.map +1 -1
  334. package/dist/components/bq-slider.js +1 -443
  335. package/dist/components/bq-slider.js.map +1 -1
  336. package/dist/components/bq-spinner.js +1 -248
  337. package/dist/components/bq-spinner.js.map +1 -1
  338. package/dist/components/bq-status.js +1 -119
  339. package/dist/components/bq-status.js.map +1 -1
  340. package/dist/components/bq-step-item.js +1 -236
  341. package/dist/components/bq-step-item.js.map +1 -1
  342. package/dist/components/bq-steps.js +1 -175
  343. package/dist/components/bq-steps.js.map +1 -1
  344. package/dist/components/bq-switch.js +1 -330
  345. package/dist/components/bq-switch.js.map +1 -1
  346. package/dist/components/bq-tab-group.js +1 -273
  347. package/dist/components/bq-tab-group.js.map +1 -1
  348. package/dist/components/bq-tab.js +1 -248
  349. package/dist/components/bq-tab.js.map +1 -1
  350. package/dist/components/bq-tag.js +1 -8
  351. package/dist/components/bq-textarea.js +1 -393
  352. package/dist/components/bq-textarea.js.map +1 -1
  353. package/dist/components/bq-toast.js +1 -281
  354. package/dist/components/bq-toast.js.map +1 -1
  355. package/dist/components/bq-tooltip.js +1 -8
  356. package/dist/components/index.js +1 -149
  357. package/dist/components/index.js.map +1 -1
  358. package/dist/components/p-4z5qnOaY.js +6 -0
  359. package/dist/components/p-4z5qnOaY.js.map +1 -0
  360. package/dist/components/p-8mobOXPw.js +6 -0
  361. package/dist/components/p-8mobOXPw.js.map +1 -0
  362. package/dist/components/p-B4sM1t6Z.js +1 -8
  363. package/dist/components/p-B4sM1t6Z.js.map +1 -1
  364. package/dist/components/p-BHxv_w2i.js +6 -0
  365. package/dist/components/p-BHxv_w2i.js.map +1 -0
  366. package/dist/components/p-BRMw_HGf.js +1 -8
  367. package/dist/components/p-BRMw_HGf.js.map +1 -1
  368. package/dist/components/p-BRbYDZoo.js +1 -10
  369. package/dist/components/p-BRbYDZoo.js.map +1 -1
  370. package/dist/components/p-BcPwGxIn.js +1 -9
  371. package/dist/components/p-BcPwGxIn.js.map +1 -1
  372. package/dist/components/{p-C8_OKNHL.js → p-Br5pwRAS.js} +2 -221
  373. package/dist/components/p-Br5pwRAS.js.map +1 -0
  374. package/dist/components/p-BsSDkLU5.js +1 -26
  375. package/dist/components/p-BsSDkLU5.js.map +1 -1
  376. package/dist/components/p-C4FuG35Q.js +6 -0
  377. package/dist/components/p-C4FuG35Q.js.map +1 -0
  378. package/dist/components/p-CVw85-WU.js +1 -64
  379. package/dist/components/p-CVw85-WU.js.map +1 -1
  380. package/dist/components/p-CmKvDWiL.js +1 -1782
  381. package/dist/components/p-CmKvDWiL.js.map +1 -1
  382. package/dist/components/p-D1A0LpG_.js +1 -10
  383. package/dist/components/p-D1A0LpG_.js.map +1 -1
  384. package/dist/components/p-D97CZ-cz.js +6 -0
  385. package/dist/components/p-D97CZ-cz.js.map +1 -0
  386. package/dist/components/p-DDVIIUm1.js +6 -0
  387. package/dist/components/p-DDVIIUm1.js.map +1 -0
  388. package/dist/components/p-DSdUt2Ay.js +6 -0
  389. package/dist/components/p-DSdUt2Ay.js.map +1 -0
  390. package/dist/components/p-DdvbF5yL.js +1 -119
  391. package/dist/components/p-DdvbF5yL.js.map +1 -1
  392. package/dist/components/p-Dla7kvqV.js +6 -0
  393. package/dist/components/p-Dla7kvqV.js.map +1 -0
  394. package/dist/components/p-DnkZCdMA.js +1 -8
  395. package/dist/components/p-DnkZCdMA.js.map +1 -1
  396. package/dist/components/{p-YyF6_fWE.js → p-DoX6g7vo.js} +2 -381
  397. package/dist/components/p-DoX6g7vo.js.map +1 -0
  398. package/dist/components/p-Dx-CEPSQ.js +1 -13
  399. package/dist/components/p-Dx-CEPSQ.js.map +1 -1
  400. package/dist/components/p-_RvVpeh2.js +1 -29
  401. package/dist/components/p-_RvVpeh2.js.map +1 -1
  402. package/dist/components/p-lysmVw2n.js +1 -12
  403. package/dist/components/p-lysmVw2n.js.map +1 -1
  404. package/dist/components/p-uqkxeAeG.js +1 -88
  405. package/dist/components/p-uqkxeAeG.js.map +1 -1
  406. package/dist/components/p-zh4P02Kn.js +1 -21
  407. package/dist/components/p-zh4P02Kn.js.map +1 -1
  408. package/dist/custom-elements.json +5184 -5184
  409. package/dist/esm/beeq.js +2 -3
  410. package/dist/esm/beeq.js.map +1 -1
  411. package/dist/esm/bq-accordion-group.entry.js +2 -3
  412. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  413. package/dist/esm/bq-accordion.entry.js +14 -15
  414. package/dist/esm/bq-accordion.entry.js.map +1 -1
  415. package/dist/esm/bq-alert.entry.js +14 -15
  416. package/dist/esm/bq-alert.entry.js.map +1 -1
  417. package/dist/esm/bq-avatar.entry.js +13 -14
  418. package/dist/esm/bq-avatar.entry.js.map +1 -1
  419. package/dist/esm/bq-badge.entry.js +9 -10
  420. package/dist/esm/bq-badge.entry.js.map +1 -1
  421. package/dist/esm/bq-breadcrumb-item.entry.js +2 -3
  422. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  423. package/dist/esm/bq-breadcrumb.entry.js +7 -8
  424. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  425. package/dist/esm/bq-button_2.entry.js +19 -20
  426. package/dist/esm/bq-button_2.entry.js.map +1 -1
  427. package/dist/esm/bq-card.entry.js +7 -8
  428. package/dist/esm/bq-card.entry.js.map +1 -1
  429. package/dist/esm/bq-checkbox.entry.js +5 -6
  430. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  431. package/dist/esm/bq-date-picker.entry.js +20 -21
  432. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  433. package/dist/esm/bq-dialog.entry.js +15 -16
  434. package/dist/esm/bq-dialog.entry.js.map +1 -1
  435. package/dist/esm/bq-divider.entry.js +15 -16
  436. package/dist/esm/bq-divider.entry.js.map +1 -1
  437. package/dist/esm/bq-drawer.entry.js +19 -20
  438. package/dist/esm/bq-drawer.entry.js.map +1 -1
  439. package/dist/esm/bq-dropdown_2.entry.js +5 -6
  440. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  441. package/dist/esm/bq-empty-state.entry.js +26 -27
  442. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  443. package/dist/esm/bq-input.entry.js +22 -23
  444. package/dist/esm/bq-input.entry.js.map +1 -1
  445. package/dist/esm/bq-notification.entry.js +12 -13
  446. package/dist/esm/bq-notification.entry.js.map +1 -1
  447. package/dist/esm/bq-option-group.entry.js +2 -3
  448. package/dist/esm/bq-option-group.entry.js.map +1 -1
  449. package/dist/esm/bq-option-list_2.entry.js +11 -12
  450. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  451. package/dist/esm/bq-option.entry.js +15 -16
  452. package/dist/esm/bq-option.entry.js.map +1 -1
  453. package/dist/esm/bq-page-title.entry.js +11 -12
  454. package/dist/esm/bq-page-title.entry.js.map +1 -1
  455. package/dist/esm/bq-progress.entry.js +13 -14
  456. package/dist/esm/bq-progress.entry.js.map +1 -1
  457. package/dist/esm/bq-radio-group.entry.js +2 -3
  458. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  459. package/dist/esm/bq-radio.entry.js +9 -10
  460. package/dist/esm/bq-radio.entry.js.map +1 -1
  461. package/dist/esm/bq-select.entry.js +28 -29
  462. package/dist/esm/bq-select.entry.js.map +1 -1
  463. package/dist/esm/bq-side-menu-item.entry.js +6 -7
  464. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  465. package/dist/esm/bq-side-menu.entry.js +4 -5
  466. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  467. package/dist/esm/bq-slider.entry.js +23 -24
  468. package/dist/esm/bq-slider.entry.js.map +1 -1
  469. package/dist/esm/bq-spinner.entry.js +10 -11
  470. package/dist/esm/bq-spinner.entry.js.map +1 -1
  471. package/dist/esm/bq-status.entry.js +2 -3
  472. package/dist/esm/bq-status.entry.js.map +1 -1
  473. package/dist/esm/bq-step-item.entry.js +17 -18
  474. package/dist/esm/bq-step-item.entry.js.map +1 -1
  475. package/dist/esm/bq-steps.entry.js +3 -4
  476. package/dist/esm/bq-steps.entry.js.map +1 -1
  477. package/dist/esm/bq-switch.entry.js +10 -11
  478. package/dist/esm/bq-switch.entry.js.map +1 -1
  479. package/dist/esm/bq-tab-group.entry.js +8 -9
  480. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  481. package/dist/esm/bq-tab.entry.js +5 -6
  482. package/dist/esm/bq-tab.entry.js.map +1 -1
  483. package/dist/esm/bq-textarea.entry.js +16 -17
  484. package/dist/esm/bq-textarea.entry.js.map +1 -1
  485. package/dist/esm/bq-toast.entry.js +2 -3
  486. package/dist/esm/bq-toast.entry.js.map +1 -1
  487. package/dist/esm/bq-tooltip.entry.js +9 -10
  488. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  489. package/dist/esm/{index-D0hQxkOP.js → index-XbB3xSTR.js} +67 -23
  490. package/dist/esm/index-XbB3xSTR.js.map +1 -0
  491. package/dist/esm/loader.js +2 -3
  492. package/dist/esm/loader.js.map +1 -1
  493. package/dist/hydrate/index.js +413 -417
  494. package/dist/hydrate/index.mjs +413 -417
  495. package/dist/stencil.config.js +1 -1
  496. package/dist/stencil.config.js.map +1 -1
  497. package/dist/types/components/accordion/bq-accordion.d.ts +1 -1
  498. package/dist/types/components/accordion-group/bq-accordion-group.d.ts +1 -1
  499. package/dist/types/components/alert/bq-alert.d.ts +1 -1
  500. package/dist/types/components/avatar/bq-avatar.d.ts +1 -1
  501. package/dist/types/components/badge/bq-badge.d.ts +1 -1
  502. package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +1 -1
  503. package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +1 -1
  504. package/dist/types/components/button/bq-button.d.ts +1 -1
  505. package/dist/types/components/card/bq-card.d.ts +1 -1
  506. package/dist/types/components/checkbox/bq-checkbox.d.ts +1 -1
  507. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -1
  508. package/dist/types/components/dialog/bq-dialog.d.ts +1 -1
  509. package/dist/types/components/divider/bq-divider.d.ts +1 -1
  510. package/dist/types/components/drawer/bq-drawer.d.ts +1 -1
  511. package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -1
  512. package/dist/types/components/empty-state/bq-empty-state.d.ts +1 -1
  513. package/dist/types/components/icon/bq-icon.d.ts +1 -1
  514. package/dist/types/components/input/bq-input.d.ts +1 -1
  515. package/dist/types/components/notification/bq-notification.d.ts +1 -1
  516. package/dist/types/components/option/bq-option.d.ts +1 -1
  517. package/dist/types/components/option-group/bq-option-group.d.ts +1 -1
  518. package/dist/types/components/option-list/bq-option-list.d.ts +1 -1
  519. package/dist/types/components/page-title/bq-page-title.d.ts +1 -1
  520. package/dist/types/components/panel/bq-panel.d.ts +1 -1
  521. package/dist/types/components/progress/bq-progress.d.ts +1 -1
  522. package/dist/types/components/radio/bq-radio.d.ts +1 -1
  523. package/dist/types/components/radio-group/bq-radio-group.d.ts +1 -1
  524. package/dist/types/components/select/bq-select.d.ts +1 -1
  525. package/dist/types/components/side-menu/bq-side-menu.d.ts +1 -1
  526. package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +1 -1
  527. package/dist/types/components/slider/bq-slider.d.ts +1 -1
  528. package/dist/types/components/spinner/bq-spinner.d.ts +1 -1
  529. package/dist/types/components/status/bq-status.d.ts +1 -1
  530. package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
  531. package/dist/types/components/steps/bq-steps.d.ts +1 -1
  532. package/dist/types/components/switch/bq-switch.d.ts +1 -1
  533. package/dist/types/components/tab/bq-tab.d.ts +1 -1
  534. package/dist/types/components/tab-group/bq-tab-group.d.ts +1 -1
  535. package/dist/types/components/tag/bq-tag.d.ts +1 -1
  536. package/dist/types/components/textarea/bq-textarea.d.ts +1 -1
  537. package/dist/types/components/toast/bq-toast.d.ts +1 -1
  538. package/dist/types/components/tooltip/bq-tooltip.d.ts +1 -1
  539. package/package.json +1 -1
  540. package/dist/beeq/p-1011ae42.entry.js.map +0 -1
  541. package/dist/beeq/p-110c262d.entry.js +0 -173
  542. package/dist/beeq/p-110c262d.entry.js.map +0 -1
  543. package/dist/beeq/p-11671252.entry.js.map +0 -1
  544. package/dist/beeq/p-11fcb99b.entry.js +0 -281
  545. package/dist/beeq/p-11fcb99b.entry.js.map +0 -1
  546. package/dist/beeq/p-1aba3eec.entry.js.map +0 -1
  547. package/dist/beeq/p-20162842.entry.js +0 -151
  548. package/dist/beeq/p-20162842.entry.js.map +0 -1
  549. package/dist/beeq/p-3a4c4de9.entry.js +0 -188
  550. package/dist/beeq/p-3a4c4de9.entry.js.map +0 -1
  551. package/dist/beeq/p-426fd908.entry.js.map +0 -1
  552. package/dist/beeq/p-47571092.entry.js +0 -289
  553. package/dist/beeq/p-47571092.entry.js.map +0 -1
  554. package/dist/beeq/p-49e90223.entry.js +0 -86
  555. package/dist/beeq/p-49e90223.entry.js.map +0 -1
  556. package/dist/beeq/p-4b00a155.entry.js +0 -747
  557. package/dist/beeq/p-4b00a155.entry.js.map +0 -1
  558. package/dist/beeq/p-54ddd09f.entry.js +0 -392
  559. package/dist/beeq/p-54ddd09f.entry.js.map +0 -1
  560. package/dist/beeq/p-6b68123f.entry.js.map +0 -1
  561. package/dist/beeq/p-6d708caf.entry.js +0 -339
  562. package/dist/beeq/p-6d708caf.entry.js.map +0 -1
  563. package/dist/beeq/p-70607940.entry.js +0 -174
  564. package/dist/beeq/p-70607940.entry.js.map +0 -1
  565. package/dist/beeq/p-72c376a9.entry.js +0 -165
  566. package/dist/beeq/p-72c376a9.entry.js.map +0 -1
  567. package/dist/beeq/p-78bbd845.entry.js +0 -109
  568. package/dist/beeq/p-78bbd845.entry.js.map +0 -1
  569. package/dist/beeq/p-8012f01d.entry.js +0 -556
  570. package/dist/beeq/p-8012f01d.entry.js.map +0 -1
  571. package/dist/beeq/p-8b5934a3.entry.js.map +0 -1
  572. package/dist/beeq/p-94c2081a.entry.js +0 -681
  573. package/dist/beeq/p-94c2081a.entry.js.map +0 -1
  574. package/dist/beeq/p-95979cb0.entry.js +0 -289
  575. package/dist/beeq/p-95979cb0.entry.js.map +0 -1
  576. package/dist/beeq/p-978b2249.entry.js +0 -196
  577. package/dist/beeq/p-978b2249.entry.js.map +0 -1
  578. package/dist/beeq/p-9a78587d.entry.js.map +0 -1
  579. package/dist/beeq/p-BtYhUEAn.js +0 -9
  580. package/dist/beeq/p-BtYhUEAn.js.map +0 -1
  581. package/dist/beeq/p-C33fRBEf.js +0 -156
  582. package/dist/beeq/p-C33fRBEf.js.map +0 -1
  583. package/dist/beeq/p-D0hQxkOP.js +0 -2816
  584. package/dist/beeq/p-D0hQxkOP.js.map +0 -1
  585. package/dist/beeq/p-ac7cd72b.entry.js +0 -322
  586. package/dist/beeq/p-ac7cd72b.entry.js.map +0 -1
  587. package/dist/beeq/p-ae85a23a.entry.js +0 -408
  588. package/dist/beeq/p-ae85a23a.entry.js.map +0 -1
  589. package/dist/beeq/p-b0f9a0cb.entry.js +0 -296
  590. package/dist/beeq/p-b0f9a0cb.entry.js.map +0 -1
  591. package/dist/beeq/p-b194e120.entry.js +0 -293
  592. package/dist/beeq/p-b194e120.entry.js.map +0 -1
  593. package/dist/beeq/p-b2858324.entry.js +0 -210
  594. package/dist/beeq/p-b2858324.entry.js.map +0 -1
  595. package/dist/beeq/p-c34fc2c7.entry.js +0 -351
  596. package/dist/beeq/p-c34fc2c7.entry.js.map +0 -1
  597. package/dist/beeq/p-c630a8b8.entry.js +0 -442
  598. package/dist/beeq/p-c630a8b8.entry.js.map +0 -1
  599. package/dist/beeq/p-cb9b1edc.entry.js +0 -232
  600. package/dist/beeq/p-cb9b1edc.entry.js.map +0 -1
  601. package/dist/beeq/p-cc6b349e.entry.js +0 -172
  602. package/dist/beeq/p-cc6b349e.entry.js.map +0 -1
  603. package/dist/beeq/p-d0edfaa5.entry.js +0 -388
  604. package/dist/beeq/p-d0edfaa5.entry.js.map +0 -1
  605. package/dist/beeq/p-db09cc1e.entry.js.map +0 -1
  606. package/dist/beeq/p-f6d82c39.entry.js +0 -206
  607. package/dist/beeq/p-f6d82c39.entry.js.map +0 -1
  608. package/dist/beeq/p-f83010e9.entry.js +0 -118
  609. package/dist/beeq/p-f83010e9.entry.js.map +0 -1
  610. package/dist/beeq/p-f97c679f.entry.js +0 -233
  611. package/dist/beeq/p-f97c679f.entry.js.map +0 -1
  612. package/dist/beeq/p-ff327b98.entry.js.map +0 -1
  613. package/dist/beeq/p-ff73f344.entry.js +0 -396
  614. package/dist/beeq/p-ff73f344.entry.js.map +0 -1
  615. package/dist/cjs/app-globals-BY_z0SzA.js +0 -12
  616. package/dist/cjs/app-globals-BY_z0SzA.js.map +0 -1
  617. package/dist/cjs/index-BwvwUnfB.js.map +0 -1
  618. package/dist/cjs/index-C09ZVaB4.js +0 -154
  619. package/dist/cjs/index-C09ZVaB4.js.map +0 -1
  620. package/dist/components/p-C8_OKNHL.js.map +0 -1
  621. package/dist/components/p-C97BzPa8.js +0 -177
  622. package/dist/components/p-C97BzPa8.js.map +0 -1
  623. package/dist/components/p-CMejKLsB.js +0 -248
  624. package/dist/components/p-CMejKLsB.js.map +0 -1
  625. package/dist/components/p-DBPU_cIr.js +0 -338
  626. package/dist/components/p-DBPU_cIr.js.map +0 -1
  627. package/dist/components/p-DDCN9O42.js +0 -2669
  628. package/dist/components/p-DDCN9O42.js.map +0 -1
  629. package/dist/components/p-DHhUeR-_.js +0 -377
  630. package/dist/components/p-DHhUeR-_.js.map +0 -1
  631. package/dist/components/p-DSqLegVR.js +0 -100
  632. package/dist/components/p-DSqLegVR.js.map +0 -1
  633. package/dist/components/p-YyF6_fWE.js.map +0 -1
  634. package/dist/components/p-qOL6hl5s.js +0 -298
  635. package/dist/components/p-qOL6hl5s.js.map +0 -1
  636. package/dist/esm/app-globals-BtYhUEAn.js +0 -10
  637. package/dist/esm/app-globals-BtYhUEAn.js.map +0 -1
  638. package/dist/esm/index-C33fRBEf.js +0 -151
  639. package/dist/esm/index-C33fRBEf.js.map +0 -1
  640. package/dist/esm/index-D0hQxkOP.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
5
+ import { h } from "@stencil/core";
6
6
  import { debounce, hasSlotContent, isDefined, isHTMLElement, isNil } from "../../shared/utils";
7
7
  /**
8
8
  * The Input component is a fundamental user interface element that allows users to input data by typing it into a text field.
@@ -347,27 +347,27 @@ export class BqInput {
347
347
  // Always the last one in the class.
348
348
  // ===================================
349
349
  render() {
350
- return (_jsxs("div", { class: "bq-input", part: "base", children: [_jsx("label", { "aria-label": this.name || this.fallbackInputId, class: { 'bq-input--label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, part: "label", ref: (labelElem) => {
351
- this.labelElem = labelElem;
352
- }, children: _jsx("slot", { name: "label", onSlotchange: this.handleSlotChange }, 'f086b82bf49ba6ff623e835cf6fde5d8ad91cf8b') }, '97c6d07ecad766b6e9f686c415519c79f419dfac'), _jsxs("div", { class: {
353
- 'bq-input--control': true,
354
- [`validation-${this.validationStatus}`]: true,
355
- disabled: this.disabled,
356
- }, part: "control", children: [_jsx("span", { class: { 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
357
- this.prefixElem = spanElem;
358
- }, children: _jsx("slot", { name: "prefix", onSlotchange: this.handleSlotChange }, 'eed7ff0ffc728c7aa0cc7ea6a9740cc5f37f4ff2') }, '60d7c84d19996f672e71b7846b63b94c71402fe8'), _jsx("input", { "aria-disabled": this.disabled ? 'true' : 'false', autocapitalize: this.autocapitalize, autocomplete: this.autocomplete, autofocus: this.autofocus, class: "bq-input--control__input", disabled: this.disabled, form: this.form, id: this.name || this.fallbackInputId, inputMode: this.inputmode, max: this.max, maxLength: this.maxlength, min: this.min, minLength: this.minlength, name: this.name, onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput, part: "input", pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, ref: (inputElem) => {
359
- this.inputElem = inputElem;
360
- }, required: this.required, step: this.step, type: this.type, value: this.value }, '3f2027f9b92335ef1e5c7a8b8cf51d7b2d34fd41'), this.hasValue && !this.disabled && !this.disableClear && (
361
- // The clear button will be visible as long as the input has a value
362
- // and the parent group is hovered or has focus-within
363
- _jsx("bq-button", { appearance: "text", border: "s", class: "bq-input--control__clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0", exportparts: "button", label: this.clearButtonLabel, onBqClick: this.handleClearClick, onlyIcon: true, part: "clear-btn", size: "small", children: _jsx("slot", { name: "clear-icon", children: _jsx("bq-icon", { "aria-hidden": "true", class: "flex", name: "x-circle" }, '02d9ee81ee4c2ca93a5311e532ef972fc5ef6f68') }, '24e0b3472235cfafaef8e8893302161494084e6d') }, 'a8307f83b5cf4e1e4e5b66f863529bb2be162eb6')), _jsx("span", { class: { 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }, part: "suffix", ref: (spanElem) => {
364
- this.suffixElem = spanElem;
365
- }, children: _jsx("slot", { name: "suffix", onSlotchange: this.handleSlotChange }, 'a947095a99cd5287a00ada3801560715cd7c333f') }, '0b76cd07ef8df5fadd6aad9d7b6498c5e2dba757')] }, '471ed45b2a7c40a4355866fd8b91e9904b5ba932'), _jsx("div", { class: {
366
- [`bq-input--helper-text validation-${this.validationStatus}`]: true,
367
- '!hidden': !this.hasHelperText,
368
- }, part: "helper-text", ref: (divElem) => {
369
- this.helperTextElem = divElem;
370
- }, children: _jsx("slot", { name: "helper-text", onSlotchange: this.handleSlotChange }, '897182f144435ed0ea5d8a51d4a849ecb2cf00e1') }, 'b8cdf736c4dfbe43515aaa8ae56e263459b5ca6f')] }, '66e46174b5afe8cd7e5d246ce30f43a958246583'));
350
+ return (h("div", { key: 'f4f5b217cabb4cd9bac80293c39a3ea0c8e90cb9', class: "bq-input", part: "base" }, h("label", { key: '9ff6667bcb5dc4a29b039a426c3b8a61660402ff', "aria-label": this.name || this.fallbackInputId, class: { 'bq-input--label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, part: "label", ref: (labelElem) => {
351
+ this.labelElem = labelElem;
352
+ } }, h("slot", { key: 'de378fc3f0a6e8b9fd5c7ef410b2c20de1e2d3a4', name: "label", onSlotchange: this.handleSlotChange })), h("div", { key: '70fed44122c2a666f71d066a1f414bcb86f5a650', class: {
353
+ 'bq-input--control': true,
354
+ [`validation-${this.validationStatus}`]: true,
355
+ disabled: this.disabled,
356
+ }, part: "control" }, h("span", { key: '0e8b29b9e13a874da3509477a52bc198ea30da73', class: { 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
357
+ this.prefixElem = spanElem;
358
+ } }, h("slot", { key: '8499f9f20cc3e73f04e6de7311eab835e7b75d30', name: "prefix", onSlotchange: this.handleSlotChange })), h("input", { key: '739101406af9113f0ab39ac331b70b3d048a58bd', "aria-disabled": this.disabled ? 'true' : 'false', autocapitalize: this.autocapitalize, autocomplete: this.autocomplete, autofocus: this.autofocus, class: "bq-input--control__input", disabled: this.disabled, form: this.form, id: this.name || this.fallbackInputId, inputMode: this.inputmode, max: this.max, maxLength: this.maxlength, min: this.min, minLength: this.minlength, name: this.name, onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput, part: "input", pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, ref: (inputElem) => {
359
+ this.inputElem = inputElem;
360
+ }, required: this.required, step: this.step, type: this.type, value: this.value }), this.hasValue && !this.disabled && !this.disableClear && (
361
+ // The clear button will be visible as long as the input has a value
362
+ // and the parent group is hovered or has focus-within
363
+ h("bq-button", { key: 'dd6aa7e837d09335eef410359617ad317d1e048a', appearance: "text", border: "s", class: "bq-input--control__clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0", exportparts: "button", label: this.clearButtonLabel, onBqClick: this.handleClearClick, onlyIcon: true, part: "clear-btn", size: "small" }, h("slot", { key: '10ee3f8591b0491c44ff7552f6e6d023dde2d023', name: "clear-icon" }, h("bq-icon", { key: '4cc5bfa88e3cfbb0bc5e32cf0ed63ed8899059c5', "aria-hidden": "true", class: "flex", name: "x-circle" })))), h("span", { key: '34856dd9d9ef6c459e259e47e03a866fa3ea4b10', class: { 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }, part: "suffix", ref: (spanElem) => {
364
+ this.suffixElem = spanElem;
365
+ } }, h("slot", { key: '4ed615dcacd49e33773d645301b144278d3cae63', name: "suffix", onSlotchange: this.handleSlotChange }))), h("div", { key: '1526539d9b70e042ff628e6dafca46b2615eed69', class: {
366
+ [`bq-input--helper-text validation-${this.validationStatus}`]: true,
367
+ '!hidden': !this.hasHelperText,
368
+ }, part: "helper-text", ref: (divElem) => {
369
+ this.helperTextElem = divElem;
370
+ } }, h("slot", { key: 'b323181543a5bc46d6f1361055dc300f267ea68c', name: "helper-text", onSlotchange: this.handleSlotChange }))));
371
371
  }
372
372
  static get is() { return "bq-input"; }
373
373
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-input.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/input/bq-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Prop, State, Watch } from '@stencil/core';\n\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, type TDebounce } from '../../shared/utils';\nimport type { TInputType, TInputValidation, TInputValue } from './bq-input.types';\n\n/**\n * The Input component is a fundamental user interface element that allows users to input data by typing it into a text field.\n * It is commonly used in web and mobile applications for various purposes, such as collecting user information, search inputs, and login forms.\n *\n * @example How to use it\n * ```html\n * <bq-input name=\"username\" label=\"Username\" placeholder=\"Enter your username\"></bq-input>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/980362-input\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {string} autocapitalize - Controls whether or not the input field should be capitalized and how.\n * @attr {string} autocomplete - Specifies whether or not the input field should have autocomplete enabled.\n * @attr {boolean} autofocus - If true, the input will be focused on component render.\n * @attr {string} clear-button-label - The clear button aria label.\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * @attr {boolean} disabled - Indicates whether the input is disabled or not.\n * @attr {boolean} disable-clear - If true, the clear button won't be displayed.\n * @attr {string} form - The ID of the form that the input field belongs to.\n * @attr {string} form-validation-message - The native form validation message (mandatory if `required` is set).\n * @attr {string} inputmode - The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * @attr {number | string} max - The maximum value that the input field can accept.\n * @attr {number} maxlength - The maximum number of characters that the input field can accept.\n * @attr {number | string} min - The minimum value that the input field can accept.\n * @attr {number} minlength - The minimum number of characters that the input field can accept.\n * @attr {string} name - The input field name.\n * @attr {string} pattern - Specifies a regular expression the form control's value should match.\n * @attr {string} placeholder - The input placeholder text value.\n * @attr {boolean} readonly - If true, the input field cannot be modified.\n * @attr {boolean} required - Indicates whether or not the input field is required to be filled out before submitting the form.\n * @attr {number | 'any'} step - A number that specifies the granularity that the value must adhere to.\n * @attr {string} type - The type attribute specifies the type of input field to display.\n * @attr {'none' | 'error' | 'warning' | 'success'} validation-status - The validation status of the input.\n * @attr {string | number | string[]} value - The input value, it can be used to reset the input to a previous value.\n *\n * @event bqBlur - Callback handler emitted when the input loses focus.\n * @event bqChange - Callback handler emitted when the input value has changed and the input loses focus.\n * @event bqClear - Callback handler emitted when the input value has been cleared.\n * @event bqFocus - Callback handler emitted when the input has received focus.\n * @event bqInput - Callback handler emitted when the input value changes.\n *\n * @slot label - The label slot container.\n * @slot prefix - The prefix slot container.\n * @slot suffix - The suffix slot container.\n * @slot helper-text - The helper text slot container.\n * @slot clear-icon - The clear icon slot container.\n *\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part helper-text - The helper text slot container.\n * @part label - The label slot container.\n * @part input - The native HTML input element used under the hood.\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n *\n * @cssprop --bq-input--background-color - Input background color\n * @cssprop --bq-input--border-color - Input border color\n * @cssprop --bq-input--border-color-focus - Input border color on focus\n * @cssprop --bq-input--border-radius - Input border radius\n * @cssprop --bq-input--border-width - Input border width\n * @cssprop --bq-input--border-style - Input border style\n * @cssprop --bq-input--gap - Gap between input content and prefix/suffix\n * @cssprop --bq-input--helper-margin-top - Helper text margin top\n * @cssprop --bq-input--helper-text-color - Helper text color\n * @cssprop --bq-input--helper-text-size - Helper text size\n * @cssprop --bq-input--icon-size - Icon size to use in prefix/suffix and clear button\n * @cssprop --bq-input--label-margin-bottom - Input label margin bottom\n * @cssprop --bq-input--label-text-color - Input label text color\n * @cssprop --bq-input--label-text-size - Input label text size\n * @cssprop --bq-input--padding-start - Input padding start\n * @cssprop --bq-input--padding-end - Input padding end\n * @cssprop --bq-input--paddingY - Input padding top and bottom\n * @cssprop --bq-input--text-color - Input text color\n * @cssprop --bq-input--text-size - Input text size\n * @cssprop --bq-input--text-placeholder-color - Input placeholder text color\n */\n@Component({\n tag: 'bq-input',\n styleUrl: './scss/bq-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqInput {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceBqInput: TDebounce<void>;\n private fallbackInputId = 'input';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqInputElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasHelperText = false;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the input field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: string = 'off';\n\n /**\n * Specifies whether or not the input field should have autocomplete enabled.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /** If true, the input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean = false;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the input is disabled or not.\n * If `true`, the input is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** The ID of the form that the input field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** The native form validation message (mandatory if `required` is set) */\n @Prop({ mutable: true }) formValidationMessage?: string;\n\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * This allows a browser to display an appropriate virtual keyboard while editing.\n * Possible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n @Prop() inputmode?: string;\n\n /**\n * The maximum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) max?: number | string;\n\n /** The maximum number of characters that the input field can accept. */\n @Prop({ reflect: true }) maxlength: number;\n\n /**\n * The minimum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) min?: number | string;\n\n /** The minimum number of characters that the input field can accept. */\n @Prop({ reflect: true }) minlength: number;\n\n /** The input field name. */\n @Prop({ reflect: true }) name!: string;\n\n /**\n * Specifies a regular expression the form control's value should match.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n @Prop({ reflect: true }) pattern?: string;\n\n /** The input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** If true, the input field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the input field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /**\n * A number that specifies the granularity that the value must adhere to.\n * Valid for date, month, week, time, datetime-local, number, and range.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @Prop({ reflect: true }) step: number | 'any';\n\n /**\n * The type attribute specifies the type of input field to display.\n * Possible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n */\n @Prop({ reflect: true }) type: TInputType = 'text';\n\n /**\n * The validation status of the input.\n *\n * @remarks\n * This property is used to indicate the validation status of the input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The input value, it can be used to reset the input to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TInputValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n const { internals, value } = this;\n if (Array.isArray(value)) {\n this.hasValue = value.some((val) => val.length > 0);\n this.internals.setFormValue(value.join(','));\n return;\n }\n\n this.hasValue = isDefined(value);\n internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqInputElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value changes.\n * This handler is called whenever the user types or pastes text into the input field.\n */\n @Event() bqInput!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n formAssociatedCallback() {\n this.setFormValue(this.value?.toString());\n this.updateFormValidity();\n }\n\n formResetCallback() {\n if (isNil(this.value)) return;\n\n this.handleClear();\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 handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n // Update form value and validity\n this.setFormValue(`${this.value}`);\n this.updateFormValidity();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleClear = () => {\n if (this.disabled) return;\n\n const { inputElem, setFormValue, updateFormValidity } = this;\n // Clear input element value\n inputElem.value = '';\n this.value = inputElem.value;\n // Set form value to empty string abd update validity\n setFormValue(this.value);\n updateFormValidity();\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n ev.stopPropagation();\n this.handleClear();\n\n const { bqClear, bqChange, bqInput, el, inputElem } = this;\n // Emit events\n bqClear.emit(el);\n bqInput.emit({ value: this.value, el });\n bqChange.emit({ value: this.value, el });\n // Refocus input element\n inputElem.focus();\n };\n\n private setFormValue = (value?: string) => {\n this.internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n private updateFormValidity = () => {\n const { formValidationMessage, internals, required, value, inputElem } = this;\n\n // Clear the validity state\n internals?.states.clear();\n\n if (required && (!value || value.toString().trim() === '')) {\n // Set validity state to invalid\n internals?.states.add('invalid');\n internals?.setValidity({ valueMissing: true }, formValidationMessage, inputElem);\n return;\n }\n\n // Set validity state to valid if textarea has value or is not required\n internals?.states.add('valid');\n internals?.setValidity({});\n };\n\n private handleSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n this.hasPrefix = hasSlotContent(this.prefixElem);\n this.hasSuffix = hasSlotContent(this.suffixElem);\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-input\" part=\"base\">\n {/* Label */}\n <label\n aria-label={this.name || this.fallbackInputId}\n class={{ 'bq-input--label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n part=\"label\"\n ref={(labelElem) => {\n this.labelElem = labelElem;\n }}\n >\n <slot name=\"label\" onSlotchange={this.handleSlotChange} />\n </label>\n {/* Input control group */}\n <div\n class={{\n 'bq-input--control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n aria-disabled={this.disabled ? 'true' : 'false'}\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autofocus={this.autofocus}\n class=\"bq-input--control__input\"\n disabled={this.disabled}\n form={this.form}\n id={this.name || this.fallbackInputId}\n inputMode={this.inputmode}\n max={this.max}\n maxLength={this.maxlength}\n min={this.min}\n minLength={this.minlength}\n name={this.name}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n ref={(inputElem) => {\n this.inputElem = inputElem;\n }}\n required={this.required}\n step={this.step}\n type={this.type}\n value={this.value}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"bq-input--control__clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0\"\n exportparts=\"button\"\n label={this.clearButtonLabel}\n onBqClick={this.handleClearClick}\n onlyIcon\n part=\"clear-btn\"\n size=\"small\"\n >\n <slot name=\"clear-icon\">\n <bq-icon aria-hidden=\"true\" class=\"flex\" name=\"x-circle\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n {/* Helper text */}\n <div\n class={{\n [`bq-input--helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n part=\"helper-text\"\n ref={(divElem) => {\n this.helperTextElem = divElem;\n }}\n >\n <slot name=\"helper-text\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-input.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/input/bq-input.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 { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, type TDebounce } from '../../shared/utils';\nimport type { TInputType, TInputValidation, TInputValue } from './bq-input.types';\n\n/**\n * The Input component is a fundamental user interface element that allows users to input data by typing it into a text field.\n * It is commonly used in web and mobile applications for various purposes, such as collecting user information, search inputs, and login forms.\n *\n * @example How to use it\n * ```html\n * <bq-input name=\"username\" label=\"Username\" placeholder=\"Enter your username\"></bq-input>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/980362-input\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {string} autocapitalize - Controls whether or not the input field should be capitalized and how.\n * @attr {string} autocomplete - Specifies whether or not the input field should have autocomplete enabled.\n * @attr {boolean} autofocus - If true, the input will be focused on component render.\n * @attr {string} clear-button-label - The clear button aria label.\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * @attr {boolean} disabled - Indicates whether the input is disabled or not.\n * @attr {boolean} disable-clear - If true, the clear button won't be displayed.\n * @attr {string} form - The ID of the form that the input field belongs to.\n * @attr {string} form-validation-message - The native form validation message (mandatory if `required` is set).\n * @attr {string} inputmode - The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * @attr {number | string} max - The maximum value that the input field can accept.\n * @attr {number} maxlength - The maximum number of characters that the input field can accept.\n * @attr {number | string} min - The minimum value that the input field can accept.\n * @attr {number} minlength - The minimum number of characters that the input field can accept.\n * @attr {string} name - The input field name.\n * @attr {string} pattern - Specifies a regular expression the form control's value should match.\n * @attr {string} placeholder - The input placeholder text value.\n * @attr {boolean} readonly - If true, the input field cannot be modified.\n * @attr {boolean} required - Indicates whether or not the input field is required to be filled out before submitting the form.\n * @attr {number | 'any'} step - A number that specifies the granularity that the value must adhere to.\n * @attr {string} type - The type attribute specifies the type of input field to display.\n * @attr {'none' | 'error' | 'warning' | 'success'} validation-status - The validation status of the input.\n * @attr {string | number | string[]} value - The input value, it can be used to reset the input to a previous value.\n *\n * @event bqBlur - Callback handler emitted when the input loses focus.\n * @event bqChange - Callback handler emitted when the input value has changed and the input loses focus.\n * @event bqClear - Callback handler emitted when the input value has been cleared.\n * @event bqFocus - Callback handler emitted when the input has received focus.\n * @event bqInput - Callback handler emitted when the input value changes.\n *\n * @slot label - The label slot container.\n * @slot prefix - The prefix slot container.\n * @slot suffix - The suffix slot container.\n * @slot helper-text - The helper text slot container.\n * @slot clear-icon - The clear icon slot container.\n *\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part helper-text - The helper text slot container.\n * @part label - The label slot container.\n * @part input - The native HTML input element used under the hood.\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n *\n * @cssprop --bq-input--background-color - Input background color\n * @cssprop --bq-input--border-color - Input border color\n * @cssprop --bq-input--border-color-focus - Input border color on focus\n * @cssprop --bq-input--border-radius - Input border radius\n * @cssprop --bq-input--border-width - Input border width\n * @cssprop --bq-input--border-style - Input border style\n * @cssprop --bq-input--gap - Gap between input content and prefix/suffix\n * @cssprop --bq-input--helper-margin-top - Helper text margin top\n * @cssprop --bq-input--helper-text-color - Helper text color\n * @cssprop --bq-input--helper-text-size - Helper text size\n * @cssprop --bq-input--icon-size - Icon size to use in prefix/suffix and clear button\n * @cssprop --bq-input--label-margin-bottom - Input label margin bottom\n * @cssprop --bq-input--label-text-color - Input label text color\n * @cssprop --bq-input--label-text-size - Input label text size\n * @cssprop --bq-input--padding-start - Input padding start\n * @cssprop --bq-input--padding-end - Input padding end\n * @cssprop --bq-input--paddingY - Input padding top and bottom\n * @cssprop --bq-input--text-color - Input text color\n * @cssprop --bq-input--text-size - Input text size\n * @cssprop --bq-input--text-placeholder-color - Input placeholder text color\n */\n@Component({\n tag: 'bq-input',\n styleUrl: './scss/bq-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqInput {\n // Own Properties\n // ====================\n\n private helperTextElem?: HTMLElement;\n private inputElem?: HTMLInputElement;\n private labelElem?: HTMLElement;\n private prefixElem?: HTMLElement;\n private suffixElem?: HTMLElement;\n\n private debounceBqInput: TDebounce<void>;\n private fallbackInputId = 'input';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqInputElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasHelperText = false;\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the input field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: string = 'off';\n\n /**\n * Specifies whether or not the input field should have autocomplete enabled.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /** If true, the input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean = false;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /**\n * Indicates whether the input is disabled or not.\n * If `true`, the input is disabled and cannot be interacted with.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n\n /** If true, the clear button won't be displayed */\n @Prop({ reflect: true }) disableClear? = false;\n\n /** The ID of the form that the input field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** The native form validation message (mandatory if `required` is set) */\n @Prop({ mutable: true }) formValidationMessage?: string;\n\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\n * This allows a browser to display an appropriate virtual keyboard while editing.\n * Possible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n @Prop() inputmode?: string;\n\n /**\n * The maximum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) max?: number | string;\n\n /** The maximum number of characters that the input field can accept. */\n @Prop({ reflect: true }) maxlength: number;\n\n /**\n * The minimum value that the input field can accept.\n * Only applies to date and number input types.\n */\n @Prop({ reflect: true }) min?: number | string;\n\n /** The minimum number of characters that the input field can accept. */\n @Prop({ reflect: true }) minlength: number;\n\n /** The input field name. */\n @Prop({ reflect: true }) name!: string;\n\n /**\n * Specifies a regular expression the form control's value should match.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n @Prop({ reflect: true }) pattern?: string;\n\n /** The input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** If true, the input field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the input field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /**\n * A number that specifies the granularity that the value must adhere to.\n * Valid for date, month, week, time, datetime-local, number, and range.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n @Prop({ reflect: true }) step: number | 'any';\n\n /**\n * The type attribute specifies the type of input field to display.\n * Possible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\n */\n @Prop({ reflect: true }) type: TInputType = 'text';\n\n /**\n * The validation status of the input.\n *\n * @remarks\n * This property is used to indicate the validation status of the input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The input value, it can be used to reset the input to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TInputValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n const { internals, value } = this;\n if (Array.isArray(value)) {\n this.hasValue = value.some((val) => val.length > 0);\n this.internals.setFormValue(value.join(','));\n return;\n }\n\n this.hasValue = isDefined(value);\n internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n @Event() bqChange!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n /** Callback handler emitted when the input value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqInputElement>;\n\n /** Callback handler emitted when the input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqInputElement>;\n\n /**\n * Callback handler emitted when the input value changes.\n * This handler is called whenever the user types or pastes text into the input field.\n */\n @Event() bqInput!: EventEmitter<{ value: string | number | string[]; el: HTMLBqInputElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleValueChange();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n formAssociatedCallback() {\n this.setFormValue(this.value?.toString());\n this.updateFormValidity();\n }\n\n formResetCallback() {\n if (isNil(this.value)) return;\n\n this.handleClear();\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 handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'input')) return;\n this.value = this.type === 'number' ? Number(ev.target.value) : ev.target.value;\n // Update form value and validity\n this.setFormValue(`${this.value}`);\n this.updateFormValidity();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleClear = () => {\n if (this.disabled) return;\n\n const { inputElem, setFormValue, updateFormValidity } = this;\n // Clear input element value\n inputElem.value = '';\n this.value = inputElem.value;\n // Set form value to empty string abd update validity\n setFormValue(this.value);\n updateFormValidity();\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n ev.stopPropagation();\n this.handleClear();\n\n const { bqClear, bqChange, bqInput, el, inputElem } = this;\n // Emit events\n bqClear.emit(el);\n bqInput.emit({ value: this.value, el });\n bqChange.emit({ value: this.value, el });\n // Refocus input element\n inputElem.focus();\n };\n\n private setFormValue = (value?: string) => {\n this.internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n private updateFormValidity = () => {\n const { formValidationMessage, internals, required, value, inputElem } = this;\n\n // Clear the validity state\n internals?.states.clear();\n\n if (required && (!value || value.toString().trim() === '')) {\n // Set validity state to invalid\n internals?.states.add('invalid');\n internals?.setValidity({ valueMissing: true }, formValidationMessage, inputElem);\n return;\n }\n\n // Set validity state to valid if textarea has value or is not required\n internals?.states.add('valid');\n internals?.setValidity({});\n };\n\n private handleSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n this.hasPrefix = hasSlotContent(this.prefixElem);\n this.hasSuffix = hasSlotContent(this.suffixElem);\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-input\" part=\"base\">\n {/* Label */}\n <label\n aria-label={this.name || this.fallbackInputId}\n class={{ 'bq-input--label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name || this.fallbackInputId}\n part=\"label\"\n ref={(labelElem) => {\n this.labelElem = labelElem;\n }}\n >\n <slot name=\"label\" onSlotchange={this.handleSlotChange} />\n </label>\n {/* Input control group */}\n <div\n class={{\n 'bq-input--control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-input--control__prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n {/* HTML Input */}\n <input\n aria-disabled={this.disabled ? 'true' : 'false'}\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autofocus={this.autofocus}\n class=\"bq-input--control__input\"\n disabled={this.disabled}\n form={this.form}\n id={this.name || this.fallbackInputId}\n inputMode={this.inputmode}\n max={this.max}\n maxLength={this.maxlength}\n min={this.min}\n minLength={this.minlength}\n name={this.name}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n ref={(inputElem) => {\n this.inputElem = inputElem;\n }}\n required={this.required}\n step={this.step}\n type={this.type}\n value={this.value}\n />\n {/* Clear Button */}\n {this.hasValue && !this.disabled && !this.disableClear && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"bq-input--control__clear ms-[--bq-date-picker--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0\"\n exportparts=\"button\"\n label={this.clearButtonLabel}\n onBqClick={this.handleClearClick}\n onlyIcon\n part=\"clear-btn\"\n size=\"small\"\n >\n <slot name=\"clear-icon\">\n <bq-icon aria-hidden=\"true\" class=\"flex\" name=\"x-circle\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-input--control__suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n ref={(spanElem) => {\n this.suffixElem = spanElem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n {/* Helper text */}\n <div\n class={{\n [`bq-input--helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n part=\"helper-text\"\n ref={(divElem) => {\n this.helperTextElem = divElem;\n }}\n >\n <slot name=\"helper-text\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n );\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
6
- import { Host } from "@stencil/core";
5
+ import { Host, h } from "@stencil/core";
7
6
  import { debounce, enter, hasSlotContent, isClient, leave, validatePropValue, } from "../../shared/utils";
8
7
  import { NOTIFICATION_TYPE } from "./bq-notification.types";
9
8
  const NOTIFICATION_PORTAL_SELECTOR = 'bq-notification-portal';
@@ -257,17 +256,17 @@ export class BqNotification {
257
256
  const style = {
258
257
  ...(this.border && { '--bq-notification--border-radius': `var(--bq-radius--${this.border})` }),
259
258
  };
260
- return (_jsx(Host, { "aria-hidden": !this.open ? 'true' : 'false', class: { 'is-hidden': !this.open }, hidden: !this.open ? 'true' : 'false', role: "alert", style: style, children: _jsxs("div", { class: "bq-notification", "data-transition-enter": "transform transition ease-out duration-300", "data-transition-enter-end": "translate-y-0 opacity-100 sm:translate-x-0", "data-transition-enter-start": "translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s", "data-transition-leave": "transform transition ease-in duration-100", "data-transition-leave-end": "-translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s", "data-transition-leave-start": "translate-y-0 opacity-100 sm:translate-x-0", part: "wrapper", ref: (div) => {
261
- this.notificationElem = div;
262
- }, children: [!this.disableClose && (_jsx("bq-button", { appearance: "text", border: "s", class: "absolute inset-ie-m [&::part(button)]:p-0", label: "Close", onBqClick: () => this.hide(), onlyIcon: true, part: "btn-close", size: "small", children: _jsx("slot", { name: "btn-close", children: _jsx("bq-icon", { "aria-hidden": "true", name: "x" }, 'e9f9e6dcf98416f7c08fc27148f9e29a8172d639') }, 'd48c04b8312c5e8406e99932b4fbcd2d2318281b') }, '26d4491711c093d73a1111f9f242067beba2216e')), _jsx("div", { class: {
263
- '!hidden': this.hideIcon,
264
- [`color-${this.type}`]: true, // The icon color will be based on the type (info, success, warning, error)
265
- 'notification--icon me-xs flex text-left align-top': true,
266
- }, part: "icon-outline", children: _jsx("slot", { name: "icon", children: _jsx("bq-icon", { exportparts: "base,svg", name: this.iconName, part: "icon" }, '84c6851efd1a00ea2bc09163f19d99745132663e') }, '087d0c9075c4d3a008928f1bac7b4ed25320149e') }, '27ea3035eaf10a85ee9799e528458a4bb5b85eaf'), _jsxs("div", { class: "flex flex-col items-start gap-[--bq-notification--content-footer-gap]", part: "main", children: [_jsxs("div", { class: "flex flex-col gap-[--bq-notification--title-body-gap]", part: "content", children: [_jsx("div", { class: "title-font font-semibold leading-regular", part: "title", children: _jsx("slot", {}, '28ea69a36d437bb362d07dad07944b2911bc1544') }, 'b76d5fd5299960bc10817edaad33973df601c6cf'), _jsx("div", { class: { 'text-s leading-regular': true, '!hidden': !this.hasContent }, part: "body", ref: (div) => {
267
- this.bodyElem = div;
268
- }, children: _jsx("slot", { name: "body", onSlotchange: this.handleSlotChange }, '9579c2de900af09753e11bf815844519a5ed32c2') }, '6df2fee156ee13a64b4b09958eebbaf070e8e89a')] }, 'c8c111de95602acf9c7078ec4202ee2c03f36dc8'), _jsx("div", { class: { 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }, part: "footer", ref: (div) => {
269
- this.footerElem = div;
270
- }, children: _jsx("slot", { name: "footer", onSlotchange: this.handleSlotChange }, '168a55c7e0aeb56001cb5b56aa5210588a7620d8') }, '5cac890b2d5eb8d9d9e04b863d78c84ecf69c67d')] }, '6db46730f5002c3e94f6e33e366af831eb3a40b9')] }, 'e1b74480a2526c2739c08760ad0324fc85d7d536') }, '3a16720348de3bd1c0642f15c8821c7300b0867c'));
259
+ return (h(Host, { key: '50f8cdb42efa01007b01bcaee82c261a124cb917', "aria-hidden": !this.open ? 'true' : 'false', class: { 'is-hidden': !this.open }, hidden: !this.open ? 'true' : 'false', role: "alert", style: style }, h("div", { key: '6147f1a1a832b02f0be4d799548f620bb975f67f', class: "bq-notification", "data-transition-enter": "transform transition ease-out duration-300", "data-transition-enter-end": "translate-y-0 opacity-100 sm:translate-x-0", "data-transition-enter-start": "translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s", "data-transition-leave": "transform transition ease-in duration-100", "data-transition-leave-end": "-translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s", "data-transition-leave-start": "translate-y-0 opacity-100 sm:translate-x-0", part: "wrapper", ref: (div) => {
260
+ this.notificationElem = div;
261
+ } }, !this.disableClose && (h("bq-button", { key: '0b25461348347a3c248af52619a1309cd1098e17', appearance: "text", border: "s", class: "absolute inset-ie-m [&::part(button)]:p-0", label: "Close", onBqClick: () => this.hide(), onlyIcon: true, part: "btn-close", size: "small" }, h("slot", { key: '4c8bd5002ab827bfc6ca8f8393f1a89b19dd5bce', name: "btn-close" }, h("bq-icon", { key: 'fcd71fa37255da11edb409205e12492d2d8996f8', "aria-hidden": "true", name: "x" })))), h("div", { key: '6f97f089f03f4aec8fd479e66985203de204b3cd', class: {
262
+ '!hidden': this.hideIcon,
263
+ [`color-${this.type}`]: true, // The icon color will be based on the type (info, success, warning, error)
264
+ 'notification--icon me-xs flex text-left align-top': true,
265
+ }, part: "icon-outline" }, h("slot", { key: '9e2dbcbd84f5043959f8fdc99cca3bc084ad9a0d', name: "icon" }, h("bq-icon", { key: '8f99e0b6f03306a25e349c4f141cacfa316853e6', exportparts: "base,svg", name: this.iconName, part: "icon" }))), h("div", { key: '8d4dc714404ce7ceb0353d1d689f64ae6a6d33d1', class: "flex flex-col items-start gap-[--bq-notification--content-footer-gap]", part: "main" }, h("div", { key: '2b78d175900647e8839ee9bbd4b99ff394196224', class: "flex flex-col gap-[--bq-notification--title-body-gap]", part: "content" }, h("div", { key: 'b5e79d81ae31dac9ff11e29ac32cc4078e922137', class: "title-font font-semibold leading-regular", part: "title" }, h("slot", { key: '2edebb9afe4181a1637899d3c4cb85fa0344c4ae' })), h("div", { key: '1cfe45e470f4a67e98a99e73871415f8457d46a7', class: { 'text-s leading-regular': true, '!hidden': !this.hasContent }, part: "body", ref: (div) => {
266
+ this.bodyElem = div;
267
+ } }, h("slot", { key: 'adc5b82445daa31e8c6cbce28f8faee5fd62782a', name: "body", onSlotchange: this.handleSlotChange }))), h("div", { key: 'd5ee9db0959c004c05df9aafde7625a6623b66e7', class: { 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }, part: "footer", ref: (div) => {
268
+ this.footerElem = div;
269
+ } }, h("slot", { key: '5d2b2510e3523f59e101511a75b8e40180a74005', name: "footer", onSlotchange: this.handleSlotChange }))))));
271
270
  }
272
271
  static get is() { return "bq-notification"; }
273
272
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-notification.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/notification/bq-notification.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EACL,QAAQ,EACR,KAAK,EACL,cAAc,EACd,QAAQ,EACR,KAAK,EAEL,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAMH,MAAM,OAAO,cAAc;IACzB,iBAAiB;IACjB,uBAAuB;IAEf,mBAAmB,CAAkB;IACrC,QAAQ,CAAiB;IACzB,UAAU,CAAiB;IAC3B,gBAAgB,CAAiB;IAEzC,iCAAiC;IACjC,sCAAsC;IAE3B,EAAE,CAA6B;IAE1C,oBAAoB;IACpB,wCAAwC;IACxC,0CAA0C;IAEzB,UAAU,GAAG,KAAK,CAAC;IACnB,SAAS,GAAG,KAAK,CAAC;IAClB,kBAAkB,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErH,sBAAsB;IACtB,2BAA2B;IAE3B,2FAA2F;IAClE,WAAW,CAAU;IAE9C,sDAAsD;IAC7B,MAAM,GAA8B,GAAG,CAAC;IAEjE,oFAAoF;IAC3D,YAAY,CAAU;IAE/C,oDAAoD;IAC3B,QAAQ,CAAU;IAE3C,8CAA8C;IACN,IAAI,CAAU;IAEtD,8HAA8H;IACrG,IAAI,GAAW,IAAI,CAAC;IAE7C,2BAA2B;IACF,IAAI,GAAsB,MAAM,CAAC;IAE1D,wBAAwB;IACxB,0BAA0B;IAG1B,aAAa;QACX,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAE9B,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,2FAA2F;QAC3F,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5C,CAAC;IAGD,gBAAgB;QACd,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAEnC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAGD,eAAe;QACb,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,oEAAoE;IAC3D,MAAM,CAAgB;IAE/B,mEAAmE;IAC1D,MAAM,CAAgB;IAE/B,2EAA2E;IAClE,WAAW,CAAgB;IAEpC,2EAA2E;IAClE,YAAY,CAAgB;IAErC,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,iBAAiB;QACf,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QAExB,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBACrE,SAAS,EAAE,4BAA4B;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY;IACZ,iBAAiB;IAGjB,sBAAsB;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;YACpC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,mFAAmF;YACnF,IAAI,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7E,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf;;;eAGG;YACH,IAAI,KAAK,YAAY,YAAY;gBAAE,OAAO;YAC1C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD,6DAA6D;IAE7D,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,8IAA8I;IAE9I,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QAExB,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,kBAAkB,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;QAED,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAElD,UAAU,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEM,mBAAmB,GAAG,GAAG,EAAE;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEM,gBAAgB,GAAG,GAAG,EAAE;QAC9B,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAY,QAAQ;QAClB,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,gBAAgB;SAC1B,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,kCAAkC,EAAE,oBAAoB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SAC/F,CAAC;QAEF,OAAO,CACL,KAAC,IAAI,mBACU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC1C,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAClC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EACrC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,YAEZ,eACE,KAAK,EAAC,iBAAiB,2BACD,4CAA4C,+BACxC,4CAA4C,iCAC1C,4DAA4D,2BAClE,2CAA2C,+BACvC,6DAA6D,iCAC3D,4CAA4C,EACxE,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC9B,CAAC,aAGA,CAAC,IAAI,CAAC,YAAY,IAAI,CACrB,oBACE,UAAU,EAAC,MAAM,EACjB,MAAM,EAAC,GAAG,EACV,KAAK,EAAC,2CAA2C,EACjD,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAC5B,QAAQ,QACR,IAAI,EAAC,WAAW,EAChB,IAAI,EAAC,OAAO,YAEZ,eAAM,IAAI,EAAC,WAAW,YACpB,iCAAqB,MAAM,EAAC,IAAI,EAAC,GAAG,+CAAG,+CAClC,+CACG,CACb,EAED,cACE,KAAK,EAAE;4BACL,SAAS,EAAE,IAAI,CAAC,QAAQ;4BACxB,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,2EAA2E;4BACzG,mDAAmD,EAAE,IAAI;yBAC1D,EACD,IAAI,EAAC,cAAc,YAEnB,eAAM,IAAI,EAAC,MAAM,YACf,kBAAS,WAAW,EAAC,UAAU,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,+CAAG,+CAC9D,+CACH,EAEN,eAAK,KAAK,EAAC,uEAAuE,EAAC,IAAI,EAAC,MAAM,aAC5F,eAAK,KAAK,EAAC,uDAAuD,EAAC,IAAI,EAAC,SAAS,aAE/E,cAAK,KAAK,EAAC,0CAA0C,EAAC,IAAI,EAAC,OAAO,YAChE,4DAAQ,+CACJ,EAEN,cACE,KAAK,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EACtE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;4CACX,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;wCACtB,CAAC,YAED,eAAM,IAAI,EAAC,MAAM,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,+CAAI,+CACrD,gDACF,EAEN,cACE,KAAK,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EACtE,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oCACX,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gCACxB,CAAC,YAED,eAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,+CAAI,+CACvD,gDACF,gDACF,+CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n debounce,\n enter,\n hasSlotContent,\n isClient,\n leave,\n type TDebounce,\n validatePropValue,\n} from '../../shared/utils';\nimport type { TNotificationBorderRadius, TNotificationType } from './bq-notification.types';\nimport { NOTIFICATION_TYPE } from './bq-notification.types';\n\nconst NOTIFICATION_PORTAL_SELECTOR = 'bq-notification-portal';\n\n/**\n * The Notification component is a user interface element used to provide information or alerts to users in a non-intrusive manner.\n *\n * @example How to use it\n * ```html\n * <bq-notification border=\"s\" time=\"3000\" type=\"info\">\n * Title\n * <span slot=\"body\">\n * This is some description text text\n * <a class=\"bq-link\" href=\"https://example.com\">Link</a>\n * </span>\n * <div class=\"flex gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"primary\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-notification>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/945cb6-notification\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {boolean} auto-dismiss - If true, the notification will automatically hide after the specified amount of time\n * @attr {string} border - The corder radius of the notification component\n * @attr {boolean} disable-close - If true, the close button at the top right of the notification won't be shown\n * @attr {boolean} hide-icon - If true, the notification icon won't be shown\n * @attr {boolean} open - If true, the notification will be shown\n * @attr {number} time - The length of time, in milliseconds, after which the notification will close itself. Only valid if `auto-dismiss=\"true\"`\n * @attr {string} type - Type of Notification\n *\n * @event bqAfterClose - Callback handler to be called after the notification has been closed\n * @event bqAfterOpen - Callback handler to be called after the notification has been opened\n * @event bqHide - Callback handler to be called when the notification is hidden\n * @event bqShow - Callback handler to be called when the notification is shown\n *\n * @slot - The notification title content\n * @slot body - The notification description content\n * @slot footer - The notification footer content\n * @slot icon - The icon to be displayed in the notification\n * @slot btn-close - The close button of the notification\n *\n * @part base - The `<div>` container of the predefined bq-icon component.\n * @part body - The container `<div>` that wraps the notification description content\n * @part btn-close - The `bq-button` used to close the notification\n * @part content - The container `<div>` that wraps all the notification content (title, description, footer)\n * @part footer - The container `<div>` that wraps the notification footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the notification type\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the notification main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component.\n * @part title - The container `<div>` that wraps the notification title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n *\n * @cssprop --bq-notification--background - The notification background color\n * @cssprop --bq-notification--box-shadow - The notification box shadow\n * @cssprop --bq-notification--border-color - The notification border color\n * @cssprop --bq-notification--border-radius - The notification border radius\n * @cssprop --bq-notification--border-style - The notification border style\n * @cssprop --bq-notification--border-width - The notification border width\n * @cssprop --bq-notification--content-footer-gap - The notification content and footer gap\n * @cssprop --bq-notification--title-body-gap - The notification title and body gap\n * @cssprop --bq-notification--icon-color-error - The notification icon color for error type\n * @cssprop --bq-notification--icon-color-info - The notification icon color for info type\n * @cssprop --bq-notification--icon-color-neutral - The notification icon color for neutral type\n * @cssprop --bq-notification--icon-color-success - The notification icon color for success type\n * @cssprop --bq-notification--icon-color-warning - The notification icon color for warning type\n * @cssprop --bq-notification--padding - The notification padding\n * @cssprop --bq-notification--min-width - The notification min width\n */\n@Component({\n tag: 'bq-notification',\n styleUrl: './scss/bq-notification.scss',\n shadow: true,\n})\nexport class BqNotification {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private notificationElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqNotificationElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n @State() private notificationPortal = isClient() ? document.querySelector(`.${NOTIFICATION_PORTAL_SELECTOR}`) : null;\n\n // Public Property API\n // ========================\n\n /** If true, the notification will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corder radius of the notification component */\n @Prop({ reflect: true }) border: TNotificationBorderRadius = 's';\n\n /** If true, the close button at the top right of the notification won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the notification icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the notification will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the notification will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Notification */\n @Prop({ reflect: true }) type: TNotificationType = 'info';\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!(this.autoDismiss && this.open)) return;\n this.autoDismissDebounce();\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(NOTIFICATION_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the notification is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the notification is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the notification has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the notification has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n if (!isClient()) return;\n\n const { notificationPortal } = this;\n if (!notificationPortal) {\n this.notificationPortal = Object.assign(document.createElement('div'), {\n className: NOTIFICATION_PORTAL_SELECTOR,\n });\n }\n }\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqAfterClose')\n afterNotificationClose() {\n try {\n const { notificationPortal } = this;\n notificationPortal.removeChild(this.el);\n // Remove the notification portal from the DOM when there are no more notifications\n if (notificationPortal.querySelector(this.el.tagName.toLowerCase()) === null) {\n notificationPortal.remove();\n }\n } catch (error) {\n /**\n * Skip DOMException error since it could be possible that\n * in some situations the notification portal is missing\n */\n if (error instanceof DOMException) return;\n throw error;\n }\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the notification component */\n @Method()\n async hide(): Promise<void> {\n await this.handleHide();\n }\n\n /** Method to be called to show the notification component */\n @Method()\n async show(): Promise<void> {\n await this.handleShow();\n }\n\n /** This method can be used to display notifications in a fixed-position element that allows for stacking multiple notifications vertically */\n @Method()\n async toast() {\n if (!isClient()) return;\n\n const { notificationPortal } = this;\n if (notificationPortal?.parentElement === null) {\n document.body.append(notificationPortal);\n }\n\n notificationPortal?.appendChild(this.el);\n requestAnimationFrame(() => {\n this.show();\n });\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.notificationElem);\n this.open = false;\n this.handleTransitionEnd();\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.open = true;\n await enter(this.notificationElem);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem);\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n const typeMap = {\n error: 'x-circle',\n success: 'check-circle',\n warning: 'warning-circle',\n };\n\n return typeMap[this.type] || 'info';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-notification--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n aria-hidden={!this.open ? 'true' : 'false'}\n class={{ 'is-hidden': !this.open }}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n style={style}\n >\n <div\n class=\"bq-notification\"\n data-transition-enter=\"transform transition ease-out duration-300\"\n data-transition-enter-end=\"translate-y-0 opacity-100 sm:translate-x-0\"\n data-transition-enter-start=\"translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s\"\n data-transition-leave=\"transform transition ease-in duration-100\"\n data-transition-leave-end=\"-translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s\"\n data-transition-leave-start=\"translate-y-0 opacity-100 sm:translate-x-0\"\n part=\"wrapper\"\n ref={(div) => {\n this.notificationElem = div;\n }}\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"absolute inset-ie-m [&::part(button)]:p-0\"\n label=\"Close\"\n onBqClick={() => this.hide()}\n onlyIcon\n part=\"btn-close\"\n size=\"small\"\n >\n <slot name=\"btn-close\">\n <bq-icon aria-hidden=\"true\" name=\"x\" />\n </slot>\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n '!hidden': this.hideIcon,\n [`color-${this.type}`]: true, // The icon color will be based on the type (info, success, warning, error)\n 'notification--icon me-xs flex text-left align-top': true,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n <bq-icon exportparts=\"base,svg\" name={this.iconName} part=\"icon\" />\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[--bq-notification--content-footer-gap]\" part=\"main\">\n <div class=\"flex flex-col gap-[--bq-notification--title-body-gap]\" part=\"content\">\n {/* TITLE */}\n <div class=\"title-font font-semibold leading-regular\" part=\"title\">\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-s leading-regular': true, '!hidden': !this.hasContent }}\n part=\"body\"\n ref={(div) => {\n this.bodyElem = div;\n }}\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n part=\"footer\"\n ref={(div) => {\n this.footerElem = div;\n }}\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-notification.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/notification/bq-notification.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n debounce,\n enter,\n hasSlotContent,\n isClient,\n leave,\n type TDebounce,\n validatePropValue,\n} from '../../shared/utils';\nimport type { TNotificationBorderRadius, TNotificationType } from './bq-notification.types';\nimport { NOTIFICATION_TYPE } from './bq-notification.types';\n\nconst NOTIFICATION_PORTAL_SELECTOR = 'bq-notification-portal';\n\n/**\n * The Notification component is a user interface element used to provide information or alerts to users in a non-intrusive manner.\n *\n * @example How to use it\n * ```html\n * <bq-notification border=\"s\" time=\"3000\" type=\"info\">\n * Title\n * <span slot=\"body\">\n * This is some description text text\n * <a class=\"bq-link\" href=\"https://example.com\">Link</a>\n * </span>\n * <div class=\"flex gap-xs\" slot=\"footer\">\n * <bq-button appearance=\"primary\" size=\"small\">Button</bq-button>\n * <bq-button appearance=\"link\" size=\"small\">Button</bq-button>\n * </div>\n * </bq-notification>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/945cb6-notification\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {boolean} auto-dismiss - If true, the notification will automatically hide after the specified amount of time\n * @attr {string} border - The corder radius of the notification component\n * @attr {boolean} disable-close - If true, the close button at the top right of the notification won't be shown\n * @attr {boolean} hide-icon - If true, the notification icon won't be shown\n * @attr {boolean} open - If true, the notification will be shown\n * @attr {number} time - The length of time, in milliseconds, after which the notification will close itself. Only valid if `auto-dismiss=\"true\"`\n * @attr {string} type - Type of Notification\n *\n * @event bqAfterClose - Callback handler to be called after the notification has been closed\n * @event bqAfterOpen - Callback handler to be called after the notification has been opened\n * @event bqHide - Callback handler to be called when the notification is hidden\n * @event bqShow - Callback handler to be called when the notification is shown\n *\n * @slot - The notification title content\n * @slot body - The notification description content\n * @slot footer - The notification footer content\n * @slot icon - The icon to be displayed in the notification\n * @slot btn-close - The close button of the notification\n *\n * @part base - The `<div>` container of the predefined bq-icon component.\n * @part body - The container `<div>` that wraps the notification description content\n * @part btn-close - The `bq-button` used to close the notification\n * @part content - The container `<div>` that wraps all the notification content (title, description, footer)\n * @part footer - The container `<div>` that wraps the notification footer content\n * @part icon - The `<bq-icon>` element used to render a predefined icon based on the notification type\n * @part icon-outline - The container `<div>` that wraps the icon element\n * @part main - The container `<div>` that wraps the notification main content (title, description)\n * @part svg - The `<svg>` element of the predefined bq-icon component.\n * @part title - The container `<div>` that wraps the notification title content\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM\n *\n * @cssprop --bq-notification--background - The notification background color\n * @cssprop --bq-notification--box-shadow - The notification box shadow\n * @cssprop --bq-notification--border-color - The notification border color\n * @cssprop --bq-notification--border-radius - The notification border radius\n * @cssprop --bq-notification--border-style - The notification border style\n * @cssprop --bq-notification--border-width - The notification border width\n * @cssprop --bq-notification--content-footer-gap - The notification content and footer gap\n * @cssprop --bq-notification--title-body-gap - The notification title and body gap\n * @cssprop --bq-notification--icon-color-error - The notification icon color for error type\n * @cssprop --bq-notification--icon-color-info - The notification icon color for info type\n * @cssprop --bq-notification--icon-color-neutral - The notification icon color for neutral type\n * @cssprop --bq-notification--icon-color-success - The notification icon color for success type\n * @cssprop --bq-notification--icon-color-warning - The notification icon color for warning type\n * @cssprop --bq-notification--padding - The notification padding\n * @cssprop --bq-notification--min-width - The notification min width\n */\n@Component({\n tag: 'bq-notification',\n styleUrl: './scss/bq-notification.scss',\n shadow: true,\n})\nexport class BqNotification {\n // Own Properties\n // ====================\n\n private autoDismissDebounce: TDebounce<void>;\n private bodyElem: HTMLDivElement;\n private footerElem: HTMLDivElement;\n private notificationElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqNotificationElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n @State() private notificationPortal = isClient() ? document.querySelector(`.${NOTIFICATION_PORTAL_SELECTOR}`) : null;\n\n // Public Property API\n // ========================\n\n /** If true, the notification will automatically hide after the specified amount of time */\n @Prop({ reflect: true }) autoDismiss: boolean;\n\n /** The corder radius of the notification component */\n @Prop({ reflect: true }) border: TNotificationBorderRadius = 's';\n\n /** If true, the close button at the top right of the notification won't be shown */\n @Prop({ reflect: true }) disableClose: boolean;\n\n /** If true, the notification icon won't be shown */\n @Prop({ reflect: true }) hideIcon: boolean;\n\n /** If true, the notification will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** The length of time, in milliseconds, after which the notification will close itself. Only valid if `autoDismiss=\"true\"` */\n @Prop({ reflect: true }) time: number = 3000;\n\n /** Type of Notification */\n @Prop({ reflect: true }) type: TNotificationType = 'info';\n\n // Prop lifecycle events\n // =======================\n @Watch('autoDismiss')\n @Watch('time')\n handleTimeout() {\n this.autoDismissDebounce?.cancel();\n if (!this.autoDismiss) return;\n\n this.autoDismissDebounce = debounce(() => {\n this.hide();\n }, this.time);\n // Make sure to autodismiss the notification if the `auto-dismiss` value changed while open\n if (this.open) this.autoDismissDebounce();\n }\n\n @Watch('open')\n handleOpenChange() {\n this.autoDismissDebounce?.cancel();\n\n if (!(this.autoDismiss && this.open)) return;\n this.autoDismissDebounce();\n }\n\n @Watch('type')\n checkPropValues() {\n validatePropValue(NOTIFICATION_TYPE, 'info', this.el, 'type');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the notification is hidden */\n @Event() bqHide!: EventEmitter;\n\n /** Callback handler to be called when the notification is shown */\n @Event() bqShow!: EventEmitter;\n\n /** Callback handler to be called after the notification has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the notification has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n if (!isClient()) return;\n\n const { notificationPortal } = this;\n if (!notificationPortal) {\n this.notificationPortal = Object.assign(document.createElement('div'), {\n className: NOTIFICATION_PORTAL_SELECTOR,\n });\n }\n }\n\n componentWillLoad() {\n this.checkPropValues();\n this.handleTimeout();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqAfterClose')\n afterNotificationClose() {\n try {\n const { notificationPortal } = this;\n notificationPortal.removeChild(this.el);\n // Remove the notification portal from the DOM when there are no more notifications\n if (notificationPortal.querySelector(this.el.tagName.toLowerCase()) === null) {\n notificationPortal.remove();\n }\n } catch (error) {\n /**\n * Skip DOMException error since it could be possible that\n * in some situations the notification portal is missing\n */\n if (error instanceof DOMException) return;\n throw error;\n }\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to hide the notification component */\n @Method()\n async hide(): Promise<void> {\n await this.handleHide();\n }\n\n /** Method to be called to show the notification component */\n @Method()\n async show(): Promise<void> {\n await this.handleShow();\n }\n\n /** This method can be used to display notifications in a fixed-position element that allows for stacking multiple notifications vertically */\n @Method()\n async toast() {\n if (!isClient()) return;\n\n const { notificationPortal } = this;\n if (notificationPortal?.parentElement === null) {\n document.body.append(notificationPortal);\n }\n\n notificationPortal?.appendChild(this.el);\n requestAnimationFrame(() => {\n this.show();\n });\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = async () => {\n const ev = this.bqHide.emit(this.el);\n if (!ev.defaultPrevented) {\n await leave(this.notificationElem);\n this.open = false;\n this.handleTransitionEnd();\n }\n };\n\n private handleShow = async () => {\n const ev = this.bqShow.emit(this.el);\n if (!ev.defaultPrevented) {\n this.open = true;\n await enter(this.notificationElem);\n this.handleTransitionEnd();\n }\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n };\n\n private handleSlotChange = () => {\n this.hasContent = hasSlotContent(this.bodyElem);\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private get iconName(): string {\n const typeMap = {\n error: 'x-circle',\n success: 'check-circle',\n warning: 'warning-circle',\n };\n\n return typeMap[this.type] || 'info';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-notification--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host\n aria-hidden={!this.open ? 'true' : 'false'}\n class={{ 'is-hidden': !this.open }}\n hidden={!this.open ? 'true' : 'false'}\n role=\"alert\"\n style={style}\n >\n <div\n class=\"bq-notification\"\n data-transition-enter=\"transform transition ease-out duration-300\"\n data-transition-enter-end=\"translate-y-0 opacity-100 sm:translate-x-0\"\n data-transition-enter-start=\"translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s\"\n data-transition-leave=\"transform transition ease-in duration-100\"\n data-transition-leave-end=\"-translate-y-xs opacity-0 sm:translate-y-0 sm:translate-x-s\"\n data-transition-leave-start=\"translate-y-0 opacity-100 sm:translate-x-0\"\n part=\"wrapper\"\n ref={(div) => {\n this.notificationElem = div;\n }}\n >\n {/* CLOSE BUTTON */}\n {!this.disableClose && (\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"absolute inset-ie-m [&::part(button)]:p-0\"\n label=\"Close\"\n onBqClick={() => this.hide()}\n onlyIcon\n part=\"btn-close\"\n size=\"small\"\n >\n <slot name=\"btn-close\">\n <bq-icon aria-hidden=\"true\" name=\"x\" />\n </slot>\n </bq-button>\n )}\n {/* ICON */}\n <div\n class={{\n '!hidden': this.hideIcon,\n [`color-${this.type}`]: true, // The icon color will be based on the type (info, success, warning, error)\n 'notification--icon me-xs flex text-left align-top': true,\n }}\n part=\"icon-outline\"\n >\n <slot name=\"icon\">\n <bq-icon exportparts=\"base,svg\" name={this.iconName} part=\"icon\" />\n </slot>\n </div>\n {/* MAIN */}\n <div class=\"flex flex-col items-start gap-[--bq-notification--content-footer-gap]\" part=\"main\">\n <div class=\"flex flex-col gap-[--bq-notification--title-body-gap]\" part=\"content\">\n {/* TITLE */}\n <div class=\"title-font font-semibold leading-regular\" part=\"title\">\n <slot />\n </div>\n {/* BODY */}\n <div\n class={{ 'text-s leading-regular': true, '!hidden': !this.hasContent }}\n part=\"body\"\n ref={(div) => {\n this.bodyElem = div;\n }}\n >\n <slot name=\"body\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n {/* FOOTER */}\n <div\n class={{ 'flex items-start gap-xs': true, '!hidden': !this.hasFooter }}\n part=\"footer\"\n ref={(div) => {\n this.footerElem = div;\n }}\n >\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
6
- import { Host } from "@stencil/core";
5
+ import { Host, h } from "@stencil/core";
7
6
  import { hasSlotContent } from "../../shared/utils";
8
7
  /**
9
8
  * An option refers to a specific choice that appears in a list of selectable items that can be opened or closed by the user.
@@ -149,20 +148,20 @@ export class BqOption {
149
148
  // Always the last one in the class.
150
149
  // ===================================
151
150
  render() {
152
- return (_jsx(Host, { "aria-disabled": this.isDisabledOrHidden ? 'true' : 'false', "aria-hidden": this.hidden ? 'true' : 'false', "aria-selected": this.selected ? 'true' : 'false', role: "option", children: _jsxs("button", { class: {
153
- 'bq-option': true,
154
- active: !this.disabled && this.selected,
155
- }, disabled: this.disabled, onBlur: this.onBlur, onClick: this.onClick, onFocus: this.onFocus, part: "base", tabindex: this.isDisabledOrHidden ? '-1' : '0', type: "button", children: [_jsx("span", { class: {
156
- 'bq-option__prefix me-[--bq-option--gap-start] flex items-center': true,
157
- '!hidden': !this.hasPrefix,
158
- }, part: "prefix", ref: (elem) => {
159
- this.prefixElem = elem;
160
- }, children: _jsx("slot", { name: "prefix", onSlotchange: this.handleSlotChange }, '9ae01e757cd0d27f9917245d8d8f4962e5f78c93') }, '08c41fadbc45d833a6ac72ffcf6468bf29914702'), _jsx("span", { class: "bq-option__label", part: "label", children: _jsx("slot", {}, '728ea34138e3c22a95d56d53504e4afc700dd587') }, 'b331fb016b8b6c32539386fb10e920dbf8321956'), _jsx("span", { class: {
161
- 'bq-option__suffix ms-[--bq-option--gap-end] ml-auto flex items-center': true,
162
- '!hidden': !this.hasSuffix,
163
- }, part: "suffix", ref: (elem) => {
164
- this.suffixElem = elem;
165
- }, children: _jsx("slot", { name: "suffix", onSlotchange: this.handleSlotChange }, '7087ecfcaf0f87efe83eb497286613b50449d5a0') }, '57fd35712962de4cacb9b4f3e14820d2e7d7abd3')] }, 'b7d3b542e779a66a34dae8e4d1e009ab86e6dba9') }, '92739335e9917d171e4a1c9aa63928f3b0a18619'));
151
+ return (h(Host, { key: 'c7a4669b738bdd89621ce20af7371fc19ad44a0a', "aria-disabled": this.isDisabledOrHidden ? 'true' : 'false', "aria-hidden": this.hidden ? 'true' : 'false', "aria-selected": this.selected ? 'true' : 'false', role: "option" }, h("button", { key: 'c1306b0f6c379c8cb538379c4d46dea8951d50e0', class: {
152
+ 'bq-option': true,
153
+ active: !this.disabled && this.selected,
154
+ }, disabled: this.disabled, onBlur: this.onBlur, onClick: this.onClick, onFocus: this.onFocus, part: "base", tabindex: this.isDisabledOrHidden ? '-1' : '0', type: "button" }, h("span", { key: 'f5f1e459b118f63df3ced8cf8d025420f9470c00', class: {
155
+ 'bq-option__prefix me-[--bq-option--gap-start] flex items-center': true,
156
+ '!hidden': !this.hasPrefix,
157
+ }, part: "prefix", ref: (elem) => {
158
+ this.prefixElem = elem;
159
+ } }, h("slot", { key: '6f3e0d0a7696674f75ac001c44e3b235d6c4b344', name: "prefix", onSlotchange: this.handleSlotChange })), h("span", { key: '8d34df347f28bf3e4eef600162d8be6737b4ad54', class: "bq-option__label", part: "label" }, h("slot", { key: 'af8fcc14f08a710d020fadf21f49dcf548eb955e' })), h("span", { key: '96e095c549e9d5fb05f01eca67c2dfd4bba5fc28', class: {
160
+ 'bq-option__suffix ms-[--bq-option--gap-end] ml-auto flex items-center': true,
161
+ '!hidden': !this.hasSuffix,
162
+ }, part: "suffix", ref: (elem) => {
163
+ this.suffixElem = elem;
164
+ } }, h("slot", { key: 'bda265f82adbd5ebd87b85ba1eecc012ba687cc3', name: "suffix", onSlotchange: this.handleSlotChange })))));
166
165
  }
167
166
  static get is() { return "bq-option"; }
168
167
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-option.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/option/bq-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, Listen, Prop, State } from '@stencil/core';\n\nimport { hasSlotContent } from '../../shared/utils';\n\n/**\n * An option refers to a specific choice that appears in a list of selectable items that can be opened or closed by the user.\n * It can be an element of the navigation system that allows users to select different sections or pages within an application or it can be used within a dropdown list.\n *\n * @example How to use it\n * ```html\n * <bq-option value=\"user\">\n * <span>User profile</span>\n * <bq-icon slot=\"suffix\" name=\"user\"></bq-icon>\n * </bq-option>\n * ```\n *\n * @documentation https://storybook.beeq.design/?path=/story/components-option--with-option-group\n * @status stable\n *\n * @attr {boolean} disabled - If true, the option is disabled.\n * @attr {boolean} hidden - If true, the option is hidden.\n * @attr {string} value - A string representing the value of the option. Can be used to identify the item.\n * @attr {boolean} selected - If true, the option is selected and active.\n *\n * @event bqBlur - Handler to be called when item loses focus.\n * @event bqFocus - Handler to be called when item is focused.\n * @event bqClick - Handler to be called when item is clicked.\n * @event bqEnter - Handler to be called on enter key press.\n *\n * @slot prefix - The prefix content to be displayed before the label.\n * @slot - The label content to be displayed.\n *\n * @part base - The component's internal wrapper.\n * @part label - The `span` element in which the label text is displayed.\n * @part prefix - The `span` element in which the prefix is displayed (generally `bq-icon`).\n * @part suffix - The `span` element in which the suffix is displayed (generally `bq-icon`).\n *\n * @cssprop --bq-option--background - background color\n * @cssprop --bq-option--font-size - font size\n * @cssprop --bq-option--border-color - border color\n * @cssprop --bq-option--border-style - border style\n * @cssprop --bq-option--border-width - border width\n * @cssprop --bq-option--border-radius - border radius\n * @cssprop --bq-option--box-shadow - box shadow\n * @cssprop --bq-option--gap-start - gap space between prefix and label\n * @cssprop --bq-option--gap-end - gap space between label and suffix\n * @cssprop --bq-option--paddingY - padding Y axis\n * @cssprop --bq-option--padding-start - option label padding start\n * @cssprop --bq-option--padding-end - option label padding end\n */\n@Component({\n tag: 'bq-option',\n styleUrl: './scss/bq-option.scss',\n shadow: true,\n})\nexport class BqOption {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqOptionElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasPrefix: boolean = false;\n @State() hasSuffix: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the option is hidden. */\n @Prop({ reflect: true }) hidden: boolean = false;\n\n /** If true, the option is disabled. */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** The display value of the option. It can be used to override the default displayed value. */\n @Prop({ reflect: true }) displayValue?: string;\n\n /** If true, the option is selected and active. */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /** A string representing the value of the option. Can be used to identify the item */\n @Prop({ reflect: true }) value?: string;\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 item loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called when item is focused */\n @Event() bqFocus: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called when item is clicked */\n @Event() bqClick: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called on enter key press */\n @Event() bqEnter: EventEmitter<HTMLBqOptionElement>;\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 @Listen('keydown')\n onKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Enter') return;\n // Prevent the default behavior to avoid triggering a synthetic click event\n event.preventDefault();\n this.bqEnter.emit(this.el);\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 onBlur = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqBlur.emit(this.el);\n };\n\n private onFocus = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqFocus.emit(this.el);\n };\n\n private onClick = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqClick.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get isDisabledOrHidden() {\n return this.disabled || this.hidden;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host\n aria-disabled={this.isDisabledOrHidden ? 'true' : 'false'}\n aria-hidden={this.hidden ? 'true' : 'false'}\n aria-selected={this.selected ? 'true' : 'false'}\n role=\"option\"\n >\n <button\n class={{\n 'bq-option': true,\n active: !this.disabled && this.selected,\n }}\n disabled={this.disabled}\n onBlur={this.onBlur}\n onClick={this.onClick}\n onFocus={this.onFocus}\n part=\"base\"\n tabindex={this.isDisabledOrHidden ? '-1' : '0'}\n type=\"button\"\n >\n <span\n class={{\n 'bq-option__prefix me-[--bq-option--gap-start] flex items-center': true,\n '!hidden': !this.hasPrefix,\n }}\n part=\"prefix\"\n ref={(elem) => {\n this.prefixElem = elem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-option__label\" part=\"label\">\n <slot />\n </span>\n <span\n class={{\n 'bq-option__suffix ms-[--bq-option--gap-end] ml-auto flex items-center': true,\n '!hidden': !this.hasSuffix,\n }}\n part=\"suffix\"\n ref={(elem) => {\n this.suffixElem = elem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n </button>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-option.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/option/bq-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Listen, Prop, State } from '@stencil/core';\n\nimport { hasSlotContent } from '../../shared/utils';\n\n/**\n * An option refers to a specific choice that appears in a list of selectable items that can be opened or closed by the user.\n * It can be an element of the navigation system that allows users to select different sections or pages within an application or it can be used within a dropdown list.\n *\n * @example How to use it\n * ```html\n * <bq-option value=\"user\">\n * <span>User profile</span>\n * <bq-icon slot=\"suffix\" name=\"user\"></bq-icon>\n * </bq-option>\n * ```\n *\n * @documentation https://storybook.beeq.design/?path=/story/components-option--with-option-group\n * @status stable\n *\n * @attr {boolean} disabled - If true, the option is disabled.\n * @attr {boolean} hidden - If true, the option is hidden.\n * @attr {string} value - A string representing the value of the option. Can be used to identify the item.\n * @attr {boolean} selected - If true, the option is selected and active.\n *\n * @event bqBlur - Handler to be called when item loses focus.\n * @event bqFocus - Handler to be called when item is focused.\n * @event bqClick - Handler to be called when item is clicked.\n * @event bqEnter - Handler to be called on enter key press.\n *\n * @slot prefix - The prefix content to be displayed before the label.\n * @slot - The label content to be displayed.\n *\n * @part base - The component's internal wrapper.\n * @part label - The `span` element in which the label text is displayed.\n * @part prefix - The `span` element in which the prefix is displayed (generally `bq-icon`).\n * @part suffix - The `span` element in which the suffix is displayed (generally `bq-icon`).\n *\n * @cssprop --bq-option--background - background color\n * @cssprop --bq-option--font-size - font size\n * @cssprop --bq-option--border-color - border color\n * @cssprop --bq-option--border-style - border style\n * @cssprop --bq-option--border-width - border width\n * @cssprop --bq-option--border-radius - border radius\n * @cssprop --bq-option--box-shadow - box shadow\n * @cssprop --bq-option--gap-start - gap space between prefix and label\n * @cssprop --bq-option--gap-end - gap space between label and suffix\n * @cssprop --bq-option--paddingY - padding Y axis\n * @cssprop --bq-option--padding-start - option label padding start\n * @cssprop --bq-option--padding-end - option label padding end\n */\n@Component({\n tag: 'bq-option',\n styleUrl: './scss/bq-option.scss',\n shadow: true,\n})\nexport class BqOption {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqOptionElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasPrefix: boolean = false;\n @State() hasSuffix: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the option is hidden. */\n @Prop({ reflect: true }) hidden: boolean = false;\n\n /** If true, the option is disabled. */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** The display value of the option. It can be used to override the default displayed value. */\n @Prop({ reflect: true }) displayValue?: string;\n\n /** If true, the option is selected and active. */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /** A string representing the value of the option. Can be used to identify the item */\n @Prop({ reflect: true }) value?: string;\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 item loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called when item is focused */\n @Event() bqFocus: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called when item is clicked */\n @Event() bqClick: EventEmitter<HTMLBqOptionElement>;\n\n /** Handler to be called on enter key press */\n @Event() bqEnter: EventEmitter<HTMLBqOptionElement>;\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 @Listen('keydown')\n onKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Enter') return;\n // Prevent the default behavior to avoid triggering a synthetic click event\n event.preventDefault();\n this.bqEnter.emit(this.el);\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 onBlur = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqBlur.emit(this.el);\n };\n\n private onFocus = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqFocus.emit(this.el);\n };\n\n private onClick = (event: Event) => {\n if (this.isDisabledOrHidden) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.bqClick.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get isDisabledOrHidden() {\n return this.disabled || this.hidden;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host\n aria-disabled={this.isDisabledOrHidden ? 'true' : 'false'}\n aria-hidden={this.hidden ? 'true' : 'false'}\n aria-selected={this.selected ? 'true' : 'false'}\n role=\"option\"\n >\n <button\n class={{\n 'bq-option': true,\n active: !this.disabled && this.selected,\n }}\n disabled={this.disabled}\n onBlur={this.onBlur}\n onClick={this.onClick}\n onFocus={this.onFocus}\n part=\"base\"\n tabindex={this.isDisabledOrHidden ? '-1' : '0'}\n type=\"button\"\n >\n <span\n class={{\n 'bq-option__prefix me-[--bq-option--gap-start] flex items-center': true,\n '!hidden': !this.hasPrefix,\n }}\n part=\"prefix\"\n ref={(elem) => {\n this.prefixElem = elem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-option__label\" part=\"label\">\n <slot />\n </span>\n <span\n class={{\n 'bq-option__suffix ms-[--bq-option--gap-end] ml-auto flex items-center': true,\n '!hidden': !this.hasSuffix,\n }}\n part=\"suffix\"\n ref={(elem) => {\n this.suffixElem = elem;\n }}\n >\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n </button>\n </Host>\n );\n }\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
5
+ import { h } from "@stencil/core";
6
6
  /**
7
7
  * The option group component is a container for multiple option elements.
8
8
  * It allows to manage the appearance and size of all options at once.
@@ -76,7 +76,7 @@ export class BqOptionGroup {
76
76
  // Always the last one in the class.
77
77
  // ===================================
78
78
  render() {
79
- return (_jsxs("div", { class: "bg-ui-primary", children: [_jsxs("legend", { class: "bq-option-group m-be-[--bq-option-group--gapY-list]", part: "label", children: [_jsx("span", { class: "option-group__prefix flex items-center", part: "prefix", children: _jsx("slot", { name: "header-prefix" }, 'dbd3f45451f0e6db02265259a9e59200d0ee8274') }, '2fa883db26205ff845ab7913a2a9ac0ebfae7520'), _jsx("span", { class: "bq-option-group__label is-auto inline-block overflow-hidden text-ellipsis whitespace-nowrap", part: "label", children: _jsx("slot", { name: "header-label" }, '80407730d62b5369ac70800229f13edebc5de793') }, 'cfa3a2fc2b53712737365b3e42efe5e4a568aff0'), _jsx("span", { class: "bq-option-group__suffix", part: "suffix", children: _jsx("slot", { name: "header-suffix" }, '8b7ce9a4eb7926fa5b605efde258553f9f81d221') }, 'f15ed9194628b64fb46b829920956a701e3e051f')] }, '66a397c7009e5afea75b29a9a2552aafc366ef17'), _jsx("div", { "aria-label": "Options", class: "bq-option-group__container flex flex-col gap-[--bq-option-group--gapY-list]", part: "group", role: "group", children: _jsx("slot", {}, '840c2c8965f457e3d408a70d048c8509ffa380fb') }, '6e70d4968408a3affdc65bb372fbae552a1943c5')] }, '8c4dce6569d75ee7a8520209660e390e793e15be'));
79
+ return (h("div", { key: '9d22c7277e0241abffbf980c45bc1ce799b91229', class: "bg-ui-primary" }, h("legend", { key: 'ee461058a73f38ec92aab04dedbd08fb8c8d2ff0', class: "bq-option-group m-be-[--bq-option-group--gapY-list]", part: "label" }, h("span", { key: '9a12125b0655be47a3463d103aa2920bd534ad6e', class: "option-group__prefix flex items-center", part: "prefix" }, h("slot", { key: '405da21722c959a185f962ce2a747655336f0e5a', name: "header-prefix" })), h("span", { key: 'c4d1cefe05b2af976f4a6fced9a96b42246f8c53', class: "bq-option-group__label is-auto inline-block overflow-hidden text-ellipsis whitespace-nowrap", part: "label" }, h("slot", { key: 'eebacd38b7a492ce156f40f405335b533204c62f', name: "header-label" })), h("span", { key: '1fc6f0c822993f57966d4cff6f246db267a1627a', class: "bq-option-group__suffix", part: "suffix" }, h("slot", { key: '1e2b96a4b83ce30f8408546b34c2e186e4e01e74', name: "header-suffix" }))), h("div", { key: 'f6d2887b59eb7ec4e91424345733819a960a581c', "aria-label": "Options", class: "bq-option-group__container flex flex-col gap-[--bq-option-group--gapY-list]", part: "group", role: "group" }, h("slot", { key: '054159cf1cad2e52afb24719643bfa4b1b078d28' }))));
80
80
  }
81
81
  static get is() { return "bq-option-group"; }
82
82
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-option-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/option-group/bq-option-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAMH,MAAM,OAAO,aAAa;IACxB,iBAAiB;IACjB,uBAAuB;IAEvB,iCAAiC;IACjC,sCAAsC;IAE3B,EAAE,CAAe;IAE5B,oBAAoB;IACpB,wCAAwC;IACxC,0CAA0C;IAE1C,sBAAsB;IACtB,2BAA2B;IAE3B,wBAAwB;IACxB,0BAA0B;IAE1B,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,YAAY;IACZ,iBAAiB;IAEjB,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAE1D,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,OAAO,CACL,eAAK,KAAK,EAAC,eAAe,aACxB,kBAAQ,KAAK,EAAC,qDAAqD,EAAC,IAAI,EAAC,OAAO,aAC9E,eAAM,KAAK,EAAC,wCAAwC,EAAC,IAAI,EAAC,QAAQ,YAChE,eAAM,IAAI,EAAC,eAAe,+CAAG,+CACxB,EACP,eACE,KAAK,EAAC,6FAA6F,EACnG,IAAI,EAAC,OAAO,YAEZ,eAAM,IAAI,EAAC,cAAc,+CAAG,+CACvB,EACP,eAAM,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,QAAQ,YACjD,eAAM,IAAI,EAAC,eAAe,+CAAG,+CACxB,gDACA,EACT,4BACa,SAAS,EACpB,KAAK,EAAC,6EAA6E,EACnF,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,OAAO,YAEZ,4DAAQ,+CACJ,gDACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, Element } from '@stencil/core';\n\n/**\n * The option group component is a container for multiple option elements.\n * It allows to manage the appearance and size of all options at once.\n *\n * @example How to use it\n * ```html\n * <bq-option-group class=\"hydrated\">\n * <span slot=\"header-label\">Sport</span>\n * <bq-option value=\"football\">Football</bq-option>\n * <bq-option value=\"basketball\">Basketball</bq-option>\n * <bq-option value=\"tennis\">Tennis</bq-option>\n * </bq-option-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/3b1b7b-option-group\n * @status stable\n *\n * @slot header-label - The label of the option group\n * @slot header-prefix - The prefix of the label\n * @slot header-suffix - The suffix of the label\n * @slot - The option items\n *\n * @part label - The `legend` tag element which acts as a container for the label\n * @part prefix - The prefix of the label\n * @part label - The text of the label\n * @part suffix - The suffix of the label\n * @part group - The `div` element which holds the option items\n *\n * @cssprop --bq-option-group--background - option group background color\n * @cssprop --bq-option-group--font-size - option group font size\n * @cssprop --bq-option-group--line-height - option group line height\n * @cssprop --bq-option-group--label-padding-start - option group header padding start\n * @cssprop --bq-option-group--label-padding-end - option group header padding start\n * @cssprop --bq-option-group--label-paddingY - option group header padding Y axis\n * @cssprop --bq-option-group--label-text-padding-start - option group text within label padding start\n * @cssprop --bq-option-group--label-text-padding-end - option group text within label padding start\n * @cssprop --bq-option-group--container-padding-start - option group container padding start\n */\n@Component({\n tag: 'bq-option-group',\n styleUrl: './scss/bq-option-group.scss',\n shadow: true,\n})\nexport class BqOptionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n // Prop lifecycle events\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 // 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 // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bg-ui-primary\">\n <legend class=\"bq-option-group m-be-[--bq-option-group--gapY-list]\" part=\"label\">\n <span class=\"option-group__prefix flex items-center\" part=\"prefix\">\n <slot name=\"header-prefix\" />\n </span>\n <span\n class=\"bq-option-group__label is-auto inline-block overflow-hidden text-ellipsis whitespace-nowrap\"\n part=\"label\"\n >\n <slot name=\"header-label\" />\n </span>\n <span class=\"bq-option-group__suffix\" part=\"suffix\">\n <slot name=\"header-suffix\" />\n </span>\n </legend>\n <div\n aria-label=\"Options\"\n class=\"bq-option-group__container flex flex-col gap-[--bq-option-group--gapY-list]\"\n part=\"group\"\n role=\"group\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-option-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/option-group/bq-option-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAMH,MAAM,OAAO,aAAa;IACxB,iBAAiB;IACjB,uBAAuB;IAEvB,iCAAiC;IACjC,sCAAsC;IAE3B,EAAE,CAAe;IAE5B,oBAAoB;IACpB,wCAAwC;IACxC,0CAA0C;IAE1C,sBAAsB;IACtB,2BAA2B;IAE3B,wBAAwB;IACxB,0BAA0B;IAE1B,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,YAAY;IACZ,iBAAiB;IAEjB,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAE1D,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,eAAe;YACxB,+DAAQ,KAAK,EAAC,qDAAqD,EAAC,IAAI,EAAC,OAAO;gBAC9E,6DAAM,KAAK,EAAC,wCAAwC,EAAC,IAAI,EAAC,QAAQ;oBAChE,6DAAM,IAAI,EAAC,eAAe,GAAG,CACxB;gBACP,6DACE,KAAK,EAAC,6FAA6F,EACnG,IAAI,EAAC,OAAO;oBAEZ,6DAAM,IAAI,EAAC,cAAc,GAAG,CACvB;gBACP,6DAAM,KAAK,EAAC,yBAAyB,EAAC,IAAI,EAAC,QAAQ;oBACjD,6DAAM,IAAI,EAAC,eAAe,GAAG,CACxB,CACA;YACT,0EACa,SAAS,EACpB,KAAK,EAAC,6EAA6E,EACnF,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,OAAO;gBAEZ,8DAAQ,CACJ,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h } from '@stencil/core';\n\n/**\n * The option group component is a container for multiple option elements.\n * It allows to manage the appearance and size of all options at once.\n *\n * @example How to use it\n * ```html\n * <bq-option-group class=\"hydrated\">\n * <span slot=\"header-label\">Sport</span>\n * <bq-option value=\"football\">Football</bq-option>\n * <bq-option value=\"basketball\">Basketball</bq-option>\n * <bq-option value=\"tennis\">Tennis</bq-option>\n * </bq-option-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/3b1b7b-option-group\n * @status stable\n *\n * @slot header-label - The label of the option group\n * @slot header-prefix - The prefix of the label\n * @slot header-suffix - The suffix of the label\n * @slot - The option items\n *\n * @part label - The `legend` tag element which acts as a container for the label\n * @part prefix - The prefix of the label\n * @part label - The text of the label\n * @part suffix - The suffix of the label\n * @part group - The `div` element which holds the option items\n *\n * @cssprop --bq-option-group--background - option group background color\n * @cssprop --bq-option-group--font-size - option group font size\n * @cssprop --bq-option-group--line-height - option group line height\n * @cssprop --bq-option-group--label-padding-start - option group header padding start\n * @cssprop --bq-option-group--label-padding-end - option group header padding start\n * @cssprop --bq-option-group--label-paddingY - option group header padding Y axis\n * @cssprop --bq-option-group--label-text-padding-start - option group text within label padding start\n * @cssprop --bq-option-group--label-text-padding-end - option group text within label padding start\n * @cssprop --bq-option-group--container-padding-start - option group container padding start\n */\n@Component({\n tag: 'bq-option-group',\n styleUrl: './scss/bq-option-group.scss',\n shadow: true,\n})\nexport class BqOptionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n // Prop lifecycle events\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 // 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 // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bg-ui-primary\">\n <legend class=\"bq-option-group m-be-[--bq-option-group--gapY-list]\" part=\"label\">\n <span class=\"option-group__prefix flex items-center\" part=\"prefix\">\n <slot name=\"header-prefix\" />\n </span>\n <span\n class=\"bq-option-group__label is-auto inline-block overflow-hidden text-ellipsis whitespace-nowrap\"\n part=\"label\"\n >\n <slot name=\"header-label\" />\n </span>\n <span class=\"bq-option-group__suffix\" part=\"suffix\">\n <slot name=\"header-suffix\" />\n </span>\n </legend>\n <div\n aria-label=\"Options\"\n class=\"bq-option-group__container flex flex-col gap-[--bq-option-group--gapY-list]\"\n part=\"group\"\n role=\"group\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx } from "@stencil/core/jsx-runtime";
5
+ import { h } from "@stencil/core";
6
6
  import { isEventTargetChildOfElement, isHTMLElement } from "../../shared/utils";
7
7
  /**
8
8
  * The option list component is a container for multiple option elements.
@@ -76,7 +76,7 @@ export class BqOptionList {
76
76
  // Always the last one in the class.
77
77
  // ===================================
78
78
  render() {
79
- return (_jsx("div", { class: "bq-option__list flex flex-col gap-y-[--bq-option-group--gapY-list]", part: "base", children: _jsx("slot", {}, 'fecea0fe74a4d979d86d2eda28540c3f31a880af') }, '799dd1276f2c7b20db8b065d15c25af6947d1594'));
79
+ return (h("div", { key: 'b09ade569200292cc6180d6d5f03abc9cb8c379c', class: "bq-option__list flex flex-col gap-y-[--bq-option-group--gapY-list]", part: "base" }, h("slot", { key: 'bcc5f238f3dcca342bdbce92e6f66e793270a288' })));
80
80
  }
81
81
  static get is() { return "bq-option-list"; }
82
82
  static get encapsulation() { return "shadow"; }