@actabldesign/bellhop-core 0.0.3

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 (1006) hide show
  1. package/README.md +116 -0
  2. package/bellhop-core/bellhop-core.css +7 -0
  3. package/bellhop-core/bellhop-core.esm.js +2 -0
  4. package/bellhop-core/bellhop-core.esm.js.map +1 -0
  5. package/bellhop-core/bh-accordion-item.entry.esm.js.map +1 -0
  6. package/bellhop-core/bh-accordion.entry.esm.js.map +1 -0
  7. package/bellhop-core/bh-appbar.entry.esm.js.map +1 -0
  8. package/bellhop-core/bh-autocomplete-menu.bh-tag.entry.esm.js.map +1 -0
  9. package/bellhop-core/bh-avatar-add.entry.esm.js.map +1 -0
  10. package/bellhop-core/bh-avatar-stacked.entry.esm.js.map +1 -0
  11. package/bellhop-core/bh-avatar.entry.esm.js.map +1 -0
  12. package/bellhop-core/bh-badge-dot.bh-breadcrumbs.entry.esm.js.map +1 -0
  13. package/bellhop-core/bh-badge.entry.esm.js.map +1 -0
  14. package/bellhop-core/bh-bar-chart.entry.esm.js.map +1 -0
  15. package/bellhop-core/bh-button-icon.entry.esm.js.map +1 -0
  16. package/bellhop-core/bh-button.bh-loader-spinner.entry.esm.js.map +1 -0
  17. package/bellhop-core/bh-card-footer.entry.esm.js.map +1 -0
  18. package/bellhop-core/bh-card-header.entry.esm.js.map +1 -0
  19. package/bellhop-core/bh-card.entry.esm.js.map +1 -0
  20. package/bellhop-core/bh-chart-tooltip.entry.esm.js.map +1 -0
  21. package/bellhop-core/bh-checkbox-group-item.entry.esm.js.map +1 -0
  22. package/bellhop-core/bh-checkbox-group.entry.esm.js.map +1 -0
  23. package/bellhop-core/bh-checkbox.entry.esm.js.map +1 -0
  24. package/bellhop-core/bh-container-footer.entry.esm.js.map +1 -0
  25. package/bellhop-core/bh-container.entry.esm.js.map +1 -0
  26. package/bellhop-core/bh-data-grid.entry.esm.js.map +1 -0
  27. package/bellhop-core/bh-date-picker-content.bh-picker-menu.entry.esm.js.map +1 -0
  28. package/bellhop-core/bh-date-picker.bh-empty-state.entry.esm.js.map +1 -0
  29. package/bellhop-core/bh-date-range-picker-content.entry.esm.js.map +1 -0
  30. package/bellhop-core/bh-date-range-picker.entry.esm.js.map +1 -0
  31. package/bellhop-core/bh-dropdown-menu.entry.esm.js.map +1 -0
  32. package/bellhop-core/bh-dropdown.bh-logo-box.bh-nav-item.entry.esm.js.map +1 -0
  33. package/bellhop-core/bh-featured-icon.entry.esm.js.map +1 -0
  34. package/bellhop-core/bh-illustrations.entry.esm.js.map +1 -0
  35. package/bellhop-core/bh-input-autocomplete.entry.esm.js.map +1 -0
  36. package/bellhop-core/bh-input-number.entry.esm.js.map +1 -0
  37. package/bellhop-core/bh-input-password.entry.esm.js.map +1 -0
  38. package/bellhop-core/bh-input-text.entry.esm.js.map +1 -0
  39. package/bellhop-core/bh-input-verification.entry.esm.js.map +1 -0
  40. package/bellhop-core/bh-label.bh-tooltip.entry.esm.js.map +1 -0
  41. package/bellhop-core/bh-modal-actions.entry.esm.js.map +1 -0
  42. package/bellhop-core/bh-modal-header.entry.esm.js.map +1 -0
  43. package/bellhop-core/bh-modal.entry.esm.js.map +1 -0
  44. package/bellhop-core/bh-month-picker-content.entry.esm.js.map +1 -0
  45. package/bellhop-core/bh-month-picker.entry.esm.js.map +1 -0
  46. package/bellhop-core/bh-notification.entry.esm.js.map +1 -0
  47. package/bellhop-core/bh-page-navigation-child.entry.esm.js.map +1 -0
  48. package/bellhop-core/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.esm.js.map +1 -0
  49. package/bellhop-core/bh-page-navigation.entry.esm.js.map +1 -0
  50. package/bellhop-core/bh-pie-chart.entry.esm.js.map +1 -0
  51. package/bellhop-core/bh-popover.entry.esm.js.map +1 -0
  52. package/bellhop-core/bh-product-switcher.entry.esm.js.map +1 -0
  53. package/bellhop-core/bh-property-switcher.entry.esm.js.map +1 -0
  54. package/bellhop-core/bh-radio-button.entry.esm.js.map +1 -0
  55. package/bellhop-core/bh-sidebar.entry.esm.js.map +1 -0
  56. package/bellhop-core/bh-skeleton-loader.entry.esm.js.map +1 -0
  57. package/bellhop-core/bh-tab-item.entry.esm.js.map +1 -0
  58. package/bellhop-core/bh-tabs.entry.esm.js.map +1 -0
  59. package/bellhop-core/bh-textarea.entry.esm.js.map +1 -0
  60. package/bellhop-core/bh-toggle.entry.esm.js.map +1 -0
  61. package/bellhop-core/bh-trend-chart.entry.esm.js.map +1 -0
  62. package/bellhop-core/index.esm.js +2 -0
  63. package/bellhop-core/index.esm.js.map +1 -0
  64. package/bellhop-core/loader.esm.js.map +1 -0
  65. package/bellhop-core/p-051a25aa.entry.js +2 -0
  66. package/bellhop-core/p-051a25aa.entry.js.map +1 -0
  67. package/bellhop-core/p-0579ce8d.entry.js +2 -0
  68. package/bellhop-core/p-0579ce8d.entry.js.map +1 -0
  69. package/bellhop-core/p-05c13d72.entry.js +2 -0
  70. package/bellhop-core/p-05c13d72.entry.js.map +1 -0
  71. package/bellhop-core/p-0e013732.entry.js +2 -0
  72. package/bellhop-core/p-0e013732.entry.js.map +1 -0
  73. package/bellhop-core/p-1960c2d0.entry.js +2 -0
  74. package/bellhop-core/p-1960c2d0.entry.js.map +1 -0
  75. package/bellhop-core/p-2735c901.entry.js +2 -0
  76. package/bellhop-core/p-2735c901.entry.js.map +1 -0
  77. package/bellhop-core/p-2c80bc07.entry.js +2 -0
  78. package/bellhop-core/p-2c80bc07.entry.js.map +1 -0
  79. package/bellhop-core/p-2cc0c4cf.entry.js +2 -0
  80. package/bellhop-core/p-2cc0c4cf.entry.js.map +1 -0
  81. package/bellhop-core/p-3038cc1a.entry.js +2 -0
  82. package/bellhop-core/p-3038cc1a.entry.js.map +1 -0
  83. package/bellhop-core/p-324cad08.entry.js +2 -0
  84. package/bellhop-core/p-324cad08.entry.js.map +1 -0
  85. package/bellhop-core/p-3bf098fd.entry.js +2 -0
  86. package/bellhop-core/p-3bf098fd.entry.js.map +1 -0
  87. package/bellhop-core/p-3c739eea.entry.js +2 -0
  88. package/bellhop-core/p-3c739eea.entry.js.map +1 -0
  89. package/bellhop-core/p-4c71a0b6.entry.js +2 -0
  90. package/bellhop-core/p-4c71a0b6.entry.js.map +1 -0
  91. package/bellhop-core/p-5a220f12.entry.js +2 -0
  92. package/bellhop-core/p-5a220f12.entry.js.map +1 -0
  93. package/bellhop-core/p-5d844699.entry.js +2 -0
  94. package/bellhop-core/p-5d844699.entry.js.map +1 -0
  95. package/bellhop-core/p-5e8d2fc0.entry.js +2 -0
  96. package/bellhop-core/p-5e8d2fc0.entry.js.map +1 -0
  97. package/bellhop-core/p-71391701.entry.js +2 -0
  98. package/bellhop-core/p-71391701.entry.js.map +1 -0
  99. package/bellhop-core/p-7e67af77.entry.js +2 -0
  100. package/bellhop-core/p-7e67af77.entry.js.map +1 -0
  101. package/bellhop-core/p-7e908d03.entry.js +2 -0
  102. package/bellhop-core/p-7e908d03.entry.js.map +1 -0
  103. package/bellhop-core/p-8053e945.entry.js +2 -0
  104. package/bellhop-core/p-8053e945.entry.js.map +1 -0
  105. package/bellhop-core/p-852564d6.entry.js +2 -0
  106. package/bellhop-core/p-852564d6.entry.js.map +1 -0
  107. package/bellhop-core/p-86bbff38.entry.js +2 -0
  108. package/bellhop-core/p-86bbff38.entry.js.map +1 -0
  109. package/bellhop-core/p-87d1ed92.entry.js +2 -0
  110. package/bellhop-core/p-87d1ed92.entry.js.map +1 -0
  111. package/bellhop-core/p-94156013.entry.js +2 -0
  112. package/bellhop-core/p-94156013.entry.js.map +1 -0
  113. package/bellhop-core/p-954b9c38.entry.js +2 -0
  114. package/bellhop-core/p-954b9c38.entry.js.map +1 -0
  115. package/bellhop-core/p-9693180e.entry.js +2 -0
  116. package/bellhop-core/p-9693180e.entry.js.map +1 -0
  117. package/bellhop-core/p-98a336f7.entry.js +2 -0
  118. package/bellhop-core/p-98a336f7.entry.js.map +1 -0
  119. package/bellhop-core/p-98cc729f.entry.js +2 -0
  120. package/bellhop-core/p-98cc729f.entry.js.map +1 -0
  121. package/bellhop-core/p-9e7e64dc.entry.js +2 -0
  122. package/bellhop-core/p-9e7e64dc.entry.js.map +1 -0
  123. package/bellhop-core/p-9fe1fd2e.entry.js +2 -0
  124. package/bellhop-core/p-9fe1fd2e.entry.js.map +1 -0
  125. package/bellhop-core/p-CPgx0iFq.js +2 -0
  126. package/bellhop-core/p-CPgx0iFq.js.map +1 -0
  127. package/bellhop-core/p-DANVSPII.js +2 -0
  128. package/bellhop-core/p-DANVSPII.js.map +1 -0
  129. package/bellhop-core/p-DKeuA-TM.js +2 -0
  130. package/bellhop-core/p-DKeuA-TM.js.map +1 -0
  131. package/bellhop-core/p-DtVghh5W.js +3 -0
  132. package/bellhop-core/p-DtVghh5W.js.map +1 -0
  133. package/bellhop-core/p-a901ae33.entry.js +2 -0
  134. package/bellhop-core/p-a901ae33.entry.js.map +1 -0
  135. package/bellhop-core/p-abd6ade0.entry.js +2 -0
  136. package/bellhop-core/p-abd6ade0.entry.js.map +1 -0
  137. package/bellhop-core/p-abf68de4.entry.js +2 -0
  138. package/bellhop-core/p-abf68de4.entry.js.map +1 -0
  139. package/bellhop-core/p-ad15a4b9.entry.js +2 -0
  140. package/bellhop-core/p-ad15a4b9.entry.js.map +1 -0
  141. package/bellhop-core/p-b1affa8d.entry.js +2 -0
  142. package/bellhop-core/p-b1affa8d.entry.js.map +1 -0
  143. package/bellhop-core/p-b4104ae5.entry.js +2 -0
  144. package/bellhop-core/p-b4104ae5.entry.js.map +1 -0
  145. package/bellhop-core/p-c194883a.entry.js +2 -0
  146. package/bellhop-core/p-c194883a.entry.js.map +1 -0
  147. package/bellhop-core/p-c48ca590.entry.js +2 -0
  148. package/bellhop-core/p-c48ca590.entry.js.map +1 -0
  149. package/bellhop-core/p-c82e73aa.entry.js +2 -0
  150. package/bellhop-core/p-c82e73aa.entry.js.map +1 -0
  151. package/bellhop-core/p-d14192df.entry.js +2 -0
  152. package/bellhop-core/p-d14192df.entry.js.map +1 -0
  153. package/bellhop-core/p-d5fb8d0f.entry.js +2 -0
  154. package/bellhop-core/p-d5fb8d0f.entry.js.map +1 -0
  155. package/bellhop-core/p-d9106838.entry.js +2 -0
  156. package/bellhop-core/p-d9106838.entry.js.map +1 -0
  157. package/bellhop-core/p-d941cdba.entry.js +2 -0
  158. package/bellhop-core/p-d941cdba.entry.js.map +1 -0
  159. package/bellhop-core/p-d94b296e.entry.js +2 -0
  160. package/bellhop-core/p-d94b296e.entry.js.map +1 -0
  161. package/bellhop-core/p-df2728a1.entry.js +2 -0
  162. package/bellhop-core/p-df2728a1.entry.js.map +1 -0
  163. package/bellhop-core/p-df45027c.entry.js +2 -0
  164. package/bellhop-core/p-df45027c.entry.js.map +1 -0
  165. package/bellhop-core/p-dfe0574c.entry.js +2 -0
  166. package/bellhop-core/p-dfe0574c.entry.js.map +1 -0
  167. package/bellhop-core/p-e3c5d1e3.entry.js +2 -0
  168. package/bellhop-core/p-e3c5d1e3.entry.js.map +1 -0
  169. package/bellhop-core/p-e3d79592.entry.js +2 -0
  170. package/bellhop-core/p-e3d79592.entry.js.map +1 -0
  171. package/bellhop-core/p-e44539e9.entry.js +2 -0
  172. package/bellhop-core/p-e44539e9.entry.js.map +1 -0
  173. package/bellhop-core/p-e5b9a3de.entry.js +2 -0
  174. package/bellhop-core/p-e5b9a3de.entry.js.map +1 -0
  175. package/bellhop-core/p-e8e0739d.entry.js +2 -0
  176. package/bellhop-core/p-e8e0739d.entry.js.map +1 -0
  177. package/bellhop-core/p-ebb2492c.entry.js +2 -0
  178. package/bellhop-core/p-ebb2492c.entry.js.map +1 -0
  179. package/bellhop-core/p-ec894e11.entry.js +2 -0
  180. package/bellhop-core/p-ec894e11.entry.js.map +1 -0
  181. package/bellhop-core/p-f0cfc744.entry.js +2 -0
  182. package/bellhop-core/p-f0cfc744.entry.js.map +1 -0
  183. package/bellhop-core/p-f261bdae.entry.js +2 -0
  184. package/bellhop-core/p-f261bdae.entry.js.map +1 -0
  185. package/bellhop-core/p-f4c4c70d.entry.js +2 -0
  186. package/bellhop-core/p-f4c4c70d.entry.js.map +1 -0
  187. package/cjs/bellhop-core.cjs.js +25 -0
  188. package/cjs/bellhop-core.cjs.js.map +1 -0
  189. package/cjs/bh-accordion-item.cjs.entry.js +82 -0
  190. package/cjs/bh-accordion-item.entry.cjs.js.map +1 -0
  191. package/cjs/bh-accordion.cjs.entry.js +119 -0
  192. package/cjs/bh-accordion.entry.cjs.js.map +1 -0
  193. package/cjs/bh-appbar.cjs.entry.js +83 -0
  194. package/cjs/bh-appbar.entry.cjs.js.map +1 -0
  195. package/cjs/bh-autocomplete-menu.bh-tag.entry.cjs.js.map +1 -0
  196. package/cjs/bh-autocomplete-menu_2.cjs.entry.js +177 -0
  197. package/cjs/bh-avatar-add.cjs.entry.js +75 -0
  198. package/cjs/bh-avatar-add.entry.cjs.js.map +1 -0
  199. package/cjs/bh-avatar-stacked.cjs.entry.js +94 -0
  200. package/cjs/bh-avatar-stacked.entry.cjs.js.map +1 -0
  201. package/cjs/bh-avatar.cjs.entry.js +93 -0
  202. package/cjs/bh-avatar.entry.cjs.js.map +1 -0
  203. package/cjs/bh-badge-dot.bh-breadcrumbs.entry.cjs.js.map +1 -0
  204. package/cjs/bh-badge-dot_2.cjs.entry.js +134 -0
  205. package/cjs/bh-badge.cjs.entry.js +71 -0
  206. package/cjs/bh-badge.entry.cjs.js.map +1 -0
  207. package/cjs/bh-bar-chart.cjs.entry.js +164 -0
  208. package/cjs/bh-bar-chart.entry.cjs.js.map +1 -0
  209. package/cjs/bh-button-BKVcf-nK.js +117 -0
  210. package/cjs/bh-button-BKVcf-nK.js.map +1 -0
  211. package/cjs/bh-button-icon.cjs.entry.js +74 -0
  212. package/cjs/bh-button-icon.entry.cjs.js.map +1 -0
  213. package/cjs/bh-button.bh-loader-spinner.entry.cjs.js.map +1 -0
  214. package/cjs/bh-button_2.cjs.entry.js +47 -0
  215. package/cjs/bh-card-footer.cjs.entry.js +30 -0
  216. package/cjs/bh-card-footer.entry.cjs.js.map +1 -0
  217. package/cjs/bh-card-header.cjs.entry.js +74 -0
  218. package/cjs/bh-card-header.entry.cjs.js.map +1 -0
  219. package/cjs/bh-card.cjs.entry.js +48 -0
  220. package/cjs/bh-card.entry.cjs.js.map +1 -0
  221. package/cjs/bh-chart-tooltip.cjs.entry.js +57 -0
  222. package/cjs/bh-chart-tooltip.entry.cjs.js.map +1 -0
  223. package/cjs/bh-checkbox-group-item.cjs.entry.js +142 -0
  224. package/cjs/bh-checkbox-group-item.entry.cjs.js.map +1 -0
  225. package/cjs/bh-checkbox-group.cjs.entry.js +100 -0
  226. package/cjs/bh-checkbox-group.entry.cjs.js.map +1 -0
  227. package/cjs/bh-checkbox.cjs.entry.js +144 -0
  228. package/cjs/bh-checkbox.entry.cjs.js.map +1 -0
  229. package/cjs/bh-container-footer.cjs.entry.js +38 -0
  230. package/cjs/bh-container-footer.entry.cjs.js.map +1 -0
  231. package/cjs/bh-container.cjs.entry.js +26 -0
  232. package/cjs/bh-container.entry.cjs.js.map +1 -0
  233. package/cjs/bh-data-grid.cjs.entry.js +812 -0
  234. package/cjs/bh-data-grid.entry.cjs.js.map +1 -0
  235. package/cjs/bh-date-picker-content.bh-picker-menu.entry.cjs.js.map +1 -0
  236. package/cjs/bh-date-picker-content_2.cjs.entry.js +525 -0
  237. package/cjs/bh-date-picker.bh-empty-state.entry.cjs.js.map +1 -0
  238. package/cjs/bh-date-picker_2.cjs.entry.js +252 -0
  239. package/cjs/bh-date-range-picker-content.cjs.entry.js +151 -0
  240. package/cjs/bh-date-range-picker-content.entry.cjs.js.map +1 -0
  241. package/cjs/bh-date-range-picker.cjs.entry.js +167 -0
  242. package/cjs/bh-date-range-picker.entry.cjs.js.map +1 -0
  243. package/cjs/bh-dropdown-menu.cjs.entry.js +114 -0
  244. package/cjs/bh-dropdown-menu.entry.cjs.js.map +1 -0
  245. package/cjs/bh-dropdown.bh-logo-box.bh-nav-item.entry.cjs.js.map +1 -0
  246. package/cjs/bh-dropdown_3.cjs.entry.js +307 -0
  247. package/cjs/bh-featured-icon.cjs.entry.js +41 -0
  248. package/cjs/bh-featured-icon.entry.cjs.js.map +1 -0
  249. package/cjs/bh-illustrations.cjs.entry.js +65 -0
  250. package/cjs/bh-illustrations.entry.cjs.js.map +1 -0
  251. package/cjs/bh-input-autocomplete.cjs.entry.js +342 -0
  252. package/cjs/bh-input-autocomplete.entry.cjs.js.map +1 -0
  253. package/cjs/bh-input-number.cjs.entry.js +307 -0
  254. package/cjs/bh-input-number.entry.cjs.js.map +1 -0
  255. package/cjs/bh-input-password.cjs.entry.js +182 -0
  256. package/cjs/bh-input-password.entry.cjs.js.map +1 -0
  257. package/cjs/bh-input-text.cjs.entry.js +192 -0
  258. package/cjs/bh-input-text.entry.cjs.js.map +1 -0
  259. package/cjs/bh-input-verification.cjs.entry.js +203 -0
  260. package/cjs/bh-input-verification.entry.cjs.js.map +1 -0
  261. package/cjs/bh-label-DBqucnaO.js +110 -0
  262. package/cjs/bh-label-DBqucnaO.js.map +1 -0
  263. package/cjs/bh-label.bh-tooltip.entry.cjs.js.map +1 -0
  264. package/cjs/bh-label_2.cjs.entry.js +48 -0
  265. package/cjs/bh-modal-actions.cjs.entry.js +66 -0
  266. package/cjs/bh-modal-actions.entry.cjs.js.map +1 -0
  267. package/cjs/bh-modal-header.cjs.entry.js +76 -0
  268. package/cjs/bh-modal-header.entry.cjs.js.map +1 -0
  269. package/cjs/bh-modal.cjs.entry.js +56 -0
  270. package/cjs/bh-modal.entry.cjs.js.map +1 -0
  271. package/cjs/bh-month-picker-content.cjs.entry.js +189 -0
  272. package/cjs/bh-month-picker-content.entry.cjs.js.map +1 -0
  273. package/cjs/bh-month-picker.cjs.entry.js +152 -0
  274. package/cjs/bh-month-picker.entry.cjs.js.map +1 -0
  275. package/cjs/bh-notification.cjs.entry.js +128 -0
  276. package/cjs/bh-notification.entry.cjs.js.map +1 -0
  277. package/cjs/bh-page-navigation-child.cjs.entry.js +48 -0
  278. package/cjs/bh-page-navigation-child.entry.cjs.js.map +1 -0
  279. package/cjs/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.cjs.js.map +1 -0
  280. package/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +146 -0
  281. package/cjs/bh-page-navigation.cjs.entry.js +72 -0
  282. package/cjs/bh-page-navigation.entry.cjs.js.map +1 -0
  283. package/cjs/bh-pie-chart.cjs.entry.js +157 -0
  284. package/cjs/bh-pie-chart.entry.cjs.js.map +1 -0
  285. package/cjs/bh-popover.cjs.entry.js +100 -0
  286. package/cjs/bh-popover.entry.cjs.js.map +1 -0
  287. package/cjs/bh-product-switcher.cjs.entry.js +102 -0
  288. package/cjs/bh-product-switcher.entry.cjs.js.map +1 -0
  289. package/cjs/bh-property-switcher.cjs.entry.js +231 -0
  290. package/cjs/bh-property-switcher.entry.cjs.js.map +1 -0
  291. package/cjs/bh-radio-button.cjs.entry.js +124 -0
  292. package/cjs/bh-radio-button.entry.cjs.js.map +1 -0
  293. package/cjs/bh-sidebar.cjs.entry.js +110 -0
  294. package/cjs/bh-sidebar.entry.cjs.js.map +1 -0
  295. package/cjs/bh-skeleton-loader.cjs.entry.js +34 -0
  296. package/cjs/bh-skeleton-loader.entry.cjs.js.map +1 -0
  297. package/cjs/bh-tab-item.cjs.entry.js +54 -0
  298. package/cjs/bh-tab-item.entry.cjs.js.map +1 -0
  299. package/cjs/bh-tabs.cjs.entry.js +52 -0
  300. package/cjs/bh-tabs.entry.cjs.js.map +1 -0
  301. package/cjs/bh-textarea.cjs.entry.js +161 -0
  302. package/cjs/bh-textarea.entry.cjs.js.map +1 -0
  303. package/cjs/bh-toggle.cjs.entry.js +141 -0
  304. package/cjs/bh-toggle.entry.cjs.js.map +1 -0
  305. package/cjs/bh-trend-chart.cjs.entry.js +121 -0
  306. package/cjs/bh-trend-chart.entry.cjs.js.map +1 -0
  307. package/cjs/form-9mbajZ3y.js +64 -0
  308. package/cjs/form-9mbajZ3y.js.map +1 -0
  309. package/cjs/index-tZqSQc8E.js +1951 -0
  310. package/cjs/index-tZqSQc8E.js.map +1 -0
  311. package/cjs/index.cjs.js +32 -0
  312. package/cjs/index.cjs.js.map +1 -0
  313. package/cjs/loader.cjs.js +13 -0
  314. package/cjs/loader.cjs.js.map +1 -0
  315. package/collection/collection-manifest.json +77 -0
  316. package/collection/components/bh-accordion/bh-accordion.css +30 -0
  317. package/collection/components/bh-accordion/bh-accordion.js +227 -0
  318. package/collection/components/bh-accordion/bh-accordion.js.map +1 -0
  319. package/collection/components/bh-accordion-item/bh-accordion-item.css +119 -0
  320. package/collection/components/bh-accordion-item/bh-accordion-item.js +207 -0
  321. package/collection/components/bh-accordion-item/bh-accordion-item.js.map +1 -0
  322. package/collection/components/bh-appbar/bh-appbar.css +80 -0
  323. package/collection/components/bh-appbar/bh-appbar.js +270 -0
  324. package/collection/components/bh-appbar/bh-appbar.js.map +1 -0
  325. package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.css +142 -0
  326. package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js +301 -0
  327. package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js.map +1 -0
  328. package/collection/components/bh-avatar/bh-avatar.css +257 -0
  329. package/collection/components/bh-avatar/bh-avatar.js +266 -0
  330. package/collection/components/bh-avatar/bh-avatar.js.map +1 -0
  331. package/collection/components/bh-avatar-add/bh-avatar-add.css +145 -0
  332. package/collection/components/bh-avatar-add/bh-avatar-add.js +194 -0
  333. package/collection/components/bh-avatar-add/bh-avatar-add.js.map +1 -0
  334. package/collection/components/bh-avatar-stacked/bh-avatar-stacked.css +29 -0
  335. package/collection/components/bh-avatar-stacked/bh-avatar-stacked.js +211 -0
  336. package/collection/components/bh-avatar-stacked/bh-avatar-stacked.js.map +1 -0
  337. package/collection/components/bh-badge/bh-badge.css +348 -0
  338. package/collection/components/bh-badge/bh-badge.js +250 -0
  339. package/collection/components/bh-badge/bh-badge.js.map +1 -0
  340. package/collection/components/bh-badge-dot/bh-badge-dot.css +77 -0
  341. package/collection/components/bh-badge-dot/bh-badge-dot.js +113 -0
  342. package/collection/components/bh-badge-dot/bh-badge-dot.js.map +1 -0
  343. package/collection/components/bh-bar-chart/bh-bar-chart.css +363 -0
  344. package/collection/components/bh-bar-chart/bh-bar-chart.js +316 -0
  345. package/collection/components/bh-bar-chart/bh-bar-chart.js.map +1 -0
  346. package/collection/components/bh-breadcrumbs/bh-breadcrumbs.css +158 -0
  347. package/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +231 -0
  348. package/collection/components/bh-breadcrumbs/bh-breadcrumbs.js.map +1 -0
  349. package/collection/components/bh-button/bh-button.css +467 -0
  350. package/collection/components/bh-button/bh-button.js +350 -0
  351. package/collection/components/bh-button/bh-button.js.map +1 -0
  352. package/collection/components/bh-button-icon/bh-button-icon.css +187 -0
  353. package/collection/components/bh-button-icon/bh-button-icon.js +259 -0
  354. package/collection/components/bh-button-icon/bh-button-icon.js.map +1 -0
  355. package/collection/components/bh-card/bh-card.css +57 -0
  356. package/collection/components/bh-card/bh-card.js +139 -0
  357. package/collection/components/bh-card/bh-card.js.map +1 -0
  358. package/collection/components/bh-card-footer/bh-card-footer.css +54 -0
  359. package/collection/components/bh-card-footer/bh-card-footer.js +81 -0
  360. package/collection/components/bh-card-footer/bh-card-footer.js.map +1 -0
  361. package/collection/components/bh-card-header/bh-card-header.css +68 -0
  362. package/collection/components/bh-card-header/bh-card-header.js +348 -0
  363. package/collection/components/bh-card-header/bh-card-header.js.map +1 -0
  364. package/collection/components/bh-chart-tooltip/bh-chart-tooltip.css +301 -0
  365. package/collection/components/bh-chart-tooltip/bh-chart-tooltip.js +226 -0
  366. package/collection/components/bh-chart-tooltip/bh-chart-tooltip.js.map +1 -0
  367. package/collection/components/bh-checkbox/bh-checkbox.css +179 -0
  368. package/collection/components/bh-checkbox/bh-checkbox.js +378 -0
  369. package/collection/components/bh-checkbox/bh-checkbox.js.map +1 -0
  370. package/collection/components/bh-checkbox-group/bh-checkbox-group.css +10 -0
  371. package/collection/components/bh-checkbox-group/bh-checkbox-group.js +218 -0
  372. package/collection/components/bh-checkbox-group/bh-checkbox-group.js.map +1 -0
  373. package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.css +118 -0
  374. package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js +402 -0
  375. package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js.map +1 -0
  376. package/collection/components/bh-container/bh-container.css +21 -0
  377. package/collection/components/bh-container/bh-container.js +51 -0
  378. package/collection/components/bh-container/bh-container.js.map +1 -0
  379. package/collection/components/bh-container-footer/bh-container-footer.css +22 -0
  380. package/collection/components/bh-container-footer/bh-container-footer.js +106 -0
  381. package/collection/components/bh-container-footer/bh-container-footer.js.map +1 -0
  382. package/collection/components/bh-data-grid/bh-data-grid.css +602 -0
  383. package/collection/components/bh-data-grid/bh-data-grid.js +1488 -0
  384. package/collection/components/bh-data-grid/bh-data-grid.js.map +1 -0
  385. package/collection/components/bh-date-picker/bh-date-picker.css +251 -0
  386. package/collection/components/bh-date-picker/bh-date-picker.js +485 -0
  387. package/collection/components/bh-date-picker/bh-date-picker.js.map +1 -0
  388. package/collection/components/bh-date-picker-content/bh-date-picker-content.css +541 -0
  389. package/collection/components/bh-date-picker-content/bh-date-picker-content.js +711 -0
  390. package/collection/components/bh-date-picker-content/bh-date-picker-content.js.map +1 -0
  391. package/collection/components/bh-date-range-picker/bh-date-range-picker.css +247 -0
  392. package/collection/components/bh-date-range-picker/bh-date-range-picker.js +528 -0
  393. package/collection/components/bh-date-range-picker/bh-date-range-picker.js.map +1 -0
  394. package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.css +275 -0
  395. package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js +338 -0
  396. package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js.map +1 -0
  397. package/collection/components/bh-dropdown/bh-dropdown.css +64 -0
  398. package/collection/components/bh-dropdown/bh-dropdown.js +512 -0
  399. package/collection/components/bh-dropdown/bh-dropdown.js.map +1 -0
  400. package/collection/components/bh-dropdown-menu/bh-dropdown-menu.css +227 -0
  401. package/collection/components/bh-dropdown-menu/bh-dropdown-menu.js +262 -0
  402. package/collection/components/bh-dropdown-menu/bh-dropdown-menu.js.map +1 -0
  403. package/collection/components/bh-empty-state/bh-empty-state.css +89 -0
  404. package/collection/components/bh-empty-state/bh-empty-state.js +306 -0
  405. package/collection/components/bh-empty-state/bh-empty-state.js.map +1 -0
  406. package/collection/components/bh-featured-icon/bh-featured-icon.css +198 -0
  407. package/collection/components/bh-featured-icon/bh-featured-icon.js +144 -0
  408. package/collection/components/bh-featured-icon/bh-featured-icon.js.map +1 -0
  409. package/collection/components/bh-illustrations/bh-illustrations.css +328 -0
  410. package/collection/components/bh-illustrations/bh-illustrations.js +174 -0
  411. package/collection/components/bh-illustrations/bh-illustrations.js.map +1 -0
  412. package/collection/components/bh-input-autocomplete/bh-input-autocomplete.css +301 -0
  413. package/collection/components/bh-input-autocomplete/bh-input-autocomplete.js +872 -0
  414. package/collection/components/bh-input-autocomplete/bh-input-autocomplete.js.map +1 -0
  415. package/collection/components/bh-input-number/bh-input-number.css +192 -0
  416. package/collection/components/bh-input-number/bh-input-number.js +818 -0
  417. package/collection/components/bh-input-number/bh-input-number.js.map +1 -0
  418. package/collection/components/bh-input-password/bh-input-password.css +164 -0
  419. package/collection/components/bh-input-password/bh-input-password.js +581 -0
  420. package/collection/components/bh-input-password/bh-input-password.js.map +1 -0
  421. package/collection/components/bh-input-text/bh-input-text.css +153 -0
  422. package/collection/components/bh-input-text/bh-input-text.js +696 -0
  423. package/collection/components/bh-input-text/bh-input-text.js.map +1 -0
  424. package/collection/components/bh-input-verification/bh-input-verification.css +125 -0
  425. package/collection/components/bh-input-verification/bh-input-verification.js +523 -0
  426. package/collection/components/bh-input-verification/bh-input-verification.js.map +1 -0
  427. package/collection/components/bh-label/bh-label.css +143 -0
  428. package/collection/components/bh-label/bh-label.js +302 -0
  429. package/collection/components/bh-label/bh-label.js.map +1 -0
  430. package/collection/components/bh-loader-spinner/bh-loader-spinner.css +153 -0
  431. package/collection/components/bh-loader-spinner/bh-loader-spinner.js +182 -0
  432. package/collection/components/bh-loader-spinner/bh-loader-spinner.js.map +1 -0
  433. package/collection/components/bh-logo-box/bh-logo-box.css +85 -0
  434. package/collection/components/bh-logo-box/bh-logo-box.js +184 -0
  435. package/collection/components/bh-logo-box/bh-logo-box.js.map +1 -0
  436. package/collection/components/bh-modal/bh-modal.css +87 -0
  437. package/collection/components/bh-modal/bh-modal.js +144 -0
  438. package/collection/components/bh-modal/bh-modal.js.map +1 -0
  439. package/collection/components/bh-modal-actions/bh-modal-actions.css +124 -0
  440. package/collection/components/bh-modal-actions/bh-modal-actions.js +208 -0
  441. package/collection/components/bh-modal-actions/bh-modal-actions.js.map +1 -0
  442. package/collection/components/bh-modal-header/bh-modal-header.css +106 -0
  443. package/collection/components/bh-modal-header/bh-modal-header.js +275 -0
  444. package/collection/components/bh-modal-header/bh-modal-header.js.map +1 -0
  445. package/collection/components/bh-month-picker/bh-month-picker.css +251 -0
  446. package/collection/components/bh-month-picker/bh-month-picker.js +444 -0
  447. package/collection/components/bh-month-picker/bh-month-picker.js.map +1 -0
  448. package/collection/components/bh-month-picker-content/bh-month-picker-content.css +406 -0
  449. package/collection/components/bh-month-picker-content/bh-month-picker-content.js +437 -0
  450. package/collection/components/bh-month-picker-content/bh-month-picker-content.js.map +1 -0
  451. package/collection/components/bh-notification/bh-notification.css +117 -0
  452. package/collection/components/bh-notification/bh-notification.js +324 -0
  453. package/collection/components/bh-notification/bh-notification.js.map +1 -0
  454. package/collection/components/bh-page-navigation/bh-page-navigation.css +253 -0
  455. package/collection/components/bh-page-navigation/bh-page-navigation.js +146 -0
  456. package/collection/components/bh-page-navigation/bh-page-navigation.js.map +1 -0
  457. package/collection/components/bh-page-navigation-child/bh-page-navigation-child.css +281 -0
  458. package/collection/components/bh-page-navigation-child/bh-page-navigation-child.js +148 -0
  459. package/collection/components/bh-page-navigation-child/bh-page-navigation-child.js.map +1 -0
  460. package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.css +372 -0
  461. package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +268 -0
  462. package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js.map +1 -0
  463. package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.css +294 -0
  464. package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js +126 -0
  465. package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js.map +1 -0
  466. package/collection/components/bh-picker-menu/bh-picker-menu.css +284 -0
  467. package/collection/components/bh-picker-menu/bh-picker-menu.js +470 -0
  468. package/collection/components/bh-picker-menu/bh-picker-menu.js.map +1 -0
  469. package/collection/components/bh-pie-chart/bh-pie-chart.css +292 -0
  470. package/collection/components/bh-pie-chart/bh-pie-chart.js +280 -0
  471. package/collection/components/bh-pie-chart/bh-pie-chart.js.map +1 -0
  472. package/collection/components/bh-popover/bh-popover.css +310 -0
  473. package/collection/components/bh-popover/bh-popover.js +326 -0
  474. package/collection/components/bh-popover/bh-popover.js.map +1 -0
  475. package/collection/components/bh-product-switcher/bh-product-switcher.css +128 -0
  476. package/collection/components/bh-product-switcher/bh-product-switcher.js +226 -0
  477. package/collection/components/bh-product-switcher/bh-product-switcher.js.map +1 -0
  478. package/collection/components/bh-property-switcher/bh-property-switcher.css +346 -0
  479. package/collection/components/bh-property-switcher/bh-property-switcher.js +360 -0
  480. package/collection/components/bh-property-switcher/bh-property-switcher.js.map +1 -0
  481. package/collection/components/bh-radio-button/bh-radio-button.css +159 -0
  482. package/collection/components/bh-radio-button/bh-radio-button.js +292 -0
  483. package/collection/components/bh-radio-button/bh-radio-button.js.map +1 -0
  484. package/collection/components/bh-sidebar/bh-nav-item.css +114 -0
  485. package/collection/components/bh-sidebar/bh-nav-item.js +157 -0
  486. package/collection/components/bh-sidebar/bh-nav-item.js.map +1 -0
  487. package/collection/components/bh-sidebar/bh-sidebar.css +178 -0
  488. package/collection/components/bh-sidebar/bh-sidebar.js +344 -0
  489. package/collection/components/bh-sidebar/bh-sidebar.js.map +1 -0
  490. package/collection/components/bh-skeleton-loader/bh-skeleton-loader.css +50 -0
  491. package/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +99 -0
  492. package/collection/components/bh-skeleton-loader/bh-skeleton-loader.js.map +1 -0
  493. package/collection/components/bh-tab-item/bh-tab-item.css +132 -0
  494. package/collection/components/bh-tab-item/bh-tab-item.js +158 -0
  495. package/collection/components/bh-tab-item/bh-tab-item.js.map +1 -0
  496. package/collection/components/bh-tabs/bh-tabs.css +71 -0
  497. package/collection/components/bh-tabs/bh-tabs.js +178 -0
  498. package/collection/components/bh-tabs/bh-tabs.js.map +1 -0
  499. package/collection/components/bh-tag/bh-tag.css +180 -0
  500. package/collection/components/bh-tag/bh-tag.js +238 -0
  501. package/collection/components/bh-tag/bh-tag.js.map +1 -0
  502. package/collection/components/bh-textarea/bh-textarea.css +115 -0
  503. package/collection/components/bh-textarea/bh-textarea.js +569 -0
  504. package/collection/components/bh-textarea/bh-textarea.js.map +1 -0
  505. package/collection/components/bh-toggle/bh-toggle.css +290 -0
  506. package/collection/components/bh-toggle/bh-toggle.js +369 -0
  507. package/collection/components/bh-toggle/bh-toggle.js.map +1 -0
  508. package/collection/components/bh-tooltip/bh-tooltip.css +88 -0
  509. package/collection/components/bh-tooltip/bh-tooltip.js +162 -0
  510. package/collection/components/bh-tooltip/bh-tooltip.js.map +1 -0
  511. package/collection/components/bh-trend-chart/bh-trend-chart.css +299 -0
  512. package/collection/components/bh-trend-chart/bh-trend-chart.js +256 -0
  513. package/collection/components/bh-trend-chart/bh-trend-chart.js.map +1 -0
  514. package/collection/index.js +22 -0
  515. package/collection/index.js.map +1 -0
  516. package/collection/utils/form.js +68 -0
  517. package/collection/utils/form.js.map +1 -0
  518. package/components/bh-accordion-item.d.ts +11 -0
  519. package/components/bh-accordion-item.js +111 -0
  520. package/components/bh-accordion-item.js.map +1 -0
  521. package/components/bh-accordion.d.ts +11 -0
  522. package/components/bh-accordion.js +147 -0
  523. package/components/bh-accordion.js.map +1 -0
  524. package/components/bh-appbar.d.ts +11 -0
  525. package/components/bh-appbar.js +128 -0
  526. package/components/bh-appbar.js.map +1 -0
  527. package/components/bh-autocomplete-menu.d.ts +11 -0
  528. package/components/bh-autocomplete-menu.js +9 -0
  529. package/components/bh-autocomplete-menu.js.map +1 -0
  530. package/components/bh-avatar-add.d.ts +11 -0
  531. package/components/bh-avatar-add.js +9 -0
  532. package/components/bh-avatar-add.js.map +1 -0
  533. package/components/bh-avatar-stacked.d.ts +11 -0
  534. package/components/bh-avatar-stacked.js +141 -0
  535. package/components/bh-avatar-stacked.js.map +1 -0
  536. package/components/bh-avatar.d.ts +11 -0
  537. package/components/bh-avatar.js +9 -0
  538. package/components/bh-avatar.js.map +1 -0
  539. package/components/bh-badge-dot.d.ts +11 -0
  540. package/components/bh-badge-dot.js +9 -0
  541. package/components/bh-badge-dot.js.map +1 -0
  542. package/components/bh-badge.d.ts +11 -0
  543. package/components/bh-badge.js +9 -0
  544. package/components/bh-badge.js.map +1 -0
  545. package/components/bh-bar-chart.d.ts +11 -0
  546. package/components/bh-bar-chart.js +205 -0
  547. package/components/bh-bar-chart.js.map +1 -0
  548. package/components/bh-breadcrumbs.d.ts +11 -0
  549. package/components/bh-breadcrumbs.js +9 -0
  550. package/components/bh-breadcrumbs.js.map +1 -0
  551. package/components/bh-button-icon.d.ts +11 -0
  552. package/components/bh-button-icon.js +9 -0
  553. package/components/bh-button-icon.js.map +1 -0
  554. package/components/bh-button.d.ts +11 -0
  555. package/components/bh-button.js +9 -0
  556. package/components/bh-button.js.map +1 -0
  557. package/components/bh-card-footer.d.ts +11 -0
  558. package/components/bh-card-footer.js +9 -0
  559. package/components/bh-card-footer.js.map +1 -0
  560. package/components/bh-card-header.d.ts +11 -0
  561. package/components/bh-card-header.js +9 -0
  562. package/components/bh-card-header.js.map +1 -0
  563. package/components/bh-card.d.ts +11 -0
  564. package/components/bh-card.js +9 -0
  565. package/components/bh-card.js.map +1 -0
  566. package/components/bh-chart-tooltip.d.ts +11 -0
  567. package/components/bh-chart-tooltip.js +9 -0
  568. package/components/bh-chart-tooltip.js.map +1 -0
  569. package/components/bh-checkbox-group-item.d.ts +11 -0
  570. package/components/bh-checkbox-group-item.js +9 -0
  571. package/components/bh-checkbox-group-item.js.map +1 -0
  572. package/components/bh-checkbox-group.d.ts +11 -0
  573. package/components/bh-checkbox-group.js +9 -0
  574. package/components/bh-checkbox-group.js.map +1 -0
  575. package/components/bh-checkbox.d.ts +11 -0
  576. package/components/bh-checkbox.js +9 -0
  577. package/components/bh-checkbox.js.map +1 -0
  578. package/components/bh-container-footer.d.ts +11 -0
  579. package/components/bh-container-footer.js +74 -0
  580. package/components/bh-container-footer.js.map +1 -0
  581. package/components/bh-container.d.ts +11 -0
  582. package/components/bh-container.js +49 -0
  583. package/components/bh-container.js.map +1 -0
  584. package/components/bh-data-grid.d.ts +11 -0
  585. package/components/bh-data-grid.js +9 -0
  586. package/components/bh-data-grid.js.map +1 -0
  587. package/components/bh-date-picker-content.d.ts +11 -0
  588. package/components/bh-date-picker-content.js +9 -0
  589. package/components/bh-date-picker-content.js.map +1 -0
  590. package/components/bh-date-picker.d.ts +11 -0
  591. package/components/bh-date-picker.js +9 -0
  592. package/components/bh-date-picker.js.map +1 -0
  593. package/components/bh-date-range-picker-content.d.ts +11 -0
  594. package/components/bh-date-range-picker-content.js +9 -0
  595. package/components/bh-date-range-picker-content.js.map +1 -0
  596. package/components/bh-date-range-picker.d.ts +11 -0
  597. package/components/bh-date-range-picker.js +269 -0
  598. package/components/bh-date-range-picker.js.map +1 -0
  599. package/components/bh-dropdown-menu.d.ts +11 -0
  600. package/components/bh-dropdown-menu.js +9 -0
  601. package/components/bh-dropdown-menu.js.map +1 -0
  602. package/components/bh-dropdown.d.ts +11 -0
  603. package/components/bh-dropdown.js +9 -0
  604. package/components/bh-dropdown.js.map +1 -0
  605. package/components/bh-empty-state.d.ts +11 -0
  606. package/components/bh-empty-state.js +9 -0
  607. package/components/bh-empty-state.js.map +1 -0
  608. package/components/bh-featured-icon.d.ts +11 -0
  609. package/components/bh-featured-icon.js +9 -0
  610. package/components/bh-featured-icon.js.map +1 -0
  611. package/components/bh-illustrations.d.ts +11 -0
  612. package/components/bh-illustrations.js +92 -0
  613. package/components/bh-illustrations.js.map +1 -0
  614. package/components/bh-input-autocomplete.d.ts +11 -0
  615. package/components/bh-input-autocomplete.js +433 -0
  616. package/components/bh-input-autocomplete.js.map +1 -0
  617. package/components/bh-input-number.d.ts +11 -0
  618. package/components/bh-input-number.js +370 -0
  619. package/components/bh-input-number.js.map +1 -0
  620. package/components/bh-input-password.d.ts +11 -0
  621. package/components/bh-input-password.js +229 -0
  622. package/components/bh-input-password.js.map +1 -0
  623. package/components/bh-input-text.d.ts +11 -0
  624. package/components/bh-input-text.js +9 -0
  625. package/components/bh-input-text.js.map +1 -0
  626. package/components/bh-input-verification.d.ts +11 -0
  627. package/components/bh-input-verification.js +255 -0
  628. package/components/bh-input-verification.js.map +1 -0
  629. package/components/bh-label.d.ts +11 -0
  630. package/components/bh-label.js +9 -0
  631. package/components/bh-label.js.map +1 -0
  632. package/components/bh-loader-spinner.d.ts +11 -0
  633. package/components/bh-loader-spinner.js +9 -0
  634. package/components/bh-loader-spinner.js.map +1 -0
  635. package/components/bh-logo-box.d.ts +11 -0
  636. package/components/bh-logo-box.js +9 -0
  637. package/components/bh-logo-box.js.map +1 -0
  638. package/components/bh-modal-actions.d.ts +11 -0
  639. package/components/bh-modal-actions.js +105 -0
  640. package/components/bh-modal-actions.js.map +1 -0
  641. package/components/bh-modal-header.d.ts +11 -0
  642. package/components/bh-modal-header.js +119 -0
  643. package/components/bh-modal-header.js.map +1 -0
  644. package/components/bh-modal.d.ts +11 -0
  645. package/components/bh-modal.js +9 -0
  646. package/components/bh-modal.js.map +1 -0
  647. package/components/bh-month-picker-content.d.ts +11 -0
  648. package/components/bh-month-picker-content.js +9 -0
  649. package/components/bh-month-picker-content.js.map +1 -0
  650. package/components/bh-month-picker.d.ts +11 -0
  651. package/components/bh-month-picker.js +233 -0
  652. package/components/bh-month-picker.js.map +1 -0
  653. package/components/bh-nav-item.d.ts +11 -0
  654. package/components/bh-nav-item.js +9 -0
  655. package/components/bh-nav-item.js.map +1 -0
  656. package/components/bh-notification.d.ts +11 -0
  657. package/components/bh-notification.js +175 -0
  658. package/components/bh-notification.js.map +1 -0
  659. package/components/bh-page-navigation-child.d.ts +11 -0
  660. package/components/bh-page-navigation-child.js +9 -0
  661. package/components/bh-page-navigation-child.js.map +1 -0
  662. package/components/bh-page-navigation-multi-level.d.ts +11 -0
  663. package/components/bh-page-navigation-multi-level.js +9 -0
  664. package/components/bh-page-navigation-multi-level.js.map +1 -0
  665. package/components/bh-page-navigation-single-level.d.ts +11 -0
  666. package/components/bh-page-navigation-single-level.js +9 -0
  667. package/components/bh-page-navigation-single-level.js.map +1 -0
  668. package/components/bh-page-navigation.d.ts +11 -0
  669. package/components/bh-page-navigation.js +129 -0
  670. package/components/bh-page-navigation.js.map +1 -0
  671. package/components/bh-picker-menu.d.ts +11 -0
  672. package/components/bh-picker-menu.js +9 -0
  673. package/components/bh-picker-menu.js.map +1 -0
  674. package/components/bh-pie-chart.d.ts +11 -0
  675. package/components/bh-pie-chart.js +194 -0
  676. package/components/bh-pie-chart.js.map +1 -0
  677. package/components/bh-popover.d.ts +11 -0
  678. package/components/bh-popover.js +131 -0
  679. package/components/bh-popover.js.map +1 -0
  680. package/components/bh-product-switcher.d.ts +11 -0
  681. package/components/bh-product-switcher.js +9 -0
  682. package/components/bh-product-switcher.js.map +1 -0
  683. package/components/bh-property-switcher.d.ts +11 -0
  684. package/components/bh-property-switcher.js +261 -0
  685. package/components/bh-property-switcher.js.map +1 -0
  686. package/components/bh-radio-button.d.ts +11 -0
  687. package/components/bh-radio-button.js +9 -0
  688. package/components/bh-radio-button.js.map +1 -0
  689. package/components/bh-sidebar.d.ts +11 -0
  690. package/components/bh-sidebar.js +195 -0
  691. package/components/bh-sidebar.js.map +1 -0
  692. package/components/bh-skeleton-loader.d.ts +11 -0
  693. package/components/bh-skeleton-loader.js +59 -0
  694. package/components/bh-skeleton-loader.js.map +1 -0
  695. package/components/bh-tab-item.d.ts +11 -0
  696. package/components/bh-tab-item.js +80 -0
  697. package/components/bh-tab-item.js.map +1 -0
  698. package/components/bh-tabs.d.ts +11 -0
  699. package/components/bh-tabs.js +78 -0
  700. package/components/bh-tabs.js.map +1 -0
  701. package/components/bh-tag.d.ts +11 -0
  702. package/components/bh-tag.js +9 -0
  703. package/components/bh-tag.js.map +1 -0
  704. package/components/bh-textarea.d.ts +11 -0
  705. package/components/bh-textarea.js +207 -0
  706. package/components/bh-textarea.js.map +1 -0
  707. package/components/bh-toggle.d.ts +11 -0
  708. package/components/bh-toggle.js +9 -0
  709. package/components/bh-toggle.js.map +1 -0
  710. package/components/bh-tooltip.d.ts +11 -0
  711. package/components/bh-tooltip.js +9 -0
  712. package/components/bh-tooltip.js.map +1 -0
  713. package/components/bh-trend-chart.d.ts +11 -0
  714. package/components/bh-trend-chart.js +149 -0
  715. package/components/bh-trend-chart.js.map +1 -0
  716. package/components/index.d.ts +33 -0
  717. package/components/index.js +16 -0
  718. package/components/index.js.map +1 -0
  719. package/components/p-2KjdCYlS.js +59 -0
  720. package/components/p-2KjdCYlS.js.map +1 -0
  721. package/components/p-54wXxbeh.js +213 -0
  722. package/components/p-54wXxbeh.js.map +1 -0
  723. package/components/p-9a7sQzad.js +1463 -0
  724. package/components/p-9a7sQzad.js.map +1 -0
  725. package/components/p-B3doeS-4.js +158 -0
  726. package/components/p-B3doeS-4.js.map +1 -0
  727. package/components/p-B4TBDBoW.js +71 -0
  728. package/components/p-B4TBDBoW.js.map +1 -0
  729. package/components/p-BBenNW93.js +184 -0
  730. package/components/p-BBenNW93.js.map +1 -0
  731. package/components/p-BLRNfy0t.js +84 -0
  732. package/components/p-BLRNfy0t.js.map +1 -0
  733. package/components/p-BYhYSIIs.js +941 -0
  734. package/components/p-BYhYSIIs.js.map +1 -0
  735. package/components/p-Bbo_Dwmk.js +70 -0
  736. package/components/p-Bbo_Dwmk.js.map +1 -0
  737. package/components/p-BdcGkck5.js +72 -0
  738. package/components/p-BdcGkck5.js.map +1 -0
  739. package/components/p-Bk8GbEQp.js +132 -0
  740. package/components/p-Bk8GbEQp.js.map +1 -0
  741. package/components/p-CDPKBnfQ.js +92 -0
  742. package/components/p-CDPKBnfQ.js.map +1 -0
  743. package/components/p-CDgBIIbC.js +224 -0
  744. package/components/p-CDgBIIbC.js.map +1 -0
  745. package/components/p-CErNA5c8.js +204 -0
  746. package/components/p-CErNA5c8.js.map +1 -0
  747. package/components/p-CQBqn1IO.js +67 -0
  748. package/components/p-CQBqn1IO.js.map +1 -0
  749. package/components/p-CTjPiCcp.js +51 -0
  750. package/components/p-CTjPiCcp.js.map +1 -0
  751. package/components/p-CciWcvHP.js +123 -0
  752. package/components/p-CciWcvHP.js.map +1 -0
  753. package/components/p-CiQqgc-m.js +434 -0
  754. package/components/p-CiQqgc-m.js.map +1 -0
  755. package/components/p-CsRNKalM.js +166 -0
  756. package/components/p-CsRNKalM.js.map +1 -0
  757. package/components/p-CuVsQ9St.js +123 -0
  758. package/components/p-CuVsQ9St.js.map +1 -0
  759. package/components/p-D3OkBDd3.js +100 -0
  760. package/components/p-D3OkBDd3.js.map +1 -0
  761. package/components/p-D6cM-mvE.js +64 -0
  762. package/components/p-D6cM-mvE.js.map +1 -0
  763. package/components/p-D6kh9oF2.js +70 -0
  764. package/components/p-D6kh9oF2.js.map +1 -0
  765. package/components/p-DHSWIF-h.js +214 -0
  766. package/components/p-DHSWIF-h.js.map +1 -0
  767. package/components/p-DNhCX5eS.js +153 -0
  768. package/components/p-DNhCX5eS.js.map +1 -0
  769. package/components/p-DRGkYX1u.js +78 -0
  770. package/components/p-DRGkYX1u.js.map +1 -0
  771. package/components/p-DRJW4zBc.js +58 -0
  772. package/components/p-DRJW4zBc.js.map +1 -0
  773. package/components/p-DTgHvmlL.js +149 -0
  774. package/components/p-DTgHvmlL.js.map +1 -0
  775. package/components/p-DVhHZCku.js +220 -0
  776. package/components/p-DVhHZCku.js.map +1 -0
  777. package/components/p-DWpdUpK5.js +264 -0
  778. package/components/p-DWpdUpK5.js.map +1 -0
  779. package/components/p-D_DKZMpk.js +78 -0
  780. package/components/p-D_DKZMpk.js.map +1 -0
  781. package/components/p-Dbl0HXBJ.js +241 -0
  782. package/components/p-Dbl0HXBJ.js.map +1 -0
  783. package/components/p-DecYIvq4.js +124 -0
  784. package/components/p-DecYIvq4.js.map +1 -0
  785. package/components/p-DfXkVfrE.js +129 -0
  786. package/components/p-DfXkVfrE.js.map +1 -0
  787. package/components/p-HEcFS8Jc.js +125 -0
  788. package/components/p-HEcFS8Jc.js.map +1 -0
  789. package/components/p-MIbEYjCv.js +142 -0
  790. package/components/p-MIbEYjCv.js.map +1 -0
  791. package/components/p-NXL0pYS_.js +97 -0
  792. package/components/p-NXL0pYS_.js.map +1 -0
  793. package/components/p-X9MH3dtg.js +154 -0
  794. package/components/p-X9MH3dtg.js.map +1 -0
  795. package/components/p-YJm8-pxX.js +118 -0
  796. package/components/p-YJm8-pxX.js.map +1 -0
  797. package/components/p-ghuDbZwh.js +148 -0
  798. package/components/p-ghuDbZwh.js.map +1 -0
  799. package/components/p-p8W0xKpn.js +106 -0
  800. package/components/p-p8W0xKpn.js.map +1 -0
  801. package/esm/bellhop-core.js +21 -0
  802. package/esm/bellhop-core.js.map +1 -0
  803. package/esm/bh-accordion-item.entry.js +80 -0
  804. package/esm/bh-accordion-item.entry.js.map +1 -0
  805. package/esm/bh-accordion.entry.js +117 -0
  806. package/esm/bh-accordion.entry.js.map +1 -0
  807. package/esm/bh-appbar.entry.js +81 -0
  808. package/esm/bh-appbar.entry.js.map +1 -0
  809. package/esm/bh-autocomplete-menu.bh-tag.entry.js.map +1 -0
  810. package/esm/bh-autocomplete-menu_2.entry.js +174 -0
  811. package/esm/bh-avatar-add.entry.js +73 -0
  812. package/esm/bh-avatar-add.entry.js.map +1 -0
  813. package/esm/bh-avatar-stacked.entry.js +92 -0
  814. package/esm/bh-avatar-stacked.entry.js.map +1 -0
  815. package/esm/bh-avatar.entry.js +91 -0
  816. package/esm/bh-avatar.entry.js.map +1 -0
  817. package/esm/bh-badge-dot.bh-breadcrumbs.entry.js.map +1 -0
  818. package/esm/bh-badge-dot_2.entry.js +131 -0
  819. package/esm/bh-badge.entry.js +69 -0
  820. package/esm/bh-badge.entry.js.map +1 -0
  821. package/esm/bh-bar-chart.entry.js +162 -0
  822. package/esm/bh-bar-chart.entry.js.map +1 -0
  823. package/esm/bh-button-CBZGiLVh.js +115 -0
  824. package/esm/bh-button-CBZGiLVh.js.map +1 -0
  825. package/esm/bh-button-icon.entry.js +72 -0
  826. package/esm/bh-button-icon.entry.js.map +1 -0
  827. package/esm/bh-button.bh-loader-spinner.entry.js.map +1 -0
  828. package/esm/bh-button_2.entry.js +44 -0
  829. package/esm/bh-card-footer.entry.js +28 -0
  830. package/esm/bh-card-footer.entry.js.map +1 -0
  831. package/esm/bh-card-header.entry.js +72 -0
  832. package/esm/bh-card-header.entry.js.map +1 -0
  833. package/esm/bh-card.entry.js +46 -0
  834. package/esm/bh-card.entry.js.map +1 -0
  835. package/esm/bh-chart-tooltip.entry.js +55 -0
  836. package/esm/bh-chart-tooltip.entry.js.map +1 -0
  837. package/esm/bh-checkbox-group-item.entry.js +140 -0
  838. package/esm/bh-checkbox-group-item.entry.js.map +1 -0
  839. package/esm/bh-checkbox-group.entry.js +98 -0
  840. package/esm/bh-checkbox-group.entry.js.map +1 -0
  841. package/esm/bh-checkbox.entry.js +142 -0
  842. package/esm/bh-checkbox.entry.js.map +1 -0
  843. package/esm/bh-container-footer.entry.js +36 -0
  844. package/esm/bh-container-footer.entry.js.map +1 -0
  845. package/esm/bh-container.entry.js +24 -0
  846. package/esm/bh-container.entry.js.map +1 -0
  847. package/esm/bh-data-grid.entry.js +810 -0
  848. package/esm/bh-data-grid.entry.js.map +1 -0
  849. package/esm/bh-date-picker-content.bh-picker-menu.entry.js.map +1 -0
  850. package/esm/bh-date-picker-content_2.entry.js +522 -0
  851. package/esm/bh-date-picker.bh-empty-state.entry.js.map +1 -0
  852. package/esm/bh-date-picker_2.entry.js +249 -0
  853. package/esm/bh-date-range-picker-content.entry.js +149 -0
  854. package/esm/bh-date-range-picker-content.entry.js.map +1 -0
  855. package/esm/bh-date-range-picker.entry.js +165 -0
  856. package/esm/bh-date-range-picker.entry.js.map +1 -0
  857. package/esm/bh-dropdown-menu.entry.js +112 -0
  858. package/esm/bh-dropdown-menu.entry.js.map +1 -0
  859. package/esm/bh-dropdown.bh-logo-box.bh-nav-item.entry.js.map +1 -0
  860. package/esm/bh-dropdown_3.entry.js +303 -0
  861. package/esm/bh-featured-icon.entry.js +39 -0
  862. package/esm/bh-featured-icon.entry.js.map +1 -0
  863. package/esm/bh-illustrations.entry.js +63 -0
  864. package/esm/bh-illustrations.entry.js.map +1 -0
  865. package/esm/bh-input-autocomplete.entry.js +340 -0
  866. package/esm/bh-input-autocomplete.entry.js.map +1 -0
  867. package/esm/bh-input-number.entry.js +305 -0
  868. package/esm/bh-input-number.entry.js.map +1 -0
  869. package/esm/bh-input-password.entry.js +180 -0
  870. package/esm/bh-input-password.entry.js.map +1 -0
  871. package/esm/bh-input-text.entry.js +190 -0
  872. package/esm/bh-input-text.entry.js.map +1 -0
  873. package/esm/bh-input-verification.entry.js +201 -0
  874. package/esm/bh-input-verification.entry.js.map +1 -0
  875. package/esm/bh-label-DqsVrCg_.js +108 -0
  876. package/esm/bh-label-DqsVrCg_.js.map +1 -0
  877. package/esm/bh-label.bh-tooltip.entry.js.map +1 -0
  878. package/esm/bh-label_2.entry.js +45 -0
  879. package/esm/bh-modal-actions.entry.js +64 -0
  880. package/esm/bh-modal-actions.entry.js.map +1 -0
  881. package/esm/bh-modal-header.entry.js +74 -0
  882. package/esm/bh-modal-header.entry.js.map +1 -0
  883. package/esm/bh-modal.entry.js +54 -0
  884. package/esm/bh-modal.entry.js.map +1 -0
  885. package/esm/bh-month-picker-content.entry.js +187 -0
  886. package/esm/bh-month-picker-content.entry.js.map +1 -0
  887. package/esm/bh-month-picker.entry.js +150 -0
  888. package/esm/bh-month-picker.entry.js.map +1 -0
  889. package/esm/bh-notification.entry.js +126 -0
  890. package/esm/bh-notification.entry.js.map +1 -0
  891. package/esm/bh-page-navigation-child.entry.js +46 -0
  892. package/esm/bh-page-navigation-child.entry.js.map +1 -0
  893. package/esm/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.js.map +1 -0
  894. package/esm/bh-page-navigation-multi-level_2.entry.js +143 -0
  895. package/esm/bh-page-navigation.entry.js +70 -0
  896. package/esm/bh-page-navigation.entry.js.map +1 -0
  897. package/esm/bh-pie-chart.entry.js +155 -0
  898. package/esm/bh-pie-chart.entry.js.map +1 -0
  899. package/esm/bh-popover.entry.js +98 -0
  900. package/esm/bh-popover.entry.js.map +1 -0
  901. package/esm/bh-product-switcher.entry.js +100 -0
  902. package/esm/bh-product-switcher.entry.js.map +1 -0
  903. package/esm/bh-property-switcher.entry.js +229 -0
  904. package/esm/bh-property-switcher.entry.js.map +1 -0
  905. package/esm/bh-radio-button.entry.js +122 -0
  906. package/esm/bh-radio-button.entry.js.map +1 -0
  907. package/esm/bh-sidebar.entry.js +108 -0
  908. package/esm/bh-sidebar.entry.js.map +1 -0
  909. package/esm/bh-skeleton-loader.entry.js +32 -0
  910. package/esm/bh-skeleton-loader.entry.js.map +1 -0
  911. package/esm/bh-tab-item.entry.js +52 -0
  912. package/esm/bh-tab-item.entry.js.map +1 -0
  913. package/esm/bh-tabs.entry.js +50 -0
  914. package/esm/bh-tabs.entry.js.map +1 -0
  915. package/esm/bh-textarea.entry.js +159 -0
  916. package/esm/bh-textarea.entry.js.map +1 -0
  917. package/esm/bh-toggle.entry.js +139 -0
  918. package/esm/bh-toggle.entry.js.map +1 -0
  919. package/esm/bh-trend-chart.entry.js +119 -0
  920. package/esm/bh-trend-chart.entry.js.map +1 -0
  921. package/esm/form-CPgx0iFq.js +59 -0
  922. package/esm/form-CPgx0iFq.js.map +1 -0
  923. package/esm/index-DtVghh5W.js +1922 -0
  924. package/esm/index-DtVghh5W.js.map +1 -0
  925. package/esm/index.js +15 -0
  926. package/esm/index.js.map +1 -0
  927. package/esm/loader.js +11 -0
  928. package/esm/loader.js.map +1 -0
  929. package/index.cjs.js +1 -0
  930. package/index.js +1 -0
  931. package/loader/cdn.js +1 -0
  932. package/loader/index.cjs.js +1 -0
  933. package/loader/index.d.ts +24 -0
  934. package/loader/index.es2017.js +1 -0
  935. package/loader/index.js +2 -0
  936. package/package.json +32 -0
  937. package/types/components/bh-accordion/bh-accordion.d.ts +42 -0
  938. package/types/components/bh-accordion-item/bh-accordion-item.d.ts +41 -0
  939. package/types/components/bh-appbar/bh-appbar.d.ts +54 -0
  940. package/types/components/bh-autocomplete-menu/bh-autocomplete-menu.d.ts +54 -0
  941. package/types/components/bh-avatar/bh-avatar.d.ts +43 -0
  942. package/types/components/bh-avatar-add/bh-avatar-add.d.ts +35 -0
  943. package/types/components/bh-avatar-stacked/bh-avatar-stacked.d.ts +42 -0
  944. package/types/components/bh-badge/bh-badge.d.ts +40 -0
  945. package/types/components/bh-badge-dot/bh-badge-dot.d.ts +17 -0
  946. package/types/components/bh-bar-chart/bh-bar-chart.d.ts +50 -0
  947. package/types/components/bh-breadcrumbs/bh-breadcrumbs.d.ts +40 -0
  948. package/types/components/bh-button/bh-button.d.ts +57 -0
  949. package/types/components/bh-button-icon/bh-button-icon.d.ts +44 -0
  950. package/types/components/bh-card/bh-card.d.ts +23 -0
  951. package/types/components/bh-card-footer/bh-card-footer.d.ts +12 -0
  952. package/types/components/bh-card-header/bh-card-header.d.ts +59 -0
  953. package/types/components/bh-chart-tooltip/bh-chart-tooltip.d.ts +40 -0
  954. package/types/components/bh-checkbox/bh-checkbox.d.ts +45 -0
  955. package/types/components/bh-checkbox-group/bh-checkbox-group.d.ts +34 -0
  956. package/types/components/bh-checkbox-group-item/bh-checkbox-group-item.d.ts +67 -0
  957. package/types/components/bh-container/bh-container.d.ts +7 -0
  958. package/types/components/bh-container-footer/bh-container-footer.d.ts +18 -0
  959. package/types/components/bh-data-grid/bh-data-grid.d.ts +235 -0
  960. package/types/components/bh-date-picker/bh-date-picker.d.ts +78 -0
  961. package/types/components/bh-date-picker-content/bh-date-picker-content.d.ts +112 -0
  962. package/types/components/bh-date-range-picker/bh-date-range-picker.d.ts +85 -0
  963. package/types/components/bh-date-range-picker-content/bh-date-range-picker-content.d.ts +55 -0
  964. package/types/components/bh-dropdown/bh-dropdown.d.ts +78 -0
  965. package/types/components/bh-dropdown-menu/bh-dropdown-menu.d.ts +51 -0
  966. package/types/components/bh-empty-state/bh-empty-state.d.ts +52 -0
  967. package/types/components/bh-featured-icon/bh-featured-icon.d.ts +22 -0
  968. package/types/components/bh-illustrations/bh-illustrations.d.ts +25 -0
  969. package/types/components/bh-input-autocomplete/bh-input-autocomplete.d.ts +130 -0
  970. package/types/components/bh-input-number/bh-input-number.d.ts +137 -0
  971. package/types/components/bh-input-password/bh-input-password.d.ts +111 -0
  972. package/types/components/bh-input-text/bh-input-text.d.ts +126 -0
  973. package/types/components/bh-input-verification/bh-input-verification.d.ts +79 -0
  974. package/types/components/bh-label/bh-label.d.ts +54 -0
  975. package/types/components/bh-loader-spinner/bh-loader-spinner.d.ts +19 -0
  976. package/types/components/bh-logo-box/bh-logo-box.d.ts +28 -0
  977. package/types/components/bh-modal/bh-modal.d.ts +23 -0
  978. package/types/components/bh-modal-actions/bh-modal-actions.d.ts +38 -0
  979. package/types/components/bh-modal-header/bh-modal-header.d.ts +45 -0
  980. package/types/components/bh-month-picker/bh-month-picker.d.ts +73 -0
  981. package/types/components/bh-month-picker-content/bh-month-picker-content.d.ts +77 -0
  982. package/types/components/bh-notification/bh-notification.d.ts +51 -0
  983. package/types/components/bh-page-navigation/bh-page-navigation.d.ts +45 -0
  984. package/types/components/bh-page-navigation-child/bh-page-navigation-child.d.ts +26 -0
  985. package/types/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.d.ts +60 -0
  986. package/types/components/bh-page-navigation-single-level/bh-page-navigation-single-level.d.ts +22 -0
  987. package/types/components/bh-picker-menu/bh-picker-menu.d.ts +76 -0
  988. package/types/components/bh-pie-chart/bh-pie-chart.d.ts +50 -0
  989. package/types/components/bh-popover/bh-popover.d.ts +60 -0
  990. package/types/components/bh-product-switcher/bh-product-switcher.d.ts +40 -0
  991. package/types/components/bh-property-switcher/bh-property-switcher.d.ts +63 -0
  992. package/types/components/bh-radio-button/bh-radio-button.d.ts +56 -0
  993. package/types/components/bh-sidebar/bh-nav-item.d.ts +26 -0
  994. package/types/components/bh-sidebar/bh-sidebar.d.ts +70 -0
  995. package/types/components/bh-skeleton-loader/bh-skeleton-loader.d.ts +15 -0
  996. package/types/components/bh-tab-item/bh-tab-item.d.ts +29 -0
  997. package/types/components/bh-tabs/bh-tabs.d.ts +30 -0
  998. package/types/components/bh-tag/bh-tag.d.ts +25 -0
  999. package/types/components/bh-textarea/bh-textarea.d.ts +101 -0
  1000. package/types/components/bh-toggle/bh-toggle.d.ts +66 -0
  1001. package/types/components/bh-tooltip/bh-tooltip.d.ts +25 -0
  1002. package/types/components/bh-trend-chart/bh-trend-chart.d.ts +34 -0
  1003. package/types/components.d.ts +7199 -0
  1004. package/types/index.d.ts +12 -0
  1005. package/types/stencil-public-runtime.d.ts +1756 -0
  1006. package/types/utils/form.d.ts +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-bar-chart.entry.js","sources":["src/components/bh-bar-chart/bh-bar-chart.css?tag=bh-bar-chart&encapsulation=shadow","src/components/bh-bar-chart/bh-bar-chart.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Vertical Layout */\n.vertical-container {\n display: flex;\n align-items: flex-end;\n height: 180px;\n width: 100%;\n}\n\n.vertical-container.simple {\n height: 180px;\n width: 100%;\n}\n\n.bar-column.vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n height: 100%;\n flex: 1;\n gap: var(--spacing-xxs, 2px);\n margin: 0 2px;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n}\n\n.vertical-container.simple .bar-column.vertical {\n flex: 1;\n margin: 0 2px;\n}\n\n.bar-segment.vertical {\n width: 6px;\n border-radius: 2px;\n min-height: 2px;\n transition: all 0.3s ease;\n transform-origin: bottom;\n}\n\n/* Horizontal Layout */\n.horizontal-container {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: auto;\n min-height: 140px;\n gap: var(--spacing-lg, 12px);\n}\n\n.horizontal-container.simple {\n height: auto;\n min-height: 140px;\n gap: var(--spacing-lg, 12px);\n}\n\n.bar-row.horizontal {\n display: flex;\n align-items: center;\n width: 100%;\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n gap: var(--spacing-xxs, 2px);\n margin: 2px 0;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n padding: 2px;\n}\n\n.horizontal-container.simple .bar-row.horizontal {\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n margin: 2px 0;\n padding: 2px;\n}\n\n.bar-segment.horizontal {\n height: 100%;\n min-height: 6px;\n max-height: 6px;\n border-radius: 2px;\n min-width: 2px;\n transition: all 0.3s ease;\n transform-origin: left;\n}\n\n.horizontal-container.simple .bar-segment.horizontal {\n min-width: 2px;\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n}\n\n/* Hover effects */\n.bar-column,\n.bar-row {\n cursor: pointer;\n}\n\n.bar-column:hover {\n background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);\n}\n\n.bar-row:hover {\n background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);\n}\n\n.bar-column:hover .bar-segment,\n.bar-row:hover .bar-segment {\n opacity: 0.9;\n filter: brightness(1.05);\n}\n\n/* Animations */\n.bar-chart-animated .bar-segment.vertical {\n animation: barGrowVertical 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;\n}\n\n.bar-chart-animated .bar-segment.horizontal {\n animation: barGrowHorizontal 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;\n}\n\n@keyframes barGrowVertical {\n from {\n transform: scaleY(0);\n opacity: 0;\n }\n to {\n transform: scaleY(1);\n opacity: 1;\n }\n}\n\n@keyframes barGrowHorizontal {\n from {\n transform: scaleX(0);\n opacity: 0;\n }\n to {\n transform: scaleX(1);\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .bar-chart-animated .bar-segment.vertical,\n .bar-chart-animated .bar-segment.horizontal {\n animation: none;\n opacity: 1;\n transform: none;\n }\n}\n","import { Component, Prop, State, h, Host } from '@stencil/core';\nimport type { TooltipItem } from '../bh-chart-tooltip/bh-chart-tooltip';\n\nexport type BarChartType = 'simple' | 'stacked';\nexport type BarChartOrientation = 'vertical' | 'horizontal';\n\nexport interface BarChartSeries {\n name: string;\n values: number[];\n color?: string;\n}\n\nexport interface BarChartData {\n series: BarChartSeries[];\n categories?: string[];\n}\n\ninterface BarSegment {\n value: number;\n height: number;\n width: number;\n color: string;\n seriesName?: string;\n}\n\ninterface ProcessedBar {\n segments: BarSegment[];\n totalValue: number;\n category?: string;\n}\n\nconst DEFAULT_COLORS = [\n 'var(--color-brand-600)',\n 'var(--color-orange-500)',\n 'var(--color-success-500)',\n 'var(--color-purple-600)',\n 'var(--color-accent-500)',\n 'var(--color-teal-500)',\n 'var(--color-lime-500)',\n 'var(--color-amber-500)',\n];\n\n@Component({\n tag: 'bh-bar-chart',\n styleUrl: 'bh-bar-chart.css',\n shadow: true,\n})\nexport class BhBarChart {\n /**\n * Chart data\n */\n @Prop() data: BarChartData = {\n series: [\n { name: 'Series 1', values: [30, 45, 20, 35, 50, 40, 60, 35, 25, 55, 40], color: '#94a3b8' },\n { name: 'Series 2', values: [20, 25, 40, 30, 35, 45, 25, 30, 40, 20, 50], color: '#2563eb' },\n { name: 'Series 3', values: [25, 15, 35, 20, 15, 20, 30, 25, 30, 35, 25], color: '#7c3aed' },\n ],\n };\n\n /**\n * Chart type: simple or stacked\n */\n @Prop() type: BarChartType = 'stacked';\n\n /**\n * Chart orientation: vertical or horizontal\n */\n @Prop() orientation: BarChartOrientation = 'vertical';\n\n /**\n * Whether to animate the chart\n */\n @Prop() animated: boolean = true;\n\n /**\n * Maximum height for vertical bars\n */\n @Prop() maxHeight: number = 150;\n\n /**\n * Maximum width for horizontal bars\n */\n @Prop() maxWidth: number = 200;\n\n @State() tooltipVisible: boolean = false;\n @State() tooltipX: number = 0;\n @State() tooltipY: number = 0;\n @State() tooltipHeader: string = '';\n @State() tooltipItems: TooltipItem[] = [];\n @State() tooltipTotal: string = '';\n @State() showTooltipTotal: boolean = false;\n\n private processData(): ProcessedBar[] {\n if (!this.data.series?.length || !this.data.series[0].values.length) {\n return [];\n }\n\n const bars: ProcessedBar[] = [];\n\n if (this.type === 'simple') {\n const values = this.data.series[0].values;\n const maxValue = Math.max(...values);\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i] || 0;\n const segments: BarSegment[] = [];\n\n if (value > 0) {\n const height = (value / maxValue) * this.maxHeight;\n const width = (value / maxValue) * this.maxWidth;\n segments.push({\n value,\n height,\n width,\n color: DEFAULT_COLORS[i % DEFAULT_COLORS.length],\n seriesName: this.data.categories?.[i] || `Bar ${i + 1}`,\n });\n }\n\n bars.push({\n segments,\n totalValue: value,\n category: this.data.categories?.[i],\n });\n }\n } else {\n const numBars = this.data.series[0].values.length;\n const maxTotal = Math.max(\n ...Array.from({ length: numBars }, (_, i) =>\n this.data.series.reduce((sum, series) => sum + (series.values[i] || 0), 0)\n )\n );\n\n for (let barIndex = 0; barIndex < numBars; barIndex++) {\n const segments: BarSegment[] = [];\n let totalValue = 0;\n\n for (const series of this.data.series) {\n const value = series.values[barIndex] || 0;\n totalValue += value;\n\n if (value > 0) {\n const height = (value / maxTotal) * this.maxHeight;\n const width = (value / maxTotal) * this.maxWidth;\n segments.push({\n value,\n height,\n width,\n color: series.color || '#64748b',\n seriesName: series.name,\n });\n }\n }\n\n bars.push({\n segments,\n totalValue,\n category: this.data.categories?.[barIndex],\n });\n }\n }\n\n return bars;\n }\n\n private handleColumnHover = (event: MouseEvent, bar: ProcessedBar, columnIndex: number) => {\n this.tooltipVisible = true;\n this.tooltipX = event.clientX;\n this.tooltipY = event.clientY;\n this.tooltipHeader = bar.category || `Column ${columnIndex + 1}`;\n\n const items: TooltipItem[] = [];\n bar.segments.forEach((segment) => {\n if (segment.seriesName && segment.value > 0) {\n items.push({\n color: segment.color,\n label: segment.seriesName,\n value: segment.value.toString(),\n });\n }\n });\n\n this.tooltipItems = items;\n this.tooltipTotal = bar.totalValue.toString();\n this.showTooltipTotal = items.length > 1;\n };\n\n private handleColumnMove = (event: MouseEvent) => {\n if (this.tooltipVisible) {\n this.tooltipX = event.clientX;\n this.tooltipY = event.clientY;\n }\n };\n\n private handleColumnLeave = () => {\n this.tooltipVisible = false;\n };\n\n render() {\n const processedData = this.processData();\n\n return (\n <Host>\n <div\n class={{\n 'bar-chart': true,\n [this.type]: true,\n [this.orientation]: true,\n 'bar-chart-animated': this.animated,\n }}\n >\n {this.orientation === 'vertical' ? (\n <div class=\"vertical-container\">\n {processedData.map((bar, i) => (\n <div\n key={i}\n class=\"bar-column vertical\"\n onMouseEnter={(e) => this.handleColumnHover(e, bar, i)}\n onMouseMove={this.handleColumnMove}\n onMouseLeave={this.handleColumnLeave}\n >\n {bar.segments.map((segment, segIndex) => (\n <div\n key={segIndex}\n class=\"bar-segment vertical\"\n style={{\n height: `${segment.height}px`,\n backgroundColor: segment.color,\n }}\n />\n ))}\n </div>\n ))}\n </div>\n ) : (\n <div class=\"horizontal-container\">\n {processedData.map((bar, i) => (\n <div\n key={i}\n class=\"bar-row horizontal\"\n onMouseEnter={(e) => this.handleColumnHover(e, bar, i)}\n onMouseMove={this.handleColumnMove}\n onMouseLeave={this.handleColumnLeave}\n >\n {bar.segments.map((segment, segIndex) => (\n <div\n key={segIndex}\n class=\"bar-segment horizontal\"\n style={{\n width: `${(segment.value / bar.totalValue) * 100}%`,\n backgroundColor: segment.color,\n }}\n />\n ))}\n </div>\n ))}\n </div>\n )}\n </div>\n\n <bh-chart-tooltip\n visible={this.tooltipVisible}\n x={this.tooltipX}\n y={this.tooltipY}\n header={this.tooltipHeader}\n items={this.tooltipItems}\n total={this.tooltipTotal}\n showTotal={this.showTooltipTotal}\n />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-DtVghh5W.js';
2
+
3
+ const bhButtonCss = ":host{display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-inter);font-weight:var(--weight-medium);border:1px solid transparent;cursor:pointer;text-align:center;white-space:nowrap;transition:all 0.2s ease-in-out;text-decoration:none;outline:none}.btn-xs{padding:0 var(--spacing-lg);height:24px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-sm{padding:0 var(--spacing-xl);height:32px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-md{padding:0 var(--spacing-xl);height:40px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-lg{padding:0 var(--spacing-xl);height:48px;border-radius:var(--radius-md);gap:var(--spacing-sm);font-size:var(--text-md-size)}.btn-xs.btn-icon-leading{padding-left:var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n )}.btn-sm.btn-icon-leading{padding-left:var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-md.btn-icon-leading{padding-left:var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-lg.btn-icon-leading{padding-left:var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-xs.btn-icon-trailing{padding-right:var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n )}.btn-sm.btn-icon-trailing{padding-right:var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-md.btn-icon-trailing{padding-right:var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-lg.btn-icon-trailing{padding-right:var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-primary.btn-default{background-color:var(--color-brand-600);color:var(--color-white);border-color:var(--color-brand-600)}.btn-secondary.btn-default{background-color:var(--color-white);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.btn-tertiary.btn-default{background-color:transparent;color:var(--color-neutral-600);border-color:transparent}.btn-quaternary.btn-default{background-color:transparent;color:var(--color-brand-600);border-color:transparent}.btn-primary.btn-destructive{background-color:var(--color-error-600);color:var(--color-white);border-color:var(--color-error-600)}.btn-secondary.btn-destructive{background-color:var(--color-white);color:var(--color-error-600);border-color:var(--color-error-300)}.btn-tertiary.btn-destructive{background-color:transparent;color:var(--color-error-600);border-color:transparent}.btn-quaternary.btn-destructive{background-color:transparent;color:var(--color-error-600);border-color:transparent}.btn-primary.btn-success{background-color:var(--color-success-600);color:var(--color-white);border-color:var(--color-success-600)}.btn-secondary.btn-success{background-color:var(--color-white);color:var(--color-success-600);border-color:var(--color-success-300)}.btn-tertiary.btn-success{background-color:transparent;color:var(--color-success-600);border-color:transparent}.btn-quaternary.btn-success{background-color:transparent;color:var(--color-success-600);border-color:transparent}.btn-primary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-brand-700);border-color:var(--color-brand-700)}.btn-secondary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-50);color:var(--color-neutral-700);border-color:var(--color-neutral-400)}.btn-tertiary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.btn-quaternary.btn-default:hover:not(:disabled):not(.btn-disabled){color:var(--color-brand-700)}.btn-primary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-700);border-color:var(--color-error-700)}.btn-secondary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-50);border-color:var(--color-error-300)}.btn-tertiary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-50)}.btn-quaternary.btn-destructive:hover:not(:disabled):not(.btn-disabled){color:var(--color-error-700)}.btn-primary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-700);border-color:var(--color-success-700)}.btn-secondary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-50);border-color:var(--color-success-300)}.btn-tertiary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-50)}.btn-quaternary.btn-success:hover:not(:disabled):not(.btn-disabled){color:var(--color-success-700)}.btn-primary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-brand-800);border-color:var(--color-brand-800)}.btn-secondary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100);border-color:var(--color-neutral-500)}.btn-tertiary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100)}.btn-quaternary.btn-default:active:not(:disabled):not(.btn-disabled){color:var(--color-brand-800)}.btn-primary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-800);border-color:var(--color-error-800)}.btn-secondary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-100);border-color:var(--color-error-400)}.btn-tertiary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-100)}.btn-quaternary.btn-destructive:active:not(:disabled):not(.btn-disabled){color:var(--color-error-800)}.btn-primary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-800);border-color:var(--color-success-800)}.btn-secondary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-100);border-color:var(--color-success-400)}.btn-tertiary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-100)}.btn-quaternary.btn-success:active:not(:disabled):not(.btn-disabled){color:var(--color-success-800)}.btn.btn-default:focus,.btn.btn-default:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.btn.btn-destructive:focus,.btn.btn-destructive:focus-visible{outline:2px solid var(--color-error-500);outline-offset:2px}.btn.btn-success:focus,.btn.btn-success:focus-visible{outline:2px solid var(--color-success-500);outline-offset:2px}.btn:disabled,.btn-disabled{cursor:not-allowed;pointer-events:none}.btn-primary:disabled,.btn-primary.btn-disabled{background-color:var(--color-neutral-200);color:var(--color-neutral-400);border-color:var(--color-neutral-200)}.btn-secondary:disabled,.btn-secondary.btn-disabled,.btn-tertiary:disabled,.btn-tertiary.btn-disabled,.btn-quaternary:disabled,.btn-quaternary.btn-disabled{opacity:0.5}.btn-loading{cursor:wait;pointer-events:none}.btn-loading .btn-label{opacity:0.7}.btn-label{display:inline-block;line-height:inherit}.btn-quaternary .btn-label{text-decoration:underline}.btn-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon-material{line-height:1;vertical-align:middle;color:inherit !important}.btn-xs .btn-icon-material{font-size:var(--text-sm-size)}.btn-sm .btn-icon-material{font-size:var(--text-md-size)}.btn-md .btn-icon-material{font-size:var(--text-lg-size)}.btn-lg .btn-icon-material{font-size:var(--text-lg-size)}.btn-icon-only{padding:0}.btn-icon-only.btn-xs{width:24px;height:24px}.btn-icon-only.btn-sm{width:32px;height:32px}.btn-icon-only.btn-md{width:40px;height:40px}.btn-icon-only.btn-lg{width:48px;height:48px}.btn-icon-only .btn-icon-material{margin:0}.btn-loading-icon{line-height:1;vertical-align:middle;color:inherit;animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.text-sm{font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.text-md{font-size:var(--text-md-size);line-height:var(--text-md-line)}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}";
4
+
5
+ const BhButton = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.bhClick = createEvent(this, "bhClick");
9
+ }
10
+ /**
11
+ * The visual hierarchy of the button
12
+ */
13
+ hierarchy = 'primary';
14
+ /**
15
+ * The kind/semantic meaning of the button
16
+ */
17
+ kind = 'default';
18
+ /**
19
+ * Icon position relative to the label
20
+ */
21
+ icon = 'none';
22
+ /**
23
+ * The size of the button
24
+ */
25
+ size = 'md';
26
+ /**
27
+ * Fallback text label (used only if no slot content is provided)
28
+ */
29
+ label;
30
+ /**
31
+ * Material Symbols icon name (e.g., 'add', 'edit', 'delete')
32
+ */
33
+ iconName;
34
+ /**
35
+ * Whether the button is disabled
36
+ */
37
+ disabled = false;
38
+ /**
39
+ * Whether the button is in a loading state
40
+ */
41
+ loading = false;
42
+ /**
43
+ * The type of button for form submission
44
+ * - 'button': No form submission (default)
45
+ * - 'submit': Submits the form
46
+ * - 'reset': Resets the form
47
+ */
48
+ type = 'button';
49
+ /**
50
+ * Emitted when the button is clicked
51
+ */
52
+ bhClick;
53
+ handleClick = (event) => {
54
+ if (!this.disabled && !this.loading) {
55
+ this.bhClick.emit(event);
56
+ }
57
+ };
58
+ getIconSizeClass() {
59
+ switch (this.size) {
60
+ case 'sm':
61
+ case 'md':
62
+ return 'icon-md';
63
+ case 'lg':
64
+ return 'icon-lg';
65
+ default:
66
+ return 'icon-md';
67
+ }
68
+ }
69
+ getTextSizeClass() {
70
+ switch (this.size) {
71
+ case 'sm':
72
+ case 'md':
73
+ return 'text-sm';
74
+ case 'lg':
75
+ return 'text-md';
76
+ default:
77
+ return 'text-sm';
78
+ }
79
+ }
80
+ getLoaderSize() {
81
+ switch (this.size) {
82
+ case 'xs':
83
+ case 'sm':
84
+ return 'sm';
85
+ default:
86
+ return 'sm';
87
+ }
88
+ }
89
+ getLoaderVariant() {
90
+ // Primary buttons (all kinds) have dark background, so use white spinner
91
+ return this.hierarchy === 'primary' ? 'white' : 'default';
92
+ }
93
+ render() {
94
+ const showLabel = this.icon !== 'only';
95
+ const showLeadingIcon = this.icon === 'leading' && (this.iconName || this.loading);
96
+ const showTrailingIcon = this.icon === 'trailing' && this.iconName && !this.loading;
97
+ const showOnlyIcon = this.icon === 'only' && (this.iconName || this.loading);
98
+ const buttonClasses = {
99
+ btn: true,
100
+ [`btn-${this.hierarchy}`]: true,
101
+ [`btn-${this.kind}`]: true,
102
+ [`btn-${this.size}`]: true,
103
+ [`btn-icon-${this.icon}`]: true,
104
+ 'btn-disabled': this.disabled,
105
+ 'btn-loading': this.loading,
106
+ };
107
+ return (h("button", { key: 'f2f54633cb42a7fea15c38aa8bc24be085320dc9', type: this.type, class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, part: "button" }, showLeadingIcon && (h("span", { key: '682a4704e4f874b4f3d051aab4738829cbd47778', class: `btn-icon ${this.getIconSizeClass()}` }, this.loading ? (h("bh-loader-spinner", { size: this.getLoaderSize(), variant: this.getLoaderVariant() })) : (h("span", { class: "btn-icon-material material-symbols-outlined" }, this.iconName)))), showOnlyIcon && (h("span", { key: '767e0ee41843e2ef8b3a45ec82f15602848ad751', class: `btn-icon ${this.getIconSizeClass()}` }, this.loading ? (h("bh-loader-spinner", { size: this.getLoaderSize(), variant: this.getLoaderVariant() })) : (h("span", { class: "btn-icon-material material-symbols-outlined" }, this.iconName)))), showLabel && (h("span", { key: 'bb2ddbcf7eb35dd5af688a6fc6d61d07f67d90ba', class: `btn-label ${this.getTextSizeClass()}` }, h("slot", { key: '010690eeab4cea1205d2ebca5cc2e1bfc95048c7' }, this.label))), showTrailingIcon && (h("span", { key: '9de8df1ab10e9035affbd766fea95896762e2bca', class: `btn-icon ${this.getIconSizeClass()}` }, h("span", { key: 'b50370274c0513a7885eae4bf40235c3e7e245aa', class: "btn-icon-material material-symbols-outlined" }, this.iconName)))));
108
+ }
109
+ };
110
+ BhButton.style = bhButtonCss;
111
+
112
+ export { BhButton as B };
113
+ //# sourceMappingURL=bh-button-CBZGiLVh.js.map
114
+
115
+ //# sourceMappingURL=bh-button-CBZGiLVh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-button-CBZGiLVh.js","sources":["src/components/bh-button/bh-button.css?tag=bh-button&encapsulation=shadow","src/components/bh-button/bh-button.tsx"],"sourcesContent":["/* ==========================================================================\n BH-BUTTON COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Button */\n.btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n border: 1px solid transparent;\n cursor: pointer;\n text-align: center;\n white-space: nowrap;\n transition: all 0.2s ease-in-out;\n text-decoration: none;\n outline: none;\n}\n\n/* Button Sizes */\n.btn-xs {\n padding: 0 var(--spacing-lg);\n height: 24px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-sm {\n padding: 0 var(--spacing-xl);\n height: 32px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-md {\n padding: 0 var(--spacing-xl);\n height: 40px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-lg {\n padding: 0 var(--spacing-xl);\n height: 48px;\n border-radius: var(--radius-md);\n gap: var(--spacing-sm);\n font-size: var(--text-md-size);\n}\n\n/* Icon Padding Compensation */\n.btn-xs.btn-icon-leading {\n padding-left: var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n );\n}\n\n.btn-sm.btn-icon-leading {\n padding-left: var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-md.btn-icon-leading {\n padding-left: var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-lg.btn-icon-leading {\n padding-left: var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-xs.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n );\n}\n\n.btn-sm.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-md.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-lg.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n/* Button Hierarchies - Default Kind */\n.btn-primary.btn-default {\n background-color: var(--color-brand-600);\n color: var(--color-white);\n border-color: var(--color-brand-600);\n}\n\n.btn-secondary.btn-default {\n background-color: var(--color-white);\n color: var(--color-neutral-600);\n border-color: var(--color-neutral-300);\n}\n\n.btn-tertiary.btn-default {\n background-color: transparent;\n color: var(--color-neutral-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-default {\n background-color: transparent;\n color: var(--color-brand-600);\n border-color: transparent;\n}\n\n/* Button Hierarchies - Destructive Kind */\n.btn-primary.btn-destructive {\n background-color: var(--color-error-600);\n color: var(--color-white);\n border-color: var(--color-error-600);\n}\n\n.btn-secondary.btn-destructive {\n background-color: var(--color-white);\n color: var(--color-error-600);\n border-color: var(--color-error-300);\n}\n\n.btn-tertiary.btn-destructive {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-destructive {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: transparent;\n}\n\n/* Button Hierarchies - Success Kind */\n.btn-primary.btn-success {\n background-color: var(--color-success-600);\n color: var(--color-white);\n border-color: var(--color-success-600);\n}\n\n.btn-secondary.btn-success {\n background-color: var(--color-white);\n color: var(--color-success-600);\n border-color: var(--color-success-300);\n}\n\n.btn-tertiary.btn-success {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-success {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: transparent;\n}\n\n/* Hover States - Default Kind */\n.btn-primary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n.btn-secondary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n border-color: var(--color-neutral-400);\n}\n\n.btn-tertiary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-700);\n}\n\n.btn-quaternary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-brand-700);\n}\n\n/* Hover States - Destructive Kind */\n.btn-primary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-700);\n border-color: var(--color-error-700);\n}\n\n.btn-secondary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-50);\n border-color: var(--color-error-300);\n}\n\n.btn-tertiary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-50);\n}\n\n.btn-quaternary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-error-700);\n}\n\n/* Hover States - Success Kind */\n.btn-primary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-700);\n border-color: var(--color-success-700);\n}\n\n.btn-secondary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-50);\n border-color: var(--color-success-300);\n}\n\n.btn-tertiary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-50);\n}\n\n.btn-quaternary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-success-700);\n}\n\n/* Active States - Default Kind */\n.btn-primary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-brand-800);\n border-color: var(--color-brand-800);\n}\n\n.btn-secondary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n border-color: var(--color-neutral-500);\n}\n\n.btn-tertiary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n}\n\n.btn-quaternary.btn-default:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-brand-800);\n}\n\n/* Active States - Destructive Kind */\n.btn-primary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-800);\n border-color: var(--color-error-800);\n}\n\n.btn-secondary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-100);\n border-color: var(--color-error-400);\n}\n\n.btn-tertiary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-100);\n}\n\n.btn-quaternary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-error-800);\n}\n\n/* Active States - Success Kind */\n.btn-primary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-800);\n border-color: var(--color-success-800);\n}\n\n.btn-secondary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-100);\n border-color: var(--color-success-400);\n}\n\n.btn-tertiary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-100);\n}\n\n.btn-quaternary.btn-success:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-success-800);\n}\n\n/* Focus State - Default Kind */\n.btn.btn-default:focus,\n.btn.btn-default:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: 2px;\n}\n\n/* Focus State - Destructive Kind */\n.btn.btn-destructive:focus,\n.btn.btn-destructive:focus-visible {\n outline: 2px solid var(--color-error-500);\n outline-offset: 2px;\n}\n\n/* Focus State - Success Kind */\n.btn.btn-success:focus,\n.btn.btn-success:focus-visible {\n outline: 2px solid var(--color-success-500);\n outline-offset: 2px;\n}\n\n/* Disabled States */\n.btn:disabled,\n.btn-disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.btn-primary:disabled,\n.btn-primary.btn-disabled {\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-400);\n border-color: var(--color-neutral-200);\n}\n\n.btn-secondary:disabled,\n.btn-secondary.btn-disabled,\n.btn-tertiary:disabled,\n.btn-tertiary.btn-disabled,\n.btn-quaternary:disabled,\n.btn-quaternary.btn-disabled {\n opacity: 0.5;\n}\n\n/* Loading State */\n.btn-loading {\n cursor: wait;\n pointer-events: none;\n}\n\n.btn-loading .btn-label {\n opacity: 0.7;\n}\n\n/* ==========================================================================\n BUTTON CONTENT ELEMENTS\n ========================================================================== */\n\n.btn-label {\n display: inline-block;\n line-height: inherit;\n}\n\n.btn-quaternary .btn-label {\n text-decoration: underline;\n}\n\n/* Icons */\n.btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.btn-icon-material {\n line-height: 1;\n vertical-align: middle;\n color: inherit !important;\n}\n\n.btn-xs .btn-icon-material {\n font-size: var(--text-sm-size);\n}\n\n.btn-sm .btn-icon-material {\n font-size: var(--text-md-size);\n}\n\n.btn-md .btn-icon-material {\n font-size: var(--text-lg-size);\n}\n\n.btn-lg .btn-icon-material {\n font-size: var(--text-lg-size);\n}\n\n/* Icon-Only Buttons */\n.btn-icon-only {\n padding: 0;\n}\n\n.btn-icon-only.btn-xs {\n width: 24px;\n height: 24px;\n}\n\n.btn-icon-only.btn-sm {\n width: 32px;\n height: 32px;\n}\n\n.btn-icon-only.btn-md {\n width: 40px;\n height: 40px;\n}\n\n.btn-icon-only.btn-lg {\n width: 48px;\n height: 48px;\n}\n\n.btn-icon-only .btn-icon-material {\n margin: 0;\n}\n\n/* Loading Spinner */\n.btn-loading-icon {\n line-height: 1;\n vertical-align: middle;\n color: inherit;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Text size utilities */\n.text-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.text-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Icon size utilities */\n.icon-md {\n width: 20px;\n height: 20px;\n}\n\n.icon-lg {\n width: 24px;\n height: 24px;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ButtonHierarchy =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary';\nexport type ButtonIconPosition = 'none' | 'leading' | 'trailing' | 'only';\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonKind = 'default' | 'destructive' | 'success';\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n@Component({\n tag: 'bh-button',\n styleUrl: 'bh-button.css',\n shadow: true,\n})\nexport class BhButton {\n /**\n * The visual hierarchy of the button\n */\n @Prop() hierarchy: ButtonHierarchy = 'primary';\n\n /**\n * The kind/semantic meaning of the button\n */\n @Prop() kind: ButtonKind = 'default';\n\n /**\n * Icon position relative to the label\n */\n @Prop() icon: ButtonIconPosition = 'none';\n\n /**\n * The size of the button\n */\n @Prop() size: ButtonSize = 'md';\n\n /**\n * Fallback text label (used only if no slot content is provided)\n */\n @Prop() label?: string;\n\n /**\n * Material Symbols icon name (e.g., 'add', 'edit', 'delete')\n */\n @Prop() iconName?: string;\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the button is in a loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * The type of button for form submission\n * - 'button': No form submission (default)\n * - 'submit': Submits the form\n * - 'reset': Resets the form\n */\n @Prop() type: ButtonType = 'button';\n\n /**\n * Emitted when the button is clicked\n */\n @Event() bhClick!: EventEmitter<MouseEvent>;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.disabled && !this.loading) {\n this.bhClick.emit(event);\n }\n };\n\n private getIconSizeClass(): string {\n switch (this.size) {\n case 'sm':\n case 'md':\n return 'icon-md';\n case 'lg':\n return 'icon-lg';\n default:\n return 'icon-md';\n }\n }\n\n private getTextSizeClass(): string {\n switch (this.size) {\n case 'sm':\n case 'md':\n return 'text-sm';\n case 'lg':\n return 'text-md';\n default:\n return 'text-sm';\n }\n }\n\n private getLoaderSize(): 'sm' | 'md' {\n switch (this.size) {\n case 'xs':\n case 'sm':\n return 'sm';\n default:\n return 'sm';\n }\n }\n\n private getLoaderVariant(): 'default' | 'white' {\n // Primary buttons (all kinds) have dark background, so use white spinner\n return this.hierarchy === 'primary' ? 'white' : 'default';\n }\n\n render() {\n const showLabel = this.icon !== 'only';\n const showLeadingIcon =\n this.icon === 'leading' && (this.iconName || this.loading);\n const showTrailingIcon =\n this.icon === 'trailing' && this.iconName && !this.loading;\n const showOnlyIcon =\n this.icon === 'only' && (this.iconName || this.loading);\n\n const buttonClasses = {\n btn: true,\n [`btn-${this.hierarchy}`]: true,\n [`btn-${this.kind}`]: true,\n [`btn-${this.size}`]: true,\n [`btn-icon-${this.icon}`]: true,\n 'btn-disabled': this.disabled,\n 'btn-loading': this.loading,\n };\n\n return (\n <button\n type={this.type}\n class={buttonClasses}\n disabled={this.disabled}\n onClick={this.handleClick}\n part=\"button\"\n >\n {showLeadingIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n {this.loading ? (\n <bh-loader-spinner\n size={this.getLoaderSize()}\n variant={this.getLoaderVariant()}\n ></bh-loader-spinner>\n ) : (\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n )}\n </span>\n )}\n\n {showOnlyIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n {this.loading ? (\n <bh-loader-spinner\n size={this.getLoaderSize()}\n variant={this.getLoaderVariant()}\n ></bh-loader-spinner>\n ) : (\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n )}\n </span>\n )}\n\n {showLabel && (\n <span class={`btn-label ${this.getTextSizeClass()}`}>\n <slot>{this.label}</slot>\n </span>\n )}\n\n {showTrailingIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n </span>\n )}\n </button>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-DtVghh5W.js';
2
+
3
+ const bhButtonIconCss = ":host{display:inline-block;font-family:var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif)}.button-icon{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:all 0.2s ease-in-out;font-family:inherit;outline:none;padding:0}.button-icon:focus-visible{box-shadow:0 0 0 2px var(--color-white, #FFFFFF), 0 0 0 4px var(--color-brand-500, #7F56D9)}.button-icon-xs{width:24px;height:24px}.button-icon-xs .icon{font-size:16px}.button-icon-sm{width:32px;height:32px}.button-icon-sm .icon{font-size:18px}.button-icon-md{width:40px;height:40px}.button-icon-md .icon{font-size:20px}.button-icon-lg{width:48px;height:48px}.button-icon-lg .icon{font-size:24px}.button-icon-primary{background:var(--color-brand-600, #6941C6);color:var(--color-white, #FFFFFF)}.button-icon-primary:hover:not(.button-icon-disabled){background:var(--color-brand-700, #5235A8)}.button-icon-primary:active:not(.button-icon-disabled){background:var(--color-brand-800, #42298F)}.button-icon-secondary{background:var(--color-white, #FFFFFF);color:var(--color-neutral-700, #344054);border:1px solid var(--color-neutral-300, #D0D5DD)}.button-icon-secondary:hover:not(.button-icon-disabled){background:var(--color-neutral-50, #F9FAFB);border-color:var(--color-neutral-400, #98A2B3)}.button-icon-secondary:active:not(.button-icon-disabled){background:var(--color-neutral-100, #F2F4F7)}.button-icon-tertiary{background:transparent;color:var(--color-brand-600, #6941C6)}.button-icon-tertiary:hover:not(.button-icon-disabled){background:var(--color-brand-50, #F9F5FF)}.button-icon-tertiary:active:not(.button-icon-disabled){background:var(--color-brand-100, #F4EBFF)}.button-icon-quaternary{background:transparent;color:var(--color-neutral-500, #667085)}.button-icon-quaternary:hover:not(.button-icon-disabled){background:var(--color-neutral-100, #F2F4F7);color:var(--color-neutral-700, #344054)}.button-icon-quaternary:active:not(.button-icon-disabled){background:var(--color-neutral-200, #EAECF0)}.button-icon-disabled{opacity:0.5;cursor:not-allowed}.button-icon-loading{cursor:wait}.loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 0.8s linear infinite}.button-icon-sm .loading-spinner{width:14px;height:14px}.button-icon-xs .loading-spinner{width:12px;height:12px}.button-icon-lg .loading-spinner{width:20px;height:20px}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon{display:flex;align-items:center;justify-content:center}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24}";
4
+
5
+ const BhButtonIcon = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.bhClick = createEvent(this, "bhClick");
9
+ }
10
+ /**
11
+ * The visual hierarchy of the button
12
+ */
13
+ hierarchy = 'primary';
14
+ /**
15
+ * The size of the button
16
+ */
17
+ size = 'md';
18
+ /**
19
+ * The icon name (Material Symbols)
20
+ */
21
+ iconName = 'add';
22
+ /**
23
+ * Whether the button is disabled
24
+ */
25
+ disabled = false;
26
+ /**
27
+ * Whether the button is in loading state
28
+ */
29
+ loading = false;
30
+ /**
31
+ * The type of button for form submission
32
+ * - 'button': No form submission (default)
33
+ * - 'submit': Submits the form
34
+ * - 'reset': Resets the form
35
+ */
36
+ type = 'button';
37
+ /**
38
+ * Accessible label for the button
39
+ */
40
+ ariaLabel = null;
41
+ /**
42
+ * Emitted when the button is clicked
43
+ */
44
+ bhClick;
45
+ handleClick = (event) => {
46
+ if (!this.disabled && !this.loading) {
47
+ this.bhClick.emit(event);
48
+ }
49
+ };
50
+ handleKeyDown = (event) => {
51
+ if ((event.key === 'Enter' || event.key === ' ') &&
52
+ !this.disabled &&
53
+ !this.loading) {
54
+ event.preventDefault();
55
+ this.bhClick.emit(event);
56
+ }
57
+ };
58
+ render() {
59
+ const buttonClasses = {
60
+ 'button-icon': true,
61
+ [`button-icon-${this.hierarchy}`]: true,
62
+ [`button-icon-${this.size}`]: true,
63
+ 'button-icon-disabled': this.disabled,
64
+ 'button-icon-loading': this.loading,
65
+ };
66
+ return (h("button", { key: '8c2a2097a2c7bbbb89a541d4fce7bba4c4eac970', type: this.type, class: buttonClasses, disabled: this.disabled, "aria-label": this.ariaLabel || this.iconName, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleClick, onKeyDown: this.handleKeyDown, part: "button" }, this.loading ? (h("span", { class: "loading-spinner", part: "spinner" })) : (h("span", { class: "material-symbols-outlined icon", part: "icon" }, this.iconName))));
67
+ }
68
+ };
69
+ BhButtonIcon.style = bhButtonIconCss;
70
+
71
+ export { BhButtonIcon as bh_button_icon };
72
+ //# sourceMappingURL=bh-button-icon.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-button-icon.entry.js","sources":["src/components/bh-button-icon/bh-button-icon.css?tag=bh-button-icon&encapsulation=shadow","src/components/bh-button-icon/bh-button-icon.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* Base Button Icon */\n.button-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: var(--radius-md, 8px);\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n outline: none;\n padding: 0;\n}\n\n.button-icon:focus-visible {\n box-shadow: 0 0 0 2px var(--color-white, #FFFFFF), 0 0 0 4px var(--color-brand-500, #7F56D9);\n}\n\n/* Sizes */\n.button-icon-xs {\n width: 24px;\n height: 24px;\n}\n\n.button-icon-xs .icon {\n font-size: 16px;\n}\n\n.button-icon-sm {\n width: 32px;\n height: 32px;\n}\n\n.button-icon-sm .icon {\n font-size: 18px;\n}\n\n.button-icon-md {\n width: 40px;\n height: 40px;\n}\n\n.button-icon-md .icon {\n font-size: 20px;\n}\n\n.button-icon-lg {\n width: 48px;\n height: 48px;\n}\n\n.button-icon-lg .icon {\n font-size: 24px;\n}\n\n/* Primary Hierarchy */\n.button-icon-primary {\n background: var(--color-brand-600, #6941C6);\n color: var(--color-white, #FFFFFF);\n}\n\n.button-icon-primary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-700, #5235A8);\n}\n\n.button-icon-primary:active:not(.button-icon-disabled) {\n background: var(--color-brand-800, #42298F);\n}\n\n/* Secondary Hierarchy */\n.button-icon-secondary {\n background: var(--color-white, #FFFFFF);\n color: var(--color-neutral-700, #344054);\n border: 1px solid var(--color-neutral-300, #D0D5DD);\n}\n\n.button-icon-secondary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-50, #F9FAFB);\n border-color: var(--color-neutral-400, #98A2B3);\n}\n\n.button-icon-secondary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n}\n\n/* Tertiary Hierarchy */\n.button-icon-tertiary {\n background: transparent;\n color: var(--color-brand-600, #6941C6);\n}\n\n.button-icon-tertiary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-50, #F9F5FF);\n}\n\n.button-icon-tertiary:active:not(.button-icon-disabled) {\n background: var(--color-brand-100, #F4EBFF);\n}\n\n/* Quaternary Hierarchy */\n.button-icon-quaternary {\n background: transparent;\n color: var(--color-neutral-500, #667085);\n}\n\n.button-icon-quaternary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n color: var(--color-neutral-700, #344054);\n}\n\n.button-icon-quaternary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-200, #EAECF0);\n}\n\n/* Disabled State */\n.button-icon-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Loading State */\n.button-icon-loading {\n cursor: wait;\n}\n\n/* Loading Spinner */\n.loading-spinner {\n width: 16px;\n height: 16px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n}\n\n.button-icon-sm .loading-spinner {\n width: 14px;\n height: 14px;\n}\n\n.button-icon-xs .loading-spinner {\n width: 12px;\n height: 12px;\n}\n\n.button-icon-lg .loading-spinner {\n width: 20px;\n height: 20px;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Icon */\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ButtonIconHierarchy =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary';\nexport type ButtonIconSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonIconType = 'button' | 'submit' | 'reset';\n\n@Component({\n tag: 'bh-button-icon',\n styleUrl: 'bh-button-icon.css',\n shadow: true,\n})\nexport class BhButtonIcon {\n /**\n * The visual hierarchy of the button\n */\n @Prop() hierarchy: ButtonIconHierarchy = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: ButtonIconSize = 'md';\n\n /**\n * The icon name (Material Symbols)\n */\n @Prop() iconName: string = 'add';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the button is in loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * The type of button for form submission\n * - 'button': No form submission (default)\n * - 'submit': Submits the form\n * - 'reset': Resets the form\n */\n @Prop() type: ButtonIconType = 'button';\n\n /**\n * Accessible label for the button\n */\n @Prop() ariaLabel: string | null = null;\n\n /**\n * Emitted when the button is clicked\n */\n @Event() bhClick!: EventEmitter<MouseEvent>;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.disabled && !this.loading) {\n this.bhClick.emit(event);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !this.disabled &&\n !this.loading\n ) {\n event.preventDefault();\n this.bhClick.emit(event as unknown as MouseEvent);\n }\n };\n\n render() {\n const buttonClasses = {\n 'button-icon': true,\n [`button-icon-${this.hierarchy}`]: true,\n [`button-icon-${this.size}`]: true,\n 'button-icon-disabled': this.disabled,\n 'button-icon-loading': this.loading,\n };\n\n return (\n <button\n type={this.type}\n class={buttonClasses}\n disabled={this.disabled}\n aria-label={this.ariaLabel || this.iconName}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n part=\"button\"\n >\n {this.loading ? (\n <span class=\"loading-spinner\" part=\"spinner\"></span>\n ) : (\n <span class=\"material-symbols-outlined icon\" part=\"icon\">\n {this.iconName}\n </span>\n )}\n </button>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,+4FAA+4F;;MCe15F,YAAY,GAAA,MAAA;;;;;AACvB;;AAEG;IACK,SAAS,GAAwB,SAAS;AAElD;;AAEG;IACK,IAAI,GAAmB,IAAI;AAEnC;;AAEG;IACK,QAAQ,GAAW,KAAK;AAEhC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;;;;AAKG;IACK,IAAI,GAAmB,QAAQ;AAEvC;;AAEG;IACK,SAAS,GAAkB,IAAI;AAEvC;;AAEG;AACM,IAAA,OAAO;AAER,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAU;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE5B,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;AACrD,QAAA,IACE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;YAC3C,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,OAAO,EACb;YACA,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAA8B,CAAC;;AAErD,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,eAAe,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AACvC,YAAA,CAAC,eAAe,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAClC,sBAAsB,EAAE,IAAI,CAAC,QAAQ;YACrC,qBAAqB,EAAE,IAAI,CAAC,OAAO;SACpC;QAED,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,YAAA,EACX,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAC5B,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,EACjD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,IAAI,EAAC,QAAQ,EAAA,EAEZ,IAAI,CAAC,OAAO,IACX,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAQ,KAEpD,YAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,EAAA,EACrD,IAAI,CAAC,QAAQ,CACT,CACR,CACM;;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-button.bh-loader-spinner.entry.js","sources":["src/components/bh-loader-spinner/bh-loader-spinner.css?tag=bh-loader-spinner&encapsulation=shadow","src/components/bh-loader-spinner/bh-loader-spinner.tsx"],"sourcesContent":["/* ==========================================================================\n LOADER SPINNER COMPONENT - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Overlay styles */\n.loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-overlay-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Container styles */\n.loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.loader-spinner {\n position: relative;\n display: inline-block;\n}\n\n/* Message styles */\n.loader-message {\n color: var(--color-neutral-700);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-medium);\n text-align: center;\n margin-top: var(--spacing-xs);\n}\n\n.loader-overlay .loader-message {\n color: var(--color-white);\n}\n\n/* =========================\n GRADIENT VARIANT - BellhopOS Sidebar Style\n ========================= */\n.spinner-gradient {\n animation: gradient-rotate 2s linear infinite;\n will-change: transform;\n}\n\n.gradient-svg {\n display: block;\n transform-origin: 50% 50%;\n}\n\n.gradient-path {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: 0;\n animation: gradient-dash 1.5s ease-in-out infinite;\n transform-origin: 50% 50%;\n}\n\n/* Size variations for gradient */\n.size-sm .gradient-svg {\n width: 20px;\n height: 20px;\n}\n\n.size-sm .gradient-path {\n stroke-width: 5;\n}\n\n.size-md .gradient-svg {\n width: 30px;\n height: 30px;\n}\n\n.size-md .gradient-path {\n stroke-width: 5;\n}\n\n.size-lg .gradient-svg {\n width: 40px;\n height: 40px;\n}\n\n.size-lg .gradient-path {\n stroke-width: 5;\n}\n\n.size-xl .gradient-svg {\n width: 60px;\n height: 60px;\n}\n\n.size-xl .gradient-path {\n stroke-width: 6;\n}\n\n@keyframes gradient-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes gradient-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}\n\n/* Hover effects - Ultra smooth acceleration */\n.loader-container:hover .spinner-gradient {\n animation-duration: 1s;\n}\n\n.loader-container:hover .gradient-path {\n animation-duration: 0.6s;\n}\n\n/* Performance optimizations */\n.spinner-gradient {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.gradient-svg {\n transform: translateZ(0);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'default' | 'white';\n\n@Component({\n tag: 'bh-loader-spinner',\n styleUrl: 'bh-loader-spinner.css',\n shadow: true,\n})\nexport class BhLoaderSpinner {\n /** Loader size */\n @Prop() size: LoaderSize = 'md';\n\n /** Loader color variant - use 'white' for dark surfaces like buttons */\n @Prop() variant: LoaderVariant = 'default';\n\n /** Whether to show as overlay */\n @Prop() overlay: boolean = false;\n\n /** Message to show in overlay mode */\n @Prop() overlayMessage: string = '';\n\n /** Whether to show message */\n @Prop() showMessage: boolean = false;\n\n /** Message text */\n @Prop() message: string = 'Loading...';\n\n private renderSpinner() {\n const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';\n\n return (\n <div class={`loader-spinner variant-${this.variant}`}>\n <div class=\"spinner-gradient\">\n <svg class=\"gradient-svg\" viewBox=\"0 0 50 50\">\n <defs>\n {this.variant === 'white' ? (\n <linearGradient\n id=\"bellhop-gradient-white\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'rgba(255, 255, 255, 1)' }} />\n <stop offset=\"50%\" style={{ stopColor: 'rgba(255, 255, 255, 0.8)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'rgba(255, 255, 255, 0.5)' }} />\n </linearGradient>\n ) : (\n <linearGradient\n id=\"bellhop-gradient\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'var(--color-accent-300)' }} />\n <stop offset=\"51%\" style={{ stopColor: 'var(--color-brand-400)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'var(--color-brand-600)' }} />\n </linearGradient>\n )}\n </defs>\n <circle\n class=\"gradient-path\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={`url(#${gradientId})`}\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n </div>\n );\n }\n\n private renderMessage(isOverlay: boolean) {\n const shouldShowMessage = isOverlay\n ? (this.showMessage || this.overlayMessage)\n : this.showMessage;\n\n if (!shouldShowMessage) return null;\n\n return (\n <div class=\"loader-message\">\n {isOverlay ? (this.overlayMessage || this.message) : this.message}\n </div>\n );\n }\n\n render() {\n if (this.overlay) {\n return (\n <div class=\"loader-overlay\">\n <div class=\"loader-overlay-content\">\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n </div>\n {this.renderMessage(true)}\n </div>\n </div>\n );\n }\n\n return (\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n {this.renderMessage(false)}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export { B as bh_button } from './bh-button-CBZGiLVh.js';
2
+ import { r as registerInstance, h } from './index-DtVghh5W.js';
3
+
4
+ const bhLoaderSpinnerCss = ":host{display:inline-block}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.3);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.loader-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.loader-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.loader-spinner{position:relative;display:inline-block}.loader-message{color:var(--color-neutral-700);font-size:var(--text-sm-size);line-height:var(--text-sm-line);font-weight:var(--weight-medium);text-align:center;margin-top:var(--spacing-xs)}.loader-overlay .loader-message{color:var(--color-white)}.spinner-gradient{animation:gradient-rotate 2s linear infinite;will-change:transform}.gradient-svg{display:block;transform-origin:50% 50%}.gradient-path{stroke-dasharray:90, 150;stroke-dashoffset:0;animation:gradient-dash 1.5s ease-in-out infinite;transform-origin:50% 50%}.size-sm .gradient-svg{width:20px;height:20px}.size-sm .gradient-path{stroke-width:5}.size-md .gradient-svg{width:30px;height:30px}.size-md .gradient-path{stroke-width:5}.size-lg .gradient-svg{width:40px;height:40px}.size-lg .gradient-path{stroke-width:5}.size-xl .gradient-svg{width:60px;height:60px}.size-xl .gradient-path{stroke-width:6}@keyframes gradient-rotate{100%{transform:rotate(360deg)}}@keyframes gradient-dash{0%{stroke-dasharray:1, 150;stroke-dashoffset:0}50%{stroke-dasharray:90, 150;stroke-dashoffset:-35}100%{stroke-dasharray:90, 150;stroke-dashoffset:-124}}.loader-container:hover .spinner-gradient{animation-duration:1s}.loader-container:hover .gradient-path{animation-duration:0.6s}.spinner-gradient{backface-visibility:hidden;perspective:1000px}.gradient-svg{transform:translateZ(0)}";
5
+
6
+ const BhLoaderSpinner = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ }
10
+ /** Loader size */
11
+ size = 'md';
12
+ /** Loader color variant - use 'white' for dark surfaces like buttons */
13
+ variant = 'default';
14
+ /** Whether to show as overlay */
15
+ overlay = false;
16
+ /** Message to show in overlay mode */
17
+ overlayMessage = '';
18
+ /** Whether to show message */
19
+ showMessage = false;
20
+ /** Message text */
21
+ message = 'Loading...';
22
+ renderSpinner() {
23
+ const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';
24
+ return (h("div", { class: `loader-spinner variant-${this.variant}` }, h("div", { class: "spinner-gradient" }, h("svg", { class: "gradient-svg", viewBox: "0 0 50 50" }, h("defs", null, this.variant === 'white' ? (h("linearGradient", { id: "bellhop-gradient-white", x1: "0%", y1: "0%", x2: "0%", y2: "100%" }, h("stop", { offset: "0%", style: { stopColor: 'rgba(255, 255, 255, 1)' } }), h("stop", { offset: "50%", style: { stopColor: 'rgba(255, 255, 255, 0.8)' } }), h("stop", { offset: "100%", style: { stopColor: 'rgba(255, 255, 255, 0.5)' } }))) : (h("linearGradient", { id: "bellhop-gradient", x1: "0%", y1: "0%", x2: "0%", y2: "100%" }, h("stop", { offset: "0%", style: { stopColor: 'var(--color-accent-300)' } }), h("stop", { offset: "51%", style: { stopColor: 'var(--color-brand-400)' } }), h("stop", { offset: "100%", style: { stopColor: 'var(--color-brand-600)' } })))), h("circle", { class: "gradient-path", cx: "25", cy: "25", r: "20", fill: "none", stroke: `url(#${gradientId})`, "stroke-width": "4", "stroke-linecap": "round" })))));
25
+ }
26
+ renderMessage(isOverlay) {
27
+ const shouldShowMessage = isOverlay
28
+ ? (this.showMessage || this.overlayMessage)
29
+ : this.showMessage;
30
+ if (!shouldShowMessage)
31
+ return null;
32
+ return (h("div", { class: "loader-message" }, isOverlay ? (this.overlayMessage || this.message) : this.message));
33
+ }
34
+ render() {
35
+ if (this.overlay) {
36
+ return (h("div", { class: "loader-overlay" }, h("div", { class: "loader-overlay-content" }, h("div", { class: `loader-container size-${this.size}` }, this.renderSpinner()), this.renderMessage(true))));
37
+ }
38
+ return (h("div", { class: `loader-container size-${this.size}` }, this.renderSpinner(), this.renderMessage(false)));
39
+ }
40
+ };
41
+ BhLoaderSpinner.style = bhLoaderSpinnerCss;
42
+
43
+ export { BhLoaderSpinner as bh_loader_spinner };
44
+ //# sourceMappingURL=bh-button.bh-loader-spinner.entry.js.map
@@ -0,0 +1,28 @@
1
+ import { r as registerInstance, h, H as Host } from './index-DtVghh5W.js';
2
+
3
+ const bhCardFooterCss = ":host{display:block}.card-footer{display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--color-white)}.card-footer-divider{height:1px;background:var(--color-neutral-200)}.card-footer-content{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl)}.card-footer-align-left{justify-content:flex-start}.card-footer-align-right{justify-content:flex-end}.card-footer-align-space-between{justify-content:space-between}.card-footer-primary-actions{display:flex;flex:1 0 0;align-items:center;gap:var(--spacing-none);min-width:0}.card-footer-secondary-actions{display:flex;align-items:center;gap:var(--spacing-md)}.card-footer-primary-actions:empty,.card-footer-secondary-actions:empty{display:none}";
4
+
5
+ const BhCardFooter = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ /**
10
+ * Whether to show the divider above the footer
11
+ */
12
+ showDivider = true;
13
+ /**
14
+ * Alignment of the footer content
15
+ */
16
+ alignment = 'space-between';
17
+ render() {
18
+ const footerContentClasses = {
19
+ 'card-footer-content': true,
20
+ [`card-footer-align-${this.alignment}`]: true,
21
+ };
22
+ return (h(Host, { key: '27230a36e6bafcbb61bdac3bc0bcebbd550e70c8' }, h("div", { key: '1f0088fbe2a962080e5db856eb534029ed94d8e2', class: "card-footer" }, this.showDivider && h("div", { key: 'f320e028a9c4675b151547f6e368f67910e87d85', class: "card-footer-divider" }), h("div", { key: '9f35426a461e248e09de3c5e9eca23e7d63d9f08', class: footerContentClasses }, h("div", { key: 'd1d17256b3aa704bb898f711519c96405a7927af', class: "card-footer-primary-actions" }, h("slot", { key: '5f18da8ec38e3a2e2237a3bd4d1269686514047d', name: "primary-actions" })), h("div", { key: '0754da91faf75928a1070a01960f41395f0387dc', class: "card-footer-secondary-actions" }, h("slot", { key: '2ffc5290e3499d62e72fd1398b44811d0f0970ba', name: "secondary-actions" }))))));
23
+ }
24
+ };
25
+ BhCardFooter.style = bhCardFooterCss;
26
+
27
+ export { BhCardFooter as bh_card_footer };
28
+ //# sourceMappingURL=bh-card-footer.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-card-footer.entry.js","sources":["src/components/bh-card-footer/bh-card-footer.css?tag=bh-card-footer&encapsulation=shadow","src/components/bh-card-footer/bh-card-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n background: var(--color-white);\n}\n\n.card-footer-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n\n.card-footer-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n padding: var(--spacing-lg) var(--spacing-xl);\n}\n\n.card-footer-align-left {\n justify-content: flex-start;\n}\n\n.card-footer-align-right {\n justify-content: flex-end;\n}\n\n.card-footer-align-space-between {\n justify-content: space-between;\n}\n\n.card-footer-primary-actions {\n display: flex;\n flex: 1 0 0;\n align-items: center;\n gap: var(--spacing-none);\n min-width: 0;\n}\n\n.card-footer-secondary-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Hide empty slots */\n.card-footer-primary-actions:empty,\n.card-footer-secondary-actions:empty {\n display: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type CardFooterAlignment = 'left' | 'right' | 'space-between';\n\n@Component({\n tag: 'bh-card-footer',\n styleUrl: 'bh-card-footer.css',\n shadow: true,\n})\nexport class BhCardFooter {\n /**\n * Whether to show the divider above the footer\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Alignment of the footer content\n */\n @Prop() alignment: CardFooterAlignment = 'space-between';\n\n render() {\n const footerContentClasses = {\n 'card-footer-content': true,\n [`card-footer-align-${this.alignment}`]: true,\n };\n\n return (\n <Host>\n <div class=\"card-footer\">\n {this.showDivider && <div class=\"card-footer-divider\" />}\n <div class={footerContentClasses}>\n <div class=\"card-footer-primary-actions\">\n <slot name=\"primary-actions\" />\n </div>\n <div class=\"card-footer-secondary-actions\">\n <slot name=\"secondary-actions\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,+uBAA+uB;;MCS1vB,YAAY,GAAA,MAAA;;;;AACvB;;AAEG;IACK,WAAW,GAAY,IAAI;AAEnC;;AAEG;IACK,SAAS,GAAwB,eAAe;IAExD,MAAM,GAAA;AACJ,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SAC9C;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACrB,IAAI,CAAC,WAAW,IAAI,4DAAK,KAAK,EAAC,qBAAqB,EAAG,CAAA,EACxD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,oBAAoB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,iBAAiB,EAAA,CAAG,CAC3B,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,mBAAmB,EAAA,CAAG,CAC7B,CACF,CACF,CACD;;;;;;;"}
@@ -0,0 +1,72 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-DtVghh5W.js';
2
+
3
+ const bhCardHeaderCss = ":host{display:block}.card-header{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--color-white)}.card-header-content{display:flex;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl)}.card-header-text-container{display:flex;flex-direction:column;flex:1 0 0;gap:var(--spacing-xxs);min-width:0}.card-header-title-row{display:flex;align-items:center;gap:var(--spacing-lg)}.card-header-title{font-family:var(--font-inter);font-size:var(--text-md-size);font-weight:var(--weight-semibold);line-height:var(--text-md-line);color:var(--color-neutral-900)}.card-header-supporting-row{display:flex;align-items:center;gap:var(--spacing-lg);width:100%}.card-header-spacer{width:32px;flex-shrink:0}.card-header-supporting-text{flex:1 0 0;font-family:var(--font-inter);font-size:var(--text-sm-size);font-weight:var(--weight-regular);line-height:var(--text-sm-line);color:var(--color-neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-header-divider{height:1px;background:var(--color-neutral-200)}";
4
+
5
+ const BhCardHeader = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.bhDropdownClick = createEvent(this, "bhDropdownClick");
9
+ }
10
+ /**
11
+ * Whether to show the featured icon
12
+ */
13
+ showFeaturedIcon = true;
14
+ /**
15
+ * The Material Symbol icon name for the featured icon
16
+ */
17
+ featuredIcon = 'star';
18
+ /**
19
+ * The style of the featured icon
20
+ */
21
+ featuredIconStyle = 'outlined';
22
+ /**
23
+ * The color of the featured icon
24
+ */
25
+ featuredIconColor = 'gray';
26
+ /**
27
+ * Whether to show the title
28
+ */
29
+ showTitle = true;
30
+ /**
31
+ * The title text
32
+ */
33
+ headerTitle = 'Card title';
34
+ /**
35
+ * Whether to show the badge
36
+ */
37
+ showBadge = false;
38
+ /**
39
+ * The badge text
40
+ */
41
+ badgeText = '';
42
+ /**
43
+ * Whether to show the supporting text
44
+ */
45
+ showSupportingText = true;
46
+ /**
47
+ * The supporting text (description)
48
+ */
49
+ supportingText = 'Card description';
50
+ /**
51
+ * Whether to show the dropdown menu button
52
+ */
53
+ showDropdown = true;
54
+ /**
55
+ * Whether to show the divider
56
+ */
57
+ showDivider = true;
58
+ /**
59
+ * Emitted when the dropdown button is clicked
60
+ */
61
+ bhDropdownClick;
62
+ handleDropdownClick = () => {
63
+ this.bhDropdownClick.emit();
64
+ };
65
+ render() {
66
+ return (h(Host, { key: '58db2d5c1ca47600da5c07ea2750ecb1c2f2a4a7' }, h("div", { key: '70cbc0d9779b1f5e75a774f40715001c904f2670', class: "card-header" }, h("div", { key: 'fb602ff3a92aa06d51df870ea4e5b3a6f11e9309', class: "card-header-content" }, h("div", { key: '00a315a07bc10dc72c36cbc79e0d24c9570dcdc7', class: "card-header-text-container" }, h("div", { key: '42d15bc872bf00216be3fcff6bee772bcab7b14e', class: "card-header-title-row" }, this.showFeaturedIcon && (h("bh-featured-icon", { key: 'd9294c5035425329806b0b575cf4799defed83f9', size: "sm", icon: this.featuredIcon, iconStyle: this.featuredIconStyle, color: this.featuredIconColor })), this.showTitle && (h("span", { key: '96399bb209d70a9694fab80e0e0c4ece3025ade5', class: "card-header-title" }, this.headerTitle)), this.showBadge && this.badgeText && (h("bh-badge", { key: 'e030d01179a3e0cc3dbbc972a7251dd49a661533', variant: "blue", size: "sm", emphasis: "medium", label: this.badgeText }))), this.showSupportingText && (h("div", { key: 'e4a1253d649a77d9d6a5f12313f279e18b509304', class: "card-header-supporting-row" }, this.showFeaturedIcon && h("div", { key: 'bf5f6482b25ad7c35f6f42f18001064f1a5f8be9', class: "card-header-spacer" }), h("span", { key: '256fa43537b957a80190ce8683484cbaef0ade56', class: "card-header-supporting-text" }, this.supportingText)))), this.showDropdown && (h("bh-button-icon", { key: 'ab3df5c4b4fd8dbeb56c1860d2b38334ed6fa29e', hierarchy: "quaternary", size: "sm", iconName: "more_vert", ariaLabel: "More options", onBhClick: this.handleDropdownClick }))), h("slot", { key: '836d525ba14a3f7020fecdcf3660e2e50353a9de', name: "tabs" }), this.showDivider && h("div", { key: '9b96114d09fb987fe710de8a6438141c380c07e3', class: "card-header-divider" }))));
67
+ }
68
+ };
69
+ BhCardHeader.style = bhCardHeaderCss;
70
+
71
+ export { BhCardHeader as bh_card_header };
72
+ //# sourceMappingURL=bh-card-header.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-card-header.entry.js","sources":["src/components/bh-card-header/bh-card-header.css?tag=bh-card-header&encapsulation=shadow","src/components/bh-card-header/bh-card-header.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n background: var(--color-white);\n}\n\n.card-header-content {\n display: flex;\n gap: var(--spacing-md);\n align-items: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl);\n}\n\n.card-header-text-container {\n display: flex;\n flex-direction: column;\n flex: 1 0 0;\n gap: var(--spacing-xxs);\n min-width: 0;\n}\n\n.card-header-title-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n}\n\n.card-header-title {\n font-family: var(--font-inter);\n font-size: var(--text-md-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-md-line);\n color: var(--color-neutral-900);\n}\n\n.card-header-supporting-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n width: 100%;\n}\n\n.card-header-spacer {\n width: 32px;\n flex-shrink: 0;\n}\n\n.card-header-supporting-text {\n flex: 1 0 0;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-500);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-header-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type CardHeaderFeaturedIconStyle = 'outlined' | 'filled';\nexport type CardHeaderFeaturedIconColor = 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight';\n\n@Component({\n tag: 'bh-card-header',\n styleUrl: 'bh-card-header.css',\n shadow: true,\n})\nexport class BhCardHeader {\n /**\n * Whether to show the featured icon\n */\n @Prop() showFeaturedIcon: boolean = true;\n\n /**\n * The Material Symbol icon name for the featured icon\n */\n @Prop() featuredIcon: string = 'star';\n\n /**\n * The style of the featured icon\n */\n @Prop() featuredIconStyle: CardHeaderFeaturedIconStyle = 'outlined';\n\n /**\n * The color of the featured icon\n */\n @Prop() featuredIconColor: CardHeaderFeaturedIconColor = 'gray';\n\n /**\n * Whether to show the title\n */\n @Prop() showTitle: boolean = true;\n\n /**\n * The title text\n */\n @Prop() headerTitle: string = 'Card title';\n\n /**\n * Whether to show the badge\n */\n @Prop() showBadge: boolean = false;\n\n /**\n * The badge text\n */\n @Prop() badgeText: string = '';\n\n /**\n * Whether to show the supporting text\n */\n @Prop() showSupportingText: boolean = true;\n\n /**\n * The supporting text (description)\n */\n @Prop() supportingText: string = 'Card description';\n\n /**\n * Whether to show the dropdown menu button\n */\n @Prop() showDropdown: boolean = true;\n\n /**\n * Whether to show the divider\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Emitted when the dropdown button is clicked\n */\n @Event() bhDropdownClick!: EventEmitter<void>;\n\n private handleDropdownClick = () => {\n this.bhDropdownClick.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"card-header\">\n <div class=\"card-header-content\">\n <div class=\"card-header-text-container\">\n <div class=\"card-header-title-row\">\n {this.showFeaturedIcon && (\n <bh-featured-icon\n size=\"sm\"\n icon={this.featuredIcon}\n iconStyle={this.featuredIconStyle}\n color={this.featuredIconColor}\n />\n )}\n {this.showTitle && (\n <span class=\"card-header-title\">{this.headerTitle}</span>\n )}\n {this.showBadge && this.badgeText && (\n <bh-badge\n variant=\"blue\"\n size=\"sm\"\n emphasis=\"medium\"\n label={this.badgeText}\n />\n )}\n </div>\n {this.showSupportingText && (\n <div class=\"card-header-supporting-row\">\n {this.showFeaturedIcon && <div class=\"card-header-spacer\" />}\n <span class=\"card-header-supporting-text\">{this.supportingText}</span>\n </div>\n )}\n </div>\n {this.showDropdown && (\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"more_vert\"\n ariaLabel=\"More options\"\n onBhClick={this.handleDropdownClick}\n />\n )}\n </div>\n <slot name=\"tabs\" />\n {this.showDivider && <div class=\"card-header-divider\" />}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { r as registerInstance, a as getElement, h, H as Host } from './index-DtVghh5W.js';
2
+
3
+ const bhCardCss = ":host{display:block}.card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);overflow:hidden;font-family:var(--font-inter)}.card-header-slot{display:contents}.card-content{display:flex;flex-direction:column;flex:1 0 auto;padding:var(--spacing-lg) var(--spacing-xl);gap:var(--spacing-none)}.card-footer-slot{display:contents}.card-content-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-purple-50, #f5f3ff);border:1px dashed var(--color-purple-500, #7c3aed);border-radius:var(--radius-xl);min-height:100%}.card-placeholder-icon{font-size:32px;color:var(--color-purple-500, #7c3aed)}.card-placeholder-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-purple-700, #6d28d9);text-decoration:underline;text-align:center}";
4
+
5
+ const BhCard = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ get el() { return getElement(this); }
10
+ /**
11
+ * Whether to show the header section
12
+ */
13
+ showHeader = true;
14
+ /**
15
+ * Whether to show the footer section
16
+ */
17
+ showFooter = true;
18
+ /**
19
+ * Minimum height of the content area in pixels
20
+ */
21
+ contentMinHeight = 200;
22
+ /**
23
+ * Placeholder text shown when no content is provided
24
+ */
25
+ placeholderText = 'Card content slot';
26
+ hasContent = false;
27
+ componentWillLoad() {
28
+ this.checkForContent();
29
+ }
30
+ checkForContent() {
31
+ const children = Array.from(this.el.childNodes).filter((node) => (node.nodeType === Node.ELEMENT_NODE &&
32
+ !node.hasAttribute('slot')) ||
33
+ (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()));
34
+ this.hasContent = children.length > 0;
35
+ }
36
+ render() {
37
+ const contentStyle = {
38
+ minHeight: `${this.contentMinHeight}px`,
39
+ };
40
+ return (h(Host, { key: '5bbe75e2d4ace932edc5a8d32fb450e27e67cdbe' }, h("div", { key: 'ddb19c134e32a35bc2b8a4b57ed9862faf47a53b', class: "card" }, this.showHeader && (h("div", { key: '315478a2c488b5e933c49966bccaccf8313e58b5', class: "card-header-slot" }, h("slot", { key: 'f3de383b3818feb9883c25ff150c52f0e347de86', name: "header" }))), h("div", { key: '4c6b62db9ffa61f2e0133c2af7a29a090d9c54a5', class: "card-content", style: contentStyle }, h("slot", { key: '969443dcc57fe724cbb3f1d6e1c35c8cc0312794' }), !this.hasContent && (h("div", { key: '0c5e02cf39bec9c7c1ce2ef223b1b4b0df74a372', class: "card-content-placeholder" }, h("span", { key: '0a89b768f29453dc251c3c3402ea8029bd13aaeb', class: "card-placeholder-text" }, this.placeholderText)))), this.showFooter && (h("div", { key: 'f4a2bb6df865bd1abb8f5da2d686906bddcc4c08', class: "card-footer-slot" }, h("slot", { key: '8e643371cbbbf56fb3fb87ccda3b5897f8f914bd', name: "footer" }))))));
41
+ }
42
+ };
43
+ BhCard.style = bhCardCss;
44
+
45
+ export { BhCard as bh_card };
46
+ //# sourceMappingURL=bh-card.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bh-card.entry.js","sources":["src/components/bh-card/bh-card.css?tag=bh-card&encapsulation=shadow","src/components/bh-card/bh-card.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card {\n display: flex;\n flex-direction: column;\n background: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-xl);\n overflow: hidden;\n font-family: var(--font-inter);\n}\n\n.card-header-slot {\n display: contents;\n}\n\n.card-content {\n display: flex;\n flex-direction: column;\n flex: 1 0 auto;\n padding: var(--spacing-lg) var(--spacing-xl);\n gap: var(--spacing-none);\n}\n\n.card-footer-slot {\n display: contents;\n}\n\n/* Placeholder styles */\n.card-content-placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n gap: var(--spacing-md);\n padding: var(--spacing-xl);\n background: var(--color-purple-50, #f5f3ff);\n border: 1px dashed var(--color-purple-500, #7c3aed);\n border-radius: var(--radius-xl);\n min-height: 100%;\n}\n\n.card-placeholder-icon {\n font-size: 32px;\n color: var(--color-purple-500, #7c3aed);\n}\n\n.card-placeholder-text {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--color-purple-700, #6d28d9);\n text-decoration: underline;\n text-align: center;\n}\n","import { Component, Prop, State, Element, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'bh-card',\n styleUrl: 'bh-card.css',\n shadow: true,\n})\nexport class BhCard {\n @Element() el!: HTMLElement;\n\n /**\n * Whether to show the header section\n */\n @Prop() showHeader: boolean = true;\n\n /**\n * Whether to show the footer section\n */\n @Prop() showFooter: boolean = true;\n\n /**\n * Minimum height of the content area in pixels\n */\n @Prop() contentMinHeight: number = 200;\n\n /**\n * Placeholder text shown when no content is provided\n */\n @Prop() placeholderText: string = 'Card content slot';\n\n @State() hasContent: boolean = false;\n\n componentWillLoad() {\n this.checkForContent();\n }\n\n private checkForContent() {\n const children = Array.from(this.el.childNodes).filter(\n (node) =>\n (node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')) ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim())\n );\n this.hasContent = children.length > 0;\n }\n\n render() {\n const contentStyle = {\n minHeight: `${this.contentMinHeight}px`,\n };\n\n return (\n <Host>\n <div class=\"card\">\n {this.showHeader && (\n <div class=\"card-header-slot\">\n <slot name=\"header\" />\n </div>\n )}\n <div class=\"card-content\" style={contentStyle}>\n <slot />\n {!this.hasContent && (\n <div class=\"card-content-placeholder\">\n <span class=\"card-placeholder-text\">{this.placeholderText}</span>\n </div>\n )}\n </div>\n {this.showFooter && (\n <div class=\"card-footer-slot\">\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,m8BAAm8B;;MCOx8B,MAAM,GAAA,MAAA;;;;;AAGjB;;AAEG;IACK,UAAU,GAAY,IAAI;AAElC;;AAEG;IACK,UAAU,GAAY,IAAI;AAElC;;AAEG;IACK,gBAAgB,GAAW,GAAG;AAEtC;;AAEG;IACK,eAAe,GAAW,mBAAmB;IAE5C,UAAU,GAAY,KAAK;IAEpC,iBAAiB,GAAA;QACf,IAAI,CAAC,eAAe,EAAE;;IAGhB,eAAe,GAAA;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,CACpD,CAAC,IAAI,KACH,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;AAClC,YAAA,CAAE,IAAgB,CAAC,YAAY,CAAC,MAAM,CAAC;AACzC,aAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CACjE;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;;IAGvC,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,SAAS,EAAE,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAI,EAAA,CAAA;SACxC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACd,IAAI,CAAC,UAAU,KACd,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAG,CAClB,CACP,EACD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,cAAc,EAAC,KAAK,EAAE,YAAY,EAAA,EAC3C,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACP,CAAC,IAAI,CAAC,UAAU,KACf,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAE,EAAA,IAAI,CAAC,eAAe,CAAQ,CAC7D,CACP,CACG,EACL,IAAI,CAAC,UAAU,KACd,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,CAAG,CAClB,CACP,CACG,CACD;;;;;;;"}