@beeq/core 1.8.0-beta.15 → 1.8.0-beta.17

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 (651) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +1 -1
  4. package/dist/beeq/index.esm.js.map +1 -1
  5. package/dist/beeq/p-01de6133.js +6 -0
  6. package/dist/beeq/p-01de6133.js.map +1 -0
  7. package/dist/beeq/{p-350cd07e.entry.js → p-026fad0d.entry.js} +2 -2
  8. package/dist/beeq/p-026fad0d.entry.js.map +1 -0
  9. package/dist/beeq/p-07b82e50.js +6 -0
  10. package/dist/beeq/p-07b82e50.js.map +1 -0
  11. package/dist/beeq/p-0c0bd129.entry.js +6 -0
  12. package/dist/beeq/p-0c0bd129.entry.js.map +1 -0
  13. package/dist/beeq/{p-0180a237.entry.js → p-0c12aa01.entry.js} +2 -2
  14. package/dist/beeq/p-0c12aa01.entry.js.map +1 -0
  15. package/dist/beeq/{p-be234206.entry.js → p-0f72dbb6.entry.js} +2 -2
  16. package/dist/beeq/p-0f72dbb6.entry.js.map +1 -0
  17. package/dist/beeq/{p-96793709.entry.js → p-19b7bbe0.entry.js} +2 -2
  18. package/dist/beeq/p-19b7bbe0.entry.js.map +1 -0
  19. package/dist/beeq/p-19c94c6d.entry.js +6 -0
  20. package/dist/beeq/p-19c94c6d.entry.js.map +1 -0
  21. package/dist/beeq/{p-a89bfbd8.entry.js → p-1b0cfcd6.entry.js} +2 -2
  22. package/dist/beeq/p-1b0cfcd6.entry.js.map +1 -0
  23. package/dist/beeq/{p-0711a447.entry.js → p-1cdea079.entry.js} +2 -2
  24. package/dist/beeq/p-1cdea079.entry.js.map +1 -0
  25. package/dist/beeq/{p-99668b08.entry.js → p-20d91acf.entry.js} +2 -2
  26. package/dist/beeq/p-20d91acf.entry.js.map +1 -0
  27. package/dist/beeq/{p-854e2114.entry.js → p-29d9487c.entry.js} +2 -2
  28. package/dist/beeq/p-29d9487c.entry.js.map +1 -0
  29. package/dist/beeq/p-2c566eb0.entry.js +6 -0
  30. package/dist/beeq/p-2c566eb0.entry.js.map +1 -0
  31. package/dist/beeq/p-2eab5223.entry.js +6 -0
  32. package/dist/beeq/p-2eab5223.entry.js.map +1 -0
  33. package/dist/beeq/{p-d2c20a92.entry.js → p-2ef4ed54.entry.js} +2 -2
  34. package/dist/beeq/p-2ef4ed54.entry.js.map +1 -0
  35. package/dist/beeq/p-36b653f6.entry.js +6 -0
  36. package/dist/beeq/p-36b653f6.entry.js.map +1 -0
  37. package/dist/beeq/{p-e1d3a748.entry.js → p-3b4c9ea2.entry.js} +2 -2
  38. package/dist/beeq/p-3b4c9ea2.entry.js.map +1 -0
  39. package/dist/beeq/{p-561ff182.js → p-3c472097.js} +2 -2
  40. package/dist/beeq/{p-bdf2ea24.entry.js → p-43dc9906.entry.js} +2 -2
  41. package/dist/beeq/p-43dc9906.entry.js.map +1 -0
  42. package/dist/{collection/global/scripts/global.js → beeq/p-45800965.js} +2 -2
  43. package/dist/beeq/p-45800965.js.map +1 -0
  44. package/dist/beeq/{p-42d22a31.entry.js → p-4c3b0cc9.entry.js} +2 -2
  45. package/dist/beeq/p-4c3b0cc9.entry.js.map +1 -0
  46. package/dist/beeq/{p-b9171e19.entry.js → p-4c66663c.entry.js} +2 -2
  47. package/dist/beeq/p-4c66663c.entry.js.map +1 -0
  48. package/dist/beeq/{p-d72440a3.entry.js → p-4d1619a8.entry.js} +2 -2
  49. package/dist/beeq/p-4d1619a8.entry.js.map +1 -0
  50. package/dist/beeq/{p-81b6556f.entry.js → p-4d6a9646.entry.js} +2 -2
  51. package/dist/beeq/p-4d6a9646.entry.js.map +1 -0
  52. package/dist/beeq/{p-3fd0d92d.js → p-55b0aea8.js} +2 -2
  53. package/dist/beeq/p-55b0aea8.js.map +1 -0
  54. package/dist/beeq/{p-6482a62d.entry.js → p-5c7a719c.entry.js} +2 -2
  55. package/dist/beeq/p-5c7a719c.entry.js.map +1 -0
  56. package/dist/beeq/p-60094726.js +7 -0
  57. package/dist/beeq/p-60094726.js.map +1 -0
  58. package/dist/beeq/p-6079f9b2.entry.js +6 -0
  59. package/dist/beeq/p-6079f9b2.entry.js.map +1 -0
  60. package/dist/beeq/{p-e0e5c735.entry.js → p-73ef1309.entry.js} +2 -2
  61. package/dist/beeq/p-73ef1309.entry.js.map +1 -0
  62. package/dist/beeq/{p-cc83682b.entry.js → p-75cc6789.entry.js} +2 -2
  63. package/dist/beeq/p-75cc6789.entry.js.map +1 -0
  64. package/dist/beeq/p-7636aff3.entry.js +6 -0
  65. package/dist/beeq/p-7636aff3.entry.js.map +1 -0
  66. package/dist/beeq/{p-a0d6207d.entry.js → p-7f124d61.entry.js} +2 -2
  67. package/dist/beeq/p-7f124d61.entry.js.map +1 -0
  68. package/dist/beeq/{p-8b595d1f.entry.js → p-921fa1ea.entry.js} +2 -2
  69. package/dist/beeq/p-921fa1ea.entry.js.map +1 -0
  70. package/dist/beeq/p-a7fb6ffd.entry.js +6 -0
  71. package/dist/beeq/p-a7fb6ffd.entry.js.map +1 -0
  72. package/dist/beeq/{p-1d67af77.entry.js → p-b83f174c.entry.js} +2 -2
  73. package/dist/beeq/p-b83f174c.entry.js.map +1 -0
  74. package/dist/beeq/{p-4f47130c.entry.js → p-c09dac58.entry.js} +2 -2
  75. package/dist/beeq/p-c09dac58.entry.js.map +1 -0
  76. package/dist/beeq/p-c3a0bd23.js +6 -0
  77. package/dist/beeq/p-c3a0bd23.js.map +1 -0
  78. package/dist/beeq/{p-eab2d27c.entry.js → p-c70c6b00.entry.js} +2 -2
  79. package/dist/beeq/p-c70c6b00.entry.js.map +1 -0
  80. package/dist/beeq/{p-def8acd7.entry.js → p-c786dd5e.entry.js} +2 -2
  81. package/dist/beeq/p-c786dd5e.entry.js.map +1 -0
  82. package/dist/beeq/p-cf523684.entry.js +6 -0
  83. package/dist/beeq/p-cf523684.entry.js.map +1 -0
  84. package/dist/beeq/{p-a6094ed8.entry.js → p-d8221b88.entry.js} +2 -2
  85. package/dist/beeq/p-d8221b88.entry.js.map +1 -0
  86. package/dist/beeq/{p-439583bc.entry.js → p-d8a257b7.entry.js} +2 -2
  87. package/dist/beeq/p-d8a257b7.entry.js.map +1 -0
  88. package/dist/beeq/p-dc544089.entry.js +6 -0
  89. package/dist/beeq/p-dc544089.entry.js.map +1 -0
  90. package/dist/beeq/{p-70ae504a.entry.js → p-e056c02a.entry.js} +2 -2
  91. package/dist/beeq/p-e056c02a.entry.js.map +1 -0
  92. package/dist/beeq/{p-d7507599.entry.js → p-eb662058.entry.js} +2 -2
  93. package/dist/beeq/p-eb662058.entry.js.map +1 -0
  94. package/dist/beeq/p-f0ba3429.entry.js +6 -0
  95. package/dist/beeq/p-f0ba3429.entry.js.map +1 -0
  96. package/dist/beeq.html-custom-data.json +2029 -0
  97. package/dist/cjs/app-globals-42eaedec.js +11 -0
  98. package/dist/cjs/app-globals-42eaedec.js.map +1 -0
  99. package/dist/cjs/{assetsPath-557e47c5.js → assetsPath-5e03c40e.js} +6 -5
  100. package/dist/cjs/assetsPath-5e03c40e.js.map +1 -0
  101. package/dist/cjs/beeq.cjs.js +4 -4
  102. package/dist/cjs/beeq.cjs.js.map +1 -1
  103. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -3
  104. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/bq-accordion.cjs.entry.js +5 -5
  106. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  107. package/dist/cjs/bq-alert.cjs.entry.js +6 -6
  108. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  109. package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
  110. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-badge.cjs.entry.js +5 -4
  112. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +4 -11
  114. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-breadcrumb.cjs.entry.js +20 -38
  116. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-button_2.cjs.entry.js +10 -9
  118. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-card.cjs.entry.js +4 -4
  120. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-checkbox.cjs.entry.js +9 -11
  122. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-date-picker.cjs.entry.js +40 -15
  124. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-dialog.cjs.entry.js +6 -6
  126. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-divider.cjs.entry.js +7 -6
  128. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-drawer.cjs.entry.js +6 -6
  130. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-dropdown_2.cjs.entry.js +5 -5
  132. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-empty-state.cjs.entry.js +5 -5
  134. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-input.cjs.entry.js +42 -17
  136. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-notification.cjs.entry.js +11 -6
  138. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
  140. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-option-list_2.cjs.entry.js +9 -8
  142. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-option.cjs.entry.js +5 -5
  144. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-page-title.cjs.entry.js +3 -3
  146. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-progress.cjs.entry.js +9 -9
  148. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-radio-group.cjs.entry.js +68 -25
  150. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-radio.cjs.entry.js +10 -4
  152. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  153. package/dist/cjs/bq-select.cjs.entry.js +7 -7
  154. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  156. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-side-menu.cjs.entry.js +6 -3
  158. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-slider.cjs.entry.js +21 -7
  160. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  161. package/dist/cjs/bq-spinner.cjs.entry.js +7 -6
  162. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  163. package/dist/cjs/bq-status.cjs.entry.js +2 -2
  164. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  165. package/dist/cjs/bq-step-item.cjs.entry.js +5 -5
  166. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  167. package/dist/cjs/bq-steps.cjs.entry.js +2 -2
  168. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-switch.cjs.entry.js +56 -4
  170. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  171. package/dist/cjs/bq-tab-group.cjs.entry.js +9 -9
  172. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  173. package/dist/cjs/bq-tab.cjs.entry.js +6 -6
  174. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  175. package/dist/cjs/bq-textarea.cjs.entry.js +62 -13
  176. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  177. package/dist/cjs/bq-toast.cjs.entry.js +9 -4
  178. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  179. package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
  180. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  181. package/dist/cjs/{app-globals-b11284b9.js → cally-9297cdd8.js} +5 -6
  182. package/dist/cjs/cally-9297cdd8.js.map +1 -0
  183. package/dist/cjs/{cssVariables-dd190bc2.js → cssVariables-55ad4942.js} +4 -2
  184. package/dist/cjs/cssVariables-55ad4942.js.map +1 -0
  185. package/dist/cjs/{index-9cbab9ab.js → index-c4edfa07.js} +787 -553
  186. package/dist/cjs/index-c4edfa07.js.map +1 -0
  187. package/dist/cjs/index.cjs.js +6 -4
  188. package/dist/cjs/index.cjs.js.map +1 -1
  189. package/dist/cjs/isClient-c22372aa.js +17 -0
  190. package/dist/cjs/isClient-c22372aa.js.map +1 -0
  191. package/dist/cjs/{isDefined-7235b5cd.js → isDefined-e538d669.js} +2 -2
  192. package/dist/cjs/{isDefined-7235b5cd.js.map → isDefined-e538d669.js.map} +1 -1
  193. package/dist/cjs/loader.cjs.js +3 -3
  194. package/dist/collection/collection-manifest.json +2 -3
  195. package/dist/collection/components/accordion/bq-accordion.js +117 -18
  196. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  197. package/dist/collection/components/accordion-group/bq-accordion-group.js +36 -1
  198. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  199. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  200. package/dist/collection/components/alert/bq-alert.js +91 -9
  201. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  202. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  203. package/dist/collection/components/avatar/bq-avatar.js +66 -4
  204. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  205. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  206. package/dist/collection/components/badge/bq-badge.js +36 -2
  207. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  208. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +43 -119
  209. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  210. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  211. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +50 -46
  212. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  213. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  214. package/dist/collection/components/button/bq-button.js +79 -4
  215. package/dist/collection/components/button/bq-button.js.map +1 -1
  216. package/dist/collection/components/button/scss/bq-button.css +1 -1
  217. package/dist/collection/components/card/bq-card.js +37 -3
  218. package/dist/collection/components/card/bq-card.js.map +1 -1
  219. package/dist/collection/components/card/scss/bq-card.css +1 -1
  220. package/dist/collection/components/checkbox/bq-checkbox.js +62 -9
  221. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  222. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  223. package/dist/collection/components/date-picker/bq-date-picker.js +194 -42
  224. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  225. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  226. package/dist/collection/components/dialog/bq-dialog.js +96 -12
  227. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  228. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  229. package/dist/collection/components/divider/bq-divider.js +53 -8
  230. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  231. package/dist/collection/components/drawer/bq-drawer.js +75 -13
  232. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  233. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  234. package/dist/collection/components/dropdown/bq-dropdown.js +70 -4
  235. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  236. package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
  237. package/dist/collection/components/empty-state/bq-empty-state.js +24 -4
  238. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  239. package/dist/collection/components/icon/bq-icon.js +34 -2
  240. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  241. package/dist/collection/components/input/bq-input.js +176 -14
  242. package/dist/collection/components/input/bq-input.js.map +1 -1
  243. package/dist/collection/components/input/scss/bq-input.css +1 -1
  244. package/dist/collection/components/notification/bq-notification.js +80 -10
  245. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  246. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  247. package/dist/collection/components/option/bq-option.js +52 -4
  248. package/dist/collection/components/option/bq-option.js.map +1 -1
  249. package/dist/collection/components/option-group/bq-option-group.js +32 -1
  250. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  251. package/dist/collection/components/option-list/bq-option-list.js +24 -1
  252. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  253. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  254. package/dist/collection/components/page-title/bq-page-title.js +39 -2
  255. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  256. package/dist/collection/components/panel/bq-panel.js +44 -1
  257. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  258. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  259. package/dist/collection/components/progress/bq-progress.js +105 -67
  260. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  261. package/dist/collection/components/radio/bq-radio.js +76 -2
  262. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  263. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  264. package/dist/collection/components/radio-group/bq-radio-group.js +187 -57
  265. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  266. package/dist/collection/components/radio-group/scss/bq-radio-group.css +1 -1
  267. package/dist/collection/components/select/bq-select.js +133 -4
  268. package/dist/collection/components/select/bq-select.js.map +1 -1
  269. package/dist/collection/components/select/scss/bq-select.css +1 -1
  270. package/dist/collection/components/side-menu/bq-side-menu.js +56 -3
  271. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  272. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +43 -0
  273. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  274. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  275. package/dist/collection/components/slider/bq-slider.js +88 -6
  276. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  277. package/dist/collection/components/spinner/bq-spinner.js +36 -4
  278. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  279. package/dist/collection/components/status/bq-status.js +24 -4
  280. package/dist/collection/components/status/bq-status.js.map +1 -1
  281. package/dist/collection/components/step-item/bq-step-item.js +42 -4
  282. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  283. package/dist/collection/components/steps/bq-steps.js +34 -1
  284. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  285. package/dist/collection/components/switch/bq-switch.js +124 -3
  286. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  287. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  288. package/dist/collection/components/tab/bq-tab.js +100 -41
  289. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  290. package/dist/collection/components/tab-group/bq-tab-group.js +84 -46
  291. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  292. package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
  293. package/dist/collection/components/tag/bq-tag.js +70 -3
  294. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  295. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  296. package/dist/collection/components/textarea/bq-textarea.js +176 -11
  297. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  298. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  299. package/dist/collection/components/toast/bq-toast.js +67 -6
  300. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  301. package/dist/collection/components/tooltip/bq-tooltip.js +55 -1
  302. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  303. package/dist/collection/shared/utils/assetsPath.js +4 -3
  304. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  305. package/dist/collection/shared/utils/cssVariables.js +2 -1
  306. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  307. package/dist/collection/shared/utils/index.js +1 -0
  308. package/dist/collection/shared/utils/index.js.map +1 -1
  309. package/dist/collection/shared/utils/isClient.js +12 -0
  310. package/dist/collection/shared/utils/isClient.js.map +1 -0
  311. package/dist/collection/tools/generate-custom-elements-json.js +8 -7
  312. package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
  313. package/dist/components/bq-accordion-group.js +1 -1
  314. package/dist/components/bq-accordion-group.js.map +1 -1
  315. package/dist/components/bq-accordion.js +1 -1
  316. package/dist/components/bq-accordion.js.map +1 -1
  317. package/dist/components/bq-alert.js +1 -1
  318. package/dist/components/bq-alert.js.map +1 -1
  319. package/dist/components/bq-avatar.js +1 -1
  320. package/dist/components/bq-avatar.js.map +1 -1
  321. package/dist/components/bq-badge.js +1 -1
  322. package/dist/components/bq-breadcrumb-item.js +1 -1
  323. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  324. package/dist/components/bq-breadcrumb.js +1 -1
  325. package/dist/components/bq-breadcrumb.js.map +1 -1
  326. package/dist/components/bq-button.js +1 -1
  327. package/dist/components/bq-card.js +1 -1
  328. package/dist/components/bq-card.js.map +1 -1
  329. package/dist/components/bq-checkbox.js +1 -1
  330. package/dist/components/bq-checkbox.js.map +1 -1
  331. package/dist/components/bq-date-picker.js +1 -1
  332. package/dist/components/bq-date-picker.js.map +1 -1
  333. package/dist/components/bq-dialog.js +1 -1
  334. package/dist/components/bq-dialog.js.map +1 -1
  335. package/dist/components/bq-divider.js +1 -1
  336. package/dist/components/bq-drawer.js +1 -1
  337. package/dist/components/bq-drawer.js.map +1 -1
  338. package/dist/components/bq-dropdown.js +1 -1
  339. package/dist/components/bq-empty-state.js +1 -1
  340. package/dist/components/bq-empty-state.js.map +1 -1
  341. package/dist/components/bq-icon.js +1 -1
  342. package/dist/components/bq-input.js +1 -1
  343. package/dist/components/bq-input.js.map +1 -1
  344. package/dist/components/bq-notification.js +1 -1
  345. package/dist/components/bq-notification.js.map +1 -1
  346. package/dist/components/bq-option-group.js +1 -1
  347. package/dist/components/bq-option-group.js.map +1 -1
  348. package/dist/components/bq-option-list.js +1 -1
  349. package/dist/components/bq-option.js +1 -1
  350. package/dist/components/bq-option.js.map +1 -1
  351. package/dist/components/bq-page-title.js +1 -1
  352. package/dist/components/bq-page-title.js.map +1 -1
  353. package/dist/components/bq-panel.js +1 -1
  354. package/dist/components/bq-progress.js +1 -1
  355. package/dist/components/bq-progress.js.map +1 -1
  356. package/dist/components/bq-radio-group.js +1 -1
  357. package/dist/components/bq-radio-group.js.map +1 -1
  358. package/dist/components/bq-radio.js +1 -1
  359. package/dist/components/bq-radio.js.map +1 -1
  360. package/dist/components/bq-select.js +1 -1
  361. package/dist/components/bq-select.js.map +1 -1
  362. package/dist/components/bq-side-menu-item.js +1 -1
  363. package/dist/components/bq-side-menu-item.js.map +1 -1
  364. package/dist/components/bq-side-menu.js +1 -1
  365. package/dist/components/bq-side-menu.js.map +1 -1
  366. package/dist/components/bq-slider.js +1 -1
  367. package/dist/components/bq-slider.js.map +1 -1
  368. package/dist/components/bq-spinner.js +1 -1
  369. package/dist/components/bq-spinner.js.map +1 -1
  370. package/dist/components/bq-status.js +1 -1
  371. package/dist/components/bq-status.js.map +1 -1
  372. package/dist/components/bq-step-item.js +1 -1
  373. package/dist/components/bq-step-item.js.map +1 -1
  374. package/dist/components/bq-steps.js +1 -1
  375. package/dist/components/bq-steps.js.map +1 -1
  376. package/dist/components/bq-switch.js +1 -1
  377. package/dist/components/bq-switch.js.map +1 -1
  378. package/dist/components/bq-tab-group.js +1 -1
  379. package/dist/components/bq-tab-group.js.map +1 -1
  380. package/dist/components/bq-tab.js +1 -1
  381. package/dist/components/bq-tab.js.map +1 -1
  382. package/dist/components/bq-tag.js +1 -1
  383. package/dist/components/bq-textarea.js +1 -1
  384. package/dist/components/bq-textarea.js.map +1 -1
  385. package/dist/components/bq-toast.js +1 -1
  386. package/dist/components/bq-toast.js.map +1 -1
  387. package/dist/components/bq-tooltip.js +1 -1
  388. package/dist/components/index.js +1 -1
  389. package/dist/components/index.js.map +1 -1
  390. package/dist/components/p-07b82e50.js +6 -0
  391. package/dist/components/p-07b82e50.js.map +1 -0
  392. package/dist/components/{p-9cfa3565.js → p-1566efe3.js} +2 -2
  393. package/dist/components/p-1566efe3.js.map +1 -0
  394. package/dist/components/{p-2bdb6f46.js → p-27c1b08e.js} +2 -2
  395. package/dist/components/p-27c1b08e.js.map +1 -0
  396. package/dist/{beeq/p-5b5f9a2a.entry.js → components/p-28da2321.js} +2 -2
  397. package/dist/components/p-28da2321.js.map +1 -0
  398. package/dist/components/{p-fd41feb9.js → p-33371480.js} +2 -2
  399. package/dist/components/{p-fd41feb9.js.map → p-33371480.js.map} +1 -1
  400. package/dist/components/p-55b0aea8.js +6 -0
  401. package/dist/components/p-55b0aea8.js.map +1 -0
  402. package/dist/components/p-5940b410.js +7 -0
  403. package/dist/components/p-5940b410.js.map +1 -0
  404. package/dist/components/{p-56dbc376.js → p-603c898d.js} +2 -2
  405. package/dist/components/p-603c898d.js.map +1 -0
  406. package/dist/components/{p-00b80145.js → p-78d23ddc.js} +2 -2
  407. package/dist/components/{p-ddf2a5ae.js → p-7d7f1f7e.js} +2 -2
  408. package/dist/components/p-7d7f1f7e.js.map +1 -0
  409. package/dist/components/{p-9e8fdef7.js → p-93c16753.js} +2 -2
  410. package/dist/components/p-93c16753.js.map +1 -0
  411. package/dist/components/{p-2c245c83.js → p-c2d43340.js} +2 -2
  412. package/dist/components/p-c2d43340.js.map +1 -0
  413. package/dist/components/p-c3a0bd23.js +6 -0
  414. package/dist/components/p-c3a0bd23.js.map +1 -0
  415. package/dist/components/{p-07467338.js → p-cf496927.js} +1 -1
  416. package/dist/components/p-cf496927.js.map +1 -0
  417. package/dist/components/p-d62fdbae.js +6 -0
  418. package/dist/components/p-d62fdbae.js.map +1 -0
  419. package/dist/custom-elements.json +17528 -0
  420. package/dist/esm/app-globals-7655df21.js +9 -0
  421. package/dist/esm/app-globals-7655df21.js.map +1 -0
  422. package/dist/esm/{assetsPath-15d3d3e4.js → assetsPath-eed21007.js} +6 -5
  423. package/dist/esm/assetsPath-eed21007.js.map +1 -0
  424. package/dist/esm/beeq.js +5 -5
  425. package/dist/esm/beeq.js.map +1 -1
  426. package/dist/esm/bq-accordion-group.entry.js +3 -3
  427. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  428. package/dist/esm/bq-accordion.entry.js +5 -5
  429. package/dist/esm/bq-accordion.entry.js.map +1 -1
  430. package/dist/esm/bq-alert.entry.js +6 -6
  431. package/dist/esm/bq-alert.entry.js.map +1 -1
  432. package/dist/esm/bq-avatar.entry.js +5 -5
  433. package/dist/esm/bq-avatar.entry.js.map +1 -1
  434. package/dist/esm/bq-badge.entry.js +5 -4
  435. package/dist/esm/bq-badge.entry.js.map +1 -1
  436. package/dist/esm/bq-breadcrumb-item.entry.js +4 -11
  437. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  438. package/dist/esm/bq-breadcrumb.entry.js +20 -38
  439. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  440. package/dist/esm/bq-button_2.entry.js +10 -9
  441. package/dist/esm/bq-button_2.entry.js.map +1 -1
  442. package/dist/esm/bq-card.entry.js +4 -4
  443. package/dist/esm/bq-card.entry.js.map +1 -1
  444. package/dist/esm/bq-checkbox.entry.js +9 -11
  445. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  446. package/dist/esm/bq-date-picker.entry.js +40 -15
  447. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  448. package/dist/esm/bq-dialog.entry.js +6 -6
  449. package/dist/esm/bq-dialog.entry.js.map +1 -1
  450. package/dist/esm/bq-divider.entry.js +7 -6
  451. package/dist/esm/bq-divider.entry.js.map +1 -1
  452. package/dist/esm/bq-drawer.entry.js +6 -6
  453. package/dist/esm/bq-drawer.entry.js.map +1 -1
  454. package/dist/esm/bq-dropdown_2.entry.js +5 -5
  455. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  456. package/dist/esm/bq-empty-state.entry.js +5 -5
  457. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  458. package/dist/esm/bq-input.entry.js +42 -17
  459. package/dist/esm/bq-input.entry.js.map +1 -1
  460. package/dist/esm/bq-notification.entry.js +11 -6
  461. package/dist/esm/bq-notification.entry.js.map +1 -1
  462. package/dist/esm/bq-option-group.entry.js +2 -2
  463. package/dist/esm/bq-option-group.entry.js.map +1 -1
  464. package/dist/esm/bq-option-list_2.entry.js +9 -8
  465. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  466. package/dist/esm/bq-option.entry.js +5 -5
  467. package/dist/esm/bq-option.entry.js.map +1 -1
  468. package/dist/esm/bq-page-title.entry.js +3 -3
  469. package/dist/esm/bq-page-title.entry.js.map +1 -1
  470. package/dist/esm/bq-progress.entry.js +9 -9
  471. package/dist/esm/bq-progress.entry.js.map +1 -1
  472. package/dist/esm/bq-radio-group.entry.js +68 -25
  473. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  474. package/dist/esm/bq-radio.entry.js +10 -4
  475. package/dist/esm/bq-radio.entry.js.map +1 -1
  476. package/dist/esm/bq-select.entry.js +7 -7
  477. package/dist/esm/bq-select.entry.js.map +1 -1
  478. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  479. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  480. package/dist/esm/bq-side-menu.entry.js +6 -3
  481. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  482. package/dist/esm/bq-slider.entry.js +21 -7
  483. package/dist/esm/bq-slider.entry.js.map +1 -1
  484. package/dist/esm/bq-spinner.entry.js +7 -6
  485. package/dist/esm/bq-spinner.entry.js.map +1 -1
  486. package/dist/esm/bq-status.entry.js +2 -2
  487. package/dist/esm/bq-status.entry.js.map +1 -1
  488. package/dist/esm/bq-step-item.entry.js +5 -5
  489. package/dist/esm/bq-step-item.entry.js.map +1 -1
  490. package/dist/esm/bq-steps.entry.js +2 -2
  491. package/dist/esm/bq-steps.entry.js.map +1 -1
  492. package/dist/esm/bq-switch.entry.js +56 -4
  493. package/dist/esm/bq-switch.entry.js.map +1 -1
  494. package/dist/esm/bq-tab-group.entry.js +9 -9
  495. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  496. package/dist/esm/bq-tab.entry.js +6 -6
  497. package/dist/esm/bq-tab.entry.js.map +1 -1
  498. package/dist/esm/bq-textarea.entry.js +62 -13
  499. package/dist/esm/bq-textarea.entry.js.map +1 -1
  500. package/dist/esm/bq-toast.entry.js +9 -4
  501. package/dist/esm/bq-toast.entry.js.map +1 -1
  502. package/dist/esm/bq-tooltip.entry.js +2 -2
  503. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  504. package/dist/esm/{app-globals-de5a646b.js → cally-1a3258d6.js} +2 -6
  505. package/dist/esm/cally-1a3258d6.js.map +1 -0
  506. package/dist/esm/{cssVariables-000c23ad.js → cssVariables-3665b51c.js} +4 -2
  507. package/dist/esm/cssVariables-3665b51c.js.map +1 -0
  508. package/dist/esm/{index-f0f1a8c6.js → index-c7d02072.js} +787 -553
  509. package/dist/esm/index-c7d02072.js.map +1 -0
  510. package/dist/esm/index.js +6 -5
  511. package/dist/esm/index.js.map +1 -1
  512. package/dist/esm/isClient-c6eae7ba.js +15 -0
  513. package/dist/esm/isClient-c6eae7ba.js.map +1 -0
  514. package/dist/esm/{isDefined-edd9ee7b.js → isDefined-48de6db5.js} +2 -2
  515. package/dist/esm/{isDefined-edd9ee7b.js.map → isDefined-48de6db5.js.map} +1 -1
  516. package/dist/esm/loader.js +4 -4
  517. package/dist/hydrate/index.js +8710 -6510
  518. package/dist/hydrate/index.mjs +8710 -6510
  519. package/dist/stencil.config.js +11 -3
  520. package/dist/stencil.config.js.map +1 -1
  521. package/dist/types/components/accordion/bq-accordion.d.ts +100 -10
  522. package/dist/types/components/accordion-group/bq-accordion-group.d.ts +25 -0
  523. package/dist/types/components/alert/bq-alert.d.ts +71 -5
  524. package/dist/types/components/avatar/bq-avatar.d.ts +51 -1
  525. package/dist/types/components/badge/bq-badge.d.ts +28 -0
  526. package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +25 -17
  527. package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +43 -10
  528. package/dist/types/components/button/bq-button.d.ts +51 -0
  529. package/dist/types/components/card/bq-card.d.ts +31 -1
  530. package/dist/types/components/checkbox/bq-checkbox.d.ts +37 -1
  531. package/dist/types/components/date-picker/bq-date-picker.d.ts +113 -28
  532. package/dist/types/components/dialog/bq-dialog.d.ts +76 -8
  533. package/dist/types/components/divider/bq-divider.d.ts +31 -4
  534. package/dist/types/components/drawer/bq-drawer.d.ts +59 -9
  535. package/dist/types/components/dropdown/bq-dropdown.d.ts +51 -3
  536. package/dist/types/components/empty-state/bq-empty-state.d.ts +18 -0
  537. package/dist/types/components/icon/bq-icon.d.ts +21 -1
  538. package/dist/types/components/input/bq-input.d.ts +77 -0
  539. package/dist/types/components/notification/bq-notification.d.ts +57 -5
  540. package/dist/types/components/option/bq-option.d.ts +40 -0
  541. package/dist/types/components/option-group/bq-option-group.d.ts +31 -0
  542. package/dist/types/components/option-list/bq-option-list.d.ts +21 -0
  543. package/dist/types/components/page-title/bq-page-title.d.ts +37 -0
  544. package/dist/types/components/panel/bq-panel.d.ts +31 -0
  545. package/dist/types/components/progress/bq-progress.d.ts +33 -9
  546. package/dist/types/components/radio/bq-radio.d.ts +37 -0
  547. package/dist/types/components/radio-group/bq-radio-group.d.ts +53 -10
  548. package/dist/types/components/select/bq-select.d.ts +85 -0
  549. package/dist/types/components/side-menu/bq-side-menu.d.ts +45 -0
  550. package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +37 -0
  551. package/dist/types/components/slider/bq-slider.d.ts +39 -1
  552. package/dist/types/components/spinner/bq-spinner.d.ts +26 -0
  553. package/dist/types/components/status/bq-status.d.ts +21 -3
  554. package/dist/types/components/step-item/bq-step-item.d.ts +32 -0
  555. package/dist/types/components/steps/bq-steps.d.ts +27 -0
  556. package/dist/types/components/switch/bq-switch.d.ts +43 -0
  557. package/dist/types/components/tab/bq-tab.d.ts +47 -5
  558. package/dist/types/components/tab-group/bq-tab-group.d.ts +34 -8
  559. package/dist/types/components/tag/bq-tag.d.ts +49 -0
  560. package/dist/types/components/textarea/bq-textarea.d.ts +74 -0
  561. package/dist/types/components/toast/bq-toast.d.ts +47 -2
  562. package/dist/types/components/tooltip/bq-tooltip.d.ts +40 -0
  563. package/dist/types/components.d.ts +5783 -71
  564. package/dist/types/global.d.ts +26 -0
  565. package/dist/types/shared/utils/index.d.ts +1 -0
  566. package/dist/types/shared/utils/isClient.d.ts +5 -0
  567. package/dist/types/tools/generate-custom-elements-json.d.ts +1 -1
  568. package/package.json +1 -1
  569. package/dist/beeq/p-0180a237.entry.js.map +0 -1
  570. package/dist/beeq/p-0711a447.entry.js.map +0 -1
  571. package/dist/beeq/p-0ff234ec.entry.js +0 -6
  572. package/dist/beeq/p-0ff234ec.entry.js.map +0 -1
  573. package/dist/beeq/p-1d67af77.entry.js.map +0 -1
  574. package/dist/beeq/p-25365502.entry.js +0 -6
  575. package/dist/beeq/p-25365502.entry.js.map +0 -1
  576. package/dist/beeq/p-26332d3f.entry.js +0 -6
  577. package/dist/beeq/p-26332d3f.entry.js.map +0 -1
  578. package/dist/beeq/p-34637682.entry.js +0 -6
  579. package/dist/beeq/p-34637682.entry.js.map +0 -1
  580. package/dist/beeq/p-350cd07e.entry.js.map +0 -1
  581. package/dist/beeq/p-3fd0d92d.js.map +0 -1
  582. package/dist/beeq/p-42d22a31.entry.js.map +0 -1
  583. package/dist/beeq/p-439583bc.entry.js.map +0 -1
  584. package/dist/beeq/p-457ab863.entry.js +0 -6
  585. package/dist/beeq/p-457ab863.entry.js.map +0 -1
  586. package/dist/beeq/p-47d41233.entry.js +0 -6
  587. package/dist/beeq/p-47d41233.entry.js.map +0 -1
  588. package/dist/beeq/p-4f47130c.entry.js.map +0 -1
  589. package/dist/beeq/p-5b5f9a2a.entry.js.map +0 -1
  590. package/dist/beeq/p-5da52049.js +0 -7
  591. package/dist/beeq/p-5da52049.js.map +0 -1
  592. package/dist/beeq/p-5f00f1f5.entry.js +0 -6
  593. package/dist/beeq/p-5f00f1f5.entry.js.map +0 -1
  594. package/dist/beeq/p-6482a62d.entry.js.map +0 -1
  595. package/dist/beeq/p-64ddef8a.entry.js +0 -6
  596. package/dist/beeq/p-64ddef8a.entry.js.map +0 -1
  597. package/dist/beeq/p-70ae504a.entry.js.map +0 -1
  598. package/dist/beeq/p-81b6556f.entry.js.map +0 -1
  599. package/dist/beeq/p-854e2114.entry.js.map +0 -1
  600. package/dist/beeq/p-8b595d1f.entry.js.map +0 -1
  601. package/dist/beeq/p-94ca5709.entry.js +0 -6
  602. package/dist/beeq/p-94ca5709.entry.js.map +0 -1
  603. package/dist/beeq/p-96793709.entry.js.map +0 -1
  604. package/dist/beeq/p-995bfd58.js +0 -6
  605. package/dist/beeq/p-995bfd58.js.map +0 -1
  606. package/dist/beeq/p-99668b08.entry.js.map +0 -1
  607. package/dist/beeq/p-a0d6207d.entry.js.map +0 -1
  608. package/dist/beeq/p-a6094ed8.entry.js.map +0 -1
  609. package/dist/beeq/p-a89bfbd8.entry.js.map +0 -1
  610. package/dist/beeq/p-b9171e19.entry.js.map +0 -1
  611. package/dist/beeq/p-bdf2ea24.entry.js.map +0 -1
  612. package/dist/beeq/p-be234206.entry.js.map +0 -1
  613. package/dist/beeq/p-cc83682b.entry.js.map +0 -1
  614. package/dist/beeq/p-d2c20a92.entry.js.map +0 -1
  615. package/dist/beeq/p-d72440a3.entry.js.map +0 -1
  616. package/dist/beeq/p-d7507599.entry.js.map +0 -1
  617. package/dist/beeq/p-def8acd7.entry.js.map +0 -1
  618. package/dist/beeq/p-e0e5c735.entry.js.map +0 -1
  619. package/dist/beeq/p-e1d3a748.entry.js.map +0 -1
  620. package/dist/beeq/p-eab2d27c.entry.js.map +0 -1
  621. package/dist/beeq/p-edfd9767.js +0 -6
  622. package/dist/beeq/p-edfd9767.js.map +0 -1
  623. package/dist/beeq/p-f9d9bd41.entry.js +0 -6
  624. package/dist/beeq/p-f9d9bd41.entry.js.map +0 -1
  625. package/dist/cjs/app-globals-b11284b9.js.map +0 -1
  626. package/dist/cjs/assetsPath-557e47c5.js.map +0 -1
  627. package/dist/cjs/cssVariables-dd190bc2.js.map +0 -1
  628. package/dist/cjs/index-9cbab9ab.js.map +0 -1
  629. package/dist/collection/global/scripts/global.js.map +0 -1
  630. package/dist/components/p-07467338.js.map +0 -1
  631. package/dist/components/p-209dd39e.js +0 -6
  632. package/dist/components/p-209dd39e.js.map +0 -1
  633. package/dist/components/p-2bdb6f46.js.map +0 -1
  634. package/dist/components/p-2c245c83.js.map +0 -1
  635. package/dist/components/p-56dbc376.js.map +0 -1
  636. package/dist/components/p-641036af.js +0 -6
  637. package/dist/components/p-641036af.js.map +0 -1
  638. package/dist/components/p-9cfa3565.js.map +0 -1
  639. package/dist/components/p-9e8fdef7.js.map +0 -1
  640. package/dist/components/p-ddf2a5ae.js.map +0 -1
  641. package/dist/components/p-edfd9767.js +0 -6
  642. package/dist/components/p-edfd9767.js.map +0 -1
  643. package/dist/components/p-f1736bec.js +0 -7
  644. package/dist/components/p-f1736bec.js.map +0 -1
  645. package/dist/esm/app-globals-de5a646b.js.map +0 -1
  646. package/dist/esm/assetsPath-15d3d3e4.js.map +0 -1
  647. package/dist/esm/cssVariables-000c23ad.js.map +0 -1
  648. package/dist/esm/index-f0f1a8c6.js.map +0 -1
  649. package/dist/types/global/scripts/global.d.ts +0 -22
  650. /package/dist/beeq/{p-561ff182.js.map → p-3c472097.js.map} +0 -0
  651. /package/dist/components/{p-00b80145.js.map → p-78d23ddc.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqAccordionGroupCss","BqAccordionGroupStyle0","BqAccordionGroup","checkPropValues","this","bqAccordionElements","forEach","bqAccordionElement","isNil","expandAll","expanded","appearance","noAnimation","size","onBqClick","event","detail","bqElem","isHTMLElement","el","contains","multiple","componentWillLoad","Array","from","querySelectorAll","render","h","key","class","part"],"sources":["../../packages/beeq/src/components/accordion-group/scss/bq-accordion-group.scss?tag=bq-accordion-group&encapsulation=shadow","../../packages/beeq/src/components/accordion-group/bq-accordion-group.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Accordion group styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion-group.variables';\n\n:host {\n @apply block;\n}\n","import { Component, Element, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { isHTMLElement, isNil } from '../../shared/utils';\nimport { TAccordionAppearance, TAccordionSize } from '../accordion/bq-accordion.types';\n\n/**\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'bq-accordion-group',\n styleUrl: './scss/bq-accordion-group.scss',\n shadow: true,\n})\nexport class BqAccordionGroup {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The appearance style of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true all accordions are expanded */\n @Prop({ reflect: true }) expandAll: boolean;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true multiple accordions can be expanded at the same time */\n @Prop({ reflect: true }) multiple: boolean = false;\n\n /** The size of accordion to be applied to all accordions */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('expandAll')\n @Watch('noAnimation')\n @Watch('size')\n checkPropValues() {\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n // NOTE: if expandAll is nil we will keep accordion default state\n if (!isNil(this.expandAll)) {\n bqAccordionElement.expanded = this.expandAll;\n }\n bqAccordionElement.appearance = this.appearance;\n bqAccordionElement.noAnimation = this.noAnimation;\n bqAccordionElement.size = this.size;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqAccordionElement>) {\n const { detail: bqElem } = event;\n // Make sure the event is coming from a bq-accordion element and its a child of the bq-accordion-group\n if (!isHTMLElement(bqElem, 'bq-accordion') || !this.el.contains(bqElem)) return;\n // We keep default behavior if multiple accordion can be expanded\n if (this.multiple) return;\n\n this.bqAccordionElements.forEach((bqAccordionElement) => {\n if (bqAccordionElement === event.detail) return;\n\n bqAccordionElement.expanded = false;\n });\n }\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 get bqAccordionElements(): HTMLBqAccordionElement[] {\n return Array.from(this.el.querySelectorAll('bq-accordion'));\n }\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"flex flex-col gap-[--bq-accordion-group--gap]\" part=\"base\">\n <slot />\n </div>\n );\n }\n}\n"],"mappings":";;;;0HAAA,MAAMA,EAAsB,m3lBAC5B,MAAAC,EAAeD,E,MCYFE,EAAgB,M,yCAiBgD,S,0CAS3B,M,cAGH,M,UAGkB,Q,yBAS/D,eAAAC,GACEC,KAAKC,oBAAoBC,SAASC,IAEhC,IAAKC,EAAMJ,KAAKK,WAAY,CAC1BF,EAAmBG,SAAWN,KAAKK,S,CAErCF,EAAmBI,WAAaP,KAAKO,WACrCJ,EAAmBK,YAAcR,KAAKQ,YACtCL,EAAmBM,KAAOT,KAAKS,IAAI,G,CASvC,SAAAC,CAAUC,GACR,MAAQC,OAAQC,GAAWF,EAE3B,IAAKG,EAAcD,EAAQ,kBAAoBb,KAAKe,GAAGC,SAASH,GAAS,OAEzE,GAAIb,KAAKiB,SAAU,OAEnBjB,KAAKC,oBAAoBC,SAASC,IAChC,GAAIA,IAAuBQ,EAAMC,OAAQ,OAEzCT,EAAmBG,SAAW,KAAK,G,CAQvC,iBAAAY,GACElB,KAAKD,iB,CAkBP,uBAAYE,GACV,OAAOkB,MAAMC,KAAKpB,KAAKe,GAAGM,iBAAiB,gB,CAM7C,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gDAAgDC,KAAK,QAC9DH,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["STEP_ITEM_STATUS","bqStepItemCss","BqStepItemStyle0","BqStepItem","checkPropValues","validatePropValue","STEPS_SIZE","this","el","handleIconPrefix","bqClick","connectedCallback","componentWillLoad","componentDidLoad","isDisabled","status","isCurrent","iconElem","querySelector","isHTMLElement","size","weight","render","h","key","class","part","type","name","onSlotchange"],"sources":["../../packages/beeq/src/components/step-item/bq-step-item.types.ts","../../packages/beeq/src/components/step-item/scss/bq-step-item.scss?tag=bq-step-item&encapsulation=shadow","../../packages/beeq/src/components/step-item/bq-step-item.tsx"],"sourcesContent":["export const STEP_ITEM_STATUS = ['default', 'current', 'completed', 'error', 'disabled'] as const;\nexport type TStepItemStatus = (typeof STEP_ITEM_STATUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Step item styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-step-item.variables';\n\n:host {\n --bq-icon--color: theme(stroke.icon.primary);\n\n @apply bg-primary;\n}\n\n.bq-step-item__prefix.dot,\n.bq-step-item__prefix.icon {\n ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-step-item--prefix-color);\n }\n\n &.current {\n ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-step-item--prefix-color-current);\n }\n }\n\n &.completed {\n ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-step-item--prefix-color-completed);\n }\n }\n\n &.error {\n ::slotted(bq-icon) {\n --bq-icon--color: var(--bq-step-item--prefix-color-error);\n }\n }\n\n &.disabled {\n ::slotted(bq-icon) {\n opacity: 0.6;\n }\n }\n}\n\n.bq-step-item__prefix.numeric {\n @apply flex items-center justify-center rounded-full;\n @apply bg-[--bq-step-item--prefix-num-bg-color] bs-[--bq-step-item--prefix-num-size] is-[--bq-step-item--prefix-num-size];\n @apply text-m font-semibold leading-regular;\n\n &.small {\n @apply text-s [--bq-step-item--prefix-num-size:--bq-spacing-l];\n }\n\n // Status\n\n &.current {\n @apply bg-[var(--bq-step-item--prefix-color-current)] text-alt;\n }\n\n &.completed {\n @apply bg-ui-success-alt text-success;\n }\n\n &.error {\n @apply bg-ui-danger-alt text-danger;\n }\n\n &.disabled {\n @apply opacity-60;\n }\n}\n\n.bq-step-item__content--description::slotted(*) {\n @apply text-s leading-regular opacity-60;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\nimport { STEP_ITEM_STATUS, TStepItemStatus } from './bq-step-item.types';\nimport { isHTMLElement, validatePropValue } from '../../shared/utils';\nimport { STEPS_SIZE, TStepsSize, TStepsType } from '../steps/bq-steps.types';\n\n/**\n * @part base - The component's base wrapper.\n * @part title - The component's title.\n * @part description - The component's description.\n */\n@Component({\n tag: 'bq-step-item',\n styleUrl: './scss/bq-step-item.scss',\n shadow: true,\n})\nexport class BqStepItem {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqStepItemElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** It defines prefix size */\n @Prop({ reflect: true }) size?: TStepsSize = 'medium';\n\n /** It defines step item appearance based on its status */\n @Prop({ reflect: true }) status?: TStepItemStatus = 'default';\n\n /** It defines the step item type used */\n @Prop({ reflect: true }) type?: TStepsType;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n @Watch('status')\n checkPropValues() {\n validatePropValue(STEPS_SIZE, 'medium', this.el, 'size');\n validatePropValue(STEP_ITEM_STATUS, 'default', this.el, 'status');\n\n this.handleIconPrefix();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the step item is clicked */\n @Event() bqClick: EventEmitter<{ target: HTMLBqStepItemElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.checkPropValues();\n }\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleIconPrefix();\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 get isDisabled(): boolean {\n return this.status === 'disabled';\n }\n\n private get isCurrent(): boolean {\n return this.status === 'current';\n }\n\n private handleIconPrefix = () => {\n const iconElem = this.el.querySelector('[slot=\"prefix\"]');\n if (!iconElem || !isHTMLElement(iconElem, 'bq-icon')) return;\n\n iconElem.size = this.size === 'small' ? 24 : 32;\n iconElem.weight = this.isCurrent ? 'fill' : 'regular';\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n 'bq-step-item flex gap-s': true,\n [`bq-step-item--${this.status}`]: true,\n 'pointer-events-none opacity-60': this.isDisabled,\n }}\n part=\"base\"\n >\n <div class={`bq-step-item__prefix relative ${this.type} ${this.size} ${this.status}`}>\n <slot name=\"prefix\" onSlotchange={this.handleIconPrefix} />\n </div>\n <div class=\"bq-step-item__content\">\n {/* TITLE */}\n <div\n class={{\n 'bq-step-item__content--title pe-xs3 text-m leading-regular text-primary': true,\n 'pointer-events-none': this.isDisabled,\n 'text-brand': this.isCurrent,\n }}\n part=\"title\"\n >\n <slot />\n </div>\n {/* DESCRIPTION */}\n <div\n class={{\n 'bq-step-item__content--description text-s leading-regular opacity-60': true,\n 'opacity-60': this.isDisabled,\n }}\n part=\"description\"\n >\n <slot name=\"description\" />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;qKAAO,MAAMA,EAAmB,CAAC,UAAW,UAAW,YAAa,QAAS,YCA7E,MAAMC,EAAgB,mguBACtB,MAAAC,EAAeD,E,MCeFE,EAAU,M,oEAgBwB,S,YAGO,U,4CAUpD,eAAAC,GACEC,EAAkBC,EAAY,SAAUC,KAAKC,GAAI,QACjDH,EAAkBL,EAAkB,UAAWO,KAAKC,GAAI,UAExDD,KAAKE,kB,CAQEC,QAMT,iBAAAC,GACEJ,KAAKH,iB,CAGP,iBAAAQ,GACEL,KAAKH,iB,CAGP,gBAAAS,GACEN,KAAKE,kB,CAkBP,cAAYK,GACV,OAAOP,KAAKQ,SAAW,U,CAGzB,aAAYC,GACV,OAAOT,KAAKQ,SAAW,S,CAGjBN,iBAAmB,KACzB,MAAMQ,EAAWV,KAAKC,GAAGU,cAAc,mBACvC,IAAKD,IAAaE,EAAcF,EAAU,WAAY,OAEtDA,EAASG,KAAOb,KAAKa,OAAS,QAAU,GAAK,GAC7CH,EAASI,OAASd,KAAKS,UAAY,OAAS,SAAS,EAOvD,MAAAM,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,0BAA2B,KAC3B,CAAC,iBAAiBlB,KAAKQ,UAAW,KAClC,iCAAkCR,KAAKO,YAEzCY,KAAK,QAELH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iCAAiClB,KAAKoB,QAAQpB,KAAKa,QAAQb,KAAKQ,UAC1EQ,EAAA,QAAAC,IAAA,2CAAMI,KAAK,SAASC,aAActB,KAAKE,oBAEzCc,EAAA,OAAAC,IAAA,2CAAKC,MAAM,yBAETF,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,0EAA2E,KAC3E,sBAAuBlB,KAAKO,WAC5B,aAAcP,KAAKS,WAErBU,KAAK,SAELH,EAAA,QAAAC,IAAA,8CAGFD,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,uEAAwE,KACxE,aAAclB,KAAKO,YAErBY,KAAK,eAELH,EAAA,QAAAC,IAAA,2CAAMI,KAAK,kB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["AVATAR_SIZE","AVATAR_SHAPE","bqAvatarCss","BqAvatarStyle0","BqAvatar","trimmedInitials","handleImagePropChange","this","hasError","checkPropValues","validatePropValue","el","onInitialsChange","trimInitialsBasedOnSize","componentWillLoad","onImageError","initials","forEach","size","substring","getIndex","sizeIndexMap","xsmall","small","medium","large","render","h","Host","key","class","shape","label","role","part","image","alt","altText","undefined","src","onError","name"],"sources":["../../packages/beeq/src/components/avatar/bq-avatar.types.ts","../../packages/beeq/src/components/avatar/scss/bq-avatar.scss?tag=bq-avatar&encapsulation=shadow","../../packages/beeq/src/components/avatar/bq-avatar.tsx"],"sourcesContent":["export const AVATAR_SIZE = ['xsmall', 'small', 'medium', 'large'] as const;\nexport type TAvatarSize = (typeof AVATAR_SIZE)[number];\n\nexport const AVATAR_SHAPE = ['circle', 'square'] as const;\nexport type TAvatarShape = (typeof AVATAR_SHAPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Avatar styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-avatar.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-avatar {\n @apply relative overflow-hidden bg-[var(--bq-avatar-background)];\n @apply border-[length:var(--bq-avatar--border-width)] border-[color:var(--bq-avatar--border-color)];\n\n border-style: var(--bq-avatar--border-style);\n}\n\n.size {\n &--xsmall {\n @apply text-[length:var(--bq-avatar--font-size-xsmall)] bs-[--bq-avatar--size-xsmall] is-[--bq-avatar--size-xsmall];\n }\n\n &--small {\n @apply text-[length:var(--bq-avatar--font-size-small)] bs-[--bq-avatar--size-small] is-[--bq-avatar--size-small];\n }\n\n &--medium {\n @apply text-[length:var(--bq-avatar--font-size-medium)] bs-[--bq-avatar--size-medium] is-[--bq-avatar--size-medium];\n }\n\n &--large {\n @apply text-[length:var(--bq-avatar--font-size-large)] bs-[--bq-avatar--size-large] is-[--bq-avatar--size-large];\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { AVATAR_SHAPE, AVATAR_SIZE, TAvatarShape, TAvatarSize } from './bq-avatar.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper.\n * @part img - The `<image>` tag element that load the image source.\n * @part text - The `<span>` tag element that renderd the `Initials` text string.\n */\n@Component({\n tag: 'bq-avatar',\n styleUrl: './scss/bq-avatar.scss',\n shadow: true,\n})\nexport class BqAvatar {\n // Own Properties\n // ====================\n\n trimmedInitials: string;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAvatarElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() hasError: boolean;\n\n // Public Property API\n // ========================\n\n /** Alternate text for the avatar image if the image cannot be displayed */\n @Prop({ reflect: true }) altText: string;\n\n /** The image source to load on the avatar (this can be also a base64 encoded image) */\n @Prop({ reflect: true }) image: string;\n\n /** A text to use for describing the avatar on assistive devices */\n @Prop({ reflect: true }) label: string;\n\n /** The text to display on avatar */\n @Prop({ reflect: true }) initials: string;\n\n /** The shape of the avatar */\n @Prop({ reflect: true }) shape: TAvatarShape = 'circle';\n\n /** The size of the avatar */\n @Prop({ reflect: true, mutable: true }) size: TAvatarSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('image')\n handleImagePropChange() {\n // Reset the error when a new image source is provided\n this.hasError = false;\n }\n\n @Watch('shape')\n @Watch('size')\n checkPropValues() {\n validatePropValue(AVATAR_SHAPE, 'circle', this.el, 'shape');\n validatePropValue(AVATAR_SIZE, 'medium', this.el, 'size');\n }\n\n @Watch('initials')\n @Watch('size')\n onInitialsChange() {\n this.trimInitialsBasedOnSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.trimInitialsBasedOnSize();\n this.checkPropValues();\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 onImageError = () => {\n this.hasError = true;\n };\n\n private trimInitialsBasedOnSize = (): void => {\n if (!this.initials) return;\n\n AVATAR_SIZE.forEach((size: TAvatarSize) => {\n if (this.size === size) {\n this.trimmedInitials = this.initials.substring(0, this.getIndex(size));\n }\n });\n };\n\n private getIndex = (size: TAvatarSize): number => {\n const sizeIndexMap = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 4,\n };\n return sizeIndexMap[size] ?? sizeIndexMap.xsmall;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'bq-avatar': true,\n [`size--${this.size}`]: true,\n 'rounded-[--bq-avatar--border-radius-circle]': this.shape === 'circle',\n 'rounded-[--bq-avatar--border-radius-squareXs]': this.shape === 'square' && this.size === 'xsmall',\n 'rounded-[--bq-avatar--border-radius-squareS]': this.shape === 'square' && this.size === 'small',\n 'rounded-[--bq-avatar--border-radius-squareM]':\n this.shape === 'square' && (this.size === 'medium' || this.size === 'large'),\n }}\n aria-label={this.label}\n role=\"img\"\n part=\"base\"\n >\n {this.initials && (\n <span\n class=\"absolute start-0 inline-flex items-center justify-center font-bold bs-full is-full inset-bs-0\"\n part=\"text\"\n >\n {this.trimmedInitials}\n </span>\n )}\n {this.image && !this.hasError && (\n <img\n class=\"absolute start-0 object-cover bs-full is-full inset-bs-0\"\n alt={this.altText ?? undefined}\n src={this.image}\n onError={this.onImageError}\n part=\"img\"\n />\n )}\n </div>\n <div\n class={{\n 'absolute flex items-center justify-center': true,\n 'start-[--bq-avatar--badge-left-square] inset-bs-[--bq-avatar--badge-top-square]': this.shape === 'square',\n 'start-[--bq-avatar--badge-left-circle] inset-bs-[--bq-avatar--badge-top-circle]': this.shape === 'circle',\n }}\n >\n <slot name=\"badge\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;6FAAO,MAAMA,EAAc,CAAC,SAAU,QAAS,SAAU,SAGlD,MAAMC,EAAe,CAAC,SAAU,UCHvC,MAAMC,EAAc,8ztBACpB,MAAAC,EAAeD,E,MCcFE,EAAQ,M,qJAiC4B,S,UAGa,Q,CAhC5DC,gB,wBAsCA,qBAAAC,GAEEC,KAAKC,SAAW,K,CAKlB,eAAAC,GACEC,EAAkBT,EAAc,SAAUM,KAAKI,GAAI,SACnDD,EAAkBV,EAAa,SAAUO,KAAKI,GAAI,O,CAKpD,gBAAAC,GACEL,KAAKM,yB,CAWP,iBAAAC,GACEP,KAAKM,0BACLN,KAAKE,iB,CAkBCM,aAAe,KACrBR,KAAKC,SAAW,IAAI,EAGdK,wBAA0B,KAChC,IAAKN,KAAKS,SAAU,OAEpBhB,EAAYiB,SAASC,IACnB,GAAIX,KAAKW,OAASA,EAAM,CACtBX,KAAKF,gBAAkBE,KAAKS,SAASG,UAAU,EAAGZ,KAAKa,SAASF,G,IAElE,EAGIE,SAAYF,IAClB,MAAMG,EAAe,CACnBC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,GAET,OAAOJ,EAAaH,IAASG,EAAaC,MAAM,EAOlD,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,YAAa,KACb,CAAC,SAASvB,KAAKW,QAAS,KACxB,8CAA+CX,KAAKwB,QAAU,SAC9D,gDAAiDxB,KAAKwB,QAAU,UAAYxB,KAAKW,OAAS,SAC1F,+CAAgDX,KAAKwB,QAAU,UAAYxB,KAAKW,OAAS,QACzF,+CACEX,KAAKwB,QAAU,WAAaxB,KAAKW,OAAS,UAAYX,KAAKW,OAAS,UACvE,aACWX,KAAKyB,MACjBC,KAAK,MACLC,KAAK,QAEJ3B,KAAKS,UACJW,EAAA,QAAAE,IAAA,2CACEC,MAAM,gGACNI,KAAK,QAEJ3B,KAAKF,iBAGTE,KAAK4B,QAAU5B,KAAKC,UACnBmB,EAAA,OAAAE,IAAA,2CACEC,MAAM,2DACNM,IAAK7B,KAAK8B,SAAWC,UACrBC,IAAKhC,KAAK4B,MACVK,QAASjC,KAAKQ,aACdmB,KAAK,SAIXP,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,4CAA6C,KAC7C,kFAAmFvB,KAAKwB,QAAU,SAClG,kFAAmFxB,KAAKwB,QAAU,WAGpGJ,EAAA,QAAAE,IAAA,2CAAMY,KAAK,W","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["PROGRESS_BORDER_SHAPE","PROGRESS_THICKNESS","PROGRESS_TYPE","bqProgressCss","BqProgressStyle0","BqProgress","handleTypePropChange","validatePropValue","this","el","handleValuePropChange","newValue","validateValue","componentWillLoad","value","clampedValue","Math","max","min","render","style","thickness","type","h","Host","key","class","part","borderShape","indeterminate","undefined","enableTooltip","exportparts","alwaysVisible","distance","insetInlineStart","fontVariant","slot","label"],"sources":["../../packages/beeq/src/components/progress/bq-progress.types.ts","../../packages/beeq/src/components/progress/scss/bq-progress.scss?tag=bq-progress&encapsulation=shadow","../../packages/beeq/src/components/progress/bq-progress.tsx"],"sourcesContent":["export const PROGRESS_BORDER_SHAPE = ['square', 'rounded'] as const;\nexport type TProgressBorderShape = (typeof PROGRESS_BORDER_SHAPE)[number];\n\nexport const PROGRESS_THICKNESS = ['medium', 'large'] as const;\nexport type TProgressThickness = (typeof PROGRESS_THICKNESS)[number];\n\nexport const PROGRESS_TYPE = ['default', 'error'] as const;\nexport type TProgressType = (typeof PROGRESS_TYPE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Progress styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-progress.variables';\n\n@layer component {\n @keyframes move-indeterminate {\n 0% {\n inset-inline-start: 0;\n }\n\n 100% {\n inset-inline-start: calc(100% - var(--bq-progress-bar--indeterminateWidth));\n }\n }\n\n .animate-indeterminate {\n animation: move-indeterminate 1s linear 0s infinite alternate-reverse;\n }\n}\n\n.progress-bar {\n @apply relative appearance-none bs-[--bq-progress-bar--height] is-full;\n}\n\n.progress-bar::-webkit-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar::-webkit-progress-value {\n @apply bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar::-moz-progress-bar {\n @apply animate-indeterminate bg-[--bq-progress-bar--indicatorColor];\n}\n\n.progress-bar:indeterminate::-moz-progress-bar {\n @apply bg-[--bq-progress-bar--trackColor];\n}\n\n.progress-bar.progress-bar__border-shape::-webkit-progress-value,\n.progress-bar.progress-bar__border-shape::-webkit-progress-bar {\n @apply rounded-full;\n}\n\n.progress-bar__indeterminate {\n @apply animate-indeterminate;\n}\n\n.progress-bar.progress-bar__border-shape::-moz-progress-bar {\n @apply animate-indeterminate rounded-full;\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\nimport {\n PROGRESS_BORDER_SHAPE,\n PROGRESS_THICKNESS,\n PROGRESS_TYPE,\n TProgressBorderShape,\n TProgressThickness,\n TProgressType,\n} from './bq-progress.types';\nimport { validatePropValue } from '../../shared/utils';\n\n/**\n * @part wrapper - The component wrapper container inside the shadow DOM\n * @part progress - The `<div>` container that holds the native progress element\n * @part progress-bar - The native html for progress element\n * @part label - The `<div>` container that holds the label value (in percentage)\n * @part indeterminate - The `<div>` container that holds the indeterminate progress bar\n *\n * @part base - The base container for the tooltip component inside the shadow DOM when hovering over the progress bar\n * @part trigger - The container holding the element that triggers the tooltip display when hovering over the progress bar\n * @part panel - The container holding the content of the tooltip when hovering over the progress bar\n */\n\n@Component({\n tag: 'bq-progress',\n styleUrl: './scss/bq-progress.scss',\n shadow: true,\n})\nexport class BqProgress {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqProgressElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If `true` the indeterminate state of progress bar is enabled */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /** A number representing the current value of the progress bar */\n @Prop({ reflect: true, mutable: true }) value = 0;\n\n /** Progress bar thickness */\n @Prop({ reflect: true }) thickness: TProgressThickness = 'medium';\n\n /** Progress type */\n @Prop({ reflect: true }) type: TProgressType = 'default';\n\n /** It will set the border style of the progress bar */\n @Prop({ reflect: true }) borderShape: TProgressBorderShape = 'rounded';\n\n /** If `true`, a label text showing the value (in percentage) will be shown */\n @Prop({ reflect: true }) label: boolean = false;\n\n /** If `true`, a tooltip will be shown displaying the progress value */\n @Prop({ reflect: true }) enableTooltip: boolean = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('borderShape')\n @Watch('thickness')\n @Watch('type')\n handleTypePropChange() {\n validatePropValue(PROGRESS_BORDER_SHAPE, 'rounded', this.el, 'borderShape');\n validatePropValue(PROGRESS_THICKNESS, 'medium', this.el, 'thickness');\n validatePropValue(PROGRESS_TYPE, 'default', this.el, 'type');\n }\n\n @Watch('value')\n handleValuePropChange(newValue: number) {\n this.validateValue(newValue);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handleTypePropChange();\n this.handleValuePropChange(this.value);\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private validateValue(newValue: number) {\n const clampedValue = Math.max(0, Math.min(100, newValue));\n if (newValue !== clampedValue) {\n this.value = clampedValue;\n }\n return this.value;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.thickness === 'large' && { '--bq-progress-bar--height': 'var(--bq-spacing-xs)' }),\n ...(this.type === 'error' && { '--bq-progress-bar--indicatorColor': 'var(--bq-ui--danger)' }),\n };\n\n return (\n <Host style={style}>\n <div class=\"flex items-center\" part=\"wrapper\">\n <div class=\"relative flex items-center is-full\" part=\"progress\">\n <progress\n class={{\n [`progress-bar progress-bar__${this.type} ${this.thickness}`]: true,\n 'progress-bar__border-shape rounded-full': this.borderShape === 'rounded',\n }}\n value={this.indeterminate ? undefined : this.value}\n max=\"100\"\n part=\"progress-bar\"\n />\n {this.enableTooltip && !this.indeterminate && (\n <bq-tooltip\n class=\"absolute [&::part(panel)]:absolute\"\n exportparts=\"base,trigger,panel\"\n alwaysVisible={true}\n distance={16}\n style={{ insetInlineStart: `${this.value}%`, fontVariant: 'tabular-nums' }}\n >\n <div class=\"absolute bs-1 is-1\" slot=\"trigger\"></div>\n {this.value}\n </bq-tooltip>\n )}\n {this.indeterminate && (\n <div\n class={{\n 'progress-bar__indeterminate absolute bg-[--bq-progress-bar--indicatorColor] bs-[--bq-progress-bar--height] is-[--bq-progress-bar--indeterminateWidth]':\n true,\n 'rounded-full': this.borderShape === 'rounded',\n }}\n part=\"indeterminate\"\n />\n )}\n </div>\n <div\n aria-hidden={!this.label || this.indeterminate ? 'true' : 'false'}\n class={{\n 'ms-xs font-medium leading-regular': true,\n 'text-primary': this.type !== 'error',\n 'text-danger': this.type === 'error',\n 'invisible ms-0 is-0': !this.label || this.indeterminate,\n }}\n style={{ fontVariant: 'tabular-nums' }}\n part=\"label\"\n >\n <span>{this.value}%</span>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;6FAAO,MAAMA,EAAwB,CAAC,SAAU,WAGzC,MAAMC,EAAqB,CAAC,SAAU,SAGtC,MAAMC,EAAgB,CAAC,UAAW,SCNzC,MAAMC,EAAgB,q+rBACtB,MAAAC,EAAeD,E,MC4BFE,EAAU,M,4CAiB6B,M,WAGF,E,eAGS,S,UAGV,U,iBAGc,U,WAGnB,M,mBAGQ,K,yBAQlD,oBAAAC,GACEC,EAAkBP,EAAuB,UAAWQ,KAAKC,GAAI,eAC7DF,EAAkBN,EAAoB,SAAUO,KAAKC,GAAI,aACzDF,EAAkBL,EAAe,UAAWM,KAAKC,GAAI,O,CAIvD,qBAAAC,CAAsBC,GACpBH,KAAKI,cAAcD,E,CAWrB,iBAAAE,GACEL,KAAKF,uBACLE,KAAKE,sBAAsBF,KAAKM,M,CAkB1B,aAAAF,CAAcD,GACpB,MAAMI,EAAeC,KAAKC,IAAI,EAAGD,KAAKE,IAAI,IAAKP,IAC/C,GAAIA,IAAaI,EAAc,CAC7BP,KAAKM,MAAQC,C,CAEf,OAAOP,KAAKM,K,CAOd,MAAAK,GACE,MAAMC,EAAQ,IACRZ,KAAKa,YAAc,SAAW,CAAE,4BAA6B,2BAC7Db,KAAKc,OAAS,SAAW,CAAE,oCAAqC,yBAGtE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACL,MAAOA,GACXG,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBC,KAAK,WAClCJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qCAAqCC,KAAK,YACnDJ,EAAA,YAAAE,IAAA,2CACEC,MAAO,CACL,CAAC,8BAA8BlB,KAAKc,QAAQd,KAAKa,aAAc,KAC/D,0CAA2Cb,KAAKoB,cAAgB,WAElEd,MAAON,KAAKqB,cAAgBC,UAAYtB,KAAKM,MAC7CG,IAAI,MACJU,KAAK,iBAENnB,KAAKuB,gBAAkBvB,KAAKqB,eAC3BN,EAAA,cAAAE,IAAA,2CACEC,MAAM,qCACNM,YAAY,qBACZC,cAAe,KACfC,SAAU,GACVd,MAAO,CAAEe,iBAAkB,GAAG3B,KAAKM,SAAUsB,YAAa,iBAE1Db,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBAAqBW,KAAK,YACpC7B,KAAKM,OAGTN,KAAKqB,eACJN,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wJACE,KACF,eAAgBlB,KAAKoB,cAAgB,WAEvCD,KAAK,mBAIXJ,EAAA,OAAAE,IAAA,0DACgBjB,KAAK8B,OAAS9B,KAAKqB,cAAgB,OAAS,QAC1DH,MAAO,CACL,oCAAqC,KACrC,eAAgBlB,KAAKc,OAAS,QAC9B,cAAed,KAAKc,OAAS,QAC7B,uBAAwBd,KAAK8B,OAAS9B,KAAKqB,eAE7CT,MAAO,CAAEgB,YAAa,gBACtBT,KAAK,SAELJ,EAAA,QAAAE,IAAA,4CAAOjB,KAAKM,MAAK,O","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqSelectCss","BqSelectStyle0","BqSelect","helperTextElem","inputElem","labelElem","prefixElem","suffixElem","debounceQuery","fallbackInputId","internals","handleValueChange","this","multiple","isString","value","Array","from","JSON","parse","String","setFormValue","join","syncItemsFromValue","bqBlur","bqClear","bqFocus","bqSelect","connectedCallback","initMultipleValue","componentWillLoad","componentDidLoad","isArray","selectedOptions","options","filter","item","includes","formAssociatedCallback","role","ariaExpanded","open","formResetCallback","isNil","setValidity","clear","handleOpenChange","ev","composedPath","el","detail","stopOptionFocusBlurPropagation","isHTMLElement","target","stopPropagation","disabled","undefined","displayValue","resetOptionsVisibility","emit","handleBlur","handleFocus","handleSelect","handleMultipleSelection","focus","selectedOptionsSet","Set","has","delete","add","map","handleSearchFilter","cancel","query","toLowerCase","trim","isDefined","debounce","forEach","itemLabel","getOptionLabel","hidden","debounceTime","handleClearClick","handleTagRemove","handleLabelSlotChange","hasLabel","hasSlotContent","handlePrefixSlotChange","hasPrefix","handleSuffixSlotChange","hasSuffix","handleHelperTextSlotChange","hasHelperText","length","syncSelectedOptionsState","option","updateDisplayLabel","lowerCaseValue","selected","checkedItem","find","innerText","querySelectorAll","displayPlaceholder","placeholder","displayTags","index","maxTagsVisible","h","key","removable","size","variant","onBqClose","event","onClick","exportparts","part","hasClearIcon","disableClear","render","labelId","name","class","id","htmlFor","ref","onSlotchange","distance","keepOpenOnSelect","panelHeight","placement","sameWidth","skidding","strategy","validationStatus","slot","spanElem","autoComplete","autoCapitalize","form","readOnly","readonly","required","spellcheck","type","onBlur","onFocus","onInput","appearance","clearButtonLabel","onBqClick","tabIndex","onBqSelect","divElem"],"sources":["../../packages/beeq/src/components/select/scss/bq-select.scss?tag=bq-select&encapsulation=shadow","../../packages/beeq/src/components/select/bq-select.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Select styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-select.variables';\n\n:host {\n @apply block w-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label and Helper text */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__label {\n @apply flex items-center m-be-[--bq-select--label-margin-bottom];\n @apply text-[length:--bq-select--label-text-size] text-[color:--bq-select--label-text-color];\n}\n\n.bq-select__helper-text {\n @apply text-[length:--bq-select--helper-text-size] text-[color:--bq-select--helper-text-color] m-bs-[--bq-select--helper-margin-top];\n}\n\n.bq-select__helper-text.validation-error {\n @apply text-danger;\n}\n\n.bq-select__helper-text.validation-success {\n @apply text-success;\n}\n\n.bq-select__helper-text.validation-warning {\n @apply text-warning;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Select input group control */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__dropdown:has(:focus-within, :focus-visible) {\n // The focus state will be controlled by the dropdown element\n // if any of its children has focus, the dropdown will set the focus state to the .bq-select__control\n .bq-select__control {\n --bq-ring-width: 1px;\n --bq-ring-offset-width: 0;\n --bq-ring-color-focus: var(--bq-select--border-color-focus);\n\n @apply focus border-[color:--bq-select--border-color-focus];\n }\n}\n\n.bq-select__control {\n @apply flex items-center transition-[border-color,box-shadow] is-full;\n // Border\n @apply rounded-[--bq-select--border-radius] border-[length:--bq-select--border-width] border-[color:--bq-select--border-color];\n // Padding\n @apply pe-[--bq-select--padding-end] ps-[--bq-select--padding-start] p-b-[var(--bq-select--paddingY)];\n // Text\n @apply select-none text-[length:--bq-select--text-size] text-[color:--bq-select--text-color] placeholder:text-[color:--bq-select--text-placeholder-color];\n // Hover\n @apply [&:not(.disabled):not(:focus-within)]:hover:border-hover-brand;\n\n border-style: var(--bq-select--border-style);\n\n // Enable clear button whenever the input group control is hovered or has focus\n &:not(.disabled):hover,\n &:not(.disabled):focus-within {\n .bq-select__control--clear {\n @apply inline-block;\n }\n }\n}\n\n.bq-select__control.disabled {\n @apply cursor-not-allowed opacity-60;\n}\n\n/* ------------------------------- Validation ------------------------------- */\n\n.bq-select__control.validation-error {\n @apply border-danger [&:not(.disabled):not(:focus-within)]:hover:border-hover-danger;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(stroke.danger);\n\n @apply border-active-danger;\n }\n}\n\n.bq-select__control.validation-success {\n @apply border-success [&:not(.disabled):not(:focus-within)]:hover:border-hover-success;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(stroke.success);\n\n @apply border-active-success;\n }\n}\n\n.bq-select__control.validation-warning {\n @apply border-warning [&:not(.disabled):not(:focus-within)]:hover:border-hover-warning;\n\n &:not(.disabled):focus-within {\n --bq-ring-color-focus: theme(stroke.warning);\n\n @apply border-active-warning;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Native HTML Input */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--input {\n @apply flex-auto cursor-inherit select-none appearance-none bg-inherit font-inherit text-[length:inherit] text-inherit;\n @apply m-0 border-none p-0 min-bs-[var(--bq-select--icon-size)] min-is-0 focus:outline-none focus-visible:outline-none;\n\n box-shadow: none;\n font-weight: inherit;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Clear button */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--clear::part(button) {\n // Since the clear button is inside the input group control,\n // we need to reset the focus ring styles\n --bq-ring-width: initial;\n --bq-ring-offset-width: initial;\n --bq-ring-color-focus: initial;\n\n @apply rounded-xs border-none p-0 bs-auto;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and suffix */\n/* -------------------------------------------------------------------------- */\n\n.bq-select__control--prefix,\n.bq-select__control--suffix {\n @apply pointer-events-none flex items-center text-[color:var(--bq-select--text-color)];\n}\n\n.bq-select__control--prefix {\n @apply me-[--bq-select--gap];\n}\n\n.bq-select__control--suffix {\n @apply ms-[--bq-select--gap] transition-transform duration-300 ease-in-out;\n}\n\n.bq-select__tags {\n @apply me-xs2 flex flex-1 gap-xs2;\n\n bq-tag,\n ::slotted(bq-tag) {\n @apply inline-flex;\n }\n\n bq-tag::part(text) {\n @apply text-nowrap leading-small;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Slotted and internal icons */\n/* -------------------------------------------------------------------------- */\n\nbq-icon,\n::slotted(bq-icon) {\n --bq-icon--size: var(--bq-select--icon-size) !important;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { Placement } from '../../services/interfaces';\nimport { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, isString, TDebounce } from '../../shared/utils';\nimport { TInputValidation } from '../input/bq-input.types';\n\nexport type TSelectValue = string | string[];\n\n/**\n * @part base - The component's base wrapper.\n * @part button - The native HTML button used under the hood in the clear button.\n * @part clear-btn - The clear button.\n * @part control - The input control wrapper.\n * @part input-outline - The input outline wrapper that holds the tags container and the native HTML input used under the hood.\n * @part helper-text - The helper text slot container.\n * @part input - The native HTML input element used under the hood.\n * @part label - The label slot container.\n * @part panel - The select panel container\n * @part prefix - The prefix slot container.\n * @part suffix - The suffix slot container.\n * @part tags - The tags container of the BqTags for multiple selection.\n * @part tag - The tag container of the BqTag for multiple selection.\n * @part tag__base - The base wrapper of the BqTag for multiple selection.\n * @part tag__prefix - The prefix slot container of the BqTag for multiple selection.\n * @part tag__text - The text slot container of the BqTag for multiple selection.\n * @part tag__btn-close - The close button of the BqTag for multiple selection.\n * @part option-list - The option list container.\n */\n@Component({\n tag: 'bq-select',\n styleUrl: './scss/bq-select.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqSelect {\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 debounceQuery: TDebounce<void>;\n\n private fallbackInputId = 'select';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSelectElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() displayValue?: string;\n @State() hasHelperText = false;\n @State() selectedOptions: HTMLBqOptionElement[] = [];\n\n @State() hasLabel = false;\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() hasValue = false;\n\n // Public Property API\n // ========================\n\n /** If true, the Select input will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean;\n\n /** The clear button aria label */\n @Prop({ reflect: true }) clearButtonLabel? = 'Clear value';\n\n /**\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 Select input is disabled or not.\n * If `true`, the Select 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 /** Represents the distance (gutter or margin) between the Select panel and the input element. */\n @Prop({ reflect: true }) distance?: number = 8;\n\n /** The ID of the form that the Select input belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** If true, the Select panel will remain open after a selection is made. */\n @Prop({ reflect: true }) keepOpenOnSelect?: boolean = false;\n\n /** The Select input name. */\n @Prop({ reflect: true }) name!: string;\n\n /** The maximum number of tags to display when multiple selection is enabled */\n @Prop({ mutable: true }) maxTagsVisible: number = 2;\n\n /** If true, the Select input will allow multiple selections. */\n @Prop({ reflect: true }) multiple?: boolean = false;\n\n /** If true, the Select panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the Select panel. */\n @Prop({ reflect: true }) panelHeight?: string;\n\n /** The Select input placeholder text value */\n @Prop({ reflect: true }) placeholder?: string;\n\n /** Position of the Select panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom';\n\n /** If true, the list of options cannot be filtered (searching won't be available) */\n @Prop({ reflect: true }) readonly?: boolean;\n\n /** Indicates whether or not the Select input is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean;\n\n /** Whether the panel should have the Select same width as the input element */\n @Prop({ reflect: true }) sameWidth?: boolean = true;\n\n /** Represents the skidding between the Select panel and the input element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Defines the strategy to position the Select panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n /**\n * The validation status of the Select input.\n *\n * @remarks\n * This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The input has a validation error.\n * - `'warning'`: The input has a validation warning.\n * - `'success'`: The input has passed validation.\n */\n @Prop({ reflect: true }) validationStatus: TInputValidation = 'none';\n\n /** The select input value, it can be used to reset the field to a previous value */\n @Prop({ reflect: true, mutable: true }) value: TSelectValue;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (this.multiple && isString(this.value)) {\n // NOTE: we ensure that value is an array, changing the value will trigger Watch to execute thus the return\n this.value = Array.from(JSON.parse(String(this.value)));\n this.internals.setFormValue(this.value.join(','));\n return;\n }\n\n this.syncItemsFromValue();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the Select input loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the Select input has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqSelectElement>;\n\n /** Callback handler emitted when the selected value has changed */\n @Event() bqSelect!: EventEmitter<{ value: string | number | string[]; item: HTMLBqOptionElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.initMultipleValue();\n }\n\n componentWillLoad() {\n this.initMultipleValue();\n }\n\n componentDidLoad() {\n if (this.multiple && Array.isArray(this.value)) {\n this.selectedOptions = this.options.filter((item) => this.value.includes(item.value));\n }\n\n this.handleValueChange();\n }\n\n formAssociatedCallback() {\n this.internals.role = 'combobox';\n this.internals.ariaExpanded = this.open ? 'true' : 'false';\n }\n\n async formResetCallback() {\n if (isNil(this.value)) return;\n\n this.internals.setValidity({});\n this.clear();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqOpen', { capture: true })\n handleOpenChange(ev: CustomEvent<{ open: boolean }>) {\n if (!ev.composedPath().includes(this.el)) return;\n\n this.open = ev.detail.open;\n }\n\n @Listen('bqFocus', { capture: true })\n @Listen('bqBlur', { capture: true })\n stopOptionFocusBlurPropagation(ev: CustomEvent) {\n // Stop propagation of focus and blur events coming from the `bq-option` elements\n if (isHTMLElement(ev.target, 'bq-select')) return;\n\n ev.stopPropagation();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /**\n * Clears the selected value.\n *\n * @return {Promise<void>}\n * @memberof BqSelect\n */\n @Method()\n async clear(): Promise<void> {\n if (this.disabled) return;\n\n const { multiple, inputElem, bqClear, el } = this;\n\n // Clear value and selected options\n this.value = undefined;\n this.selectedOptions = [];\n\n // Clear display value and input element if not multiple\n if (!multiple) {\n this.displayValue = undefined;\n inputElem.value = undefined;\n }\n\n // Update form value and reset options visibility\n this.resetOptionsVisibility();\n\n // Emit clear event\n bqClear.emit(el);\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private initMultipleValue = () => {\n if (!this.multiple) return;\n\n this.value = Array.isArray(this.value) ? this.value : Array.from(JSON.parse(String(this.value)));\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 handleSelect = (ev: CustomEvent<{ value: TSelectValue; item: HTMLBqOptionElement }>) => {\n if (this.disabled) return;\n\n if (this.multiple) {\n ev.stopPropagation();\n }\n\n const { value, item } = ev.detail;\n\n if (this.multiple) {\n this.handleMultipleSelection(item);\n // Clear the input value after selecting an item\n this.inputElem.value = '';\n // If multiple selection is enabled, emit the selected items array instead of relying on\n // the option list to emit the value of the selected item\n this.bqSelect.emit({ value: this.value, item });\n } else {\n this.value = value;\n }\n\n this.resetOptionsVisibility();\n this.inputElem.focus();\n };\n\n private handleMultipleSelection = (item: HTMLBqOptionElement) => {\n // Set has O(1) complexity for insertion, deletion, and search operations, compared to an Array's O(n)\n const selectedOptionsSet = new Set(this.selectedOptions);\n\n if (selectedOptionsSet.has(item)) {\n selectedOptionsSet.delete(item);\n } else {\n selectedOptionsSet.add(item);\n }\n\n this.selectedOptions = Array.from(selectedOptionsSet);\n this.value = this.selectedOptions.map((item) => item.value);\n };\n\n private handleSearchFilter = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceQuery?.cancel();\n\n const query = (ev.target as HTMLInputElement).value?.toLowerCase().trim();\n\n if (!isDefined(query)) {\n this.clear();\n } else {\n this.debounceQuery = debounce(() => {\n this.options.forEach((item: HTMLBqOptionElement) => {\n const itemLabel = this.getOptionLabel(item).toLowerCase();\n item.hidden = !itemLabel.includes(query);\n });\n }, this.debounceTime);\n\n this.debounceQuery();\n }\n\n // The panel will close once a selection is made\n // so we need to make sure it's open when the user is typing and the query is not empty\n this.open = true;\n };\n\n private handleClearClick = (ev: CustomEvent) => {\n (async () => {\n await this.clear();\n })();\n this.inputElem.focus();\n\n ev.stopPropagation();\n };\n\n private handleTagRemove = (item: HTMLBqOptionElement) => {\n if (this.disabled) return;\n\n this.handleMultipleSelection(item);\n this.bqSelect.emit({ value: this.value, item });\n };\n\n private handleLabelSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem);\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem);\n };\n\n private handleHelperTextSlotChange = () => {\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private resetOptionsVisibility = () => {\n this.options.forEach((item: HTMLBqOptionElement) => (item.hidden = false));\n };\n\n private syncItemsFromValue = () => {\n const { internals, options, value } = this;\n if (!options.length) return;\n\n // Sync selected state of the BqOption elements\n this.syncSelectedOptionsState();\n\n if (this.multiple) {\n // Sync selected options for multiple selection mode\n this.selectedOptions = options.filter((option) => this.value?.includes(option.value));\n } else {\n // Sync display label for single selection mode\n this.updateDisplayLabel();\n }\n\n internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n /**\n * Syncs the selected state of the BqOption elements which value is included in the `value` property.\n * Notice that value can be a string or an array of strings.\n *\n * @private\n * @memberof BqSelect\n */\n private syncSelectedOptionsState = () => {\n const { options, multiple, value } = this;\n const lowerCaseValue = String(value).toLowerCase();\n\n options.forEach((option: HTMLBqOptionElement) => {\n if (multiple && Array.isArray(value)) {\n option.selected = value.includes(option.value);\n } else {\n option.selected = option.value.toLowerCase() === lowerCaseValue;\n }\n });\n };\n\n /**\n * Updates the display value of the input element based on the selected option.\n *\n * @private\n * @memberof BqSelect\n */\n private updateDisplayLabel = () => {\n const { value, options, inputElem } = this;\n\n const checkedItem = options.find((item) => item.value === value);\n const displayValue = checkedItem ? this.getOptionLabel(checkedItem) : '';\n\n inputElem.value = displayValue;\n this.displayValue = displayValue;\n };\n\n private getOptionLabel = (item: HTMLBqOptionElement) => {\n if (!item) return;\n return item.innerText.trim() ?? '';\n };\n\n private get options() {\n return Array.from(this.el.querySelectorAll('bq-option'));\n }\n\n private get displayPlaceholder() {\n // Hide the placeholder when multiple selection is enabled and there are selected items\n return this.multiple && this.selectedOptions.length !== 0 ? undefined : this.placeholder;\n }\n\n private get displayTags() {\n return this.selectedOptions.map((item, index) => {\n if (index < this.maxTagsVisible || this.maxTagsVisible < 0) {\n return (\n <bq-tag\n key={item.value}\n removable\n size=\"xsmall\"\n variant=\"filled\"\n onBqClose={(event) => {\n // NOTE: prevents triggering bqClose on parent\n event.stopPropagation();\n this.handleTagRemove(item);\n }}\n // Prevent the tag from closing the panel when clicked\n onClick={(ev: MouseEvent) => ev.stopPropagation()}\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n {this.getOptionLabel(item)}\n </bq-tag>\n );\n } else if (index === this.maxTagsVisible) {\n return (\n <bq-tag\n key=\"more\"\n size=\"xsmall\"\n variant=\"filled\"\n exportparts=\"wrapper:tag__base,prefix:tag__prefix,text:tag__text,btn-close:tag__btn-close\"\n part=\"tag\"\n >\n +{this.selectedOptions.length - index}\n </bq-tag>\n );\n }\n\n return null;\n });\n }\n\n private get hasClearIcon() {\n if (this.disableClear || this.disabled) {\n return false;\n }\n\n if (this.multiple) {\n return this.selectedOptions.length > 0;\n }\n\n return isDefined(this.displayValue);\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;\n\n return (\n <div class=\"bq-select\" part=\"base\">\n {/* Label */}\n <label\n id={labelId}\n class={{ 'bq-select__label': true, '!hidden': !this.hasLabel }}\n aria-label={this.name || this.fallbackInputId}\n htmlFor={this.name || this.fallbackInputId}\n ref={(labelElem: HTMLSpanElement) => (this.labelElem = labelElem)}\n part=\"label\"\n >\n <slot name=\"label\" onSlotchange={this.handleLabelSlotChange} />\n </label>\n {/* Select dropdown */}\n <bq-dropdown\n class=\"bq-select__dropdown w-full\"\n disabled={this.disabled}\n distance={this.distance}\n keepOpenOnSelect={this.keepOpenOnSelect}\n open={this.open}\n panelHeight={this.panelHeight}\n placement={this.placement}\n sameWidth={this.sameWidth}\n skidding={this.skidding}\n strategy={this.strategy}\n exportparts=\"panel\"\n >\n {/* Input control group */}\n <div\n class={{\n 'bq-select__control': true,\n [`validation-${this.validationStatus}`]: true,\n disabled: this.disabled,\n }}\n part=\"control\"\n slot=\"trigger\"\n >\n {/* Prefix */}\n <span\n class={{ 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem: HTMLSpanElement) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </span>\n <div class=\"flex flex-1 overflow-x-auto\" part=\"input-outline\">\n {/* Display selected values using BqTags for multiple selection */}\n {this.multiple && (\n <span class=\"bq-select__tags\" part=\"tags\">\n <slot name=\"tags\">{this.displayTags}</slot>\n </span>\n )}\n {/* HTML Input */}\n <input\n id={this.name || this.fallbackInputId}\n class=\"bq-select__control--input flex-grow is-full\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`bq-options-${this.name}`}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n disabled={this.disabled}\n form={this.form}\n name={this.name}\n placeholder={this.displayPlaceholder}\n ref={(inputElem: HTMLInputElement) => (this.inputElem = inputElem)}\n readOnly={this.readonly}\n required={this.required}\n role=\"combobox\"\n spellcheck={false}\n type=\"text\"\n value={this.displayValue}\n part=\"input\"\n // Events\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInput={this.handleSearchFilter}\n />\n </div>\n {/* Clear Button */}\n {this.hasClearIcon && (\n // The clear button will be visible as long as the input has a value\n // and the parent group is hovered or has focus-within\n <bq-button\n class=\"bq-select__control--clear ms-[--bq-select--gap]\"\n appearance=\"text\"\n aria-label={this.clearButtonLabel}\n size=\"small\"\n onBqClick={this.handleClearClick}\n part=\"clear-btn\"\n exportparts=\"button\"\n tabIndex={-1}\n >\n <slot name=\"clear-icon\">\n <bq-icon name=\"x-circle\" class=\"flex\" />\n </slot>\n </bq-button>\n )}\n {/* Suffix */}\n <span\n class={{ 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }}\n ref={(spanElem: HTMLSpanElement) => (this.suffixElem = spanElem)}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange}>\n <bq-icon name=\"caret-down\" class=\"flex\" />\n </slot>\n </span>\n </div>\n <bq-option-list\n id={`bq-options-${this.name}`}\n onBqSelect={this.handleSelect}\n aria-expanded={this.open ? 'true' : 'false'}\n exportparts=\"base:option-list\"\n role=\"listbox\"\n >\n <slot />\n </bq-option-list>\n </bq-dropdown>\n {/* Helper text */}\n <div\n class={{\n [`bq-select__helper-text validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText,\n }}\n ref={(divElem: HTMLDivElement) => (this.helperTextElem = divElem)}\n part=\"helper-text\"\n >\n <slot name=\"helper-text\" onSlotchange={this.handleHelperTextSlotChange} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ACCORDION_SIZE","ACCORDION_APPEARANCE","Accordion","el","header","panel","animation","isClosing","isExpanding","animationOptions","duration","easing","constructor","this","querySelector","open","style","height","offsetHeight","window","requestAnimationFrame","expand","close","startHeight","endHeight","cancel","animate","onfinish","onAnimationFinish","oncancel","removeAttribute","endEvent","Event","bubbles","composed","dispatchEvent","bqAccordionCss","BqAccordionStyle0","BqAccordion","accordion","prefixElem","suffixElem","detailsElem","checkPropValues","validatePropValue","handleExpandedChange","event","expanded","bqOpen","emit","bqClose","defaultPrevented","isCssCalcSizeSupported","setTimeout","CustomEvent","handleDisabledChange","disabled","handleJsAnimation","console","warn","noAnimation","bqBlur","bqFocus","bqAfterOpen","bqAfterClose","bqClick","componentWillLoad","componentDidLoad","onAccordionTransitionEnd","stopPropagation","target","handleClick","preventDefault","handleFocus","handleBlur","handlePrefixSlotChange","hasPrefix","hasSlotContent","handleSuffixSlotChange","hasSuffix","CSS","supports","render","h","key","class","size","appearance","ref","part","id","onClick","onFocus","onBlur","tabindex","role","element","name","onSlotchange","rotate"],"sources":["../../packages/beeq/src/components/accordion/bq-accordion.types.ts","../../packages/beeq/src/components/accordion/helper/index.ts","../../packages/beeq/src/components/accordion/scss/bq-accordion.scss?tag=bq-accordion&encapsulation=shadow","../../packages/beeq/src/components/accordion/bq-accordion.tsx"],"sourcesContent":["export const ACCORDION_SIZE = ['small', 'medium'] as const;\nexport type TAccordionSize = (typeof ACCORDION_SIZE)[number];\n\nexport const ACCORDION_APPEARANCE = ['filled', 'ghost'] as const;\nexport type TAccordionAppearance = (typeof ACCORDION_APPEARANCE)[number];\n","/* -------------------------------------------------------------------------------------- */\n/* 💡 Credits: https://css-tricks.com/how-to-animate-the-details-element-using-waapi */\n/* -------------------------------------------------------------------------------------- */\n\nexport class Accordion {\n private el: HTMLDetailsElement;\n private header: HTMLElement;\n private panel: HTMLElement;\n private animation: Animation | null;\n private isClosing: boolean;\n private isExpanding: boolean;\n private animationOptions = {\n duration: 200,\n easing: 'ease-in-out',\n };\n\n constructor(el: HTMLDetailsElement) {\n // Store the <details> element\n this.el = el;\n // Store the <summary> header element\n this.header = el.querySelector('summary');\n // Store the <div class=\"content\"> element\n this.panel = el.querySelector('.bq-accordion__body');\n // Store the animation object (so we can cancel it, if needed)\n this.animation = null;\n // Store if the element is closing\n this.isClosing = false;\n // Store if the element is expanding\n this.isExpanding = false;\n }\n\n public open() {\n // Check if the element is being closed or is already closed\n if (!this.isClosing && this.el.open) return;\n // Apply a fixed height on the element\n this.el.style.height = `${this.el.offsetHeight}px`;\n // Force the [open] attribute on the details element\n this.el.open = true;\n // Wait for the next frame to call the expand function\n window.requestAnimationFrame(() => this.expand());\n }\n\n public close() {\n // Check if the element is being opened or is already open\n if (!this.isExpanding && !this.el.open) return;\n // Set the element as \"being closed\"\n this.isClosing = true;\n\n // Store the current height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the height of the <summary> header\n const endHeight = `${this.header.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(false);\n // If the animation is cancelled, isClosing variable is set to false\n this.animation.oncancel = () => (this.isClosing = false);\n }\n\n // Expands the accordion\n private expand() {\n // Set the element as \"being expanding\"\n this.isExpanding = true;\n // Get the current fixed height of the element\n const startHeight = `${this.el.offsetHeight}px`;\n // Calculate the open height of the element (summary header height + panel body height)\n const endHeight = `${this.header.offsetHeight + this.panel.offsetHeight}px`;\n\n // If there is already an animation running\n if (this.animation) {\n // Cancel the current animation\n this.animation.cancel();\n }\n\n // Start a WAAPI animation\n this.animation = this.el.animate({ height: [startHeight, endHeight] }, this.animationOptions);\n // When the animation is complete, call onAnimationFinish()\n this.animation.onfinish = () => this.onAnimationFinish(true);\n // If the animation is cancelled, isExpanding variable is set to false\n this.animation.oncancel = () => (this.isExpanding = false);\n }\n\n // Handles the end of the animation\n private onAnimationFinish(open: boolean) {\n // Set the open attribute based on the parameter\n this.el.open = open;\n // Clear the stored animation\n this.animation = null;\n // Reset isClosing & isExpanding\n this.isClosing = false;\n this.isExpanding = false;\n // Remove the overflow hidden and the fixed height\n this.el.removeAttribute('style');\n // Dispatch a custom event based on the open parameter\n const endEvent = new Event('accordionTransitionEnd', { bubbles: false, composed: true });\n this.el.dispatchEvent(endEvent);\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Accordion styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-accordion.variables';\n\n:host {\n @apply block;\n}\n\n.bq-accordion {\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n\n .bq-accordion__header {\n @apply pointer-events-none;\n }\n }\n\n &.small .bq-accordion__header {\n @apply gap-[--bq-accordion--small-gap] pe-[--bq-accordion--small-padding-end] ps-[--bq-accordion--small-padding-start] p-b-[--bq-accordion--small-padding-y];\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[--bq-accordion--small-radius] rounded-ss-[--bq-accordion--small-radius];\n }\n\n &.medium .bq-accordion__header {\n @apply gap-[--bq-accordion--medium-gap] pe-[--bq-accordion--medium-padding-end] ps-[--bq-accordion--medium-padding-start] p-b-[--bq-accordion--medium-padding-y];\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[--bq-accordion--medium-radius] rounded-ss-[--bq-accordion--medium-radius];\n }\n\n &[open] .bq-accordion__header {\n @apply border-[length:--bq-accordion--expanded-border-width] border-[color:--bq-accordion--expanded-border-color];\n @apply rounded-ee-[0px] rounded-es-[0px];\n\n border-style: var(--bq-accordion--expanded-border-style);\n }\n\n &.small .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--small-radius] rounded-es-[--bq-accordion--small-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.medium .bq-accordion__content {\n @apply rounded-ee-[--bq-accordion--medium-radius] rounded-es-[--bq-accordion--medium-radius] rounded-se-[0px] rounded-ss-[0px];\n }\n\n &.filled {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-filled-border-width] border-[color:--bq-accordion--panel-filled-border-color];\n\n border-style: var(--bq-accordion--panel-filled-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--filled-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--filled-expanded-text-color];\n }\n }\n\n &.ghost {\n .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-collapsed-background] hover:bg-hover-ui-secondary;\n }\n\n .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-collapsed-text-color];\n }\n\n .bq-accordion__content {\n @apply border-[length:--bq-accordion--panel-ghost-border-width] border-[color:--bq-accordion--panel-ghost-border-color];\n\n border-style: var(--bq-accordion--panel-ghost-border-style);\n }\n\n &[open] .bq-accordion__header {\n @apply bg-[--bq-accordion--ghost-expanded-background] hover:bg-hover-ui-secondary;\n }\n\n &[open] .bq-accordion__header--text {\n @apply text-[--bq-accordion--ghost-expanded-text-color];\n }\n }\n\n &.small.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-filled-padding-end] ps-[--bq-accordion--panel-small-filled-padding-start] p-b-[--bq-accordion--panel-small-filled-padding-y];\n }\n\n &.medium.filled .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-filled-padding-end] ps-[--bq-accordion--panel-medium-filled-padding-start] p-b-[--bq-accordion--panel-medium-filled-padding-y];\n }\n\n &.small.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-small-ghost-padding-end] ps-[--bq-accordion--panel-small-ghost-padding-start] p-b-[--bq-accordion--panel-small-ghost-padding-y];\n }\n\n &.medium.ghost .bq-accordion__content {\n @apply pe-[--bq-accordion--panel-medium-ghost-padding-end] ps-[--bq-accordion--panel-medium-ghost-padding-start] p-b-[--bq-accordion--panel-medium-ghost-padding-y];\n }\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion::details-content {\n @apply block overflow-hidden transition-[block-size,content-visibility] duration-300 ease-in-out bs-0 [transition-behavior:allow-discrete];\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]::details-content {\n /* block-size: auto is just a fallback for browsers that don't support the calc-size() function */\n @apply bs-auto;\n}\n\n/* stylelint-disable-next-line selector-pseudo-element-no-unknown */\n.bq-accordion[open]:not(.no-animation)::details-content {\n @apply supports-[block-size:calc-size(auto)]:bs-[calc-size(auto)];\n}\n\n.bq-accordion__header {\n // Since there's an overflow on the <summary> element, the focus outline is not visible,\n // so we force it to be inset to avoid the overflow hidden.\n --bq-ring-offset-width: -2px;\n\n @apply flex cursor-pointer select-none list-none items-center transition-colors duration-300 ease-in-out focus-visible:focus;\n @apply border-[length:--bq-accordion--collapsed-border-width] border-[color:--bq-accordion--collapsed-border-color];\n\n border-style: var(--bq-accordion--collapsed-border-style);\n\n &::marker,\n &::-webkit-details-marker {\n @apply hidden;\n }\n}\n\n.bq-accordion__header--text {\n @apply flex-1;\n}\n\n.bq-accordion__header--prefix,\n.bq-accordion__header--suffix {\n @apply flex items-center justify-center;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { ACCORDION_APPEARANCE, ACCORDION_SIZE, TAccordionAppearance, TAccordionSize } from './bq-accordion.types';\nimport { Accordion } from './helper';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The `<details>` that holds the accordion content\n * @part header - The `<summary>` that holds the accordion header content\n * @part prefix - The `<div>` that holds the accordion text prefix icon / avatar\n * @part text - The `<div>` that holds the accordion header text\n * @part suffix - The `<div>` that holds the accordion text suffix icon\n * @part panel - The `<div>` that holds the accordion panel content\n */\n@Component({\n tag: 'bq-accordion',\n styleUrl: './scss/bq-accordion.scss',\n shadow: true,\n})\nexport class BqAccordion {\n // Own Properties\n // ====================\n\n private accordion: Accordion;\n private prefixElem: HTMLDivElement;\n private suffixElem: HTMLDivElement;\n private detailsElem: HTMLDetailsElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqAccordionElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style of accordion */\n @Prop({ reflect: true, mutable: true }) appearance: TAccordionAppearance = 'filled';\n\n /** If true accordion is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If true accordion is expanded */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\n * If true, the accordion animation, will be disabled. No animation will be applied.\n */\n @Prop({ reflect: true }) noAnimation: boolean = false;\n\n /** If true accordion expand icon is rotate 180deg when expanded */\n @Prop({ reflect: true }) rotate: boolean = false;\n\n /** The size of accordion */\n @Prop({ reflect: true, mutable: true }) size: TAccordionSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(ACCORDION_SIZE, 'medium', this.el, 'size');\n validatePropValue(ACCORDION_APPEARANCE, 'filled', this.el, 'appearance');\n }\n\n @Watch('expanded')\n handleExpandedChange() {\n const event = this.expanded ? this.bqOpen.emit(this.el) : this.bqClose.emit(this.el);\n if (event.defaultPrevented) {\n this.expanded = !this.expanded;\n return;\n }\n\n if (this.expanded) {\n this.accordion?.open();\n } else {\n this.accordion?.close();\n }\n if (!this.isCssCalcSizeSupported) return;\n\n // NOTE: This is a workaround to trigger the transitionEnd event\n // when the open/close animation is handled via CSS instead of JS\n setTimeout(() => {\n this.el.dispatchEvent(new CustomEvent('accordionTransitionEnd', { bubbles: false, composed: true }));\n }, 200);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.disabled) return;\n\n this.expanded = false;\n }\n\n @Watch('noAnimation')\n handleJsAnimation() {\n if (this.isCssCalcSizeSupported) return;\n\n console.warn(\n `[bq-accordion] calc-size() is not supported and animation will be set through JS\n For vertical layout, consider using the 'noAnimation' prop ('no-animation' attribute) to disable it`,\n );\n this.accordion = !this.noAnimation ? new Accordion(this.detailsElem) : null;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the accordion loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is opened */\n @Event() bqOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is opened */\n @Event() bqAfterOpen: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called when the accordion is closed */\n @Event() bqClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** Handler to be called after the accordion is closed */\n @Event() bqAfterClose: EventEmitter<HTMLBqAccordionElement>;\n\n /** @internal Handler to be called when the accordion is clicked */\n @Event() bqClick: EventEmitter<HTMLBqAccordionElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleJsAnimation();\n this.handleExpandedChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('accordionTransitionEnd')\n onAccordionTransitionEnd(event: CustomEvent) {\n event.stopPropagation();\n if (event.target !== this.el) return;\n\n if (this.expanded) {\n this.bqAfterOpen.emit(this.el);\n return;\n }\n\n this.bqAfterClose.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 handleClick = (event: MouseEvent) => {\n event.preventDefault();\n\n if (this.disabled) return;\n\n this.bqClick.emit(this.el);\n this.expanded = !this.expanded;\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handlePrefixSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private handleSuffixSlotChange = () => {\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private get open() {\n return this.expanded && !this.disabled;\n }\n\n private get isCssCalcSizeSupported() {\n return window.CSS?.supports('(block-size: calc-size(auto))');\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <details\n class={{\n [`bq-accordion overflow-hidden ${this.size} ${this.appearance}`]: true,\n 'no-animation': this.noAnimation,\n disabled: this.disabled,\n }}\n ref={(detailsElem: HTMLDetailsElement) => (this.detailsElem = detailsElem)}\n open={this.open}\n part=\"base\"\n >\n <summary\n id=\"bq-accordion__header\"\n class=\"bq-accordion__header\"\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-expanded={this.expanded ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls=\"bq-accordion__content\"\n tabindex={this.disabled ? -1 : 0}\n role=\"button\"\n part=\"header\"\n >\n <div\n ref={(element) => (this.prefixElem = element)}\n class={{ 'bq-accordion__header--prefix': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handlePrefixSlotChange} />\n </div>\n <div class=\"bq-accordion__header--text\" part=\"text\">\n <slot name=\"header\" />\n </div>\n <div\n ref={(element) => (this.suffixElem = element)}\n class={{ 'bq-accordion__header--suffix': true, '!hidden': !this.hasSuffix }}\n part=\"suffix\"\n >\n <slot name=\"suffix\" onSlotchange={this.handleSuffixSlotChange} />\n </div>\n <div\n class={{\n 'flex items-center justify-center transition-transform duration-300 ease-in-out': true,\n '!hidden': this.open && !this.rotate,\n 'rotate-180': this.rotate && this.open,\n }}\n aria-hidden=\"true\"\n >\n <slot name=\"expand\">\n <bq-icon name=\"plus\" />\n </slot>\n </div>\n <div\n class={{ 'flex items-center justify-center': true, '!hidden': (!this.open && !this.rotate) || this.rotate }}\n aria-hidden=\"true\"\n >\n <slot name=\"collapse\">\n <bq-icon name=\"minus\" />\n </slot>\n </div>\n </summary>\n <div\n class=\"bq-accordion__body overflow-hidden\"\n aria-labelledby=\"bq-accordion__header\"\n role=\"region\"\n part=\"panel\"\n >\n <slot id=\"bq-accordion__content\" class=\"bq-accordion__content block\" />\n </div>\n </details>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["SPINNER_TEXT_POSITION","SPINNER_SIZE","bqSpinnerCss","BqSpinnerStyle0","BqSpinner","iconSlotElem","slotElem","observer","MutationObserver","mutations","mutation","this","slotContentLength","target","textContent","length","handleTextPositionProp","validatePropValue","el","handleSizeProp","setIconSize","handleHasIconSlot","componentWillLoad","checkPropValues","componentDidLoad","disconnectedCallback","disconnect","handleSlotChange","hasSlot","hasSlotContent","slot","querySelector","isNil","getTextContent","recurse","nodes","assignedNodes","flatten","forEach","node","observe","characterData","childList","subtree","handleIconSlotChange","hasIconSlot","isTextDisplayed","textPosition","bqIcon","size","parseInt","getCSSVariableValue","toString","assignedElements","filter","isHTMLElement","render","h","key","class","animation","part","role","fill","viewBox","d","opacity","flex","ref","spanElem","name","onSlotchange"],"sources":["../../packages/beeq/src/components/spinner/bq-spinner.types.ts","../../packages/beeq/src/components/spinner/scss/bq-spinner.scss?tag=bq-spinner&encapsulation=shadow","../../packages/beeq/src/components/spinner/bq-spinner.tsx"],"sourcesContent":["export const SPINNER_TEXT_POSITION = ['none', 'left', 'right', 'above', 'bellow'] as const;\nexport const SPINNER_SIZE = ['small', 'medium', 'large'] as const;\nexport type TSpinnerTextPosition = (typeof SPINNER_TEXT_POSITION)[number];\nexport type TSpinnerSize = (typeof SPINNER_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Spinner styles */\n/* -------------------------------------------------------------------------- */\n@import './bq-spinner.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n.bq-spinner {\n @apply flex;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner loader size */\n/* -------------------------------------------------------------------------- */\n\n.bq-spinner--loader.large {\n @apply bs-[--bq-spinner--size-large] is-[--bq-spinner--size-large];\n}\n\n.bq-spinner--loader.medium {\n @apply bs-[--bq-spinner--size-medium] is-[--bq-spinner--size-medium];\n}\n\n.bq-spinner--loader.small {\n @apply bs-[--bq-spinner--size-small] is-[--bq-spinner--size-small];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Text position */\n/* -------------------------------------------------------------------------- */\n\n.text-left,\n.text-right {\n @apply flex-row items-center;\n\n &.has-text {\n @apply gap-x-m;\n }\n}\n\n.text-left {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-right {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n.text-above,\n.text-bellow {\n @apply flex-col items-center;\n\n &.has-text {\n @apply gap-y-m;\n }\n}\n\n.text-above {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-2;\n }\n\n .bq-spinner--text {\n @apply order-1;\n }\n}\n\n.text-bellow {\n .bq-spinner--loader,\n .bq-spinner--icon {\n @apply order-1;\n }\n\n .bq-spinner--text {\n @apply order-2;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* Animate slotted icon if provided */\n/* -------------------------------------------------------------------------- */\n\n.is-animated {\n .bq-spinner--icon,\n .bq-spinner--loader > svg {\n @include animation-spin;\n }\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\n\nimport { SPINNER_SIZE, SPINNER_TEXT_POSITION, TSpinnerSize, TSpinnerTextPosition } from './bq-spinner.types';\nimport {\n getCSSVariableValue,\n getTextContent,\n hasSlotContent,\n isHTMLElement,\n isNil,\n validatePropValue,\n} from '../../shared/utils';\n\n/**\n * Spinners are designed for users to display data loading.\n *\n * @part base - The div wrapper container used under the hood.\n * @part icon - The `<svg>` icon element used to spin/animate.\n * @part custom-icon - The `<span>` tag element that holds the custom icon element passed.\n * @part text - The `<span>` tag element that renders the label text inside the component.\n */\n@Component({\n tag: 'bq-spinner',\n styleUrl: './scss/bq-spinner.scss',\n shadow: true,\n})\nexport class BqSpinner {\n // Own Properties\n // ====================\n\n private iconSlotElem: HTMLElement;\n private slotElem: HTMLElement;\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.slotContentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqSpinnerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasIconSlot = false;\n @State() private hasSlot = false;\n @State() private slotContentLength = 0;\n\n // Public Property API\n // ========================\n\n /** If `false`, the animation on the icon element will be stopped */\n @Prop({ reflect: true }) animation? = true;\n\n /** It defines the position of the label text */\n @Prop({ reflect: true }) textPosition: TSpinnerTextPosition = 'none';\n\n /** It defines the size of the icon element displayed */\n @Prop({ reflect: true }) size: TSpinnerSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('textPosition')\n handleTextPositionProp() {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n }\n\n @Watch('size')\n handleSizeProp() {\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n this.setIconSize();\n }\n\n @Watch('hasIconSlot')\n handleHasIconSlot() {\n this.setIconSize();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.setIconSize();\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n if (!this.slotElem) return;\n\n this.hasSlot = hasSlotContent(this.slotElem);\n if (!this.hasSlot) return;\n\n const slot = this.slotElem.querySelector('slot') ?? null;\n if (isNil(slot)) return;\n\n this.slotContentLength = getTextContent(slot, { recurse: true }).length;\n const nodes = slot.assignedNodes({ flatten: true });\n nodes.forEach((node) => {\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n });\n };\n\n private handleIconSlotChange = (): void => {\n this.hasIconSlot = hasSlotContent(this.iconSlotElem, 'icon');\n };\n\n private checkPropValues = (): void => {\n validatePropValue(SPINNER_TEXT_POSITION, 'none', this.el, 'textPosition');\n validatePropValue(SPINNER_SIZE, 'medium', this.el, 'size');\n };\n\n private get isTextDisplayed(): boolean {\n return this.textPosition !== 'none';\n }\n\n private setIconSize(): void {\n if (!this.hasIconSlot || !this.bqIcon) return;\n\n this.bqIcon.size = parseInt(getCSSVariableValue(`bq-spinner--size-${this.size}`, this.el)).toString();\n }\n\n private get bqIcon(): HTMLBqIconElement | null {\n if (!this.hasIconSlot) return null;\n\n const slot = this.iconSlotElem.querySelector('slot');\n\n return [...slot.assignedElements({ flatten: true })].filter((el: Element) =>\n isHTMLElement(el, 'bq-icon'),\n )[0] as HTMLBqIconElement;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div\n class={{\n [`bq-spinner ${this.size} text-${this.textPosition}`]: true,\n 'is-animated': this.animation,\n 'has-text': !!this.slotContentLength,\n }}\n part=\"base\"\n >\n {!this.hasIconSlot && (\n <div\n class={`bq-spinner--loader ${this.size} relative text-[--bq-spinner--color]`}\n aria-label=\"Loading...\"\n role=\"status\"\n >\n <svg class=\"bs-full is-full\" fill=\"currentColor\" viewBox=\"0 0 48 48\">\n <path\n fill=\"currentColor\"\n d=\"M10.27 7.637c-.937-1.117-.798-2.796.415-3.605a24 24 0 0 1 37.09 23.249c-.2 1.444-1.65 2.301-3.064 1.944-1.414-.356-2.25-1.793-2.096-3.242A18.72 18.72 0 0 0 14.102 8.11c-1.237.77-2.895.643-3.832-.474Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M48 24c0 13.255-10.745 24-24 24S0 37.255 0 24 10.745 0 24 0s24 10.745 24 24ZM5.28 24c0 10.339 8.381 18.72 18.72 18.72 10.339 0 18.72-8.381 18.72-18.72 0-10.339-8.381-18.72-18.72-18.72C13.661 5.28 5.28 13.661 5.28 24Z\"\n opacity=\".1\"\n />\n </svg>\n </div>\n )}\n <span\n class={{\n 'bq-spinner--icon': true,\n flex: this.hasIconSlot,\n '!hidden': !this.hasIconSlot,\n }}\n ref={(spanElem) => (this.iconSlotElem = spanElem)}\n part=\"custom-icon\"\n >\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </span>\n <span\n class={{\n 'bq-spinner--text font-medium leading-regular text-primary': true,\n '!hidden': !this.isTextDisplayed,\n }}\n part=\"text\"\n ref={(spanElem) => (this.slotElem = spanElem)}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["DIALOG_SIZE","DIALOG_FOOTER_APPEARANCE","bqDialogCss","BqDialogStyle0","BqDialog","dialogElem","contentElem","footerElem","closeSlotElem","OPEN_CSS_CLASS","checkPropValues","validatePropValue","this","el","handleOpenChange","open","handleOpen","handleClose","bqCancel","bqClose","bqOpen","bqAfterOpen","bqAfterClose","componentWillLoad","componentDidLoad","shadowRoot","querySelector","addEventListener","hide","disconnectedCallback","removeEventListener","handleMouseClick","event","disableCloseClickOutside","button","rect","getBoundingClientRect","clientY","top","bottom","clientX","left","right","cancel","handleKeyDown","ev","isEscapeKey","key","disableCloseEscKeydown","preventDefault","show","emit","defaultPrevented","async","leave","close","handleTransitionEnd","classList","add","disableBackdrop","showModal","enter","remove","handleContentSlotChange","hasContent","hasSlotContent","handleFooterSlotChange","hasFooter","render","style","border","h","class","size","inert","undefined","ref","part","id","name","hideCloseButton","appearance","role","title","mainElem","onSlotchange","footerAppearance"],"sources":["../../packages/beeq/src/components/dialog/bq-dialog.types.ts","../../packages/beeq/src/components/dialog/scss/bq-dialog.scss?tag=bq-dialog&encapsulation=shadow","../../packages/beeq/src/components/dialog/bq-dialog.tsx"],"sourcesContent":["export const DIALOG_SIZE = ['small', 'medium', 'large'] as const;\nexport type TDialogSize = (typeof DIALOG_SIZE)[number];\n\nexport const DIALOG_FOOTER_APPEARANCE = ['standard', 'highlight'] as const;\nexport type TDialogFooterAppearance = (typeof DIALOG_FOOTER_APPEARANCE)[number];\n\nexport const DIALOG_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TDialogBorderRadius = (typeof DIALOG_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Dialog styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-dialog.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-dialog--open) {\n @apply visible #{!important};\n}\n\n/* --------------------------------- Dialog --------------------------------- */\n\n.bq-dialog {\n @apply absolute flex flex-col gap-[--bq-dialog--content-footer-gap] p-b-0 p-i-0;\n @apply bg-[--bq-dialog--background] text-[--bq-dialog--text-color] shadow-[shadow:--bq-dialog--box-shadow];\n @apply rounded-[--bq-dialog--border-radius] border-[length:--bq-dialog--border-width] border-[color:--bq-dialog--border-color];\n // If mobile resolution, dialog will be full width\n @apply is-[90vw];\n\n border-style: var(--bq-dialog--border-style);\n\n &.small {\n @apply sm:is-[--bq-dialog--width-small];\n }\n\n &.medium {\n @apply sm:is-[--bq-dialog--width-medium];\n }\n\n &.large {\n @apply sm:is-[--bq-dialog--width-large];\n }\n}\n\n/* ----------------------------- Dialog backdrop ---------------------------- */\n\n.bq-dialog::backdrop {\n @apply bg-[--bq-dialog--background-backdrop] opacity-0 transition-[opacity] duration-300 ease-in-out;\n}\n\n.bq-dialog[open]::backdrop {\n @apply opacity-60;\n}\n\n/* ------------------------------ Dialog header ----------------------------- */\n\n.bq-dialog--header {\n @apply sticky flex items-center gap-m inset-bs-0 p-b-[--bq-dialog--padding] p-be-0 p-i-[--bq-dialog--padding];\n}\n\n/* ------------------------------ Dialog footer ----------------------------- */\n\n.bq-dialog--footer {\n @apply sticky flex items-center justify-end gap-xs is-full inset-bs-[100%] p-b-[--bq-dialog--padding] p-bs-0 p-i-[--bq-dialog--padding];\n}\n\n/* --------------------------- Dialog close button -------------------------- */\n\n.bq-dialog--close {\n --bq-radius--m: theme(borderRadius.s);\n --bq-button--small-paddingX: theme(spacing.xs2);\n --bq-button--small-paddingY: theme(spacing.xs2);\n\n &::part(button) {\n @apply border-none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIALOG_FOOTER_APPEARANCE,\n DIALOG_SIZE,\n TDialogBorderRadius,\n TDialogFooterAppearance,\n TDialogSize,\n} from './bq-dialog.types';\nimport { enter, hasSlotContent, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * @part body - The `<main>` that holds the dialog body content\n * @part button-close - The button that close the dialog on click\n * @part content - The `<div>` container that holds the dialog title and body content\n * @part dialog - The `<dialog>` wrapper container inside the shadow DOM\n * @part footer - The `<footer>` that holds footer content\n * @part header - The `<header>` that holds the icon, title, description and close button\n * @part title - The `<div>` that holds the title content\n */\n\n@Component({\n tag: 'bq-dialog',\n styleUrl: './scss/bq-dialog.scss',\n shadow: true,\n})\nexport class BqDialog {\n // Own Properties\n // ====================\n\n private dialogElem: HTMLDialogElement;\n private contentElem: HTMLElement;\n private footerElem: HTMLElement;\n private closeSlotElem: HTMLElement;\n private OPEN_CSS_CLASS = 'bq-dialog--open';\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqDialogElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasContent = false;\n @State() private hasFooter = false;\n\n // Public Property API\n // ========================\n\n /** Corder radius of the dialog component */\n @Prop({ reflect: true }) border: TDialogBorderRadius = 'm';\n\n /** If true, the backdrop overlay won't be shown when the dialog opens */\n @Prop({ reflect: true }) disableBackdrop = false;\n\n /** If true, the dialog will not close when the [Esc] key is press */\n @Prop({ reflect: true }) disableCloseEscKeydown = false;\n\n /** If true, the dialog will not close when clicking on the backdrop overlay */\n @Prop({ reflect: true }) disableCloseClickOutside = false;\n\n /** The appearance of footer */\n @Prop({ reflect: true }) footerAppearance: TDialogFooterAppearance = 'standard';\n\n /** If true, it hides the close button */\n @Prop({ reflect: true }) hideCloseButton = false;\n\n /** If true, the dialog will be shown as open */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /** The size of the dialog */\n @Prop({ reflect: true, mutable: true }) size: TDialogSize = 'medium';\n\n // Prop lifecycle events\n // =======================\n @Watch('footerAppearance')\n @Watch('size')\n checkPropValues() {\n validatePropValue(DIALOG_SIZE, 'large', this.el, 'size');\n validatePropValue(DIALOG_FOOTER_APPEARANCE, 'standard', this.el, 'footerAppearance');\n }\n\n @Watch('open')\n async handleOpenChange() {\n if (this.open) {\n await this.handleOpen();\n return;\n }\n\n await this.handleClose();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the dialog has been canceled or dismissed */\n @Event() bqCancel!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will close */\n @Event() bqClose!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog will open */\n @Event() bqOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish opening */\n @Event() bqAfterOpen!: EventEmitter<void>;\n\n /** Callback handler emitted when the dialog finish closing */\n @Event() bqAfterClose!: EventEmitter<void>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleOpenChange();\n this.closeSlotElem = this.el.shadowRoot.querySelector('slot[name=\"button-close\"]');\n this.closeSlotElem?.addEventListener('click', () => this.hide());\n }\n\n disconnectedCallback() {\n this.closeSlotElem?.removeEventListener('click', () => this.hide());\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.dialogElem || this.disableCloseClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.dialogElem.getBoundingClientRect();\n if (\n event.clientY < rect.top ||\n event.clientY > rect.bottom ||\n event.clientX < rect.left ||\n event.clientX > rect.right\n ) {\n await this.cancel();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(ev: KeyboardEvent) {\n const isEscapeKey = ev.key === 'Escape' || ev.key === 'Esc';\n if (!this.open || !this.dialogElem || !isEscapeKey) return;\n\n if (this.disableCloseEscKeydown) {\n ev.preventDefault();\n return;\n }\n\n await this.cancel();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Open the dialog */\n @Method()\n async show() {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n /** Closes the dialog */\n @Method()\n async hide() {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Dismiss or cancel the dialog */\n @Method()\n async cancel() {\n const ev = this.bqCancel.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = async () => {\n if (!this.dialogElem) return;\n\n await leave(this.dialogElem);\n this.dialogElem.close();\n // Emit bqAfterClose event after the dialog is closed\n this.handleTransitionEnd();\n };\n\n private handleOpen = async () => {\n if (!this.dialogElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n // Show the dialog\n if (this.disableBackdrop) {\n this.dialogElem.show();\n } else {\n this.dialogElem.showModal();\n }\n await enter(this.dialogElem);\n // Emit bqAfterOpen event after the dialog is opened\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private handleContentSlotChange = () => {\n this.hasContent = hasSlotContent(this.contentElem);\n };\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.border && { '--bq-dialog--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <dialog\n style={style}\n class={{\n [`bq-dialog hidden ${this.size} m-auto focus-visible:outline-none`]: true,\n 'inset-be-[50%] inset-bs-[50%]': this.disableBackdrop,\n }}\n data-transition-enter=\"transition ease-in duration-300\"\n data-transition-enter-start=\"opacity-0 scale-90\"\n data-transition-enter-end=\"opacity-100 scale-100\"\n data-transition-leave=\"transition ease-out duration-300\"\n data-transition-leave-start=\"opacity-100 scale-100\"\n data-transition-leave-end=\"opacity-0 scale-90\"\n inert={this.open ? undefined : true}\n ref={(dialogElem) => (this.dialogElem = dialogElem)}\n aria-modal=\"true\"\n aria-labelledby=\"bq-dialog--title\"\n part=\"dialog\"\n >\n <main class=\"flex flex-col gap-[--bq-dialog--title-body-gap] overflow-hidden\" part=\"content\">\n <header class=\"bq-dialog--header\" part=\"header\">\n <div id=\"bq-dialog--title\" class=\"bq-dialog--title flex flex-1 items-center justify-between\" part=\"title\">\n <slot name=\"title\" />\n </div>\n <slot name=\"button-close\">\n {!this.hideCloseButton && (\n <bq-button class=\"bq-dialog--close\" appearance=\"text\" size=\"small\">\n <bq-icon class=\"cursor-pointer\" name=\"x\" role=\"img\" title=\"Close\" />\n </bq-button>\n )}\n </slot>\n </header>\n <div\n class={{\n '!hidden': !this.hasContent,\n 'overflow-y-auto p-i-[--bq-dialog--padding]': this.hasContent,\n '!p-be-[--bq-dialog--padding]': !this.hasFooter,\n }}\n ref={(mainElem) => (this.contentElem = mainElem)}\n part=\"body\"\n >\n <slot onSlotchange={this.handleContentSlotChange} />\n </div>\n </main>\n <footer\n class={{\n '!hidden': !this.hasFooter,\n 'bq-dialog--footer': this.hasFooter,\n 'bg-ui-alt !p-b-s': this.footerAppearance === 'highlight',\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["DRAWER_POSITIONS","DRAWER_PLACEMENT","bqDrawerCss","BqDrawerStyle0","BqDrawer","footerElem","drawerElem","OPEN_CSS_CLASS","handleOpenChange","this","open","handleAfterHide","handleAfterShow","handlePlacementChange","isNil","placement","console","warn","validatePropValue","el","synPositionMap","right","left","position","handlePositionChange","syncPlacementMap","end","start","bqClose","bqOpen","bqAfterOpen","bqAfterClose","componentWillLoad","handleMouseClick","event","closeOnClickOutside","button","rect","getBoundingClientRect","clientX","hide","handleKeyDown","closeOnEsc","key","ev","emit","defaultPrevented","show","handleFooterSlotChange","hasFooter","hasSlotContent","async","leave","handleTransitionEnd","classList","add","enter","remove","isPositionStart","isPositionEnd","render","h","Host","enableBackdrop","class","tabIndex","part","ref","div","hidden","role","id","name","appearance","size","slot","exportparts","onClick","bind","title","block","dashed","onSlotchange"],"sources":["../../packages/beeq/src/components/drawer/bq-drawer.types.ts","../../packages/beeq/src/components/drawer/scss/bq-drawer.scss?tag=bq-drawer&encapsulation=shadow","../../packages/beeq/src/components/drawer/bq-drawer.tsx"],"sourcesContent":["export const DRAWER_POSITIONS = ['start', 'end'] as const;\nexport type TDrawerPosition = (typeof DRAWER_POSITIONS)[number];\n// !TO BE REMOVED: `placement` is deprecated and it will be removed in the future\nexport const DRAWER_PLACEMENT = ['left', 'right'] as const;\nexport type TDrawerPlacement = (typeof DRAWER_PLACEMENT)[number];\n","/* -------------------------------------------------------------------------- */\n/* Drawer styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-drawer.variables';\n\n:host {\n @apply invisible #{!important};\n}\n\n:host(.bq-drawer--open) {\n @apply visible #{!important};\n}\n\n.bq-drawer {\n @apply fixed z-[--bq-drawer--zIndex] flex flex-col gap-[--bq-drawer--gap] bg-primary shadow-m is-[--bq-drawer--width] max-is-full p-b-[--bq-drawer--paddingY] p-i-[--bq-drawer--paddingX] inset-b-0;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { DRAWER_PLACEMENT, DRAWER_POSITIONS, TDrawerPlacement, TDrawerPosition } from './bq-drawer.types';\nimport { enter, hasSlotContent, isNil, leave, validatePropValue } from '../../shared/utils';\n\n/**\n * @part backdrop - The `<div>` that holds the backdrop overlay\n * @part button-close - The BqButton that closes the drawer\n * @part button-close__btn - The native button used under the hood that closes the drawer\n * @part button-close__label - The text inside the native button that closes the drawer\n * @part panel - The `<div>` that holds the drawer entire content\n * @part header - The `<header>` that holds the icon, title, and close button\n * @part title - The `<div>` that holds the title content\n * @part body - The `<main>` that holds the drawer body content\n * @part footer - The `<footer>` that holds footer content\n */\n\n@Component({\n tag: 'bq-drawer',\n styleUrl: './scss/bq-drawer.scss',\n shadow: true,\n})\nexport class BqDrawer {\n // Own Properties\n // ====================\n\n private footerElem: HTMLElement;\n private drawerElem: HTMLDivElement;\n private OPEN_CSS_CLASS = 'bq-drawer--open';\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDrawerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasFooter = false;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true, the backdrop overlay will be shown when the drawer opens */\n @Prop({ reflect: true }) enableBackdrop = false;\n\n /** If true, the drawer will not close when clicking outside the panel */\n @Prop({ reflect: true }) closeOnClickOutside = false;\n\n /** If true, the dialog will not close when the [Esc] key is pressed */\n @Prop({ reflect: true }) closeOnEsc = false;\n\n /** If true, the drawer component will be shown */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** @deprecated Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) placement: TDrawerPlacement = 'right';\n\n /** Defines the position of the drawer */\n @Prop({ reflect: true, mutable: true }) position: TDrawerPosition = 'end';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('open')\n async handleOpenChange() {\n if (!this.open) {\n await this.handleAfterHide();\n return;\n }\n\n await this.handleAfterShow();\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `placement` property is removed\n * We need to maintain retro-compatibility with the deprecated `placement` property\n */\n @Watch('placement')\n handlePlacementChange() {\n if (!isNil(this.placement)) {\n console.warn(\n `❗️ [bq-drawer]: the 'placement' prop is deprecated and it will be removed in the future. Please use 'position' instead.`,\n );\n }\n validatePropValue(DRAWER_PLACEMENT, 'right', this.el, 'placement');\n // Sync 'position' property\n const synPositionMap = {\n right: 'end',\n left: 'start',\n };\n this.position = (synPositionMap[this.placement] as TDrawerPosition) || this.position;\n }\n\n @Watch('position')\n handlePositionChange() {\n validatePropValue(DRAWER_POSITIONS, 'start', this.el, 'position');\n /**\n * Sync 'placement' property\n * !TO BE REMOVED: Delete the code below once the deprecated `placement` property is removed\n */\n const syncPlacementMap = {\n end: 'right',\n start: 'left',\n };\n this.placement = (syncPlacementMap[this.position] as TDrawerPlacement) || this.placement;\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the drawer is closed */\n @Event() bqClose!: EventEmitter;\n\n /** Callback handler to be called when the drawer is opened */\n @Event() bqOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been opened */\n @Event() bqAfterOpen!: EventEmitter;\n\n /** Callback handler to be called after the drawer has been closed */\n @Event() bqAfterClose!: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.handlePositionChange();\n // !TO BE REMOVED: Delete this once the deprecated `placement` property is removed\n this.handlePlacementChange();\n }\n\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'window', capture: true })\n async handleMouseClick(event: MouseEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnClickOutside) return;\n // Skip if the mouse button is not the main button\n if (event.button !== 0) return;\n\n const rect = this.drawerElem.getBoundingClientRect();\n if (event.clientX < rect.left || event.clientX > rect.right) {\n await this.hide();\n }\n }\n\n @Listen('keydown', { target: 'window', capture: true })\n async handleKeyDown(event: KeyboardEvent) {\n if (!this.open) return;\n if (!this.drawerElem || this.closeOnEsc || !(event.key === 'Escape' || event.key === 'Esc')) return;\n\n await this.hide();\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 drawer component */\n @Method()\n async hide(): Promise<void> {\n const ev = this.bqClose.emit();\n if (ev.defaultPrevented) return;\n\n this.open = false;\n }\n\n /** Method to be called to show the drawer component */\n @Method()\n async show(): Promise<void> {\n const ev = this.bqOpen.emit();\n if (ev.defaultPrevented) return;\n\n this.open = true;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleFooterSlotChange = () => {\n this.hasFooter = hasSlotContent(this.footerElem, 'footer');\n };\n\n private handleAfterHide = async () => {\n if (!this.drawerElem) return;\n\n await leave(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleAfterShow = async () => {\n if (!this.drawerElem) return;\n\n this.el.classList.add(this.OPEN_CSS_CLASS);\n await enter(this.drawerElem);\n this.handleTransitionEnd();\n };\n\n private handleTransitionEnd = () => {\n if (this.open) {\n this.bqAfterOpen.emit();\n return;\n }\n\n this.bqAfterClose.emit();\n this.el.classList.remove(this.OPEN_CSS_CLASS);\n };\n\n private get isPositionStart() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'start' || this.placement === 'left';\n }\n\n private get isPositionEnd() {\n // !TO BE REMOVED: `placement` is deprecated and will be removed in the future\n return this.position === 'end' || this.placement === 'right';\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n {/* BACKDROP */}\n {this.enableBackdrop && (\n <div\n class={{\n 'fixed inset-0 block bg-[--bq-drawer--backgroundBackdrop] opacity-0 transition-opacity duration-300':\n true,\n 'pointer-events-none': !this.open,\n 'opacity-60': this.open,\n }}\n tabIndex={-1}\n part=\"backdrop\"\n />\n )}\n {/* DRAWER PANEL */}\n <div\n class={{\n [`bq-drawer transition-all duration-300 ease-in-out ${this.position || this.placement}`]: true,\n '-start-[--bq-drawer--width]': this.isPositionStart,\n '-end-[--bq-drawer--width]': this.isPositionEnd,\n 'start-0': this.open && this.isPositionStart,\n 'end-0': this.open && this.isPositionEnd,\n }}\n ref={(div) => (this.drawerElem = div)}\n aria-hidden={!this.open ? 'true' : 'false'}\n aria-labelledby=\"bq-drawer__title\"\n aria-modal=\"true\"\n hidden={!this.open}\n part=\"panel\"\n role=\"dialog\"\n >\n <header class=\"flex items-center\" part=\"header\">\n <h2\n class=\"flex-1 items-center justify-between font-bold leading-regular text-primary\"\n id=\"bq-drawer__title\"\n part=\"title\"\n >\n <slot name=\"title\" />\n </h2>\n <div class=\"flex\" part=\"button-close\">\n <bq-button\n class=\"[&::part(button)]:rounded-s [&::part(button)]:border-0 [&::part(button)]:bs-fit [&::part(button)]:p-b-0 [&::part(button)]:p-i-0 [&::part(label)]:inline-flex\"\n appearance=\"text\"\n size=\"small\"\n slot=\"button-close\"\n exportparts=\"button:button-close__btn,label:button-close__label\"\n onClick={this.hide.bind(this)}\n >\n <slot name=\"button-close\">\n <bq-icon name=\"x-bold\" role=\"img\" title=\"Close\" />\n </slot>\n </bq-button>\n </div>\n </header>\n <main class=\"block flex-auto overflow-auto\" part=\"body\">\n <slot />\n </main>\n <footer\n class={{\n block: true,\n '!hidden': !this.hasFooter,\n }}\n ref={(footerElem) => (this.footerElem = footerElem)}\n part=\"footer\"\n >\n <slot name=\"footer-divider\">\n <bq-divider class=\"mb-m block\" dashed />\n </slot>\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange} />\n </footer>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqTooltipCss","BqTooltipStyle0","BqTooltip","trigger","panel","arrow","floatingUI","handleVisibleChange","this","visible","alwaysVisible","hide","show","handleFloatingUIOptionsChange","init","placement","distance","sameWidth","strategy","componentDidLoad","FloatingUI","hideArrow","skidding","disconnectedCallback","destroy","handleDocumentMouseDown","event","path","composedPath","includes","el","showTooltip","hideTooltip","handleTriggerMouseOver","displayOn","handleTriggerMouseLeave","handleTriggerOnClick","update","isHidden","render","h","key","class","part","onMouseOver","onMouseLeave","onClick","ref","name","hidden","role"],"sources":["../../packages/beeq/src/components/tooltip/scss/bq-tooltip.scss?tag=bq-tooltip&encapsulation=shadow","../../packages/beeq/src/components/tooltip/bq-tooltip.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tooltip styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tooltip.variables';\n\n.bq-tooltip--panel {\n @include animation-fade-in;\n @apply pointer-events-none fixed z-[--bq-tooltip--z-index] box-border bg-[--bq-tooltip--background-color];\n @apply is-[--bq-tooltip--width] max-is-[--bq-tooltip--max-width] p-b-[--bq-tooltip--paddingY] p-i-[--bq-tooltip--paddingX];\n @apply text-[length:--bq-tooltip--font-size] leading-[--bq-tooltip--line-height] text-[color:--bq-tooltip--text-color];\n @apply rounded-[--bq-tooltip--border-radius] border-[length:--bq-tooltip--border-width] border-[color:--bq-tooltip--border-color];\n @apply shadow-[shadow:--bq-tooltip--box-shadow];\n}\n\n.bq-tooltip--arrow {\n &,\n &::before {\n @apply absolute -z-[1] bs-2 is-2;\n }\n\n &::before {\n @apply start-0 rotate-45 bg-[--bq-tooltip--background-color] content-empty inset-bs-0;\n }\n}\n","import { Component, Element, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport { Placement } from '../../services/interfaces';\nimport { FloatingUI } from '../../services/libraries';\n\n/**\n * @part base - The component wrapper container inside the shadow DOM\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover\n * @part panel - The `<div>` container that holds the tooltip content\n */\n@Component({\n tag: 'bq-tooltip',\n styleUrl: './scss/bq-tooltip.scss',\n shadow: true,\n})\nexport class BqTooltip {\n // Own Properties\n // ====================\n private trigger: HTMLElement;\n private panel: HTMLElement;\n private arrow: HTMLElement;\n private floatingUI: FloatingUI;\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqTooltipElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the tooltip will always be visible */\n @Prop() alwaysVisible?: boolean = false;\n\n /** Distance between trigger element and tooltip */\n @Prop({ reflect: true }) distance?: number = 10;\n\n /** If true, the arrow on the tooltip content won't be shown */\n @Prop({ reflect: true }) hideArrow?: boolean = false;\n\n /* Defines the position of the tooltip */\n @Prop({ reflect: true }) placement?: Placement = 'top';\n\n /** Whether the tooltip should have the same width as the trigger element\n * (applicable only for content shorter than the trigger element) */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Set the action when the tooltip should be displayed, on hover (default) or click */\n @Prop({ reflect: true }) displayOn: 'click' | 'hover' = 'hover';\n\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\n * and when interacting with the trigger\n */\n @Prop({ reflect: true, mutable: true }) visible? = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('visible')\n async handleVisibleChange() {\n if (!this.visible && !this.alwaysVisible) {\n return await this.hide();\n }\n\n await this.show();\n }\n\n @Watch('distance')\n @Watch('hideArrow')\n @Watch('placement')\n @Watch('sameWidth')\n handleFloatingUIOptionsChange() {\n this.floatingUI.init({\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'fixed',\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 componentDidLoad() {\n this.floatingUI = new FloatingUI(this.trigger, this.panel, {\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'fixed',\n skidding: 0,\n });\n }\n\n disconnectedCallback() {\n this.floatingUI?.destroy();\n }\n // Listeners\n // ==============\n\n @Listen('mousedown', { target: 'document' })\n async handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the close element\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n await this.hide();\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 /** Shows the tooltip */\n @Method()\n async show() {\n this.visible = true;\n this.showTooltip();\n }\n\n /** Hides the tooltip */\n @Method()\n async hide() {\n if (this.alwaysVisible) return;\n\n this.visible = false;\n this.hideTooltip();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleTriggerMouseOver = () => {\n (async () => {\n if (this.displayOn !== 'hover') return;\n await this.show();\n })();\n };\n\n private handleTriggerMouseLeave = () => {\n (async () => {\n if (this.displayOn !== 'hover') return;\n await this.hide();\n })();\n };\n\n private handleTriggerOnClick = () => {\n (async () => {\n if (this.displayOn !== 'click') return;\n await (this.visible ? this.hide() : this.show());\n })();\n };\n\n private showTooltip = () => {\n if (!this.panel) return;\n this.floatingUI?.update();\n };\n\n private hideTooltip = () => {\n if (!this.panel) return;\n this.visible = false;\n };\n\n private get isHidden() {\n return !this.visible && !this.alwaysVisible;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-tooltip relative\" part=\"base\">\n {/* TRIGGER */}\n <div\n class=\"bq-tooltip--trigger\"\n onMouseOver={this.handleTriggerMouseOver}\n onMouseLeave={this.handleTriggerMouseLeave}\n onClick={this.handleTriggerOnClick}\n ref={(el) => (this.trigger = el)}\n part=\"trigger\"\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n <div\n class=\"bq-tooltip--panel\"\n aria-hidden={this.isHidden}\n hidden={this.isHidden}\n role=\"tooltip\"\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n >\n {!this.hideArrow && <div class=\"bq-tooltip--arrow\" ref={(el) => (this.arrow = el)} />}\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;sFAAA,MAAMA,EAAe,oqtBACrB,MAAAC,EAAeD,E,MCcFE,EAAS,M,4CAoBc,M,cAGW,G,eAGE,M,eAGE,M,eAIF,M,eAGS,Q,aAML,K,CAvC3CC,QACAC,MACAC,MACAC,W,wBA0CR,yBAAMC,GACJ,IAAKC,KAAKC,UAAYD,KAAKE,cAAe,CACxC,aAAaF,KAAKG,M,OAGdH,KAAKI,M,CAOb,6BAAAC,GACEL,KAAKF,WAAWQ,KAAK,CACnBC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKQ,SACfC,UAAWT,KAAKS,UAChBC,SAAU,S,CAWd,gBAAAC,GACEX,KAAKF,WAAa,IAAIc,EAAWZ,KAAKL,QAASK,KAAKJ,MAAO,KACpDI,KAAKa,WAAa,CAAEhB,MAAOG,KAAKH,OACrCU,UAAWP,KAAKO,UAChBC,SAAUR,KAAKQ,SACfC,UAAWT,KAAKS,UAChBC,SAAU,QACVI,SAAU,G,CAId,oBAAAC,GACEf,KAAKF,YAAYkB,S,CAMnB,6BAAMC,CAAwBC,GAE5B,MAAMC,EAAOD,EAAME,eACnB,IAAKD,EAAKE,SAASrB,KAAKsB,IAAK,OACrBtB,KAAKG,M,EAaf,UAAMC,GACJJ,KAAKC,QAAU,KACfD,KAAKuB,a,CAKP,UAAMpB,GACJ,GAAIH,KAAKE,cAAe,OAExBF,KAAKC,QAAU,MACfD,KAAKwB,a,CAQCC,uBAAyB,KAC/B,WACE,GAAIzB,KAAK0B,YAAc,QAAS,aAC1B1B,KAAKI,MACZ,EAHD,EAGI,EAGEuB,wBAA0B,KAChC,WACE,GAAI3B,KAAK0B,YAAc,QAAS,aAC1B1B,KAAKG,MACZ,EAHD,EAGI,EAGEyB,qBAAuB,KAC7B,WACE,GAAI5B,KAAK0B,YAAc,QAAS,aACzB1B,KAAKC,QAAUD,KAAKG,OAASH,KAAKI,OAC1C,EAHD,EAGI,EAGEmB,YAAc,KACpB,IAAKvB,KAAKJ,MAAO,OACjBI,KAAKF,YAAY+B,QAAQ,EAGnBL,YAAc,KACpB,IAAKxB,KAAKJ,MAAO,OACjBI,KAAKC,QAAU,KAAK,EAGtB,YAAY6B,GACV,OAAQ9B,KAAKC,UAAYD,KAAKE,a,CAOhC,MAAA6B,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBAAsBC,KAAK,QAEpCH,EAAA,OAAAC,IAAA,2CACEC,MAAM,sBACNE,YAAapC,KAAKyB,uBAClBY,aAAcrC,KAAK2B,wBACnBW,QAAStC,KAAK4B,qBACdW,IAAMjB,GAAQtB,KAAKL,QAAU2B,EAC7Ba,KAAK,WAELH,EAAA,QAAAC,IAAA,2CAAMO,KAAK,aAGbR,EAAA,OAAAC,IAAA,2CACEC,MAAM,oBAAmB,cACZlC,KAAK8B,SAClBW,OAAQzC,KAAK8B,SACbY,KAAK,UACLH,IAAMjB,GAAQtB,KAAKJ,MAAQ0B,EAC3Ba,KAAK,UAEHnC,KAAKa,WAAamB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAoBK,IAAMjB,GAAQtB,KAAKH,MAAQyB,IAC9EU,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Built by Endavans
3
- * © https://beeq.design - Apache 2 License.
4
- */
5
- const n="--bq-";function t(t){if(typeof window==="undefined")return undefined;const e=`${n}${t}`;const o=getComputedStyle(document.documentElement).getPropertyValue(e);if(!o)return undefined;return`var(${e})`}function e(n,t){const e=getComputedStyle(t);return String(e.getPropertyValue(`--${n}`)).trim()}export{e as a,t as g};
6
- //# sourceMappingURL=p-edfd9767.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CSSVALUEPREFIX","getColorCSSVariable","colorName","window","undefined","token","value","getComputedStyle","document","documentElement","getPropertyValue","getCSSVariableValue","variable","component","styles","String","trim"],"sources":["../../packages/beeq/src/shared/utils/cssVariables.ts"],"sourcesContent":["const CSSVALUEPREFIX = '--bq-';\n\n/**\n * Get CSS custom property variable of a given color string value\n *\n * @param {string} colorName - Valid string value.\n * @return {string} The corresponding CSS custom property variable\n */\nexport function getColorCSSVariable(colorName: string): string | undefined {\n if (typeof window === 'undefined') return undefined;\n\n const token = `${CSSVALUEPREFIX}${colorName}`;\n const value = getComputedStyle(document.documentElement).getPropertyValue(token);\n if (!value) return undefined;\n\n return `var(${token})`;\n}\n\n/**\n * Get compiled CSS custom property value\n *\n * @param {string} variable - The variable name for which to get its value\n * @return {string} The corresponding value for the given CSS custom property\n */\nexport function getCSSVariableValue(variable: string, component: Element): string {\n const styles = getComputedStyle(component);\n return String(styles.getPropertyValue(`--${variable}`)).trim();\n}\n"],"mappings":";;;;AAAA,MAAMA,EAAiB,Q,SAQPC,EAAoBC,GAClC,UAAWC,SAAW,YAAa,OAAOC,UAE1C,MAAMC,EAAQ,GAAGL,IAAiBE,IAClC,MAAMI,EAAQC,iBAAiBC,SAASC,iBAAiBC,iBAAiBL,GAC1E,IAAKC,EAAO,OAAOF,UAEnB,MAAO,OAAOC,IAChB,C,SAQgBM,EAAoBC,EAAkBC,GACpD,MAAMC,EAASP,iBAAiBM,GAChC,OAAOE,OAAOD,EAAOJ,iBAAiB,KAAKE,MAAaI,MAC1D,Q","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- /*!
2
- * Built by Endavans
3
- * © https://beeq.design - Apache 2 License.
4
- */
5
- import{r as a,c as r,g as b,h as e,a as q}from"./p-5da52049.js";import{i as n}from"./p-57621be1.js";const t='::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.block{display:block}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{display:block}.static{position:static}.flex{display:flex}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.is-3{inline-size:.75rem}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}';const i=t;const o=class{constructor(b){a(this,b);this.bqBreadcrumbBlur=r(this,"bqBreadcrumbBlur",7);this.bqBreadcrumbFocus=r(this,"bqBreadcrumbFocus",7);this.bqBreadcrumbClick=r(this,"bqBreadcrumbClick",7);this.ariaLabel="Breadcrumbs"}spanElem;get el(){return b(this)}bqBreadcrumbBlur;bqBreadcrumbFocus;bqBreadcrumbClick;onBlur(a){if(n(a.detail,"bq-breadcrumb-item"))this.bqBreadcrumbBlur.emit(a.detail)}onFocus(a){if(n(a.detail,"bq-breadcrumb-item"))this.bqBreadcrumbFocus.emit(a.detail)}onClick(a){if(n(a.detail,"bq-breadcrumb-item"))this.bqBreadcrumbClick.emit(a.detail)}setSeparator=()=>{this.breadcrumbItems.forEach(((a,r,b)=>{a.isLastItem=r===b.length-1;if(!a.isLastItem){a.append(this.getSeparatorElem())}}))};getSeparatorElem=()=>{const a=this.separatorFromSlot.cloneNode(true);a.slot="separator";return a};get breadcrumbItems(){return Array.from(this.el.querySelectorAll("bq-breadcrumb-item"))}get separatorFromSlot(){return this.spanElem.querySelector('slot[name="separator"]').assignedElements({flatten:true})[0]}render(){return e(q,{key:"8b19fb3ed3eab3ef129c39df0c958cb96b8ec372"},e("nav",{key:"b86de627c4fe184004e5d97e3a54066b8570d379",class:"flex items-center","aria-label":this.ariaLabel,part:"navigation"},e("slot",{key:"26e61864a66be926c76a3e5e87f5f76adcac30f7",onSlotchange:this.setSeparator})),e("span",{key:"a3c5daf93d836651b8eed3e73c61821eef800023",hidden:true,"aria-hidden":"true",ref:a=>this.spanElem=a},e("slot",{key:"920c61d131686209e9184015fa84c5b806ecc188",name:"separator"},e("span",{key:"3628f9a4a990227ad86b7a5ee100a7ee819d6e6e",class:"flex items-center justify-center is-3"},"/"))))}};o.style=i;export{o as bq_breadcrumb};
6
- //# sourceMappingURL=p-f9d9bd41.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqBreadcrumbCss","BqBreadcrumbStyle0","BqBreadcrumb","spanElem","bqBreadcrumbBlur","bqBreadcrumbFocus","bqBreadcrumbClick","onBlur","event","isHTMLElement","detail","this","emit","onFocus","onClick","setSeparator","breadcrumbItems","forEach","item","index","arr","isLastItem","length","append","getSeparatorElem","clone","separatorFromSlot","cloneNode","slot","Array","from","el","querySelectorAll","querySelector","assignedElements","flatten","render","h","Host","key","class","ariaLabel","part","onSlotchange","hidden","ref","element","name"],"sources":["../../packages/beeq/src/components/breadcrumb/scss/bq-breadcrumb.scss?tag=bq-breadcrumb&encapsulation=shadow","../../packages/beeq/src/components/breadcrumb/bq-breadcrumb.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Breadcrumb styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop } from '@stencil/core';\n\nimport { isHTMLElement } from '../../shared/utils';\n\n/**\n * @part navigation - The `nav` tag that loads the breadcrumb items\n */\n@Component({\n tag: 'bq-breadcrumb',\n styleUrl: './scss/bq-breadcrumb.scss',\n shadow: true,\n})\nexport class BqBreadcrumb {\n // Own Properties\n // ====================\n\n private spanElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqBreadcrumbElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** The `aria-label` attribute to describe the type of navigation */\n @Prop({ reflect: true }) ariaLabel: string = 'Breadcrumbs';\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 `bq-breadcrumb-item` item loses focus. */\n @Event() bqBreadcrumbBlur: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n /** Handler to be called when `bq-breadcrumb-item` item gets focus. */\n @Event() bqBreadcrumbFocus: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n /** Handler to be called when `bq-breadcrumb-item` is selected (on click/enter press). */\n @Event() bqBreadcrumbClick: EventEmitter<HTMLBqBreadcrumbItemElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n // Listeners\n // ==============\n\n @Listen('bqBlur', { passive: true })\n onBlur(event: CustomEvent<HTMLElement>) {\n if (isHTMLElement(event.detail, 'bq-breadcrumb-item')) this.bqBreadcrumbBlur.emit(event.detail);\n }\n\n @Listen('bqFocus', { passive: true })\n onFocus(event: CustomEvent<HTMLElement>) {\n if (isHTMLElement(event.detail, 'bq-breadcrumb-item')) this.bqBreadcrumbFocus.emit(event.detail);\n }\n\n @Listen('bqClick', { passive: true })\n onClick(event: CustomEvent<HTMLElement>) {\n if (isHTMLElement(event.detail, 'bq-breadcrumb-item')) this.bqBreadcrumbClick.emit(event.detail);\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 setSeparator = (): void => {\n this.breadcrumbItems.forEach((item, index, arr) => {\n item.isLastItem = index === arr.length - 1;\n if (!item.isLastItem) {\n item.append(this.getSeparatorElem());\n }\n });\n };\n\n /**\n * clone original element and add slot attr\n * @returns cloned separator element\n */\n private getSeparatorElem = (): HTMLElement => {\n const clone = this.separatorFromSlot.cloneNode(true) as HTMLElement;\n clone.slot = 'separator';\n\n return clone;\n };\n\n private get breadcrumbItems(): HTMLBqBreadcrumbItemElement[] {\n return Array.from(this.el.querySelectorAll('bq-breadcrumb-item'));\n }\n\n private get separatorFromSlot() {\n return this.spanElem\n .querySelector<HTMLSlotElement>('slot[name=\"separator\"]')\n .assignedElements({ flatten: true })[0] as HTMLElement;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host>\n <nav class=\"flex items-center\" aria-label={this.ariaLabel} part=\"navigation\">\n <slot onSlotchange={this.setSeparator}></slot>\n </nav>\n\n <span hidden aria-hidden=\"true\" ref={(element) => (this.spanElem = element)}>\n <slot name=\"separator\">\n <span class=\"flex items-center justify-center is-3\">/</span>\n </slot>\n </span>\n </Host>\n );\n }\n}\n"],"mappings":";;;;oGAAA,MAAMA,EAAkB,mqlBACxB,MAAAC,EAAeD,E,MCWFE,EAAY,M,qMAmBsB,a,CAfrCC,S,wBAyBCC,iBAGAC,kBAGAC,kBAUT,MAAAC,CAAOC,GACL,GAAIC,EAAcD,EAAME,OAAQ,sBAAuBC,KAAKP,iBAAiBQ,KAAKJ,EAAME,O,CAI1F,OAAAG,CAAQL,GACN,GAAIC,EAAcD,EAAME,OAAQ,sBAAuBC,KAAKN,kBAAkBO,KAAKJ,EAAME,O,CAI3F,OAAAI,CAAQN,GACN,GAAIC,EAAcD,EAAME,OAAQ,sBAAuBC,KAAKL,kBAAkBM,KAAKJ,EAAME,O,CAenFK,aAAe,KACrBJ,KAAKK,gBAAgBC,SAAQ,CAACC,EAAMC,EAAOC,KACzCF,EAAKG,WAAaF,IAAUC,EAAIE,OAAS,EACzC,IAAKJ,EAAKG,WAAY,CACpBH,EAAKK,OAAOZ,KAAKa,mB,IAEnB,EAOIA,iBAAmB,KACzB,MAAMC,EAAQd,KAAKe,kBAAkBC,UAAU,MAC/CF,EAAMG,KAAO,YAEb,OAAOH,CAAK,EAGd,mBAAYT,GACV,OAAOa,MAAMC,KAAKnB,KAAKoB,GAAGC,iBAAiB,sB,CAG7C,qBAAYN,GACV,OAAOf,KAAKR,SACT8B,cAA+B,0BAC/BC,iBAAiB,CAAEC,QAAS,OAAQ,E,CAOzC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAmB,aAAa7B,KAAK8B,UAAWC,KAAK,cAC9DL,EAAA,QAAAE,IAAA,2CAAMI,aAAchC,KAAKI,gBAG3BsB,EAAA,QAAAE,IAAA,2CAAMK,OAAM,mBAAa,OAAOC,IAAMC,GAAanC,KAAKR,SAAW2C,GACjET,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,aACTV,EAAA,QAAAE,IAAA,2CAAMC,MAAM,yCAAuC,O","ignoreList":[]}