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

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 (587) 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/{p-350cd07e.entry.js → p-026fad0d.entry.js} +2 -2
  5. package/dist/beeq/p-026fad0d.entry.js.map +1 -0
  6. package/dist/beeq/{p-457ab863.entry.js → p-09323635.entry.js} +2 -2
  7. package/dist/beeq/p-09323635.entry.js.map +1 -0
  8. package/dist/beeq/p-0c0bd129.entry.js +6 -0
  9. package/dist/beeq/p-0c0bd129.entry.js.map +1 -0
  10. package/dist/beeq/{p-0180a237.entry.js → p-0c12aa01.entry.js} +2 -2
  11. package/dist/beeq/p-0c12aa01.entry.js.map +1 -0
  12. package/dist/beeq/{p-be234206.entry.js → p-0f72dbb6.entry.js} +2 -2
  13. package/dist/beeq/p-0f72dbb6.entry.js.map +1 -0
  14. package/dist/beeq/{p-96793709.entry.js → p-19b7bbe0.entry.js} +2 -2
  15. package/dist/beeq/p-19b7bbe0.entry.js.map +1 -0
  16. package/dist/beeq/{p-a89bfbd8.entry.js → p-1b0cfcd6.entry.js} +2 -2
  17. package/dist/beeq/p-1b0cfcd6.entry.js.map +1 -0
  18. package/dist/beeq/{p-0711a447.entry.js → p-1cdea079.entry.js} +2 -2
  19. package/dist/beeq/p-1cdea079.entry.js.map +1 -0
  20. package/dist/beeq/{p-99668b08.entry.js → p-20d91acf.entry.js} +2 -2
  21. package/dist/beeq/p-20d91acf.entry.js.map +1 -0
  22. package/dist/beeq/{p-854e2114.entry.js → p-29d9487c.entry.js} +2 -2
  23. package/dist/beeq/p-29d9487c.entry.js.map +1 -0
  24. package/dist/beeq/p-2c566eb0.entry.js +6 -0
  25. package/dist/beeq/p-2c566eb0.entry.js.map +1 -0
  26. package/dist/beeq/{p-d2c20a92.entry.js → p-2ef4ed54.entry.js} +2 -2
  27. package/dist/beeq/p-2ef4ed54.entry.js.map +1 -0
  28. package/dist/beeq/{p-561ff182.js → p-3c472097.js} +2 -2
  29. package/dist/beeq/{p-bdf2ea24.entry.js → p-43dc9906.entry.js} +2 -2
  30. package/dist/beeq/p-43dc9906.entry.js.map +1 -0
  31. package/dist/beeq/{p-b9171e19.entry.js → p-4c66663c.entry.js} +2 -2
  32. package/dist/beeq/p-4c66663c.entry.js.map +1 -0
  33. package/dist/beeq/{p-81b6556f.entry.js → p-4d6a9646.entry.js} +2 -2
  34. package/dist/beeq/p-4d6a9646.entry.js.map +1 -0
  35. package/dist/beeq/{p-0ff234ec.entry.js → p-52603411.entry.js} +2 -2
  36. package/dist/beeq/p-52603411.entry.js.map +1 -0
  37. package/dist/beeq/{p-d72440a3.entry.js → p-56c43424.entry.js} +2 -2
  38. package/dist/beeq/p-56c43424.entry.js.map +1 -0
  39. package/dist/beeq/{p-5b5f9a2a.entry.js → p-5d6fc48a.entry.js} +2 -2
  40. package/dist/beeq/p-5d6fc48a.entry.js.map +1 -0
  41. package/dist/beeq/p-60094726.js +7 -0
  42. package/dist/beeq/p-60094726.js.map +1 -0
  43. package/dist/beeq/p-6079f9b2.entry.js +6 -0
  44. package/dist/beeq/p-6079f9b2.entry.js.map +1 -0
  45. package/dist/beeq/{p-6482a62d.entry.js → p-6a0b0106.entry.js} +2 -2
  46. package/dist/beeq/p-6a0b0106.entry.js.map +1 -0
  47. package/dist/beeq/{p-e0e5c735.entry.js → p-73ef1309.entry.js} +2 -2
  48. package/dist/beeq/p-73ef1309.entry.js.map +1 -0
  49. package/dist/beeq/{p-cc83682b.entry.js → p-75cc6789.entry.js} +2 -2
  50. package/dist/beeq/p-75cc6789.entry.js.map +1 -0
  51. package/dist/beeq/{p-42d22a31.entry.js → p-7a719a9b.entry.js} +2 -2
  52. package/dist/beeq/p-7a719a9b.entry.js.map +1 -0
  53. package/dist/beeq/{p-a0d6207d.entry.js → p-7f124d61.entry.js} +2 -2
  54. package/dist/beeq/p-7f124d61.entry.js.map +1 -0
  55. package/dist/beeq/{p-def8acd7.entry.js → p-8ca2588f.entry.js} +2 -2
  56. package/dist/beeq/p-8ca2588f.entry.js.map +1 -0
  57. package/dist/beeq/{p-8b595d1f.entry.js → p-921fa1ea.entry.js} +2 -2
  58. package/dist/beeq/p-921fa1ea.entry.js.map +1 -0
  59. package/dist/beeq/p-99b5d671.entry.js +6 -0
  60. package/dist/beeq/p-99b5d671.entry.js.map +1 -0
  61. package/dist/beeq/{p-47d41233.entry.js → p-a5e01629.entry.js} +2 -2
  62. package/dist/beeq/p-a5e01629.entry.js.map +1 -0
  63. package/dist/beeq/{p-5f00f1f5.entry.js → p-adec3d5b.entry.js} +2 -2
  64. package/dist/beeq/{p-5f00f1f5.entry.js.map → p-adec3d5b.entry.js.map} +1 -1
  65. package/dist/beeq/{p-1d67af77.entry.js → p-b83f174c.entry.js} +2 -2
  66. package/dist/beeq/p-b83f174c.entry.js.map +1 -0
  67. package/dist/beeq/{p-4f47130c.entry.js → p-c09dac58.entry.js} +2 -2
  68. package/dist/beeq/p-c09dac58.entry.js.map +1 -0
  69. package/dist/beeq/p-c65d21e2.entry.js +6 -0
  70. package/dist/beeq/p-c65d21e2.entry.js.map +1 -0
  71. package/dist/beeq/{p-eab2d27c.entry.js → p-c70c6b00.entry.js} +2 -2
  72. package/dist/beeq/p-c70c6b00.entry.js.map +1 -0
  73. package/dist/beeq/{p-995bfd58.js → p-c9ed66d9.js} +2 -2
  74. package/dist/beeq/{p-a6094ed8.entry.js → p-d8221b88.entry.js} +2 -2
  75. package/dist/beeq/p-d8221b88.entry.js.map +1 -0
  76. package/dist/beeq/{p-439583bc.entry.js → p-d8a257b7.entry.js} +2 -2
  77. package/dist/beeq/p-d8a257b7.entry.js.map +1 -0
  78. package/dist/beeq/p-dc544089.entry.js +6 -0
  79. package/dist/beeq/p-dc544089.entry.js.map +1 -0
  80. package/dist/beeq/{p-70ae504a.entry.js → p-e056c02a.entry.js} +2 -2
  81. package/dist/beeq/p-e056c02a.entry.js.map +1 -0
  82. package/dist/beeq/{p-e1d3a748.entry.js → p-e68dcd3d.entry.js} +2 -2
  83. package/dist/beeq/p-e68dcd3d.entry.js.map +1 -0
  84. package/dist/beeq/{p-d7507599.entry.js → p-eb662058.entry.js} +2 -2
  85. package/dist/beeq/p-eb662058.entry.js.map +1 -0
  86. package/dist/beeq.html-custom-data.json +2029 -0
  87. package/dist/cjs/{assetsPath-557e47c5.js → assetsPath-0ec85a1a.js} +2 -2
  88. package/dist/cjs/{assetsPath-557e47c5.js.map → assetsPath-0ec85a1a.js.map} +1 -1
  89. package/dist/cjs/beeq.cjs.js +3 -3
  90. package/dist/cjs/beeq.cjs.js.map +1 -1
  91. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -3
  92. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  93. package/dist/cjs/bq-accordion.cjs.entry.js +5 -5
  94. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  95. package/dist/cjs/bq-alert.cjs.entry.js +6 -6
  96. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  97. package/dist/cjs/bq-avatar.cjs.entry.js +5 -5
  98. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  99. package/dist/cjs/bq-badge.cjs.entry.js +3 -3
  100. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  101. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +4 -11
  102. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/bq-breadcrumb.cjs.entry.js +20 -38
  104. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  105. package/dist/cjs/bq-button_2.cjs.entry.js +7 -7
  106. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  107. package/dist/cjs/bq-card.cjs.entry.js +4 -4
  108. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  109. package/dist/cjs/bq-checkbox.cjs.entry.js +9 -11
  110. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-date-picker.cjs.entry.js +35 -16
  112. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-dialog.cjs.entry.js +6 -6
  114. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-divider.cjs.entry.js +5 -5
  116. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-drawer.cjs.entry.js +6 -6
  118. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-dropdown_2.cjs.entry.js +5 -5
  120. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-empty-state.cjs.entry.js +5 -5
  122. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-input.cjs.entry.js +42 -17
  124. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-notification.cjs.entry.js +4 -4
  126. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-option-group.cjs.entry.js +2 -2
  128. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-option-list_2.cjs.entry.js +7 -7
  130. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-option.cjs.entry.js +5 -5
  132. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-page-title.cjs.entry.js +3 -3
  134. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-progress.cjs.entry.js +9 -9
  136. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-radio-group.cjs.entry.js +68 -25
  138. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-radio.cjs.entry.js +10 -4
  140. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-select.cjs.entry.js +7 -7
  142. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  144. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
  146. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-slider.cjs.entry.js +21 -7
  148. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-spinner.cjs.entry.js +5 -5
  150. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-status.cjs.entry.js +2 -2
  152. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  153. package/dist/cjs/bq-step-item.cjs.entry.js +5 -5
  154. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-steps.cjs.entry.js +2 -2
  156. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-switch.cjs.entry.js +56 -4
  158. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-tab-group.cjs.entry.js +9 -9
  160. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  161. package/dist/cjs/bq-tab.cjs.entry.js +6 -6
  162. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  163. package/dist/cjs/bq-textarea.cjs.entry.js +62 -13
  164. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  165. package/dist/cjs/bq-toast.cjs.entry.js +2 -2
  166. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  167. package/dist/cjs/bq-tooltip.cjs.entry.js +2 -2
  168. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  169. package/dist/cjs/{index-9cbab9ab.js → index-c4edfa07.js} +787 -553
  170. package/dist/cjs/index-c4edfa07.js.map +1 -0
  171. package/dist/cjs/index.cjs.js +3 -3
  172. package/dist/cjs/{isDefined-7235b5cd.js → isDefined-e538d669.js} +2 -2
  173. package/dist/cjs/{isDefined-7235b5cd.js.map → isDefined-e538d669.js.map} +1 -1
  174. package/dist/cjs/loader.cjs.js +2 -2
  175. package/dist/collection/collection-manifest.json +1 -1
  176. package/dist/collection/components/accordion/bq-accordion.js +117 -18
  177. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  178. package/dist/collection/components/accordion-group/bq-accordion-group.js +36 -1
  179. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  180. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  181. package/dist/collection/components/alert/bq-alert.js +91 -9
  182. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  183. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  184. package/dist/collection/components/avatar/bq-avatar.js +66 -4
  185. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  186. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  187. package/dist/collection/components/badge/bq-badge.js +36 -2
  188. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  189. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +43 -119
  190. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  191. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  192. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +50 -46
  193. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  194. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  195. package/dist/collection/components/button/bq-button.js +77 -2
  196. package/dist/collection/components/button/bq-button.js.map +1 -1
  197. package/dist/collection/components/button/scss/bq-button.css +1 -1
  198. package/dist/collection/components/card/bq-card.js +37 -3
  199. package/dist/collection/components/card/bq-card.js.map +1 -1
  200. package/dist/collection/components/card/scss/bq-card.css +1 -1
  201. package/dist/collection/components/checkbox/bq-checkbox.js +62 -9
  202. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  203. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  204. package/dist/collection/components/date-picker/bq-date-picker.js +190 -43
  205. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  206. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  207. package/dist/collection/components/dialog/bq-dialog.js +96 -12
  208. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  209. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  210. package/dist/collection/components/divider/bq-divider.js +53 -8
  211. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  212. package/dist/collection/components/drawer/bq-drawer.js +75 -13
  213. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  214. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  215. package/dist/collection/components/dropdown/bq-dropdown.js +70 -4
  216. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  217. package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
  218. package/dist/collection/components/empty-state/bq-empty-state.js +24 -4
  219. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  220. package/dist/collection/components/icon/bq-icon.js +34 -2
  221. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  222. package/dist/collection/components/input/bq-input.js +176 -14
  223. package/dist/collection/components/input/bq-input.js.map +1 -1
  224. package/dist/collection/components/input/scss/bq-input.css +1 -1
  225. package/dist/collection/components/notification/bq-notification.js +73 -7
  226. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  227. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  228. package/dist/collection/components/option/bq-option.js +52 -4
  229. package/dist/collection/components/option/bq-option.js.map +1 -1
  230. package/dist/collection/components/option-group/bq-option-group.js +32 -1
  231. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  232. package/dist/collection/components/option-list/bq-option-list.js +24 -1
  233. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  234. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  235. package/dist/collection/components/page-title/bq-page-title.js +39 -2
  236. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  237. package/dist/collection/components/panel/bq-panel.js +44 -1
  238. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  239. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  240. package/dist/collection/components/progress/bq-progress.js +105 -67
  241. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  242. package/dist/collection/components/radio/bq-radio.js +76 -2
  243. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  244. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  245. package/dist/collection/components/radio-group/bq-radio-group.js +187 -57
  246. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  247. package/dist/collection/components/radio-group/scss/bq-radio-group.css +1 -1
  248. package/dist/collection/components/select/bq-select.js +133 -4
  249. package/dist/collection/components/select/bq-select.js.map +1 -1
  250. package/dist/collection/components/select/scss/bq-select.css +1 -1
  251. package/dist/collection/components/side-menu/bq-side-menu.js +53 -2
  252. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  253. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +43 -0
  254. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  255. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  256. package/dist/collection/components/slider/bq-slider.js +88 -6
  257. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  258. package/dist/collection/components/spinner/bq-spinner.js +36 -4
  259. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  260. package/dist/collection/components/status/bq-status.js +24 -4
  261. package/dist/collection/components/status/bq-status.js.map +1 -1
  262. package/dist/collection/components/step-item/bq-step-item.js +42 -4
  263. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  264. package/dist/collection/components/steps/bq-steps.js +34 -1
  265. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  266. package/dist/collection/components/switch/bq-switch.js +124 -3
  267. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  268. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  269. package/dist/collection/components/tab/bq-tab.js +100 -41
  270. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  271. package/dist/collection/components/tab-group/bq-tab-group.js +84 -46
  272. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  273. package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
  274. package/dist/collection/components/tag/bq-tag.js +70 -3
  275. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  276. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  277. package/dist/collection/components/textarea/bq-textarea.js +176 -11
  278. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  279. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  280. package/dist/collection/components/toast/bq-toast.js +60 -3
  281. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  282. package/dist/collection/components/tooltip/bq-tooltip.js +55 -1
  283. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  284. package/dist/collection/global/scripts/global.js.map +1 -1
  285. package/dist/collection/tools/generate-custom-elements-json.js +8 -7
  286. package/dist/collection/tools/generate-custom-elements-json.js.map +1 -1
  287. package/dist/components/bq-accordion-group.js +1 -1
  288. package/dist/components/bq-accordion-group.js.map +1 -1
  289. package/dist/components/bq-accordion.js +1 -1
  290. package/dist/components/bq-accordion.js.map +1 -1
  291. package/dist/components/bq-alert.js +1 -1
  292. package/dist/components/bq-alert.js.map +1 -1
  293. package/dist/components/bq-avatar.js +1 -1
  294. package/dist/components/bq-avatar.js.map +1 -1
  295. package/dist/components/bq-badge.js +1 -1
  296. package/dist/components/bq-breadcrumb-item.js +1 -1
  297. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  298. package/dist/components/bq-breadcrumb.js +1 -1
  299. package/dist/components/bq-breadcrumb.js.map +1 -1
  300. package/dist/components/bq-button.js +1 -1
  301. package/dist/components/bq-card.js +1 -1
  302. package/dist/components/bq-card.js.map +1 -1
  303. package/dist/components/bq-checkbox.js +1 -1
  304. package/dist/components/bq-checkbox.js.map +1 -1
  305. package/dist/components/bq-date-picker.js +1 -1
  306. package/dist/components/bq-date-picker.js.map +1 -1
  307. package/dist/components/bq-dialog.js +1 -1
  308. package/dist/components/bq-dialog.js.map +1 -1
  309. package/dist/components/bq-divider.js +1 -1
  310. package/dist/components/bq-drawer.js +1 -1
  311. package/dist/components/bq-drawer.js.map +1 -1
  312. package/dist/components/bq-dropdown.js +1 -1
  313. package/dist/components/bq-empty-state.js +1 -1
  314. package/dist/components/bq-empty-state.js.map +1 -1
  315. package/dist/components/bq-icon.js +1 -1
  316. package/dist/components/bq-input.js +1 -1
  317. package/dist/components/bq-input.js.map +1 -1
  318. package/dist/components/bq-notification.js +1 -1
  319. package/dist/components/bq-notification.js.map +1 -1
  320. package/dist/components/bq-option-group.js +1 -1
  321. package/dist/components/bq-option-group.js.map +1 -1
  322. package/dist/components/bq-option-list.js +1 -1
  323. package/dist/components/bq-option.js +1 -1
  324. package/dist/components/bq-option.js.map +1 -1
  325. package/dist/components/bq-page-title.js +1 -1
  326. package/dist/components/bq-page-title.js.map +1 -1
  327. package/dist/components/bq-panel.js +1 -1
  328. package/dist/components/bq-progress.js +1 -1
  329. package/dist/components/bq-progress.js.map +1 -1
  330. package/dist/components/bq-radio-group.js +1 -1
  331. package/dist/components/bq-radio-group.js.map +1 -1
  332. package/dist/components/bq-radio.js +1 -1
  333. package/dist/components/bq-radio.js.map +1 -1
  334. package/dist/components/bq-select.js +1 -1
  335. package/dist/components/bq-select.js.map +1 -1
  336. package/dist/components/bq-side-menu-item.js +1 -1
  337. package/dist/components/bq-side-menu-item.js.map +1 -1
  338. package/dist/components/bq-side-menu.js +1 -1
  339. package/dist/components/bq-side-menu.js.map +1 -1
  340. package/dist/components/bq-slider.js +1 -1
  341. package/dist/components/bq-slider.js.map +1 -1
  342. package/dist/components/bq-spinner.js +1 -1
  343. package/dist/components/bq-spinner.js.map +1 -1
  344. package/dist/components/bq-status.js +1 -1
  345. package/dist/components/bq-status.js.map +1 -1
  346. package/dist/components/bq-step-item.js +1 -1
  347. package/dist/components/bq-step-item.js.map +1 -1
  348. package/dist/components/bq-steps.js +1 -1
  349. package/dist/components/bq-steps.js.map +1 -1
  350. package/dist/components/bq-switch.js +1 -1
  351. package/dist/components/bq-switch.js.map +1 -1
  352. package/dist/components/bq-tab-group.js +1 -1
  353. package/dist/components/bq-tab-group.js.map +1 -1
  354. package/dist/components/bq-tab.js +1 -1
  355. package/dist/components/bq-tab.js.map +1 -1
  356. package/dist/components/bq-tag.js +1 -1
  357. package/dist/components/bq-textarea.js +1 -1
  358. package/dist/components/bq-textarea.js.map +1 -1
  359. package/dist/components/bq-toast.js +1 -1
  360. package/dist/components/bq-toast.js.map +1 -1
  361. package/dist/components/bq-tooltip.js +1 -1
  362. package/dist/components/index.js +1 -1
  363. package/dist/components/{p-2bdb6f46.js → p-27c1b08e.js} +2 -2
  364. package/dist/components/p-27c1b08e.js.map +1 -0
  365. package/dist/components/{p-209dd39e.js → p-295b174b.js} +2 -2
  366. package/dist/components/p-295b174b.js.map +1 -0
  367. package/dist/components/{p-fd41feb9.js → p-33371480.js} +2 -2
  368. package/dist/components/{p-fd41feb9.js.map → p-33371480.js.map} +1 -1
  369. package/dist/components/p-5940b410.js +7 -0
  370. package/dist/components/p-5940b410.js.map +1 -0
  371. package/dist/components/{p-00b80145.js → p-78d23ddc.js} +2 -2
  372. package/dist/components/{p-9e8fdef7.js → p-93c16753.js} +2 -2
  373. package/dist/components/p-93c16753.js.map +1 -0
  374. package/dist/components/{p-56dbc376.js → p-9f037c57.js} +2 -2
  375. package/dist/components/p-9f037c57.js.map +1 -0
  376. package/dist/components/{p-2c245c83.js → p-c2d43340.js} +2 -2
  377. package/dist/components/p-c2d43340.js.map +1 -0
  378. package/dist/components/{p-641036af.js → p-cbfc423f.js} +2 -2
  379. package/dist/components/p-cbfc423f.js.map +1 -0
  380. package/dist/components/{p-07467338.js → p-cf496927.js} +1 -1
  381. package/dist/components/p-cf496927.js.map +1 -0
  382. package/dist/components/{p-ddf2a5ae.js → p-f5cd1f38.js} +2 -2
  383. package/dist/components/p-f5cd1f38.js.map +1 -0
  384. package/dist/components/{p-9cfa3565.js → p-fe0b66e5.js} +2 -2
  385. package/dist/components/p-fe0b66e5.js.map +1 -0
  386. package/dist/custom-elements.json +17528 -0
  387. package/dist/esm/{assetsPath-15d3d3e4.js → assetsPath-6c498eae.js} +2 -2
  388. package/dist/esm/{assetsPath-15d3d3e4.js.map → assetsPath-6c498eae.js.map} +1 -1
  389. package/dist/esm/beeq.js +4 -4
  390. package/dist/esm/beeq.js.map +1 -1
  391. package/dist/esm/bq-accordion-group.entry.js +3 -3
  392. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  393. package/dist/esm/bq-accordion.entry.js +5 -5
  394. package/dist/esm/bq-accordion.entry.js.map +1 -1
  395. package/dist/esm/bq-alert.entry.js +6 -6
  396. package/dist/esm/bq-alert.entry.js.map +1 -1
  397. package/dist/esm/bq-avatar.entry.js +5 -5
  398. package/dist/esm/bq-avatar.entry.js.map +1 -1
  399. package/dist/esm/bq-badge.entry.js +3 -3
  400. package/dist/esm/bq-badge.entry.js.map +1 -1
  401. package/dist/esm/bq-breadcrumb-item.entry.js +4 -11
  402. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  403. package/dist/esm/bq-breadcrumb.entry.js +20 -38
  404. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  405. package/dist/esm/bq-button_2.entry.js +7 -7
  406. package/dist/esm/bq-button_2.entry.js.map +1 -1
  407. package/dist/esm/bq-card.entry.js +4 -4
  408. package/dist/esm/bq-card.entry.js.map +1 -1
  409. package/dist/esm/bq-checkbox.entry.js +9 -11
  410. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  411. package/dist/esm/bq-date-picker.entry.js +35 -16
  412. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  413. package/dist/esm/bq-dialog.entry.js +6 -6
  414. package/dist/esm/bq-dialog.entry.js.map +1 -1
  415. package/dist/esm/bq-divider.entry.js +5 -5
  416. package/dist/esm/bq-divider.entry.js.map +1 -1
  417. package/dist/esm/bq-drawer.entry.js +6 -6
  418. package/dist/esm/bq-drawer.entry.js.map +1 -1
  419. package/dist/esm/bq-dropdown_2.entry.js +5 -5
  420. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  421. package/dist/esm/bq-empty-state.entry.js +5 -5
  422. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  423. package/dist/esm/bq-input.entry.js +42 -17
  424. package/dist/esm/bq-input.entry.js.map +1 -1
  425. package/dist/esm/bq-notification.entry.js +4 -4
  426. package/dist/esm/bq-notification.entry.js.map +1 -1
  427. package/dist/esm/bq-option-group.entry.js +2 -2
  428. package/dist/esm/bq-option-group.entry.js.map +1 -1
  429. package/dist/esm/bq-option-list_2.entry.js +7 -7
  430. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  431. package/dist/esm/bq-option.entry.js +5 -5
  432. package/dist/esm/bq-option.entry.js.map +1 -1
  433. package/dist/esm/bq-page-title.entry.js +3 -3
  434. package/dist/esm/bq-page-title.entry.js.map +1 -1
  435. package/dist/esm/bq-progress.entry.js +9 -9
  436. package/dist/esm/bq-progress.entry.js.map +1 -1
  437. package/dist/esm/bq-radio-group.entry.js +68 -25
  438. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  439. package/dist/esm/bq-radio.entry.js +10 -4
  440. package/dist/esm/bq-radio.entry.js.map +1 -1
  441. package/dist/esm/bq-select.entry.js +7 -7
  442. package/dist/esm/bq-select.entry.js.map +1 -1
  443. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  444. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  445. package/dist/esm/bq-side-menu.entry.js +3 -3
  446. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  447. package/dist/esm/bq-slider.entry.js +21 -7
  448. package/dist/esm/bq-slider.entry.js.map +1 -1
  449. package/dist/esm/bq-spinner.entry.js +5 -5
  450. package/dist/esm/bq-spinner.entry.js.map +1 -1
  451. package/dist/esm/bq-status.entry.js +2 -2
  452. package/dist/esm/bq-status.entry.js.map +1 -1
  453. package/dist/esm/bq-step-item.entry.js +5 -5
  454. package/dist/esm/bq-step-item.entry.js.map +1 -1
  455. package/dist/esm/bq-steps.entry.js +2 -2
  456. package/dist/esm/bq-steps.entry.js.map +1 -1
  457. package/dist/esm/bq-switch.entry.js +56 -4
  458. package/dist/esm/bq-switch.entry.js.map +1 -1
  459. package/dist/esm/bq-tab-group.entry.js +9 -9
  460. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  461. package/dist/esm/bq-tab.entry.js +6 -6
  462. package/dist/esm/bq-tab.entry.js.map +1 -1
  463. package/dist/esm/bq-textarea.entry.js +62 -13
  464. package/dist/esm/bq-textarea.entry.js.map +1 -1
  465. package/dist/esm/bq-toast.entry.js +2 -2
  466. package/dist/esm/bq-toast.entry.js.map +1 -1
  467. package/dist/esm/bq-tooltip.entry.js +2 -2
  468. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  469. package/dist/esm/{index-f0f1a8c6.js → index-c7d02072.js} +787 -553
  470. package/dist/esm/index-c7d02072.js.map +1 -0
  471. package/dist/esm/index.js +4 -4
  472. package/dist/esm/{isDefined-edd9ee7b.js → isDefined-48de6db5.js} +2 -2
  473. package/dist/esm/{isDefined-edd9ee7b.js.map → isDefined-48de6db5.js.map} +1 -1
  474. package/dist/esm/loader.js +3 -3
  475. package/dist/hydrate/index.js +3017 -848
  476. package/dist/hydrate/index.mjs +3017 -848
  477. package/dist/stencil.config.js +12 -2
  478. package/dist/stencil.config.js.map +1 -1
  479. package/dist/types/components/accordion/bq-accordion.d.ts +100 -10
  480. package/dist/types/components/accordion-group/bq-accordion-group.d.ts +25 -0
  481. package/dist/types/components/alert/bq-alert.d.ts +71 -5
  482. package/dist/types/components/avatar/bq-avatar.d.ts +51 -1
  483. package/dist/types/components/badge/bq-badge.d.ts +28 -0
  484. package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +25 -17
  485. package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +43 -10
  486. package/dist/types/components/button/bq-button.d.ts +51 -0
  487. package/dist/types/components/card/bq-card.d.ts +31 -1
  488. package/dist/types/components/checkbox/bq-checkbox.d.ts +37 -1
  489. package/dist/types/components/date-picker/bq-date-picker.d.ts +112 -28
  490. package/dist/types/components/dialog/bq-dialog.d.ts +76 -8
  491. package/dist/types/components/divider/bq-divider.d.ts +31 -4
  492. package/dist/types/components/drawer/bq-drawer.d.ts +59 -9
  493. package/dist/types/components/dropdown/bq-dropdown.d.ts +51 -3
  494. package/dist/types/components/empty-state/bq-empty-state.d.ts +18 -0
  495. package/dist/types/components/icon/bq-icon.d.ts +21 -1
  496. package/dist/types/components/input/bq-input.d.ts +77 -0
  497. package/dist/types/components/notification/bq-notification.d.ts +57 -5
  498. package/dist/types/components/option/bq-option.d.ts +40 -0
  499. package/dist/types/components/option-group/bq-option-group.d.ts +31 -0
  500. package/dist/types/components/option-list/bq-option-list.d.ts +21 -0
  501. package/dist/types/components/page-title/bq-page-title.d.ts +37 -0
  502. package/dist/types/components/panel/bq-panel.d.ts +31 -0
  503. package/dist/types/components/progress/bq-progress.d.ts +33 -9
  504. package/dist/types/components/radio/bq-radio.d.ts +37 -0
  505. package/dist/types/components/radio-group/bq-radio-group.d.ts +53 -10
  506. package/dist/types/components/select/bq-select.d.ts +85 -0
  507. package/dist/types/components/side-menu/bq-side-menu.d.ts +45 -0
  508. package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +37 -0
  509. package/dist/types/components/slider/bq-slider.d.ts +39 -1
  510. package/dist/types/components/spinner/bq-spinner.d.ts +26 -0
  511. package/dist/types/components/status/bq-status.d.ts +21 -3
  512. package/dist/types/components/step-item/bq-step-item.d.ts +32 -0
  513. package/dist/types/components/steps/bq-steps.d.ts +27 -0
  514. package/dist/types/components/switch/bq-switch.d.ts +43 -0
  515. package/dist/types/components/tab/bq-tab.d.ts +47 -5
  516. package/dist/types/components/tab-group/bq-tab-group.d.ts +34 -8
  517. package/dist/types/components/tag/bq-tag.d.ts +49 -0
  518. package/dist/types/components/textarea/bq-textarea.d.ts +74 -0
  519. package/dist/types/components/toast/bq-toast.d.ts +47 -2
  520. package/dist/types/components/tooltip/bq-tooltip.d.ts +40 -0
  521. package/dist/types/components.d.ts +5783 -71
  522. package/dist/types/global/scripts/global.d.ts +0 -21
  523. package/dist/types/global.d.ts +26 -0
  524. package/dist/types/tools/generate-custom-elements-json.d.ts +1 -1
  525. package/package.json +1 -1
  526. package/dist/beeq/p-0180a237.entry.js.map +0 -1
  527. package/dist/beeq/p-0711a447.entry.js.map +0 -1
  528. package/dist/beeq/p-0ff234ec.entry.js.map +0 -1
  529. package/dist/beeq/p-1d67af77.entry.js.map +0 -1
  530. package/dist/beeq/p-25365502.entry.js +0 -6
  531. package/dist/beeq/p-25365502.entry.js.map +0 -1
  532. package/dist/beeq/p-26332d3f.entry.js +0 -6
  533. package/dist/beeq/p-26332d3f.entry.js.map +0 -1
  534. package/dist/beeq/p-34637682.entry.js +0 -6
  535. package/dist/beeq/p-34637682.entry.js.map +0 -1
  536. package/dist/beeq/p-350cd07e.entry.js.map +0 -1
  537. package/dist/beeq/p-42d22a31.entry.js.map +0 -1
  538. package/dist/beeq/p-439583bc.entry.js.map +0 -1
  539. package/dist/beeq/p-457ab863.entry.js.map +0 -1
  540. package/dist/beeq/p-47d41233.entry.js.map +0 -1
  541. package/dist/beeq/p-4f47130c.entry.js.map +0 -1
  542. package/dist/beeq/p-5b5f9a2a.entry.js.map +0 -1
  543. package/dist/beeq/p-5da52049.js +0 -7
  544. package/dist/beeq/p-5da52049.js.map +0 -1
  545. package/dist/beeq/p-6482a62d.entry.js.map +0 -1
  546. package/dist/beeq/p-64ddef8a.entry.js +0 -6
  547. package/dist/beeq/p-64ddef8a.entry.js.map +0 -1
  548. package/dist/beeq/p-70ae504a.entry.js.map +0 -1
  549. package/dist/beeq/p-81b6556f.entry.js.map +0 -1
  550. package/dist/beeq/p-854e2114.entry.js.map +0 -1
  551. package/dist/beeq/p-8b595d1f.entry.js.map +0 -1
  552. package/dist/beeq/p-94ca5709.entry.js +0 -6
  553. package/dist/beeq/p-94ca5709.entry.js.map +0 -1
  554. package/dist/beeq/p-96793709.entry.js.map +0 -1
  555. package/dist/beeq/p-99668b08.entry.js.map +0 -1
  556. package/dist/beeq/p-a0d6207d.entry.js.map +0 -1
  557. package/dist/beeq/p-a6094ed8.entry.js.map +0 -1
  558. package/dist/beeq/p-a89bfbd8.entry.js.map +0 -1
  559. package/dist/beeq/p-b9171e19.entry.js.map +0 -1
  560. package/dist/beeq/p-bdf2ea24.entry.js.map +0 -1
  561. package/dist/beeq/p-be234206.entry.js.map +0 -1
  562. package/dist/beeq/p-cc83682b.entry.js.map +0 -1
  563. package/dist/beeq/p-d2c20a92.entry.js.map +0 -1
  564. package/dist/beeq/p-d72440a3.entry.js.map +0 -1
  565. package/dist/beeq/p-d7507599.entry.js.map +0 -1
  566. package/dist/beeq/p-def8acd7.entry.js.map +0 -1
  567. package/dist/beeq/p-e0e5c735.entry.js.map +0 -1
  568. package/dist/beeq/p-e1d3a748.entry.js.map +0 -1
  569. package/dist/beeq/p-eab2d27c.entry.js.map +0 -1
  570. package/dist/beeq/p-f9d9bd41.entry.js +0 -6
  571. package/dist/beeq/p-f9d9bd41.entry.js.map +0 -1
  572. package/dist/cjs/index-9cbab9ab.js.map +0 -1
  573. package/dist/components/p-07467338.js.map +0 -1
  574. package/dist/components/p-209dd39e.js.map +0 -1
  575. package/dist/components/p-2bdb6f46.js.map +0 -1
  576. package/dist/components/p-2c245c83.js.map +0 -1
  577. package/dist/components/p-56dbc376.js.map +0 -1
  578. package/dist/components/p-641036af.js.map +0 -1
  579. package/dist/components/p-9cfa3565.js.map +0 -1
  580. package/dist/components/p-9e8fdef7.js.map +0 -1
  581. package/dist/components/p-ddf2a5ae.js.map +0 -1
  582. package/dist/components/p-f1736bec.js +0 -7
  583. package/dist/components/p-f1736bec.js.map +0 -1
  584. package/dist/esm/index-f0f1a8c6.js.map +0 -1
  585. /package/dist/beeq/{p-561ff182.js.map → p-3c472097.js.map} +0 -0
  586. /package/dist/beeq/{p-995bfd58.js.map → p-c9ed66d9.js.map} +0 -0
  587. /package/dist/components/{p-00b80145.js.map → p-78d23ddc.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__export","target","all","name","get","enumerable","result_exports","err","map","ok","unwrap","unwrapErr","value","isOk","isErr","result","fn","val","Promise","then","newVal"],"sources":["../../node_modules/@stencil/core/internal/client/index.js?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Platform v4.22.2 | MIT Licensed | https://stenciljs.com\n */\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/client/client-build.ts\nimport { BUILD } from \"@stencil/core/internal/app-data\";\nvar Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false\n};\n\n// src/client/client-host-ref.ts\nimport { BUILD as BUILD2 } from \"@stencil/core/internal/app-data\";\nvar hostRefs = BUILD2.hotModuleReplacement ? window.__STENCIL_HOSTREFS__ || (window.__STENCIL_HOSTREFS__ = /* @__PURE__ */ new WeakMap()) : /* @__PURE__ */ new WeakMap();\nvar getHostRef = (ref) => hostRefs.get(ref);\nvar registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);\nvar registerHost = (hostElement, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: hostElement,\n $cmpMeta$: cmpMeta,\n $instanceValues$: /* @__PURE__ */ new Map()\n };\n if (BUILD2.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD2.method && BUILD2.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);\n }\n if (BUILD2.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);\n hostElement[\"s-p\"] = [];\n hostElement[\"s-rc\"] = [];\n }\n return hostRefs.set(hostElement, hostRef);\n};\nvar isMemberInElement = (elm, memberName) => memberName in elm;\n\n// src/client/client-load-module.ts\nimport { BUILD as BUILD4 } from \"@stencil/core/internal/app-data\";\n\n// src/client/client-log.ts\nimport { BUILD as BUILD3 } from \"@stencil/core/internal/app-data\";\nvar customError;\nvar consoleError = (e, el) => (customError || console.error)(e, el);\nvar STENCIL_DEV_MODE = BUILD3.isTesting ? [\"STENCIL:\"] : [\n \"%cstencil\",\n \"color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px\"\n];\nvar consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nvar consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nvar consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nvar setErrorHandler = (handler) => customError = handler;\n\n// src/client/client-load-module.ts\nvar cmpModules = /* @__PURE__ */ new Map();\nvar MODULE_IMPORT_PREFIX = \"./\";\nvar loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n const exportName = cmpMeta.$tagName$.replace(/-/g, \"_\");\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD4.isDev && typeof bundleId !== \"string\") {\n consoleDevError(\n `Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`\n );\n return void 0;\n } else if (!bundleId) {\n return void 0;\n }\n const module = !BUILD4.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n /*!__STENCIL_STATIC_IMPORT_SWITCH__*/\n return import(\n /* @vite-ignore */\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD4.hotModuleReplacement && hmrVersionId ? \"?s-hmr=\" + hmrVersionId : \"\"}`\n ).then((importedModule) => {\n if (!BUILD4.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\n\n// src/client/client-style.ts\nvar styles = /* @__PURE__ */ new Map();\nvar modeResolutionChain = [];\n\n// src/client/client-task-queue.ts\nimport { BUILD as BUILD6 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/runtime-constants.ts\nvar CONTENT_REF_ID = \"r\";\nvar ORG_LOCATION_ID = \"o\";\nvar SLOT_NODE_ID = \"s\";\nvar TEXT_NODE_ID = \"t\";\nvar HYDRATE_ID = \"s-id\";\nvar HYDRATED_STYLE_ID = \"sty-id\";\nvar HYDRATE_CHILD_ID = \"c-id\";\nvar HYDRATED_CSS = \"{visibility:hidden}.hydrated{visibility:inherit}\";\nvar STENCIL_DOC_DATA = \"_stencilDocData\";\nvar DEFAULT_DOC_DATA = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: /* @__PURE__ */ new Set()\n};\nvar SLOT_FB_CSS = \"slot-fb{display:contents}slot-fb[hidden]{display:none}\";\nvar XLINK_NS = \"http://www.w3.org/1999/xlink\";\nvar FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [\n \"formAssociatedCallback\",\n \"formResetCallback\",\n \"formDisabledCallback\",\n \"formStateRestoreCallback\"\n];\n\n// src/client/client-window.ts\nimport { BUILD as BUILD5 } from \"@stencil/core/internal/app-data\";\nvar win = typeof window !== \"undefined\" ? window : {};\nvar doc = win.document || { head: {} };\nvar H = win.HTMLElement || class {\n};\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (h2) => h2(),\n raf: (h2) => requestAnimationFrame(h2),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts)\n};\nvar setPlatformHelpers = (helpers) => {\n Object.assign(plt, helpers);\n};\nvar supportsShadow = BUILD5.shadowDom;\nvar supportsListenerOptions = /* @__PURE__ */ (() => {\n let supportsListenerOptions2 = false;\n try {\n doc.addEventListener(\n \"e\",\n null,\n Object.defineProperty({}, \"passive\", {\n get() {\n supportsListenerOptions2 = true;\n }\n })\n );\n } catch (e) {\n }\n return supportsListenerOptions2;\n})();\nvar promiseResolve = (v) => Promise.resolve(v);\nvar supportsConstructableStylesheets = BUILD5.constructableCSS ? /* @__PURE__ */ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replaceSync === \"function\";\n } catch (e) {\n }\n return false;\n})() : false;\n\n// src/client/client-task-queue.ts\nvar queueCongestion = 0;\nvar queuePending = false;\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueDomWritesLow = [];\nvar queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n } else {\n plt.raf(flush);\n }\n }\n};\nvar consume = (queue) => {\n for (let i2 = 0; i2 < queue.length; i2++) {\n try {\n queue[i2](performance.now());\n } catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar consumeTimeout = (queue, timeout) => {\n let i2 = 0;\n let ts = 0;\n while (i2 < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i2++](ts);\n } catch (e) {\n consoleError(e);\n }\n }\n if (i2 === queue.length) {\n queue.length = 0;\n } else if (i2 !== 0) {\n queue.splice(0, i2);\n }\n};\nvar flush = () => {\n if (BUILD6.asyncQueue) {\n queueCongestion++;\n }\n consume(queueDomReads);\n if (BUILD6.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ ? performance.now() + 14 * Math.ceil(queueCongestion * (1 / 10)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if (queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0) {\n plt.raf(flush);\n } else {\n queueCongestion = 0;\n }\n } else {\n consume(queueDomWrites);\n if (queuePending = queueDomReads.length > 0) {\n plt.raf(flush);\n }\n }\n};\nvar nextTick = (cb) => promiseResolve().then(cb);\nvar readTask = /* @__PURE__ */ queueTask(queueDomReads, false);\nvar writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);\n\n// src/client/index.ts\nimport { BUILD as BUILD27, Env, NAMESPACE as NAMESPACE2 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/asset-path.ts\nvar getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nvar setAssetPath = (path) => plt.$resourcesUrl$ = path;\n\n// src/runtime/bootstrap-custom-element.ts\nimport { BUILD as BUILD24 } from \"@stencil/core/internal/app-data\";\n\n// src/utils/constants.ts\nvar EMPTY_OBJ = {};\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar HTML_NS = \"http://www.w3.org/1999/xhtml\";\n\n// src/utils/helpers.ts\nvar isDef = (v) => v != null;\nvar isComplexType = (o) => {\n o = typeof o;\n return o === \"object\" || o === \"function\";\n};\n\n// src/utils/query-nonce-meta-tag-content.ts\nfunction queryNonceMetaTagContent(doc2) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) == null ? void 0 : _b.getAttribute(\"content\")) != null ? _c : void 0;\n}\n\n// src/utils/result.ts\nvar result_exports = {};\n__export(result_exports, {\n err: () => err,\n map: () => map,\n ok: () => ok,\n unwrap: () => unwrap,\n unwrapErr: () => unwrapErr\n});\nvar ok = (value) => ({\n isOk: true,\n isErr: false,\n value\n});\nvar err = (value) => ({\n isOk: false,\n isErr: true,\n value\n});\nfunction map(result, fn) {\n if (result.isOk) {\n const val = fn(result.value);\n if (val instanceof Promise) {\n return val.then((newVal) => ok(newVal));\n } else {\n return ok(val);\n }\n }\n if (result.isErr) {\n const value = result.value;\n return err(value);\n }\n throw \"should never get here\";\n}\nvar unwrap = (result) => {\n if (result.isOk) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar unwrapErr = (result) => {\n if (result.isErr) {\n return result.value;\n } else {\n throw result.value;\n }\n};\n\n// src/runtime/connected-callback.ts\nimport { BUILD as BUILD21 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/client-hydrate.ts\nimport { BUILD as BUILD9 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/profile.ts\nimport { BUILD as BUILD7 } from \"@stencil/core/internal/app-data\";\nvar i = 0;\nvar createTime = (fnName, tagName = \"\") => {\n if (BUILD7.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n performance.mark(key);\n return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);\n } else {\n return () => {\n return;\n };\n }\n};\nvar uniqueTime = (key, measureText) => {\n if (BUILD7.profile && performance.mark) {\n if (performance.getEntriesByName(key, \"mark\").length === 0) {\n performance.mark(key);\n }\n return () => {\n if (performance.getEntriesByName(measureText, \"measure\").length === 0) {\n performance.measure(measureText, key);\n }\n };\n } else {\n return () => {\n return;\n };\n }\n};\nvar inspect = (ref) => {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return void 0;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 /* hasRendered */),\n hasConnected: !!(flags & 1 /* hasConnected */),\n isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),\n isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),\n isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),\n hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),\n hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),\n isWatchReady: !!(flags & 128 /* isWatchReady */),\n isListenReady: !!(flags & 256 /* isListenReady */),\n needsRerender: !!(flags & 512 /* needsRerender */)\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n [\"s-id\"]: hostElement[\"s-id\"],\n [\"s-cr\"]: hostElement[\"s-cr\"],\n [\"s-lr\"]: hostElement[\"s-lr\"],\n [\"s-p\"]: hostElement[\"s-p\"],\n [\"s-rc\"]: hostElement[\"s-rc\"],\n [\"s-sc\"]: hostElement[\"s-sc\"]\n };\n};\nvar installDevTools = () => {\n if (BUILD7.devTools) {\n const stencil = win.stencil = win.stencil || {};\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) => {\n let result = inspect(ref);\n if (!result && typeof originalInspect === \"function\") {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\n\n// src/runtime/vdom/h.ts\nimport { BUILD as BUILD8 } from \"@stencil/core/internal/app-data\";\nvar h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n const vNodeChildren = [];\n const walk = (c) => {\n for (let i2 = 0; i2 < c.length; i2++) {\n child = c[i2];\n if (Array.isArray(child)) {\n walk(child);\n } else if (child != null && typeof child !== \"boolean\") {\n if (simple = typeof nodeName !== \"function\" && !isComplexType(child)) {\n child = String(child);\n } else if (BUILD8.isDev && typeof nodeName !== \"function\" && child.$flags$ === void 0) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n } else {\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD8.isDev && nodeName === \"input\") {\n validateInputProperties(vnodeData);\n }\n if (BUILD8.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD8.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD8.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class = typeof classData !== \"object\" ? classData : Object.keys(classData).filter((k) => classData[k]).join(\" \");\n }\n }\n }\n if (BUILD8.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The <Host> must be the single root component. Make sure:\n- You are NOT using hostData() and <Host> in the same component.\n- <Host> is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD8.vdomFunctional && typeof nodeName === \"function\") {\n return nodeName(\n vnodeData === null ? {} : vnodeData,\n vNodeChildren,\n vdomFnUtils\n );\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD8.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD8.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null\n };\n if (BUILD8.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD8.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD8.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = (node) => node && node.$tag$ === Host;\nvar vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)\n};\nvar convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$\n});\nvar convertToPrivate = (node) => {\n if (typeof node.vtag === \"function\") {\n const vnodeData = { ...node.vattrs };\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nvar validateInputProperties = (inputElm) => {\n const props = Object.keys(inputElm);\n const value = props.indexOf(\"value\");\n if (value === -1) {\n return;\n }\n const typeIndex = props.indexOf(\"type\");\n const minIndex = props.indexOf(\"min\");\n const maxIndex = props.indexOf(\"max\");\n const stepIndex = props.indexOf(\"step\");\n if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {\n consoleDevWarn(`The \"value\" prop of <input> should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n\n// src/runtime/client-hydrate.ts\nvar initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {\n const endHydrate = createTime(\"hydrateClient\", tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD9.shadowDom && shadowRoot ? [] : null;\n const vnode = hostRef.$vnode$ = newVNode(tagName, null);\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map((c) => {\n const orgLocationId = c.$hostId$ + \".\" + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode[\"s-en\"] === \"\") {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node[\"s-hn\"] = tagName;\n if (orgLocationNode) {\n node[\"s-ol\"] = orgLocationNode;\n node[\"s-ol\"][\"s-nr\"] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD9.shadowDom && shadowRoot) {\n shadowRootNodes.map((shadowRootNode) => {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nvar clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i2;\n if (node.nodeType === 1 /* ElementNode */) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n childIdSplt = childNodeType.split(\".\");\n if (childIdSplt[0] === hostId || childIdSplt[0] === \"0\") {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n if (node.shadowRoot) {\n for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.shadowRoot.childNodes[i2],\n hostId\n );\n }\n }\n for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.childNodes[i2],\n hostId\n );\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[1] === hostId || childIdSplt[1] === \"0\") {\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n } else if (childVNode.$hostId$ === hostId) {\n if (childNodeType === SLOT_NODE_ID) {\n childVNode.$tag$ = \"slot\";\n if (childIdSplt[5]) {\n node[\"s-sn\"] = childVNode.$name$ = childIdSplt[5];\n } else {\n node[\"s-sn\"] = \"\";\n }\n node[\"s-sr\"] = true;\n if (BUILD9.shadowDom && shadowRootNodes) {\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n childVNode.$elm$.setAttribute(\"name\", childVNode.$name$);\n }\n node.parentNode.insertBefore(childVNode.$elm$, node);\n node.remove();\n if (childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n } else if (childNodeType === CONTENT_REF_ID) {\n if (BUILD9.shadowDom && shadowRootNodes) {\n node.remove();\n } else if (BUILD9.slotRelocation) {\n hostElm[\"s-cr\"] = node;\n node[\"s-cn\"] = true;\n }\n }\n }\n }\n } else if (parentVNode && parentVNode.$tag$ === \"style\") {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = \"0\";\n parentVNode.$children$ = [vnode];\n }\n};\nvar initializeDocumentHydrate = (node, orgLocNodes) => {\n if (node.nodeType === 1 /* ElementNode */) {\n let i2 = 0;\n if (node.shadowRoot) {\n for (; i2 < node.shadowRoot.childNodes.length; i2++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);\n }\n }\n for (i2 = 0; i2 < node.childNodes.length; i2++) {\n initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n const childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + \".\" + childIdSplt[2], node);\n node.nodeValue = \"\";\n node[\"s-en\"] = childIdSplt[3];\n }\n }\n};\n\n// src/runtime/initialize-component.ts\nimport { BUILD as BUILD20 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/mode.ts\nvar computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);\nvar setMode = (handler) => modeResolutionChain.push(handler);\nvar getMode = (ref) => getHostRef(ref).$modeName$;\n\n// src/runtime/proxy-component.ts\nimport { BUILD as BUILD19 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/set-value.ts\nimport { BUILD as BUILD18 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/parse-property-value.ts\nimport { BUILD as BUILD10 } from \"@stencil/core/internal/app-data\";\nvar parsePropertyValue = (propValue, propType) => {\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD10.propBoolean && propType & 4 /* Boolean */) {\n return propValue === \"false\" ? false : propValue === \"\" || !!propValue;\n }\n if (BUILD10.propNumber && propType & 2 /* Number */) {\n return parseFloat(propValue);\n }\n if (BUILD10.propString && propType & 1 /* String */) {\n return String(propValue);\n }\n return propValue;\n }\n return propValue;\n};\n\n// src/runtime/update-component.ts\nimport { BUILD as BUILD17, NAMESPACE } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/event-emitter.ts\nimport { BUILD as BUILD12 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/element.ts\nimport { BUILD as BUILD11 } from \"@stencil/core/internal/app-data\";\nvar getElement = (ref) => BUILD11.lazyLoad ? getHostRef(ref).$hostElement$ : ref;\n\n// src/runtime/event-emitter.ts\nvar createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n if (BUILD12.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail\n });\n }\n };\n};\nvar emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\n\n// src/runtime/styles.ts\nimport { BUILD as BUILD13 } from \"@stencil/core/internal/app-data\";\nvar rootAppliedStyles = /* @__PURE__ */ new WeakMap();\nvar registerStyle = (scopeId2, cssText, allowCS) => {\n let style = styles.get(scopeId2);\n if (supportsConstructableStylesheets && allowCS) {\n style = style || new CSSStyleSheet();\n if (typeof style === \"string\") {\n style = cssText;\n } else {\n style.replaceSync(cssText);\n }\n } else {\n style = cssText;\n }\n styles.set(scopeId2, style);\n};\nvar addStyle = (styleContainerNode, cmpMeta, mode) => {\n var _a;\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = styles.get(scopeId2);\n if (!BUILD13.attachStyles) {\n return scopeId2;\n }\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === \"string\") {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());\n }\n if (!appliedStyles.has(scopeId2)) {\n if (BUILD13.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId2}\"]`))) {\n styleElm.innerHTML = style;\n } else {\n styleElm = doc.createElement(\"style\");\n styleElm.innerHTML = style;\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n styleElm.setAttribute(\"nonce\", nonce);\n }\n if ((BUILD13.hydrateServerSide || BUILD13.hotModuleReplacement) && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);\n }\n if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {\n if (styleContainerNode.nodeName === \"HEAD\") {\n const preconnectLinks = styleContainerNode.querySelectorAll(\"link[rel=preconnect]\");\n const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector(\"style\");\n styleContainerNode.insertBefore(styleElm, referenceNode2);\n } else if (\"host\" in styleContainerNode) {\n if (supportsConstructableStylesheets) {\n const stylesheet = new CSSStyleSheet();\n stylesheet.replaceSync(style);\n styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];\n } else {\n const existingStyleContainer = styleContainerNode.querySelector(\"style\");\n if (existingStyleContainer) {\n existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;\n } else {\n styleContainerNode.prepend(styleElm);\n }\n }\n } else {\n styleContainerNode.append(styleElm);\n }\n }\n if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== \"HEAD\") {\n styleContainerNode.insertBefore(styleElm, null);\n }\n }\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n styleElm.innerHTML += SLOT_FB_CSS;\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId2);\n }\n }\n } else if (BUILD13.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId2;\n};\nvar attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime(\"attachStyles\", cmpMeta.$tagName$);\n const scopeId2 = addStyle(\n BUILD13.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),\n cmpMeta,\n hostRef.$modeName$\n );\n if ((BUILD13.shadowDom || BUILD13.scoped) && BUILD13.cssAnnotations && flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {\n elm[\"s-sc\"] = scopeId2;\n elm.classList.add(scopeId2 + \"-h\");\n if (BUILD13.scoped && flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId2 + \"-s\");\n }\n }\n endAttachStyles();\n};\nvar getScopeId = (cmp, mode) => \"sc-\" + (BUILD13.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + \"-\" + mode : cmp.$tagName$);\n\n// src/runtime/vdom/vdom-render.ts\nimport { BUILD as BUILD16 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/update-element.ts\nimport { BUILD as BUILD15 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/set-accessor.ts\nimport { BUILD as BUILD14 } from \"@stencil/core/internal/app-data\";\nvar setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD14.vdomClass && memberName === \"class\") {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n } else if (BUILD14.vdomStyle && memberName === \"style\") {\n if (BUILD14.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD14.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.removeProperty(prop);\n } else {\n elm.style[prop] = \"\";\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD14.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.setProperty(prop, newValue[prop]);\n } else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n } else if (BUILD14.vdomKey && memberName === \"key\") {\n } else if (BUILD14.vdomRef && memberName === \"ref\") {\n if (newValue) {\n newValue(elm);\n }\n } else if (BUILD14.vdomListener && (BUILD14.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) && memberName[0] === \"o\" && memberName[1] === \"n\") {\n if (memberName[2] === \"-\") {\n memberName = memberName.slice(3);\n } else if (isMemberInElement(win, ln)) {\n memberName = ln.slice(2);\n } else {\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue || newValue) {\n const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);\n memberName = memberName.replace(CAPTURE_EVENT_REGEX, \"\");\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, capture);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, capture);\n }\n }\n } else if (BUILD14.vdomPropOrAttr) {\n const isComplex = isComplexType(newValue);\n if ((isProp || isComplex && newValue !== null) && !isSvg) {\n try {\n if (!elm.tagName.includes(\"-\")) {\n const n = newValue == null ? \"\" : newValue;\n if (memberName === \"list\") {\n isProp = false;\n } else if (oldValue == null || elm[memberName] != n) {\n if (typeof elm.__lookupSetter__(memberName) === \"function\") {\n elm[memberName] = n;\n } else {\n elm.setAttribute(memberName, n);\n }\n }\n } else {\n elm[memberName] = newValue;\n }\n } catch (e) {\n }\n }\n let xlink = false;\n if (BUILD14.vdomXlink) {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, \"\"))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === \"\") {\n if (BUILD14.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n } else {\n elm.removeAttribute(memberName);\n }\n }\n } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? \"\" : newValue;\n if (BUILD14.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n } else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);\nvar CAPTURE_EVENT_SUFFIX = \"Capture\";\nvar CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + \"$\");\n\n// src/runtime/vdom/update-element.ts\nvar updateElement = (oldVnode, newVnode, isSvgMode2) => {\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD15.updatable) {\n for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);\n }\n }\n }\n for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);\n }\n};\nfunction sortedAttrNames(attrNames) {\n return attrNames.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...attrNames.filter((attr) => attr !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n attrNames\n );\n}\n\n// src/runtime/vdom/vdom-render.ts\nvar scopeId;\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n var _a;\n const newVNode2 = newParentVNode.$children$[childIndex];\n let i2 = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD16.slotRelocation && !useNativeShadowDom) {\n checkSlotRelocate = true;\n if (newVNode2.$tag$ === \"slot\") {\n if (scopeId) {\n parentElm.classList.add(scopeId + \"-s\");\n }\n newVNode2.$flags$ |= newVNode2.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2 /* isSlotFallback */\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1 /* isSlotReference */\n );\n }\n }\n if (BUILD16.isDev && newVNode2.$elm$) {\n consoleDevError(\n `The JSX ${newVNode2.$text$ !== null ? `\"${newVNode2.$text$}\" text` : `\"${newVNode2.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`\n );\n }\n if (BUILD16.vdomText && newVNode2.$text$ !== null) {\n elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);\n } else if (BUILD16.slotRelocation && newVNode2.$flags$ & 1 /* isSlotReference */) {\n elm = newVNode2.$elm$ = BUILD16.isDebug || BUILD16.hydrateServerSide ? slotReferenceDebugNode(newVNode2) : doc.createTextNode(\"\");\n } else {\n if (BUILD16.svg && !isSvgMode) {\n isSvgMode = newVNode2.$tag$ === \"svg\";\n }\n elm = newVNode2.$elm$ = BUILD16.svg ? doc.createElementNS(\n isSvgMode ? SVG_NS : HTML_NS,\n !useNativeShadowDom && BUILD16.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n ) : doc.createElement(\n !useNativeShadowDom && BUILD16.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n );\n if (BUILD16.svg && isSvgMode && newVNode2.$tag$ === \"foreignObject\") {\n isSvgMode = false;\n }\n if (BUILD16.vdomAttribute) {\n updateElement(null, newVNode2, isSvgMode);\n }\n const rootNode = elm.getRootNode();\n const isElementWithinShadowRoot = !rootNode.querySelector(\"body\");\n if (!isElementWithinShadowRoot && BUILD16.scoped && isDef(scopeId) && elm[\"s-si\"] !== scopeId) {\n elm.classList.add(elm[\"s-si\"] = scopeId);\n }\n if (BUILD16.scoped) {\n updateElementScopeIds(elm, parentElm);\n }\n if (newVNode2.$children$) {\n for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {\n childNode = createElm(oldParentVNode, newVNode2, i2, elm);\n if (childNode) {\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD16.svg) {\n if (newVNode2.$tag$ === \"svg\") {\n isSvgMode = false;\n } else if (elm.tagName === \"foreignObject\") {\n isSvgMode = true;\n }\n }\n }\n elm[\"s-hn\"] = hostTagName;\n if (BUILD16.slotRelocation) {\n if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n elm[\"s-sr\"] = true;\n elm[\"s-cr\"] = contentRef;\n elm[\"s-sn\"] = newVNode2.$name$ || \"\";\n elm[\"s-rf\"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {\n if (BUILD16.experimentalSlotFixes) {\n relocateToHostRoot(oldParentVNode.$elm$);\n } else {\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n }\n return elm;\n};\nvar relocateToHostRoot = (parentElm) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const host = parentElm.closest(hostTagName.toLowerCase());\n if (host != null) {\n const contentRefNode = Array.from(host.childNodes).find((ref) => ref[\"s-cr\"]);\n const childNodeArray = Array.from(parentElm.childNodes);\n for (const childNode of contentRefNode ? childNodeArray.reverse() : childNodeArray) {\n if (childNode[\"s-sh\"] != null) {\n insertBefore(host, childNode, contentRefNode != null ? contentRefNode : null);\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = Array.from(parentElm.childNodes);\n if (parentElm[\"s-sr\"] && BUILD16.experimentalSlotFixes) {\n let node = parentElm;\n while (node = node.nextSibling) {\n if (node && node[\"s-sn\"] === parentElm[\"s-sn\"] && node[\"s-sh\"] === hostTagName) {\n oldSlotChildNodes.push(node);\n }\n }\n }\n for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {\n const childNode = oldSlotChildNodes[i2];\n if (childNode[\"s-hn\"] !== hostTagName && childNode[\"s-ol\"]) {\n insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));\n childNode[\"s-ol\"].remove();\n childNode[\"s-ol\"] = void 0;\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = BUILD16.slotRelocation && parentElm[\"s-cr\"] && parentElm[\"s-cr\"].parentNode || parentElm;\n let childNode;\n if (BUILD16.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n insertBefore(containerElm, childNode, BUILD16.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nvar removeVnodes = (vnodes, startIdx, endIdx) => {\n for (let index = startIdx; index <= endIdx; ++index) {\n const vnode = vnodes[index];\n if (vnode) {\n const elm = vnode.$elm$;\n nullifyVNodeRefs(vnode);\n if (elm) {\n if (BUILD16.slotRelocation) {\n checkSlotFallbackVisibility = true;\n if (elm[\"s-ol\"]) {\n elm[\"s-ol\"].remove();\n } else {\n putBackInOriginalLocation(elm, true);\n }\n }\n elm.remove();\n }\n }\n }\n};\nvar updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i2 = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {\n patch(oldStartVnode, newStartVnode, isInitialRender);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {\n patch(oldEndVnode, newEndVnode, isInitialRender);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {\n if (BUILD16.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode, isInitialRender);\n insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {\n if (BUILD16.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode, isInitialRender);\n insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n idxInOld = -1;\n if (BUILD16.vdomKey) {\n for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {\n if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {\n idxInOld = i2;\n break;\n }\n }\n }\n if (BUILD16.vdomKey && idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);\n } else {\n patch(elmToMove, newStartVnode, isInitialRender);\n oldCh[idxInOld] = void 0;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n } else {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD16.slotRelocation) {\n insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));\n } else {\n insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(\n parentElm,\n newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,\n newVNode2,\n newCh,\n newStartIdx,\n newEndIdx\n );\n } else if (BUILD16.updatable && newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {\n if (leftVNode.$tag$ === rightVNode.$tag$) {\n if (BUILD16.slotRelocation && leftVNode.$tag$ === \"slot\") {\n if (\n // The component gets hydrated and no VDOM has been initialized.\n // Here the comparison can't happen as $name$ property is not set for `leftNode`.\n \"$nodeId$\" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many\n // hydration comments to be removed\n leftVNode.$elm$.nodeType !== 8\n ) {\n return false;\n }\n return leftVNode.$name$ === rightVNode.$name$;\n }\n if (BUILD16.vdomKey && !isInitialRender) {\n return leftVNode.$key$ === rightVNode.$key$;\n }\n return true;\n }\n return false;\n};\nvar referenceNode = (node) => {\n return node && node[\"s-ol\"] || node;\n};\nvar parentReferenceNode = (node) => (node[\"s-ol\"] ? node[\"s-ol\"] : node).parentNode;\nvar patch = (oldVNode, newVNode2, isInitialRender = false) => {\n const elm = newVNode2.$elm$ = oldVNode.$elm$;\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode2.$children$;\n const tag = newVNode2.$tag$;\n const text = newVNode2.$text$;\n let defaultHolder;\n if (!BUILD16.vdomText || text === null) {\n if (BUILD16.svg) {\n isSvgMode = tag === \"svg\" ? true : tag === \"foreignObject\" ? false : isSvgMode;\n }\n if (BUILD16.vdomAttribute || BUILD16.reflect) {\n if (BUILD16.slot && tag === \"slot\" && !useNativeShadowDom) {\n if (BUILD16.experimentalSlotFixes && oldVNode.$name$ !== newVNode2.$name$) {\n newVNode2.$elm$[\"s-sn\"] = newVNode2.$name$ || \"\";\n relocateToHostRoot(newVNode2.$elm$.parentElement);\n }\n } else {\n updateElement(oldVNode, newVNode2, isSvgMode);\n }\n }\n if (BUILD16.updatable && oldChildren !== null && newChildren !== null) {\n updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);\n } else if (newChildren !== null) {\n if (BUILD16.updatable && BUILD16.vdomText && oldVNode.$text$ !== null) {\n elm.textContent = \"\";\n }\n addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);\n } else if (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !isInitialRender && BUILD16.updatable && oldChildren !== null\n ) {\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD16.svg && isSvgMode && tag === \"svg\") {\n isSvgMode = false;\n }\n } else if (BUILD16.vdomText && BUILD16.slotRelocation && (defaultHolder = elm[\"s-cr\"])) {\n defaultHolder.parentNode.textContent = text;\n } else if (BUILD16.vdomText && oldVNode.$text$ !== text) {\n elm.data = text;\n }\n};\nvar updateFallbackSlotVisibility = (elm) => {\n const childNodes = elm.childNodes;\n for (const childNode of childNodes) {\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode[\"s-sr\"]) {\n const slotName = childNode[\"s-sn\"];\n childNode.hidden = false;\n for (const siblingNode of childNodes) {\n if (siblingNode !== childNode) {\n if (siblingNode[\"s-hn\"] !== childNode[\"s-hn\"] || slotName !== \"\") {\n if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute(\"slot\") || slotName === siblingNode[\"s-sn\"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode[\"s-sn\"]) {\n childNode.hidden = true;\n break;\n }\n } else {\n if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== \"\") {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nvar relocateNodes = [];\nvar markSlotContentForRelocation = (elm) => {\n let node;\n let hostContentNodes;\n let j;\n for (const childNode of elm.childNodes) {\n if (childNode[\"s-sr\"] && (node = childNode[\"s-cr\"]) && node.parentNode) {\n hostContentNodes = node.parentNode.childNodes;\n const slotName = childNode[\"s-sn\"];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node[\"s-cn\"] && !node[\"s-nr\"] && node[\"s-hn\"] !== childNode[\"s-hn\"] && (!BUILD16.experimentalSlotFixes || !node[\"s-sh\"] || node[\"s-sh\"] !== childNode[\"s-hn\"])) {\n if (isNodeLocatedInSlot(node, slotName)) {\n let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n checkSlotFallbackVisibility = true;\n node[\"s-sn\"] = node[\"s-sn\"] || slotName;\n if (relocateNodeData) {\n relocateNodeData.$nodeToRelocate$[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodeData.$slotRefNode$ = childNode;\n } else {\n node[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node\n });\n }\n if (node[\"s-sr\"]) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node[\"s-sn\"])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n relocateNodes.push({\n $nodeToRelocate$: node\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n markSlotContentForRelocation(childNode);\n }\n }\n};\nvar isNodeLocatedInSlot = (nodeToRelocate, slotName) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute(\"slot\") === null && slotName === \"\") {\n return true;\n }\n if (nodeToRelocate.getAttribute(\"slot\") === slotName) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate[\"s-sn\"] === slotName) {\n return true;\n }\n return slotName === \"\";\n};\nvar nullifyVNodeRefs = (vNode) => {\n if (BUILD16.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);\n }\n};\nvar insertBefore = (parent, newNode, reference) => {\n const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);\n if (BUILD16.scoped) {\n updateElementScopeIds(newNode, parent);\n }\n return inserted;\n};\nvar findScopeIds = (element) => {\n const scopeIds = [];\n if (element) {\n scopeIds.push(\n ...element[\"s-scs\"] || [],\n element[\"s-si\"],\n element[\"s-sc\"],\n ...findScopeIds(element.parentElement)\n );\n }\n return scopeIds;\n};\nvar updateElementScopeIds = (element, parent, iterateChildNodes = false) => {\n var _a;\n if (element && parent && element.nodeType === 1 /* ElementNode */) {\n const scopeIds = new Set(findScopeIds(parent).filter(Boolean));\n if (scopeIds.size) {\n (_a = element.classList) == null ? void 0 : _a.add(...element[\"s-scs\"] = [...scopeIds]);\n if (element[\"s-ol\"] || iterateChildNodes) {\n for (const childNode of Array.from(element.childNodes)) {\n updateElementScopeIds(childNode, element, true);\n }\n }\n }\n }\n};\nvar renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {\n var _a, _b, _c, _d, _e;\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n if (BUILD16.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The <Host> must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the <Host>.\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n <Host>{content}</Host>\n );\n}\n `);\n }\n if (BUILD16.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(\n ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]\n );\n }\n if (isInitialLoad && rootVnode.$attrs$) {\n for (const key of Object.keys(rootVnode.$attrs$)) {\n if (hostElm.hasAttribute(key) && ![\"key\", \"ref\", \"style\", \"class\"].includes(key)) {\n rootVnode.$attrs$[key] = hostElm[key];\n }\n }\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = BUILD16.shadowDom ? hostElm.shadowRoot || hostElm : hostElm;\n if (BUILD16.scoped || BUILD16.shadowDom) {\n scopeId = hostElm[\"s-sc\"];\n }\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n if (BUILD16.slotRelocation) {\n contentRef = hostElm[\"s-cr\"];\n checkSlotFallbackVisibility = false;\n }\n patch(oldVNode, rootVnode, isInitialLoad);\n if (BUILD16.slotRelocation) {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n markSlotContentForRelocation(rootVnode.$elm$);\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate[\"s-ol\"]) {\n const orgLocationNode = BUILD16.isDebug || BUILD16.hydrateServerSide ? originalLocationDebugNode(nodeToRelocate) : doc.createTextNode(\"\");\n orgLocationNode[\"s-nr\"] = nodeToRelocate;\n insertBefore(nodeToRelocate.parentNode, nodeToRelocate[\"s-ol\"] = orgLocationNode, nodeToRelocate);\n }\n }\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n const slotRefNode = relocateData.$slotRefNode$;\n if (slotRefNode) {\n const parentNodeRef = slotRefNode.parentNode;\n let insertBeforeNode = slotRefNode.nextSibling;\n if (!BUILD16.experimentalSlotFixes || insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {\n let orgLocationNode = (_a = nodeToRelocate[\"s-ol\"]) == null ? void 0 : _a.previousSibling;\n while (orgLocationNode) {\n let refNode = (_b = orgLocationNode[\"s-nr\"]) != null ? _b : null;\n if (refNode && refNode[\"s-sn\"] === nodeToRelocate[\"s-sn\"] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode[\"s-sr\"])) {\n refNode = refNode == null ? void 0 : refNode.nextSibling;\n }\n if (!refNode || !refNode[\"s-nr\"]) {\n insertBeforeNode = refNode;\n break;\n }\n }\n orgLocationNode = orgLocationNode.previousSibling;\n }\n }\n if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {\n if (nodeToRelocate !== insertBeforeNode) {\n if (!BUILD16.experimentalSlotFixes && !nodeToRelocate[\"s-hn\"] && nodeToRelocate[\"s-ol\"]) {\n nodeToRelocate[\"s-hn\"] = nodeToRelocate[\"s-ol\"].parentNode.nodeName;\n }\n insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = (_c = nodeToRelocate[\"s-ih\"]) != null ? _c : false;\n }\n }\n }\n nodeToRelocate && typeof slotRefNode[\"s-rf\"] === \"function\" && slotRefNode[\"s-rf\"](nodeToRelocate);\n } else {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (isInitialLoad) {\n nodeToRelocate[\"s-ih\"] = (_d = nodeToRelocate.hidden) != null ? _d : false;\n }\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n relocateNodes.length = 0;\n }\n if (BUILD16.experimentalScopedSlotChanges && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n for (const childNode of rootVnode.$elm$.childNodes) {\n if (childNode[\"s-hn\"] !== hostTagName && !childNode[\"s-sh\"]) {\n if (isInitialLoad && childNode[\"s-ih\"] == null) {\n childNode[\"s-ih\"] = (_e = childNode.hidden) != null ? _e : false;\n }\n childNode.hidden = true;\n }\n }\n }\n contentRef = void 0;\n};\nvar slotReferenceDebugNode = (slotVNode) => doc.createComment(\n `<slot${slotVNode.$name$ ? ' name=\"' + slotVNode.$name$ + '\"' : \"\"}> (host=${hostTagName.toLowerCase()})`\n);\nvar originalLocationDebugNode = (nodeToRelocate) => doc.createComment(\n `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate[\"s-hn\"]})` : `[${nodeToRelocate.textContent}]`)\n);\n\n// src/runtime/update-component.ts\nvar attachToAncestor = (hostRef, ancestorComponent) => {\n if (BUILD17.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent[\"s-p\"]) {\n ancestorComponent[\"s-p\"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));\n }\n};\nvar scheduleUpdate = (hostRef, isInitialLoad) => {\n if (BUILD17.taskQueue && BUILD17.updatable) {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (BUILD17.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return BUILD17.taskQueue ? writeTask(dispatch) : dispatch();\n};\nvar dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime(\"scheduleUpdate\", hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD17.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (!instance) {\n throw new Error(\n `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`\n );\n }\n let maybePromise;\n if (isInitialLoad) {\n if (BUILD17.lazyLoad && BUILD17.hostListener) {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = void 0;\n }\n }\n emitLifecycleEvent(elm, \"componentWillLoad\");\n if (BUILD17.cmpWillLoad) {\n maybePromise = safeCall(instance, \"componentWillLoad\");\n }\n } else {\n emitLifecycleEvent(elm, \"componentWillUpdate\");\n if (BUILD17.cmpWillUpdate) {\n maybePromise = safeCall(instance, \"componentWillUpdate\");\n }\n }\n emitLifecycleEvent(elm, \"componentWillRender\");\n if (BUILD17.cmpWillRender) {\n maybePromise = enqueue(maybePromise, () => safeCall(instance, \"componentWillRender\"));\n }\n endSchedule();\n return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nvar enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {\n console.error(err2);\n fn();\n}) : fn();\nvar isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === \"function\";\nvar updateComponent = async (hostRef, instance, isInitialLoad) => {\n var _a;\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime(\"update\", hostRef.$cmpMeta$.$tagName$);\n const rc = elm[\"s-rc\"];\n if (BUILD17.style && isInitialLoad) {\n attachStyles(hostRef);\n }\n const endRender = createTime(\"render\", hostRef.$cmpMeta$.$tagName$);\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n if (BUILD17.hydrateServerSide) {\n await callRender(hostRef, instance, elm, isInitialLoad);\n } else {\n callRender(hostRef, instance, elm, isInitialLoad);\n }\n if (BUILD17.isDev) {\n hostRef.$renderCount$ = hostRef.$renderCount$ === void 0 ? 1 : hostRef.$renderCount$ + 1;\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n if (BUILD17.hydrateServerSide) {\n try {\n serverSideConnected(elm);\n if (isInitialLoad) {\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n elm[\"s-en\"] = \"\";\n } else if (hostRef.$cmpMeta$.$flags$ & 2 /* scopedCssEncapsulation */) {\n elm[\"s-en\"] = \"c\";\n }\n }\n } catch (e) {\n consoleError(e, elm);\n }\n }\n if (BUILD17.asyncLoading && rc) {\n rc.map((cb) => cb());\n elm[\"s-rc\"] = void 0;\n }\n endRender();\n endUpdate();\n if (BUILD17.asyncLoading) {\n const childrenPromises = (_a = elm[\"s-p\"]) != null ? _a : [];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n } else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n } else {\n postUpdateComponent(hostRef);\n }\n};\nvar renderingRef = null;\nvar callRender = (hostRef, instance, elm, isInitialLoad) => {\n const allRenderFn = BUILD17.allRenderFn ? true : false;\n const lazyLoad = BUILD17.lazyLoad ? true : false;\n const taskQueue = BUILD17.taskQueue ? true : false;\n const updatable = BUILD17.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n if (BUILD17.hasRenderFn || BUILD17.reflect) {\n if (BUILD17.vdomRender || BUILD17.reflect) {\n if (BUILD17.hydrateServerSide) {\n return Promise.resolve(instance).then((value) => renderVdom(hostRef, value, isInitialLoad));\n } else {\n renderVdom(hostRef, instance, isInitialLoad);\n }\n } else {\n const shadowRoot = elm.shadowRoot;\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n shadowRoot.textContent = instance;\n } else {\n elm.textContent = instance;\n }\n }\n }\n } catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n renderingRef = null;\n return null;\n};\nvar getRenderingRef = () => renderingRef;\nvar postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime(\"postUpdate\", tagName);\n const instance = BUILD17.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD17.cmpDidRender) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidRender\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidRender\");\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n if (BUILD17.asyncLoading && BUILD17.cssAnnotations) {\n addHydratedFlag(elm);\n }\n if (BUILD17.cmpDidLoad) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 2048 /* devOnDidLoad */;\n }\n safeCall(instance, \"componentDidLoad\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~2048 /* devOnDidLoad */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidLoad\");\n endPostUpdate();\n if (BUILD17.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n } else {\n if (BUILD17.cmpDidUpdate) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidUpdate\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidUpdate\");\n endPostUpdate();\n }\n if (BUILD17.method && BUILD17.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n if (BUILD17.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = void 0;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n};\nvar forceUpdate = (ref) => {\n if (BUILD17.updatable && (Build.isBrowser || Build.isTesting)) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n return isConnected;\n }\n return false;\n};\nvar appDidLoad = (who) => {\n if (BUILD17.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD17.asyncQueue) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(() => emitEvent(win, \"appload\", { detail: { namespace: NAMESPACE } }));\n if (BUILD17.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, \"st:app:start\");\n }\n};\nvar safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n } catch (e) {\n consoleError(e);\n }\n }\n return void 0;\n};\nvar emitLifecycleEvent = (elm, lifecycleName) => {\n if (BUILD17.lifecycleDOMEvents) {\n emitEvent(elm, \"stencil_\" + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE\n }\n });\n }\n};\nvar addHydratedFlag = (elm) => {\n var _a, _b;\n return BUILD17.hydratedClass ? elm.classList.add((_a = BUILD17.hydratedSelectorName) != null ? _a : \"hydrated\") : BUILD17.hydratedAttribute ? elm.setAttribute((_b = BUILD17.hydratedSelectorName) != null ? _b : \"hydrated\", \"\") : void 0;\n};\nvar serverSideConnected = (elm) => {\n const children = elm.children;\n if (children != null) {\n for (let i2 = 0, ii = children.length; i2 < ii; i2++) {\n const childElm = children[i2];\n if (typeof childElm.connectedCallback === \"function\") {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\n\n// src/runtime/set-value.ts\nvar getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nvar setValue = (ref, propName, newVal, cmpMeta) => {\n const hostRef = getHostRef(ref);\n if (BUILD18.lazyLoad && !hostRef) {\n throw new Error(\n `Couldn't find host element for \"${cmpMeta.$tagName$}\" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`\n );\n }\n const elm = BUILD18.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD18.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);\n const didValueChange = newVal !== oldVal && !areBothNaN;\n if ((!BUILD18.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD18.isDev) {\n if (hostRef.$flags$ & 1024 /* devOnRender */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n } else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n }\n }\n if (!BUILD18.lazyLoad || instance) {\n if (BUILD18.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n watchMethods.map((watchMethodName) => {\n try {\n instance[watchMethodName](newVal, oldVal, propName);\n } catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if (BUILD18.updatable && (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n if (BUILD18.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\n\n// src/runtime/proxy-component.ts\nvar proxyComponent = (Cstr, cmpMeta, flags) => {\n var _a, _b;\n const prototype = Cstr.prototype;\n if (BUILD19.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {\n FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(\n (cbName) => Object.defineProperty(prototype, cbName, {\n value(...args) {\n const hostRef = getHostRef(this);\n const elm = BUILD19.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD19.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (!instance) {\n hostRef.$onReadyPromise$.then((instance2) => {\n const cb = instance2[cbName];\n typeof cb === \"function\" && cb.call(instance2, ...args);\n });\n } else {\n const cb = instance[cbName];\n typeof cb === \"function\" && cb.call(instance, ...args);\n }\n }\n })\n );\n }\n if (BUILD19.member && cmpMeta.$members$ || BUILD19.watchCallback && (cmpMeta.$watchers$ || Cstr.watchers)) {\n if (BUILD19.watchCallback && Cstr.watchers && !cmpMeta.$watchers$) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});\n members.map(([memberName, [memberFlags]]) => {\n if ((BUILD19.prop || BUILD19.state) && (memberFlags & 31 /* Prop */ || (!BUILD19.lazyLoad || flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {\n Object.defineProperty(prototype, memberName, {\n get() {\n return getValue(this, memberName);\n },\n set(newValue) {\n if (BUILD19.isDev) {\n const ref = getHostRef(this);\n if (\n // we are proxying the instance (not element)\n (flags & 1 /* isElementConstructor */) === 0 && // the element is not constructing\n (ref && ref.$flags$ & 8 /* isConstructingInstance */) === 0 && // the member is a prop\n (memberFlags & 31 /* Prop */) !== 0 && // the member is not mutable\n (memberFlags & 1024 /* Mutable */) === 0\n ) {\n consoleDevWarn(\n `@Prop() \"${memberName}\" on <${cmpMeta.$tagName$}> is immutable but was modified from within the component.\nMore information: https://stenciljs.com/docs/properties#prop-mutability`\n );\n }\n }\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true\n });\n } else if (BUILD19.lazyLoad && BUILD19.method && flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n var _a2;\n const ref = getHostRef(this);\n return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {\n var _a3;\n return (_a3 = ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);\n });\n }\n });\n }\n });\n if (BUILD19.observeAttribute && (!BUILD19.lazyLoad || flags & 1 /* isElementConstructor */)) {\n const attrNameToPropName = /* @__PURE__ */ new Map();\n prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {\n plt.jmp(() => {\n var _a2;\n const propName = attrNameToPropName.get(attrName);\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === \"number\" && // cast type to number to avoid TS compiler issues\n this[propName] == newValue) {\n return;\n } else if (propName == null) {\n const hostRef = getHostRef(this);\n const flags2 = hostRef == null ? void 0 : hostRef.$flags$;\n if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {\n const elm = BUILD19.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD19.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];\n entry == null ? void 0 : entry.forEach((callbackName) => {\n if (instance[callbackName] != null) {\n instance[callbackName].call(instance, newValue, oldValue, attrName);\n }\n });\n }\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === \"boolean\" ? false : newValue;\n });\n };\n Cstr.observedAttributes = Array.from(\n /* @__PURE__ */ new Set([\n ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),\n ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {\n var _a2;\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD19.reflect && m[0] & 512 /* ReflectAttr */) {\n (_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);\n }\n return attrName;\n })\n ])\n );\n }\n }\n return Cstr;\n};\n\n// src/runtime/initialize-component.ts\nvar initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {\n let Cstr;\n if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n const bundleId = cmpMeta.$lazyBundleId$;\n if ((BUILD20.lazyLoad || BUILD20.hydrateClientSide) && bundleId) {\n const CstrImport = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (CstrImport && \"then\" in CstrImport) {\n const endLoad = uniqueTime(\n `st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`,\n `[Stencil] Load module for <${cmpMeta.$tagName$}>`\n );\n Cstr = await CstrImport;\n endLoad();\n } else {\n Cstr = CstrImport;\n }\n if (!Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD20.member && !Cstr.isProxied) {\n if (BUILD20.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime(\"createInstance\", cmpMeta.$tagName$);\n if (BUILD20.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n try {\n new Cstr(hostRef);\n } catch (e) {\n consoleError(e);\n }\n if (BUILD20.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD20.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else {\n Cstr = elm.constructor;\n const cmpTag = elm.localName;\n customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);\n }\n if (BUILD20.style && Cstr && Cstr.style) {\n let style;\n if (typeof Cstr.style === \"string\") {\n style = Cstr.style;\n } else if (BUILD20.mode && typeof Cstr.style !== \"string\") {\n hostRef.$modeName$ = computeMode(elm);\n if (hostRef.$modeName$) {\n style = Cstr.style[hostRef.$modeName$];\n }\n if (BUILD20.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute(\"s-mode\", hostRef.$modeName$);\n }\n }\n const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId2)) {\n const endRegisterStyles = createTime(\"registerStyles\", cmpMeta.$tagName$);\n if (!BUILD20.hydrateServerSide && BUILD20.shadowDom && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n BUILD20.shadowDomShim && cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import(\"./shadow-css.js\").then((m) => m.scopeCss(style, scopeId2));\n }\n registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD20.asyncLoading && ancestorComponent && ancestorComponent[\"s-rc\"]) {\n ancestorComponent[\"s-rc\"].push(schedule);\n } else {\n schedule();\n }\n};\nvar fireConnectedCallback = (instance) => {\n if (BUILD20.lazyLoad && BUILD20.connectedCallback) {\n safeCall(instance, \"connectedCallback\");\n }\n};\n\n// src/runtime/connected-callback.ts\nvar connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime(\"connectedCallback\", cmpMeta.$tagName$);\n if (BUILD21.hostListenerTargetParent) {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD21.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD21.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId2 = BUILD21.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute(\"s-mode\")) : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId2 + \"-h\", scopeId2 + \"-s\");\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD21.slotRelocation && !hostId) {\n if (BUILD21.hydrateServerSide || (BUILD21.slot || BUILD21.shadowDom) && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {\n setContentReference(elm);\n }\n }\n if (BUILD21.asyncLoading) {\n let ancestorComponent = elm;\n while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {\n if (BUILD21.hydrateClientSide && ancestorComponent.nodeType === 1 /* ElementNode */ && ancestorComponent.hasAttribute(\"s-id\") && ancestorComponent[\"s-p\"] || ancestorComponent[\"s-p\"]) {\n attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);\n break;\n }\n }\n }\n if (BUILD21.prop && !BUILD21.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD21.initializeNextTick) {\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n } else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n } else {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));\n }\n }\n endConnected();\n }\n};\nvar setContentReference = (elm) => {\n const contentRefElm = elm[\"s-cr\"] = doc.createComment(\n BUILD21.isDebug ? `content-ref (host=${elm.localName})` : \"\"\n );\n contentRefElm[\"s-cn\"] = true;\n insertBefore(elm, contentRefElm, elm.firstChild);\n};\n\n// src/runtime/disconnected-callback.ts\nimport { BUILD as BUILD22 } from \"@stencil/core/internal/app-data\";\nvar disconnectInstance = (instance) => {\n if (BUILD22.lazyLoad && BUILD22.disconnectedCallback) {\n safeCall(instance, \"disconnectedCallback\");\n }\n if (BUILD22.cmpDidUnload) {\n safeCall(instance, \"componentDidUnload\");\n }\n};\nvar disconnectedCallback = async (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n if (BUILD22.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = void 0;\n }\n }\n if (!BUILD22.lazyLoad) {\n disconnectInstance(elm);\n } else if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n disconnectInstance(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));\n }\n }\n};\n\n// src/runtime/dom-extras.ts\nimport { BUILD as BUILD23 } from \"@stencil/core/internal/app-data\";\nvar patchPseudoShadowDom = (hostElementPrototype, descriptorPrototype) => {\n patchCloneNode(hostElementPrototype);\n patchSlotAppendChild(hostElementPrototype);\n patchSlotAppend(hostElementPrototype);\n patchSlotPrepend(hostElementPrototype);\n patchSlotInsertAdjacentElement(hostElementPrototype);\n patchSlotInsertAdjacentHTML(hostElementPrototype);\n patchSlotInsertAdjacentText(hostElementPrototype);\n patchTextContent(hostElementPrototype);\n patchChildSlotNodes(hostElementPrototype, descriptorPrototype);\n patchSlotRemoveChild(hostElementPrototype);\n};\nvar patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function(deep) {\n const srcNode = this;\n const isShadowDom = BUILD23.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD23.slot && !isShadowDom && deep) {\n let i2 = 0;\n let slotted, nonStencilNode;\n const stencilPrivates = [\n \"s-id\",\n \"s-cr\",\n \"s-lr\",\n \"s-rc\",\n \"s-sc\",\n \"s-p\",\n \"s-cn\",\n \"s-sr\",\n \"s-sn\",\n \"s-hn\",\n \"s-ol\",\n \"s-nr\",\n \"s-si\",\n \"s-rf\",\n \"s-scs\"\n ];\n for (; i2 < srcNode.childNodes.length; i2++) {\n slotted = srcNode.childNodes[i2][\"s-nr\"];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i2][privateField]);\n if (slotted) {\n if (BUILD23.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n } else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i2].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nvar patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function(newChild) {\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotPlaceholder = document.createTextNode(\"\");\n slotPlaceholder[\"s-nr\"] = newChild;\n slotNode[\"s-cr\"].parentNode.__appendChild(slotPlaceholder);\n newChild[\"s-ol\"] = slotPlaceholder;\n newChild[\"s-sh\"] = slotNode[\"s-hn\"];\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n const insertedNode = insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);\n updateFallbackSlotVisibility(this);\n return insertedNode;\n }\n return this.__appendChild(newChild);\n };\n};\nvar patchSlotRemoveChild = (ElementPrototype) => {\n ElementPrototype.__removeChild = ElementPrototype.removeChild;\n ElementPrototype.removeChild = function(toRemove) {\n if (toRemove && typeof toRemove[\"s-sn\"] !== \"undefined\") {\n const slotNode = getHostSlotNode(this.childNodes, toRemove[\"s-sn\"], this.tagName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove[\"s-sn\"]);\n const existingNode = slotChildNodes.find((n) => n === toRemove);\n if (existingNode) {\n existingNode.remove();\n updateFallbackSlotVisibility(this);\n return;\n }\n }\n }\n return this.__removeChild(toRemove);\n };\n};\nvar patchSlotPrepend = (HostElementPrototype) => {\n const originalPrepend = HostElementPrototype.prepend;\n HostElementPrototype.prepend = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotPlaceholder = document.createTextNode(\"\");\n slotPlaceholder[\"s-nr\"] = newChild;\n slotNode[\"s-cr\"].parentNode.__appendChild(slotPlaceholder);\n newChild[\"s-ol\"] = slotPlaceholder;\n newChild[\"s-sh\"] = slotNode[\"s-hn\"];\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[0];\n return insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);\n }\n if (newChild.nodeType === 1 && !!newChild.getAttribute(\"slot\")) {\n newChild.hidden = true;\n }\n return originalPrepend.call(this, newChild);\n });\n };\n};\nvar patchSlotAppend = (HostElementPrototype) => {\n HostElementPrototype.append = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n this.appendChild(newChild);\n });\n };\n};\nvar patchSlotInsertAdjacentHTML = (HostElementPrototype) => {\n const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;\n HostElementPrototype.insertAdjacentHTML = function(position, text) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentHtml.call(this, position, text);\n }\n const container = this.ownerDocument.createElement(\"_\");\n let node;\n container.innerHTML = text;\n if (position === \"afterbegin\") {\n while (node = container.firstChild) {\n this.prepend(node);\n }\n } else if (position === \"beforeend\") {\n while (node = container.firstChild) {\n this.append(node);\n }\n }\n };\n};\nvar patchSlotInsertAdjacentText = (HostElementPrototype) => {\n HostElementPrototype.insertAdjacentText = function(position, text) {\n this.insertAdjacentHTML(position, text);\n };\n};\nvar patchSlotInsertAdjacentElement = (HostElementPrototype) => {\n const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;\n HostElementPrototype.insertAdjacentElement = function(position, element) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentElement.call(this, position, element);\n }\n if (position === \"afterbegin\") {\n this.prepend(element);\n return element;\n } else if (position === \"beforeend\") {\n this.append(element);\n return element;\n }\n return element;\n };\n};\nvar patchTextContent = (hostElementPrototype) => {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"textContent\");\n Object.defineProperty(hostElementPrototype, \"__textContent\", descriptor);\n if (BUILD23.experimentalScopedSlotChanges) {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n // To mimic shadow root behavior, we need to return the text content of all\n // nodes in a slot reference node\n get() {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n const textContent = slotRefNodes.map((node) => {\n var _a, _b;\n const text = [];\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n if (slotContent.nodeType === 3 /* TEXT_NODE */ || slotContent.nodeType === 1 /* ELEMENT_NODE */) {\n text.push((_b = (_a = slotContent.textContent) == null ? void 0 : _a.trim()) != null ? _b : \"\");\n }\n slotContent = slotContent.nextSibling;\n }\n return text.filter((ref) => ref !== \"\").join(\" \");\n }).filter((text) => text !== \"\").join(\" \");\n return \" \" + textContent + \" \";\n },\n // To mimic shadow root behavior, we need to overwrite all nodes in a slot\n // reference node. If a default slot reference node exists, the text content will be\n // placed there. Otherwise, the new text node will be hidden\n set(value) {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n slotRefNodes.forEach((node) => {\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n const tmp = slotContent;\n slotContent = slotContent.nextSibling;\n tmp.remove();\n }\n if (node[\"s-sn\"] === \"\") {\n const textNode = this.ownerDocument.createTextNode(value);\n textNode[\"s-sn\"] = \"\";\n insertBefore(node.parentElement, textNode, node.nextSibling);\n } else {\n node.remove();\n }\n });\n }\n });\n } else {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n get() {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n } else if (slotNode) {\n return slotNode.textContent;\n } else {\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n } else if (slotNode) {\n slotNode.textContent = value;\n } else {\n this.__textContent = value;\n const contentRefElm = this[\"s-cr\"];\n if (contentRefElm) {\n insertBefore(this, contentRefElm, this.firstChild);\n }\n }\n }\n });\n }\n};\nvar patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__(\"childNodes\");\n Object.defineProperty(elm, \"children\", {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n }\n });\n Object.defineProperty(elm, \"childElementCount\", {\n get() {\n return elm.children.length;\n }\n });\n Object.defineProperty(elm, \"childNodes\", {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 && getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i2 = 0; i2 < childNodes.length; i2++) {\n const slot = childNodes[i2][\"s-nr\"];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n }\n });\n }\n};\nvar getAllChildSlotNodes = (childNodes) => {\n const slotRefNodes = [];\n for (const childNode of Array.from(childNodes)) {\n if (childNode[\"s-sr\"]) {\n slotRefNodes.push(childNode);\n }\n slotRefNodes.push(...getAllChildSlotNodes(childNode.childNodes));\n }\n return slotRefNodes;\n};\nvar getSlotName = (node) => node[\"s-sn\"] || node.nodeType === 1 && node.getAttribute(\"slot\") || \"\";\nvar getHostSlotNode = (childNodes, slotName, hostName) => {\n let i2 = 0;\n let childNode;\n for (; i2 < childNodes.length; i2++) {\n childNode = childNodes[i2];\n if (childNode[\"s-sr\"] && childNode[\"s-sn\"] === slotName && childNode[\"s-hn\"] === hostName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nvar getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n[\"s-sn\"] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\n\n// src/runtime/bootstrap-custom-element.ts\nvar defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nvar proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1]\n };\n if (BUILD24.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD24.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD24.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD24.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD24.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n if (BUILD24.experimentalSlotFixes) {\n if (BUILD24.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(Cstr.prototype, cmpMeta);\n }\n } else {\n if (BUILD24.slotChildNodesFix) {\n patchChildSlotNodes(Cstr.prototype, cmpMeta);\n }\n if (BUILD24.cloneNodeFix) {\n patchCloneNode(Cstr.prototype);\n }\n if (BUILD24.appendChildSlotFix) {\n patchSlotAppendChild(Cstr.prototype);\n }\n if (BUILD24.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(Cstr.prototype);\n }\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n const hostRef = getHostRef(this);\n addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);\n connectedCallback(this);\n if (BUILD24.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD24.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (!this.shadowRoot) {\n if (BUILD24.shadowDelegatesFocus) {\n this.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n this.attachShadow({ mode: \"open\" });\n }\n } else {\n if (this.shadowRoot.mode !== \"open\") {\n throw new Error(\n `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`\n );\n }\n }\n } else {\n this.shadowRoot = this;\n }\n }\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nvar forceModeUpdate = (elm) => {\n if (BUILD24.style && BUILD24.mode && !BUILD24.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm[\"s-sc\"];\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId2)) {\n registerStyle(scopeId2, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + \"-h\", oldScopeId + \"-s\");\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\n\n// src/runtime/bootstrap-lazy.ts\nimport { BUILD as BUILD25 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/hmr-component.ts\nvar hmrStart = (hostElement, cmpMeta, hmrVersionId) => {\n const hostRef = getHostRef(hostElement);\n hostRef.$flags$ = 1 /* hasConnected */;\n initializeComponent(hostElement, hostRef, cmpMeta, hmrVersionId);\n};\n\n// src/runtime/bootstrap-lazy.ts\nvar bootstrapLazy = (lazyBundles, options = {}) => {\n var _a;\n if (BUILD25.profile && performance.mark) {\n performance.mark(\"st:app:start\");\n }\n installDevTools();\n const endBootstrap = createTime(\"bootstrapLazy\");\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements2 = win.customElements;\n const head = doc.head;\n const metaCharset = /* @__PURE__ */ head.querySelector(\"meta[charset]\");\n const dataStyles = /* @__PURE__ */ doc.createElement(\"style\");\n const deferredConnectedCallbacks = [];\n let appLoadFallback;\n let isBootstrapping = true;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || \"./\", doc.baseURI).href;\n if (BUILD25.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD25.hydrateClientSide) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n let hasSlotRelocation = false;\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n var _a2;\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3]\n };\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n hasSlotRelocation = true;\n }\n if (BUILD25.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD25.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD25.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD25.watchCallback) {\n cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};\n }\n if (BUILD25.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD25.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n super(self);\n this.hasRegisteredEventListeners = false;\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD25.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n if (supportsShadow) {\n if (!self.shadowRoot) {\n if (BUILD25.shadowDelegatesFocus) {\n self.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n self.attachShadow({ mode: \"open\" });\n }\n } else {\n if (self.shadowRoot.mode !== \"open\") {\n throw new Error(\n `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${self.shadowRoot.mode} but Stencil only supports open shadow roots.`\n );\n }\n }\n } else if (!BUILD25.hydrateServerSide && !(\"shadowRoot\" in self)) {\n self.shadowRoot = self;\n }\n }\n }\n connectedCallback() {\n const hostRef = getHostRef(this);\n if (!this.hasRegisteredEventListeners) {\n this.hasRegisteredEventListeners = true;\n addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);\n }\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n deferredConnectedCallbacks.push(this);\n } else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD25.experimentalSlotFixes) {\n if (BUILD25.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(HostElement.prototype, cmpMeta);\n }\n } else {\n if (BUILD25.slotChildNodesFix) {\n patchChildSlotNodes(HostElement.prototype, cmpMeta);\n }\n if (BUILD25.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD25.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD25.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(HostElement.prototype);\n }\n }\n if (BUILD25.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */) {\n HostElement.formAssociated = true;\n }\n if (BUILD25.hotModuleReplacement) {\n HostElement.prototype[\"s-hmr\"] = function(hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements2.get(tagName)) {\n cmpTags.push(tagName);\n customElements2.define(\n tagName,\n proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */)\n );\n }\n });\n });\n if (cmpTags.length > 0) {\n if (hasSlotRelocation) {\n dataStyles.textContent += SLOT_FB_CSS;\n }\n if (BUILD25.invisiblePrehydration && (BUILD25.hydratedClass || BUILD25.hydratedAttribute)) {\n dataStyles.textContent += cmpTags.sort() + HYDRATED_CSS;\n }\n if (dataStyles.innerHTML.length) {\n dataStyles.setAttribute(\"data-styles\", \"\");\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n dataStyles.setAttribute(\"nonce\", nonce);\n }\n head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n }\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n } else {\n if (BUILD25.profile) {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30, \"timeout\"));\n } else {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30));\n }\n }\n endBootstrap();\n};\n\n// src/runtime/fragment.ts\nvar Fragment = (_, children) => children;\n\n// src/runtime/host-listener.ts\nimport { BUILD as BUILD26 } from \"@stencil/core/internal/app-data\";\nvar addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {\n if (BUILD26.hostListener && listeners) {\n if (BUILD26.hostListenerTargetParent) {\n if (attachParentListeners) {\n listeners = listeners.filter(([flags]) => flags & 32 /* TargetParent */);\n } else {\n listeners = listeners.filter(([flags]) => !(flags & 32 /* TargetParent */));\n }\n }\n listeners.map(([flags, name, method]) => {\n const target = BUILD26.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));\n });\n }\n};\nvar hostListenerProxy = (hostRef, methodName) => (ev) => {\n var _a;\n try {\n if (BUILD26.lazyLoad) {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n (_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);\n } else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n } else {\n hostRef.$hostElement$[methodName](ev);\n }\n } catch (e) {\n consoleError(e);\n }\n};\nvar getHostListenerTarget = (elm, flags) => {\n if (BUILD26.hostListenerTargetDocument && flags & 4 /* TargetDocument */) return doc;\n if (BUILD26.hostListenerTargetWindow && flags & 8 /* TargetWindow */) return win;\n if (BUILD26.hostListenerTargetBody && flags & 16 /* TargetBody */) return doc.body;\n if (BUILD26.hostListenerTargetParent && flags & 32 /* TargetParent */ && elm.parentElement)\n return elm.parentElement;\n return elm;\n};\nvar hostListenerOpts = (flags) => supportsListenerOptions ? {\n passive: (flags & 1 /* Passive */) !== 0,\n capture: (flags & 2 /* Capture */) !== 0\n} : (flags & 2 /* Capture */) !== 0;\n\n// src/runtime/nonce.ts\nvar setNonce = (nonce) => plt.$nonce$ = nonce;\n\n// src/runtime/platform-options.ts\nvar setPlatformOptions = (opts) => Object.assign(plt, opts);\n\n// src/runtime/vdom/vdom-annotations.ts\nvar insertVdomAnnotations = (doc2, staticComponents) => {\n if (doc2 != null) {\n const docData = STENCIL_DOC_DATA in doc2 ? doc2[STENCIL_DOC_DATA] : { ...DEFAULT_DOC_DATA };\n docData.staticComponents = new Set(staticComponents);\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc2, doc2.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n var _a;\n if (orgLocationNode != null && orgLocationNode[\"s-nr\"]) {\n const nodeRef = orgLocationNode[\"s-nr\"];\n let hostId = nodeRef[\"s-host-id\"];\n let nodeId = nodeRef[\"s-node-id\"];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();\n if (textContent === \"\") {\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc2.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n insertBefore(nodeRef.parentNode, commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode[\"s-en\"] === \"\") {\n orgLocationNodeId += `.`;\n } else if (orgLocationParentNode[\"s-en\"] === \"c\") {\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nvar parseVNodeAnnotations = (doc2, node, docData, orgLocationNodes) => {\n var _a;\n if (node == null) {\n return;\n }\n if (node[\"s-nr\"] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a = node.shadowRoot) == null ? void 0 : _a.childNodes) || [])];\n childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0\n };\n insertVNodeAnnotations(doc2, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc2, childNode, docData, orgLocationNodes);\n });\n }\n};\nvar insertVNodeAnnotations = (doc2, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm[\"s-cr\"] != null) {\n hostElm[\"s-cr\"].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc2, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute(HYDRATE_CHILD_ID)) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find(\n (node) => node.nodeType === 8 /* CommentNode */ && node[\"s-sr\"]\n );\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(\n HYDRATE_CHILD_ID,\n `${comment[\"s-host-id\"]}.${comment[\"s-node-id\"]}.0.${index}`\n );\n }\n }\n }\n }\n};\nvar insertChildVNodeAnnotations = (doc2, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm[\"s-host-id\"] = hostId;\n childElm[\"s-node-id\"] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode == null ? void 0 : parentNode.nodeName;\n if (nodeName !== \"STYLE\" && nodeName !== \"SCRIPT\") {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc2.createComment(textNodeId);\n insertBefore(parentNode, commentBeforeTextNode, childElm);\n }\n } else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm[\"s-sr\"]) {\n const slotName = childElm[\"s-sn\"] || \"\";\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index2) => {\n insertChildVNodeAnnotations(doc2, vnode, cmpData, hostId, childDepth, index2);\n });\n }\n};\nexport {\n BUILD27 as BUILD,\n Build,\n Env,\n Fragment,\n H,\n H as HTMLElement,\n Host,\n NAMESPACE2 as NAMESPACE,\n STENCIL_DEV_MODE,\n addHostEventListeners,\n bootstrapLazy,\n cmpModules,\n connectedCallback,\n consoleDevError,\n consoleDevInfo,\n consoleDevWarn,\n consoleError,\n createEvent,\n defineCustomElement,\n disconnectedCallback,\n doc,\n forceModeUpdate,\n forceUpdate,\n getAssetPath,\n getElement,\n getHostRef,\n getMode,\n getRenderingRef,\n getValue,\n h,\n insertVdomAnnotations,\n isMemberInElement,\n loadModule,\n modeResolutionChain,\n nextTick,\n parsePropertyValue,\n plt,\n postUpdateComponent,\n promiseResolve,\n proxyComponent,\n proxyCustomElement,\n readTask,\n registerHost,\n registerInstance,\n renderVdom,\n setAssetPath,\n setErrorHandler,\n setMode,\n setNonce,\n setPlatformHelpers,\n setPlatformOptions,\n setValue,\n styles,\n supportsConstructableStylesheets,\n supportsListenerOptions,\n supportsShadow,\n win,\n writeTask\n};\n"],"mappings":";;;;AAGA,IAAIA,EAAYC,OAAOC,eACvB,IAAIC,EAAW,CAACC,EAAQC,KACtB,IAAK,IAAIC,KAAQD,EACfL,EAAUI,EAAQE,EAAM,CAAEC,IAAKF,EAAIC,GAAOE,WAAY,MAAO,EA4QjE,IAAIC,EAAiB,GACrBN,EAASM,EAAgB,CACvBC,IAAK,IAAMA,EACXC,IAAK,IAAMA,EACXC,GAAI,IAAMA,EACVC,OAAQ,IAAMA,EACdC,UAAW,IAAMA,IAEnB,IAAIF,EAAMG,IAAK,CACbC,KAAM,KACNC,MAAO,MACPF,UAEF,IAAIL,EAAOK,IAAK,CACdC,KAAM,MACNC,MAAO,KACPF,UAEF,SAASJ,EAAIO,EAAQC,GACnB,GAAID,EAAOF,KAAM,CACf,MAAMI,EAAMD,EAAGD,EAAOH,OACtB,GAAIK,aAAeC,QAAS,CAC1B,OAAOD,EAAIE,MAAMC,GAAWX,EAAGW,IACrC,KAAW,CACL,OAAOX,EAAGQ,EAChB,CACA,CACE,GAAIF,EAAOD,MAAO,CAChB,MAAMF,EAAQG,EAAOH,MACrB,OAAOL,EAAIK,EACf,CACE,KAAM,uBACR,CACA,IAAIF,EAAUK,IACZ,GAAIA,EAAOF,KAAM,CACf,OAAOE,EAAOH,KAClB,KAAS,CACL,MAAMG,EAAOH,KACjB,GAEA,IAAID,EAAaI,IACf,GAAIA,EAAOD,MAAO,CAChB,OAAOC,EAAOH,KAClB,KAAS,CACL,MAAMG,EAAOH,KACjB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["beeqBasePath","DATA_BEEQ_ATTRIBUTE","DEFAULT_SVG_PATH","setBasePath","path","getBasePath","subpath","configScript","findConfigScript","fallbackScript","findFallbackScript","script","getAttribute","getScriptPath","formattedSubpath","replace","window","document","querySelector","src","substring","lastIndexOf","requests","Map","iconContent","fetchSvg","async","url","sanitize","isNil","fetch","has","get","response","ok","set","svgContent","text","validateContent","error","console","getSvgContent","req","svgTag","iconCssClass","div","createElement","innerHTML","svgElm","existingClasses","setAttribute","trim","removeAttribute","isValid","elm","nodeType","Node","ELEMENT_NODE","nodeName","toLowerCase","attribute","Array","from","attributes","isString","value","startsWith","childNode","children","bqIconCss","BqIconStyle0","BqIcon","proxyCustomElement","H","undefined","handlePropsChange","this","loadIcon","name","handleWeightChange","includes","weight","warn","REGULAR","isWeightedIcon","weightSuffix","iconName","svgLoaded","connectedCallback","setupIconComponent","componentWillLoad","getIconSource","SVG_EXTENSION","iconFileName","then","_svgContent","emit","render","styles","color","getColorCSSVariable","size","h","Host","key","style","label","class","part","role"],"sources":["../../packages/beeq/src/shared/utils/assetsPath.ts","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["/**\n * Inspired by Shoelace's `getBasePath` and `setBasePath` functions.\n * https://github.com/shoelace-style/shoelace/blob/next/src/utilities/base-path.ts\n */\nimport { Env } from '@stencil/core';\n\nlet beeqBasePath: string | undefined;\nconst DATA_BEEQ_ATTRIBUTE = 'data-beeq';\nconst DEFAULT_SVG_PATH = 'svg';\n\n/**\n * Sets the base path for the assets.\n * @param {string} path - The base path to set.\n */\nexport const setBasePath = (path: string): void => {\n beeqBasePath = path;\n};\n\n/**\n * Gets the base path for the assets.\n * @param {string} subpath - An optional subpath to append to the base path.\n * @returns {string} The base path of the assets.\n */\nexport const getBasePath = (subpath: string = ''): string => {\n if (!beeqBasePath) {\n const configScript = findConfigScript();\n const fallbackScript = configScript ? null : findFallbackScript();\n\n const script = configScript || fallbackScript;\n if (script) {\n const path = configScript ? script.getAttribute(DATA_BEEQ_ATTRIBUTE) : getScriptPath(script);\n setBasePath(`${path}/${DEFAULT_SVG_PATH}`);\n } else {\n // Fallback: use an environment variable (if set) or the default path\n setBasePath(Env.BEEQ_ASSETS_BASE_PATH || `./${DEFAULT_SVG_PATH}`);\n }\n }\n\n // Return the base path without a trailing slash. If one exists, append the subpath separated by a slash.\n const formattedSubpath = subpath ? `/${subpath.replace(/^\\//, '')}` : '';\n return beeqBasePath.replace(/\\/$/, '') + formattedSubpath;\n};\n\n/**\n * Finds the configuration script element.\n * @returns The configuration script element or null if not found.\n */\nconst findConfigScript = (): HTMLScriptElement | null => {\n if (typeof window === 'undefined') return null;\n\n return document.querySelector(`script[${DATA_BEEQ_ATTRIBUTE}]`);\n};\n\n/**\n * Finds the fallback script element.\n * @returns The fallback script element or null if not found.\n */\nconst findFallbackScript = (): HTMLScriptElement | null => {\n if (typeof window === 'undefined') return null;\n\n return document.querySelector(`script[src*=\"beeq\"]`);\n};\n\n/**\n * Gets the path of a script element.\n * @param {HTMLScriptElement} script - The script element.\n * @returns The path of the script element.\n */\nconst getScriptPath = (script: HTMLScriptElement): string => {\n if (typeof window === 'undefined') return '';\n\n const src = script.getAttribute('src');\n return src ? src.substring(0, src.lastIndexOf('/')) : '';\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isNil, isString } from '../../../shared/utils';\n\nconst requests = new Map<string, Promise<unknown>>();\nexport const iconContent = new Map<string, string>();\n\n/**\n * Fetches SVG content from a given URL and optionally sanitizes it.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nconst fetchSvg = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url) || typeof fetch === 'undefined' || typeof window === 'undefined') {\n return;\n }\n\n if (requests.has(url)) return requests.get(url);\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n iconContent.set(url, '');\n return;\n }\n\n let svgContent = await response.text();\n\n if (sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n\n iconContent.set(url, svgContent);\n return svgContent;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n iconContent.set(url, '');\n }\n};\n\n/**\n * Retrieves the SVG content for a given URL, fetching and caching it if necessary.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nexport const getSvgContent = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url)) return;\n\n let req = requests.get(url);\n\n if (isNil(req)) {\n req = fetchSvg(url, sanitize);\n requests.set(url, req);\n }\n return req;\n};\n\n/**\n * Validates and sanitizes the SVG content.\n * @param {string} svgContent - The SVG content to validate.\n * @returns {string} - The sanitized SVG content.\n */\nexport const validateContent = (svgContent: string): string => {\n if (typeof window === 'undefined' || isNil(svgContent)) return '';\n\n const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n const svgElm = div.querySelector(svgTag);\n\n if (svgElm) {\n const existingClasses = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', `${existingClasses} ${iconCssClass}`.trim());\n svgElm.setAttribute('part', svgTag);\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n\n return '';\n};\n\n/**\n * Checks if an HTML element is valid (i.e., does not contain scripts or event handlers).\n * @param {HTMLElement} elm - The element to check.\n * @returns {boolean} - True if the element is valid, false otherwise.\n */\nexport const isValid = (elm: Element): boolean => {\n if (!elm) return false;\n if (elm.nodeType !== Node.ELEMENT_NODE) return false;\n if (elm.nodeName.toLowerCase() === 'script') return false;\n\n for (const attribute of Array.from(elm.attributes)) {\n if (isString(attribute.value) && attribute.value.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n for (const childNode of Array.from(elm.children) as HTMLElement[]) {\n if (!isValid(childNode)) return false;\n }\n\n return true;\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { TIconWeight } from './bq-icon.types';\nimport { getSvgContent, iconContent } from './helper/request';\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\n\n/**\n * Icons are simplified images that graphically explain the meaning of an object on the screen.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private _svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\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 setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = (name: string) => {\n const url = this.getIconSource(name);\n getSvgContent(url, true).then(() => {\n this._svgContent = iconContent.get(url);\n this.svgLoaded.emit(this._svgContent);\n });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.color && { '--bq-icon--color': getColorCSSVariable(this.color) }),\n ...(this.size && { '--bq-icon--size': `${this.size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={this.label ?? `${this.name} icon`}\n class=\"flex text-[color:--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]\"\n innerHTML={this._svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"mappings":";;;;oMAMA,IAAIA,EACJ,MAAMC,EAAsB,YAC5B,MAAMC,EAAmB,M,MAMZC,EAAeC,IAC1BJ,EAAeI,CAAI,E,MAQRC,EAAc,CAACC,EAAkB,MAC5C,IAAKN,EAAc,CACjB,MAAMO,EAAeC,IACrB,MAAMC,EAAiBF,EAAe,KAAOG,IAE7C,MAAMC,EAASJ,GAAgBE,EAC/B,GAAIE,EAAQ,CACV,MAAMP,EAAOG,EAAeI,EAAOC,aAAaX,GAAuBY,EAAcF,GACrFR,EAAY,GAAGC,KAAQF,I,KAClB,CAELC,EAAyC,KAAKD,I,EAKlD,MAAMY,EAAmBR,EAAU,IAAIA,EAAQS,QAAQ,MAAO,MAAQ,GACtE,OAAOf,EAAae,QAAQ,MAAO,IAAMD,CAAgB,EAO3D,MAAMN,EAAmB,KACvB,UAAWQ,SAAW,YAAa,OAAO,KAE1C,OAAOC,SAASC,cAAc,UAAUjB,KAAuB,EAOjE,MAAMS,EAAqB,KACzB,UAAWM,SAAW,YAAa,OAAO,KAE1C,OAAOC,SAASC,cAAc,sBAAsB,EAQtD,MAAML,EAAiBF,IACrB,UAAWK,SAAW,YAAa,MAAO,GAE1C,MAAMG,EAAMR,EAAOC,aAAa,OAChC,OAAOO,EAAMA,EAAIC,UAAU,EAAGD,EAAIE,YAAY,MAAQ,EAAE,EClE1D,MAAMC,EAAW,IAAIC,IACd,MAAMC,EAAc,IAAID,IAQ/B,MAAME,EAAWC,MAAOC,EAAaC,KACnC,GAAIC,EAAMF,WAAeG,QAAU,oBAAsBd,SAAW,YAAa,CAC/E,M,CAGF,GAAIM,EAASS,IAAIJ,GAAM,OAAOL,EAASU,IAAIL,GAE3C,IACE,MAAMM,QAAiBH,MAAMH,GAE7B,IAAKM,EAASC,GAAI,CAChBV,EAAYW,IAAIR,EAAK,IACrB,M,CAGF,IAAIS,QAAmBH,EAASI,OAEhC,GAAIT,IAAa,MAAO,CACtBQ,EAAaE,EAAgBF,E,CAG/BZ,EAAYW,IAAIR,EAAKS,GACrB,OAAOA,C,CACP,MAAOG,GACPC,QAAQD,MAAM,qCAAqCZ,KAAQY,GAC3Df,EAAYW,IAAIR,EAAK,G,GAUlB,MAAMc,EAAgBf,MAAOC,EAAaC,KAC/C,GAAIC,EAAMF,GAAM,OAEhB,IAAIe,EAAMpB,EAASU,IAAIL,GAEvB,GAAIE,EAAMa,GAAM,CACdA,EAAMjB,EAASE,EAAKC,GACpBN,EAASa,IAAIR,EAAKe,E,CAEpB,OAAOA,CAAG,EAQL,MAAMJ,EAAmBF,IAC9B,UAAWpB,SAAW,aAAea,EAAMO,GAAa,MAAO,GAE/D,MAAMO,EAAS,MACf,MAAMC,EAAe,eACrB,MAAMC,EAAM5B,SAAS6B,cAAc,OACnCD,EAAIE,UAAYX,EAEhB,MAAMY,EAASH,EAAI3B,cAAcyB,GAEjC,GAAIK,EAAQ,CACV,MAAMC,EAAkBD,EAAOpC,aAAa,UAAY,GACxDoC,EAAOE,aAAa,QAAS,GAAGD,KAAmBL,IAAeO,QAClEH,EAAOE,aAAa,OAAQP,GAC5BK,EAAOI,gBAAgB,UACvBJ,EAAOI,gBAAgB,SAEvB,GAAIC,EAAQL,GAAS,CACnB,OAAOH,EAAIE,S,EAIf,MAAO,EAAE,EAQJ,MAAMM,EAAWC,IACtB,IAAKA,EAAK,OAAO,MACjB,GAAIA,EAAIC,WAAaC,KAAKC,aAAc,OAAO,MAC/C,GAAIH,EAAII,SAASC,gBAAkB,SAAU,OAAO,MAEpD,IAAK,MAAMC,KAAaC,MAAMC,KAAKR,EAAIS,YAAa,CAClD,GAAIC,EAASJ,EAAUK,QAAUL,EAAUK,MAAMN,cAAcO,WAAW,MAAO,CAC/E,OAAO,K,EAIX,IAAK,MAAMC,KAAaN,MAAMC,KAAKR,EAAIc,UAA4B,CACjE,IAAKf,EAAQc,GAAY,OAAO,K,CAGlC,OAAO,IAAI,EChHb,MAAME,EAAY,o3mBAClB,MAAAC,EAAeD,E,MCiBFE,EAAMC,EAAA,MAAAD,UAAAE,E,0MA0BiC,G,+BAMFC,S,CAQhD,iBAAAC,GACEC,KAAKC,SAASD,KAAKE,K,CAQrB,kBAAAC,GACE,GAAIH,KAAKE,KAAKE,SAASJ,KAAKK,QAAS,OAErCzC,QAAQ0C,KACN,2NAKF,MAAMC,EAAU,UAChB,MAAMC,GAAkBvD,EAAM+C,KAAKK,SAAWL,KAAKK,SAAWE,EAG9D,MAAME,EAAeD,EAAiB,IAAIR,KAAKK,SAAW,GAG1D,MAAMK,EAAW,GAAGV,KAAKE,OAAOO,IAChCT,KAAKC,SAASS,E,CAQPC,UAMT,iBAAAC,GACEZ,KAAKa,oB,CAGP,iBAAAC,GACEd,KAAKa,oB,CAkBCA,mBAAqB,KAC3Bb,KAAKC,SAASD,KAAKE,MAEnB,IAAKjD,EAAM+C,KAAKK,QAASL,KAAKG,oBAAoB,EAG5CY,cAAiBb,IACvB,IAAKF,KAAKE,OAASF,KAAKzD,IAAK,OAE7B,GAAIyD,KAAKzD,IAAK,OAAOyD,KAAKzD,IAE1B,MAAMyE,EAAgB,OACtB,MAAMC,EAAe,GAAGf,IAAOc,IAE/B,OAAOvF,EAAYwF,EAAa,EAG1BhB,SAAYC,IAClB,MAAMnD,EAAMiD,KAAKe,cAAcb,GAC/BrC,EAAcd,EAAK,MAAMmE,MAAK,KAC5BlB,KAAKmB,YAAcvE,EAAYQ,IAAIL,GACnCiD,KAAKW,UAAUS,KAAKpB,KAAKmB,YAAY,GACrC,EAOJ,MAAAE,GACE,MAAMC,EAAS,IACTtB,KAAKuB,OAAS,CAAE,mBAAoBC,EAAoBxB,KAAKuB,WAC7DvB,KAAKyB,MAAQ,CAAE,kBAAmB,GAAGzB,KAAKyB,WAGhD,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOP,GACXI,EAAA,OAAAE,IAAA,wDACc5B,KAAK8B,OAAS,GAAG9B,KAAKE,YAClC6B,MAAM,+EACN5D,UAAW6B,KAAKmB,YAChBa,KAAK,OACLC,KAAK,Q","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqDropdownCss","BqDropdownStyle0","id","BqDropdown","proxyCustomElement","H","dropdownPanelId","triggerElem","onOpenChange","this","bqOpen","emit","open","handleDisabledChange","disabled","removeAttribute","setAttribute","componentDidLoad","el","querySelector","onClickOutside","event","path","composedPath","includes","onEscape","key","onItemSelect","keepOpenOnSelect","togglePanel","hasAttribute","render","style","panelHeight","h","class","part","onClick","name","distance","placement","sameWidth","skidding","strategy","role","exportparts"],"sources":["../../packages/beeq/src/components/dropdown/scss/bq-dropdown.scss?tag=bq-dropdown&encapsulation=shadow","../../packages/beeq/src/components/dropdown/bq-dropdown.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Dropdown styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply relative inline-block;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { Placement } from '../../services/interfaces';\n\nlet id = 0;\n\n/**\n * @part base - The component's internal wrapper.\n * @part dropdown - The `<bq-panel>` element used under the hood to display the dropdown panel\n * @part panel - The `<div>` element used to display and style the panel inside the `<bq-panel>` element\n * @part trigger - The `<div>` element that hosts the trigger element\n */\n@Component({\n tag: 'bq-dropdown',\n styleUrl: './scss/bq-dropdown.scss',\n shadow: true,\n})\nexport class BqDropdown {\n // Own Properties\n // ====================\n\n private dropdownPanelId = `bq-dropdown-panel-${++id}`;\n private triggerElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDropdownElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the dropdown panel will be visible and won't be shown. */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** Represents the distance (gutter or margin) between the panel and the trigger element. */\n @Prop({ reflect: true }) distance?: number = 4;\n\n /** If true, the panel will remain open after a selection is made. */\n @Prop({ reflect: true }) keepOpenOnSelect?: boolean = false;\n\n /** Position of the panel */\n @Prop({ reflect: true }) placement?: Placement = 'bottom-start';\n\n /** If true, the panel will be visible. */\n @Prop({ reflect: true, mutable: true }) open?: boolean = false;\n\n /** When set, it will override the height of the dropdown panel */\n @Prop({ reflect: true }) panelHeight?: string;\n\n /** Whether the panel should have the same width as the trigger element */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Represents the skidding between the panel and the trigger element. */\n @Prop({ reflect: true }) skidding?: number = 0;\n\n /** Defines the strategy to position the panel */\n @Prop({ reflect: true }) strategy?: 'fixed' | 'absolute' = 'fixed';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('open')\n onOpenChange() {\n this.bqOpen.emit({ open: this.open });\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n if (!this.triggerElem) return;\n\n // set 'disabled' attribute based on 'this.disabled' value, ensuring consistent state handling\n if (!this.disabled) {\n this.triggerElem?.removeAttribute('disabled');\n return;\n }\n this.triggerElem?.setAttribute('disabled', 'true');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the dropdown panel is opened or closed. */\n @Event() bqOpen: EventEmitter<{ open: boolean }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.triggerElem = this.el.querySelector('[slot=\"trigger\"]');\n this.handleDisabledChange();\n }\n\n // Listeners\n // ==============\n\n /** Listens for the 'click' event on the document object\n * and closes the dropdown panel if the click is outside the component.\n */\n @Listen('click', { target: 'document', passive: true })\n onClickOutside(event: MouseEvent) {\n if (!this.open) return;\n\n // Close when clicking outside of the close element\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.open = false;\n }\n }\n\n /**\n * Listens for the 'keyup' event on the window object\n * and closes the dropdown panel if the 'Escape' key or 'Tab' key outside the component is pressed.\n */\n @Listen('keyup', { target: 'window', passive: true })\n onEscape(event: KeyboardEvent) {\n if (!this.open) return;\n\n if (event.key === 'Escape' || (event.key === 'Tab' && !event.composedPath().includes(this.el))) {\n this.open = false;\n }\n }\n\n @Listen('bqSelect', { passive: true })\n onItemSelect() {\n if (this.keepOpenOnSelect) return;\n\n this.open = false;\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 togglePanel = (): void => {\n // Don't toggle the panel if the component is disabled or the trigger element is disabled\n if (this.disabled || this.triggerElem?.hasAttribute('disabled')) return;\n\n this.open = !this.open;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n ...(this.panelHeight && { '--bq-panel--height': this.panelHeight }),\n };\n\n return (\n <div class=\"bq-dropdown\" part=\"base\">\n {/* TRIGGER CONTAINER */}\n <div\n class=\"bq-dropdown__trigger block\"\n aria-controls={this.dropdownPanelId}\n aria-haspopup=\"true\"\n onClick={this.togglePanel}\n part=\"trigger\"\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n <bq-panel\n style={style}\n id={this.dropdownPanelId}\n class=\"bq-dropdown__panel\"\n distance={this.distance}\n placement={this.placement}\n open={this.open}\n sameWidth={this.sameWidth}\n skidding={this.skidding}\n strategy={this.strategy}\n role=\"group\"\n part=\"dropdown\"\n exportparts=\"panel\"\n >\n <slot />\n </bq-panel>\n </div>\n );\n }\n}\n"],"mappings":";;;;6FAAA,MAAMA,EAAgB,qhlBACtB,MAAAC,EAAeD,ECGf,IAAIE,EAAK,E,MAaIC,EAAUC,EAAA,MAAAD,UAAAE,E,+GAoByB,M,cAGD,E,sBAGS,M,eAGL,e,UAGQ,M,0CAMV,M,cAGF,E,cAGc,O,CAxCnDC,gBAAkB,uBAAuBJ,IACzCK,Y,qBA6CR,YAAAC,GACEC,KAAKC,OAAOC,KAAK,CAAEC,KAAMH,KAAKG,M,CAIhC,oBAAAC,GACE,IAAKJ,KAAKF,YAAa,OAGvB,IAAKE,KAAKK,SAAU,CAClBL,KAAKF,aAAaQ,gBAAgB,YAClC,M,CAEFN,KAAKF,aAAaS,aAAa,WAAY,O,CAQpCN,OAMT,gBAAAO,GACER,KAAKF,YAAcE,KAAKS,GAAGC,cAAc,oBACzCV,KAAKI,sB,CAUP,cAAAO,CAAeC,GACb,IAAKZ,KAAKG,KAAM,OAGhB,MAAMU,EAAOD,EAAME,eACnB,IAAKD,EAAKE,SAASf,KAAKS,IAAK,CAC3BT,KAAKG,KAAO,K,EAShB,QAAAa,CAASJ,GACP,IAAKZ,KAAKG,KAAM,OAEhB,GAAIS,EAAMK,MAAQ,UAAaL,EAAMK,MAAQ,QAAUL,EAAME,eAAeC,SAASf,KAAKS,IAAM,CAC9FT,KAAKG,KAAO,K,EAKhB,YAAAe,GACE,GAAIlB,KAAKmB,iBAAkB,OAE3BnB,KAAKG,KAAO,K,CAeNiB,YAAc,KAEpB,GAAIpB,KAAKK,UAAYL,KAAKF,aAAauB,aAAa,YAAa,OAEjErB,KAAKG,MAAQH,KAAKG,IAAI,EAOxB,MAAAmB,GACE,MAAMC,EAAQ,IACRvB,KAAKwB,aAAe,CAAE,qBAAsBxB,KAAKwB,cAGvD,OACEC,EAAA,OAAAR,IAAA,2CAAKS,MAAM,cAAcC,KAAK,QAE5BF,EAAA,OAAAR,IAAA,2CACES,MAAM,6BAA4B,gBACnB1B,KAAKH,gBAAe,gBACrB,OACd+B,QAAS5B,KAAKoB,YACdO,KAAK,WAELF,EAAA,QAAAR,IAAA,2CAAMY,KAAK,aAGbJ,EAAA,YAAAR,IAAA,2CACEM,MAAOA,EACP9B,GAAIO,KAAKH,gBACT6B,MAAM,qBACNI,SAAU9B,KAAK8B,SACfC,UAAW/B,KAAK+B,UAChB5B,KAAMH,KAAKG,KACX6B,UAAWhC,KAAKgC,UAChBC,SAAUjC,KAAKiC,SACfC,SAAUlC,KAAKkC,SACfC,KAAK,QACLR,KAAK,WACLS,YAAY,SAEZX,EAAA,QAAAR,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqTooltipCss","BqTooltipStyle0","BqTooltip","proxyCustomElement","H","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,EAASC,EAAA,MAAAD,UAAAE,E,qFAoBc,M,cAGW,G,eAGE,M,eAGE,M,eAIF,M,eAGS,Q,aAML,K,CAvC3CC,QACAC,MACAC,MACAC,W,qBA0CR,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 +0,0 @@
1
- {"version":3,"names":["DIVIDER_ORIENTATION","DIVIDER_ORIENTATION_ENUM","HORIZONTAL","VERTICAL","DIVIDER_TITLE_ALIGNMENT","DIVIDER_STROKE_LINECAP","bqDividerCss","BqDividerStyle0","BqDivider","proxyCustomElement","H","titleElem","checkPropValues","validatePropValue","this","el","connectedCallback","componentWillLoad","componentDidLoad","handleSlotChange","hasTitle","hasSlotContent","getTextContent","querySelector","strokeAttributes","strokeDrawPositions","dashed","strokeDasharray","strokeLinecap","strokeThickness","drawOffset","x1","x2","y1","y2","orientationMap","Map","Object","entries","get","orientation","strokeDashWidth","strokeDashGap","render","styles","strokeColor","getColorCSSVariable","isNil","strokeBasis","h","Host","key","style","class","titleAlignment","part","ref","div","role","onSlotchange"],"sources":["../../packages/beeq/src/components/divider/bq-divider.types.ts","../../packages/beeq/src/components/divider/scss/bq-divider.scss?tag=bq-divider&encapsulation=shadow","../../packages/beeq/src/components/divider/bq-divider.tsx"],"sourcesContent":["export const DIVIDER_ORIENTATION = ['horizontal', 'vertical'] as const;\nexport type TDividerOrientation = (typeof DIVIDER_ORIENTATION)[number];\n\nexport const DIVIDER_ORIENTATION_ENUM = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n} as const;\n\nexport const DIVIDER_TITLE_ALIGNMENT = ['start', 'middle', 'end'] as const;\nexport type TDividerTitleAlignment = (typeof DIVIDER_TITLE_ALIGNMENT)[number];\n\nexport const DIVIDER_STROKE_LINECAP = ['square', 'round', 'butt'] as const;\nexport type TDividerStrokeLinecap = (typeof DIVIDER_STROKE_LINECAP)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-divider.variables';\n\n:host {\n @apply block is-full;\n}\n\n:host([orientation='vertical']) {\n @apply flex bs-full;\n}\n\n.bq-divider {\n @apply flex items-center gap-[--bq-divider--title-marginX];\n}\n\n.bq-divider--stroke {\n @apply flex-grow stroke-[color:--bq-divider--stroke-color] bs-[--bq-divider--stroke-thickness] is-full;\n\n &.end {\n @apply rotate-180;\n }\n}\n\n.bq-divider--title__start .bq-divider--stroke.start,\n.bq-divider--title__end .bq-divider--stroke.end {\n @apply flex-grow-0 basis-[--bq-divider--stroke-basis];\n}\n\n.bq-divider--vertical {\n @apply flex-col items-center gap-[--bq-divider--title-marginX] is-full;\n\n .bq-divider--stroke {\n @apply bs-full is-[--bq-divider--stroke-thickness];\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport {\n DIVIDER_ORIENTATION,\n DIVIDER_ORIENTATION_ENUM,\n DIVIDER_STROKE_LINECAP,\n DIVIDER_TITLE_ALIGNMENT,\n TDividerOrientation,\n TDividerStrokeLinecap,\n TDividerTitleAlignment,\n} from './bq-divider.types';\nimport { getColorCSSVariable, getTextContent, hasSlotContent, isNil, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper.\n * @part dash-start - The component's internal svg wrapper for the start line of the divider's stroke\n * @part dash-end - The component's internal svg wrapper for the end line of the divider's stroke\n * @part dash-start-line - The component's internal line component of the divider's stroke\n * @part dash-end-line - The component's internal line component of the divider's stroke\n */\n@Component({\n tag: 'bq-divider',\n styleUrl: './scss/bq-divider.scss',\n shadow: true,\n})\nexport class BqDivider {\n // Own Properties\n // ====================\n\n private titleElem: HTMLDivElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqDividerElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasTitle: boolean;\n\n // Public Property API\n // ========================\n\n /** If true, the divider has a dashed pattern */\n @Prop() dashed = false;\n\n /** The default orientation of the divider */\n @Prop({ reflect: true }) orientation: TDividerOrientation = 'horizontal';\n\n /** Set the stroke color of the divider. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) strokeColor?: string = 'stroke--primary';\n\n /** Set the alignment of the title on the main axis of the divider (horizontal / vertical) */\n @Prop({ reflect: true }) titleAlignment?: TDividerTitleAlignment = 'middle';\n\n /** Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashWidth?: number = 12;\n\n /** Set the gap of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeDashGap?: number = 7;\n\n /** Set the thickness of the divider's stroke. Value expressed in px*/\n @Prop({ reflect: true }) strokeThickness?: number = 1;\n\n /** Set the min width of the divider's stroke when text is not centered. Value expressed in px */\n @Prop({ reflect: true }) strokeBasis?: number = 0;\n\n /** Set the line of the divider's stroke. This is applicable when the stroke is dashed */\n @Prop({ reflect: true }) strokeLinecap?: TDividerStrokeLinecap = 'butt';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('orientation')\n @Watch('titleAlignment')\n @Watch('strokeLinecap')\n checkPropValues() {\n validatePropValue(DIVIDER_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(DIVIDER_TITLE_ALIGNMENT, 'middle', this.el, 'titleAlignment');\n validatePropValue(DIVIDER_STROKE_LINECAP, 'butt', this.el, 'strokeLinecap');\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 connectedCallback() {\n this.checkPropValues();\n }\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleSlotChange = () => {\n this.hasTitle = hasSlotContent(this.titleElem) || !!getTextContent(this.titleElem.querySelector('slot'));\n };\n\n private get strokeAttributes() {\n return {\n ...this.strokeDrawPositions,\n ...(this.dashed && { 'stroke-dasharray': this.strokeDasharray }),\n 'stroke-linecap': this.strokeLinecap,\n 'stroke-width': this.strokeThickness,\n };\n }\n\n private get strokeDrawPositions() {\n const drawOffset = this.strokeThickness / 2;\n const strokeDrawPositions = {\n [DIVIDER_ORIENTATION_ENUM.HORIZONTAL]: { x1: drawOffset, x2: '100%', y1: drawOffset, y2: drawOffset },\n [DIVIDER_ORIENTATION_ENUM.VERTICAL]: { x1: drawOffset, x2: drawOffset, y1: drawOffset, y2: '100%' },\n };\n const orientationMap = new Map(Object.entries(strokeDrawPositions));\n\n return orientationMap.get(this.orientation);\n }\n\n private get strokeDasharray() {\n return `${this.strokeDashWidth}, ${this.strokeDashGap}`;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.strokeColor && { '--bq-divider--stroke-color': getColorCSSVariable(this.strokeColor) }),\n ...(this.strokeThickness && { '--bq-divider--stroke-thickness': `${this.strokeThickness}px` }),\n ...(!isNil(this.strokeBasis) && { '--bq-divider--stroke-basis': `${this.strokeBasis}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n class={{\n 'bq-divider': true,\n [`bq-divider--${this.orientation}`]: true,\n [`bq-divider--title__${this.titleAlignment}`]: true,\n 'gap-0': !this.hasTitle,\n }}\n part=\"base\"\n ref={(div) => (this.titleElem = div)}\n role=\"separator\"\n aria-orientation={this.orientation}\n >\n <svg\n class={{\n 'bq-divider--stroke start': true,\n '!hidden': this.strokeBasis === 0 && this.titleAlignment === 'start',\n }}\n part=\"dash-start\"\n >\n <line {...this.strokeAttributes} part=\"dash-start-line\" />\n </svg>\n <slot onSlotchange={this.handleSlotChange} />\n <svg\n class={{\n 'bq-divider--stroke end': true,\n '!hidden': !this.hasTitle || (this.strokeBasis === 0 && this.titleAlignment === 'end'),\n }}\n part=\"dash-end\"\n >\n <line {...this.strokeAttributes} part=\"dash-end-line\" />\n </svg>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;wOAAO,MAAMA,EAAsB,CAAC,aAAc,YAG3C,MAAMC,EAA2B,CACtCC,WAAY,aACZC,SAAU,YAGL,MAAMC,EAA0B,CAAC,QAAS,SAAU,OAGpD,MAAMC,EAAyB,CAAC,SAAU,QAAS,QCX1D,MAAMC,EAAe,m4oBACrB,MAAAC,EAAeD,E,MCwBFE,EAASC,EAAA,MAAAD,UAAAE,E,sGAqBH,M,iBAG2C,a,iBAGZ,kB,oBAGmB,S,qBAGf,G,mBAGF,E,qBAGE,E,iBAGJ,E,mBAGiB,M,CAzCzDC,U,qBAiDR,eAAAC,GACEC,EAAkBb,EAAqB,aAAcc,KAAKC,GAAI,eAC9DF,EAAkBT,EAAyB,SAAUU,KAAKC,GAAI,kBAC9DF,EAAkBR,EAAwB,OAAQS,KAAKC,GAAI,gB,CAW7D,iBAAAC,GACEF,KAAKF,iB,CAGP,iBAAAK,GACEH,KAAKF,iB,CAGP,gBAAAM,GACEJ,KAAKK,kB,CAkBCA,iBAAmB,KACzBL,KAAKM,SAAWC,EAAeP,KAAKH,cAAgBW,EAAeR,KAAKH,UAAUY,cAAc,QAAQ,EAG1G,oBAAYC,GACV,MAAO,IACFV,KAAKW,uBACJX,KAAKY,QAAU,CAAE,mBAAoBZ,KAAKa,iBAC9C,iBAAkBb,KAAKc,cACvB,eAAgBd,KAAKe,gB,CAIzB,uBAAYJ,GACV,MAAMK,EAAahB,KAAKe,gBAAkB,EAC1C,MAAMJ,EAAsB,CAC1B,CAACxB,EAAyBC,YAAa,CAAE6B,GAAID,EAAYE,GAAI,OAAQC,GAAIH,EAAYI,GAAIJ,GACzF,CAAC7B,EAAyBE,UAAW,CAAE4B,GAAID,EAAYE,GAAIF,EAAYG,GAAIH,EAAYI,GAAI,SAE7F,MAAMC,EAAiB,IAAIC,IAAIC,OAAOC,QAAQb,IAE9C,OAAOU,EAAeI,IAAIzB,KAAK0B,Y,CAGjC,mBAAYb,GACV,MAAO,GAAGb,KAAK2B,oBAAoB3B,KAAK4B,e,CAO1C,MAAAC,GACE,MAAMC,EAAS,IACT9B,KAAK+B,aAAe,CAAE,6BAA8BC,EAAoBhC,KAAK+B,iBAC7E/B,KAAKe,iBAAmB,CAAE,iCAAkC,GAAGf,KAAKe,yBACnEkB,EAAMjC,KAAKkC,cAAgB,CAAE,6BAA8B,GAAGlC,KAAKkC,kBAG1E,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOR,GACXK,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,aAAc,KACd,CAAC,eAAevC,KAAK0B,eAAgB,KACrC,CAAC,sBAAsB1B,KAAKwC,kBAAmB,KAC/C,SAAUxC,KAAKM,UAEjBmC,KAAK,OACLC,IAAMC,GAAS3C,KAAKH,UAAY8C,EAChCC,KAAK,YAAW,mBACE5C,KAAK0B,aAEvBS,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,2BAA4B,KAC5B,UAAWvC,KAAKkC,cAAgB,GAAKlC,KAAKwC,iBAAmB,SAE/DC,KAAK,cAELN,EAAA,QAAAE,IAAA,8CAAUrC,KAAKU,iBAAkB+B,KAAK,qBAExCN,EAAA,QAAAE,IAAA,2CAAMQ,aAAc7C,KAAKK,mBACzB8B,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,yBAA0B,KAC1B,WAAYvC,KAAKM,UAAaN,KAAKkC,cAAgB,GAAKlC,KAAKwC,iBAAmB,OAElFC,KAAK,YAELN,EAAA,QAAAE,IAAA,8CAAUrC,KAAKU,iBAAkB+B,KAAK,oB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButtonStyle0","BqButton","proxyCustomElement","H","prefixElem","suffixElem","internals","checkPropValues","validatePropValue","this","el","bqBlur","bqFocus","bqClick","componentWillLoad","handleBlur","emit","handleFocus","handleClick","ev","disabled","loading","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","type","form","isNil","formAction","formActions","submit","submitAssociatedForm","reset","window","btn","document","createElement","hidden","append","click","remove","handleSlotChange","hasPrefix","hasSlotContent","hasSuffix","preventDefault","stopPropagation","render","isLink","isDefined","href","TagElem","style","border","h","Host","key","class","appearance","justifyContent","variant","size","block","download","undefined","part","rel","target","tabIndex","onBlur","onFocus","onClick","ref","spanElem","name","onSlotchange","role","title"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n }\n}\n\n:host {\n @apply relative inline-block cursor-pointer is-auto;\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply border-m border-solid border-brand bg-transparent text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply border-m border-solid border-tertiary bg-transparent text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply bg-transparent text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.small {\n @apply text-[length:--bq-button--small-font-size] bs-[--bq-button--small-height] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] bs-[--bq-button--medium-height] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] bs-[--bq-button--large-height] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport {\n BUTTON_APPEARANCE,\n BUTTON_SIZE,\n BUTTON_TYPE,\n BUTTON_VARIANT,\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { hasSlotContent, isDefined, isNil, validatePropValue } from '../../shared/utils';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\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 to apply to the button */\n @Prop({ reflect: true }) appearance: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent: 'left' | 'center' | 'right' = 'center';\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when button gets focus */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\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 handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (typeof window === 'undefined' || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const isLink = isDefined(this.href);\n const TagElem = isLink ? 'a' : 'button';\n const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n }}\n aria-disabled={this.disabled ? 'true' : 'false'}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n target={isLink ? this.target : undefined}\n type={this.type}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.handleClick}\n >\n <span class=\"bq-button__prefix\" ref={(spanElem) => (this.prefixElem = spanElem)} part=\"prefix\">\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span class=\"bq-button__suffix\" ref={(spanElem) => (this.suffixElem = spanElem)} part=\"suffix\">\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && (\n <bq-icon\n class=\"bq-button__loader\"\n name=\"spinner-gap\"\n role=\"img\"\n title={`${this.appearance} button loader`}\n />\n )}\n </TagElem>\n </Host>\n );\n }\n}\n"],"mappings":";;;;uQAAO,MAAMA,EAAc,CAAC,QAAS,SAAU,SAGxC,MAAMC,EAAc,CAAC,SAAU,SAAU,SAGzC,MAAMC,EAAoB,CAAC,UAAW,YAAa,OAAQ,QAG3D,MAAMC,EAAiB,CAAC,WAAY,QAAS,UCTpD,MAAMC,EAAc,k75BACpB,MAAAC,EAAeD,E,MC8BFE,EAAQC,EAAA,MAAAD,UAAAE,E,wNAiBU,M,eACA,M,gBAM4B,U,WAGf,M,YAGa,I,cAGpC,M,gEAYoD,S,aAGrD,M,UAG2B,S,gCASA,S,aAGM,U,CA3D3CC,WACAC,W,qBAMWC,UA6DnB,eAAAC,GACEC,EAAkBX,EAAmB,UAAWY,KAAKC,GAAI,cACzDF,EAAkBZ,EAAa,SAAUa,KAAKC,GAAI,QAClDF,EAAkBb,EAAa,SAAUc,KAAKC,GAAI,QAClDF,EAAkBV,EAAgB,WAAYW,KAAKC,GAAI,U,CAQhDC,OAGAC,QAGAC,QAMT,iBAAAC,GACEL,KAAKF,iB,CAkBCQ,WAAa,KACnBN,KAAKE,OAAOK,KAAKP,KAAKC,GAAG,EAGnBO,YAAc,KACpBR,KAAKG,QAAQI,KAAKP,KAAKC,GAAG,EAGpBQ,YAAeC,IACrB,MAAMC,SAAEA,EAAQC,QAAEA,EAAOR,QAAEA,EAAOH,GAAEA,GAAOD,KAE3C,GAAIW,GAAYC,EAAS,CACvBZ,KAAKa,aAAaH,GAClB,M,CAGF,MAAMI,EAAeV,EAAQG,KAAKN,GAClC,GAAIa,EAAaC,iBAAkB,CACjCf,KAAKa,aAAaH,GAClB,M,CAGFV,KAAKgB,kBAAkB,EAGjB,gBAAAA,GACN,MAAMC,KACJA,EACApB,WAAWqB,KAAEA,IACXlB,KACJ,GAAImB,EAAMD,GAAO,OAEjB,MAAME,EAAapB,KAAKqB,YAAYH,GAAMD,GAC1C,GAAIE,EAAMC,GAAa,OAEvBA,G,CAGMC,YAAeH,IAAqB,CAC1CI,OAAQ,IAAMtB,KAAKuB,qBAAqBL,GACxCM,MAAO,IAAMN,EAAKM,UAGZD,qBAAwBL,IAC9B,UAAWO,SAAW,aAAeN,EAAMD,GAAO,OAElD,MAAMQ,EAAMC,SAASC,cAAc,UACnCF,EAAIT,KAAOjB,KAAKiB,KAChBS,EAAIG,OAAS,KACbX,EAAKY,OAAOJ,GAEZA,EAAIK,QACJL,EAAIM,QAAQ,EAGNC,iBAAmB,KACzBjC,KAAKkC,UAAYC,EAAenC,KAAKL,WAAY,UACjDK,KAAKoC,UAAYD,EAAenC,KAAKJ,WAAY,SAAS,EAGpD,YAAAiB,CAAaH,GACnBA,EAAG2B,iBACH3B,EAAG4B,iB,CAOL,MAAAC,GACE,MAAMC,EAASC,EAAUzC,KAAK0C,MAC9B,MAAMC,EAAUH,EAAS,IAAM,SAC/B,MAAMI,EAAQ,IACR5C,KAAK6C,QAAU,CAAE,6BAA8B,oBAAoB7C,KAAK6C,YAG9E,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACJ,MAAOA,GACXE,EAACH,EAAO,CAAAK,IAAA,2CACNC,MAAO,CACL,YAAa,KACb,CAAC,cAAcjD,KAAKkD,cAAe,KACnC,CAAC,WAAWlD,KAAKmD,kBAAmB,KACpC,CAAC,GAAGnD,KAAKoD,WAAY,KACrB,CAAC,GAAGpD,KAAKqD,QAAS,KAClBC,MAAOtD,KAAKsD,MACZ3C,SAAUX,KAAKW,SACf,aAAcX,KAAKkC,UACnB,aAAclC,KAAKoC,UACnBxB,QAASZ,KAAKY,SACf,gBACcZ,KAAKW,SAAW,OAAS,QACxCA,SAAUX,KAAKW,SACf4C,SAAUf,EAASxC,KAAKuD,SAAWC,UACnCd,KAAMF,EAASxC,KAAK0C,KAAOc,UAC3BC,KAAK,SACLC,IAAKlB,GAAUxC,KAAK2D,OAAS,sBAAwBH,UACrDG,OAAQnB,EAASxC,KAAK2D,OAASH,UAC/BvC,KAAMjB,KAAKiB,KACX2C,SAAU5D,KAAKW,UAAY,EAAI,EAC/BkD,OAAQ7D,KAAKM,WACbwD,QAAS9D,KAAKQ,YACduD,QAAS/D,KAAKS,aAEdqC,EAAA,QAAAE,IAAA,2CAAMC,MAAM,oBAAoBe,IAAMC,GAAcjE,KAAKL,WAAasE,EAAWR,KAAK,UACpFX,EAAA,QAAAE,IAAA,2CAAMkB,KAAK,SAASC,aAAcnE,KAAKiC,oBAEzCa,EAAA,QAAAE,IAAA,2CAAMC,MAAM,mBAAmBQ,KAAK,SAClCX,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAMC,MAAM,oBAAoBe,IAAMC,GAAcjE,KAAKJ,WAAaqE,EAAWR,KAAK,UACpFX,EAAA,QAAAE,IAAA,2CAAMkB,KAAK,SAASC,aAAcnE,KAAKiC,oBAExCjC,KAAKY,SACJkC,EAAA,WAAAE,IAAA,2CACEC,MAAM,oBACNiB,KAAK,cACLE,KAAK,MACLC,MAAO,GAAGrE,KAAKkD,8B","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["TAG_SIZE","TAG_COLOR","TAG_VARIANT","iconSize","size","xsmall","small","medium","SIZE","textColor","color","typeError","typeGray","typeInfo","typeSuccess","typeWarning","variantOutline","variantFilled","COLORS","bqTagCss","BqTagStyle0","BqTag","proxyCustomElement","H","prefixElem","checkPropValues","validatePropValue","this","el","bqClose","bqOpen","bqBlur","bqClick","bqFocus","componentWillLoad","hide","handleHide","show","handleShow","isRemovable","ev","emit","defaultPrevented","hidden","handleClick","isClickable","disabled","selected","handleBlur","handleFocus","handleSlotChange","hasPrefix","hasSlotContent","clickable","hasCustomColor","removable","isHidden","undefined","includes","render","style","border","getColorCSSVariable","h","Host","key","class","variant","active","onBlur","onClick","onFocus","tabindex","part","ref","spanElem","name","onSlotchange","appearance"],"sources":["../../packages/beeq/src/components/tag/bq-tag.types.ts","../../packages/beeq/src/components/tag/helper/index.ts","../../packages/beeq/src/components/tag/scss/bq-tag.scss?tag=bq-tag&encapsulation=shadow","../../packages/beeq/src/components/tag/bq-tag.tsx"],"sourcesContent":["export const TAG_SIZE = ['xsmall', 'small', 'medium'] as const;\nexport type TTagSize = (typeof TAG_SIZE)[number];\n\nexport const TAG_COLOR = ['error', 'gray', 'info', 'success', 'warning'] as const;\nexport type TTagColor = (typeof TAG_COLOR)[number];\n\nexport const TAG_VARIANT = ['outline', 'filled'] as const;\nexport type TTagVariant = (typeof TAG_VARIANT)[number];\n\nexport const TAG_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TTagBorderRadius = (typeof TAG_BORDER_RADIUS)[number];\n","import { TAG_COLOR, TAG_SIZE, TAG_VARIANT, TTagColor, TTagSize, TTagVariant } from '../bq-tag.types';\n\n/**\n * Function to determine the icon size based on the provided tag size.\n *\n * @param {TTagSize} size - The size of the tag.\n * @returns {number} The corresponding icon size. If the provided size does not match any predefined sizes, the function returns the size for 'medium'.\n */\nexport const iconSize = (size: TTagSize): number => {\n const xsmall = TAG_SIZE[0];\n const small = TAG_SIZE[1];\n const medium = TAG_SIZE[2];\n\n const SIZE = {\n [xsmall]: 16,\n [small]: 20,\n [medium]: 24,\n };\n\n return SIZE[size] || SIZE[medium];\n};\n\n/**\n * Function to determine the tag text color scheme for a given tag type.\n *\n * @param {TTagType} color - The color of the tag.\n * @returns {Object} An object containing the color scheme for the given tag type. If the provided type does not match any predefined types, the function returns the color scheme for 'default'.\n */\nexport const textColor = (color: TTagColor): Partial<{ [K in TTagVariant]: string }> => {\n const typeError = TAG_COLOR[0];\n const typeGray = TAG_COLOR[1];\n const typeInfo = TAG_COLOR[2];\n const typeSuccess = TAG_COLOR[3];\n const typeWarning = TAG_COLOR[4];\n\n const variantOutline = TAG_VARIANT[0];\n const variantFilled = TAG_VARIANT[1];\n\n const COLORS = {\n [typeError]: {\n [variantOutline]: 'text--danger',\n [variantFilled]: 'text--alt',\n },\n [typeGray]: {\n [variantOutline]: 'text--primary',\n [variantFilled]: 'text--alt',\n },\n [typeInfo]: {\n [variantOutline]: 'text--brand',\n [variantFilled]: 'text--alt',\n },\n [typeSuccess]: {\n [variantOutline]: 'text--success',\n [variantFilled]: 'text--alt',\n },\n [typeWarning]: {\n [variantOutline]: 'text--warning',\n [variantFilled]: 'text--alt',\n },\n };\n\n return COLORS[color];\n};\n","/* -------------------------------------------------------------------------- */\n/* Tag styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tag.variables';\n\n:host {\n @apply relative inline-block;\n}\n\n:host([removable][hidden]) {\n @apply hidden;\n}\n\n.bq-tag {\n @apply box-border inline-flex select-none flex-row items-center justify-center bg-[--bq-tag--background-color];\n @apply gap-[--bq-tag--medium-gap] font-medium leading-regular text-primary p-b-[--bq-tag--medium-padding-y] p-i-[--bq-tag--medium-padding-x];\n @apply rounded-[--bq-tag--border-radius] border-[length:--bq-tag--border-width] border-[color:--bq-tag--border-color];\n @apply transition-colors duration-300 ease-in-out;\n\n border-style: var(--bq-tag--border-style);\n}\n\n/* ---------------------------------- Size ---------------------------------- */\n\n.bq-tag__xsmall,\n.bq-tag__small {\n @apply gap-[--bq-tag--small-gap] p-b-[--bq-tag--small-padding-y] p-i-[--bq-tag--small-padding-x];\n\n /* Apply predefined border radius only if the border property have NO VALUE */\n &:not(.has-border) {\n @apply rounded-[--bq-tag--small-border-radius];\n }\n}\n\n/* --------------------------------- Action --------------------------------- */\n\n.bq-tag__default.is-clickable {\n @apply cursor-pointer;\n // Focus\n @apply focus-visible:focus;\n // Hover\n @apply hover:enabled:bg-[color-mix(in_srgb,_var(--bq-tag--background-color),_var(--bq-hover)_20%)];\n // Active/Selected\n @apply [&.active]:text-alt [&.active]:[--bq-tag--background-color:--bq-ui--brand];\n // Disabled\n @apply disabled:cursor-not-allowed disabled:border-none disabled:opacity-60;\n}\n\n/* ------------------------------ Color styles ------------------------------ */\n\n.bq-tag__error {\n &.bq-tag__filled {\n @apply bg-ui-danger text-alt;\n }\n\n &.bq-tag__outline {\n @apply bg-ui-danger-alt text-danger [--bq-tag--border-color:--bq-stroke--danger];\n }\n}\n\n.bq-tag__gray {\n &.bq-tag__filled {\n @apply bg-ui-tertiary text-alt;\n }\n\n &.bq-tag__outline {\n @apply bg-ui-primary text-primary [--bq-tag--border-color:--bq-stroke--tertiary];\n }\n}\n\n.bq-tag__info {\n &.bq-tag__filled {\n @apply bg-ui-brand text-alt;\n }\n\n &.bq-tag__outline {\n @apply bg-ui-brand-alt text-brand [--bq-tag--border-color:--bq-stroke--brand];\n }\n}\n\n.bq-tag__success {\n &.bq-tag__filled {\n @apply bg-ui-success text-alt;\n }\n\n &.bq-tag__outline {\n @apply bg-ui-success-alt text-success [--bq-tag--border-color:--bq-tag--border-success];\n }\n}\n\n.bq-tag__warning {\n &.bq-tag__filled {\n @apply bg-ui-warning text-alt;\n }\n\n &.bq-tag__outline {\n @apply border-warning bg-ui-warning-alt text-warning;\n }\n}\n\n/* ------------------------------ Close button ------------------------------ */\n\n.bq-tag__close::part(button) {\n @apply pointer-events-none border-0 bs-fit p-b-0 p-i-0;\n}\n\n/* --------------- Apply the right size to the bq-icon prefix --------------- */\n\n.bq-tag__prefix ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tag--icon-prefix-size) !important;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { TAG_COLOR, TAG_SIZE, TAG_VARIANT, TTagBorderRadius, TTagColor, TTagSize, TTagVariant } from './bq-tag.types';\nimport { iconSize, textColor } from './helper';\nimport { getColorCSSVariable, hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM.\n * @part prefix - The `<span>` tag element that acts as prefix container (when icon exists in front of tag).\n * @part text - The `<div>` element containing the text of the tag component.\n * @part btn-close - The close button element to remove the tag component.\n */\n@Component({\n tag: 'bq-tag',\n styleUrl: './scss/bq-tag.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTag {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTagElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n\n // Public Property API\n // ========================\n\n /** The corner radius of the Tag (will override size's predefined border) */\n @Prop({ reflect: true }) border: TTagBorderRadius;\n\n /** If true, the Tag can be clickable */\n @Prop({ reflect: true }) clickable: boolean = false;\n\n /** The color style of the Tag */\n @Prop({ reflect: true }) color: TTagColor;\n\n /** If true, the Tag will be disabled (only if clickable = `true`, no interaction allowed) */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** If true, the Tag component will hidden (only if removable = `true`) */\n @Prop({ reflect: true, mutable: true }) hidden: boolean;\n\n /** If true, the Tag component can be removed */\n @Prop({ reflect: true }) removable: boolean = false;\n\n /** If true, the Tag is selected (only if clickable = `true`) */\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n\n /** The size of the Tag component */\n @Prop({ reflect: true }) size: TTagSize = 'medium';\n\n /** The variant of Tag to apply on top of the variant */\n @Prop({ reflect: true }) variant: TTagVariant = 'filled';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(TAG_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAG_VARIANT, 'filled', this.el, 'variant');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the tag is close/hidden */\n @Event() bqClose: EventEmitter;\n\n /** Callback handler to be called when the tag is not open/shown */\n @Event() bqOpen: EventEmitter;\n\n /** Handler to be called when tag loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is focused */\n @Event() bqFocus: EventEmitter<HTMLBqTagElement>;\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 /** Method to be called to remove the tag component */\n @Method()\n async hide(): Promise<void> {\n this.handleHide();\n }\n\n /** Method to be called to show the tag component */\n @Method()\n async show(): Promise<void> {\n this.handleShow();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleHide = () => {\n if (!this.isRemovable) return;\n\n const ev = this.bqClose.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = true;\n }\n };\n\n private handleShow = () => {\n if (!this.isRemovable) return;\n\n const ev = this.bqOpen.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = false;\n }\n };\n\n private handleClick = () => {\n // If the tag is not clickable or the tag is disabled, we don't want to handle the click\n if (!this.isClickable || this.disabled) return;\n\n // Emit a click event on the element\n const ev = this.bqClick.emit(this.el);\n // If the event was not prevented, toggle the clickable state\n if (!ev.defaultPrevented) {\n this.selected = !this.selected;\n }\n };\n\n private handleBlur = () => {\n if (!this.isClickable) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (!this.isClickable) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private get isClickable(): boolean {\n return this.clickable && !this.color && !this.hasCustomColor && !this.removable;\n }\n\n private get isRemovable(): boolean {\n return this.removable && !this.isClickable;\n }\n\n private get isHidden(): boolean {\n return this.isRemovable && this.hidden;\n }\n\n private get hasCustomColor(): boolean {\n return this.color !== undefined ? !TAG_COLOR.includes(this.color) : false;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const style = {\n '--bq-tag--icon-prefix-size': `${iconSize(this.size)}px`,\n ...(this.border && { '--bq-tag--border-radius': `var(--bq-radius--${this.border})` }),\n ...(this.color && { '--bq-tag--background-color': getColorCSSVariable(this.color) ?? this.color }),\n ...(this.hasCustomColor && { '--bq-text--primary': `var(--bq-text--alt)` }),\n };\n\n return (\n <Host style={style} aria-hidden={this.isHidden ? 'true' : 'false'} hidden={this.isHidden ? 'true' : 'false'}>\n <button\n class={{\n [`bq-tag bq-tag__${this.size}`]: true,\n [`bq-tag__${this.color || 'default'} bq-tag__${this.variant}`]: !this.hasCustomColor,\n 'is-clickable': this.isClickable,\n 'is-removable': this.removable,\n // Active/Selected state when clickable\n active: this.isClickable && this.selected,\n // Fixed border radius\n 'has-border': !!this.border,\n }}\n disabled={this.disabled}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n tabindex={this.isClickable ? 0 : -1}\n part=\"wrapper\"\n >\n <span\n class={{ 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }}\n ref={(spanElem) => (this.prefixElem = spanElem)}\n part=\"prefix\"\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <div\n class={{\n 'text-xs': this.size === 'xsmall',\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n }}\n part=\"text\"\n >\n <slot />\n </div>\n {this.isRemovable && !this.disabled && (\n <bq-button class=\"bq-tag__close\" appearance=\"text\" size=\"small\" onClick={this.handleHide} part=\"btn-close\">\n <bq-icon\n size={iconSize(this.size)}\n name=\"x-circle\"\n color={this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary'}\n />\n </bq-button>\n )}\n </button>\n </Host>\n );\n }\n}\n"],"mappings":";;;;4QAAO,MAAMA,EAAW,CAAC,SAAU,QAAS,UAGrC,MAAMC,EAAY,CAAC,QAAS,OAAQ,OAAQ,UAAW,WAGvD,MAAMC,EAAc,CAAC,UAAW,UCEhC,MAAMC,EAAYC,IACvB,MAAMC,EAASL,EAAS,GACxB,MAAMM,EAAQN,EAAS,GACvB,MAAMO,EAASP,EAAS,GAExB,MAAMQ,EAAO,CACXH,CAACA,GAAS,GACVC,CAACA,GAAQ,GACTC,CAACA,GAAS,IAGZ,OAAOC,EAAKJ,IAASI,EAAKD,EAAO,EAS5B,MAAME,EAAaC,IACxB,MAAMC,EAAYV,EAAU,GAC5B,MAAMW,EAAWX,EAAU,GAC3B,MAAMY,EAAWZ,EAAU,GAC3B,MAAMa,EAAcb,EAAU,GAC9B,MAAMc,EAAcd,EAAU,GAE9B,MAAMe,EAAiBd,EAAY,GACnC,MAAMe,EAAgBf,EAAY,GAElC,MAAMgB,EAAS,CACbP,CAACA,GAAY,CACXK,CAACA,GAAiB,eAClBC,CAACA,GAAgB,aAEnBL,CAACA,GAAW,CACVI,CAACA,GAAiB,gBAClBC,CAACA,GAAgB,aAEnBJ,CAACA,GAAW,CACVG,CAACA,GAAiB,cAClBC,CAACA,GAAgB,aAEnBH,CAACA,GAAc,CACbE,CAACA,GAAiB,gBAClBC,CAACA,GAAgB,aAEnBF,CAACA,GAAc,CACbC,CAACA,GAAiB,gBAClBC,CAACA,GAAgB,cAIrB,OAAOC,EAAOR,EAAM,EC7DtB,MAAMS,EAAW,+s1BACjB,MAAAC,EAAeD,E,MCkBFE,EAAKC,EAAA,MAAAD,UAAAE,E,kPAea,M,qCASiB,M,mCAMA,M,qCAMA,M,cAGc,M,UAGlB,S,aAGM,Q,CAzCxCC,W,qBAgDR,eAAAC,GACEC,EAAkB1B,EAAU,SAAU2B,KAAKC,GAAI,QAC/CF,EAAkBxB,EAAa,SAAUyB,KAAKC,GAAI,U,CAQ3CC,QAGAC,OAGAC,OAGAC,QAGAC,QAMT,iBAAAC,GACEP,KAAKF,iB,CAeP,UAAMU,GACJR,KAAKS,Y,CAKP,UAAMC,GACJV,KAAKW,Y,CAQCF,WAAa,KACnB,IAAKT,KAAKY,YAAa,OAEvB,MAAMC,EAAKb,KAAKE,QAAQY,KAAKd,KAAKC,IAClC,IAAKY,EAAGE,iBAAkB,CACxBf,KAAKgB,OAAS,I,GAIVL,WAAa,KACnB,IAAKX,KAAKY,YAAa,OAEvB,MAAMC,EAAKb,KAAKG,OAAOW,KAAKd,KAAKC,IACjC,IAAKY,EAAGE,iBAAkB,CACxBf,KAAKgB,OAAS,K,GAIVC,YAAc,KAEpB,IAAKjB,KAAKkB,aAAelB,KAAKmB,SAAU,OAGxC,MAAMN,EAAKb,KAAKK,QAAQS,KAAKd,KAAKC,IAElC,IAAKY,EAAGE,iBAAkB,CACxBf,KAAKoB,UAAYpB,KAAKoB,Q,GAIlBC,WAAa,KACnB,IAAKrB,KAAKkB,YAAa,OAEvBlB,KAAKI,OAAOU,KAAKd,KAAKC,GAAG,EAGnBqB,YAAc,KACpB,IAAKtB,KAAKkB,YAAa,OAEvBlB,KAAKM,QAAQQ,KAAKd,KAAKC,GAAG,EAGpBsB,iBAAmB,KACzBvB,KAAKwB,UAAYC,EAAezB,KAAKH,WAAY,SAAS,EAG5D,eAAYqB,GACV,OAAOlB,KAAK0B,YAAc1B,KAAKjB,QAAUiB,KAAK2B,iBAAmB3B,KAAK4B,S,CAGxE,eAAYhB,GACV,OAAOZ,KAAK4B,YAAc5B,KAAKkB,W,CAGjC,YAAYW,GACV,OAAO7B,KAAKY,aAAeZ,KAAKgB,M,CAGlC,kBAAYW,GACV,OAAO3B,KAAKjB,QAAU+C,WAAaxD,EAAUyD,SAAS/B,KAAKjB,OAAS,K,CAOtE,MAAAiD,GACE,MAAMC,EAAQ,CACZ,6BAA8B,GAAGzD,EAASwB,KAAKvB,aAC3CuB,KAAKkC,QAAU,CAAE,0BAA2B,oBAAoBlC,KAAKkC,cACrElC,KAAKjB,OAAS,CAAE,6BAA8BoD,EAAoBnC,KAAKjB,QAAUiB,KAAKjB,UACtFiB,KAAK2B,gBAAkB,CAAE,qBAAsB,wBAGrD,OACES,EAACC,EAAI,CAAAC,IAAA,2CAACL,MAAOA,EAAK,cAAejC,KAAK6B,SAAW,OAAS,QAASb,OAAQhB,KAAK6B,SAAW,OAAS,SAClGO,EAAA,UAAAE,IAAA,2CACEC,MAAO,CACL,CAAC,kBAAkBvC,KAAKvB,QAAS,KACjC,CAAC,WAAWuB,KAAKjB,OAAS,qBAAqBiB,KAAKwC,YAAaxC,KAAK2B,eACtE,eAAgB3B,KAAKkB,YACrB,eAAgBlB,KAAK4B,UAErBa,OAAQzC,KAAKkB,aAAelB,KAAKoB,SAEjC,eAAgBpB,KAAKkC,QAEvBf,SAAUnB,KAAKmB,SACfuB,OAAQ1C,KAAKqB,WACbsB,QAAS3C,KAAKiB,YACd2B,QAAS5C,KAAKsB,YACduB,SAAU7C,KAAKkB,YAAc,GAAK,EAClC4B,KAAK,WAELV,EAAA,QAAAE,IAAA,2CACEC,MAAO,CAAE,6BAA8B,KAAM,WAAYvC,KAAKwB,WAC9DuB,IAAMC,GAAchD,KAAKH,WAAamD,EACtCF,KAAK,UAELV,EAAA,QAAAE,IAAA,2CAAMW,KAAK,SAASC,aAAclD,KAAKuB,oBAEzCa,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,UAAWvC,KAAKvB,OAAS,SACzB,SAAUuB,KAAKvB,OAAS,QACxB,SAAUuB,KAAKvB,OAAS,UAE1BqE,KAAK,QAELV,EAAA,QAAAE,IAAA,8CAEDtC,KAAKY,cAAgBZ,KAAKmB,UACzBiB,EAAA,aAAAE,IAAA,2CAAWC,MAAM,gBAAgBY,WAAW,OAAO1E,KAAK,QAAQkE,QAAS3C,KAAKS,WAAYqC,KAAK,aAC7FV,EAAA,WAAAE,IAAA,2CACE7D,KAAMD,EAASwB,KAAKvB,MACpBwE,KAAK,WACLlE,MAAOiB,KAAKjB,QAAUiB,KAAK2B,eAAiB7C,EAAUkB,KAAKjB,OAAOiB,KAAKwC,SAAW,oB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["bqOptionListCss","BqOptionListStyle0","BqOptionList","proxyCustomElement","H","bqSelect","componentDidLoad","this","el","setAttribute","onBqSelect","event","target","item","isHTMLElement","isEventTargetChildOfElement","emit","value","render","h","key","class","part"],"sources":["../../packages/beeq/src/components/option-list/scss/bq-option-list.scss?tag=bq-option-list&encapsulation=shadow","../../packages/beeq/src/components/option-list/bq-option-list.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Option list styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-option-list.variables';\n\n:host {\n @apply block;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop } from '@stencil/core';\n\nimport { isEventTargetChildOfElement, isHTMLElement } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper.\n */\n@Component({\n tag: 'bq-option-list',\n styleUrl: './scss/bq-option-list.scss',\n shadow: true,\n})\nexport class BqOptionList {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqOptionListElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n // Prop lifecycle events\n // =======================\n\n /** Aria label for the list. */\n @Prop({ reflect: true }) ariaLabel: string = 'Options';\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when `bq-option` is selected (on click/enter press). */\n @Event() bqSelect: EventEmitter<{ value: string; item: HTMLBqOptionElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.el.setAttribute('role', 'listbox');\n }\n\n // Listeners\n // ==============\n\n @Listen('bqClick', { passive: true })\n @Listen('bqEnter', { passive: true })\n onBqSelect(event: CustomEvent<HTMLElement>) {\n const { target: item } = event;\n if (!isHTMLElement(item, 'bq-option') || !isEventTargetChildOfElement(event, this.el)) return;\n\n this.bqSelect.emit({ item, value: item.value });\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-option__list flex flex-col gap-y-[--bq-option-group--gapY-list]\" part=\"base\">\n <slot />\n </div>\n );\n }\n}\n"],"mappings":";;;;yJAAA,MAAMA,EAAkB,k4lBACxB,MAAAC,EAAeD,E,MCWFE,EAAYC,EAAA,MAAAD,UAAAE,E,oHAoBsB,S,sBAOpCC,SAMT,gBAAAC,GACEC,KAAKC,GAAGC,aAAa,OAAQ,U,CAQ/B,UAAAC,CAAWC,GACT,MAAQC,OAAQC,GAASF,EACzB,IAAKG,EAAcD,EAAM,eAAiBE,EAA4BJ,EAAOJ,KAAKC,IAAK,OAEvFD,KAAKF,SAASW,KAAK,CAAEH,OAAMI,MAAOJ,EAAKI,O,CAmBzC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,qEAAqEC,KAAK,QACnFH,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["BADGE_SIZE","bqBadgeCss","BqBadgeStyle0","BqBadge","proxyCustomElement","H","spanElement","observer","MutationObserver","mutations","mutation","this","contentLength","target","textContent","length","handleSizePropChange","validatePropValue","el","componentWillLoad","disconnectedCallback","disconnect","onSlotChange","slot","isNil","getTextContent","recurse","node","assignedNodes","flatten","takeRecords","observe","characterData","childList","subtree","querySelector","render","styles","backgroundColor","getColorCSSVariable","textColor","h","Host","key","style","class","size","digit","part","ref","element","onSlotchange"],"sources":["../../packages/beeq/src/components/badge/bq-badge.types.ts","../../packages/beeq/src/components/badge/scss/bq-badge.scss?tag=bq-badge&encapsulation=shadow","../../packages/beeq/src/components/badge/bq-badge.tsx"],"sourcesContent":["export const BADGE_SIZE = ['small', 'medium'] as const;\nexport type TBadgeSize = (typeof BADGE_SIZE)[number];\n","/* -------------------------------------------------------------------------- */\n/* Badge styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-badge.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-badge {\n @apply flex items-center justify-center bg-[color:--bq-badge--background-color] text-[color:--bq-badge--text-color];\n @apply rounded-[--bq-badge--border-radius] border-[length:--bq-badge--border-width] border-[color:--bq-badge--border-color];\n\n border-style: var(--bq-badge--border-style);\n box-shadow: var(--bq-badge--box-shadow);\n}\n\n.size {\n &--small {\n @apply bs-[--bq-badge--size-small] is-[--bq-badge--size-small];\n }\n\n &--medium {\n @apply bs-[--bq-badge--size-medium] is-[--bq-badge--size-medium];\n }\n}\n\n.digit {\n @apply min-bs-[--bq-badge--size-large] min-is-[--bq-badge--size-large];\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { BADGE_SIZE, TBadgeSize } from './bq-badge.types';\nimport { getColorCSSVariable, getTextContent, isNil, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The component's internal wrapper that holds the count.\n * @part number - The component's internal wrapper that holds the slot.\n */\n@Component({\n tag: 'bq-badge',\n styleUrl: './scss/bq-badge.scss',\n shadow: true,\n})\nexport class BqBadge {\n // Own Properties\n // ====================\n\n private spanElement?: HTMLSpanElement;\n\n private observer: MutationObserver = new MutationObserver((mutations) => {\n const [mutation] = mutations;\n this.contentLength = mutation.target.textContent.length;\n });\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el: HTMLBqBadgeElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private contentLength = 0;\n\n // Public Property API\n // ========================\n\n /** Badge background color. The value should be a valid value of the palette color */\n @Prop({ mutable: true, reflect: true }) backgroundColor? = 'ui--danger';\n\n /** Badge number color. The value should be a valid value of the palette color */\n @Prop({ mutable: true, reflect: true }) textColor? = 'text--inverse';\n\n /** The size of the badge. Relevant if badge has no content. */\n @Prop({ reflect: true, mutable: true }) size?: TBadgeSize = 'small';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n handleSizePropChange() {\n validatePropValue(BADGE_SIZE, 'small', this.el, 'size');\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.handleSizePropChange();\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 onSlotChange = () => {\n const slot = this.slot;\n\n if (isNil(slot)) return;\n\n this.contentLength = getTextContent(slot, { recurse: true }).length;\n const [node] = slot.assignedNodes({ flatten: true });\n\n if (isNil(node)) {\n this.observer.takeRecords();\n return;\n }\n\n this.observer.observe(node, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n };\n\n private get slot(): HTMLSlotElement | null {\n return this.spanElement?.querySelector('slot') ?? null;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.backgroundColor && { '--bq-badge--background-color': getColorCSSVariable(this.backgroundColor) }),\n ...(this.textColor && { '--bq-badge--text-color': getColorCSSVariable(this.textColor) }),\n };\n\n return (\n <Host style={styles}>\n <div\n class={{\n 'bq-badge': true,\n [`size--${this.size}`]: this.contentLength === 0,\n digit: this.contentLength > 0,\n 'p-i-xs2': this.contentLength > 1,\n }}\n part=\"base\"\n >\n <span ref={(element) => (this.spanElement = element)} class=\"text-xs font-bold leading-small\" part=\"number\">\n <slot onSlotchange={this.onSlotChange}></slot>\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":";;;;iOAAO,MAAMA,EAAa,CAAC,QAAS,UCApC,MAAMC,EAAa,q6pBACnB,MAAAC,EAAeD,E,MCaFE,EAAOC,EAAA,MAAAD,UAAAE,E,qFAoBe,E,qBAM0B,a,eAGN,gB,UAGO,O,CA5BpDC,YAEAC,SAA6B,IAAIC,kBAAkBC,IACzD,MAAOC,GAAYD,EACnBE,KAAKC,cAAgBF,EAASG,OAAOC,YAAYC,MAAM,I,qBA8BzD,oBAAAC,GACEC,EAAkBjB,EAAY,QAASW,KAAKO,GAAI,O,CAWlD,iBAAAC,GACER,KAAKK,sB,CAGP,oBAAAI,GACET,KAAKJ,UAAUc,Y,CAkBTC,aAAe,KACrB,MAAMC,EAAOZ,KAAKY,KAElB,GAAIC,EAAMD,GAAO,OAEjBZ,KAAKC,cAAgBa,EAAeF,EAAM,CAAEG,QAAS,OAAQX,OAC7D,MAAOY,GAAQJ,EAAKK,cAAc,CAAEC,QAAS,OAE7C,GAAIL,EAAMG,GAAO,CACfhB,KAAKJ,SAASuB,cACd,M,CAGFnB,KAAKJ,SAASwB,QAAQJ,EAAM,CAC1BK,cAAe,KACfC,UAAW,KACXC,QAAS,MACT,EAGJ,QAAYX,GACV,OAAOZ,KAAKL,aAAa6B,cAAc,SAAW,I,CAOpD,MAAAC,GACE,MAAMC,EAAS,IACT1B,KAAK2B,iBAAmB,CAAE,+BAAgCC,EAAoB5B,KAAK2B,qBACnF3B,KAAK6B,WAAa,CAAE,yBAA0BD,EAAoB5B,KAAK6B,aAG7E,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOP,GACXI,EAAA,OAAAE,IAAA,2CACEE,MAAO,CACL,WAAY,KACZ,CAAC,SAASlC,KAAKmC,QAASnC,KAAKC,gBAAkB,EAC/CmC,MAAOpC,KAAKC,cAAgB,EAC5B,UAAWD,KAAKC,cAAgB,GAElCoC,KAAK,QAELP,EAAA,QAAAE,IAAA,2CAAMM,IAAMC,GAAavC,KAAKL,YAAc4C,EAAUL,MAAM,kCAAkCG,KAAK,UACjGP,EAAA,QAAAE,IAAA,2CAAMQ,aAAcxC,KAAKW,iB","ignoreList":[]}