@actabldesign/bellhop-core 0.0.7 → 0.0.12

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 (474) hide show
  1. package/README.md +132 -33
  2. package/components/bh-accordion-item.js +1 -1
  3. package/components/bh-avatar-add.js +1 -1
  4. package/components/bh-avatar-stacked.js +3 -3
  5. package/components/bh-avatar.js +1 -1
  6. package/components/bh-button.js +1 -1
  7. package/components/bh-card-header.js +1 -1
  8. package/components/bh-card.js +1 -1
  9. package/components/bh-checkbox-group-item.js +5 -5
  10. package/components/bh-checkbox.js +1 -1
  11. package/components/bh-data-grid.js +140 -67
  12. package/components/bh-data-grid.js.map +1 -1
  13. package/components/bh-date-picker-content.js +1 -1
  14. package/components/bh-date-picker.js +24 -19
  15. package/components/bh-date-picker.js.map +1 -1
  16. package/components/bh-date-range-picker-content.js +1 -1
  17. package/components/bh-date-range-picker.js +9 -9
  18. package/components/bh-dropdown-menu.js +1 -1
  19. package/components/bh-dropdown.js +1 -1
  20. package/components/bh-empty-state.js +1 -1
  21. package/components/bh-featured-icon.js +1 -1
  22. package/components/bh-illustrations.js +3 -3
  23. package/components/bh-input-autocomplete.js +7 -7
  24. package/components/bh-input-number.js +3 -3
  25. package/components/bh-input-password.js +3 -3
  26. package/components/bh-input-text.js +1 -1
  27. package/components/bh-input-verification.js +3 -3
  28. package/components/bh-label.js +1 -1
  29. package/components/bh-logo-box.js +1 -1
  30. package/components/bh-modal-actions.js +2 -2
  31. package/components/bh-modal-header.js +5 -5
  32. package/components/bh-month-picker-content.js +1 -1
  33. package/components/bh-month-picker.js +8 -8
  34. package/components/bh-month-picker.js.map +1 -1
  35. package/components/bh-nav-item.js +1 -1
  36. package/components/bh-notification.js +3 -3
  37. package/components/bh-page-navigation-child.js +1 -1
  38. package/components/bh-page-navigation-multi-level.js +1 -1
  39. package/components/bh-page-navigation-single-level.js +1 -1
  40. package/components/bh-page-navigation.js +5 -5
  41. package/components/bh-pagination.js +1 -1
  42. package/components/bh-picker-menu.js +1 -1
  43. package/components/bh-pie-chart.js +1 -1
  44. package/components/bh-popover.js +18 -85
  45. package/components/bh-popover.js.map +1 -1
  46. package/components/bh-property-switcher.js +1 -1
  47. package/components/bh-radio-button.js +1 -1
  48. package/components/bh-sidebar.js +18 -7
  49. package/components/bh-sidebar.js.map +1 -1
  50. package/components/bh-skeleton-loader.js +1 -1
  51. package/components/bh-tab-item.js +2 -2
  52. package/components/bh-tabs.js +1 -1
  53. package/components/bh-tag.js +1 -1
  54. package/components/bh-textarea.js +3 -3
  55. package/components/bh-toggle.js +1 -1
  56. package/components/bh-tooltip.js +1 -1
  57. package/components/bh-trend-chart.js +2 -2
  58. package/components/index.d.ts +0 -4
  59. package/components/index.js +0 -2
  60. package/components/index.js.map +1 -1
  61. package/components/{p-8bOZFmdg.js → p--S10V0sf.js} +5 -5
  62. package/components/p--S10V0sf.js.map +1 -0
  63. package/components/{p-BLCjD0ux.js → p-7nrZFsG8.js} +3 -3
  64. package/components/{p-BLCjD0ux.js.map → p-7nrZFsG8.js.map} +1 -1
  65. package/components/{p-C_wf2KGn.js → p-B0ADeWoj.js} +3 -3
  66. package/components/{p-C_wf2KGn.js.map → p-B0ADeWoj.js.map} +1 -1
  67. package/components/{p-D9aamyuM.js → p-BEm39SYP.js} +4 -4
  68. package/components/{p-D9aamyuM.js.map → p-BEm39SYP.js.map} +1 -1
  69. package/components/{p-BkK6rWZn.js → p-BYRvQ4u7.js} +4 -4
  70. package/components/{p-BkK6rWZn.js.map → p-BYRvQ4u7.js.map} +1 -1
  71. package/components/{p-D0Ba0gOA.js → p-BqYBdZ7I.js} +4 -4
  72. package/components/{p-D0Ba0gOA.js.map → p-BqYBdZ7I.js.map} +1 -1
  73. package/components/{p-Df8KgHhe.js → p-BrIid8rr.js} +3 -3
  74. package/components/{p-Df8KgHhe.js.map → p-BrIid8rr.js.map} +1 -1
  75. package/components/p-BsHlTsAN.js.map +1 -1
  76. package/components/{p-Npcwl1Z8.js → p-CDmCw7LX.js} +4 -4
  77. package/components/p-CDmCw7LX.js.map +1 -0
  78. package/components/{p-BQKx1tGq.js → p-CHYn9whC.js} +6 -6
  79. package/components/p-CHYn9whC.js.map +1 -0
  80. package/components/{p-CdwyUif-.js → p-CNwZh1xz.js} +5 -5
  81. package/components/p-CNwZh1xz.js.map +1 -0
  82. package/components/{p-B02xFf1P.js → p-CiEBtN9j.js} +3 -3
  83. package/components/{p-B02xFf1P.js.map → p-CiEBtN9j.js.map} +1 -1
  84. package/components/{p-Cmo_S3fO.js → p-CiZSLZTA.js} +4 -4
  85. package/components/{p-Cmo_S3fO.js.map → p-CiZSLZTA.js.map} +1 -1
  86. package/components/{p-DYC2IZEs.js → p-CmEb-mj5.js} +6 -6
  87. package/components/{p-DYC2IZEs.js.map → p-CmEb-mj5.js.map} +1 -1
  88. package/components/{p-Do29ZTL9.js → p-CppjlSaO.js} +3 -3
  89. package/components/{p-Do29ZTL9.js.map → p-CppjlSaO.js.map} +1 -1
  90. package/components/{p-D3FuyNC4.js → p-CyFUHAY1.js} +7 -7
  91. package/components/{p-D3FuyNC4.js.map → p-CyFUHAY1.js.map} +1 -1
  92. package/components/{p-B0vRPcr5.js → p-D8L5XpBP.js} +3 -3
  93. package/components/{p-B0vRPcr5.js.map → p-D8L5XpBP.js.map} +1 -1
  94. package/components/p-DH86TJ99.js +232 -0
  95. package/components/p-DH86TJ99.js.map +1 -0
  96. package/components/{p-BJLHKnwL.js → p-DVBd-54W.js} +5 -5
  97. package/components/{p-BJLHKnwL.js.map → p-DVBd-54W.js.map} +1 -1
  98. package/components/{p-CMoGgYqw.js → p-DmELCHDa.js} +3 -3
  99. package/components/p-DmELCHDa.js.map +1 -0
  100. package/components/{p-Bu0BcHwL.js → p-Du_cCBR7.js} +6 -6
  101. package/components/{p-Bu0BcHwL.js.map → p-Du_cCBR7.js.map} +1 -1
  102. package/components/{p-h6juyPoa.js → p-JJSN-gZI.js} +3 -3
  103. package/components/{p-h6juyPoa.js.map → p-JJSN-gZI.js.map} +1 -1
  104. package/components/{p-wPu4WTba.js → p-dsE158cF.js} +3 -3
  105. package/components/{p-wPu4WTba.js.map → p-dsE158cF.js.map} +1 -1
  106. package/components/{p-C0fcjlnS.js → p-eYcfeTFU.js} +3 -3
  107. package/components/{p-C0fcjlnS.js.map → p-eYcfeTFU.js.map} +1 -1
  108. package/components/{p-BSok41i-.js → p-oyeucMe6.js} +3 -3
  109. package/components/{p-BSok41i-.js.map → p-oyeucMe6.js.map} +1 -1
  110. package/dist/bellhop-core/bellhop-core.esm.js +1 -1
  111. package/dist/bellhop-core/bellhop-core.esm.js.map +1 -1
  112. package/dist/bellhop-core/bh-avatar.entry.esm.js.map +1 -1
  113. package/dist/bellhop-core/bh-button.bh-loader-spinner.entry.esm.js.map +1 -1
  114. package/dist/bellhop-core/bh-data-grid.entry.esm.js.map +1 -1
  115. package/dist/bellhop-core/bh-date-picker-content.entry.esm.js.map +1 -1
  116. package/dist/bellhop-core/bh-date-picker.entry.esm.js.map +1 -1
  117. package/dist/bellhop-core/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.esm.js.map +1 -1
  118. package/dist/bellhop-core/bh-input-text.bh-picker-menu.entry.esm.js.map +1 -1
  119. package/dist/bellhop-core/bh-label.bh-tooltip.entry.esm.js.map +1 -1
  120. package/dist/bellhop-core/bh-month-picker-content.entry.esm.js.map +1 -1
  121. package/dist/bellhop-core/bh-month-picker.entry.esm.js.map +1 -1
  122. package/dist/bellhop-core/bh-popover.entry.esm.js.map +1 -1
  123. package/dist/bellhop-core/bh-sidebar.entry.esm.js.map +1 -1
  124. package/dist/bellhop-core/index.esm.js +1 -1
  125. package/dist/bellhop-core/index.esm.js.map +1 -1
  126. package/dist/bellhop-core/{p-Ck1gRAmI.js → p-04a00da6.entry.js} +2 -2
  127. package/dist/bellhop-core/p-04a00da6.entry.js.map +1 -0
  128. package/dist/bellhop-core/{p-bd00d5ad.entry.js → p-06b0ba5f.entry.js} +2 -2
  129. package/dist/bellhop-core/{p-4a8844ff.entry.js → p-0a232a85.entry.js} +2 -2
  130. package/dist/bellhop-core/p-0d5ce369.entry.js +13 -0
  131. package/dist/bellhop-core/p-0d5ce369.entry.js.map +1 -0
  132. package/dist/bellhop-core/{p-67956598.entry.js → p-0e773f4b.entry.js} +2 -2
  133. package/dist/bellhop-core/{p-df4498cd.entry.js → p-11e84742.entry.js} +2 -2
  134. package/dist/bellhop-core/{p-a41b3673.entry.js → p-20e65b2b.entry.js} +2 -2
  135. package/dist/bellhop-core/{p-a30e22f7.entry.js → p-2349cd39.entry.js} +2 -2
  136. package/dist/bellhop-core/{p-3a1c52a9.entry.js → p-2cc352e8.entry.js} +2 -2
  137. package/dist/bellhop-core/{p-defe9916.entry.js → p-31f60dac.entry.js} +2 -2
  138. package/dist/bellhop-core/{p-defe9916.entry.js.map → p-31f60dac.entry.js.map} +1 -1
  139. package/dist/bellhop-core/{p-f85a9eaa.entry.js → p-439f8477.entry.js} +2 -2
  140. package/dist/bellhop-core/{p-a42e8ddb.entry.js → p-4bc0e720.entry.js} +2 -2
  141. package/dist/bellhop-core/{p-a42e8ddb.entry.js.map → p-4bc0e720.entry.js.map} +1 -1
  142. package/dist/bellhop-core/{p-21bc4f77.entry.js → p-4cf74f24.entry.js} +2 -2
  143. package/dist/bellhop-core/p-53dbd8bd.entry.js +2 -0
  144. package/dist/bellhop-core/p-53dbd8bd.entry.js.map +1 -0
  145. package/dist/bellhop-core/p-59e4c008.entry.js +2 -0
  146. package/dist/bellhop-core/p-59e4c008.entry.js.map +1 -0
  147. package/dist/bellhop-core/{p-62235d6e.entry.js → p-5a0b2d81.entry.js} +2 -2
  148. package/dist/bellhop-core/{p-07c9b7fa.entry.js → p-6626f089.entry.js} +2 -2
  149. package/dist/bellhop-core/{p-36166900.entry.js → p-6b428841.entry.js} +2 -2
  150. package/dist/bellhop-core/{p-6bc81ebb.entry.js → p-6d4c6b6f.entry.js} +2 -2
  151. package/dist/bellhop-core/{p-c0e36166.entry.js → p-6dad737e.entry.js} +2 -2
  152. package/dist/bellhop-core/{p-5c4f74b8.entry.js → p-738f24c8.entry.js} +2 -2
  153. package/dist/bellhop-core/{p-49edd1bb.entry.js → p-7534a8d4.entry.js} +2 -2
  154. package/dist/bellhop-core/p-7b0a4c99.entry.js +2 -0
  155. package/dist/bellhop-core/{p-7a85db89.entry.js.map → p-7b0a4c99.entry.js.map} +1 -1
  156. package/dist/bellhop-core/{p-7b0cba50.entry.js → p-84ecaf3b.entry.js} +2 -2
  157. package/dist/bellhop-core/{p-DY76Ee-p.js → p-940af1e0.entry.js} +2 -2
  158. package/dist/bellhop-core/p-940af1e0.entry.js.map +1 -0
  159. package/dist/bellhop-core/p-c0dfca99.entry.js +2 -0
  160. package/dist/bellhop-core/{p-4e483d25.entry.js.map → p-c0dfca99.entry.js.map} +1 -1
  161. package/dist/bellhop-core/{p-d5bf49ab.entry.js → p-cad28e7e.entry.js} +2 -2
  162. package/dist/bellhop-core/{p-1540001e.entry.js → p-cb0e4e35.entry.js} +2 -2
  163. package/dist/bellhop-core/{p-091171da.entry.js → p-ce2aaf37.entry.js} +2 -2
  164. package/dist/bellhop-core/p-d64525f4.entry.js +2 -0
  165. package/dist/bellhop-core/p-d64525f4.entry.js.map +1 -0
  166. package/dist/bellhop-core/p-e0f7b6d1.entry.js +2 -0
  167. package/dist/bellhop-core/p-e0f7b6d1.entry.js.map +1 -0
  168. package/dist/bellhop-core/{p-b0dda4df.entry.js → p-e83a86d6.entry.js} +2 -2
  169. package/dist/bellhop-core/{p-2db7990e.entry.js → p-e96e5aa3.entry.js} +2 -2
  170. package/dist/bellhop-core/{p-c70d11a2.entry.js → p-ed780663.entry.js} +2 -2
  171. package/dist/bellhop-core/p-f30af956.entry.js +2 -0
  172. package/dist/bellhop-core/{p-ffb29d95.entry.js.map → p-f30af956.entry.js.map} +1 -1
  173. package/dist/bellhop-core/{p-0e34250c.entry.js → p-f4dd33af.entry.js} +2 -2
  174. package/dist/bellhop-core/{p-1be3e908.entry.js → p-fe7d5dcb.entry.js} +2 -2
  175. package/dist/bellhop-core/p-nAAobRRQ.js.map +1 -1
  176. package/dist/cjs/bellhop-core.cjs.js +1 -1
  177. package/dist/cjs/bellhop-core.cjs.js.map +1 -1
  178. package/dist/cjs/bh-accordion-item.cjs.entry.js +1 -1
  179. package/dist/cjs/bh-autocomplete-menu_2.cjs.entry.js +1 -1
  180. package/dist/cjs/bh-avatar.cjs.entry.js +1 -1
  181. package/dist/cjs/bh-avatar.entry.cjs.js.map +1 -1
  182. package/dist/cjs/bh-button.bh-loader-spinner.entry.cjs.js.map +1 -1
  183. package/dist/cjs/bh-button_2.cjs.entry.js +110 -2
  184. package/dist/cjs/bh-card.cjs.entry.js +1 -1
  185. package/dist/cjs/bh-data-grid.cjs.entry.js +132 -59
  186. package/dist/cjs/bh-data-grid.entry.cjs.js.map +1 -1
  187. package/dist/cjs/bh-date-picker-content.cjs.entry.js +2 -2
  188. package/dist/cjs/bh-date-picker-content.entry.cjs.js.map +1 -1
  189. package/dist/cjs/bh-date-picker.cjs.entry.js +15 -12
  190. package/dist/cjs/bh-date-picker.entry.cjs.js.map +1 -1
  191. package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +1 -1
  192. package/dist/cjs/bh-date-range-picker.cjs.entry.js +1 -1
  193. package/dist/cjs/bh-dropdown_3.cjs.entry.js +4 -4
  194. package/dist/cjs/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.cjs.js.map +1 -1
  195. package/dist/cjs/bh-empty-state_3.cjs.entry.js +199 -6
  196. package/dist/cjs/bh-featured-icon.cjs.entry.js +1 -1
  197. package/dist/cjs/bh-illustrations.cjs.entry.js +3 -3
  198. package/dist/cjs/bh-input-autocomplete.cjs.entry.js +2 -2
  199. package/dist/cjs/bh-input-number.cjs.entry.js +1 -1
  200. package/dist/cjs/bh-input-password.cjs.entry.js +1 -1
  201. package/dist/cjs/bh-input-text.bh-picker-menu.entry.cjs.js.map +1 -1
  202. package/dist/cjs/bh-input-text_2.cjs.entry.js +2 -2
  203. package/dist/cjs/bh-input-verification.cjs.entry.js +1 -1
  204. package/dist/cjs/bh-label.bh-tooltip.entry.cjs.js.map +1 -1
  205. package/dist/cjs/bh-label_2.cjs.entry.js +104 -3
  206. package/dist/cjs/bh-modal-actions.cjs.entry.js +1 -1
  207. package/dist/cjs/bh-modal-header.cjs.entry.js +4 -4
  208. package/dist/cjs/bh-month-picker-content.cjs.entry.js +2 -2
  209. package/dist/cjs/bh-month-picker-content.entry.cjs.js.map +1 -1
  210. package/dist/cjs/bh-month-picker.cjs.entry.js +2 -2
  211. package/dist/cjs/bh-month-picker.entry.cjs.js.map +1 -1
  212. package/dist/cjs/bh-notification.cjs.entry.js +1 -1
  213. package/dist/cjs/bh-page-navigation-child.cjs.entry.js +1 -1
  214. package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +3 -3
  215. package/dist/cjs/bh-page-navigation.cjs.entry.js +1 -1
  216. package/dist/cjs/bh-pie-chart.cjs.entry.js +1 -1
  217. package/dist/cjs/bh-popover.cjs.entry.js +14 -76
  218. package/dist/cjs/bh-popover.entry.cjs.js.map +1 -1
  219. package/dist/cjs/bh-property-switcher.cjs.entry.js +1 -1
  220. package/dist/cjs/bh-sidebar.cjs.entry.js +10 -1
  221. package/dist/cjs/bh-sidebar.entry.cjs.js.map +1 -1
  222. package/dist/cjs/bh-tab-item.cjs.entry.js +2 -2
  223. package/dist/cjs/bh-tabs.cjs.entry.js +1 -1
  224. package/dist/cjs/bh-textarea.cjs.entry.js +1 -1
  225. package/dist/cjs/bh-toggle.cjs.entry.js +1 -1
  226. package/dist/cjs/bh-trend-chart.cjs.entry.js +2 -2
  227. package/dist/cjs/index-DQwSUT6k.js +42 -50
  228. package/dist/cjs/index-DQwSUT6k.js.map +1 -1
  229. package/dist/cjs/index.cjs.js +0 -31
  230. package/dist/cjs/index.cjs.js.map +1 -1
  231. package/dist/cjs/loader.cjs.js +1 -1
  232. package/dist/collection/collection-manifest.json +1 -3
  233. package/dist/collection/components/bh-accordion/bh-accordion.js +1 -1
  234. package/dist/collection/components/bh-accordion-item/bh-accordion-item.js +1 -1
  235. package/dist/collection/components/bh-appbar/bh-appbar.js +2 -2
  236. package/dist/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js +2 -2
  237. package/dist/collection/components/bh-avatar/bh-avatar.css +0 -1
  238. package/dist/collection/components/bh-avatar/bh-avatar.js +3 -3
  239. package/dist/collection/components/bh-avatar-add/bh-avatar-add.js +1 -1
  240. package/dist/collection/components/bh-avatar-stacked/bh-avatar-stacked.js +1 -1
  241. package/dist/collection/components/bh-badge/bh-badge.js +3 -3
  242. package/dist/collection/components/bh-badge-dot/bh-badge-dot.js +2 -2
  243. package/dist/collection/components/bh-bar-chart/bh-bar-chart.js +3 -3
  244. package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +2 -2
  245. package/dist/collection/components/bh-button/bh-button.js +7 -7
  246. package/dist/collection/components/bh-button/bh-button.js.map +1 -1
  247. package/dist/collection/components/bh-button-icon/bh-button-icon.js +3 -3
  248. package/dist/collection/components/bh-card/bh-card.js +1 -1
  249. package/dist/collection/components/bh-card-footer/bh-card-footer.js +1 -1
  250. package/dist/collection/components/bh-card-header/bh-card-header.js +2 -2
  251. package/dist/collection/components/bh-chart-tooltip/bh-chart-tooltip.js +1 -1
  252. package/dist/collection/components/bh-checkbox/bh-checkbox.js +1 -1
  253. package/dist/collection/components/bh-checkbox-group/bh-checkbox-group.js +1 -1
  254. package/dist/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js +2 -2
  255. package/dist/collection/components/bh-data-grid/bh-data-grid.css +86 -68
  256. package/dist/collection/components/bh-data-grid/bh-data-grid.js +132 -59
  257. package/dist/collection/components/bh-data-grid/bh-data-grid.js.map +1 -1
  258. package/dist/collection/components/bh-date-picker/bh-date-picker.css +24 -214
  259. package/dist/collection/components/bh-date-picker/bh-date-picker.js +22 -12
  260. package/dist/collection/components/bh-date-picker/bh-date-picker.js.map +1 -1
  261. package/dist/collection/components/bh-date-picker-content/bh-date-picker-content.css +0 -206
  262. package/dist/collection/components/bh-date-picker-content/bh-date-picker-content.js +7 -7
  263. package/dist/collection/components/bh-date-range-picker/bh-date-range-picker.js +2 -2
  264. package/dist/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js +4 -4
  265. package/dist/collection/components/bh-dropdown/bh-dropdown.js +5 -5
  266. package/dist/collection/components/bh-dropdown-menu/bh-dropdown-menu.js +3 -3
  267. package/dist/collection/components/bh-empty-state/bh-empty-state.js +2 -2
  268. package/dist/collection/components/bh-featured-icon/bh-featured-icon.js +4 -4
  269. package/dist/collection/components/bh-illustrations/bh-illustrations.js +4 -4
  270. package/dist/collection/components/bh-input-autocomplete/bh-input-autocomplete.js +3 -3
  271. package/dist/collection/components/bh-input-number/bh-input-number.js +1 -1
  272. package/dist/collection/components/bh-input-password/bh-input-password.js +1 -1
  273. package/dist/collection/components/bh-input-text/bh-input-text.js +1 -1
  274. package/dist/collection/components/bh-input-verification/bh-input-verification.js +3 -3
  275. package/dist/collection/components/bh-label/bh-label.js +1 -1
  276. package/dist/collection/components/bh-loader-spinner/bh-loader-spinner.js +2 -2
  277. package/dist/collection/components/bh-logo-box/bh-logo-box.js +2 -2
  278. package/dist/collection/components/bh-modal/bh-modal.js +1 -1
  279. package/dist/collection/components/bh-modal-actions/bh-modal-actions.js +2 -2
  280. package/dist/collection/components/bh-modal-header/bh-modal-header.js +4 -4
  281. package/dist/collection/components/bh-month-picker/bh-month-picker.css +0 -206
  282. package/dist/collection/components/bh-month-picker/bh-month-picker.js +2 -2
  283. package/dist/collection/components/bh-month-picker-content/bh-month-picker-content.css +0 -206
  284. package/dist/collection/components/bh-month-picker-content/bh-month-picker-content.js +5 -5
  285. package/dist/collection/components/bh-notification/bh-notification.js +2 -2
  286. package/dist/collection/components/bh-page-navigation/bh-page-navigation.js +2 -2
  287. package/dist/collection/components/bh-page-navigation-child/bh-page-navigation-child.js +1 -1
  288. package/dist/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +3 -3
  289. package/dist/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js +1 -1
  290. package/dist/collection/components/bh-pagination/bh-pagination.css +122 -58
  291. package/dist/collection/components/bh-pagination/bh-pagination.js +74 -30
  292. package/dist/collection/components/bh-pagination/bh-pagination.js.map +1 -1
  293. package/dist/collection/components/bh-picker-menu/bh-picker-menu.css +1 -3
  294. package/dist/collection/components/bh-pie-chart/bh-pie-chart.js +3 -3
  295. package/dist/collection/components/bh-popover/bh-popover.css +77 -260
  296. package/dist/collection/components/bh-popover/bh-popover.js +33 -238
  297. package/dist/collection/components/bh-popover/bh-popover.js.map +1 -1
  298. package/dist/collection/components/bh-product-switcher/bh-product-switcher.js +3 -3
  299. package/dist/collection/components/bh-property-switcher/bh-property-switcher.js +3 -3
  300. package/dist/collection/components/bh-radio-button/bh-radio-button.js +1 -1
  301. package/dist/collection/components/bh-sidebar/bh-nav-item.js +1 -1
  302. package/dist/collection/components/bh-sidebar/bh-sidebar.js +54 -4
  303. package/dist/collection/components/bh-sidebar/bh-sidebar.js.map +1 -1
  304. package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.css +9 -22
  305. package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +2 -2
  306. package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js.map +1 -1
  307. package/dist/collection/components/bh-tab-item/bh-tab-item.js +2 -2
  308. package/dist/collection/components/bh-tabs/bh-tabs.js +3 -3
  309. package/dist/collection/components/bh-tag/bh-tag.js +3 -3
  310. package/dist/collection/components/bh-textarea/bh-textarea.js +2 -2
  311. package/dist/collection/components/bh-toggle/bh-toggle.js +2 -2
  312. package/dist/collection/components/bh-tooltip/bh-tooltip.js +3 -3
  313. package/dist/collection/components/bh-trend-chart/bh-trend-chart.js +4 -4
  314. package/dist/collection/index.js +1 -23
  315. package/dist/collection/index.js.map +1 -1
  316. package/dist/esm/bellhop-core.js +1 -1
  317. package/dist/esm/bellhop-core.js.map +1 -1
  318. package/dist/esm/bh-accordion-item.entry.js +1 -1
  319. package/dist/esm/bh-autocomplete-menu_2.entry.js +1 -1
  320. package/dist/esm/bh-avatar.entry.js +1 -1
  321. package/dist/esm/bh-avatar.entry.js.map +1 -1
  322. package/dist/esm/bh-button.bh-loader-spinner.entry.js.map +1 -1
  323. package/dist/esm/bh-button_2.entry.js +111 -3
  324. package/dist/esm/bh-card.entry.js +1 -1
  325. package/dist/esm/bh-data-grid.entry.js +132 -59
  326. package/dist/esm/bh-data-grid.entry.js.map +1 -1
  327. package/dist/esm/bh-date-picker-content.entry.js +2 -2
  328. package/dist/esm/bh-date-picker-content.entry.js.map +1 -1
  329. package/dist/esm/bh-date-picker.entry.js +16 -13
  330. package/dist/esm/bh-date-picker.entry.js.map +1 -1
  331. package/dist/esm/bh-date-range-picker-content.entry.js +1 -1
  332. package/dist/esm/bh-date-range-picker.entry.js +1 -1
  333. package/dist/esm/bh-dropdown_3.entry.js +4 -4
  334. package/dist/esm/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.js.map +1 -1
  335. package/dist/esm/bh-empty-state_3.entry.js +199 -6
  336. package/dist/esm/bh-featured-icon.entry.js +1 -1
  337. package/dist/esm/bh-illustrations.entry.js +3 -3
  338. package/dist/esm/bh-input-autocomplete.entry.js +2 -2
  339. package/dist/esm/bh-input-number.entry.js +1 -1
  340. package/dist/esm/bh-input-password.entry.js +1 -1
  341. package/dist/esm/bh-input-text.bh-picker-menu.entry.js.map +1 -1
  342. package/dist/esm/bh-input-text_2.entry.js +2 -2
  343. package/dist/esm/bh-input-verification.entry.js +1 -1
  344. package/dist/esm/bh-label.bh-tooltip.entry.js.map +1 -1
  345. package/dist/esm/bh-label_2.entry.js +105 -4
  346. package/dist/esm/bh-modal-actions.entry.js +1 -1
  347. package/dist/esm/bh-modal-header.entry.js +4 -4
  348. package/dist/esm/bh-month-picker-content.entry.js +2 -2
  349. package/dist/esm/bh-month-picker-content.entry.js.map +1 -1
  350. package/dist/esm/bh-month-picker.entry.js +2 -2
  351. package/dist/esm/bh-month-picker.entry.js.map +1 -1
  352. package/dist/esm/bh-notification.entry.js +1 -1
  353. package/dist/esm/bh-page-navigation-child.entry.js +1 -1
  354. package/dist/esm/bh-page-navigation-multi-level_2.entry.js +3 -3
  355. package/dist/esm/bh-page-navigation.entry.js +1 -1
  356. package/dist/esm/bh-pie-chart.entry.js +1 -1
  357. package/dist/esm/bh-popover.entry.js +15 -77
  358. package/dist/esm/bh-popover.entry.js.map +1 -1
  359. package/dist/esm/bh-property-switcher.entry.js +1 -1
  360. package/dist/esm/bh-sidebar.entry.js +10 -1
  361. package/dist/esm/bh-sidebar.entry.js.map +1 -1
  362. package/dist/esm/bh-tab-item.entry.js +2 -2
  363. package/dist/esm/bh-tabs.entry.js +1 -1
  364. package/dist/esm/bh-textarea.entry.js +1 -1
  365. package/dist/esm/bh-toggle.entry.js +1 -1
  366. package/dist/esm/bh-trend-chart.entry.js +2 -2
  367. package/dist/esm/index-nAAobRRQ.js +42 -50
  368. package/dist/esm/index-nAAobRRQ.js.map +1 -1
  369. package/dist/esm/index.js +1 -15
  370. package/dist/esm/index.js.map +1 -1
  371. package/dist/esm/loader.js +1 -1
  372. package/dist/types/components/bh-date-picker/bh-date-picker.d.ts +11 -1
  373. package/dist/types/components/bh-pagination/bh-pagination.d.ts +7 -7
  374. package/dist/types/components/bh-popover/bh-popover.d.ts +9 -49
  375. package/dist/types/components/bh-sidebar/bh-sidebar.d.ts +9 -0
  376. package/dist/types/components.d.ts +61 -193
  377. package/dist/types/index.d.ts +13 -13
  378. package/hydrate/index.js +294 -297
  379. package/hydrate/index.mjs +294 -297
  380. package/llms.txt +22000 -1428
  381. package/package.json +1 -1
  382. package/components/bh-container-footer.d.ts +0 -11
  383. package/components/bh-container-footer.js +0 -73
  384. package/components/bh-container-footer.js.map +0 -1
  385. package/components/bh-container.d.ts +0 -11
  386. package/components/bh-container.js +0 -48
  387. package/components/bh-container.js.map +0 -1
  388. package/components/p-8bOZFmdg.js.map +0 -1
  389. package/components/p-BQKx1tGq.js.map +0 -1
  390. package/components/p-CMoGgYqw.js.map +0 -1
  391. package/components/p-CdwyUif-.js.map +0 -1
  392. package/components/p-Npcwl1Z8.js.map +0 -1
  393. package/components/p-WibqGBGu.js +0 -182
  394. package/components/p-WibqGBGu.js.map +0 -1
  395. package/dist/bellhop-core/bh-container-footer.entry.esm.js.map +0 -1
  396. package/dist/bellhop-core/bh-container.entry.esm.js.map +0 -1
  397. package/dist/bellhop-core/p-233540f9.entry.js +0 -13
  398. package/dist/bellhop-core/p-233540f9.entry.js.map +0 -1
  399. package/dist/bellhop-core/p-3194a87d.entry.js +0 -2
  400. package/dist/bellhop-core/p-3194a87d.entry.js.map +0 -1
  401. package/dist/bellhop-core/p-43c41dfb.entry.js +0 -2
  402. package/dist/bellhop-core/p-43c41dfb.entry.js.map +0 -1
  403. package/dist/bellhop-core/p-4e483d25.entry.js +0 -2
  404. package/dist/bellhop-core/p-5514d7fb.entry.js +0 -2
  405. package/dist/bellhop-core/p-5514d7fb.entry.js.map +0 -1
  406. package/dist/bellhop-core/p-7a85db89.entry.js +0 -2
  407. package/dist/bellhop-core/p-80e07b3d.entry.js +0 -2
  408. package/dist/bellhop-core/p-80e07b3d.entry.js.map +0 -1
  409. package/dist/bellhop-core/p-8962e1a6.entry.js +0 -2
  410. package/dist/bellhop-core/p-8962e1a6.entry.js.map +0 -1
  411. package/dist/bellhop-core/p-9a19cbf7.entry.js +0 -2
  412. package/dist/bellhop-core/p-9a19cbf7.entry.js.map +0 -1
  413. package/dist/bellhop-core/p-CSYwm_Ke.js +0 -2
  414. package/dist/bellhop-core/p-CSYwm_Ke.js.map +0 -1
  415. package/dist/bellhop-core/p-Ck1gRAmI.js.map +0 -1
  416. package/dist/bellhop-core/p-DY76Ee-p.js.map +0 -1
  417. package/dist/bellhop-core/p-b878539a.entry.js +0 -2
  418. package/dist/bellhop-core/p-b878539a.entry.js.map +0 -1
  419. package/dist/bellhop-core/p-c33f6e73.entry.js +0 -2
  420. package/dist/bellhop-core/p-c33f6e73.entry.js.map +0 -1
  421. package/dist/bellhop-core/p-ffb29d95.entry.js +0 -2
  422. package/dist/cjs/bh-button-DD0c0ODJ.js +0 -117
  423. package/dist/cjs/bh-button-DD0c0ODJ.js.map +0 -1
  424. package/dist/cjs/bh-container-footer.cjs.entry.js +0 -38
  425. package/dist/cjs/bh-container-footer.entry.cjs.js.map +0 -1
  426. package/dist/cjs/bh-container.cjs.entry.js +0 -26
  427. package/dist/cjs/bh-container.entry.cjs.js.map +0 -1
  428. package/dist/cjs/bh-label-MpXjm9k0.js +0 -110
  429. package/dist/cjs/bh-label-MpXjm9k0.js.map +0 -1
  430. package/dist/cjs/bh-pagination-CgER63yz.js +0 -152
  431. package/dist/cjs/bh-pagination-CgER63yz.js.map +0 -1
  432. package/dist/collection/components/bh-container/bh-container.css +0 -21
  433. package/dist/collection/components/bh-container/bh-container.js +0 -51
  434. package/dist/collection/components/bh-container/bh-container.js.map +0 -1
  435. package/dist/collection/components/bh-container-footer/bh-container-footer.css +0 -22
  436. package/dist/collection/components/bh-container-footer/bh-container-footer.js +0 -106
  437. package/dist/collection/components/bh-container-footer/bh-container-footer.js.map +0 -1
  438. package/dist/esm/bh-button-ImGVvXaj.js +0 -115
  439. package/dist/esm/bh-button-ImGVvXaj.js.map +0 -1
  440. package/dist/esm/bh-container-footer.entry.js +0 -36
  441. package/dist/esm/bh-container-footer.entry.js.map +0 -1
  442. package/dist/esm/bh-container.entry.js +0 -24
  443. package/dist/esm/bh-container.entry.js.map +0 -1
  444. package/dist/esm/bh-label-PLT7t4We.js +0 -108
  445. package/dist/esm/bh-label-PLT7t4We.js.map +0 -1
  446. package/dist/esm/bh-pagination-CUeRSYsV.js +0 -150
  447. package/dist/esm/bh-pagination-CUeRSYsV.js.map +0 -1
  448. package/dist/types/components/bh-container/bh-container.d.ts +0 -7
  449. package/dist/types/components/bh-container-footer/bh-container-footer.d.ts +0 -18
  450. /package/dist/bellhop-core/{p-bd00d5ad.entry.js.map → p-06b0ba5f.entry.js.map} +0 -0
  451. /package/dist/bellhop-core/{p-4a8844ff.entry.js.map → p-0a232a85.entry.js.map} +0 -0
  452. /package/dist/bellhop-core/{p-67956598.entry.js.map → p-0e773f4b.entry.js.map} +0 -0
  453. /package/dist/bellhop-core/{p-df4498cd.entry.js.map → p-11e84742.entry.js.map} +0 -0
  454. /package/dist/bellhop-core/{p-a41b3673.entry.js.map → p-20e65b2b.entry.js.map} +0 -0
  455. /package/dist/bellhop-core/{p-a30e22f7.entry.js.map → p-2349cd39.entry.js.map} +0 -0
  456. /package/dist/bellhop-core/{p-3a1c52a9.entry.js.map → p-2cc352e8.entry.js.map} +0 -0
  457. /package/dist/bellhop-core/{p-f85a9eaa.entry.js.map → p-439f8477.entry.js.map} +0 -0
  458. /package/dist/bellhop-core/{p-21bc4f77.entry.js.map → p-4cf74f24.entry.js.map} +0 -0
  459. /package/dist/bellhop-core/{p-62235d6e.entry.js.map → p-5a0b2d81.entry.js.map} +0 -0
  460. /package/dist/bellhop-core/{p-07c9b7fa.entry.js.map → p-6626f089.entry.js.map} +0 -0
  461. /package/dist/bellhop-core/{p-36166900.entry.js.map → p-6b428841.entry.js.map} +0 -0
  462. /package/dist/bellhop-core/{p-6bc81ebb.entry.js.map → p-6d4c6b6f.entry.js.map} +0 -0
  463. /package/dist/bellhop-core/{p-c0e36166.entry.js.map → p-6dad737e.entry.js.map} +0 -0
  464. /package/dist/bellhop-core/{p-5c4f74b8.entry.js.map → p-738f24c8.entry.js.map} +0 -0
  465. /package/dist/bellhop-core/{p-49edd1bb.entry.js.map → p-7534a8d4.entry.js.map} +0 -0
  466. /package/dist/bellhop-core/{p-7b0cba50.entry.js.map → p-84ecaf3b.entry.js.map} +0 -0
  467. /package/dist/bellhop-core/{p-d5bf49ab.entry.js.map → p-cad28e7e.entry.js.map} +0 -0
  468. /package/dist/bellhop-core/{p-1540001e.entry.js.map → p-cb0e4e35.entry.js.map} +0 -0
  469. /package/dist/bellhop-core/{p-091171da.entry.js.map → p-ce2aaf37.entry.js.map} +0 -0
  470. /package/dist/bellhop-core/{p-b0dda4df.entry.js.map → p-e83a86d6.entry.js.map} +0 -0
  471. /package/dist/bellhop-core/{p-2db7990e.entry.js.map → p-e96e5aa3.entry.js.map} +0 -0
  472. /package/dist/bellhop-core/{p-c70d11a2.entry.js.map → p-ed780663.entry.js.map} +0 -0
  473. /package/dist/bellhop-core/{p-0e34250c.entry.js.map → p-f4dd33af.entry.js.map} +0 -0
  474. /package/dist/bellhop-core/{p-1be3e908.entry.js.map → p-fe7d5dcb.entry.js.map} +0 -0
@@ -90,11 +90,11 @@ const BhPageNavigationMultiLevel = class {
90
90
  };
91
91
  }
92
92
  render() {
93
- return (index.h(index.Host, { key: 'db478fe5c9492c19a41acf68577cb78a00ebdc4f' }, index.h("div", { key: 'a968be18bbdac5bc39d45cf59b544e5384f7cdfc', class: this.getItemClasses() }, index.h("div", { key: 'da3f4a3b6246f50b27d2657080488135b85719be', class: "page-navigation-multi-level-parent", onClick: this.handleParentClick, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false) }, index.h("div", { key: '64933e8c68ae1238581e4c81f3cae937e3199b1f', class: "page-navigation-item-content" }, !this.isHovered && (index.h("span", { key: 'd8369d06118533f5cdb2e228bc72cc0aafc71b79', class: "page-navigation-item-icon material-symbols-outlined" }, this.icon)), this.isHovered && (index.h("span", { key: '852f49d37fa5d47d656aad732c46f23a4438be95', class: {
93
+ return (index.h(index.Host, { key: 'a87bd5e1926673b22bbac28ae94f0694269f3f07' }, index.h("div", { key: '8feec4d248ee32f4d2085e728990db1f9f2d14b2', class: this.getItemClasses() }, index.h("div", { key: 'aeaeae5646262b697dc151ee4996930db392234a', class: "page-navigation-multi-level-parent", onClick: this.handleParentClick, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false) }, index.h("div", { key: '72c0fb3fe1f681c484a0a5e17551d09dd068f03a', class: "page-navigation-item-content" }, !this.isHovered && (index.h("span", { key: '622878b142a39d2b5b8fa69865b55ecce0b85f47', class: "page-navigation-item-icon material-symbols-outlined" }, this.icon)), this.isHovered && (index.h("span", { key: '4844c5fe0c69a225804ecebdef091887237d4667', class: {
94
94
  'page-navigation-chevron-icon': true,
95
95
  'material-symbols-outlined': true,
96
96
  'expanded': this.isExpanded,
97
- } }, "expand_more")), index.h("span", { key: '5737917e070122fe1b74ff693ed7afceb262ca1d', class: "page-navigation-item-label" }, this.label), index.h("bh-button", { key: 'b3e29f3b6e7b64daa42a6a9a541cf0278b7dc6b5', hierarchy: "tertiary", icon: "only", size: "xs", iconName: "add", onClick: this.handleAddClick }))), (this.isExpanded || this.isAnimating) && (index.h("div", { key: 'e9f386ef6ca8757d6aad84d4e90c776e9ee82be8', class: `page-navigation-children ${this.animationClass}` }, this.childItems.map((child, index$1) => (index.h("bh-page-navigation-child", { key: index$1, label: child.label, badge: child.badge, showBadge: child.showBadge, isActive: child.isActive, onBhItemClick: () => this.handleChildClick(index$1) }))))))));
97
+ } }, "expand_more")), index.h("span", { key: '347a59718d412ab1f930ea565fb33c4f6a8be0f0', class: "page-navigation-item-label" }, this.label), index.h("bh-button", { key: '117a5ee32f65dbd9afdf499d4cc4438c9ab6a3c9', hierarchy: "tertiary", icon: "only", size: "xs", iconName: "add", onClick: this.handleAddClick }))), (this.isExpanded || this.isAnimating) && (index.h("div", { key: '56cbc14fbc61c335dfbd3a22c20a11b928ce04bd', class: `page-navigation-children ${this.animationClass}` }, this.childItems.map((child, index$1) => (index.h("bh-page-navigation-child", { key: index$1, label: child.label, badge: child.badge, showBadge: child.showBadge, isActive: child.isActive, onBhItemClick: () => this.handleChildClick(index$1) }))))))));
98
98
  }
99
99
  static get watchers() { return {
100
100
  "isExpanded": ["handleExpandedChange"]
@@ -136,7 +136,7 @@ const BhPageNavigationSingleLevel = class {
136
136
  };
137
137
  }
138
138
  render() {
139
- return (index.h(index.Host, { key: '1f58160e16d18bfe049035d33b48f14b11b676ae' }, index.h("div", { key: 'c5c44e67354359238f67df33c67e81ec2bbaf478', class: this.getItemClasses(), onClick: () => this.handleClick() }, index.h("div", { key: 'c3c3b27eaeb65d8325e5e92c428831af58a48448', class: "page-navigation-item-content" }, index.h("span", { key: 'e0e5315088e7f1c820fad38d2ae095494dc581bb', class: "page-navigation-item-icon material-symbols-outlined" }, this.icon), index.h("span", { key: '37d30adc75791076a84c58f92fd93ad7c16267f0', class: "page-navigation-item-label" }, this.label)))));
139
+ return (index.h(index.Host, { key: '5b3997d17859a74a8b564e348b8c81a440cb7776' }, index.h("div", { key: 'c34fa8060ff6baf90361a39615b344352d34ce59', class: this.getItemClasses(), onClick: () => this.handleClick() }, index.h("div", { key: 'e6dd19e247dda5dd1f957610453539cf8143440c', class: "page-navigation-item-content" }, index.h("span", { key: '3df9dacf7dc53e3afd443984e0953cb3843793c7', class: "page-navigation-item-icon material-symbols-outlined" }, this.icon), index.h("span", { key: '857b837aaa75cbcb678f7b9eb21b35be873085d1', class: "page-navigation-item-label" }, this.label)))));
140
140
  }
141
141
  };
142
142
  BhPageNavigationSingleLevel.style = bhPageNavigationSingleLevelCss;
@@ -60,7 +60,7 @@ const BhPageNavigation = class {
60
60
  this.bhItemClick.emit({ itemId, childIndex });
61
61
  };
62
62
  render() {
63
- return (index.h(index.Host, { key: 'e45e8ce3b4f0357f3e9a388083483a710b1480da' }, index.h("div", { key: 'fd2b83db1152ee0da4a3700c54bc19eb442e9b7b', class: "page-navigation" }, index.h("div", { key: 'f0ad1b96f3f1e04e38d4d9d440d3e5efe0d172a4', class: "page-navigation-header" }, index.h("h2", { key: 'd015280380f4caad460fbb919e82c774d812db98', class: "page-navigation-title" }, this.navTitle)), index.h("nav", { key: 'ac52f5b69c75376db23ce23de1ee76656cc392f3', class: "page-navigation-list" }, this.items.map(item => item.type === 'single' ? (index.h("bh-page-navigation-single-level", { key: item.id, label: item.label, icon: item.icon, isActive: item.isActive || false, onBhItemClick: () => this.handleSingleLevelClick(item.id) })) : (index.h("bh-page-navigation-multi-level", { key: item.id, label: item.label, icon: item.icon, childItems: item.children || [], isExpanded: item.isExpanded || false, onBhToggle: () => this.handleMultiLevelToggle(item.id), onBhChildClick: (e) => this.handleMultiLevelChildClick(item.id, e.detail) })))))));
63
+ return (index.h(index.Host, { key: '96e305381a9f4148c9adaaefd27c7deca8071bfb' }, index.h("div", { key: '5f00d8f3c967ba122b987fe414c8a9f48a86c4ae', class: "page-navigation" }, index.h("div", { key: 'c4d5cd5413aee68055cf864a1f5b2b54159b7249', class: "page-navigation-header" }, index.h("h2", { key: '1c5e9d38b17e7ed63f3b69fd324fec86aa806a6b', class: "page-navigation-title" }, this.navTitle)), index.h("nav", { key: '3db056f1d9d6e607cc69d27df7ff25e6fbaac8c1', class: "page-navigation-list" }, this.items.map(item => item.type === 'single' ? (index.h("bh-page-navigation-single-level", { key: item.id, label: item.label, icon: item.icon, isActive: item.isActive || false, onBhItemClick: () => this.handleSingleLevelClick(item.id) })) : (index.h("bh-page-navigation-multi-level", { key: item.id, label: item.label, icon: item.icon, childItems: item.children || [], isExpanded: item.isExpanded || false, onBhToggle: () => this.handleMultiLevelToggle(item.id), onBhChildClick: (e) => this.handleMultiLevelChildClick(item.id, e.detail) })))))));
64
64
  }
65
65
  static get watchers() { return {
66
66
  "navigationItems": ["handleNavigationItemsChange"]
@@ -140,7 +140,7 @@ const BhPieChart = class {
140
140
  render() {
141
141
  const segments = this.getSegments();
142
142
  const innerRadius = this.getInnerRadius();
143
- return (index.h(index.Host, { key: 'b0778f7ed499f578b25907f73be6e7ddbbd9fa17' }, index.h("div", { key: '440259b95d6e65282452619ee2a0cfc890f45443', class: "pie-chart-container", style: { width: `${this.size}px`, height: `${this.size}px` } }, index.h("svg", { key: '183c562c5a65095667964dc5a80b84fdf28d7704', width: this.size, height: this.size, viewBox: "0 0 160 160", class: "pie-chart-svg" }, index.h("circle", { key: '1afac01e292252211943372018476565dabefbb2', cx: "80", cy: "80", r: "80", fill: "transparent", class: "pie-background" }), segments.map((segment, index$1) => (index.h("g", { key: index$1, class: "pie-segment-group" }, index.h("path", { d: segment.path, fill: segment.color, class: { 'pie-segment': true, animated: this.animated }, style: { animationDelay: this.animated ? `${index$1 * 0.03}s` : '0s' }, onMouseEnter: (e) => this.handleSegmentHover(e, segment), onMouseLeave: this.handleSegmentLeave })))), this.hole !== 'none' && (index.h("circle", { key: 'bb64355e6be750e413926fca053c2bc100aa821e', cx: "80", cy: "80", r: innerRadius, fill: "white", class: "pie-inner-hole" })))), index.h("bh-chart-tooltip", { key: '1760b14f54066a4ae146e9802a9888e7f44bce19', visible: this.tooltipVisible, x: this.tooltipX, y: this.tooltipY, items: this.tooltipSegment
143
+ return (index.h(index.Host, { key: '0bd86f47684f8fa73b3460af4d245337136fc319' }, index.h("div", { key: '9a7c0944d029a7065735ff647f1e2502af2bb783', class: "pie-chart-container", style: { width: `${this.size}px`, height: `${this.size}px` } }, index.h("svg", { key: 'c272bad8a5050cbc28ac803ea68b27b7179f1d1a', width: this.size, height: this.size, viewBox: "0 0 160 160", class: "pie-chart-svg" }, index.h("circle", { key: '21503d47d3ad7976bc2c2b5926785c2144d579ea', cx: "80", cy: "80", r: "80", fill: "transparent", class: "pie-background" }), segments.map((segment, index$1) => (index.h("g", { key: index$1, class: "pie-segment-group" }, index.h("path", { d: segment.path, fill: segment.color, class: { 'pie-segment': true, animated: this.animated }, style: { animationDelay: this.animated ? `${index$1 * 0.03}s` : '0s' }, onMouseEnter: (e) => this.handleSegmentHover(e, segment), onMouseLeave: this.handleSegmentLeave })))), this.hole !== 'none' && (index.h("circle", { key: 'f42c781fc5378af859f7a460ac0665cfd3360599', cx: "80", cy: "80", r: innerRadius, fill: "white", class: "pie-inner-hole" })))), index.h("bh-chart-tooltip", { key: '179c0d15c9895199dc6d169e400c6f4ff832215b', visible: this.tooltipVisible, x: this.tooltipX, y: this.tooltipY, items: this.tooltipSegment
144
144
  ? [
145
145
  {
146
146
  label: this.tooltipSegment.name,
@@ -2,96 +2,34 @@
2
2
 
3
3
  var index = require('./index-DQwSUT6k.js');
4
4
 
5
- const bhPopoverCss = ".popover{position:relative;border-radius:var(--radius-md);width:320px}.popover-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow:hidden;position:relative;width:100%;height:100%}.popover-menu{background-color:#ffffff;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow:hidden;position:relative;border-radius:var(--radius-md);flex-shrink:0;width:100%;max-height:400px;border:1px solid #dcdfea;box-shadow:var(--shadow-popover)}.popover-header{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:var(--spacing-lg) var(--spacing-xl);position:relative;flex-shrink:0;width:100%;border-bottom:1px solid #dcdfea}.avatar-group{display:flex;gap:var(--spacing-lg);align-items:center;justify-content:flex-start;position:relative;flex-shrink:0;width:100%}.avatar{background-color:#ffffff;position:relative;border-radius:var(--radius-full);flex-shrink:0;width:40px;height:40px;border:0.75px solid rgba(0, 0, 0, 0.08);overflow:hidden;display:flex;align-items:center;justify-content:center}.avatar-image{width:100%;height:100%;object-fit:cover}.brand-info{flex-basis:0;display:flex;flex-direction:column;flex-grow:1;align-items:flex-start;justify-content:flex-start;line-height:0;min-height:1px;min-width:1px;position:relative;flex-shrink:0}.brand-name{font-family:var(--font-inter);font-weight:600;position:relative;flex-shrink:0;color:#404968;font-size:14px;line-height:20px;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.portfolio-link{font-family:var(--font-inter);font-weight:400;position:relative;flex-shrink:0;color:#2642cf;font-size:14px;line-height:20px;width:100%;text-decoration:underline;text-decoration-skip-ink:none;text-underline-position:from-font;background:none;border:none;cursor:pointer;text-align:left;padding:0}.portfolio-link:hover{color:#1a2bb8}.search-container{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;overflow:visible;padding:0;position:relative;flex-shrink:0;width:100%}.search-input{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-none) var(--spacing-none) var(--spacing-lg);align-items:flex-start;justify-content:flex-start;position:relative;flex-shrink:0;width:100%}.search-content{background-color:#ffffff;box-sizing:border-box;display:flex;gap:var(--spacing-md);height:var(--spacing-4xl);align-items:center;justify-content:flex-start;overflow:hidden;padding:var(--spacing-none);position:relative;border-radius:var(--radius-md);flex-shrink:0;width:100%;border:none}.search-icon{width:20px;height:20px;flex-shrink:0;color:#5d6b98}.search-field{flex-basis:0;font-family:var(--font-inter);font-weight:500;flex-grow:1;line-height:0;min-height:1px;min-width:1px;overflow:hidden;text-overflow:ellipsis;position:relative;flex-shrink:0;color:#404968;font-size:14px;line-height:20px;white-space:nowrap;border:none;outline:none;background:none}.search-field::placeholder{color:#5d6b98}.menu-items{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow-y:auto;padding:var(--spacing-xs) var(--spacing-none);position:relative;flex-grow:1;width:100%;max-height:calc(400px - 180px)}.menu-header{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:var(--spacing-lg) var(--spacing-xl);position:relative;flex-shrink:0;width:100%;border-top:1px solid #dcdfea;border-bottom:1px solid #dcdfea;font-family:var(--font-inter);font-weight:600;line-height:0;color:#404968;font-size:14px;line-height:20px}.menu-item-container{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-xxs) var(--spacing-sm);position:relative;flex-shrink:0;width:100%}.menu-item{flex-basis:0;box-sizing:border-box;display:flex;flex-grow:1;align-items:center;justify-content:flex-start;min-height:1px;min-width:1px;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;border-radius:var(--radius-sm);flex-shrink:0;font-family:var(--font-inter);font-weight:500;line-height:0;color:#404968;font-size:14px;line-height:20px;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:all 0.2s ease}.menu-item:hover{background-color:#f9f9fb;color:#30374f}.menu-item.selected{background-color:#f9f9fb;color:#30374f}.menu-item-portfolio{font-weight:600;color:#2642cf}.menu-item-portfolio:hover{color:#1a2bb8}.menu-item-region{font-weight:500;padding-left:26px;color:#404968;font-size:13px}.menu-item-property{color:#5d6b98;font-size:13px}";
5
+ const bhPopoverCss = ":host{display:inline-block;position:relative}.popover-wrapper{position:absolute;left:50%;transform:translateX(-50%);z-index:1000;width:max-content;width:-webkit-max-content;max-width:var(--max-width, 285px);flex-direction:column;align-items:center;gap:0;padding:0}.popover-wrapper.top{bottom:100%;margin-bottom:10px}.popover-wrapper.bottom{top:100%;margin-top:10px}.popover-content{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:0;border-radius:var(--radius-md, 8px);background-color:var(--color-white, #ffffff);box-shadow:var(--shadow-md);overflow:hidden}.popover-text{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:var(--sp-3, 12px)}.popover-text.with-title{padding:var(--sp-3, 12px);border-radius:var(--radius-md, 8px);overflow:hidden}.content-text{font-family:var(--font-family-body, 'Inter', sans-serif);font-size:var(--text-sm-size, 14px);font-weight:var(--weight-medium, 500);line-height:var(--text-xs-line, 18px);letter-spacing:0;color:var(--color-neutral-600, #4a5578);margin:0;white-space:pre-wrap}.popover-header{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;width:100%;overflow:hidden}.header-content{display:flex;gap:var(--sp-4, 16px);align-items:flex-start;padding:var(--sp-3, 12px);width:100%}.header-text{display:flex;flex-direction:column;flex:1;gap:var(--sp-1, 4px);align-items:flex-start;min-height:1px;min-width:1px;padding:0}.title-text{font-family:var(--font-family-body, 'Inter', sans-serif);font-size:var(--text-sm-size, 14px);font-weight:var(--weight-semibold, 600);line-height:var(--text-sm-line, 20px);letter-spacing:0;color:var(--color-neutral-900, #111322);margin:0;width:100%;white-space:pre-wrap}.divider{width:100%;height:1px;background-color:var(--color-neutral-200, #dcdfea)}";
6
6
 
7
7
  const BhPopover = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
- this.bhItemSelect = index.createEvent(this, "bhItemSelect");
11
- this.bhPortfolioClick = index.createEvent(this, "bhPortfolioClick");
12
- this.bhSearchChange = index.createEvent(this, "bhSearchChange");
13
10
  }
14
11
  /**
15
- * Title displayed in the header
12
+ * Optional title for the popover. If provided, displays "With title" variant
13
+ * Named popoverTitle to avoid conflict with HTMLElement.title
16
14
  */
17
- popoverTitle = 'Brand Name';
15
+ popoverTitle;
18
16
  /**
19
- * Text for the portfolio link
17
+ * Content text for the popover
20
18
  */
21
- viewPortfolioText = 'view portfolio';
19
+ content;
22
20
  /**
23
- * Placeholder text for search input
21
+ * Maximum width of the popover
24
22
  */
25
- searchPlaceholder = 'Search by name or region';
23
+ maxWidth = '285px';
26
24
  /**
27
- * Width of the popover
25
+ * Position of the popover relative to the trigger element
28
26
  */
29
- width = '240px';
30
- /**
31
- * Whether to show search input
32
- */
33
- showSearch = true;
34
- /**
35
- * Whether to show avatar section
36
- */
37
- showAvatar = true;
38
- /**
39
- * Avatar image source URL
40
- */
41
- avatarSrc;
42
- /**
43
- * Menu items array (JSON string or array)
44
- */
45
- items = [];
46
- searchTerm = '';
47
- /**
48
- * Event emitted when a menu item is selected
49
- */
50
- bhItemSelect;
51
- /**
52
- * Event emitted when portfolio link is clicked
53
- */
54
- bhPortfolioClick;
55
- /**
56
- * Event emitted when search input changes
57
- */
58
- bhSearchChange;
59
- get parsedItems() {
60
- if (typeof this.items === 'string') {
61
- try {
62
- return JSON.parse(this.items);
63
- }
64
- catch {
65
- return [];
66
- }
67
- }
68
- return this.items || [];
69
- }
70
- handleItemClick = (item) => {
71
- if (item.type !== 'header') {
72
- this.bhItemSelect.emit(item);
73
- }
74
- };
75
- handlePortfolioClick = () => {
76
- this.bhPortfolioClick.emit();
77
- };
78
- handleSearchInput = (event) => {
79
- const target = event.target;
80
- this.searchTerm = target.value;
81
- this.bhSearchChange.emit(this.searchTerm);
82
- };
83
- getItemClasses(item) {
84
- return {
85
- 'menu-item': true,
86
- 'selected': !!item.selected,
87
- 'menu-item-portfolio': item.type === 'portfolio',
88
- 'menu-item-region': item.type === 'region',
89
- 'menu-item-property': item.type === 'property',
90
- };
91
- }
27
+ position = 'top'; // Default to top
92
28
  render() {
93
- const items = this.parsedItems;
94
- return (index.h(index.Host, { key: '25499890c1864435bae214a37f7fc8d565d8f3da' }, index.h("div", { key: 'de6ade64a6cdf7ab299d0ee9187b676d2841d89c', class: "popover", style: { width: this.width } }, index.h("div", { key: '19d68a071d41a928dde7070ce17ef61ef0770118', class: "popover-content" }, index.h("div", { key: '103181dbb1ff47314cff71869bb84ad06c78de78', class: "popover-menu" }, this.showAvatar && (index.h("div", { key: 'd6b413cd6c726078e414174cfc75d5e95ffacddc', class: "popover-header" }, index.h("div", { key: '4cdad2a1457d4b8df7baeb0f04d849f47471a727', class: "avatar-group" }, index.h("div", { key: '7c59b44499eaba8da0982939dacef30899273c02', class: "avatar" }, this.avatarSrc ? (index.h("img", { src: this.avatarSrc, alt: this.popoverTitle, class: "avatar-image" })) : (index.h("slot", { name: "avatar" }))), index.h("div", { key: 'bfab1ee98a218d4ee75055872542135fbf179069', class: "brand-info" }, index.h("div", { key: '9eed24402c23ba99fa9fbcaf4b0a430ea01fe263', class: "brand-name" }, this.popoverTitle), this.viewPortfolioText && (index.h("button", { key: '2056c40e002bd029545f2f2fb898eed39f8f93db', class: "portfolio-link", onClick: this.handlePortfolioClick, type: "button" }, this.viewPortfolioText)))))), this.showSearch && (index.h("div", { key: 'd8b487b553522f4c5a0e9e74755c53fb7ff5dc1b', class: "search-container" }, index.h("div", { key: 'a20d988fa3f86e7c26a1b31ed04b4adfa34a7a36', class: "search-input" }, index.h("div", { key: 'd75a244d37324a84a8ae8501f334f84a52fe9b0e', class: "search-content" }, index.h("span", { key: '394b2c5f23949c72109ca5c441ef3069a6424530', class: "material-symbols-outlined search-icon" }, "search"), index.h("input", { key: '1887ff5e6d3b3c857b5e980d33d8adc0076b23a1', type: "text", placeholder: this.searchPlaceholder, value: this.searchTerm, onInput: this.handleSearchInput, class: "search-field" }))))), index.h("div", { key: 'e2b6ff5f6b7ba5929db7a9d1401ae2cfc1089eb7', class: "menu-items" }, items.map((item) => (index.h("div", { key: item.id }, item.type === 'header' && (index.h("div", { class: "menu-header" }, item.label)), item.type !== 'header' && (index.h("div", { class: "menu-item-container" }, index.h("button", { class: this.getItemClasses(item), onClick: () => this.handleItemClick(item), type: "button" }, item.label))))))))))));
29
+ const hasTitle = !!this.popoverTitle;
30
+ return (
31
+ // Move the style here so it controls the entire popover window
32
+ index.h("div", { key: '8e25b3b1975a401c7c3b227bd9d9bd0a9e58d9e8', class: `popover-wrapper ${this.position}`, style: { maxWidth: this.maxWidth } }, index.h("div", { key: 'e982c62eb6f595d28405c22218127aac02a2b18d', class: "popover-content" }, hasTitle && (index.h("div", { key: '6317cf01a6b6a8cc5ec1ff6b25494bb87bf61d38', class: "popover-header" }, index.h("div", { key: 'd1adadc130346c805f483b5383212a865c4bf816', class: "header-content" }, index.h("div", { key: 'bd19b1f54fcee4af8efc3e1078dfa8e455a34ca9', class: "header-text" }, index.h("p", { key: '2a22f82dea6194a7b0fce24c317e8e7fe00fcec0', class: "title-text" }, this.popoverTitle))), index.h("div", { key: 'f72dda514238a1736913301a52a095f264d67d79', class: "divider" }))), index.h("div", { key: '6469027a70e22c5d80275d9816f50b351e572573', class: hasTitle ? 'popover-text with-title' : 'popover-text' }, this.content ? (index.h("p", { class: "content-text" }, this.content)) : (index.h("slot", null))))));
95
33
  }
96
34
  };
97
35
  BhPopover.style = bhPopoverCss;
@@ -1 +1 @@
1
- {"version":3,"file":"bh-popover.entry.cjs.js","sources":["src/components/bh-popover/bh-popover.css?tag=bh-popover&encapsulation=shadow","src/components/bh-popover/bh-popover.tsx"],"sourcesContent":["/* Popover Container */\n.popover {\n position: relative;\n border-radius: var(--radius-md);\n width: 320px;\n}\n\n.popover-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.popover-menu {\n background-color: #ffffff;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n border-radius: var(--radius-md);\n flex-shrink: 0;\n width: 100%;\n max-height: 400px;\n border: 1px solid #dcdfea;\n box-shadow: var(--shadow-popover);\n}\n\n/* Header */\n.popover-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n border-bottom: 1px solid #dcdfea;\n}\n\n.avatar-group {\n display: flex;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.avatar {\n background-color: #ffffff;\n position: relative;\n border-radius: var(--radius-full);\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n border: 0.75px solid rgba(0, 0, 0, 0.08);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.brand-info {\n flex-basis: 0;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n align-items: flex-start;\n justify-content: flex-start;\n line-height: 0;\n min-height: 1px;\n min-width: 1px;\n position: relative;\n flex-shrink: 0;\n}\n\n.brand-name {\n font-family: var(--font-inter);\n font-weight: 600;\n position: relative;\n flex-shrink: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.portfolio-link {\n font-family: var(--font-inter);\n font-weight: 400;\n position: relative;\n flex-shrink: 0;\n color: #2642cf;\n font-size: 14px;\n line-height: 20px;\n width: 100%;\n text-decoration: underline;\n text-decoration-skip-ink: none;\n text-underline-position: from-font;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n padding: 0;\n}\n\n.portfolio-link:hover {\n color: #1a2bb8;\n}\n\n/* Search Container */\n.search-container {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: center;\n justify-content: center;\n overflow: visible;\n padding: 0;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.search-input {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n padding: var(--spacing-xs) var(--spacing-none) var(--spacing-none) var(--spacing-lg);\n align-items: flex-start;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.search-content {\n background-color: #ffffff;\n box-sizing: border-box;\n display: flex;\n gap: var(--spacing-md);\n height: var(--spacing-4xl);\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n padding: var(--spacing-none);\n position: relative;\n border-radius: var(--radius-md);\n flex-shrink: 0;\n width: 100%;\n border: none;\n}\n\n.search-icon {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: #5d6b98;\n}\n\n.search-field {\n flex-basis: 0;\n font-family: var(--font-inter);\n font-weight: 500;\n flex-grow: 1;\n line-height: 0;\n min-height: 1px;\n min-width: 1px;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex-shrink: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n border: none;\n outline: none;\n background: none;\n}\n\n.search-field::placeholder {\n color: #5d6b98;\n}\n\n/* Menu Items */\n.menu-items {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow-y: auto;\n padding: var(--spacing-xs) var(--spacing-none);\n position: relative;\n flex-grow: 1;\n width: 100%;\n max-height: calc(400px - 180px);\n}\n\n.menu-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n border-top: 1px solid #dcdfea;\n border-bottom: 1px solid #dcdfea;\n font-family: var(--font-inter);\n font-weight: 600;\n line-height: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n}\n\n.menu-item-container {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-xxs) var(--spacing-sm);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.menu-item {\n flex-basis: 0;\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: flex-start;\n min-height: 1px;\n min-width: 1px;\n overflow: hidden;\n padding: var(--spacing-md) var(--spacing-lg);\n position: relative;\n border-radius: var(--radius-sm);\n flex-shrink: 0;\n font-family: var(--font-inter);\n font-weight: 500;\n line-height: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n width: 100%;\n transition: all 0.2s ease;\n}\n\n.menu-item:hover {\n background-color: #f9f9fb;\n color: #30374f;\n}\n\n.menu-item.selected {\n background-color: #f9f9fb;\n color: #30374f;\n}\n\n/* Property Type Styling */\n.menu-item-portfolio {\n font-weight: 600;\n color: #2642cf;\n}\n\n.menu-item-portfolio:hover {\n color: #1a2bb8;\n}\n\n.menu-item-region {\n font-weight: 500;\n padding-left: 26px;\n color: #404968;\n font-size: 13px;\n}\n\n.menu-item-property {\n color: #5d6b98;\n font-size: 13px;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport interface PopoverItem {\n id: string;\n label: string;\n type?: 'portfolio' | 'region' | 'property' | 'header';\n selected?: boolean;\n}\n\n@Component({\n tag: 'bh-popover',\n styleUrl: 'bh-popover.css',\n shadow: true,\n})\nexport class BhPopover {\n /**\n * Title displayed in the header\n */\n @Prop() popoverTitle: string = 'Brand Name';\n\n /**\n * Text for the portfolio link\n */\n @Prop() viewPortfolioText: string = 'view portfolio';\n\n /**\n * Placeholder text for search input\n */\n @Prop() searchPlaceholder: string = 'Search by name or region';\n\n /**\n * Width of the popover\n */\n @Prop() width: string = '240px';\n\n /**\n * Whether to show search input\n */\n @Prop() showSearch: boolean = true;\n\n /**\n * Whether to show avatar section\n */\n @Prop() showAvatar: boolean = true;\n\n /**\n * Avatar image source URL\n */\n @Prop() avatarSrc?: string;\n\n /**\n * Menu items array (JSON string or array)\n */\n @Prop() items: PopoverItem[] | string = [];\n\n @State() searchTerm: string = '';\n\n /**\n * Event emitted when a menu item is selected\n */\n @Event() bhItemSelect!: EventEmitter<PopoverItem>;\n\n /**\n * Event emitted when portfolio link is clicked\n */\n @Event() bhPortfolioClick!: EventEmitter<void>;\n\n /**\n * Event emitted when search input changes\n */\n @Event() bhSearchChange!: EventEmitter<string>;\n\n private get parsedItems(): PopoverItem[] {\n if (typeof this.items === 'string') {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n return this.items || [];\n }\n\n private handleItemClick = (item: PopoverItem) => {\n if (item.type !== 'header') {\n this.bhItemSelect.emit(item);\n }\n };\n\n private handlePortfolioClick = () => {\n this.bhPortfolioClick.emit();\n };\n\n private handleSearchInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.searchTerm = target.value;\n this.bhSearchChange.emit(this.searchTerm);\n };\n\n private getItemClasses(item: PopoverItem): Record<string, boolean> {\n return {\n 'menu-item': true,\n 'selected': !!item.selected,\n 'menu-item-portfolio': item.type === 'portfolio',\n 'menu-item-region': item.type === 'region',\n 'menu-item-property': item.type === 'property',\n };\n }\n\n render() {\n const items = this.parsedItems;\n\n return (\n <Host>\n <div class=\"popover\" style={{ width: this.width }}>\n <div class=\"popover-content\">\n <div class=\"popover-menu\">\n {/* Header with Brand/Avatar */}\n {this.showAvatar && (\n <div class=\"popover-header\">\n <div class=\"avatar-group\">\n <div class=\"avatar\">\n {this.avatarSrc ? (\n <img src={this.avatarSrc} alt={this.popoverTitle} class=\"avatar-image\" />\n ) : (\n <slot name=\"avatar\" />\n )}\n </div>\n <div class=\"brand-info\">\n <div class=\"brand-name\">{this.popoverTitle}</div>\n {this.viewPortfolioText && (\n <button\n class=\"portfolio-link\"\n onClick={this.handlePortfolioClick}\n type=\"button\"\n >\n {this.viewPortfolioText}\n </button>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Search Input */}\n {this.showSearch && (\n <div class=\"search-container\">\n <div class=\"search-input\">\n <div class=\"search-content\">\n <span class=\"material-symbols-outlined search-icon\">search</span>\n <input\n type=\"text\"\n placeholder={this.searchPlaceholder}\n value={this.searchTerm}\n onInput={this.handleSearchInput}\n class=\"search-field\"\n />\n </div>\n </div>\n </div>\n )}\n\n {/* Menu Items */}\n <div class=\"menu-items\">\n {items.map((item) => (\n <div key={item.id}>\n {/* Header Item */}\n {item.type === 'header' && (\n <div class=\"menu-header\">{item.label}</div>\n )}\n\n {/* Regular Item */}\n {item.type !== 'header' && (\n <div class=\"menu-item-container\">\n <button\n class={this.getItemClasses(item)}\n onClick={() => this.handleItemClick(item)}\n type=\"button\"\n >\n {item.label}\n </button>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"bh-popover.entry.cjs.js","sources":["src/components/bh-popover/bh-popover.css?tag=bh-popover&encapsulation=shadow","src/components/bh-popover/bh-popover.tsx"],"sourcesContent":["/* ==========================================================================\n BH-POPOVER COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n/* Popover Wrapper */\n.popover-wrapper {\n position: absolute;\n left: 50%;\n transform: translateX(-50%); /* Centers the popover horizontally */\n z-index: 1000;\n width: max-content;\n width: -webkit-max-content;\n max-width: var(--max-width, 285px);\n flex-direction: column;\n align-items: center;\n gap: 0;\n padding: 0;\n}\n\n.popover-wrapper.top {\n bottom: 100%;\n margin-bottom: 10px;\n}\n\n.popover-wrapper.bottom {\n top: 100%;\n margin-top: 10px;\n}\n\n/* Popover Content Container */\n.popover-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n gap: 0;\n border-radius: var(--radius-md, 8px);\n background-color: var(--color-white, #ffffff);\n box-shadow: var(--shadow-md);\n overflow: hidden;\n}\n\n/* ==========================================================================\n Popover Text (Default Variant)\n ========================================================================== */\n\n.popover-text {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0;\n padding: var(--sp-3, 12px);\n}\n\n.popover-text.with-title {\n padding: var(--sp-3, 12px);\n border-radius: var(--radius-md, 8px);\n overflow: hidden;\n}\n\n.content-text {\n font-family: var(--font-family-body, 'Inter', sans-serif);\n font-size: var(--text-sm-size, 14px);\n font-weight: var(--weight-medium, 500);\n line-height: var(--text-xs-line, 18px);\n letter-spacing: 0;\n color: var(--color-neutral-600, #4a5578);\n margin: 0;\n white-space: pre-wrap;\n}\n\n/* ==========================================================================\n Popover Header (With Title Variant)\n ========================================================================== */\n\n.popover-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0;\n padding: 0;\n width: 100%;\n overflow: hidden;\n}\n\n.header-content {\n display: flex;\n gap: var(--sp-4, 16px);\n align-items: flex-start;\n padding: var(--sp-3, 12px);\n width: 100%;\n}\n\n.header-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: var(--sp-1, 4px);\n align-items: flex-start;\n min-height: 1px;\n min-width: 1px;\n padding: 0;\n}\n\n.title-text {\n font-family: var(--font-family-body, 'Inter', sans-serif);\n font-size: var(--text-sm-size, 14px);\n font-weight: var(--weight-semibold, 600);\n line-height: var(--text-sm-line, 20px);\n letter-spacing: 0;\n color: var(--color-neutral-900, #111322);\n margin: 0;\n width: 100%;\n white-space: pre-wrap;\n}\n\n/* Divider */\n.divider {\n width: 100%;\n height: 1px;\n background-color: var(--color-neutral-200, #dcdfea);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'bh-popover',\n styleUrl: 'bh-popover.css',\n shadow: true,\n})\nexport class BhPopover {\n /**\n * Optional title for the popover. If provided, displays \"With title\" variant\n * Named popoverTitle to avoid conflict with HTMLElement.title\n */\n @Prop() popoverTitle?: string;\n\n /**\n * Content text for the popover\n */\n @Prop() content?: string;\n\n /**\n * Maximum width of the popover\n */\n @Prop() maxWidth: string = '285px';\n\n /**\n * Position of the popover relative to the trigger element\n */\n @Prop() position: 'top' | 'bottom' = 'top'; // Default to top\n\n render() {\n const hasTitle = !!this.popoverTitle;\n\n return (\n // Move the style here so it controls the entire popover window\n <div\n class={`popover-wrapper ${this.position}`}\n style={{ maxWidth: this.maxWidth }}\n >\n <div class=\"popover-content\">\n {hasTitle && (\n <div class=\"popover-header\">\n <div class=\"header-content\">\n <div class=\"header-text\">\n <p class=\"title-text\">{this.popoverTitle}</p>\n </div>\n </div>\n <div class=\"divider\"></div>\n </div>\n )}\n\n <div class={hasTitle ? 'popover-text with-title' : 'popover-text'}>\n {this.content ? (\n <p class=\"content-text\">{this.content}</p>\n ) : (\n <slot />\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,0vDAA0vD;;MCOlwD,SAAS,GAAA,MAAA;;;;AACpB;;;AAGG;AACK,IAAA,YAAY;AAEpB;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;IACK,QAAQ,GAAW,OAAO;AAElC;;AAEG;AACK,IAAA,QAAQ,GAAqB,KAAK,CAAC;IAE3C,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY;QAEpC;;AAEE,QAAAA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,CAAmB,gBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA,CAAE,EACzC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAA,EAElCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EACzB,QAAQ,KACPA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EAAE,IAAI,CAAC,YAAY,CAAK,CACzC,CACF,EACNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,SAAS,EAAA,CAAO,CACvB,CACP,EAEDA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,QAAQ,GAAG,yBAAyB,GAAG,cAAc,EAC9D,EAAA,IAAI,CAAC,OAAO,IACXA,OAAG,CAAA,GAAA,EAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,OAAO,CAAK,KAE1CA,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACT,CACG,CACF,CACF;;;;;;;"}
@@ -220,7 +220,7 @@ const BhPropertySwitcher = class {
220
220
  };
221
221
  const selectedProp = this.getSelectedProperty();
222
222
  const displayName = this.internalSelectedProperty || this.selectedProperty;
223
- return (index.h(index.Host, { key: '02541bacd9b48dbf5c8939ed6b4f9a08393e788c' }, index.h("div", { key: 'cb0f6de5ee67caa19e6a7022ec89347d81dbda7e', ref: (el) => (this.switcherRef = el), class: containerClasses }, index.h("button", { key: '4fc5cd736389e8707d4c86ae319a721e685dc88a', class: "property-selector", onClick: () => this.handleToggle(), "aria-expanded": this.isExpanded ? 'true' : 'false', "aria-label": `Property selector: ${displayName}` }, selectedProp && (index.h("span", { key: 'dfe3c36f344113c8edb18c234dc0e9d81fbed9ef', class: "material-symbols-outlined selector-icon" }, this.getPropertyIcon(selectedProp.type))), index.h("span", { key: 'e83cbe7b26f6d8b94557003da87580dd00053acc', class: "property-name" }, displayName), index.h("span", { key: '4f6d01218d1d60afaa148d375d911d2701d9b5bd', class: "material-symbols-outlined expand-icon", "aria-label": this.isExpanded ? 'Collapse Options' : 'Expand Options' }, this.isExpanded ? 'unfold_less' : 'unfold_more')), this.isExpanded && (index.h("div", { key: '9c6ee765cd36535305b9236d46ba96657aeac308', class: "dropdown-panel" }, this.renderSearchInput(), index.h("div", { key: '5433d7a5ad985549a332cd7df7070d123ce98153', class: "dropdown-content" }, this.grouped
223
+ return (index.h(index.Host, { key: '7e3609a6aaf8106b84cf44bb14341d52577b9440' }, index.h("div", { key: 'ec38e607ef107488e0a82ff4a26f281ffb76671f', ref: (el) => (this.switcherRef = el), class: containerClasses }, index.h("button", { key: 'e6690cf6fe84ae83d918311e94216d9433447878', class: "property-selector", onClick: () => this.handleToggle(), "aria-expanded": this.isExpanded ? 'true' : 'false', "aria-label": `Property selector: ${displayName}` }, selectedProp && (index.h("span", { key: 'f1f90104f3f3a105eeeb1ed3ea4ce9dd4b685f6a', class: "material-symbols-outlined selector-icon" }, this.getPropertyIcon(selectedProp.type))), index.h("span", { key: 'c7b8b1eeb3f7d757e5758eb8a56057f6ef0b1734', class: "property-name" }, displayName), index.h("span", { key: 'ad1e8c8d784e23a17a71b8c826d8929e3caf833d', class: "material-symbols-outlined expand-icon", "aria-label": this.isExpanded ? 'Collapse Options' : 'Expand Options' }, this.isExpanded ? 'unfold_less' : 'unfold_more')), this.isExpanded && (index.h("div", { key: '76b349f2a94edfc69a17c3c58f4b7d3c5f1e3c64', class: "dropdown-panel" }, this.renderSearchInput(), index.h("div", { key: 'a10135c8a9f3b7962045a2eda1226ea5b104470d', class: "dropdown-content" }, this.grouped
224
224
  ? this.renderGroupedView()
225
225
  : this.renderFlatView()))))));
226
226
  }
@@ -15,6 +15,15 @@ const BhSidebar = class {
15
15
  * Type of logo to display
16
16
  */
17
17
  logoType = 'actabl';
18
+ /**
19
+ * Custom logo source URL. If provided, overrides the default logo path.
20
+ */
21
+ logoSrc;
22
+ /**
23
+ * Base path for asset URLs. Useful for CDN usage.
24
+ * @example "https://cdn.jsdelivr.net/npm/@actabldesign/bellhop-assets@0.0.7"
25
+ */
26
+ assetBasePath;
18
27
  /**
19
28
  * Avatar image URL
20
29
  */
@@ -101,7 +110,7 @@ const BhSidebar = class {
101
110
  { id: '12', divider: true },
102
111
  { id: '13', label: 'Sign out', icon: 'logout', shortcut: '⇧⌘Q' },
103
112
  ];
104
- return (index.h(index.Host, { key: '8ea6a230d0b50bac6868a43f2f4c3b4cb89f147d' }, index.h("div", { key: '152c63b3a7a61ea13ca78b05ef3077b135cc4638', class: sidebarClasses }, index.h("div", { key: '13fdf8adc8c29bf947a43ab05b4cbd67bab9bc82', class: "navigation" }, index.h("div", { key: 'fd4960f7b232bdfff7bb80d98f718d5bdeddd5a3', class: "gradient-bar" }, index.h("div", { key: '5304c3a6b81a9941491105233770977c64e06586', class: "detail-bar" })), index.h("div", { key: '000cad8051add1dbabfe2454579c22ffa371ebc0', class: "sidebar-content" }, index.h("bh-logo-box", { key: 'ca59b066c4d1053824443a8dd63702d285a66b7c', logoType: this.logoType }), index.h("div", { key: 'a8b8fc37101b5a8ad83c309dbbf8dbd45b9227f9', class: "navigation-section" }, index.h("div", { key: '10dda65730b5c23d2a13f0a27636192da1c9b21a', class: "search-container" }, index.h("bh-button-icon", { key: '52379a2f1fbf04ff494e7cff1b33aca99ce809fb', hierarchy: "secondary", size: "sm", iconName: "search", onClick: this.handleSearchClick })), index.h("div", { key: '85b26cfcd1b91e4d96be801e654acba45f3649a5', class: "nav-items" }, this.menuItems.map((item) => (index.h("bh-nav-item", { key: item.label, icon: item.icon, label: item.label, isActive: this.activeItem === item.label, onBhClick: () => this.handleNavItemClick(item.label) }))))), index.h("div", { key: '82647befc09ce326032e6b034189180e826fb7f6', class: "sidebar-footer" }, index.h("div", { key: '0d8a12f59003ff31b97430ccc017fdd9bfa6636f', class: "footer-navigation" }, this.footerItems.map((item) => (index.h("bh-nav-item", { key: item.label, icon: item.icon, label: item.label, isActive: false, onBhClick: () => this.handleNavItemClick(item.label) })))), index.h("bh-dropdown", { key: '4016dd4b427aba6b25d8f1d7e04c90236a97d28a', variant: "avatar", size: "md", avatarSize: "md", avatarSrc: this.avatarUrl, avatarName: this.avatarName, avatarEmail: this.avatarEmail, menuItems: avatarMenuItems, showIcons: true, onBhItemClick: this.handleAvatarMenuClick })))))));
113
+ return (index.h(index.Host, { key: 'a691fab176445fef65c964390d5277f41b0a6989' }, index.h("div", { key: '99bb35a4e97512d3cf973e6ed73baf44a0a9e71d', class: sidebarClasses }, index.h("div", { key: '74c23339a793aa9e16b9da18f7aa522d8f6b200e', class: "navigation" }, index.h("div", { key: '24e19625c3a9673881bf9b43a37d159250a516b0', class: "gradient-bar" }, index.h("div", { key: '8fbed7913283af8e79f3eea81d074631bb9362d3', class: "detail-bar" })), index.h("div", { key: 'a0063e7c8ca350d68ce51123e60d7783c0fac205', class: "sidebar-content" }, index.h("bh-logo-box", { key: 'cc95c2c8b47d13a2ead0dc412d4cc78ec8493c96', logoType: this.logoType, logoSrc: this.logoSrc, assetBasePath: this.assetBasePath }), index.h("div", { key: 'd58db9cca5be94792b6c7d8894736ba892a567c7', class: "navigation-section" }, index.h("div", { key: '0fabbe81f1f9caf658206cfaed30d712fbdb80a0', class: "search-container" }, index.h("bh-button-icon", { key: '5b57dc0af93d7012c61e4af2e4bd9e0a65d361cd', hierarchy: "secondary", size: "sm", iconName: "search", onClick: this.handleSearchClick })), index.h("div", { key: '11ce9862b88cbc7a416b7ff2005017cb8235d254', class: "nav-items" }, this.menuItems.map((item) => (index.h("bh-nav-item", { key: item.label, icon: item.icon, label: item.label, isActive: this.activeItem === item.label, onBhClick: () => this.handleNavItemClick(item.label) }))))), index.h("div", { key: '8f5e98d9a323da0db57a4e0d972d37fb6f6668d3', class: "sidebar-footer" }, index.h("div", { key: '605a964cee526b95b41080e6914ca58b8ab7dbd1', class: "footer-navigation" }, this.footerItems.map((item) => (index.h("bh-nav-item", { key: item.label, icon: item.icon, label: item.label, isActive: false, onBhClick: () => this.handleNavItemClick(item.label) })))), index.h("bh-dropdown", { key: '0d6026fcbe9fa91e202743beafed2137a7685b8c', variant: "avatar", size: "md", avatarSize: "md", avatarSrc: this.avatarUrl, avatarName: this.avatarName, avatarEmail: this.avatarEmail, menuItems: avatarMenuItems, showIcons: true, onBhItemClick: this.handleAvatarMenuClick })))))));
105
114
  }
106
115
  };
107
116
  BhSidebar.style = bhSidebarCss;
@@ -1 +1 @@
1
- {"version":3,"file":"bh-sidebar.entry.cjs.js","sources":["src/components/bh-sidebar/bh-sidebar.css?tag=bh-sidebar&encapsulation=shadow","src/components/bh-sidebar/bh-sidebar.tsx"],"sourcesContent":["/* ==========================================================================\n SIDEBAR COMPONENT\n Vertical navigation sidebar with gradient bar\n ========================================================================== */\n\n.sidebar-container {\n width: fit-content;\n height: 100vh;\n background-color: var(--color-white);\n position: relative;\n display: flex;\n}\n\n.navigation {\n background-color: var(--color-white);\n display: flex;\n height: 100%;\n align-items: flex-start;\n justify-content: flex-start;\n position: relative;\n border-right: 1px solid var(--color-neutral-200);\n z-index: 100;\n}\n\n/* Gradient bar on the left edge */\n.gradient-bar {\n position: relative;\n width: var(--spacing-xs);\n height: 100%;\n flex-shrink: 0;\n}\n\n.detail-bar {\n position: absolute;\n background: linear-gradient(\n 180deg,\n var(--color-accent-300) 0%,\n var(--color-brand-400) 51%,\n var(--color-brand-800) 100%\n );\n inset: 0;\n}\n\n/* Main sidebar content */\n.sidebar-content {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-2xl);\n height: 100%;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-md) var(--spacing-md) var(--spacing-lg)\n var(--spacing-md);\n position: relative;\n flex-shrink: 0;\n width: 60px;\n}\n\n/* Navigation section that contains search and nav items */\n.navigation-section {\n flex: 1 1 0%;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xl);\n flex-grow: 1;\n align-items: center;\n justify-content: flex-start;\n min-height: 0;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Search container */\n.search-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Nav items container */\n.nav-items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Footer section with footer nav and avatar */\n.sidebar-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: end;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.footer-navigation {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Collapsed state */\n.sidebar-collapsed .sidebar-content {\n width: 60px;\n}\n\n.sidebar-collapsed .nav-item-label {\n display: none;\n}\n\n/* Scrollbar styling for navigation section */\n.navigation-section::-webkit-scrollbar {\n width: 4px;\n}\n\n.navigation-section::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navigation-section::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-xs);\n}\n\n.navigation-section::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar */\n.navigation-section {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) transparent;\n}\n\n/* Expanded state (optional future enhancement) */\n.sidebar-expanded .sidebar-content {\n width: 240px;\n}\n\n.sidebar-expanded .nav-items {\n align-items: flex-start;\n}\n\n.sidebar-expanded .nav-item {\n width: 100%;\n flex-direction: row;\n justify-content: flex-start;\n gap: var(--spacing-md);\n}\n\n.sidebar-expanded .nav-item-label {\n display: block;\n text-align: left;\n font-size: var(--text-sm-size);\n height: auto;\n line-height: var(--text-sm-line);\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Host } from '@stencil/core';\nimport { LogoType } from '../bh-logo-box/bh-logo-box';\n\nexport interface MenuItem {\n label: string;\n icon: string;\n isActive?: boolean;\n}\n\nexport interface FooterItem {\n label: string;\n icon: string;\n}\n\nexport interface DropdownMenuItem {\n id: string;\n label?: string;\n icon?: string;\n shortcut?: string;\n divider?: boolean;\n}\n\n@Component({\n tag: 'bh-sidebar',\n styleUrl: 'bh-sidebar.css',\n shadow: true,\n})\nexport class BhSidebar {\n /**\n * Type of logo to display\n */\n @Prop() logoType: LogoType = 'actabl';\n\n /**\n * Avatar image URL\n */\n @Prop() avatarUrl?: string;\n\n /**\n * Avatar initials (used if avatarUrl is not provided)\n */\n @Prop() avatarInitials: string = 'DM';\n\n /**\n * Avatar name for dropdown\n */\n @Prop() avatarName: string = 'Daniel Mobara';\n\n /**\n * Avatar email for dropdown\n */\n @Prop() avatarEmail: string = 'daniel@solsticehospitality.com';\n\n /**\n * Main menu navigation items\n */\n @Prop() menuItems: MenuItem[] = [\n { label: 'Dashboard', icon: 'dashboard', isActive: true },\n { label: 'Analytics', icon: 'analytics', isActive: false },\n { label: 'Reports', icon: 'assessment', isActive: false },\n { label: 'Calendar', icon: 'calendar_today', isActive: false },\n { label: 'Messages', icon: 'message', isActive: false },\n { label: 'Contacts', icon: 'contacts', isActive: false },\n { label: 'Files', icon: 'folder', isActive: false },\n ];\n\n /**\n * Footer navigation items\n */\n @Prop() footerItems: FooterItem[] = [\n { label: 'Help', icon: 'help_outline' },\n { label: 'Settings', icon: 'settings' },\n ];\n\n /**\n * Whether sidebar is collapsed\n */\n @Prop() collapsed: boolean = false;\n\n /**\n * Event emitted when a menu item is clicked\n */\n @Event() bhMenuItemClick!: EventEmitter<string>;\n\n /**\n * Event emitted when search button is clicked\n */\n @Event() bhSearchClick!: EventEmitter<void>;\n\n /**\n * Event emitted when avatar menu item is clicked\n */\n @Event() bhAvatarMenuClick!: EventEmitter<DropdownMenuItem>;\n\n @State() activeItem: string = '';\n\n componentWillLoad() {\n const activeMenuItem = this.menuItems.find(item => item.isActive);\n this.activeItem = activeMenuItem?.label || '';\n }\n\n private handleNavItemClick = (label: string) => {\n this.activeItem = label;\n this.bhMenuItemClick.emit(label);\n };\n\n private handleSearchClick = () => {\n this.bhSearchClick.emit();\n };\n\n private handleAvatarMenuClick = (event: CustomEvent<DropdownMenuItem>) => {\n this.bhAvatarMenuClick.emit(event.detail);\n };\n\n render() {\n const sidebarClasses = {\n 'sidebar-container': true,\n 'sidebar-collapsed': this.collapsed,\n };\n\n const avatarMenuItems: DropdownMenuItem[] = [\n { id: '1', label: 'View profile', icon: 'person', shortcut: '⌘P' },\n { id: '2', label: 'Account settings', icon: 'settings', shortcut: '⌘,' },\n { id: '3', label: 'Notifications', icon: 'notifications', shortcut: '⌘N' },\n { id: '4', label: 'Privacy & Security', icon: 'shield', shortcut: '⌘S' },\n { id: '5', divider: true },\n { id: '6', label: 'Billing', icon: 'credit_card', shortcut: '⌘B' },\n { id: '7', label: 'Team management', icon: 'group', shortcut: '⌘T' },\n { id: '8', label: 'Integrations', icon: 'extension', shortcut: '⌘I' },\n { id: '9', divider: true },\n { id: '10', label: 'Help center', icon: 'help', shortcut: '⌘H' },\n { id: '11', label: 'Keyboard shortcuts', icon: 'keyboard', shortcut: '?' },\n { id: '12', divider: true },\n { id: '13', label: 'Sign out', icon: 'logout', shortcut: '⇧⌘Q' },\n ];\n\n return (\n <Host>\n <div class={sidebarClasses}>\n <div class=\"navigation\">\n {/* Gradient bar */}\n <div class=\"gradient-bar\">\n <div class=\"detail-bar\"></div>\n </div>\n\n {/* Main content */}\n <div class=\"sidebar-content\">\n {/* Logo box */}\n <bh-logo-box logoType={this.logoType}></bh-logo-box>\n\n {/* Navigation section */}\n <div class=\"navigation-section\">\n {/* Search */}\n <div class=\"search-container\">\n <bh-button-icon\n hierarchy=\"secondary\"\n size=\"sm\"\n iconName=\"search\"\n onClick={this.handleSearchClick}\n ></bh-button-icon>\n </div>\n\n {/* Nav items */}\n <div class=\"nav-items\">\n {this.menuItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={this.activeItem === item.label}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n </div>\n\n {/* Footer */}\n <div class=\"sidebar-footer\">\n <div class=\"footer-navigation\">\n {this.footerItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={false}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n\n {/* Avatar Dropdown */}\n <bh-dropdown\n variant=\"avatar\"\n size=\"md\"\n avatarSize=\"md\"\n avatarSrc={this.avatarUrl}\n avatarName={this.avatarName}\n avatarEmail={this.avatarEmail}\n menuItems={avatarMenuItems}\n showIcons={true}\n onBhItemClick={this.handleAvatarMenuClick}\n ></bh-dropdown>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"bh-sidebar.entry.cjs.js","sources":["src/components/bh-sidebar/bh-sidebar.css?tag=bh-sidebar&encapsulation=shadow","src/components/bh-sidebar/bh-sidebar.tsx"],"sourcesContent":["/* ==========================================================================\n SIDEBAR COMPONENT\n Vertical navigation sidebar with gradient bar\n ========================================================================== */\n\n.sidebar-container {\n width: fit-content;\n height: 100vh;\n background-color: var(--color-white);\n position: relative;\n display: flex;\n}\n\n.navigation {\n background-color: var(--color-white);\n display: flex;\n height: 100%;\n align-items: flex-start;\n justify-content: flex-start;\n position: relative;\n border-right: 1px solid var(--color-neutral-200);\n z-index: 100;\n}\n\n/* Gradient bar on the left edge */\n.gradient-bar {\n position: relative;\n width: var(--spacing-xs);\n height: 100%;\n flex-shrink: 0;\n}\n\n.detail-bar {\n position: absolute;\n background: linear-gradient(\n 180deg,\n var(--color-accent-300) 0%,\n var(--color-brand-400) 51%,\n var(--color-brand-800) 100%\n );\n inset: 0;\n}\n\n/* Main sidebar content */\n.sidebar-content {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-2xl);\n height: 100%;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-md) var(--spacing-md) var(--spacing-lg)\n var(--spacing-md);\n position: relative;\n flex-shrink: 0;\n width: 60px;\n}\n\n/* Navigation section that contains search and nav items */\n.navigation-section {\n flex: 1 1 0%;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xl);\n flex-grow: 1;\n align-items: center;\n justify-content: flex-start;\n min-height: 0;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Search container */\n.search-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Nav items container */\n.nav-items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Footer section with footer nav and avatar */\n.sidebar-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: end;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.footer-navigation {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Collapsed state */\n.sidebar-collapsed .sidebar-content {\n width: 60px;\n}\n\n.sidebar-collapsed .nav-item-label {\n display: none;\n}\n\n/* Scrollbar styling for navigation section */\n.navigation-section::-webkit-scrollbar {\n width: 4px;\n}\n\n.navigation-section::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navigation-section::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-xs);\n}\n\n.navigation-section::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar */\n.navigation-section {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) transparent;\n}\n\n/* Expanded state (optional future enhancement) */\n.sidebar-expanded .sidebar-content {\n width: 240px;\n}\n\n.sidebar-expanded .nav-items {\n align-items: flex-start;\n}\n\n.sidebar-expanded .nav-item {\n width: 100%;\n flex-direction: row;\n justify-content: flex-start;\n gap: var(--spacing-md);\n}\n\n.sidebar-expanded .nav-item-label {\n display: block;\n text-align: left;\n font-size: var(--text-sm-size);\n height: auto;\n line-height: var(--text-sm-line);\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Host } from '@stencil/core';\nimport { LogoType } from '../bh-logo-box/bh-logo-box';\n\nexport interface MenuItem {\n label: string;\n icon: string;\n isActive?: boolean;\n}\n\nexport interface FooterItem {\n label: string;\n icon: string;\n}\n\nexport interface DropdownMenuItem {\n id: string;\n label?: string;\n icon?: string;\n shortcut?: string;\n divider?: boolean;\n}\n\n@Component({\n tag: 'bh-sidebar',\n styleUrl: 'bh-sidebar.css',\n shadow: true,\n})\nexport class BhSidebar {\n /**\n * Type of logo to display\n */\n @Prop() logoType: LogoType = 'actabl';\n\n /**\n * Custom logo source URL. If provided, overrides the default logo path.\n */\n @Prop() logoSrc?: string;\n\n /**\n * Base path for asset URLs. Useful for CDN usage.\n * @example \"https://cdn.jsdelivr.net/npm/@actabldesign/bellhop-assets@0.0.7\"\n */\n @Prop() assetBasePath?: string;\n\n /**\n * Avatar image URL\n */\n @Prop() avatarUrl?: string;\n\n /**\n * Avatar initials (used if avatarUrl is not provided)\n */\n @Prop() avatarInitials: string = 'DM';\n\n /**\n * Avatar name for dropdown\n */\n @Prop() avatarName: string = 'Daniel Mobara';\n\n /**\n * Avatar email for dropdown\n */\n @Prop() avatarEmail: string = 'daniel@solsticehospitality.com';\n\n /**\n * Main menu navigation items\n */\n @Prop() menuItems: MenuItem[] = [\n { label: 'Dashboard', icon: 'dashboard', isActive: true },\n { label: 'Analytics', icon: 'analytics', isActive: false },\n { label: 'Reports', icon: 'assessment', isActive: false },\n { label: 'Calendar', icon: 'calendar_today', isActive: false },\n { label: 'Messages', icon: 'message', isActive: false },\n { label: 'Contacts', icon: 'contacts', isActive: false },\n { label: 'Files', icon: 'folder', isActive: false },\n ];\n\n /**\n * Footer navigation items\n */\n @Prop() footerItems: FooterItem[] = [\n { label: 'Help', icon: 'help_outline' },\n { label: 'Settings', icon: 'settings' },\n ];\n\n /**\n * Whether sidebar is collapsed\n */\n @Prop() collapsed: boolean = false;\n\n /**\n * Event emitted when a menu item is clicked\n */\n @Event() bhMenuItemClick!: EventEmitter<string>;\n\n /**\n * Event emitted when search button is clicked\n */\n @Event() bhSearchClick!: EventEmitter<void>;\n\n /**\n * Event emitted when avatar menu item is clicked\n */\n @Event() bhAvatarMenuClick!: EventEmitter<DropdownMenuItem>;\n\n @State() activeItem: string = '';\n\n componentWillLoad() {\n const activeMenuItem = this.menuItems.find(item => item.isActive);\n this.activeItem = activeMenuItem?.label || '';\n }\n\n private handleNavItemClick = (label: string) => {\n this.activeItem = label;\n this.bhMenuItemClick.emit(label);\n };\n\n private handleSearchClick = () => {\n this.bhSearchClick.emit();\n };\n\n private handleAvatarMenuClick = (event: CustomEvent<DropdownMenuItem>) => {\n this.bhAvatarMenuClick.emit(event.detail);\n };\n\n render() {\n const sidebarClasses = {\n 'sidebar-container': true,\n 'sidebar-collapsed': this.collapsed,\n };\n\n const avatarMenuItems: DropdownMenuItem[] = [\n { id: '1', label: 'View profile', icon: 'person', shortcut: '⌘P' },\n { id: '2', label: 'Account settings', icon: 'settings', shortcut: '⌘,' },\n { id: '3', label: 'Notifications', icon: 'notifications', shortcut: '⌘N' },\n { id: '4', label: 'Privacy & Security', icon: 'shield', shortcut: '⌘S' },\n { id: '5', divider: true },\n { id: '6', label: 'Billing', icon: 'credit_card', shortcut: '⌘B' },\n { id: '7', label: 'Team management', icon: 'group', shortcut: '⌘T' },\n { id: '8', label: 'Integrations', icon: 'extension', shortcut: '⌘I' },\n { id: '9', divider: true },\n { id: '10', label: 'Help center', icon: 'help', shortcut: '⌘H' },\n { id: '11', label: 'Keyboard shortcuts', icon: 'keyboard', shortcut: '?' },\n { id: '12', divider: true },\n { id: '13', label: 'Sign out', icon: 'logout', shortcut: '⇧⌘Q' },\n ];\n\n return (\n <Host>\n <div class={sidebarClasses}>\n <div class=\"navigation\">\n {/* Gradient bar */}\n <div class=\"gradient-bar\">\n <div class=\"detail-bar\"></div>\n </div>\n\n {/* Main content */}\n <div class=\"sidebar-content\">\n {/* Logo box */}\n <bh-logo-box\n logoType={this.logoType}\n logoSrc={this.logoSrc}\n assetBasePath={this.assetBasePath}\n ></bh-logo-box>\n\n {/* Navigation section */}\n <div class=\"navigation-section\">\n {/* Search */}\n <div class=\"search-container\">\n <bh-button-icon\n hierarchy=\"secondary\"\n size=\"sm\"\n iconName=\"search\"\n onClick={this.handleSearchClick}\n ></bh-button-icon>\n </div>\n\n {/* Nav items */}\n <div class=\"nav-items\">\n {this.menuItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={this.activeItem === item.label}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n </div>\n\n {/* Footer */}\n <div class=\"sidebar-footer\">\n <div class=\"footer-navigation\">\n {this.footerItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={false}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n\n {/* Avatar Dropdown */}\n <bh-dropdown\n variant=\"avatar\"\n size=\"md\"\n avatarSize=\"md\"\n avatarSrc={this.avatarUrl}\n avatarName={this.avatarName}\n avatarEmail={this.avatarEmail}\n menuItems={avatarMenuItems}\n showIcons={true}\n onBhItemClick={this.handleAvatarMenuClick}\n ></bh-dropdown>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
@@ -41,11 +41,11 @@ const BhTabItem = class {
41
41
  'tab-button-active': this.active,
42
42
  'tab-button-disabled': this.disabled,
43
43
  };
44
- return (index.h(index.Host, { key: 'ef47c62d9595bb0f5648bacb3d4c8e1585d35a91', class: {
44
+ return (index.h(index.Host, { key: '4ad8e3e786f4a4c8a2c38e518e66ef2ded4c04ca', class: {
45
45
  'tab-item': true,
46
46
  'tab-item-active': this.active,
47
47
  'tab-item-disabled': this.disabled,
48
- } }, index.h("button", { key: 'a2e2130bc0cb369c456b9898732cd90350b69a79', class: buttonClasses, part: "button", role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', disabled: this.disabled, onClick: this.handleClick, type: "button" }, index.h("span", { key: '2c415f19e1901e3d36039b5960b8ba80dd58d545', class: "tab-label", part: "label" }, this.label), index.h("slot", { key: 'd4484b4a489ddd7babdfba449e023370ae9aaea5' }))));
48
+ } }, index.h("button", { key: 'b149a3ed3cdd49e887545281a5f9a1383443aeca', class: buttonClasses, part: "button", role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', disabled: this.disabled, onClick: this.handleClick, type: "button" }, index.h("span", { key: '03f58f2761a021310a6cd2f811795dbc95e02ea1', class: "tab-label", part: "label" }, this.label), index.h("slot", { key: 'd96a82e89d9d7c64d1f17c65da4a47f4774ed96a' }))));
49
49
  }
50
50
  };
51
51
  BhTabItem.style = bhTabItemCss;
@@ -43,7 +43,7 @@ const BhTabs = class {
43
43
  [`tabs-${this.orientation}`]: true,
44
44
  'tabs-full-width': this.fullWidth,
45
45
  };
46
- return (index.h(index.Host, { key: '93b74ceb1d093513ff2d5a167e3de238209411a4', class: hostClasses }, index.h("div", { key: '290c0e7ce4d1ae84e566237a122786e305522b9f', class: "tabs-container", part: "container" }, index.h("div", { key: '424276b73c8279c24441a389026c0c7db25e55b1', class: "tabs-list", part: "list", role: "tablist", "aria-orientation": this.orientation }, index.h("slot", { key: 'fe8030d885237dccbef3d1a70bc912c338b038c6' })))));
46
+ return (index.h(index.Host, { key: '915fc9dbab57751d9f6f862e368463a5b50fa30e', class: hostClasses }, index.h("div", { key: 'c552c2792097fb3bf1e619c992820bdce072e3ba', class: "tabs-container", part: "container" }, index.h("div", { key: 'd8b13f39e97ab56717715ef314be003ed7427d2c', class: "tabs-list", part: "list", role: "tablist", "aria-orientation": this.orientation }, index.h("slot", { key: '665f02ddebaa32b818c4d2b627e15eb878a09a30' })))));
47
47
  }
48
48
  };
49
49
  BhTabs.style = bhTabsCss;
@@ -151,7 +151,7 @@ const BhTextarea = class {
151
151
  'textarea': true,
152
152
  'textarea-error': this.error,
153
153
  };
154
- return (index.h("div", { key: 'a822380cef2104a61c1a8f2f79900b9ed9c12063', class: "textarea-wrapper", part: "wrapper" }, index.h("bh-label", { key: 'd8c77f1ddc75f6b42bc47bb8086ada57ca1c3e35', label: this.showLabel ? this.label : '', required: this.required, showHelpIcon: this.showHelpIcon, helpIconTooltip: this.helpIconTooltip, disabled: this.disabled, onBhHelpClick: this.handleHelpClick }, index.h("div", { key: '6d92f1c3a0f34729c24677c2a071559b5e7d527f', class: containerClasses }, index.h("div", { key: '9ac271fe196de95b9460eea3bf3cbfd1fd768c13', class: "textarea-content" }, index.h("textarea", { key: '1900eb1a188165ef624a41de391b5d0648d1b8b4', ref: (el) => (this.textareaEl = el), class: textareaClasses, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, rows: this.rows, maxLength: this.maxLength, style: { resize: this.resize }, "aria-label": this.label, "aria-describedby": this.showHintText && this.hintText ? 'hint-text' : undefined, "aria-invalid": String(this.error), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "textarea" })))), this.showHintText && this.hintText && (index.h("div", { key: '2733112bfee45f11e13d92631c5f17518634030b', class: { 'hint-text': true, 'hint-error': this.error }, id: "hint-text" }, this.hintText))));
154
+ return (index.h("div", { key: '3ba4ab7f69578f22fce54ccb4d5155410666ab09', class: "textarea-wrapper", part: "wrapper" }, index.h("bh-label", { key: '745029c57459ed19f51b434913d6a05f549237f4', label: this.showLabel ? this.label : '', required: this.required, showHelpIcon: this.showHelpIcon, helpIconTooltip: this.helpIconTooltip, disabled: this.disabled, onBhHelpClick: this.handleHelpClick }, index.h("div", { key: '0fb037fb570636815a56512170f328b398d9160b', class: containerClasses }, index.h("div", { key: '45608d2ef2fe516cc73c6a0a55b8ed206dd619be', class: "textarea-content" }, index.h("textarea", { key: '1fbf1ce8dff28f1d1350a7ce8bd4197a8fd1371e', ref: (el) => (this.textareaEl = el), class: textareaClasses, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, rows: this.rows, maxLength: this.maxLength, style: { resize: this.resize }, "aria-label": this.label, "aria-describedby": this.showHintText && this.hintText ? 'hint-text' : undefined, "aria-invalid": String(this.error), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "textarea" })))), this.showHintText && this.hintText && (index.h("div", { key: '846989dc96f482b76fdb6c11707568b38217782c', class: { 'hint-text': true, 'hint-error': this.error }, id: "hint-text" }, this.hintText))));
155
155
  }
156
156
  static get formAssociated() { return true; }
157
157
  };
@@ -131,7 +131,7 @@ const BhToggle = class {
131
131
  'toggle-label': true,
132
132
  [`toggle-label-${this.size}`]: true,
133
133
  };
134
- return (index.h("div", { key: 'd07f9c9302c21ab8ecd3e515fe3f1794c2d689b5', class: wrapperClasses, part: "wrapper" }, index.h("div", { key: 'cfb224564cd11c8dacbf9c2426329acc96b703bd', class: switchClasses, onClick: this.handleToggle, onKeyDown: this.handleKeyDown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: this.disabled ? -1 : 0, role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.label || undefined, part: "switch" }, index.h("div", { key: '3e120ce6b54cca6bf06b49ad78784b8f44c5221a', class: buttonClasses, part: "button" })), this.showText && (this.label || this.supportingText) && (index.h("div", { key: 'a4feeb01f7188d35f7871e27cebfb65e72ce580d', class: "toggle-text" }, this.label && (index.h("span", { key: 'dfa097818d779cc768cde6972c0618c26fca10fa', class: labelClasses }, this.label)), this.supportingText && (index.h("div", { key: '332221a6cee6770d1b4026076a35bb6ff53054b1', class: "toggle-supporting-text" }, this.supportingText))))));
134
+ return (index.h("div", { key: '3ca94d9e9e457008c1b62aa8a0c76ad4823ceb6d', class: wrapperClasses, part: "wrapper" }, index.h("div", { key: 'c7eb0b84e8deb15e3bc9b547992cb465f3dac3f2', class: switchClasses, onClick: this.handleToggle, onKeyDown: this.handleKeyDown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: this.disabled ? -1 : 0, role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.label || undefined, part: "switch" }, index.h("div", { key: 'fbdf8fcdacba58134258f6a1dd84f302149a0396', class: buttonClasses, part: "button" })), this.showText && (this.label || this.supportingText) && (index.h("div", { key: '7bd7f0fb7a5305d2c05d3277e2a6ee6d8c10a0b1', class: "toggle-text" }, this.label && (index.h("span", { key: 'a31d48b6dc2ad837be4c3c0f386720e64f0a8715', class: labelClasses }, this.label)), this.supportingText && (index.h("div", { key: '384b2c7b34396fc3da3ba51c96afe2d74c6de096', class: "toggle-supporting-text" }, this.supportingText))))));
135
135
  }
136
136
  static get formAssociated() { return true; }
137
137
  };
@@ -107,12 +107,12 @@ const BhTrendChart = class {
107
107
  const strokeColor = this.getStrokeColor();
108
108
  const fillColor = this.getFillColor();
109
109
  const gradientId = `gradient-${this.trend}`;
110
- return (index.h(index.Host, { key: '91f405355ae70923836b9d9e102cbe65421bef39' }, index.h("div", { key: '9f90f66d9ed904c74e1eb7fd2732ad3d32837eff', class: {
110
+ return (index.h(index.Host, { key: 'a9ae3f68d2c392e6f091629213174150677ed800' }, index.h("div", { key: '2da0f0cb39c640ebc9d742217640165b4ded870a', class: {
111
111
  'trend-chart': true,
112
112
  [`trend-chart-${this.trend}`]: true,
113
113
  [`trend-chart-${this.variant}`]: true,
114
114
  'trend-chart-animated': this.animated,
115
- } }, index.h("svg", { key: '09ac67cf6b1d2e86f1551cc519963fcd826293b5', width: this.width, height: this.height, viewBox: `0 0 ${this.width} ${this.height}`, class: "chart-svg" }, index.h("defs", { key: 'cf3cfe308c1582c27798e2a2b63dd37a9f9452c8' }, index.h("linearGradient", { key: '805e2c9765638b0f872871df8444784297b8d7a1', id: gradientId, x1: "0%", y1: "0%", x2: "0%", y2: "100%" }, index.h("stop", { key: '88b695ba07624d062cead0dfea06e984b742bc82', offset: "0%", "stop-color": fillColor, "stop-opacity": this.variant === 'fill-only' ? 0.4 : 0.2 }), index.h("stop", { key: 'b8e060f9d822042766647ae602121d2fd7e1fa8d', offset: "100%", "stop-color": fillColor, "stop-opacity": this.variant === 'fill-only' ? 0.1 : 0.05 }))), backgroundPath && this.variant !== 'line-only' && (index.h("path", { key: '1866ab67357c0c2fe4c4cda0c0a571a8a0493af4', class: "chart-background", d: backgroundPath, fill: `url(#${gradientId})` })), pathData && this.variant !== 'fill-only' && (index.h("path", { key: '687052b87f652430caae40ac126b69cd2f30e9bc', class: "chart-line", d: pathData, stroke: strokeColor, "stroke-width": "2", fill: "none" }))))));
115
+ } }, index.h("svg", { key: 'b348daecc48805aa49e2dfc620998ae0f5747d6d', width: this.width, height: this.height, viewBox: `0 0 ${this.width} ${this.height}`, class: "chart-svg" }, index.h("defs", { key: '4c30e217105760d1034116463d2bd50e617fdc5b' }, index.h("linearGradient", { key: 'a58346f9dc4832157c4a1b7dab6df6672e9e110b', id: gradientId, x1: "0%", y1: "0%", x2: "0%", y2: "100%" }, index.h("stop", { key: 'ed3025b5a594bf8e8c9f615c65e0841847625800', offset: "0%", "stop-color": fillColor, "stop-opacity": this.variant === 'fill-only' ? 0.4 : 0.2 }), index.h("stop", { key: 'e6b9c70c81fd46a9798161964ebf9d30695461ed', offset: "100%", "stop-color": fillColor, "stop-opacity": this.variant === 'fill-only' ? 0.1 : 0.05 }))), backgroundPath && this.variant !== 'line-only' && (index.h("path", { key: 'b474572963d12be707798d0ccdf36af2cd74a19d', class: "chart-background", d: backgroundPath, fill: `url(#${gradientId})` })), pathData && this.variant !== 'fill-only' && (index.h("path", { key: '11044ee1046cc575479d1a3f5d30c70342111054', class: "chart-line", d: pathData, stroke: strokeColor, "stroke-width": "2", fill: "none" }))))));
116
116
  }
117
117
  };
118
118
  BhTrendChart.style = bhTrendChartCss;