@actabldesign/bellhop-core 0.0.4 → 0.0.7

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 (626) hide show
  1. package/{dist/components → components}/bh-accordion-item.d.ts +1 -1
  2. package/{dist/components → components}/bh-accordion-item.js +1 -2
  3. package/components/bh-accordion-item.js.map +1 -0
  4. package/{dist/components → components}/bh-accordion.d.ts +1 -1
  5. package/{dist/components → components}/bh-accordion.js +1 -2
  6. package/components/bh-accordion.js.map +1 -0
  7. package/{dist/components → components}/bh-appbar.d.ts +1 -1
  8. package/{dist/components → components}/bh-appbar.js +4 -5
  9. package/components/bh-appbar.js.map +1 -0
  10. package/{dist/components → components}/bh-autocomplete-menu.d.ts +1 -1
  11. package/{dist/components → components}/bh-autocomplete-menu.js +1 -1
  12. package/{dist/components → components}/bh-avatar-add.d.ts +1 -1
  13. package/{dist/components → components}/bh-avatar-add.js +1 -1
  14. package/{dist/components → components}/bh-avatar-stacked.d.ts +1 -1
  15. package/{dist/components → components}/bh-avatar-stacked.js +4 -5
  16. package/components/bh-avatar-stacked.js.map +1 -0
  17. package/{dist/components → components}/bh-avatar.d.ts +1 -1
  18. package/{dist/components → components}/bh-avatar.js +1 -1
  19. package/{dist/components → components}/bh-badge-dot.d.ts +1 -1
  20. package/{dist/components → components}/bh-badge-dot.js +1 -1
  21. package/{dist/components → components}/bh-badge.d.ts +1 -1
  22. package/{dist/components → components}/bh-badge.js +1 -1
  23. package/{dist/components → components}/bh-bar-chart.d.ts +1 -1
  24. package/{dist/components → components}/bh-bar-chart.js +2 -3
  25. package/components/bh-bar-chart.js.map +1 -0
  26. package/{dist/components → components}/bh-breadcrumbs.d.ts +1 -1
  27. package/{dist/components → components}/bh-breadcrumbs.js +1 -1
  28. package/{dist/components → components}/bh-button-icon.d.ts +1 -1
  29. package/{dist/components → components}/bh-button-icon.js +1 -1
  30. package/{dist/components → components}/bh-button.d.ts +1 -1
  31. package/{dist/components → components}/bh-button.js +1 -1
  32. package/{dist/components → components}/bh-card-footer.d.ts +1 -1
  33. package/{dist/components/p-DK92X9HV.js → components/bh-card-footer.js} +10 -8
  34. package/components/bh-card-footer.js.map +1 -0
  35. package/{dist/components → components}/bh-card-header.d.ts +1 -1
  36. package/{dist/components/p-BNeBcvHu.js → components/bh-card-header.js} +16 -14
  37. package/components/bh-card-header.js.map +1 -0
  38. package/{dist/components → components}/bh-card.d.ts +1 -1
  39. package/{dist/components/p-DtbXB8r4.js → components/bh-card.js} +10 -8
  40. package/components/bh-card.js.map +1 -0
  41. package/{dist/components → components}/bh-chart-tooltip.d.ts +1 -1
  42. package/{dist/components → components}/bh-chart-tooltip.js +1 -1
  43. package/{dist/components → components}/bh-checkbox-group-item.d.ts +1 -1
  44. package/{dist/components/p-Ccq-Rk5W.js → components/bh-checkbox-group-item.js} +20 -18
  45. package/components/bh-checkbox-group-item.js.map +1 -0
  46. package/{dist/components → components}/bh-checkbox-group.d.ts +1 -1
  47. package/{dist/components/p-BOk69MBi.js → components/bh-checkbox-group.js} +10 -8
  48. package/components/bh-checkbox-group.js.map +1 -0
  49. package/{dist/components → components}/bh-checkbox.d.ts +1 -1
  50. package/{dist/components → components}/bh-checkbox.js +1 -1
  51. package/{dist/components → components}/bh-container-footer.d.ts +1 -1
  52. package/{dist/components → components}/bh-container-footer.js +3 -4
  53. package/components/bh-container-footer.js.map +1 -0
  54. package/{dist/components → components}/bh-container.d.ts +1 -1
  55. package/{dist/components → components}/bh-container.js +1 -2
  56. package/components/bh-container.js.map +1 -0
  57. package/{dist/components → components}/bh-data-grid.d.ts +1 -1
  58. package/{dist/components/p-D-RHfFhc.js → components/bh-data-grid.js} +28 -26
  59. package/components/bh-data-grid.js.map +1 -0
  60. package/{dist/components → components}/bh-date-picker-content.d.ts +1 -1
  61. package/{dist/components → components}/bh-date-picker-content.js +1 -1
  62. package/{dist/components → components}/bh-date-picker.d.ts +1 -1
  63. package/{dist/components → components}/bh-date-picker.js +10 -11
  64. package/components/bh-date-picker.js.map +1 -0
  65. package/{dist/components → components}/bh-date-range-picker-content.d.ts +1 -1
  66. package/{dist/components → components}/bh-date-range-picker-content.js +1 -1
  67. package/{dist/components → components}/bh-date-range-picker.d.ts +1 -1
  68. package/{dist/components → components}/bh-date-range-picker.js +11 -12
  69. package/components/bh-date-range-picker.js.map +1 -0
  70. package/{dist/components → components}/bh-dropdown-menu.d.ts +1 -1
  71. package/{dist/components → components}/bh-dropdown-menu.js +1 -1
  72. package/{dist/components → components}/bh-dropdown.d.ts +1 -1
  73. package/{dist/components → components}/bh-dropdown.js +1 -1
  74. package/{dist/components → components}/bh-empty-state.d.ts +1 -1
  75. package/{dist/components → components}/bh-empty-state.js +1 -1
  76. package/{dist/components → components}/bh-featured-icon.d.ts +1 -1
  77. package/{dist/components → components}/bh-featured-icon.js +1 -1
  78. package/{dist/components → components}/bh-illustrations.d.ts +1 -1
  79. package/{dist/components → components}/bh-illustrations.js +1 -2
  80. package/components/bh-illustrations.js.map +1 -0
  81. package/{dist/components → components}/bh-input-autocomplete.d.ts +1 -1
  82. package/{dist/components → components}/bh-input-autocomplete.js +8 -9
  83. package/components/bh-input-autocomplete.js.map +1 -0
  84. package/{dist/components → components}/bh-input-number.d.ts +1 -1
  85. package/{dist/components → components}/bh-input-number.js +4 -5
  86. package/components/bh-input-number.js.map +1 -0
  87. package/{dist/components → components}/bh-input-password.d.ts +1 -1
  88. package/{dist/components → components}/bh-input-password.js +3 -4
  89. package/components/bh-input-password.js.map +1 -0
  90. package/{dist/components → components}/bh-input-text.d.ts +1 -1
  91. package/{dist/components → components}/bh-input-text.js +1 -1
  92. package/{dist/components → components}/bh-input-verification.d.ts +1 -1
  93. package/{dist/components → components}/bh-input-verification.js +3 -4
  94. package/components/bh-input-verification.js.map +1 -0
  95. package/{dist/components → components}/bh-label.d.ts +1 -1
  96. package/{dist/components → components}/bh-label.js +1 -1
  97. package/{dist/components → components}/bh-loader-spinner.d.ts +1 -1
  98. package/{dist/components → components}/bh-loader-spinner.js +1 -1
  99. package/{dist/components → components}/bh-logo-box.d.ts +1 -1
  100. package/{dist/components → components}/bh-logo-box.js +1 -1
  101. package/{dist/components → components}/bh-modal-actions.d.ts +1 -1
  102. package/{dist/components → components}/bh-modal-actions.js +3 -4
  103. package/components/bh-modal-actions.js.map +1 -0
  104. package/{dist/components → components}/bh-modal-header.d.ts +1 -1
  105. package/{dist/components → components}/bh-modal-header.js +3 -4
  106. package/components/bh-modal-header.js.map +1 -0
  107. package/{dist/components → components}/bh-modal.d.ts +1 -1
  108. package/{dist/components/p-DURWm67o.js → components/bh-modal.js} +10 -8
  109. package/components/bh-modal.js.map +1 -0
  110. package/{dist/components → components}/bh-month-picker-content.d.ts +1 -1
  111. package/{dist/components → components}/bh-month-picker-content.js +1 -1
  112. package/{dist/components → components}/bh-month-picker.d.ts +1 -1
  113. package/{dist/components → components}/bh-month-picker.js +8 -9
  114. package/components/bh-month-picker.js.map +1 -0
  115. package/{dist/components → components}/bh-nav-item.d.ts +1 -1
  116. package/{dist/components → components}/bh-nav-item.js +1 -1
  117. package/{dist/components → components}/bh-notification.d.ts +1 -1
  118. package/{dist/components → components}/bh-notification.js +4 -5
  119. package/components/bh-notification.js.map +1 -0
  120. package/{dist/components → components}/bh-page-navigation-child.d.ts +1 -1
  121. package/{dist/components → components}/bh-page-navigation-child.js +1 -1
  122. package/{dist/components → components}/bh-page-navigation-multi-level.d.ts +1 -1
  123. package/{dist/components → components}/bh-page-navigation-multi-level.js +1 -1
  124. package/{dist/components → components}/bh-page-navigation-single-level.d.ts +1 -1
  125. package/{dist/components → components}/bh-page-navigation-single-level.js +1 -1
  126. package/{dist/components → components}/bh-page-navigation.d.ts +1 -1
  127. package/{dist/components → components}/bh-page-navigation.js +6 -7
  128. package/components/bh-page-navigation.js.map +1 -0
  129. package/{dist/components → components}/bh-pagination.d.ts +1 -1
  130. package/{dist/components → components}/bh-pagination.js +1 -1
  131. package/{dist/components → components}/bh-picker-menu.d.ts +1 -1
  132. package/{dist/components → components}/bh-picker-menu.js +1 -1
  133. package/{dist/components → components}/bh-pie-chart.d.ts +1 -1
  134. package/{dist/components → components}/bh-pie-chart.js +2 -3
  135. package/components/bh-pie-chart.js.map +1 -0
  136. package/{dist/components → components}/bh-popover.d.ts +1 -1
  137. package/{dist/components → components}/bh-popover.js +1 -2
  138. package/components/bh-popover.js.map +1 -0
  139. package/{dist/components → components}/bh-product-switcher.d.ts +1 -1
  140. package/{dist/components → components}/bh-product-switcher.js +1 -1
  141. package/{dist/components → components}/bh-property-switcher.d.ts +1 -1
  142. package/{dist/components → components}/bh-property-switcher.js +1 -2
  143. package/components/bh-property-switcher.js.map +1 -0
  144. package/{dist/components → components}/bh-radio-button.d.ts +1 -1
  145. package/{dist/components → components}/bh-radio-button.js +1 -1
  146. package/{dist/components → components}/bh-sidebar.d.ts +1 -1
  147. package/{dist/components → components}/bh-sidebar.js +10 -11
  148. package/components/bh-sidebar.js.map +1 -0
  149. package/{dist/components → components}/bh-skeleton-loader.d.ts +1 -1
  150. package/{dist/components → components}/bh-skeleton-loader.js +1 -1
  151. package/{dist/components → components}/bh-tab-item.d.ts +1 -1
  152. package/{dist/components → components}/bh-tab-item.js +1 -2
  153. package/components/bh-tab-item.js.map +1 -0
  154. package/{dist/components → components}/bh-tabs.d.ts +1 -1
  155. package/{dist/components → components}/bh-tabs.js +1 -2
  156. package/components/bh-tabs.js.map +1 -0
  157. package/{dist/components → components}/bh-tag.d.ts +1 -1
  158. package/{dist/components → components}/bh-tag.js +1 -1
  159. package/{dist/components → components}/bh-textarea.d.ts +1 -1
  160. package/{dist/components → components}/bh-textarea.js +3 -4
  161. package/components/bh-textarea.js.map +1 -0
  162. package/{dist/components → components}/bh-toggle.d.ts +1 -1
  163. package/{dist/components/p-dlKpBGSA.js → components/bh-toggle.js} +10 -8
  164. package/components/bh-toggle.js.map +1 -0
  165. package/{dist/components → components}/bh-tooltip.d.ts +1 -1
  166. package/{dist/components → components}/bh-tooltip.js +1 -1
  167. package/{dist/components → components}/bh-trend-chart.d.ts +1 -1
  168. package/{dist/components → components}/bh-trend-chart.js +1 -2
  169. package/components/bh-trend-chart.js.map +1 -0
  170. package/components/index.d.ts +170 -0
  171. package/components/index.js +71 -0
  172. package/components/index.js.map +1 -0
  173. package/{dist/components/p-DW54267I.js → components/p-8bOZFmdg.js} +6 -7
  174. package/components/p-8bOZFmdg.js.map +1 -0
  175. package/{dist/components/p-BFhwq3_y.js → components/p-B02xFf1P.js} +4 -5
  176. package/components/p-B02xFf1P.js.map +1 -0
  177. package/{dist/components/p-DsCDXclM.js → components/p-B0vRPcr5.js} +4 -5
  178. package/components/p-B0vRPcr5.js.map +1 -0
  179. package/{dist/components/p-CWGpUs1b.js → components/p-B9W7gNtY.js} +3 -4
  180. package/components/p-B9W7gNtY.js.map +1 -0
  181. package/{dist/components/p-Bs2Z3XIQ.js → components/p-BJLHKnwL.js} +5 -6
  182. package/components/p-BJLHKnwL.js.map +1 -0
  183. package/{dist/components/p-Df5drD7C.js → components/p-BLCjD0ux.js} +3 -4
  184. package/components/p-BLCjD0ux.js.map +1 -0
  185. package/{dist/components/p-DOaC_o63.js → components/p-BQKx1tGq.js} +7 -8
  186. package/components/p-BQKx1tGq.js.map +1 -0
  187. package/{dist/components/p-5LJWVh2v.js → components/p-BSok41i-.js} +3 -4
  188. package/components/p-BSok41i-.js.map +1 -0
  189. package/{dist/components/p-B7eVYv2t.js → components/p-BajBGXic.js} +3 -4
  190. package/components/p-BajBGXic.js.map +1 -0
  191. package/{dist/components/p-Cu6Uuaq7.js → components/p-BkK6rWZn.js} +4 -5
  192. package/components/p-BkK6rWZn.js.map +1 -0
  193. package/{dist/components/p-ChfLhYiJ.js → components/p-BsHlTsAN.js} +665 -11
  194. package/components/p-BsHlTsAN.js.map +1 -0
  195. package/{dist/components/p-B8MWhPHT.js → components/p-Bu0BcHwL.js} +6 -7
  196. package/components/p-Bu0BcHwL.js.map +1 -0
  197. package/{dist/components/p-Dm3E-tB8.js → components/p-Bx_0JeAb.js} +3 -4
  198. package/components/p-Bx_0JeAb.js.map +1 -0
  199. package/{dist/components/p-kd43PSY6.js → components/p-C0fcjlnS.js} +4 -5
  200. package/components/p-C0fcjlnS.js.map +1 -0
  201. package/{dist/components/p-CMomxDPL.js → components/p-CMoGgYqw.js} +3 -4
  202. package/components/p-CMoGgYqw.js.map +1 -0
  203. package/{dist/components/p-CK89kJIU.js → components/p-CUWjjZT-.js} +3 -4
  204. package/components/p-CUWjjZT-.js.map +1 -0
  205. package/{dist/components/p-uG5vRdFz.js → components/p-C_wf2KGn.js} +4 -5
  206. package/components/p-C_wf2KGn.js.map +1 -0
  207. package/{dist/components/p-BaLh9-zk.js → components/p-CdwyUif-.js} +3 -4
  208. package/components/p-CdwyUif-.js.map +1 -0
  209. package/{dist/components/p-BZELvMID.js → components/p-Cmo_S3fO.js} +5 -6
  210. package/components/p-Cmo_S3fO.js.map +1 -0
  211. package/{dist/components/p-C69LfZib.js → components/p-D0Ba0gOA.js} +5 -6
  212. package/components/p-D0Ba0gOA.js.map +1 -0
  213. package/{dist/components/p-CePuvH9t.js → components/p-D3FuyNC4.js} +7 -8
  214. package/components/p-D3FuyNC4.js.map +1 -0
  215. package/{dist/components/p-DAp7fLS-.js → components/p-D9aamyuM.js} +5 -6
  216. package/components/p-D9aamyuM.js.map +1 -0
  217. package/{dist/components/p-BpXkE6y8.js → components/p-DO_g_QMm.js} +3 -4
  218. package/components/p-DO_g_QMm.js.map +1 -0
  219. package/{dist/components/p-DIeMf4U9.js → components/p-DYC2IZEs.js} +8 -9
  220. package/components/p-DYC2IZEs.js.map +1 -0
  221. package/{dist/components/p-DufL1yr4.js → components/p-Df8KgHhe.js} +4 -5
  222. package/components/p-Df8KgHhe.js.map +1 -0
  223. package/{dist/components/p-D6w8lxZi.js → components/p-Do29ZTL9.js} +3 -4
  224. package/components/p-Do29ZTL9.js.map +1 -0
  225. package/{dist/components/p-DcoR-p0a.js → components/p-DxNNy00t.js} +3 -4
  226. package/components/p-DxNNy00t.js.map +1 -0
  227. package/{dist/components/p-SkkbcLa0.js → components/p-Npcwl1Z8.js} +3 -4
  228. package/components/p-Npcwl1Z8.js.map +1 -0
  229. package/{dist/components/p-DkGh2r0W.js → components/p-S3PEg8gv.js} +3 -4
  230. package/components/p-S3PEg8gv.js.map +1 -0
  231. package/{dist/components/p-CbeeTFys.js → components/p-WibqGBGu.js} +3 -4
  232. package/components/p-WibqGBGu.js.map +1 -0
  233. package/{dist/components/p-DQUicoqi.js → components/p-h6juyPoa.js} +3 -4
  234. package/components/p-h6juyPoa.js.map +1 -0
  235. package/{dist/components/p-C97e5uAI.js → components/p-u2N2FclB.js} +4 -5
  236. package/components/p-u2N2FclB.js.map +1 -0
  237. package/{dist/components/p-B2edfvL2.js → components/p-wPu4WTba.js} +3 -4
  238. package/components/p-wPu4WTba.js.map +1 -0
  239. package/dist/bellhop-core/bellhop-core.esm.js +1 -1
  240. package/dist/bellhop-core/index.esm.js +1 -1
  241. package/dist/bellhop-core/{p-2c796978.entry.js → p-07c9b7fa.entry.js} +2 -2
  242. package/dist/bellhop-core/{p-496fca9b.entry.js → p-091171da.entry.js} +2 -2
  243. package/dist/bellhop-core/{p-03e93cd8.entry.js → p-09a50860.entry.js} +2 -2
  244. package/dist/bellhop-core/{p-3719852a.entry.js → p-0e34250c.entry.js} +2 -2
  245. package/dist/bellhop-core/{p-cdd593fb.entry.js → p-11a6e5fc.entry.js} +2 -2
  246. package/dist/bellhop-core/{p-870fc023.entry.js → p-1540001e.entry.js} +2 -2
  247. package/dist/bellhop-core/{p-09f3464e.entry.js → p-1b670545.entry.js} +2 -2
  248. package/dist/bellhop-core/{p-8981025c.entry.js → p-1be3e908.entry.js} +2 -2
  249. package/dist/bellhop-core/{p-e86780b6.entry.js → p-21bc4f77.entry.js} +2 -2
  250. package/dist/bellhop-core/{p-2310cb6e.entry.js → p-233540f9.entry.js} +3 -3
  251. package/dist/bellhop-core/{p-0438e0a9.entry.js → p-272afebb.entry.js} +2 -2
  252. package/dist/bellhop-core/{p-860be0be.entry.js → p-2db7990e.entry.js} +2 -2
  253. package/dist/bellhop-core/{p-10967cab.entry.js → p-3194a87d.entry.js} +2 -2
  254. package/dist/bellhop-core/{p-e99bc91a.entry.js → p-3255019b.entry.js} +2 -2
  255. package/dist/bellhop-core/{p-56b857f5.entry.js → p-36166900.entry.js} +2 -2
  256. package/dist/bellhop-core/{p-686dea4a.entry.js → p-3a1c52a9.entry.js} +2 -2
  257. package/dist/bellhop-core/{p-58879213.entry.js → p-43c41dfb.entry.js} +2 -2
  258. package/dist/bellhop-core/{p-dcaa20e2.entry.js → p-442121f3.entry.js} +2 -2
  259. package/dist/bellhop-core/{p-4a14cbb5.entry.js → p-49edd1bb.entry.js} +2 -2
  260. package/dist/bellhop-core/{p-20d680ce.entry.js → p-4a8844ff.entry.js} +2 -2
  261. package/dist/bellhop-core/{p-f6e1b47c.entry.js → p-4e483d25.entry.js} +2 -2
  262. package/dist/bellhop-core/{p-b546cd23.entry.js → p-5514d7fb.entry.js} +2 -2
  263. package/dist/bellhop-core/{p-5760ce66.entry.js → p-5c4f74b8.entry.js} +2 -2
  264. package/dist/bellhop-core/{p-90b9047d.entry.js → p-5f92cb28.entry.js} +2 -2
  265. package/dist/bellhop-core/{p-e190ac50.entry.js → p-62235d6e.entry.js} +2 -2
  266. package/dist/bellhop-core/{p-f7c7416d.entry.js → p-67956598.entry.js} +2 -2
  267. package/dist/bellhop-core/{p-d4bfd30d.entry.js → p-6bc81ebb.entry.js} +2 -2
  268. package/dist/bellhop-core/{p-c8fb7f34.entry.js → p-6e8dd0f7.entry.js} +2 -2
  269. package/dist/bellhop-core/{p-abe24947.entry.js → p-7a85db89.entry.js} +2 -2
  270. package/dist/bellhop-core/{p-87fb26a0.entry.js → p-7b0cba50.entry.js} +2 -2
  271. package/dist/bellhop-core/{p-363dce47.entry.js → p-80e07b3d.entry.js} +2 -2
  272. package/dist/bellhop-core/{p-ef47dcd1.entry.js → p-83443918.entry.js} +2 -2
  273. package/dist/bellhop-core/{p-859f45da.entry.js → p-8962e1a6.entry.js} +2 -2
  274. package/dist/bellhop-core/{p-70ee270c.entry.js → p-8bf6364f.entry.js} +2 -2
  275. package/dist/bellhop-core/{p-e9ed7c17.entry.js → p-8cd61bd8.entry.js} +2 -2
  276. package/dist/bellhop-core/{p-5ab50add.entry.js → p-9a19cbf7.entry.js} +2 -2
  277. package/dist/bellhop-core/{p-239c7e6b.entry.js → p-9bf79c21.entry.js} +2 -2
  278. package/dist/bellhop-core/{p-DshiN5nT.js → p-CSYwm_Ke.js} +2 -2
  279. package/dist/bellhop-core/{p-DshiN5nT.js.map → p-CSYwm_Ke.js.map} +1 -1
  280. package/dist/bellhop-core/{p-CIj6YHfo.js → p-Ck1gRAmI.js} +2 -2
  281. package/dist/bellhop-core/{p-CIj6YHfo.js.map → p-Ck1gRAmI.js.map} +1 -1
  282. package/dist/bellhop-core/{p-I9CPXdBF.js → p-DY76Ee-p.js} +2 -2
  283. package/dist/bellhop-core/{p-I9CPXdBF.js.map → p-DY76Ee-p.js.map} +1 -1
  284. package/dist/bellhop-core/{p-6433b0a7.entry.js → p-a30e22f7.entry.js} +2 -2
  285. package/dist/bellhop-core/{p-086e8c86.entry.js → p-a41b3673.entry.js} +2 -2
  286. package/dist/bellhop-core/{p-b7801d25.entry.js → p-a42e8ddb.entry.js} +2 -2
  287. package/dist/bellhop-core/{p-67452ed0.entry.js → p-afd85291.entry.js} +2 -2
  288. package/dist/bellhop-core/{p-356a2ed7.entry.js → p-b0dda4df.entry.js} +2 -2
  289. package/dist/bellhop-core/{p-ab9c5351.entry.js → p-b878539a.entry.js} +2 -2
  290. package/dist/bellhop-core/{p-69f85850.entry.js → p-bd00d5ad.entry.js} +2 -2
  291. package/dist/bellhop-core/{p-b1cb34e9.entry.js → p-c0e36166.entry.js} +2 -2
  292. package/dist/bellhop-core/{p-ab2b037c.entry.js → p-c33f6e73.entry.js} +2 -2
  293. package/dist/bellhop-core/{p-44241bad.entry.js → p-c70d11a2.entry.js} +2 -2
  294. package/dist/bellhop-core/{p-94d2d599.entry.js → p-c9ac177b.entry.js} +2 -2
  295. package/dist/bellhop-core/{p-9a585c1a.entry.js → p-c9f7d922.entry.js} +2 -2
  296. package/dist/bellhop-core/{p-adcd2e15.entry.js → p-cf412873.entry.js} +2 -2
  297. package/dist/bellhop-core/{p-afd0e309.entry.js → p-d5bf49ab.entry.js} +2 -2
  298. package/dist/bellhop-core/{p-f5468da0.entry.js → p-defe9916.entry.js} +2 -2
  299. package/dist/bellhop-core/{p-23b74b40.entry.js → p-df4498cd.entry.js} +2 -2
  300. package/dist/bellhop-core/{p-57ac382d.entry.js → p-efd3dfed.entry.js} +2 -2
  301. package/dist/bellhop-core/{p-52e877e0.entry.js → p-f85a9eaa.entry.js} +2 -2
  302. package/dist/bellhop-core/{p-dd43d560.entry.js → p-ffb29d95.entry.js} +2 -2
  303. package/dist/bellhop-core/p-nAAobRRQ.js +3 -0
  304. package/dist/bellhop-core/p-nAAobRRQ.js.map +1 -0
  305. package/dist/cjs/bellhop-core.cjs.js +1 -1
  306. package/dist/cjs/bh-accordion-item.cjs.entry.js +1 -1
  307. package/dist/cjs/bh-accordion.cjs.entry.js +1 -1
  308. package/dist/cjs/bh-appbar.cjs.entry.js +1 -1
  309. package/dist/cjs/bh-autocomplete-menu_2.cjs.entry.js +1 -1
  310. package/dist/cjs/bh-avatar-add.cjs.entry.js +1 -1
  311. package/dist/cjs/bh-avatar-stacked.cjs.entry.js +1 -1
  312. package/dist/cjs/bh-avatar.cjs.entry.js +1 -1
  313. package/dist/cjs/bh-badge-dot_2.cjs.entry.js +1 -1
  314. package/dist/cjs/bh-badge.cjs.entry.js +1 -1
  315. package/dist/cjs/bh-bar-chart.cjs.entry.js +1 -1
  316. package/dist/cjs/{bh-button-CKYE8jYL.js → bh-button-DD0c0ODJ.js} +3 -3
  317. package/dist/cjs/{bh-button-CKYE8jYL.js.map → bh-button-DD0c0ODJ.js.map} +1 -1
  318. package/dist/cjs/bh-button-icon.cjs.entry.js +1 -1
  319. package/dist/cjs/bh-button_2.cjs.entry.js +2 -2
  320. package/dist/cjs/bh-card-footer.cjs.entry.js +1 -1
  321. package/dist/cjs/bh-card-header.cjs.entry.js +1 -1
  322. package/dist/cjs/bh-card.cjs.entry.js +1 -1
  323. package/dist/cjs/bh-chart-tooltip.cjs.entry.js +1 -1
  324. package/dist/cjs/bh-checkbox-group-item.cjs.entry.js +1 -1
  325. package/dist/cjs/bh-checkbox-group.cjs.entry.js +1 -1
  326. package/dist/cjs/bh-checkbox_2.cjs.entry.js +1 -1
  327. package/dist/cjs/bh-container-footer.cjs.entry.js +1 -1
  328. package/dist/cjs/bh-container.cjs.entry.js +1 -1
  329. package/dist/cjs/bh-data-grid.cjs.entry.js +1 -1
  330. package/dist/cjs/bh-date-picker-content.cjs.entry.js +1 -1
  331. package/dist/cjs/bh-date-picker.cjs.entry.js +1 -1
  332. package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +1 -1
  333. package/dist/cjs/bh-date-range-picker.cjs.entry.js +1 -1
  334. package/dist/cjs/bh-dropdown-menu.cjs.entry.js +1 -1
  335. package/dist/cjs/bh-dropdown_3.cjs.entry.js +1 -1
  336. package/dist/cjs/bh-empty-state_3.cjs.entry.js +2 -2
  337. package/dist/cjs/bh-featured-icon.cjs.entry.js +1 -1
  338. package/dist/cjs/bh-illustrations.cjs.entry.js +1 -1
  339. package/dist/cjs/bh-input-autocomplete.cjs.entry.js +1 -1
  340. package/dist/cjs/bh-input-number.cjs.entry.js +1 -1
  341. package/dist/cjs/bh-input-password.cjs.entry.js +1 -1
  342. package/dist/cjs/bh-input-text_2.cjs.entry.js +1 -1
  343. package/dist/cjs/bh-input-verification.cjs.entry.js +1 -1
  344. package/dist/cjs/{bh-label-DRC8k-B9.js → bh-label-MpXjm9k0.js} +3 -3
  345. package/dist/cjs/{bh-label-DRC8k-B9.js.map → bh-label-MpXjm9k0.js.map} +1 -1
  346. package/dist/cjs/bh-label_2.cjs.entry.js +2 -2
  347. package/dist/cjs/bh-modal-actions.cjs.entry.js +1 -1
  348. package/dist/cjs/bh-modal-header.cjs.entry.js +1 -1
  349. package/dist/cjs/bh-modal.cjs.entry.js +1 -1
  350. package/dist/cjs/bh-month-picker-content.cjs.entry.js +1 -1
  351. package/dist/cjs/bh-month-picker.cjs.entry.js +1 -1
  352. package/dist/cjs/bh-notification.cjs.entry.js +1 -1
  353. package/dist/cjs/bh-page-navigation-child.cjs.entry.js +1 -1
  354. package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +1 -1
  355. package/dist/cjs/bh-page-navigation.cjs.entry.js +1 -1
  356. package/dist/cjs/{bh-pagination-BJ1azyCc.js → bh-pagination-CgER63yz.js} +3 -3
  357. package/dist/cjs/{bh-pagination-BJ1azyCc.js.map → bh-pagination-CgER63yz.js.map} +1 -1
  358. package/dist/cjs/bh-pie-chart.cjs.entry.js +1 -1
  359. package/dist/cjs/bh-popover.cjs.entry.js +1 -1
  360. package/dist/cjs/bh-product-switcher.cjs.entry.js +1 -1
  361. package/dist/cjs/bh-property-switcher.cjs.entry.js +1 -1
  362. package/dist/cjs/bh-sidebar.cjs.entry.js +1 -1
  363. package/dist/cjs/bh-tab-item.cjs.entry.js +1 -1
  364. package/dist/cjs/bh-tabs.cjs.entry.js +1 -1
  365. package/dist/cjs/bh-textarea.cjs.entry.js +1 -1
  366. package/dist/cjs/bh-toggle.cjs.entry.js +1 -1
  367. package/dist/cjs/bh-trend-chart.cjs.entry.js +1 -1
  368. package/dist/cjs/{index-BVJ_Kket.js → index-DQwSUT6k.js} +666 -9
  369. package/dist/cjs/index-DQwSUT6k.js.map +1 -0
  370. package/dist/cjs/index.cjs.js +4 -4
  371. package/dist/cjs/loader.cjs.js +1 -1
  372. package/dist/esm/bellhop-core.js +2 -2
  373. package/dist/esm/bh-accordion-item.entry.js +1 -1
  374. package/dist/esm/bh-accordion.entry.js +1 -1
  375. package/dist/esm/bh-appbar.entry.js +1 -1
  376. package/dist/esm/bh-autocomplete-menu_2.entry.js +1 -1
  377. package/dist/esm/bh-avatar-add.entry.js +1 -1
  378. package/dist/esm/bh-avatar-stacked.entry.js +1 -1
  379. package/dist/esm/bh-avatar.entry.js +1 -1
  380. package/dist/esm/bh-badge-dot_2.entry.js +1 -1
  381. package/dist/esm/bh-badge.entry.js +1 -1
  382. package/dist/esm/bh-bar-chart.entry.js +1 -1
  383. package/dist/esm/{bh-button-n5gkWRSP.js → bh-button-ImGVvXaj.js} +3 -3
  384. package/dist/esm/{bh-button-n5gkWRSP.js.map → bh-button-ImGVvXaj.js.map} +1 -1
  385. package/dist/esm/bh-button-icon.entry.js +1 -1
  386. package/dist/esm/bh-button_2.entry.js +2 -2
  387. package/dist/esm/bh-card-footer.entry.js +1 -1
  388. package/dist/esm/bh-card-header.entry.js +1 -1
  389. package/dist/esm/bh-card.entry.js +1 -1
  390. package/dist/esm/bh-chart-tooltip.entry.js +1 -1
  391. package/dist/esm/bh-checkbox-group-item.entry.js +1 -1
  392. package/dist/esm/bh-checkbox-group.entry.js +1 -1
  393. package/dist/esm/bh-checkbox_2.entry.js +1 -1
  394. package/dist/esm/bh-container-footer.entry.js +1 -1
  395. package/dist/esm/bh-container.entry.js +1 -1
  396. package/dist/esm/bh-data-grid.entry.js +1 -1
  397. package/dist/esm/bh-date-picker-content.entry.js +1 -1
  398. package/dist/esm/bh-date-picker.entry.js +1 -1
  399. package/dist/esm/bh-date-range-picker-content.entry.js +1 -1
  400. package/dist/esm/bh-date-range-picker.entry.js +1 -1
  401. package/dist/esm/bh-dropdown-menu.entry.js +1 -1
  402. package/dist/esm/bh-dropdown_3.entry.js +1 -1
  403. package/dist/esm/bh-empty-state_3.entry.js +2 -2
  404. package/dist/esm/bh-featured-icon.entry.js +1 -1
  405. package/dist/esm/bh-illustrations.entry.js +1 -1
  406. package/dist/esm/bh-input-autocomplete.entry.js +1 -1
  407. package/dist/esm/bh-input-number.entry.js +1 -1
  408. package/dist/esm/bh-input-password.entry.js +1 -1
  409. package/dist/esm/bh-input-text_2.entry.js +1 -1
  410. package/dist/esm/bh-input-verification.entry.js +1 -1
  411. package/dist/esm/{bh-label-fV57YpXm.js → bh-label-PLT7t4We.js} +3 -3
  412. package/dist/esm/{bh-label-fV57YpXm.js.map → bh-label-PLT7t4We.js.map} +1 -1
  413. package/dist/esm/bh-label_2.entry.js +2 -2
  414. package/dist/esm/bh-modal-actions.entry.js +1 -1
  415. package/dist/esm/bh-modal-header.entry.js +1 -1
  416. package/dist/esm/bh-modal.entry.js +1 -1
  417. package/dist/esm/bh-month-picker-content.entry.js +1 -1
  418. package/dist/esm/bh-month-picker.entry.js +1 -1
  419. package/dist/esm/bh-notification.entry.js +1 -1
  420. package/dist/esm/bh-page-navigation-child.entry.js +1 -1
  421. package/dist/esm/bh-page-navigation-multi-level_2.entry.js +1 -1
  422. package/dist/esm/bh-page-navigation.entry.js +1 -1
  423. package/dist/esm/{bh-pagination-BtbbslVs.js → bh-pagination-CUeRSYsV.js} +3 -3
  424. package/dist/esm/{bh-pagination-BtbbslVs.js.map → bh-pagination-CUeRSYsV.js.map} +1 -1
  425. package/dist/esm/bh-pie-chart.entry.js +1 -1
  426. package/dist/esm/bh-popover.entry.js +1 -1
  427. package/dist/esm/bh-product-switcher.entry.js +1 -1
  428. package/dist/esm/bh-property-switcher.entry.js +1 -1
  429. package/dist/esm/bh-sidebar.entry.js +1 -1
  430. package/dist/esm/bh-tab-item.entry.js +1 -1
  431. package/dist/esm/bh-tabs.entry.js +1 -1
  432. package/dist/esm/bh-textarea.entry.js +1 -1
  433. package/dist/esm/bh-toggle.entry.js +1 -1
  434. package/dist/esm/bh-trend-chart.entry.js +1 -1
  435. package/dist/esm/{index-DXAL-jSE.js → index-nAAobRRQ.js} +666 -9
  436. package/dist/esm/index-nAAobRRQ.js.map +1 -0
  437. package/dist/esm/index.js +4 -4
  438. package/dist/esm/loader.js +2 -2
  439. package/hydrate/index.d.ts +275 -0
  440. package/hydrate/index.js +33803 -0
  441. package/hydrate/index.mjs +33795 -0
  442. package/hydrate/package.json +12 -0
  443. package/llms.txt +41649 -0
  444. package/package.json +22 -11
  445. package/react.d.ts +253 -0
  446. package/dist/bellhop-core/p-DXAL-jSE.js +0 -3
  447. package/dist/bellhop-core/p-DXAL-jSE.js.map +0 -1
  448. package/dist/cjs/index-BVJ_Kket.js.map +0 -1
  449. package/dist/components/bh-accordion-item.js.map +0 -1
  450. package/dist/components/bh-accordion.js.map +0 -1
  451. package/dist/components/bh-appbar.js.map +0 -1
  452. package/dist/components/bh-avatar-stacked.js.map +0 -1
  453. package/dist/components/bh-bar-chart.js.map +0 -1
  454. package/dist/components/bh-card-footer.js +0 -9
  455. package/dist/components/bh-card-footer.js.map +0 -1
  456. package/dist/components/bh-card-header.js +0 -9
  457. package/dist/components/bh-card-header.js.map +0 -1
  458. package/dist/components/bh-card.js +0 -9
  459. package/dist/components/bh-card.js.map +0 -1
  460. package/dist/components/bh-checkbox-group-item.js +0 -9
  461. package/dist/components/bh-checkbox-group-item.js.map +0 -1
  462. package/dist/components/bh-checkbox-group.js +0 -9
  463. package/dist/components/bh-checkbox-group.js.map +0 -1
  464. package/dist/components/bh-container-footer.js.map +0 -1
  465. package/dist/components/bh-container.js.map +0 -1
  466. package/dist/components/bh-data-grid.js +0 -9
  467. package/dist/components/bh-data-grid.js.map +0 -1
  468. package/dist/components/bh-date-picker.js.map +0 -1
  469. package/dist/components/bh-date-range-picker.js.map +0 -1
  470. package/dist/components/bh-illustrations.js.map +0 -1
  471. package/dist/components/bh-input-autocomplete.js.map +0 -1
  472. package/dist/components/bh-input-number.js.map +0 -1
  473. package/dist/components/bh-input-password.js.map +0 -1
  474. package/dist/components/bh-input-verification.js.map +0 -1
  475. package/dist/components/bh-modal-actions.js.map +0 -1
  476. package/dist/components/bh-modal-header.js.map +0 -1
  477. package/dist/components/bh-modal.js +0 -9
  478. package/dist/components/bh-modal.js.map +0 -1
  479. package/dist/components/bh-month-picker.js.map +0 -1
  480. package/dist/components/bh-notification.js.map +0 -1
  481. package/dist/components/bh-page-navigation.js.map +0 -1
  482. package/dist/components/bh-pie-chart.js.map +0 -1
  483. package/dist/components/bh-popover.js.map +0 -1
  484. package/dist/components/bh-property-switcher.js.map +0 -1
  485. package/dist/components/bh-sidebar.js.map +0 -1
  486. package/dist/components/bh-tab-item.js.map +0 -1
  487. package/dist/components/bh-tabs.js.map +0 -1
  488. package/dist/components/bh-textarea.js.map +0 -1
  489. package/dist/components/bh-toggle.js +0 -9
  490. package/dist/components/bh-toggle.js.map +0 -1
  491. package/dist/components/bh-trend-chart.js.map +0 -1
  492. package/dist/components/index.d.ts +0 -33
  493. package/dist/components/index.js +0 -17
  494. package/dist/components/index.js.map +0 -1
  495. package/dist/components/p-5LJWVh2v.js.map +0 -1
  496. package/dist/components/p-B2edfvL2.js.map +0 -1
  497. package/dist/components/p-B7eVYv2t.js.map +0 -1
  498. package/dist/components/p-B8MWhPHT.js.map +0 -1
  499. package/dist/components/p-BFhwq3_y.js.map +0 -1
  500. package/dist/components/p-BNeBcvHu.js.map +0 -1
  501. package/dist/components/p-BOk69MBi.js.map +0 -1
  502. package/dist/components/p-BZELvMID.js.map +0 -1
  503. package/dist/components/p-BaLh9-zk.js.map +0 -1
  504. package/dist/components/p-BpXkE6y8.js.map +0 -1
  505. package/dist/components/p-Bs2Z3XIQ.js.map +0 -1
  506. package/dist/components/p-C69LfZib.js.map +0 -1
  507. package/dist/components/p-C97e5uAI.js.map +0 -1
  508. package/dist/components/p-CK89kJIU.js.map +0 -1
  509. package/dist/components/p-CMomxDPL.js.map +0 -1
  510. package/dist/components/p-CWGpUs1b.js.map +0 -1
  511. package/dist/components/p-CbeeTFys.js.map +0 -1
  512. package/dist/components/p-Ccq-Rk5W.js.map +0 -1
  513. package/dist/components/p-CePuvH9t.js.map +0 -1
  514. package/dist/components/p-ChfLhYiJ.js.map +0 -1
  515. package/dist/components/p-Cu6Uuaq7.js.map +0 -1
  516. package/dist/components/p-D-RHfFhc.js.map +0 -1
  517. package/dist/components/p-D6w8lxZi.js.map +0 -1
  518. package/dist/components/p-DAp7fLS-.js.map +0 -1
  519. package/dist/components/p-DIeMf4U9.js.map +0 -1
  520. package/dist/components/p-DK92X9HV.js.map +0 -1
  521. package/dist/components/p-DOaC_o63.js.map +0 -1
  522. package/dist/components/p-DQUicoqi.js.map +0 -1
  523. package/dist/components/p-DURWm67o.js.map +0 -1
  524. package/dist/components/p-DW54267I.js.map +0 -1
  525. package/dist/components/p-DcoR-p0a.js.map +0 -1
  526. package/dist/components/p-Df5drD7C.js.map +0 -1
  527. package/dist/components/p-DkGh2r0W.js.map +0 -1
  528. package/dist/components/p-Dm3E-tB8.js.map +0 -1
  529. package/dist/components/p-DsCDXclM.js.map +0 -1
  530. package/dist/components/p-DtbXB8r4.js.map +0 -1
  531. package/dist/components/p-DufL1yr4.js.map +0 -1
  532. package/dist/components/p-SkkbcLa0.js.map +0 -1
  533. package/dist/components/p-dlKpBGSA.js.map +0 -1
  534. package/dist/components/p-kd43PSY6.js.map +0 -1
  535. package/dist/components/p-uG5vRdFz.js.map +0 -1
  536. package/dist/esm/index-DXAL-jSE.js.map +0 -1
  537. /package/{dist/components → components}/bh-autocomplete-menu.js.map +0 -0
  538. /package/{dist/components → components}/bh-avatar-add.js.map +0 -0
  539. /package/{dist/components → components}/bh-avatar.js.map +0 -0
  540. /package/{dist/components → components}/bh-badge-dot.js.map +0 -0
  541. /package/{dist/components → components}/bh-badge.js.map +0 -0
  542. /package/{dist/components → components}/bh-breadcrumbs.js.map +0 -0
  543. /package/{dist/components → components}/bh-button-icon.js.map +0 -0
  544. /package/{dist/components → components}/bh-button.js.map +0 -0
  545. /package/{dist/components → components}/bh-chart-tooltip.js.map +0 -0
  546. /package/{dist/components → components}/bh-checkbox.js.map +0 -0
  547. /package/{dist/components → components}/bh-date-picker-content.js.map +0 -0
  548. /package/{dist/components → components}/bh-date-range-picker-content.js.map +0 -0
  549. /package/{dist/components → components}/bh-dropdown-menu.js.map +0 -0
  550. /package/{dist/components → components}/bh-dropdown.js.map +0 -0
  551. /package/{dist/components → components}/bh-empty-state.js.map +0 -0
  552. /package/{dist/components → components}/bh-featured-icon.js.map +0 -0
  553. /package/{dist/components → components}/bh-input-text.js.map +0 -0
  554. /package/{dist/components → components}/bh-label.js.map +0 -0
  555. /package/{dist/components → components}/bh-loader-spinner.js.map +0 -0
  556. /package/{dist/components → components}/bh-logo-box.js.map +0 -0
  557. /package/{dist/components → components}/bh-month-picker-content.js.map +0 -0
  558. /package/{dist/components → components}/bh-nav-item.js.map +0 -0
  559. /package/{dist/components → components}/bh-page-navigation-child.js.map +0 -0
  560. /package/{dist/components → components}/bh-page-navigation-multi-level.js.map +0 -0
  561. /package/{dist/components → components}/bh-page-navigation-single-level.js.map +0 -0
  562. /package/{dist/components → components}/bh-pagination.js.map +0 -0
  563. /package/{dist/components → components}/bh-picker-menu.js.map +0 -0
  564. /package/{dist/components → components}/bh-product-switcher.js.map +0 -0
  565. /package/{dist/components → components}/bh-radio-button.js.map +0 -0
  566. /package/{dist/components → components}/bh-skeleton-loader.js.map +0 -0
  567. /package/{dist/components → components}/bh-tag.js.map +0 -0
  568. /package/{dist/components → components}/bh-tooltip.js.map +0 -0
  569. /package/{dist/components → components}/p-2KjdCYlS.js +0 -0
  570. /package/{dist/components → components}/p-2KjdCYlS.js.map +0 -0
  571. /package/dist/bellhop-core/{p-2c796978.entry.js.map → p-07c9b7fa.entry.js.map} +0 -0
  572. /package/dist/bellhop-core/{p-496fca9b.entry.js.map → p-091171da.entry.js.map} +0 -0
  573. /package/dist/bellhop-core/{p-03e93cd8.entry.js.map → p-09a50860.entry.js.map} +0 -0
  574. /package/dist/bellhop-core/{p-3719852a.entry.js.map → p-0e34250c.entry.js.map} +0 -0
  575. /package/dist/bellhop-core/{p-cdd593fb.entry.js.map → p-11a6e5fc.entry.js.map} +0 -0
  576. /package/dist/bellhop-core/{p-870fc023.entry.js.map → p-1540001e.entry.js.map} +0 -0
  577. /package/dist/bellhop-core/{p-09f3464e.entry.js.map → p-1b670545.entry.js.map} +0 -0
  578. /package/dist/bellhop-core/{p-8981025c.entry.js.map → p-1be3e908.entry.js.map} +0 -0
  579. /package/dist/bellhop-core/{p-e86780b6.entry.js.map → p-21bc4f77.entry.js.map} +0 -0
  580. /package/dist/bellhop-core/{p-2310cb6e.entry.js.map → p-233540f9.entry.js.map} +0 -0
  581. /package/dist/bellhop-core/{p-0438e0a9.entry.js.map → p-272afebb.entry.js.map} +0 -0
  582. /package/dist/bellhop-core/{p-860be0be.entry.js.map → p-2db7990e.entry.js.map} +0 -0
  583. /package/dist/bellhop-core/{p-10967cab.entry.js.map → p-3194a87d.entry.js.map} +0 -0
  584. /package/dist/bellhop-core/{p-e99bc91a.entry.js.map → p-3255019b.entry.js.map} +0 -0
  585. /package/dist/bellhop-core/{p-56b857f5.entry.js.map → p-36166900.entry.js.map} +0 -0
  586. /package/dist/bellhop-core/{p-686dea4a.entry.js.map → p-3a1c52a9.entry.js.map} +0 -0
  587. /package/dist/bellhop-core/{p-58879213.entry.js.map → p-43c41dfb.entry.js.map} +0 -0
  588. /package/dist/bellhop-core/{p-dcaa20e2.entry.js.map → p-442121f3.entry.js.map} +0 -0
  589. /package/dist/bellhop-core/{p-4a14cbb5.entry.js.map → p-49edd1bb.entry.js.map} +0 -0
  590. /package/dist/bellhop-core/{p-20d680ce.entry.js.map → p-4a8844ff.entry.js.map} +0 -0
  591. /package/dist/bellhop-core/{p-f6e1b47c.entry.js.map → p-4e483d25.entry.js.map} +0 -0
  592. /package/dist/bellhop-core/{p-b546cd23.entry.js.map → p-5514d7fb.entry.js.map} +0 -0
  593. /package/dist/bellhop-core/{p-5760ce66.entry.js.map → p-5c4f74b8.entry.js.map} +0 -0
  594. /package/dist/bellhop-core/{p-90b9047d.entry.js.map → p-5f92cb28.entry.js.map} +0 -0
  595. /package/dist/bellhop-core/{p-e190ac50.entry.js.map → p-62235d6e.entry.js.map} +0 -0
  596. /package/dist/bellhop-core/{p-f7c7416d.entry.js.map → p-67956598.entry.js.map} +0 -0
  597. /package/dist/bellhop-core/{p-d4bfd30d.entry.js.map → p-6bc81ebb.entry.js.map} +0 -0
  598. /package/dist/bellhop-core/{p-c8fb7f34.entry.js.map → p-6e8dd0f7.entry.js.map} +0 -0
  599. /package/dist/bellhop-core/{p-abe24947.entry.js.map → p-7a85db89.entry.js.map} +0 -0
  600. /package/dist/bellhop-core/{p-87fb26a0.entry.js.map → p-7b0cba50.entry.js.map} +0 -0
  601. /package/dist/bellhop-core/{p-363dce47.entry.js.map → p-80e07b3d.entry.js.map} +0 -0
  602. /package/dist/bellhop-core/{p-ef47dcd1.entry.js.map → p-83443918.entry.js.map} +0 -0
  603. /package/dist/bellhop-core/{p-859f45da.entry.js.map → p-8962e1a6.entry.js.map} +0 -0
  604. /package/dist/bellhop-core/{p-70ee270c.entry.js.map → p-8bf6364f.entry.js.map} +0 -0
  605. /package/dist/bellhop-core/{p-e9ed7c17.entry.js.map → p-8cd61bd8.entry.js.map} +0 -0
  606. /package/dist/bellhop-core/{p-5ab50add.entry.js.map → p-9a19cbf7.entry.js.map} +0 -0
  607. /package/dist/bellhop-core/{p-239c7e6b.entry.js.map → p-9bf79c21.entry.js.map} +0 -0
  608. /package/dist/bellhop-core/{p-6433b0a7.entry.js.map → p-a30e22f7.entry.js.map} +0 -0
  609. /package/dist/bellhop-core/{p-086e8c86.entry.js.map → p-a41b3673.entry.js.map} +0 -0
  610. /package/dist/bellhop-core/{p-b7801d25.entry.js.map → p-a42e8ddb.entry.js.map} +0 -0
  611. /package/dist/bellhop-core/{p-67452ed0.entry.js.map → p-afd85291.entry.js.map} +0 -0
  612. /package/dist/bellhop-core/{p-356a2ed7.entry.js.map → p-b0dda4df.entry.js.map} +0 -0
  613. /package/dist/bellhop-core/{p-ab9c5351.entry.js.map → p-b878539a.entry.js.map} +0 -0
  614. /package/dist/bellhop-core/{p-69f85850.entry.js.map → p-bd00d5ad.entry.js.map} +0 -0
  615. /package/dist/bellhop-core/{p-b1cb34e9.entry.js.map → p-c0e36166.entry.js.map} +0 -0
  616. /package/dist/bellhop-core/{p-ab2b037c.entry.js.map → p-c33f6e73.entry.js.map} +0 -0
  617. /package/dist/bellhop-core/{p-44241bad.entry.js.map → p-c70d11a2.entry.js.map} +0 -0
  618. /package/dist/bellhop-core/{p-94d2d599.entry.js.map → p-c9ac177b.entry.js.map} +0 -0
  619. /package/dist/bellhop-core/{p-9a585c1a.entry.js.map → p-c9f7d922.entry.js.map} +0 -0
  620. /package/dist/bellhop-core/{p-adcd2e15.entry.js.map → p-cf412873.entry.js.map} +0 -0
  621. /package/dist/bellhop-core/{p-afd0e309.entry.js.map → p-d5bf49ab.entry.js.map} +0 -0
  622. /package/dist/bellhop-core/{p-f5468da0.entry.js.map → p-defe9916.entry.js.map} +0 -0
  623. /package/dist/bellhop-core/{p-23b74b40.entry.js.map → p-df4498cd.entry.js.map} +0 -0
  624. /package/dist/bellhop-core/{p-57ac382d.entry.js.map → p-efd3dfed.entry.js.map} +0 -0
  625. /package/dist/bellhop-core/{p-52e877e0.entry.js.map → p-f85a9eaa.entry.js.map} +0 -0
  626. /package/dist/bellhop-core/{p-dd43d560.entry.js.map → p-ffb29d95.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"bh-accordion-item.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,gtDAAgtD;;MCmB9tDA,iBAAe,iBAAAC,kBAAA,CAAA,MAAA,eAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AAC1B;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,MAAM;AAEd;;AAEG;IACqC,QAAQ,GAAY,KAAK;AAEjE;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACM,WAAW,GAAY,KAAK;AAErC;;AAEG;AAEH,IAAA,iBAAiB;AAEjB;;AAEG;AAEH,IAAA,gBAAgB;IAGhB,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;SACzB,EAAE,GAAG,CAAC;;IAGD,iBAAiB,GAAG,MAAW;QACrC,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC;AACJ,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,iBAAiB,EAAE;;AAE5B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,gBAAgB,EAAE,IAAI;YACtB,yBAAyB,EAAE,IAAI,CAAC,QAAQ;YACxC,yBAAyB,EAAE,IAAI,CAAC,QAAQ;YACxC,0BAA0B,EAAE,IAAI,CAAC,WAAW;SAC7C;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,aAAa;QAE9D,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,WAAW,EAAA,EACtB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EACjB,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAA,eAAA,EAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAA,eAAA,EAChC,CAAW,QAAA,EAAA,IAAI,CAAC,KAAK,CAAE,CAAA,EACtC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,SAAS,EAAE,IAAI,CAAC,aAAa,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,OAAO,EAAA,EACvC,IAAI,CAAC,MAAM,CACP,CACH,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0CAA0C,EAAC,IAAI,EAAC,MAAM,EAAA,EAC/D,QAAQ,CACJ,CACH,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAE,CAAW,QAAA,EAAA,IAAI,CAAC,KAAK,CAAE,CAAA,EAC3B,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,QAAQ,EAAA,iBAAA,EACI,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,CAAA,CAAE,iBAC1B,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAAA,EAE9C,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,yBAAyB,EAAA,EAClC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhAccordionItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-accordion-item/bh-accordion-item.css?tag=bh-accordion-item&encapsulation=shadow","src/components/bh-accordion-item/bh-accordion-item.tsx"],"sourcesContent":["/* ==========================================================================\n BH-ACCORDION-ITEM COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: var(--color-white);\n}\n\n/* Header */\n.accordion-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-lg);\n padding: var(--spacing-lg) var(--spacing-2xl);\n cursor: pointer;\n background-color: var(--color-white);\n border: none;\n border-bottom: 1px solid var(--color-neutral-100);\n transition: background-color 0.15s ease;\n}\n\n.accordion-header:hover {\n background-color: var(--color-neutral-25);\n}\n\n.accordion-header:focus {\n outline: none;\n}\n\n.accordion-header:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: -2px;\n}\n\n/* Header Content */\n.accordion-header-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xxs);\n flex: 1;\n min-width: 0;\n}\n\n/* Title */\n.accordion-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/* Icon */\n.accordion-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n font-size: 24px;\n color: var(--color-neutral-500);\n transition: transform 0.2s ease;\n flex-shrink: 0;\n}\n\n/* Content */\n.accordion-content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n overflow: hidden;\n}\n\n.accordion-content-inner {\n min-height: 0;\n overflow: hidden;\n}\n\n/* ==========================================================================\n EXPANDED STATE\n ========================================================================== */\n\n:host(.accordion-item-expanded) .accordion-header {\n border-bottom-color: transparent;\n}\n\n:host(.accordion-item-expanded) .accordion-content {\n grid-template-rows: 1fr;\n}\n\n:host(.accordion-item-expanded) .accordion-content-inner {\n padding: var(--spacing-lg) var(--spacing-2xl) var(--spacing-2xl);\n border-bottom: 1px solid var(--color-neutral-100);\n}\n\n/* ==========================================================================\n DISABLED STATE\n ========================================================================== */\n\n:host(.accordion-item-disabled) {\n opacity: 0.5;\n pointer-events: none;\n}\n\n:host(.accordion-item-disabled) .accordion-header {\n cursor: not-allowed;\n}\n\n/* ==========================================================================\n ANIMATION STATE\n ========================================================================== */\n\n:host(.accordion-item-animating) .accordion-content-inner {\n overflow: hidden;\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n h,\n Host,\n Watch,\n} from '@stencil/core';\n\n/**\n * @slot - Content displayed when the accordion item is expanded\n */\n@Component({\n tag: 'bh-accordion-item',\n styleUrl: 'bh-accordion-item.css',\n shadow: true,\n})\nexport class BhAccordionItem {\n /**\n * Unique identifier for this accordion item\n */\n @Prop() value!: string;\n\n /**\n * The header/title text for the accordion item\n */\n @Prop() header!: string;\n\n /**\n * Whether this accordion item is currently expanded\n */\n @Prop({ mutable: true, reflect: true }) expanded: boolean = false;\n\n /**\n * Whether this accordion item is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Internal state for animation\n */\n @State() isAnimating: boolean = false;\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionToggle!: EventEmitter<{ value: string; expanded: boolean }>;\n\n /**\n * Emitted when the accordion header is clicked\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionClick!: EventEmitter<string>;\n\n @Watch('expanded')\n handleExpandedChange(): void {\n this.isAnimating = true;\n setTimeout(() => {\n this.isAnimating = false;\n }, 200);\n }\n\n private handleHeaderClick = (): void => {\n if (this.disabled) return;\n\n this.expanded = !this.expanded;\n this.bhAccordionClick.emit(this.value);\n this.bhAccordionToggle.emit({\n value: this.value,\n expanded: this.expanded,\n });\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if (this.disabled) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleHeaderClick();\n }\n };\n\n render() {\n const hostClasses = {\n 'accordion-item': true,\n 'accordion-item-expanded': this.expanded,\n 'accordion-item-disabled': this.disabled,\n 'accordion-item-animating': this.isAnimating,\n };\n\n const iconName = this.expanded ? 'expand_less' : 'expand_more';\n\n return (\n <Host class={hostClasses}>\n <div\n class=\"accordion-header\"\n part=\"header\"\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n aria-expanded={this.expanded ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`content-${this.value}`}\n onClick={this.handleHeaderClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"accordion-header-content\">\n <span class=\"accordion-title\" part=\"title\">\n {this.header}\n </span>\n </div>\n <span class=\"accordion-icon material-symbols-outlined\" part=\"icon\">\n {iconName}\n </span>\n </div>\n <div\n id={`content-${this.value}`}\n class=\"accordion-content\"\n part=\"content\"\n role=\"region\"\n aria-labelledby={`header-${this.value}`}\n aria-hidden={!this.expanded ? 'true' : 'false'}\n >\n <div class=\"accordion-content-inner\">\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-accordion.js","mappings":"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","names":["BhAccordion","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-accordion/bh-accordion.css?tag=bh-accordion&encapsulation=shadow","src/components/bh-accordion/bh-accordion.tsx"],"sourcesContent":["/* ==========================================================================\n BH-ACCORDION COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* Container */\n.accordion-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: var(--color-white);\n}\n\n/* ==========================================================================\n MODE VARIATIONS\n ========================================================================== */\n\n/* Single mode - no specific styles needed */\n.accordion-single .accordion-container {\n /* Default behavior */\n}\n\n/* Multiple mode - no specific styles needed */\n.accordion-multiple .accordion-container {\n /* Default behavior */\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n State,\n Watch,\n} from '@stencil/core';\n\nexport type AccordionMode = 'single' | 'multiple';\n\n/**\n * @slot - Accordion items (bh-accordion-item components)\n */\n@Component({\n tag: 'bh-accordion',\n styleUrl: 'bh-accordion.css',\n shadow: true,\n})\nexport class BhAccordion {\n /**\n * The mode of the accordion:\n * - 'single': Only one item can be expanded at a time\n * - 'multiple': Multiple items can be expanded simultaneously\n */\n @Prop() mode: AccordionMode = 'single';\n\n /**\n * The value(s) of the currently expanded item(s).\n * For single mode: a string value\n * For multiple mode: an array of string values (comma-separated string)\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Whether to collapse other items when one is expanded (only applies in single mode)\n */\n @Prop() collapsible: boolean = true;\n\n /**\n * Internal state to track expanded items\n */\n @State() expandedItems: Set<string> = new Set();\n\n /**\n * Emitted when the expanded state changes\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionChange!: EventEmitter<string | string[]>;\n\n componentWillLoad(): void {\n this.parseValue();\n }\n\n @Watch('value')\n handleValueChange(): void {\n this.parseValue();\n this.updateChildItems();\n }\n\n private parseValue(): void {\n if (!this.value) {\n this.expandedItems = new Set();\n return;\n }\n\n if (this.mode === 'multiple') {\n this.expandedItems = new Set(this.value.split(',').filter(Boolean));\n } else {\n this.expandedItems = new Set([this.value]);\n }\n }\n\n private updateChildItems(): void {\n const slot = this.getSlot();\n if (!slot) return;\n\n const items = slot.assignedElements() as HTMLBhAccordionItemElement[];\n items.forEach((item) => {\n if (item.tagName.toLowerCase() === 'bh-accordion-item') {\n item.expanded = this.expandedItems.has(item.value);\n }\n });\n }\n\n private getSlot(): HTMLSlotElement | null {\n const host = document.querySelector('bh-accordion');\n if (!host?.shadowRoot) return null;\n return host.shadowRoot.querySelector('slot');\n }\n\n @Listen('bhAccordionToggle')\n handleAccordionToggle(\n event: CustomEvent<{ value: string; expanded: boolean }>\n ): void {\n const { value, expanded } = event.detail;\n\n if (this.mode === 'single') {\n if (expanded) {\n this.expandedItems = new Set([value]);\n } else if (this.collapsible) {\n this.expandedItems = new Set();\n }\n } else {\n if (expanded) {\n this.expandedItems.add(value);\n } else {\n this.expandedItems.delete(value);\n }\n this.expandedItems = new Set(this.expandedItems);\n }\n\n this.updateValue();\n this.updateChildItems();\n }\n\n private updateValue(): void {\n const items = Array.from(this.expandedItems);\n\n if (this.mode === 'multiple') {\n this.value = items.join(',');\n this.bhAccordionChange.emit(items);\n } else {\n this.value = items[0] || '';\n this.bhAccordionChange.emit(this.value);\n }\n }\n\n render() {\n const hostClasses = {\n accordion: true,\n [`accordion-${this.mode}`]: true,\n };\n\n return (\n <Host class={hostClasses}>\n <div class=\"accordion-container\" part=\"container\" role=\"presentation\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n\ninterface HTMLBhAccordionItemElement extends HTMLElement {\n value: string;\n expanded: boolean;\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-appbar.js","mappings":";;;;;AAAA,MAAM,WAAW,GAAG,u8BAAu8B;;MCa98BA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;;;;;;;;;;;;;AACnB;;AAEG;IACK,UAAU,GAAY,KAAK;AAEnC;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;IACK,OAAO,GAAW,UAAU;AAEpC;;AAEG;AACK,IAAA,eAAe,GAAqB;AAC1C,QAAA,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;AAC1C,QAAA,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KACxC;AAED;;AAEG;IACK,iBAAiB,GAAW,CAAC;AAErC;;AAEG;AACM,IAAA,YAAY;AAErB;;AAEG;AACM,IAAA,iBAAiB;AAE1B;;AAEG;AACM,IAAA,mBAAmB;AAE5B;;AAEG;AACM,IAAA,eAAe;AAExB;;AAEG;AACM,IAAA,eAAe;IAEhB,gBAAgB,GAAG,MAAK;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC1B,KAAC;AAEO,IAAA,qBAAqB,GAAG,CAAC,IAAoB,KAAI;QACvD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAErC,KAAC;IAEO,uBAAuB,GAAG,MAAK;AACrC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;AACjC,KAAC;IAEO,mBAAmB,GAAG,MAAK;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;IAEO,mBAAmB,GAAG,MAAK;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;IAED,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EAEpB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EAEvB,CACE,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,CAAC,UAAU,GAAG,WAAW,GAAG,WAAW,EACrD,OAAO,EAAE,IAAI,CAAC,gBAAgB,EACd,CAAA,EAGjB,IAAI,CAAC,OAAO,KACX,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,YAAY,EAAA,CAAG,CAC5D,CACP,EAGD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,mBAAmB,EAAQ,CAAA,EAGtC,CACE,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAA,CAC1C,CACd,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EAExB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,gBAAgB,EACzB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjB,CAAA,EAClB,CAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,EACb,KAAK,EAAC,gBAAgB,GACR,CACZ,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,UAAU,EACnB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjB,CAAA,EAClB,CAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,IAAI,EACb,KAAK,EAAC,gBAAgB,GACR,CACZ,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,eAAe,EACxB,OAAO,EAAE,IAAI,CAAC,uBAAuB,EACrB,CAAA,EACjB,IAAI,CAAC,iBAAiB,GAAG,CAAC,KACzB,CACE,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,IAAI,EACb,KAAK,EAAC,gBAAgB,EACR,CAAA,CACjB,CACG,CACF,CACC,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhAppbar","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-appbar/bh-appbar.css?tag=bh-appbar&encapsulation=shadow","src/components/bh-appbar/bh-appbar.tsx"],"sourcesContent":[".appbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 56px;\n padding: 0 var(--spacing-sm);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-200);\n font-family: var(--font-inter);\n position: sticky;\n top: 0;\n z-index: 1000;\n box-sizing: border-box;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n}\n\n/* Left Section */\n.left-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-xl);\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-4xl);\n height: var(--spacing-4xl);\n color: var(--color-brand-500);\n}\n\n.logo-image {\n width: 36px;\n height: 36px;\n object-fit: contain;\n}\n\n/* Right Section */\n.right-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n flex-shrink: 0;\n}\n\n.icon-button-wrapper {\n position: relative;\n}\n\n.icon-badge-dot {\n position: absolute;\n top: -8px;\n right: 2px;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .appbar {\n padding: 0 16px;\n }\n\n .left-section {\n gap: 12px;\n }\n}\n\n@media (max-width: 480px) {\n .appbar {\n padding: 0 12px;\n }\n\n .right-section {\n gap: 4px;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport interface BreadcrumbItem {\n label: string;\n path?: string;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-appbar',\n styleUrl: 'bh-appbar.css',\n shadow: true,\n})\nexport class BhAppbar {\n /**\n * Whether the menu is open\n */\n @Prop() isMenuOpen: boolean = false;\n\n /**\n * Logo source URL\n */\n @Prop() logoSrc?: string;\n\n /**\n * Logo alt text\n */\n @Prop() logoAlt: string = 'Solstice';\n\n /**\n * Breadcrumb items\n */\n @Prop() breadcrumbItems: BreadcrumbItem[] = [\n { label: 'Dashboard', path: '/dashboard' },\n { label: 'Dashboards', isActive: true },\n ];\n\n /**\n * Notification count\n */\n @Prop() notificationCount: number = 0;\n\n /**\n * Event emitted when menu toggle is clicked\n */\n @Event() bhMenuToggle!: EventEmitter<void>;\n\n /**\n * Event emitted when a breadcrumb is clicked\n */\n @Event() bhBreadcrumbClick!: EventEmitter<BreadcrumbItem>;\n\n /**\n * Event emitted when notification icon is clicked\n */\n @Event() bhNotificationClick!: EventEmitter<void>;\n\n /**\n * Event emitted when calendar icon is clicked\n */\n @Event() bhCalendarClick!: EventEmitter<void>;\n\n /**\n * Event emitted when settings icon is clicked\n */\n @Event() bhSettingsClick!: EventEmitter<void>;\n\n private handleMenuToggle = () => {\n this.bhMenuToggle.emit();\n };\n\n private handleBreadcrumbClick = (item: BreadcrumbItem) => {\n if (item.path && !item.isActive) {\n this.bhBreadcrumbClick.emit(item);\n }\n };\n\n private handleNotificationClick = () => {\n this.bhNotificationClick.emit();\n };\n\n private handleCalendarClick = () => {\n this.bhCalendarClick.emit();\n };\n\n private handleSettingsClick = () => {\n this.bhSettingsClick.emit();\n };\n\n render() {\n return (\n <Host>\n <header class=\"appbar\">\n {/* Left Section */}\n <div class=\"left-section\">\n {/* Menu Toggle */}\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName={this.isMenuOpen ? 'menu_open' : 'last_page'}\n onClick={this.handleMenuToggle}\n ></bh-button-icon>\n\n {/* Logo */}\n {this.logoSrc && (\n <div class=\"logo\">\n <img src={this.logoSrc} alt={this.logoAlt} class=\"logo-image\" />\n </div>\n )}\n\n {/* Property Switcher Slot */}\n <slot name=\"property-switcher\"></slot>\n\n {/* Breadcrumbs */}\n <bh-breadcrumbs\n items={this.breadcrumbItems}\n showHome={true}\n onBhItemClick={(e) => this.handleBreadcrumbClick(e.detail)}\n ></bh-breadcrumbs>\n </div>\n\n {/* Right Section */}\n <div class=\"right-section\">\n {/* Calendar Icon */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"calendar_today\"\n onClick={this.handleCalendarClick}\n ></bh-button-icon>\n <bh-badge-dot\n size=\"sm\"\n color=\"success\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n </div>\n\n {/* Settings Icon */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"settings\"\n onClick={this.handleSettingsClick}\n ></bh-button-icon>\n <bh-badge-dot\n size=\"sm\"\n color=\"blue\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n </div>\n\n {/* Notifications */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"notifications\"\n onClick={this.handleNotificationClick}\n ></bh-button-icon>\n {this.notificationCount > 0 && (\n <bh-badge-dot\n size=\"sm\"\n color=\"error\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n )}\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-avatar-stacked.js","mappings":"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","names":["BhAvatarStacked","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-avatar-stacked/bh-avatar-stacked.css?tag=bh-avatar-stacked&encapsulation=shadow","src/components/bh-avatar-stacked/bh-avatar-stacked.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Container */\n.avatar-stacked {\n display: flex;\n align-items: center;\n}\n\n/* Avatar Item Wrapper */\n.avatar-item {\n position: relative;\n display: inline-flex;\n}\n\n/* Add white border around nested avatars for visual separation */\n.avatar-item bh-avatar,\n.avatar-item bh-avatar-add {\n box-shadow: 0 0 0 2px var(--color-white, #ffffff);\n border-radius: 50%;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\n\nexport type AvatarStackedSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nexport interface AvatarData {\n type: 'image' | 'text' | 'icon';\n imageSrc?: string;\n text?: string;\n tooltipText?: string;\n}\n\n@Component({\n tag: 'bh-avatar-stacked',\n styleUrl: 'bh-avatar-stacked.css',\n shadow: true,\n})\nexport class BhAvatarStacked {\n /**\n * The size of the avatars in the stack\n */\n @Prop() size: AvatarStackedSize = 'md';\n\n /**\n * JSON array of avatar data\n */\n @Prop() avatars: string = '[]';\n\n /**\n * Maximum number of visible avatars before showing count\n */\n @Prop() maxVisible: number = 10;\n\n /**\n * Whether to show the add button\n */\n @Prop() showAddButton: boolean = true;\n\n /**\n * Tooltip text for the add button\n */\n @Prop() addTooltipText: string = 'Add member';\n\n /**\n * Track hovered avatar index for tooltips\n */\n @State() hoveredIndex: number = -1;\n\n /**\n * Track add button hover state\n */\n @State() addButtonHovered: boolean = false;\n\n private getParsedAvatars(): AvatarData[] {\n try {\n return JSON.parse(this.avatars) as AvatarData[];\n } catch {\n return [];\n }\n }\n\n private getAvatarSize(): number {\n const sizeMap: Record<AvatarStackedSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 56,\n '2xl': 64,\n };\n return sizeMap[this.size] || 40;\n }\n\n private getOffset(): number {\n const avatarSize = this.getAvatarSize();\n return Math.floor(avatarSize * 0.3);\n }\n\n private mapAvatarType(\n type: 'image' | 'text' | 'icon'\n ): 'image' | 'text' | 'placeholder' {\n if (type === 'icon') {\n return 'placeholder';\n }\n return type;\n }\n\n render() {\n const parsedAvatars = this.getParsedAvatars();\n const visibleAvatars = parsedAvatars.slice(0, this.maxVisible - 1);\n const remainingCount = parsedAvatars.length - (this.maxVisible - 1);\n const showCountAvatar = remainingCount > 0;\n const offset = this.getOffset();\n\n return (\n <div\n class={`avatar-stacked avatar-stacked-${this.size}`}\n part=\"container\"\n >\n {visibleAvatars.map((avatar, index) => (\n <div\n class=\"avatar-item\"\n style={{ marginLeft: index > 0 ? `-${offset}px` : '0' }}\n onMouseEnter={() => {\n this.hoveredIndex = index;\n }}\n onMouseLeave={() => {\n this.hoveredIndex = -1;\n }}\n >\n <bh-avatar\n type={this.mapAvatarType(avatar.type)}\n size={this.size}\n imageSrc={avatar.imageSrc}\n text={avatar.text || '?'}\n alt={avatar.text || 'Avatar'}\n />\n {avatar.tooltipText && (\n <bh-tooltip\n text={avatar.tooltipText}\n visible={this.hoveredIndex === index}\n position=\"bottom\"\n />\n )}\n </div>\n ))}\n\n {showCountAvatar && (\n <div\n class=\"avatar-item\"\n style={{\n marginLeft: visibleAvatars.length > 0 ? `-${offset}px` : '0',\n }}\n >\n <bh-avatar\n type=\"text\"\n size={this.size}\n text={`+${remainingCount}`}\n alt={`${remainingCount} more`}\n />\n </div>\n )}\n\n {this.showAddButton && (\n <div\n class=\"avatar-item\"\n style={{\n marginLeft:\n visibleAvatars.length > 0 || showCountAvatar\n ? `-${offset}px`\n : '0',\n }}\n onMouseEnter={() => {\n this.addButtonHovered = true;\n }}\n onMouseLeave={() => {\n this.addButtonHovered = false;\n }}\n >\n <bh-avatar-add\n size={this.size}\n showTooltip={true}\n tooltipText={this.addTooltipText}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-bar-chart.js","mappings":"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","names":["BhBarChart","__stencil_proxyCustomElement","HTMLElement"],"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"],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhCardFooter$1, d as defineCustomElement$1 } from './p-DK92X9HV.js';
2
-
3
- const BhCardFooter = BhCardFooter$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhCardFooter, defineCustomElement };
7
- //# sourceMappingURL=bh-card-footer.js.map
8
-
9
- //# sourceMappingURL=bh-card-footer.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-card-footer.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhCardHeader$1, d as defineCustomElement$1 } from './p-BNeBcvHu.js';
2
-
3
- const BhCardHeader = BhCardHeader$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhCardHeader, defineCustomElement };
7
- //# sourceMappingURL=bh-card-header.js.map
8
-
9
- //# sourceMappingURL=bh-card-header.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-card-header.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhCard$1, d as defineCustomElement$1 } from './p-DtbXB8r4.js';
2
-
3
- const BhCard = BhCard$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhCard, defineCustomElement };
7
- //# sourceMappingURL=bh-card.js.map
8
-
9
- //# sourceMappingURL=bh-card.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhCheckboxGroupItem$1, d as defineCustomElement$1 } from './p-Ccq-Rk5W.js';
2
-
3
- const BhCheckboxGroupItem = BhCheckboxGroupItem$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhCheckboxGroupItem, defineCustomElement };
7
- //# sourceMappingURL=bh-checkbox-group-item.js.map
8
-
9
- //# sourceMappingURL=bh-checkbox-group-item.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-checkbox-group-item.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhCheckboxGroup$1, d as defineCustomElement$1 } from './p-BOk69MBi.js';
2
-
3
- const BhCheckboxGroup = BhCheckboxGroup$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhCheckboxGroup, defineCustomElement };
7
- //# sourceMappingURL=bh-checkbox-group.js.map
8
-
9
- //# sourceMappingURL=bh-checkbox-group.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-checkbox-group.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-container-footer.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,ueAAue;;MCSvfA,mBAAiB,iBAAAC,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAC5B;;AAEG;IACK,IAAI,GAAwB,UAAU;AAE9C;;AAEG;IACK,WAAW,GAAW,aAAa;AAE3C;;AAEG;AACM,IAAA,aAAa;IAEd,iBAAiB,GAAG,MAAK;AAC/B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAC3B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;SACxC;AAED,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,aAAa,EAAA,EACvB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CACE,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAC,YAAY,EAEtB,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,CAAA,CACE,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhContainerFooter","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-container-footer/bh-container-footer.css?tag=bh-container-footer&encapsulation=shadow","src/components/bh-container-footer/bh-container-footer.tsx"],"sourcesContent":["/* Base Container Footer Styles */\n.container-footer {\n background: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-top: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-none) var(--radius-none) var(--radius-xl)\n var(--radius-xl);\n box-sizing: border-box;\n width: 100%;\n}\n\n.container-footer-content {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n padding: var(--spacing-md) var(--spacing-2xl);\n}\n\n/* Minimal size - smaller top/bottom padding */\n.container-footer-minimal .container-footer-content {\n padding: var(--spacing-sm) var(--spacing-2xl);\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ContainerFooterSize = 'minimal' | 'standard';\n\n@Component({\n tag: 'bh-container-footer',\n styleUrl: 'bh-container-footer.css',\n shadow: true,\n})\nexport class BhContainerFooter {\n /**\n * Size variant of the footer\n */\n @Prop() size: ContainerFooterSize = 'standard';\n\n /**\n * Label for the footer button\n */\n @Prop() buttonLabel: string = 'View report';\n\n /**\n * Event emitted when the button is clicked\n */\n @Event() bhButtonClick!: EventEmitter<void>;\n\n private handleButtonClick = () => {\n this.bhButtonClick.emit();\n };\n\n render() {\n const footerClasses = {\n 'container-footer': true,\n [`container-footer-${this.size}`]: true,\n };\n\n return (\n <div class={footerClasses}>\n <div class=\"container-footer-content\">\n <bh-button\n hierarchy=\"quaternary\"\n \n size=\"sm\"\n label={this.buttonLabel}\n onClick={this.handleButtonClick}\n />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-container.js","mappings":";;AAAA,MAAM,cAAc,GAAG,6YAA6Y;;MCOvZA,aAAW,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;;;;;;;;AACtB;;AAEG;IACK,UAAU,GAAY,KAAK;IAEnC,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,WAAW,EAAE,IAAI;YACjB,uBAAuB,EAAE,IAAI,CAAC,UAAU;SACzC;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhContainer","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-container/bh-container.css?tag=bh-container&encapsulation=shadow","src/components/bh-container/bh-container.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-2xl);\n padding: var(--spacing-2xl);\n background: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-xl);\n width: fit-content;\n font-family: var(--font-inter);\n}\n\n/* Container with footer - removes bottom border radius and border */\n.container-with-footer {\n border-bottom: none;\n border-radius: var(--radius-xl) var(--radius-xl) var(--radius-none) var(--radius-none);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'bh-container',\n styleUrl: 'bh-container.css',\n shadow: true,\n})\nexport class BhContainer {\n /**\n * Whether the container has a footer attached (removes bottom border radius and border)\n */\n @Prop() withFooter: boolean = false;\n\n render() {\n const containerClasses = {\n 'container': true,\n 'container-with-footer': this.withFooter,\n };\n\n return (\n <div class={containerClasses}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,9 +0,0 @@
1
- import { B as BhDataGrid$1, d as defineCustomElement$1 } from './p-D-RHfFhc.js';
2
-
3
- const BhDataGrid = BhDataGrid$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { BhDataGrid, defineCustomElement };
7
- //# sourceMappingURL=bh-data-grid.js.map
8
-
9
- //# sourceMappingURL=bh-data-grid.js.map
@@ -1 +0,0 @@
1
- {"file":"bh-data-grid.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-date-picker.js","mappings":"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","names":["BhDatePicker","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-date-picker/bh-date-picker.css?tag=bh-date-picker&encapsulation=shadow","src/components/bh-date-picker/bh-date-picker.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n.date-picker-container {\n position: relative;\n display: inline-block;\n}\n\n.date-picker-trigger {\n cursor: pointer;\n}\n\n.date-picker-trigger.input-field-container {\n position: relative;\n}\n\n.calendar-icon-overlay {\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n height: 100%;\n cursor: pointer;\n z-index: 1;\n}\n\n.date-picker-menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n}\n\n.date-picker-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n background: transparent;\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, h, Host } from '@stencil/core';\nimport { SelectedDate, DisabledDate } from '../bh-date-picker-content/bh-date-picker-content';\n\nexport type DatePickerVariant = 'dropdown-outlined' | 'dropdown-ghost' | 'input';\n\n@Component({\n tag: 'bh-date-picker',\n styleUrl: 'bh-date-picker.css',\n shadow: true,\n})\nexport class BhDatePicker {\n /**\n * Variant of the date picker trigger\n */\n @Prop() variant: DatePickerVariant = 'input';\n\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled dates\n */\n @Prop() disabledDates: DisabledDate[] = [];\n\n /**\n * Label for input variant\n */\n @Prop() label: string = 'Select Date';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'Choose date';\n\n /**\n * Width for input variant\n */\n @Prop() inputWidth: string = '200px';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show the footer\n */\n @Prop() showFooter: boolean = false;\n\n /**\n * Whether to show days from other months\n */\n @Prop() showOtherMonthDays: boolean = true;\n\n /**\n * Currently selected value\n */\n @Prop() value?: SelectedDate;\n\n @State() selectedValue: SelectedDate | null = null;\n @State() tempSelection: SelectedDate | null = null;\n @State() isMenuOpen: boolean = false;\n @State() isMenuClosing: boolean = false;\n\n /**\n * Event emitted when value changes\n */\n @Event() bhChange!: EventEmitter<SelectedDate | null>;\n\n /**\n * Event emitted when a date is selected\n */\n @Event() bhDateSelect!: EventEmitter<SelectedDate | null>;\n\n @Watch('value')\n handleValueChange(newValue: SelectedDate | undefined) {\n if (newValue !== undefined) {\n this.selectedValue = newValue;\n }\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedValue = this.value;\n }\n }\n\n private getDisplayValue(): string {\n if (!this.selectedValue) return '';\n const month = (this.selectedValue.month + 1).toString().padStart(2, '0');\n const day = this.selectedValue.day.toString().padStart(2, '0');\n return `${month}/${day}/${this.selectedValue.year}`;\n }\n\n private getButtonLabel(): string {\n return this.getDisplayValue() || this.placeholder;\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n private handleInputFocus = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = true;\n };\n\n private handleDateSelect = (event: CustomEvent<SelectedDate | null>) => {\n const date = event.detail;\n if (this.showFooter && date) {\n this.tempSelection = date;\n } else {\n this.selectedValue = date;\n this.bhChange.emit(date);\n this.bhDateSelect.emit(date);\n if (!this.showFooter) {\n this.closeMenu();\n }\n }\n };\n\n private handleMenuCancel = () => {\n this.tempSelection = null;\n this.closeMenu();\n };\n\n private handleMenuApply = () => {\n if (this.tempSelection) {\n this.selectedValue = this.tempSelection;\n this.tempSelection = null;\n this.bhChange.emit(this.selectedValue);\n this.bhDateSelect.emit(this.selectedValue);\n }\n this.closeMenu();\n };\n\n private handleToday = () => {\n const today = new Date();\n const todayDate: SelectedDate = {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate(),\n };\n\n if (this.showFooter) {\n this.tempSelection = todayDate;\n } else {\n this.selectedValue = todayDate;\n this.bhChange.emit(todayDate);\n this.bhDateSelect.emit(todayDate);\n this.closeMenu();\n }\n };\n\n private closeMenu() {\n this.isMenuClosing = true;\n setTimeout(() => {\n this.isMenuOpen = false;\n this.isMenuClosing = false;\n }, 150);\n }\n\n private handleBackdropClick = () => {\n this.handleMenuCancel();\n };\n\n render() {\n return (\n <Host>\n <div class=\"date-picker-container\">\n {/* Dropdown Outlined Variant */}\n {this.variant === 'dropdown-outlined' && (\n <div class=\"date-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"secondary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Dropdown Ghost Variant */}\n {this.variant === 'dropdown-ghost' && (\n <div class=\"date-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"tertiary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Input Variant */}\n {this.variant === 'input' && (\n <div class=\"date-picker-trigger input-field-container\">\n <bh-input-text\n label={this.label}\n placeholder={this.placeholder}\n value={this.getDisplayValue()}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_today\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n onBhFocus={this.handleInputFocus}\n ></bh-input-text>\n <div class=\"calendar-icon-overlay\" onClick={this.handleTriggerClick}></div>\n </div>\n )}\n\n {/* Date Picker Menu */}\n <div class=\"date-picker-menu-container\">\n <bh-picker-menu\n visible={this.isMenuOpen}\n showFooter={this.showFooter}\n showTodayButton={this.showFooter}\n disableApply={this.showFooter && this.tempSelection === null}\n onBhCancel={this.handleMenuCancel}\n onBhApply={this.handleMenuApply}\n onBhToday={this.handleToday}\n >\n <bh-date-picker-content\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledDates={this.disabledDates}\n showOtherMonthDays={this.showOtherMonthDays}\n value={this.tempSelection ?? this.selectedValue ?? undefined}\n onBhDateSelect={this.handleDateSelect}\n ></bh-date-picker-content>\n </bh-picker-menu>\n </div>\n </div>\n\n {/* Backdrop */}\n {(this.isMenuOpen || this.isMenuClosing) && (\n <div class=\"date-picker-backdrop\" onClick={this.handleBackdropClick}></div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-date-range-picker.js","mappings":"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","names":["BhDateRangePicker","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-date-range-picker/bh-date-range-picker.css?tag=bh-date-range-picker&encapsulation=shadow","src/components/bh-date-range-picker/bh-date-range-picker.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n.date-range-picker-container {\n position: relative;\n display: inline-block;\n}\n\n.date-range-picker-trigger {\n cursor: pointer;\n}\n\n.date-range-inputs {\n display: flex;\n gap: var(--spacing-md);\n}\n\n.date-range-picker-menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n}\n\n/* Override picker-menu width for date range */\n.date-range-picker-menu-container bh-picker-menu::part(menu) {\n width: auto;\n}\n\n.date-range-picker-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n background: transparent;\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, Listen, h, Host } from '@stencil/core';\nimport { SelectedDate, DisabledDate } from '../bh-date-picker-content/bh-date-picker-content';\nimport { SelectedDateRange } from '../bh-date-range-picker-content/bh-date-range-picker-content';\n\nexport type DateRangePickerVariant = 'dropdown-outlined' | 'dropdown-ghost' | 'input';\n\n@Component({\n tag: 'bh-date-range-picker',\n styleUrl: 'bh-date-range-picker.css',\n shadow: true,\n})\nexport class BhDateRangePicker {\n /**\n * Variant of the date range picker trigger\n */\n @Prop() variant: DateRangePickerVariant = 'input';\n\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled dates\n */\n @Prop() disabledDates: DisabledDate[] = [];\n\n /**\n * Label for start date input\n */\n @Prop() startLabel: string = 'Start Date';\n\n /**\n * Label for end date input\n */\n @Prop() endLabel: string = 'End Date';\n\n /**\n * Placeholder for start date\n */\n @Prop() startPlaceholder: string = 'Choose start date';\n\n /**\n * Placeholder for end date\n */\n @Prop() endPlaceholder: string = 'Choose end date';\n\n /**\n * Width for input variant\n */\n @Prop() inputWidth: string = '200px';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show the footer\n */\n @Prop() showFooter: boolean = true;\n\n /**\n * Whether to show days from other months\n */\n @Prop() showOtherMonthDays: boolean = false;\n\n /**\n * Currently selected value\n */\n @Prop() value?: SelectedDateRange;\n\n @State() selectedValue: SelectedDateRange | null = null;\n @State() tempSelection: SelectedDateRange | null = null;\n @State() isMenuOpen: boolean = false;\n @State() isMenuClosing: boolean = false;\n\n /**\n * Event emitted when value changes\n */\n @Event() bhChange!: EventEmitter<SelectedDateRange | null>;\n\n /**\n * Event emitted when a date range is selected\n */\n @Event() bhDateRangeSelect!: EventEmitter<SelectedDateRange | null>;\n\n @Watch('value')\n handleValueChange(newValue: SelectedDateRange | undefined) {\n if (newValue !== undefined) {\n this.selectedValue = newValue;\n }\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedValue = this.value;\n }\n }\n\n private formatDate(date: SelectedDate | null): string {\n if (!date) return '';\n const month = (date.month + 1).toString().padStart(2, '0');\n const day = date.day.toString().padStart(2, '0');\n return `${month}/${day}/${date.year}`;\n }\n\n private getButtonLabel(): string {\n if (!this.selectedValue || !this.selectedValue.startDate) return 'Select date range';\n\n const startStr = this.formatDate(this.selectedValue.startDate);\n const endStr = this.selectedValue.endDate ? this.formatDate(this.selectedValue.endDate) : '';\n\n if (endStr) {\n return `${startStr} - ${endStr}`;\n }\n return startStr;\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n @Listen('bhDateRangeSelect')\n handleDateRangeSelectEvent(event: CustomEvent<SelectedDateRange | null>) {\n // Stop propagation to prevent the event from bubbling further\n event.stopPropagation();\n\n const range = event.detail;\n if (this.showFooter) {\n // With footer: update temp selection, user clicks Apply to confirm\n this.tempSelection = range;\n } else {\n // Without footer: update value immediately, close only when range is complete\n this.selectedValue = range;\n if (range?.startDate && range?.endDate) {\n this.bhChange.emit(range);\n this.bhDateRangeSelect.emit(range);\n this.closeMenu();\n }\n }\n }\n\n private handleMenuCancel = () => {\n this.tempSelection = null;\n this.closeMenu();\n };\n\n private handleMenuApply = () => {\n if (this.tempSelection) {\n this.selectedValue = this.tempSelection;\n this.bhChange.emit(this.tempSelection);\n this.bhDateRangeSelect.emit(this.tempSelection);\n this.tempSelection = null;\n }\n this.closeMenu();\n };\n\n private closeMenu() {\n this.isMenuClosing = true;\n setTimeout(() => {\n this.isMenuOpen = false;\n this.isMenuClosing = false;\n }, 150);\n }\n\n private handleBackdropClick = () => {\n this.handleMenuCancel();\n };\n\n render() {\n return (\n <Host>\n <div class=\"date-range-picker-container\">\n {/* Dropdown Outlined Variant */}\n {this.variant === 'dropdown-outlined' && (\n <div class=\"date-range-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"secondary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Dropdown Ghost Variant */}\n {this.variant === 'dropdown-ghost' && (\n <div class=\"date-range-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"tertiary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Input Variant */}\n {this.variant === 'input' && (\n <div class=\"date-range-picker-trigger\">\n <div class=\"date-range-inputs\" onClick={this.handleTriggerClick}>\n <bh-input-text\n label={this.startLabel}\n placeholder={this.startPlaceholder}\n value={this.formatDate(this.selectedValue?.startDate || null)}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_today\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n readOnly={true}\n ></bh-input-text>\n <bh-input-text\n label={this.endLabel}\n placeholder={this.endPlaceholder}\n value={this.formatDate(this.selectedValue?.endDate || null)}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_today\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n readOnly={true}\n ></bh-input-text>\n </div>\n </div>\n )}\n\n {/* Date Range Picker Menu */}\n <div class=\"date-range-picker-menu-container\">\n <bh-picker-menu\n visible={this.isMenuOpen}\n showFooter={this.showFooter}\n disableApply={this.showFooter && (!this.tempSelection?.startDate || !this.tempSelection?.endDate)}\n onBhCancel={this.handleMenuCancel}\n onBhApply={this.handleMenuApply}\n >\n <bh-date-range-picker-content\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledDates={this.disabledDates}\n showOtherMonthDays={this.showOtherMonthDays}\n value={this.tempSelection ?? this.selectedValue ?? undefined}\n ></bh-date-range-picker-content>\n </bh-picker-menu>\n </div>\n </div>\n\n {/* Backdrop */}\n {(this.isMenuOpen || this.isMenuClosing) && (\n <div class=\"date-range-picker-backdrop\" onClick={this.handleBackdropClick}></div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-illustrations.js","mappings":"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","names":["BhIllustrations","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-illustrations/bh-illustrations.css?tag=bh-illustrations&encapsulation=shadow","src/components/bh-illustrations/bh-illustrations.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-flex;\n}\n\n/* Base Illustration Styles */\n.illustration {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.illustration-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-3xl);\n}\n\n/* SVG Container */\n.illustration-svg-container {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n}\n\n.illustration-image {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* Content Styles */\n.illustration-content {\n text-align: center;\n max-width: 480px;\n}\n\n.illustration-title {\n font-family: var(--font-inter);\n font-size: var(--text-lg-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-lg-line);\n color: var(--color-neutral-900);\n margin: 0 0 var(--spacing-md) 0;\n}\n\n.illustration-description {\n font-family: var(--font-inter);\n font-size: var(--text-md-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-md-line);\n color: var(--color-neutral-600);\n margin: 0;\n}\n\n/* Size Variations */\n.illustration-sm .illustration-svg-container {\n width: 80px;\n height: 80px;\n}\n\n.illustration-md .illustration-svg-container {\n width: 120px;\n height: 120px;\n}\n\n.illustration-lg .illustration-svg-container {\n width: 160px;\n height: 160px;\n}\n\n.illustration-xl .illustration-svg-container {\n width: 200px;\n height: 200px;\n}\n\n.illustration-2xl .illustration-svg-container {\n width: 240px;\n height: 240px;\n}\n\n.illustration-3xl .illustration-svg-container {\n width: 280px;\n height: 280px;\n}\n\n.illustration-4xl .illustration-svg-container {\n width: 320px;\n height: 320px;\n}\n\n/* Responsive Styles */\n@media (max-width: 768px) {\n .illustration-4xl .illustration-svg-container {\n width: 400px;\n height: 400px;\n }\n\n .illustration-3xl .illustration-svg-container {\n width: 320px;\n height: 320px;\n }\n\n .illustration-content {\n max-width: 320px;\n }\n}\n\n@media (max-width: 480px) {\n .illustration-4xl .illustration-svg-container,\n .illustration-3xl .illustration-svg-container {\n width: 280px;\n height: 280px;\n }\n\n .illustration-2xl .illustration-svg-container {\n width: 240px;\n height: 240px;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type IllustrationSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';\n\n@Component({\n tag: 'bh-illustrations',\n styleUrl: 'bh-illustrations.css',\n shadow: true,\n})\nexport class BhIllustrations {\n /**\n * Size of the illustration\n */\n @Prop() size: IllustrationSize = 'lg';\n\n /**\n * Title text to display below the illustration\n */\n @Prop() illustrationTitle?: string;\n\n /**\n * Description text to display below the title\n */\n @Prop() description?: string;\n\n /**\n * Path to the SVG illustration\n */\n @Prop() svgPath: string = '/illustrations/Search-not-found.svg';\n\n /**\n * Alt text for the illustration image\n */\n @Prop() alt: string = 'Illustration';\n\n private getSvgDimensions(): { width: number; height: number } {\n switch (this.size) {\n case 'sm':\n return { width: 120, height: 120 };\n case 'md':\n return { width: 160, height: 160 };\n case 'lg':\n return { width: 200, height: 200 };\n case 'xl':\n return { width: 280, height: 280 };\n case '2xl':\n return { width: 360, height: 360 };\n case '3xl':\n return { width: 480, height: 480 };\n case '4xl':\n return { width: 600, height: 600 };\n default:\n return { width: 200, height: 200 };\n }\n }\n\n render() {\n const dimensions = this.getSvgDimensions();\n\n return (\n <Host>\n <div class={`illustration illustration-${this.size}`}>\n <div class=\"illustration-wrapper\">\n <div\n class=\"illustration-svg-container\"\n style={{\n width: `${dimensions.width}px`,\n height: `${dimensions.height}px`,\n }}\n >\n <img\n src={this.svgPath}\n alt={this.alt}\n style={{\n width: `${dimensions.width}px`,\n height: `${dimensions.height}px`,\n }}\n class=\"illustration-image\"\n />\n </div>\n {(this.illustrationTitle || this.description) && (\n <div class=\"illustration-content\">\n {this.illustrationTitle && (\n <h3 class=\"illustration-title\">{this.illustrationTitle}</h3>\n )}\n {this.description && (\n <p class=\"illustration-description\">{this.description}</p>\n )}\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-input-autocomplete.js","mappings":"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","names":["BhInputAutocomplete","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-autocomplete/bh-input-autocomplete.css?tag=bh-input-autocomplete&encapsulation=shadow","src/components/bh-input-autocomplete/bh-input-autocomplete.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n position: relative;\n}\n\n.input-autocomplete-wrapper {\n position: relative;\n}\n\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n}\n\n/* Multi-select input field */\n.input-field {\n display: flex;\n align-items: center;\n min-height: 44px;\n padding: var(--spacing-sm) var(--spacing-md);\n background: var(--color-white);\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--radius-md);\n transition: all 0.15s ease;\n}\n\n.input-field.input-hover {\n border-color: var(--color-neutral-400);\n}\n\n.input-field.input-focused {\n border-color: var(--color-brand-500);\n box-shadow: 0 0 0 4px var(--color-brand-50);\n}\n\n.input-field.input-error {\n border-color: var(--color-error-500);\n}\n\n.input-field.input-error.input-focused {\n box-shadow: 0 0 0 4px var(--color-error-50);\n}\n\n.input-field.input-disabled {\n background: var(--color-neutral-50);\n cursor: not-allowed;\n}\n\n.input-content-flow {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--spacing-xs);\n width: 100%;\n}\n\n.leading-icon {\n font-size: 20px;\n color: var(--color-neutral-500);\n flex-shrink: 0;\n}\n\n.inline-input {\n flex: 1;\n min-width: 60px;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-inter);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n color: var(--color-neutral-900);\n}\n\n.inline-input::placeholder {\n color: var(--color-neutral-500);\n}\n\n.inline-input:disabled {\n cursor: not-allowed;\n color: var(--color-neutral-400);\n}\n\n.hint-text {\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-600);\n transition: opacity 0.15s ease;\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600);\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, Watch, h, Host } from '@stencil/core';\nimport { AutocompleteMenuItem } from '../bh-autocomplete-menu/bh-autocomplete-menu';\n\nexport type InputAutocompleteState = 'placeholder' | 'filled' | 'hover' | 'focused';\n\n@Component({\n tag: 'bh-input-autocomplete',\n styleUrl: 'bh-input-autocomplete.css',\n shadow: true,\n})\nexport class BhInputAutocomplete {\n @Element() el!: HTMLElement;\n\n // Base input props\n /**\n * Input state\n */\n @Prop() state?: InputAutocompleteState;\n\n /**\n * Whether input has error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether to show help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show leading icon\n */\n @Prop() showLeadingIcon: boolean = true;\n\n /**\n * Whether to show label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Label text\n */\n @Prop() label: string = 'Search';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'Search...';\n\n /**\n * Hint text\n */\n @Prop() hintText: string = 'This is a hint text to help user.';\n\n /**\n * Leading icon name\n */\n @Prop() leadingIcon: string = 'search';\n\n /**\n * Help icon tooltip\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Current value\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Width of the component\n */\n @Prop() width: string = '450px';\n\n // Autocomplete-specific props\n /**\n * Available options\n */\n @Prop() options: AutocompleteMenuItem[] = [];\n\n /**\n * Maximum number of options to show\n */\n @Prop() maxOptions: number = 10;\n\n /**\n * Enable multi-select mode\n */\n @Prop() multiSelect: boolean = false;\n\n /**\n * Minimum search length to show options\n */\n @Prop() minSearchLength: number = 3;\n\n /**\n * Selected items (for multi-select)\n */\n @Prop({ mutable: true }) selectedItems: AutocompleteMenuItem[] = [];\n\n @State() showDropdown: boolean = false;\n @State() focusedOptionIndex: number = -1;\n @State() isFocused: boolean = false;\n @State() isHovered: boolean = false;\n @State() isTagClickOpen: boolean = false;\n\n /**\n * Event emitted when value changes\n */\n @Event() bhChange!: EventEmitter<string>;\n\n /**\n * Event emitted when selected items change\n */\n @Event() bhSelectedItemsChange!: EventEmitter<AutocompleteMenuItem[]>;\n\n /**\n * Event emitted when input is focused\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Event emitted when input is blurred\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Event emitted when help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n /**\n * Event emitted when an option is selected\n */\n @Event() bhOptionSelect!: EventEmitter<AutocompleteMenuItem>;\n\n @Watch('value')\n handleValueChange(newValue: string) {\n if (newValue && newValue.length >= this.minSearchLength) {\n this.showDropdown = true;\n }\n }\n\n private get filteredOptions(): AutocompleteMenuItem[] {\n let baseOptions: AutocompleteMenuItem[] = [];\n\n if (this.isTagClickOpen && this.multiSelect) {\n baseOptions = this.selectedItems;\n } else if (this.showDropdown && (!this.value || this.value.length === 0)) {\n baseOptions = this.options.slice(0, this.maxOptions);\n } else if (this.value && this.value.length >= this.minSearchLength) {\n const searchLower = this.value.toLowerCase();\n const filtered = this.options.filter(option =>\n option.label.toLowerCase().includes(searchLower)\n );\n baseOptions = filtered.slice(0, this.maxOptions);\n }\n\n return baseOptions.map(option => ({\n ...option,\n selected: this.multiSelect && this.selectedItems.some(item => item.id === option.id),\n }));\n }\n\n private get shouldShowClearButton(): boolean {\n return !this.disabled && (\n (this.multiSelect && this.selectedItems.length > 0) ||\n (!this.multiSelect && Boolean(this.value && this.value.length > 0))\n );\n }\n\n private get visibleTags(): { tags: AutocompleteMenuItem[]; remaining: number } {\n if (!this.multiSelect || this.selectedItems.length === 0) {\n return { tags: [], remaining: 0 };\n }\n\n const containerWidth = parseFloat(this.width.replace('px', '')) || 450;\n const searchIconWidth = this.showLeadingIcon ? 40 : 0;\n const clearButtonWidth = this.shouldShowClearButton ? 32 : 0;\n const inputFieldMinWidth = 60;\n const padding = 24;\n const reservedWidth = searchIconWidth + clearButtonWidth + inputFieldMinWidth + padding;\n const availableWidth = Math.max(containerWidth - reservedWidth, 80);\n\n let currentWidth = 0;\n const visibleTagsList: AutocompleteMenuItem[] = [];\n const tagSpacing = 8;\n const counterWidth = 40;\n\n const reversedItems = [...this.selectedItems].reverse();\n\n for (let i = 0; i < reversedItems.length; i++) {\n const tag = reversedItems[i];\n const baseTagWidth = Math.min(tag.label.length * 8 + 36, 150);\n const remainingAfterThis = reversedItems.length - (i + 1);\n const needsCounter = remainingAfterThis > 0;\n const totalRequiredWidth = currentWidth + baseTagWidth + (needsCounter ? counterWidth : 0);\n\n if (totalRequiredWidth <= availableWidth) {\n visibleTagsList.push(tag);\n currentWidth += baseTagWidth + tagSpacing;\n } else {\n break;\n }\n }\n\n const finalVisibleTags = visibleTagsList.reverse();\n return {\n tags: finalVisibleTags,\n remaining: this.selectedItems.length - finalVisibleTags.length,\n };\n }\n\n private handleInputChange = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.value = target.value;\n this.bhChange.emit(this.value);\n this.isTagClickOpen = false;\n\n if (this.value.length >= this.minSearchLength) {\n this.focusedOptionIndex = -1;\n } else {\n this.showDropdown = false;\n }\n };\n\n private handleInputFocus = () => {\n this.isFocused = true;\n this.bhFocus.emit();\n\n if (this.value && this.value.length >= this.minSearchLength && this.filteredOptions.length > 0) {\n this.showDropdown = true;\n }\n };\n\n private getInputTextState(): 'default' | 'hover' | 'focus' | 'filled' | 'disabled' | 'error' | undefined {\n if (this.state === 'placeholder') {\n return 'default';\n }\n if (this.state === 'focused') {\n return 'focus';\n }\n return this.state as 'default' | 'hover' | 'focus' | 'filled' | 'disabled' | 'error' | undefined;\n }\n\n private handleInputBlur = () => {\n setTimeout(() => {\n this.isFocused = false;\n this.showDropdown = false;\n this.focusedOptionIndex = -1;\n this.isTagClickOpen = false;\n this.bhBlur.emit();\n }, 200);\n };\n\n private handleOptionSelect = (event: CustomEvent<AutocompleteMenuItem>) => {\n const option = event.detail;\n if (option.disabled) return;\n\n this.bhOptionSelect.emit(option);\n\n if (this.multiSelect) {\n const isSelected = this.selectedItems.some(item => item.id === option.id);\n const newItems = isSelected\n ? this.selectedItems.filter(item => item.id !== option.id)\n : [...this.selectedItems, option];\n\n this.selectedItems = newItems;\n this.bhSelectedItemsChange.emit(newItems);\n this.value = '';\n this.bhChange.emit('');\n this.isTagClickOpen = false;\n this.showDropdown = false;\n } else {\n this.value = option.label;\n this.bhChange.emit(option.label);\n this.showDropdown = false;\n }\n };\n\n private handleTagRemove = (tag: AutocompleteMenuItem) => {\n const newItems = this.selectedItems.filter(item => item.id !== tag.id);\n this.selectedItems = newItems;\n this.bhSelectedItemsChange.emit(newItems);\n };\n\n private handleTagClick = (e: MouseEvent) => {\n if ((e.target as HTMLElement).closest('.tag-dismiss')) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (!this.disabled) {\n this.isTagClickOpen = true;\n this.showDropdown = true;\n this.isFocused = true;\n }\n };\n\n private handleClearAll = () => {\n if (this.multiSelect) {\n this.selectedItems = [];\n this.bhSelectedItemsChange.emit([]);\n }\n this.value = '';\n this.bhChange.emit('');\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.showDropdown || this.filteredOptions.length === 0) return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n this.focusedOptionIndex = this.focusedOptionIndex < this.filteredOptions.length - 1\n ? this.focusedOptionIndex + 1\n : 0;\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusedOptionIndex = this.focusedOptionIndex > 0\n ? this.focusedOptionIndex - 1\n : this.filteredOptions.length - 1;\n break;\n case 'Enter':\n e.preventDefault();\n if (this.focusedOptionIndex >= 0 && this.focusedOptionIndex < this.filteredOptions.length) {\n const option = this.filteredOptions[this.focusedOptionIndex];\n this.handleOptionSelect({ detail: option } as CustomEvent<AutocompleteMenuItem>);\n }\n break;\n case 'Escape':\n e.preventDefault();\n this.showDropdown = false;\n this.focusedOptionIndex = -1;\n break;\n }\n };\n\n private handleItemHover = (event: CustomEvent<number>) => {\n this.focusedOptionIndex = event.detail;\n };\n\n render() {\n const { tags, remaining } = this.visibleTags;\n\n return (\n <Host>\n <div\n class=\"input-autocomplete-wrapper\"\n style={{ width: this.width }}\n onKeyDown={this.handleKeyDown}\n >\n {this.multiSelect ? (\n // Multi-select input with flowing tags\n <div class=\"input-wrapper\">\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={() => this.bhHelpClick.emit()}\n >\n <div\n class={{\n 'input-field': true,\n 'autocomplete-multi-input': true,\n 'input-error': this.error,\n 'input-disabled': this.disabled,\n 'input-focused': this.isFocused,\n 'input-hover': this.isHovered,\n }}\n onMouseEnter={() => !this.isFocused && (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n >\n <div class=\"input-content-flow\">\n {this.showLeadingIcon && (\n <span class=\"leading-icon material-symbols-outlined\">\n {this.leadingIcon}\n </span>\n )}\n\n {/* Tags */}\n {tags.map(tag => (\n <div\n key={tag.id}\n onClick={this.handleTagClick}\n onMouseDown={e => e.preventDefault()}\n style={{ cursor: 'pointer' }}\n >\n <bh-tag\n variant=\"text-only\"\n size=\"sm\"\n label={tag.label}\n dismissible={!this.disabled}\n disabled={this.disabled}\n maxWidth={150}\n onBhDismiss={() => this.handleTagRemove(tag)}\n ></bh-tag>\n </div>\n ))}\n\n {remaining > 0 && (\n <div\n onClick={this.handleTagClick}\n onMouseDown={e => e.preventDefault()}\n style={{ cursor: 'pointer' }}\n >\n <bh-tag\n variant=\"text-only\"\n size=\"sm\"\n label={`+${remaining}`}\n dismissible={false}\n disabled={this.disabled}\n ></bh-tag>\n </div>\n )}\n\n <input\n type=\"text\"\n value={this.value}\n placeholder={tags.length === 0 ? this.placeholder : ''}\n disabled={this.disabled}\n class=\"inline-input\"\n onInput={this.handleInputChange}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n />\n\n {this.shouldShowClearButton && (\n <bh-button-icon\n hierarchy=\"tertiary\"\n size=\"xs\"\n iconName=\"close\"\n onBhClick={this.handleClearAll}\n disabled={this.disabled}\n ></bh-button-icon>\n )}\n </div>\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div\n class={{ 'hint-text': true, 'hint-error': this.error }}\n style={{ opacity: this.showDropdown ? '0' : '1' }}\n >\n {this.hintText}\n </div>\n )}\n </div>\n ) : (\n // Standard single-select using bh-input-text\n <bh-input-text\n state={this.getInputTextState()}\n error={this.error}\n required={this.required}\n disabled={this.disabled}\n showHelpIcon={this.showHelpIcon}\n showLeadingIcon={this.showLeadingIcon}\n showLabel={this.showLabel}\n showHintText={this.showHintText}\n label={this.label}\n placeholder={this.placeholder}\n hintText={this.hintText}\n leadingIcon={this.leadingIcon}\n helpIconTooltip={this.helpIconTooltip}\n value={this.value}\n width=\"100%\"\n onBhInput={(e: CustomEvent<string>) => {\n this.value = e.detail;\n this.bhChange.emit(this.value);\n this.isTagClickOpen = false;\n if (this.value.length >= this.minSearchLength) {\n this.showDropdown = true;\n } else {\n this.showDropdown = false;\n }\n }}\n onBhFocus={this.handleInputFocus}\n onBhBlur={this.handleInputBlur}\n onBhHelpClick={() => this.bhHelpClick.emit()}\n ></bh-input-text>\n )}\n\n {/* Dropdown menu */}\n <bh-autocomplete-menu\n visible={this.showDropdown}\n menuItems={this.filteredOptions}\n selectedIndex={this.focusedOptionIndex}\n multiSelect={this.multiSelect}\n searchQuery={this.value}\n onBhItemClick={this.handleOptionSelect}\n onBhItemHover={this.handleItemHover}\n ></bh-autocomplete-menu>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-input-number.js","mappings":"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","names":["BhInputNumber","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-number/bh-input-number.css?tag=bh-input-number&encapsulation=shadow","src/components/bh-input-number/bh-input-number.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n/* Base Input Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n width: 100%;\n max-width: 100%;\n}\n\n/* Input Field Container */\n.input-field {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n padding: var(--spacing-md);\n height: 36px;\n width: 100%;\n background: var(--color-white);\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--spacing-md);\n transition: all 0.2s ease-in-out;\n cursor: text;\n box-shadow: 0 0 0 0px transparent;\n overflow: hidden;\n position: relative;\n box-sizing: border-box;\n}\n\n.input-field.input-icon-leading {\n padding: var(--spacing-md) var(--spacing-lg);\n}\n\n/* Input Content */\n.input-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n flex: 1;\n height: 100%;\n min-width: 0;\n max-width: 100%;\n}\n\n/* Leading Icon */\n.leading-icon {\n font-size: var(--text-xl-size);\n color: var(--color-neutral-500);\n user-select: none;\n flex-shrink: 0;\n cursor: default;\n pointer-events: auto;\n transition: color 0.2s ease-in-out;\n}\n\n.input-field.input-focused .leading-icon {\n color: var(--color-brand-600);\n}\n\n/* Input Element */\n.input-element {\n flex: 1;\n height: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-inter);\n font-weight: 400;\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-800);\n min-width: 60px;\n padding-left: var(--spacing-xs);\n box-shadow: none;\n}\n\n.input-element:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.input-element::placeholder {\n color: var(--color-neutral-500);\n}\n\n.input-element:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Hide default number input spinners */\n.input-element::-webkit-outer-spin-button,\n.input-element::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.input-element[type='number'] {\n -moz-appearance: textfield;\n appearance: textfield;\n}\n\n/* Text States */\n.text-placeholder {\n color: var(--color-neutral-500);\n}\n\n.text-filled {\n color: var(--color-neutral-800);\n}\n\n/* Hint Text */\n.hint-text {\n font-family: var(--font-inter);\n font-weight: 400;\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-600);\n}\n\n/* Input States */\n.input-field.input-hover {\n border-color: var(--color-brand-500);\n}\n\n.input-field.input-focused {\n border-color: var(--color-brand-500);\n box-shadow: 0 0 0 1px var(--color-brand-500);\n}\n\n.input-field.input-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50);\n}\n\n.input-field.input-error {\n border-color: var(--color-error-300);\n}\n\n.input-field.input-error.input-hover {\n border-color: var(--color-error-500);\n}\n\n.input-field.input-error.input-focused {\n border-color: var(--color-brand-600);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600);\n}\n\n/* Prefix and Suffix */\n.prefix-text,\n.suffix-text {\n font-family: var(--font-inter);\n font-weight: 400;\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-600);\n user-select: none;\n flex-shrink: 0;\n}\n\n/* Material Symbols Support */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\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 -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Responsive Adjustments */\n@media (max-width: 768px) {\n .input-wrapper {\n width: 100%;\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals } from '@stencil/core';\nimport { updateValidity } from '../../utils/form';\n\nexport type InputNumberState = 'placeholder' | 'filled' | 'hover' | 'focused';\n\n@Component({\n tag: 'bh-input-number',\n styleUrl: 'bh-input-number.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhInputNumber {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private inputEl?: HTMLInputElement;\n\n /**\n * Whether the input is in an error state\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show the leading icon\n */\n @Prop() showLeadingIcon: boolean = false;\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show the hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Label text for the input\n */\n @Prop() label: string = 'Amount';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = '0';\n\n /**\n * Hint text displayed below the input\n */\n @Prop() hintText: string = 'Enter a numeric value.';\n\n /**\n * Leading icon name (Material Symbols)\n */\n @Prop() leadingIcon: string = 'tag';\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Current numeric value\n */\n @Prop({ mutable: true }) value: number | null = null;\n\n /**\n * Minimum allowed value\n */\n @Prop() min: number | null = null;\n\n /**\n * Maximum allowed value\n */\n @Prop() max: number | null = null;\n\n /**\n * Step value for increment/decrement\n */\n @Prop() step: number = 1;\n\n /**\n * Text prefix before the input value\n */\n @Prop() prefixText: string = '';\n\n /**\n * Text suffix after the input value\n */\n @Prop() suffixText: string = '';\n\n /**\n * Width of the component\n */\n @Prop() width: string = '';\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Default value for form reset\n */\n @Prop() defaultValue: number | null = null;\n\n /**\n * Custom validation message\n */\n @Prop() validationMessage: string = '';\n\n @State() internalState: InputNumberState = 'placeholder';\n @State() isHovered: boolean = false;\n @State() isFocused: boolean = false;\n @State() internalValue: number | null = null;\n @State() hasValidationError: boolean = false;\n\n /**\n * Event emitted when the value changes\n */\n @Event() bhChange!: EventEmitter<number | null>;\n\n /**\n * Event emitted when the input receives focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Event emitted when the input loses focus\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Event emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n private get isControlled(): boolean {\n return this.value !== undefined && this.value !== null;\n }\n\n private get currentValue(): number | null {\n return this.isControlled ? this.value : this.internalValue;\n }\n\n @Watch('value')\n watchValue(newValue: number | null) {\n this.hasValidationError = this.isOutOfBounds(newValue);\n this.updateInternalState(newValue);\n }\n\n componentWillLoad() {\n if (this.value !== null && this.value !== undefined) {\n this.internalValue = this.value;\n }\n this.hasValidationError = this.isOutOfBounds(this.currentValue);\n this.updateInternalState(this.currentValue);\n }\n\n componentDidLoad() {\n this.syncNumberFormValue();\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n this.internalValue = this.defaultValue;\n if (this.inputEl) {\n this.inputEl.value = this.defaultValue !== null ? String(this.defaultValue) : '';\n }\n this.hasValidationError = this.isOutOfBounds(this.defaultValue);\n this.updateInternalState(this.defaultValue);\n this.syncNumberFormValue();\n updateValidity(this.internals, this.inputEl);\n }\n\n private syncNumberFormValue() {\n if (!this.internals || !this.name) return;\n const val = this.currentValue;\n if (val === null || val === undefined) {\n this.internals.setFormValue(null);\n } else {\n this.internals.setFormValue(String(val));\n }\n }\n\n private isOutOfBounds(val: number | null): boolean {\n if (val === null) return false;\n if (this.min !== null && val < this.min) return true;\n if (this.max !== null && val > this.max) return true;\n return false;\n }\n\n private updateInternalState(val: number | null) {\n if (val !== null && val !== undefined) {\n this.internalState = 'filled';\n } else if (!this.isFocused && !this.isHovered) {\n this.internalState = 'placeholder';\n }\n }\n\n private validateValue(val: number): number {\n if (this.min !== null && val < this.min) {\n return this.min;\n }\n if (this.max !== null && val > this.max) {\n return this.max;\n }\n return val;\n }\n\n private updateValue(newValue: number | null, allowOutOfBounds = false) {\n let finalValue: number | null;\n\n if (newValue === null) {\n finalValue = null;\n } else if (allowOutOfBounds) {\n finalValue = newValue;\n } else {\n finalValue = this.validateValue(newValue);\n }\n\n this.internalValue = finalValue;\n this.value = finalValue;\n this.hasValidationError = this.isOutOfBounds(finalValue);\n this.syncNumberFormValue();\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n this.bhChange.emit(finalValue);\n }\n\n private handleInputChange = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n const numericValue = inputValue === '' ? null : parseFloat(inputValue);\n\n if (numericValue !== null && !isNaN(numericValue)) {\n this.updateValue(numericValue, true);\n } else if (inputValue === '') {\n this.updateValue(null, true);\n }\n };\n\n private increment = () => {\n const baseValue = this.currentValue ?? 0;\n const newValue = baseValue + this.step;\n this.updateValue(newValue);\n };\n\n private decrement = () => {\n const baseValue = this.currentValue ?? 0;\n const newValue = baseValue - this.step;\n this.updateValue(newValue);\n };\n\n private handleInputFocus = () => {\n this.isFocused = true;\n this.internalState = 'focused';\n this.bhFocus.emit();\n };\n\n private handleInputBlur = () => {\n this.isFocused = false;\n this.updateInternalState(this.currentValue);\n this.bhBlur.emit();\n };\n\n private handleMouseEnter = () => {\n if (!this.isFocused) {\n this.isHovered = true;\n this.internalState = 'hover';\n }\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n if (!this.isFocused) {\n this.updateInternalState(this.currentValue);\n }\n };\n\n private handleHelpIconClick = () => {\n this.bhHelpClick.emit();\n };\n\n private getValidationErrorMessage(): string {\n if (!this.hasValidationError || this.currentValue === null) return '';\n\n if (this.min !== null && this.max !== null) {\n return `Enter a number between ${this.min} and ${this.max}.`;\n }\n\n if (this.min !== null && this.currentValue < this.min) {\n return `Value must be at least ${this.min}`;\n }\n\n if (this.max !== null && this.currentValue > this.max) {\n return `Value must be no more than ${this.max}`;\n }\n\n return '';\n }\n\n render() {\n const showError = this.error || this.hasValidationError;\n const displayHintText = showError && this.hasValidationError ? this.getValidationErrorMessage() : this.hintText;\n\n const inputFieldClasses = {\n 'input-field': true,\n 'input-hover': this.internalState === 'hover' || this.isHovered,\n 'input-focused': this.internalState === 'focused' || this.isFocused,\n 'input-error': showError,\n 'input-disabled': this.disabled,\n 'input-icon-leading': this.showLeadingIcon,\n };\n\n const textColorClass = this.currentValue !== null && this.currentValue !== undefined ? 'text-filled' : 'text-placeholder';\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n const isDecrementDisabled = this.disabled || (this.min !== null && this.currentValue !== null && this.currentValue <= this.min);\n const isIncrementDisabled = this.disabled || (this.max !== null && this.currentValue !== null && this.currentValue >= this.max);\n\n return (\n <div class=\"input-wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={this.handleHelpIconClick}\n >\n <div\n class={inputFieldClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"input-content\">\n {this.showLeadingIcon && (\n <span class=\"leading-icon material-symbols-outlined\">\n {this.leadingIcon}\n </span>\n )}\n {this.prefixText && <span class=\"prefix-text\">{this.prefixText}</span>}\n <input\n ref={(el) => (this.inputEl = el)}\n type=\"number\"\n name={this.name}\n value={this.currentValue ?? ''}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n class={`input-element ${textColorClass}`}\n onInput={this.handleInputChange}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n min={this.min ?? undefined}\n max={this.max ?? undefined}\n step={this.step}\n />\n {this.suffixText && <span class=\"suffix-text\">{this.suffixText}</span>}\n <bh-button-icon\n hierarchy=\"tertiary\"\n size=\"xs\"\n iconName=\"remove\"\n disabled={isDecrementDisabled}\n onClick={this.decrement}\n aria-label=\"Decrease value\"\n />\n <bh-button-icon\n hierarchy=\"tertiary\"\n size=\"xs\"\n iconName=\"add\"\n disabled={isIncrementDisabled}\n onClick={this.increment}\n aria-label=\"Increase value\"\n />\n </div>\n </div>\n </bh-label>\n {this.showHintText && displayHintText && (\n <div class={{ 'hint-text': true, 'hint-error': showError }}>\n {displayHintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-input-password.js","mappings":"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","names":["BhInputPassword","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-password/bh-input-password.css?tag=bh-input-password&encapsulation=shadow","src/components/bh-input-password/bh-input-password.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* Input Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n}\n\n/* Input Container */\n.input-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n padding: var(--spacing-md, 12px);\n height: 36px;\n width: 100%;\n background: var(--color-white, #FFFFFF);\n border: 1px solid var(--color-neutral-300, #D0D5DD);\n border-radius: var(--spacing-md, 8px);\n transition: all 0.2s ease-in-out;\n cursor: text;\n box-sizing: border-box;\n}\n\n.input-container.input-container-with-leading {\n padding: var(--spacing-md, 12px) var(--spacing-lg, 16px);\n}\n\n/* Input States */\n.input-container.input-container-hover {\n border-color: var(--color-brand-500, #7F56D9);\n}\n\n.input-container.input-container-focused {\n border-color: var(--color-brand-500, #7F56D9);\n box-shadow: 0 0 0 1px var(--color-brand-500, #7F56D9);\n}\n\n.input-container.input-container-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #F9FAFB);\n}\n\n.input-container.input-container-error {\n border-color: var(--color-error-300, #FDA29B);\n}\n\n.input-container.input-container-error.input-container-hover {\n border-color: var(--color-error-500, #F05250);\n}\n\n.input-container.input-container-error.input-container-focused {\n border-color: var(--color-brand-600, #6941C6);\n}\n\n/* Input Content */\n.input-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n flex: 1;\n height: 100%;\n min-width: 0;\n}\n\n/* Input Element */\n.input-element {\n flex: 1;\n height: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-800, #1D2939);\n min-width: 60px;\n padding: 0;\n}\n\n.input-element:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.input-element::placeholder {\n color: var(--color-neutral-500, #667085);\n}\n\n.input-element:disabled {\n cursor: not-allowed;\n}\n\n/* Leading Icon */\n.leading-icon {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-500, #667085);\n user-select: none;\n flex-shrink: 0;\n cursor: default;\n transition: color 0.2s ease-in-out;\n}\n\n.input-container-focused .leading-icon {\n color: var(--color-brand-600, #6941C6);\n}\n\n/* Visibility Toggle */\n.visibility-toggle {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-400, #98A2B3);\n cursor: pointer;\n user-select: none;\n flex-shrink: 0;\n transition: color 0.2s ease-in-out;\n}\n\n.visibility-toggle:hover {\n color: var(--color-neutral-600, #475467);\n}\n\n.input-container-disabled .visibility-toggle {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Hint Text */\n.hint-text {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-600, #475467);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600, #DC2626);\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 20px;\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, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncFormValue, updateValidity } from '../../utils/form';\n\n@Component({\n tag: 'bh-input-password',\n styleUrl: 'bh-input-password.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhInputPassword {\n @AttachInternals() internals!: ElementInternals;\n\n private inputEl?: HTMLInputElement;\n /**\n * The label for the input\n */\n @Prop() label: string = 'Password';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'Enter your password';\n\n /**\n * Hint text shown below the input\n */\n @Prop() hintText: string = '';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show a leading icon\n */\n @Prop() showLeadingIcon: boolean = true;\n\n /**\n * Whether the field has an error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Password requirements';\n\n /**\n * Leading icon name (Material Symbols)\n */\n @Prop() leadingIcon: string = 'lock';\n\n /**\n * The input value\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Default value for form reset\n */\n @Prop() defaultValue: string = '';\n\n /**\n * Custom validation message\n */\n @Prop() validationMessage: string = '';\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Track hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Track password visibility\n */\n @State() showPassword: boolean = false;\n\n \n /**\n * Emitted when the value changes\n */\n @Event() bhInput!: EventEmitter<string>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n /**\n * Emitted when visibility is toggled\n */\n @Event() bhVisibilityToggle!: EventEmitter<boolean>;\n\n componentDidLoad() {\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n if (this.inputEl) {\n this.inputEl.value = this.defaultValue;\n }\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl);\n }\n\n private handleInput = (event: Event): void => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.bhInput.emit(this.value);\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n };\n\n private handleFocus = (): void => {\n this.isFocused = true;\n this.bhFocus.emit();\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n this.bhBlur.emit();\n };\n\n private handleMouseEnter = (): void => {\n if (!this.isFocused) {\n this.isHovered = true;\n }\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private togglePasswordVisibility = (): void => {\n if (!this.disabled) {\n this.showPassword = !this.showPassword;\n this.bhVisibilityToggle.emit(this.showPassword);\n }\n };\n\n private handleHelpClick = (): void => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const containerClasses = {\n 'input-container': true,\n 'input-container-focused': this.isFocused,\n 'input-container-hover': this.isHovered && !this.isFocused,\n 'input-container-error': this.error,\n 'input-container-disabled': this.disabled,\n 'input-container-with-leading': this.showLeadingIcon,\n };\n\n return (\n <div class=\"input-wrapper\" part=\"wrapper\">\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={this.handleHelpClick}\n >\n <div\n class={containerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"input-content\">\n {this.showLeadingIcon && (\n <span class=\"material-symbols-outlined leading-icon\">\n {this.leadingIcon}\n </span>\n )}\n <input\n ref={(el) => (this.inputEl = el)}\n type={this.showPassword ? 'text' : 'password'}\n class=\"input-element\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n aria-label={this.label}\n aria-describedby={this.showHintText && this.hintText ? 'hint-text' : undefined}\n aria-invalid={String(this.error)}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n part=\"input\"\n />\n </div>\n <span\n class=\"material-symbols-outlined visibility-toggle\"\n onClick={this.togglePasswordVisibility}\n title={this.showPassword ? 'Hide password' : 'Show password'}\n >\n {this.showPassword ? 'visibility_off' : 'visibility'}\n </span>\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div\n class={{ 'hint-text': true, 'hint-error': this.error }}\n id=\"hint-text\"\n >\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-input-verification.js","mappings":"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","names":["BhInputVerification","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-verification/bh-input-verification.css?tag=bh-input-verification&encapsulation=shadow","src/components/bh-input-verification/bh-input-verification.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.input-verification-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n width: fit-content;\n}\n\n.input-verification-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.verification-input {\n width: 64px;\n height: 64px;\n padding: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--radius-lg);\n background-color: var(--color-white);\n font-family: var(--font-inter);\n font-size: 3rem;\n font-weight: var(--weight-medium);\n line-height: 1;\n color: var(--color-neutral-900);\n transition: all 150ms ease;\n outline: none;\n box-sizing: border-box;\n}\n\n/* Size variants */\n.verification-input.size-sm {\n width: 64px;\n height: 64px;\n font-size: 3rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-xl) var(--spacing-md);\n}\n\n.verification-input.size-md {\n width: 80px;\n height: 80px;\n font-size: 3rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-2xl) var(--spacing-3xl);\n}\n\n.verification-input.size-lg {\n width: 96px;\n height: 96px;\n font-size: 3.75rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-3xl) var(--spacing-4xl);\n}\n\n/* States */\n.verification-input:hover:not(:disabled) {\n border-color: var(--color-neutral-400);\n}\n\n.verification-input:focus {\n border-color: var(--color-brand-300);\n box-shadow: 0 0 0 4px var(--color-brand-100);\n}\n\n.verification-input.error {\n border-color: var(--color-error-300);\n}\n\n.verification-input.error:focus {\n border-color: var(--color-error-300);\n box-shadow: 0 0 0 4px var(--color-error-100);\n}\n\n.verification-input:disabled {\n background-color: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n color: var(--color-neutral-400);\n cursor: not-allowed;\n}\n\n.separator {\n font-family: var(--font-inter);\n font-size: 1.5rem;\n font-weight: var(--weight-medium);\n color: var(--color-neutral-400);\n margin: 0 var(--spacing-xs);\n line-height: 1;\n}\n\n.separator.size-sm {\n font-size: 1.5rem;\n}\n\n.separator.size-md {\n font-size: 1.5rem;\n}\n\n.separator.size-lg {\n font-size: 1.875rem;\n}\n\n.hint-text {\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-600);\n margin-top: var(--spacing-xs);\n}\n\n.hint-text.error {\n color: var(--color-error-600);\n}\n\n.verification-input::placeholder {\n color: var(--color-neutral-400);\n opacity: 1;\n font-size: inherit;\n font-weight: var(--weight-regular);\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch } from '@stencil/core';\n\nexport type InputVerificationSize = 'sm' | 'md' | 'lg';\nexport type InputVerificationDigits = 4 | 6;\n\n@Component({\n tag: 'bh-input-verification',\n styleUrl: 'bh-input-verification.css',\n shadow: true,\n})\nexport class BhInputVerification {\n @Element() el!: HTMLElement;\n\n /**\n * Size variant of the input fields\n */\n @Prop() size: InputVerificationSize = 'md';\n\n /**\n * Number of digits (4 or 6)\n */\n @Prop() digits: InputVerificationDigits = 4;\n\n /**\n * Label text for the input\n */\n @Prop() label: string = 'Secure code';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Hint text displayed below the inputs\n */\n @Prop() hintText: string = 'This is a hint text to help user.';\n\n /**\n * Whether to show the hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether the input is in an error state\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether to show the separator for 6-digit codes\n */\n @Prop() showSeparator: boolean = true;\n\n /**\n * Placeholder character for empty inputs\n */\n @Prop() placeholder: string = '';\n\n /**\n * Width of the component\n */\n @Prop() width: string = '';\n\n /**\n * Current value of the verification code\n */\n @Prop({ mutable: true }) value: string = '';\n\n @State() values: string[] = [];\n @State() inputRefs: HTMLInputElement[] = [];\n\n /**\n * Event emitted when the value changes\n */\n @Event() bhChange!: EventEmitter<string>;\n\n /**\n * Event emitted when all digits are filled\n */\n @Event() bhComplete!: EventEmitter<string>;\n\n @Watch('value')\n watchValue(newValue: string) {\n const newValues = newValue.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);\n this.values = newValues;\n }\n\n @Watch('digits')\n watchDigits() {\n this.values = Array(this.digits).fill('');\n }\n\n componentWillLoad() {\n this.values = this.value\n ? this.value.split('').concat(Array(this.digits).fill('')).slice(0, this.digits)\n : Array(this.digits).fill('');\n }\n\n componentDidLoad() {\n // Focus first input on mount if not disabled\n if (!this.disabled) {\n const firstInput = this.el.shadowRoot?.querySelector('input');\n firstInput?.focus();\n }\n }\n\n private updateValues(newValues: string[]) {\n this.values = newValues;\n const newValue = newValues.join('');\n this.value = newValue;\n this.bhChange.emit(newValue);\n\n // Check if all fields are filled\n if (newValues.every(val => val !== '')) {\n this.bhComplete.emit(newValue);\n }\n }\n\n private handleInputChange(index: number, event: Event) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n\n // Only allow single digits\n const digit = inputValue.replace(/\\D/g, '').slice(-1);\n\n const newValues = [...this.values];\n newValues[index] = digit;\n this.updateValues(newValues);\n\n // Auto-advance to next input if digit entered\n if (digit && index < this.digits - 1) {\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n }\n }\n\n private handleKeyDown(index: number, event: KeyboardEvent) {\n if (event.key === 'Backspace') {\n event.preventDefault();\n const newValues = [...this.values];\n\n if (this.values[index]) {\n // Clear current field\n newValues[index] = '';\n this.updateValues(newValues);\n } else if (index > 0) {\n // Move to previous field and clear it\n newValues[index - 1] = '';\n this.updateValues(newValues);\n const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];\n prevInput?.focus();\n }\n } else if (event.key === 'ArrowLeft' && index > 0) {\n event.preventDefault();\n const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];\n prevInput?.focus();\n } else if (event.key === 'ArrowRight' && index < this.digits - 1) {\n event.preventDefault();\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n } else if (event.key >= '0' && event.key <= '9') {\n event.preventDefault();\n const newValues = [...this.values];\n newValues[index] = event.key;\n this.updateValues(newValues);\n\n // Auto-advance to next input\n if (index < this.digits - 1) {\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n }\n }\n }\n\n private handlePaste(event: ClipboardEvent) {\n event.preventDefault();\n\n const pastedText = event.clipboardData?.getData('text') || '';\n const pastedDigits = pastedText.replace(/\\D/g, '').slice(0, this.digits);\n\n if (pastedDigits) {\n const newValues = pastedDigits.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);\n this.updateValues(newValues);\n\n // Focus on the next empty input or last input\n const nextEmptyIndex = newValues.findIndex(val => val === '');\n const focusIndex = nextEmptyIndex === -1 ? this.digits - 1 : Math.min(nextEmptyIndex, this.digits - 1);\n const inputToFocus = this.el.shadowRoot?.querySelectorAll('input')[focusIndex];\n inputToFocus?.focus();\n }\n }\n\n private handleFocus(event: Event) {\n const input = event.target as HTMLInputElement;\n input.select();\n }\n\n private renderInputs() {\n const inputs = [];\n\n for (let i = 0; i < this.digits; i++) {\n // Add separator for 6-digit codes\n if (this.digits === 6 && i === 3 && this.showSeparator) {\n inputs.push(\n <span key=\"separator\" class={{ 'separator': true, [`size-${this.size}`]: true }}>\n -\n </span>\n );\n }\n\n inputs.push(\n <input\n key={i}\n type=\"text\"\n inputmode=\"numeric\"\n pattern=\"[0-9]\"\n maxLength={1}\n value={this.values[i] || ''}\n placeholder={this.placeholder && i < this.placeholder.length ? this.placeholder[i] : ''}\n disabled={this.disabled}\n class={{\n 'verification-input': true,\n [`size-${this.size}`]: true,\n 'error': this.error,\n }}\n onInput={(e) => this.handleInputChange(i, e)}\n onKeyDown={(e) => this.handleKeyDown(i, e)}\n onPaste={(e) => this.handlePaste(e)}\n onFocus={(e) => this.handleFocus(e)}\n aria-label={`Digit ${i + 1} of ${this.digits}`}\n />\n );\n }\n\n return inputs;\n }\n\n render() {\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n return (\n <div class=\"input-verification-wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n disabled={this.disabled}\n >\n <div class=\"input-verification-container\">\n {this.renderInputs()}\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div class={{ 'hint-text': true, 'error': this.error }}>\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"bh-modal-actions.js","mappings":";;;;AAAA,MAAM,iBAAiB,GAAG,slEAAslE;;MCSnmEA,gBAAc,iBAAAC,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AACzB;;;;AAIG;IACK,IAAI,GAAqB,MAAM;AAEvC;;AAEG;IACK,WAAW,GAAY,KAAK;AAEpC;;AAEG;IACK,YAAY,GAAW,SAAS;AAExC;;AAEG;IACK,cAAc,GAAW,QAAQ;AAEzC;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;AACM,IAAA,eAAe;AAExB;;AAEG;AACM,IAAA,iBAAiB;IAElB,mBAAmB,GAAG,MAAW;AACvC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;IAEO,qBAAqB,GAAG,MAAW;AACzC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAC/B,KAAC;IAEO,aAAa,GAAA;AACnB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe;AAEpD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IACpC,CACE,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,IAAI,EAAC,QAAQ,EAEZ,EAAA,IAAI,CAAC,YAAY,CACX,KAET,CACE,CAAA,WAAA,EAAA,EAAA,SAAS,EAAC,SAAS,EACnB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,CAAA,CACH;AAED,QAAA,MAAM,eAAe,IACnB,CAAA,CAAA,WAAA,EAAA,EACE,SAAS,EAAC,WAAW,EACrB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAA,CACrC,CACH;QAED,IAAI,cAAc,EAAE;YAClB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,oDAAoD,EAAA,EAC7D,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,cAAc,EAAA,CAAG,CACxB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,eAAe,EACf,aAAa,CACV,CACF;;;AAKV,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,mDAAmD,EAAA,EAC3D,eAAe,EACf,aAAa,CACV;;IAIV,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,IAAI,CAAC,OAAO,IAAI,4DAAK,KAAK,EAAC,SAAS,EAAG,CAAA,EACvC,IAAI,CAAC,aAAa,EAAE,CACjB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhModalActions","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-modal-actions/bh-modal-actions.css?tag=bh-modal-actions&encapsulation=shadow","src/components/bh-modal-actions/bh-modal-actions.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.modal-actions {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-none, 0px);\n padding-top: var(--spacing-3xl, 24px);\n width: 100%;\n}\n\n.divider {\n height: 1px;\n width: 100%;\n flex-shrink: 0;\n background-color: var(--color-border-secondary, #dcdfea);\n margin-bottom: var(--spacing-3xl, 24px);\n}\n\n.modal-actions-content {\n display: flex;\n gap: var(--spacing-lg, 12px);\n padding: 0 var(--spacing-3xl, 24px);\n padding-bottom: var(--spacing-3xl, 24px);\n width: 100%;\n box-sizing: border-box;\n}\n\n/* Full width buttons layout */\n.modal-actions-content--fill {\n flex-direction: row;\n align-items: stretch;\n}\n\n.modal-actions-content--fill bh-button {\n flex: 1;\n display: block;\n width: 100%;\n}\n\n.modal-actions-content--fill bh-button::part(button) {\n width: 100%;\n}\n\n.modal-actions-content--fill .btn-destructive {\n flex: 1;\n}\n\n/* Right-aligned layout with optional left content */\n.modal-actions-content--right {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n\n.actions-left {\n display: flex;\n gap: var(--spacing-lg, 12px);\n align-items: center;\n}\n\n.actions-right {\n display: flex;\n gap: var(--spacing-lg, 12px);\n align-items: center;\n justify-content: flex-end;\n}\n\n/* Mobile responsive: stack buttons vertically */\n@media (max-width: 480px) {\n .modal-actions-content--fill {\n flex-direction: column;\n align-items: stretch;\n }\n\n .modal-actions-content--fill bh-button,\n .modal-actions-content--fill .btn-destructive {\n flex: none;\n width: 100%;\n }\n\n /* Reverse order on mobile so primary is first */\n .modal-actions-content--fill {\n flex-direction: column-reverse;\n }\n}\n\n/* Destructive button styles */\n.btn-destructive {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--button-content-gap, 4px);\n height: 40px;\n padding: 0 var(--button-padding-x, 12px);\n background-color: var(--color-bg-error, #d6341f);\n color: var(--color-fg-white, #ffffff);\n border: none;\n border-radius: var(--radius-md, 8px);\n font-family: var(--font-family-body, 'Inter', sans-serif);\n font-weight: var(--weight-semibold, 600);\n font-size: var(--button-font-size, 14px);\n line-height: var(--text-sm-line-height, 20px);\n letter-spacing: var(--letter-spacing-normal, 0px);\n cursor: pointer;\n overflow: hidden;\n transition: background-color 0.15s ease;\n}\n\n.btn-destructive:hover {\n background-color: var(--color-bg-error-hover, #b82d1a);\n}\n\n.btn-destructive:focus-visible {\n outline: 2px solid var(--color-bg-error, #d6341f);\n outline-offset: 2px;\n}\n\n.btn-destructive:active {\n background-color: var(--color-bg-error-active, #9a2515);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type ModalActionsType = 'fill' | 'right-aligned';\n\n@Component({\n tag: 'bh-modal-actions',\n styleUrl: 'bh-modal-actions.css',\n shadow: true,\n})\nexport class BhModalActions {\n /**\n * Layout type for the actions:\n * - 'fill': Buttons take full width\n * - 'right-aligned': Buttons aligned to the right with optional left content slot\n */\n @Prop() type: ModalActionsType = 'fill';\n\n /**\n * Whether to show destructive styling on primary button\n */\n @Prop() destructive: boolean = false;\n\n /**\n * Primary/destructive action button label\n */\n @Prop() primaryLabel: string = 'Confirm';\n\n /**\n * Secondary action button label\n */\n @Prop() secondaryLabel: string = 'Cancel';\n\n /**\n * Whether to show the divider line above actions\n */\n @Prop() divider: boolean = false;\n\n /**\n * Emitted when the primary/destructive action button is clicked\n */\n @Event() bhPrimaryAction!: EventEmitter<void>;\n\n /**\n * Emitted when the secondary action button is clicked\n */\n @Event() bhSecondaryAction!: EventEmitter<void>;\n\n private handlePrimaryAction = (): void => {\n this.bhPrimaryAction.emit();\n };\n\n private handleSecondaryAction = (): void => {\n this.bhSecondaryAction.emit();\n };\n\n private renderButtons() {\n const isRightAligned = this.type === 'right-aligned';\n\n const primaryButton = this.destructive ? (\n <button\n class=\"btn-destructive\"\n onClick={this.handlePrimaryAction}\n type=\"button\"\n >\n {this.primaryLabel}\n </button>\n ) : (\n <bh-button\n hierarchy=\"primary\"\n icon=\"none\"\n size=\"md\"\n label={this.primaryLabel}\n onBhClick={this.handlePrimaryAction}\n />\n );\n\n const secondaryButton = (\n <bh-button\n hierarchy=\"secondary\"\n icon=\"none\"\n size=\"md\"\n label={this.secondaryLabel}\n onBhClick={this.handleSecondaryAction}\n />\n );\n\n if (isRightAligned) {\n return (\n <div class=\"modal-actions-content modal-actions-content--right\">\n <div class=\"actions-left\">\n <slot name=\"left-content\" />\n </div>\n <div class=\"actions-right\">\n {secondaryButton}\n {primaryButton}\n </div>\n </div>\n );\n }\n\n // Full width buttons (stacks vertically on mobile via CSS)\n return (\n <div class=\"modal-actions-content modal-actions-content--fill\">\n {secondaryButton}\n {primaryButton}\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class=\"modal-actions\">\n {this.divider && <div class=\"divider\" />}\n {this.renderButtons()}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}