@actabldesign/bellhop-core 0.0.6 → 0.0.8

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 (633) hide show
  1. package/{dist/components → components}/bh-accordion-item.d.ts +1 -1
  2. package/{dist/components → components}/bh-accordion-item.js +1 -2
  3. package/components/bh-accordion-item.js.map +1 -0
  4. package/{dist/components → components}/bh-accordion.d.ts +1 -1
  5. package/{dist/components → components}/bh-accordion.js +1 -2
  6. package/components/bh-accordion.js.map +1 -0
  7. package/{dist/components → components}/bh-appbar.d.ts +1 -1
  8. package/{dist/components → components}/bh-appbar.js +4 -5
  9. package/components/bh-appbar.js.map +1 -0
  10. package/{dist/components → components}/bh-autocomplete-menu.d.ts +1 -1
  11. package/{dist/components → components}/bh-autocomplete-menu.js +1 -1
  12. package/{dist/components → components}/bh-avatar-add.d.ts +1 -1
  13. package/{dist/components → components}/bh-avatar-add.js +1 -1
  14. package/{dist/components → components}/bh-avatar-stacked.d.ts +1 -1
  15. package/{dist/components → components}/bh-avatar-stacked.js +4 -5
  16. package/components/bh-avatar-stacked.js.map +1 -0
  17. package/{dist/components → components}/bh-avatar.d.ts +1 -1
  18. package/{dist/components → components}/bh-avatar.js +1 -1
  19. package/{dist/components → components}/bh-badge-dot.d.ts +1 -1
  20. package/{dist/components → components}/bh-badge-dot.js +1 -1
  21. package/{dist/components → components}/bh-badge.d.ts +1 -1
  22. package/{dist/components → components}/bh-badge.js +1 -1
  23. package/{dist/components → components}/bh-bar-chart.d.ts +1 -1
  24. package/{dist/components → components}/bh-bar-chart.js +2 -3
  25. package/components/bh-bar-chart.js.map +1 -0
  26. package/{dist/components → components}/bh-breadcrumbs.d.ts +1 -1
  27. package/{dist/components → components}/bh-breadcrumbs.js +1 -1
  28. package/{dist/components → components}/bh-button-icon.d.ts +1 -1
  29. package/{dist/components → components}/bh-button-icon.js +1 -1
  30. package/{dist/components → components}/bh-button.d.ts +1 -1
  31. package/{dist/components → components}/bh-button.js +1 -1
  32. package/{dist/components → components}/bh-card-footer.d.ts +1 -1
  33. package/{dist/components/p-CycIV1i_.js → components/bh-card-footer.js} +10 -8
  34. package/components/bh-card-footer.js.map +1 -0
  35. package/{dist/components → components}/bh-card-header.d.ts +1 -1
  36. package/{dist/components/p-CGw-G2Wz.js → components/bh-card-header.js} +16 -14
  37. package/components/bh-card-header.js.map +1 -0
  38. package/{dist/components → components}/bh-card.d.ts +1 -1
  39. package/{dist/components/p-DjsErN85.js → components/bh-card.js} +10 -8
  40. package/components/bh-card.js.map +1 -0
  41. package/{dist/components → components}/bh-chart-tooltip.d.ts +1 -1
  42. package/{dist/components → components}/bh-chart-tooltip.js +1 -1
  43. package/{dist/components → components}/bh-checkbox-group-item.d.ts +1 -1
  44. package/{dist/components/p-DcXhS_xz.js → components/bh-checkbox-group-item.js} +20 -18
  45. package/components/bh-checkbox-group-item.js.map +1 -0
  46. package/{dist/components → components}/bh-checkbox-group.d.ts +1 -1
  47. package/{dist/components/p-B7e9Vn80.js → components/bh-checkbox-group.js} +10 -8
  48. package/components/bh-checkbox-group.js.map +1 -0
  49. package/{dist/components → components}/bh-checkbox.d.ts +1 -1
  50. package/{dist/components → components}/bh-checkbox.js +1 -1
  51. package/{dist/components → components}/bh-container-footer.d.ts +1 -1
  52. package/{dist/components → components}/bh-container-footer.js +3 -4
  53. package/components/bh-container-footer.js.map +1 -0
  54. package/{dist/components → components}/bh-container.d.ts +1 -1
  55. package/{dist/components → components}/bh-container.js +1 -2
  56. package/components/bh-container.js.map +1 -0
  57. package/{dist/components → components}/bh-data-grid.d.ts +1 -1
  58. package/{dist/components/p-DpK6k515.js → components/bh-data-grid.js} +28 -26
  59. package/components/bh-data-grid.js.map +1 -0
  60. package/{dist/components → components}/bh-date-picker-content.d.ts +1 -1
  61. package/{dist/components → components}/bh-date-picker-content.js +1 -1
  62. package/{dist/components → components}/bh-date-picker.d.ts +1 -1
  63. package/{dist/components → components}/bh-date-picker.js +10 -11
  64. package/components/bh-date-picker.js.map +1 -0
  65. package/{dist/components → components}/bh-date-range-picker-content.d.ts +1 -1
  66. package/{dist/components → components}/bh-date-range-picker-content.js +1 -1
  67. package/{dist/components → components}/bh-date-range-picker.d.ts +1 -1
  68. package/{dist/components → components}/bh-date-range-picker.js +11 -12
  69. package/components/bh-date-range-picker.js.map +1 -0
  70. package/{dist/components → components}/bh-dropdown-menu.d.ts +1 -1
  71. package/{dist/components → components}/bh-dropdown-menu.js +1 -1
  72. package/{dist/components → components}/bh-dropdown.d.ts +1 -1
  73. package/{dist/components → components}/bh-dropdown.js +1 -1
  74. package/{dist/components → components}/bh-empty-state.d.ts +1 -1
  75. package/{dist/components → components}/bh-empty-state.js +1 -1
  76. package/{dist/components → components}/bh-featured-icon.d.ts +1 -1
  77. package/{dist/components → components}/bh-featured-icon.js +1 -1
  78. package/{dist/components → components}/bh-illustrations.d.ts +1 -1
  79. package/{dist/components → components}/bh-illustrations.js +1 -2
  80. package/components/bh-illustrations.js.map +1 -0
  81. package/{dist/components → components}/bh-input-autocomplete.d.ts +1 -1
  82. package/{dist/components → components}/bh-input-autocomplete.js +8 -9
  83. package/components/bh-input-autocomplete.js.map +1 -0
  84. package/{dist/components → components}/bh-input-number.d.ts +1 -1
  85. package/{dist/components → components}/bh-input-number.js +4 -5
  86. package/components/bh-input-number.js.map +1 -0
  87. package/{dist/components → components}/bh-input-password.d.ts +1 -1
  88. package/{dist/components → components}/bh-input-password.js +3 -4
  89. package/components/bh-input-password.js.map +1 -0
  90. package/{dist/components → components}/bh-input-text.d.ts +1 -1
  91. package/{dist/components → components}/bh-input-text.js +1 -1
  92. package/{dist/components → components}/bh-input-verification.d.ts +1 -1
  93. package/{dist/components → components}/bh-input-verification.js +3 -4
  94. package/components/bh-input-verification.js.map +1 -0
  95. package/{dist/components → components}/bh-label.d.ts +1 -1
  96. package/{dist/components → components}/bh-label.js +1 -1
  97. package/{dist/components → components}/bh-loader-spinner.d.ts +1 -1
  98. package/{dist/components → components}/bh-loader-spinner.js +1 -1
  99. package/{dist/components → components}/bh-logo-box.d.ts +1 -1
  100. package/{dist/components → components}/bh-logo-box.js +1 -1
  101. package/{dist/components → components}/bh-modal-actions.d.ts +1 -1
  102. package/{dist/components → components}/bh-modal-actions.js +3 -4
  103. package/components/bh-modal-actions.js.map +1 -0
  104. package/{dist/components → components}/bh-modal-header.d.ts +1 -1
  105. package/{dist/components → components}/bh-modal-header.js +3 -4
  106. package/components/bh-modal-header.js.map +1 -0
  107. package/{dist/components → components}/bh-modal.d.ts +1 -1
  108. package/{dist/components/p-DErr7PhS.js → components/bh-modal.js} +10 -8
  109. package/components/bh-modal.js.map +1 -0
  110. package/{dist/components → components}/bh-month-picker-content.d.ts +1 -1
  111. package/{dist/components → components}/bh-month-picker-content.js +1 -1
  112. package/{dist/components → components}/bh-month-picker.d.ts +1 -1
  113. package/{dist/components → components}/bh-month-picker.js +8 -9
  114. package/components/bh-month-picker.js.map +1 -0
  115. package/{dist/components → components}/bh-nav-item.d.ts +1 -1
  116. package/{dist/components → components}/bh-nav-item.js +1 -1
  117. package/{dist/components → components}/bh-notification.d.ts +1 -1
  118. package/{dist/components → components}/bh-notification.js +4 -5
  119. package/components/bh-notification.js.map +1 -0
  120. package/{dist/components → components}/bh-page-navigation-child.d.ts +1 -1
  121. package/{dist/components → components}/bh-page-navigation-child.js +1 -1
  122. package/{dist/components → components}/bh-page-navigation-multi-level.d.ts +1 -1
  123. package/{dist/components → components}/bh-page-navigation-multi-level.js +1 -1
  124. package/{dist/components → components}/bh-page-navigation-single-level.d.ts +1 -1
  125. package/{dist/components → components}/bh-page-navigation-single-level.js +1 -1
  126. package/{dist/components → components}/bh-page-navigation.d.ts +1 -1
  127. package/{dist/components → components}/bh-page-navigation.js +6 -7
  128. package/components/bh-page-navigation.js.map +1 -0
  129. package/{dist/components → components}/bh-pagination.d.ts +1 -1
  130. package/{dist/components → components}/bh-pagination.js +1 -1
  131. package/{dist/components → components}/bh-picker-menu.d.ts +1 -1
  132. package/{dist/components → components}/bh-picker-menu.js +1 -1
  133. package/{dist/components → components}/bh-pie-chart.d.ts +1 -1
  134. package/{dist/components → components}/bh-pie-chart.js +2 -3
  135. package/components/bh-pie-chart.js.map +1 -0
  136. package/{dist/components → components}/bh-popover.d.ts +1 -1
  137. package/{dist/components → components}/bh-popover.js +1 -2
  138. package/components/bh-popover.js.map +1 -0
  139. package/{dist/components → components}/bh-product-switcher.d.ts +1 -1
  140. package/{dist/components → components}/bh-product-switcher.js +1 -1
  141. package/{dist/components → components}/bh-property-switcher.d.ts +1 -1
  142. package/{dist/components → components}/bh-property-switcher.js +1 -2
  143. package/components/bh-property-switcher.js.map +1 -0
  144. package/{dist/components → components}/bh-radio-button.d.ts +1 -1
  145. package/{dist/components → components}/bh-radio-button.js +1 -1
  146. package/{dist/components → components}/bh-sidebar.d.ts +1 -1
  147. package/{dist/components → components}/bh-sidebar.js +22 -12
  148. package/components/bh-sidebar.js.map +1 -0
  149. package/{dist/components → components}/bh-skeleton-loader.d.ts +1 -1
  150. package/{dist/components → components}/bh-skeleton-loader.js +1 -1
  151. package/{dist/components → components}/bh-tab-item.d.ts +1 -1
  152. package/{dist/components → components}/bh-tab-item.js +1 -2
  153. package/components/bh-tab-item.js.map +1 -0
  154. package/{dist/components → components}/bh-tabs.d.ts +1 -1
  155. package/{dist/components → components}/bh-tabs.js +1 -2
  156. package/components/bh-tabs.js.map +1 -0
  157. package/{dist/components → components}/bh-tag.d.ts +1 -1
  158. package/{dist/components → components}/bh-tag.js +1 -1
  159. package/{dist/components → components}/bh-textarea.d.ts +1 -1
  160. package/{dist/components → components}/bh-textarea.js +3 -4
  161. package/components/bh-textarea.js.map +1 -0
  162. package/{dist/components → components}/bh-toggle.d.ts +1 -1
  163. package/{dist/components/p-DK1vwbmm.js → components/bh-toggle.js} +10 -8
  164. package/components/bh-toggle.js.map +1 -0
  165. package/{dist/components → components}/bh-tooltip.d.ts +1 -1
  166. package/{dist/components → components}/bh-tooltip.js +1 -1
  167. package/{dist/components → components}/bh-trend-chart.d.ts +1 -1
  168. package/{dist/components → components}/bh-trend-chart.js +1 -2
  169. package/components/bh-trend-chart.js.map +1 -0
  170. package/components/index.d.ts +170 -0
  171. package/components/index.js +71 -0
  172. package/components/index.js.map +1 -0
  173. package/{dist/components/p-B-oXID22.js → components/p-8bOZFmdg.js} +6 -7
  174. package/components/p-8bOZFmdg.js.map +1 -0
  175. package/{dist/components/p-QjxdVLPX.js → components/p-B02xFf1P.js} +4 -5
  176. package/components/p-B02xFf1P.js.map +1 -0
  177. package/{dist/components/p-DLql1qMx.js → components/p-B0vRPcr5.js} +4 -5
  178. package/components/p-B0vRPcr5.js.map +1 -0
  179. package/{dist/components/p-3wrr5uYj.js → components/p-B9W7gNtY.js} +3 -4
  180. package/components/p-B9W7gNtY.js.map +1 -0
  181. package/{dist/components/p-CrB92GYh.js → components/p-BJLHKnwL.js} +5 -6
  182. package/components/p-BJLHKnwL.js.map +1 -0
  183. package/{dist/components/p-BE4kximA.js → components/p-BLCjD0ux.js} +3 -4
  184. package/components/p-BLCjD0ux.js.map +1 -0
  185. package/{dist/components/p-CnQh9uSW.js → components/p-BQKx1tGq.js} +7 -8
  186. package/components/p-BQKx1tGq.js.map +1 -0
  187. package/{dist/components/p-UG_h-ztP.js → components/p-BSok41i-.js} +3 -4
  188. package/components/p-BSok41i-.js.map +1 -0
  189. package/{dist/components/p-BsB67vNb.js → components/p-BajBGXic.js} +3 -4
  190. package/components/p-BajBGXic.js.map +1 -0
  191. package/{dist/components/p-BM_aWCWB.js → components/p-BkK6rWZn.js} +4 -5
  192. package/components/p-BkK6rWZn.js.map +1 -0
  193. package/{dist/components/p-DLHC5fHk.js → components/p-BsHlTsAN.js} +663 -9
  194. package/components/p-BsHlTsAN.js.map +1 -0
  195. package/{dist/components/p-CNifJXgc.js → components/p-Bu0BcHwL.js} +6 -7
  196. package/components/p-Bu0BcHwL.js.map +1 -0
  197. package/{dist/components/p-qS3vvZaC.js → components/p-Bx_0JeAb.js} +3 -4
  198. package/components/p-Bx_0JeAb.js.map +1 -0
  199. package/{dist/components/p-DXXn0saP.js → components/p-C0fcjlnS.js} +4 -5
  200. package/components/p-C0fcjlnS.js.map +1 -0
  201. package/{dist/components/p-D_matRYZ.js → components/p-CMoGgYqw.js} +3 -4
  202. package/components/p-CMoGgYqw.js.map +1 -0
  203. package/{dist/components/p-DBL4ByGk.js → components/p-CUWjjZT-.js} +3 -4
  204. package/components/p-CUWjjZT-.js.map +1 -0
  205. package/{dist/components/p-l5G-q5dj.js → components/p-C_wf2KGn.js} +4 -5
  206. package/components/p-C_wf2KGn.js.map +1 -0
  207. package/{dist/components/p-DgAfq9r9.js → components/p-CdwyUif-.js} +3 -4
  208. package/components/p-CdwyUif-.js.map +1 -0
  209. package/{dist/components/p-BAKX4y5m.js → components/p-Cmo_S3fO.js} +5 -6
  210. package/components/p-Cmo_S3fO.js.map +1 -0
  211. package/{dist/components/p-BsgViq32.js → components/p-D0Ba0gOA.js} +5 -6
  212. package/components/p-D0Ba0gOA.js.map +1 -0
  213. package/{dist/components/p-Djti9xFF.js → components/p-D3FuyNC4.js} +7 -8
  214. package/components/p-D3FuyNC4.js.map +1 -0
  215. package/{dist/components/p-CcPNBnbg.js → components/p-D9aamyuM.js} +5 -6
  216. package/components/p-D9aamyuM.js.map +1 -0
  217. package/{dist/components/p-CKiB8Aa8.js → components/p-DO_g_QMm.js} +3 -4
  218. package/components/p-DO_g_QMm.js.map +1 -0
  219. package/{dist/components/p-CECXxls6.js → components/p-DYC2IZEs.js} +8 -9
  220. package/components/p-DYC2IZEs.js.map +1 -0
  221. package/{dist/components/p-CzM_4nyA.js → components/p-Df8KgHhe.js} +4 -5
  222. package/components/p-Df8KgHhe.js.map +1 -0
  223. package/{dist/components/p-DoORMw6u.js → components/p-Do29ZTL9.js} +3 -4
  224. package/components/p-Do29ZTL9.js.map +1 -0
  225. package/{dist/components/p-G4wC-s5k.js → components/p-DxNNy00t.js} +3 -4
  226. package/components/p-DxNNy00t.js.map +1 -0
  227. package/{dist/components/p-BuUjUqUh.js → components/p-Npcwl1Z8.js} +3 -4
  228. package/components/p-Npcwl1Z8.js.map +1 -0
  229. package/{dist/components/p-CA0LmFbe.js → components/p-S3PEg8gv.js} +3 -4
  230. package/components/p-S3PEg8gv.js.map +1 -0
  231. package/{dist/components/p-CoJrxiH7.js → components/p-WibqGBGu.js} +3 -4
  232. package/components/p-WibqGBGu.js.map +1 -0
  233. package/{dist/components/p-CHuAmqhM.js → components/p-h6juyPoa.js} +3 -4
  234. package/components/p-h6juyPoa.js.map +1 -0
  235. package/{dist/components/p-FVbfBpwz.js → components/p-u2N2FclB.js} +4 -5
  236. package/components/p-u2N2FclB.js.map +1 -0
  237. package/{dist/components/p-C24VI6pZ.js → components/p-wPu4WTba.js} +3 -4
  238. package/components/p-wPu4WTba.js.map +1 -0
  239. package/dist/bellhop-core/bellhop-core.esm.js +1 -1
  240. package/dist/bellhop-core/bh-sidebar.entry.esm.js.map +1 -1
  241. package/dist/bellhop-core/index.esm.js +1 -1
  242. package/dist/bellhop-core/{p-2c796978.entry.js → p-07c9b7fa.entry.js} +2 -2
  243. package/dist/bellhop-core/{p-496fca9b.entry.js → p-091171da.entry.js} +2 -2
  244. package/dist/bellhop-core/{p-03e93cd8.entry.js → p-09a50860.entry.js} +2 -2
  245. package/dist/bellhop-core/{p-3719852a.entry.js → p-0e34250c.entry.js} +2 -2
  246. package/dist/bellhop-core/{p-cdd593fb.entry.js → p-11a6e5fc.entry.js} +2 -2
  247. package/dist/bellhop-core/{p-870fc023.entry.js → p-1540001e.entry.js} +2 -2
  248. package/dist/bellhop-core/{p-09f3464e.entry.js → p-1b670545.entry.js} +2 -2
  249. package/dist/bellhop-core/{p-8981025c.entry.js → p-1be3e908.entry.js} +2 -2
  250. package/dist/bellhop-core/{p-e86780b6.entry.js → p-21bc4f77.entry.js} +2 -2
  251. package/dist/bellhop-core/{p-2310cb6e.entry.js → p-233540f9.entry.js} +3 -3
  252. package/dist/bellhop-core/{p-0438e0a9.entry.js → p-272afebb.entry.js} +2 -2
  253. package/dist/bellhop-core/{p-860be0be.entry.js → p-2db7990e.entry.js} +2 -2
  254. package/dist/bellhop-core/{p-10967cab.entry.js → p-3194a87d.entry.js} +2 -2
  255. package/dist/bellhop-core/{p-e99bc91a.entry.js → p-3255019b.entry.js} +2 -2
  256. package/dist/bellhop-core/{p-56b857f5.entry.js → p-36166900.entry.js} +2 -2
  257. package/dist/bellhop-core/{p-686dea4a.entry.js → p-3a1c52a9.entry.js} +2 -2
  258. package/dist/bellhop-core/{p-58879213.entry.js → p-43c41dfb.entry.js} +2 -2
  259. package/dist/bellhop-core/{p-dcaa20e2.entry.js → p-442121f3.entry.js} +2 -2
  260. package/dist/bellhop-core/{p-4a14cbb5.entry.js → p-49edd1bb.entry.js} +2 -2
  261. package/dist/bellhop-core/{p-20d680ce.entry.js → p-4a8844ff.entry.js} +2 -2
  262. package/dist/bellhop-core/{p-f6e1b47c.entry.js → p-4e483d25.entry.js} +2 -2
  263. package/dist/bellhop-core/{p-b546cd23.entry.js → p-5514d7fb.entry.js} +2 -2
  264. package/dist/bellhop-core/{p-5760ce66.entry.js → p-5c4f74b8.entry.js} +2 -2
  265. package/dist/bellhop-core/{p-90b9047d.entry.js → p-5f92cb28.entry.js} +2 -2
  266. package/dist/bellhop-core/{p-e190ac50.entry.js → p-62235d6e.entry.js} +2 -2
  267. package/dist/bellhop-core/{p-f7c7416d.entry.js → p-67956598.entry.js} +2 -2
  268. package/dist/bellhop-core/{p-d4bfd30d.entry.js → p-6bc81ebb.entry.js} +2 -2
  269. package/dist/bellhop-core/{p-c8fb7f34.entry.js → p-6e8dd0f7.entry.js} +2 -2
  270. package/dist/bellhop-core/{p-abe24947.entry.js → p-7a85db89.entry.js} +2 -2
  271. package/dist/bellhop-core/{p-87fb26a0.entry.js → p-7b0cba50.entry.js} +2 -2
  272. package/dist/bellhop-core/{p-363dce47.entry.js → p-80e07b3d.entry.js} +2 -2
  273. package/dist/bellhop-core/{p-ef47dcd1.entry.js → p-83443918.entry.js} +2 -2
  274. package/dist/bellhop-core/{p-859f45da.entry.js → p-8962e1a6.entry.js} +2 -2
  275. package/dist/bellhop-core/{p-70ee270c.entry.js → p-8bf6364f.entry.js} +2 -2
  276. package/dist/bellhop-core/{p-e9ed7c17.entry.js → p-8cd61bd8.entry.js} +2 -2
  277. package/dist/bellhop-core/{p-239c7e6b.entry.js → p-9bf79c21.entry.js} +2 -2
  278. package/dist/bellhop-core/{p-DshiN5nT.js → p-CSYwm_Ke.js} +2 -2
  279. package/dist/bellhop-core/{p-DshiN5nT.js.map → p-CSYwm_Ke.js.map} +1 -1
  280. package/dist/bellhop-core/{p-CIj6YHfo.js → p-Ck1gRAmI.js} +2 -2
  281. package/dist/bellhop-core/{p-CIj6YHfo.js.map → p-Ck1gRAmI.js.map} +1 -1
  282. package/dist/bellhop-core/{p-I9CPXdBF.js → p-DY76Ee-p.js} +2 -2
  283. package/dist/bellhop-core/{p-I9CPXdBF.js.map → p-DY76Ee-p.js.map} +1 -1
  284. package/dist/bellhop-core/{p-6433b0a7.entry.js → p-a30e22f7.entry.js} +2 -2
  285. package/dist/bellhop-core/{p-086e8c86.entry.js → p-a41b3673.entry.js} +2 -2
  286. package/dist/bellhop-core/{p-b7801d25.entry.js → p-a42e8ddb.entry.js} +2 -2
  287. package/dist/bellhop-core/p-a9c914ee.entry.js +2 -0
  288. package/dist/bellhop-core/p-a9c914ee.entry.js.map +1 -0
  289. package/dist/bellhop-core/{p-67452ed0.entry.js → p-afd85291.entry.js} +2 -2
  290. package/dist/bellhop-core/{p-356a2ed7.entry.js → p-b0dda4df.entry.js} +2 -2
  291. package/dist/bellhop-core/{p-ab9c5351.entry.js → p-b878539a.entry.js} +2 -2
  292. package/dist/bellhop-core/{p-69f85850.entry.js → p-bd00d5ad.entry.js} +2 -2
  293. package/dist/bellhop-core/{p-b1cb34e9.entry.js → p-c0e36166.entry.js} +2 -2
  294. package/dist/bellhop-core/{p-ab2b037c.entry.js → p-c33f6e73.entry.js} +2 -2
  295. package/dist/bellhop-core/{p-44241bad.entry.js → p-c70d11a2.entry.js} +2 -2
  296. package/dist/bellhop-core/{p-94d2d599.entry.js → p-c9ac177b.entry.js} +2 -2
  297. package/dist/bellhop-core/{p-9a585c1a.entry.js → p-c9f7d922.entry.js} +2 -2
  298. package/dist/bellhop-core/{p-adcd2e15.entry.js → p-cf412873.entry.js} +2 -2
  299. package/dist/bellhop-core/{p-afd0e309.entry.js → p-d5bf49ab.entry.js} +2 -2
  300. package/dist/bellhop-core/{p-f5468da0.entry.js → p-defe9916.entry.js} +2 -2
  301. package/dist/bellhop-core/{p-23b74b40.entry.js → p-df4498cd.entry.js} +2 -2
  302. package/dist/bellhop-core/{p-57ac382d.entry.js → p-efd3dfed.entry.js} +2 -2
  303. package/dist/bellhop-core/{p-52e877e0.entry.js → p-f85a9eaa.entry.js} +2 -2
  304. package/dist/bellhop-core/{p-dd43d560.entry.js → p-ffb29d95.entry.js} +2 -2
  305. package/dist/bellhop-core/p-nAAobRRQ.js +3 -0
  306. package/dist/bellhop-core/p-nAAobRRQ.js.map +1 -0
  307. package/dist/cjs/bellhop-core.cjs.js +2 -2
  308. package/dist/cjs/bh-accordion-item.cjs.entry.js +1 -1
  309. package/dist/cjs/bh-accordion.cjs.entry.js +1 -1
  310. package/dist/cjs/bh-appbar.cjs.entry.js +1 -1
  311. package/dist/cjs/bh-autocomplete-menu_2.cjs.entry.js +1 -1
  312. package/dist/cjs/bh-avatar-add.cjs.entry.js +1 -1
  313. package/dist/cjs/bh-avatar-stacked.cjs.entry.js +1 -1
  314. package/dist/cjs/bh-avatar.cjs.entry.js +1 -1
  315. package/dist/cjs/bh-badge-dot_2.cjs.entry.js +1 -1
  316. package/dist/cjs/bh-badge.cjs.entry.js +1 -1
  317. package/dist/cjs/bh-bar-chart.cjs.entry.js +1 -1
  318. package/dist/cjs/{bh-button-CKYE8jYL.js → bh-button-DD0c0ODJ.js} +3 -3
  319. package/dist/cjs/{bh-button-CKYE8jYL.js.map → bh-button-DD0c0ODJ.js.map} +1 -1
  320. package/dist/cjs/bh-button-icon.cjs.entry.js +1 -1
  321. package/dist/cjs/bh-button_2.cjs.entry.js +2 -2
  322. package/dist/cjs/bh-card-footer.cjs.entry.js +1 -1
  323. package/dist/cjs/bh-card-header.cjs.entry.js +1 -1
  324. package/dist/cjs/bh-card.cjs.entry.js +1 -1
  325. package/dist/cjs/bh-chart-tooltip.cjs.entry.js +1 -1
  326. package/dist/cjs/bh-checkbox-group-item.cjs.entry.js +1 -1
  327. package/dist/cjs/bh-checkbox-group.cjs.entry.js +1 -1
  328. package/dist/cjs/bh-checkbox_2.cjs.entry.js +1 -1
  329. package/dist/cjs/bh-container-footer.cjs.entry.js +1 -1
  330. package/dist/cjs/bh-container.cjs.entry.js +1 -1
  331. package/dist/cjs/bh-data-grid.cjs.entry.js +1 -1
  332. package/dist/cjs/bh-date-picker-content.cjs.entry.js +1 -1
  333. package/dist/cjs/bh-date-picker.cjs.entry.js +1 -1
  334. package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +1 -1
  335. package/dist/cjs/bh-date-range-picker.cjs.entry.js +1 -1
  336. package/dist/cjs/bh-dropdown-menu.cjs.entry.js +1 -1
  337. package/dist/cjs/bh-dropdown_3.cjs.entry.js +1 -1
  338. package/dist/cjs/bh-empty-state_3.cjs.entry.js +2 -2
  339. package/dist/cjs/bh-featured-icon.cjs.entry.js +1 -1
  340. package/dist/cjs/bh-illustrations.cjs.entry.js +1 -1
  341. package/dist/cjs/bh-input-autocomplete.cjs.entry.js +1 -1
  342. package/dist/cjs/bh-input-number.cjs.entry.js +1 -1
  343. package/dist/cjs/bh-input-password.cjs.entry.js +1 -1
  344. package/dist/cjs/bh-input-text_2.cjs.entry.js +1 -1
  345. package/dist/cjs/bh-input-verification.cjs.entry.js +1 -1
  346. package/dist/cjs/{bh-label-DRC8k-B9.js → bh-label-MpXjm9k0.js} +3 -3
  347. package/dist/cjs/{bh-label-DRC8k-B9.js.map → bh-label-MpXjm9k0.js.map} +1 -1
  348. package/dist/cjs/bh-label_2.cjs.entry.js +2 -2
  349. package/dist/cjs/bh-modal-actions.cjs.entry.js +1 -1
  350. package/dist/cjs/bh-modal-header.cjs.entry.js +1 -1
  351. package/dist/cjs/bh-modal.cjs.entry.js +1 -1
  352. package/dist/cjs/bh-month-picker-content.cjs.entry.js +1 -1
  353. package/dist/cjs/bh-month-picker.cjs.entry.js +1 -1
  354. package/dist/cjs/bh-notification.cjs.entry.js +1 -1
  355. package/dist/cjs/bh-page-navigation-child.cjs.entry.js +1 -1
  356. package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +1 -1
  357. package/dist/cjs/bh-page-navigation.cjs.entry.js +1 -1
  358. package/dist/cjs/{bh-pagination-BJ1azyCc.js → bh-pagination-CgER63yz.js} +3 -3
  359. package/dist/cjs/{bh-pagination-BJ1azyCc.js.map → bh-pagination-CgER63yz.js.map} +1 -1
  360. package/dist/cjs/bh-pie-chart.cjs.entry.js +1 -1
  361. package/dist/cjs/bh-popover.cjs.entry.js +1 -1
  362. package/dist/cjs/bh-product-switcher.cjs.entry.js +1 -1
  363. package/dist/cjs/bh-property-switcher.cjs.entry.js +1 -1
  364. package/dist/cjs/bh-sidebar.cjs.entry.js +11 -2
  365. package/dist/cjs/bh-sidebar.entry.cjs.js.map +1 -1
  366. package/dist/cjs/bh-tab-item.cjs.entry.js +1 -1
  367. package/dist/cjs/bh-tabs.cjs.entry.js +1 -1
  368. package/dist/cjs/bh-textarea.cjs.entry.js +1 -1
  369. package/dist/cjs/bh-toggle.cjs.entry.js +1 -1
  370. package/dist/cjs/bh-trend-chart.cjs.entry.js +1 -1
  371. package/dist/cjs/{index-BVJ_Kket.js → index-DQwSUT6k.js} +666 -9
  372. package/dist/cjs/index-DQwSUT6k.js.map +1 -0
  373. package/dist/cjs/index.cjs.js +4 -4
  374. package/dist/cjs/loader.cjs.js +2 -2
  375. package/dist/collection/components/bh-sidebar/bh-sidebar.js +51 -1
  376. package/dist/collection/components/bh-sidebar/bh-sidebar.js.map +1 -1
  377. package/dist/esm/bellhop-core.js +3 -3
  378. package/dist/esm/bh-accordion-item.entry.js +1 -1
  379. package/dist/esm/bh-accordion.entry.js +1 -1
  380. package/dist/esm/bh-appbar.entry.js +1 -1
  381. package/dist/esm/bh-autocomplete-menu_2.entry.js +1 -1
  382. package/dist/esm/bh-avatar-add.entry.js +1 -1
  383. package/dist/esm/bh-avatar-stacked.entry.js +1 -1
  384. package/dist/esm/bh-avatar.entry.js +1 -1
  385. package/dist/esm/bh-badge-dot_2.entry.js +1 -1
  386. package/dist/esm/bh-badge.entry.js +1 -1
  387. package/dist/esm/bh-bar-chart.entry.js +1 -1
  388. package/dist/esm/{bh-button-n5gkWRSP.js → bh-button-ImGVvXaj.js} +3 -3
  389. package/dist/esm/{bh-button-n5gkWRSP.js.map → bh-button-ImGVvXaj.js.map} +1 -1
  390. package/dist/esm/bh-button-icon.entry.js +1 -1
  391. package/dist/esm/bh-button_2.entry.js +2 -2
  392. package/dist/esm/bh-card-footer.entry.js +1 -1
  393. package/dist/esm/bh-card-header.entry.js +1 -1
  394. package/dist/esm/bh-card.entry.js +1 -1
  395. package/dist/esm/bh-chart-tooltip.entry.js +1 -1
  396. package/dist/esm/bh-checkbox-group-item.entry.js +1 -1
  397. package/dist/esm/bh-checkbox-group.entry.js +1 -1
  398. package/dist/esm/bh-checkbox_2.entry.js +1 -1
  399. package/dist/esm/bh-container-footer.entry.js +1 -1
  400. package/dist/esm/bh-container.entry.js +1 -1
  401. package/dist/esm/bh-data-grid.entry.js +1 -1
  402. package/dist/esm/bh-date-picker-content.entry.js +1 -1
  403. package/dist/esm/bh-date-picker.entry.js +1 -1
  404. package/dist/esm/bh-date-range-picker-content.entry.js +1 -1
  405. package/dist/esm/bh-date-range-picker.entry.js +1 -1
  406. package/dist/esm/bh-dropdown-menu.entry.js +1 -1
  407. package/dist/esm/bh-dropdown_3.entry.js +1 -1
  408. package/dist/esm/bh-empty-state_3.entry.js +2 -2
  409. package/dist/esm/bh-featured-icon.entry.js +1 -1
  410. package/dist/esm/bh-illustrations.entry.js +1 -1
  411. package/dist/esm/bh-input-autocomplete.entry.js +1 -1
  412. package/dist/esm/bh-input-number.entry.js +1 -1
  413. package/dist/esm/bh-input-password.entry.js +1 -1
  414. package/dist/esm/bh-input-text_2.entry.js +1 -1
  415. package/dist/esm/bh-input-verification.entry.js +1 -1
  416. package/dist/esm/{bh-label-fV57YpXm.js → bh-label-PLT7t4We.js} +3 -3
  417. package/dist/esm/{bh-label-fV57YpXm.js.map → bh-label-PLT7t4We.js.map} +1 -1
  418. package/dist/esm/bh-label_2.entry.js +2 -2
  419. package/dist/esm/bh-modal-actions.entry.js +1 -1
  420. package/dist/esm/bh-modal-header.entry.js +1 -1
  421. package/dist/esm/bh-modal.entry.js +1 -1
  422. package/dist/esm/bh-month-picker-content.entry.js +1 -1
  423. package/dist/esm/bh-month-picker.entry.js +1 -1
  424. package/dist/esm/bh-notification.entry.js +1 -1
  425. package/dist/esm/bh-page-navigation-child.entry.js +1 -1
  426. package/dist/esm/bh-page-navigation-multi-level_2.entry.js +1 -1
  427. package/dist/esm/bh-page-navigation.entry.js +1 -1
  428. package/dist/esm/{bh-pagination-BtbbslVs.js → bh-pagination-CUeRSYsV.js} +3 -3
  429. package/dist/esm/{bh-pagination-BtbbslVs.js.map → bh-pagination-CUeRSYsV.js.map} +1 -1
  430. package/dist/esm/bh-pie-chart.entry.js +1 -1
  431. package/dist/esm/bh-popover.entry.js +1 -1
  432. package/dist/esm/bh-product-switcher.entry.js +1 -1
  433. package/dist/esm/bh-property-switcher.entry.js +1 -1
  434. package/dist/esm/bh-sidebar.entry.js +11 -2
  435. package/dist/esm/bh-sidebar.entry.js.map +1 -1
  436. package/dist/esm/bh-tab-item.entry.js +1 -1
  437. package/dist/esm/bh-tabs.entry.js +1 -1
  438. package/dist/esm/bh-textarea.entry.js +1 -1
  439. package/dist/esm/bh-toggle.entry.js +1 -1
  440. package/dist/esm/bh-trend-chart.entry.js +1 -1
  441. package/dist/esm/{index-DXAL-jSE.js → index-nAAobRRQ.js} +666 -9
  442. package/dist/esm/index-nAAobRRQ.js.map +1 -0
  443. package/dist/esm/index.js +4 -4
  444. package/dist/esm/loader.js +3 -3
  445. package/dist/types/components/bh-sidebar/bh-sidebar.d.ts +9 -0
  446. package/dist/types/components.d.ts +18 -0
  447. package/hydrate/index.d.ts +275 -0
  448. package/hydrate/index.js +33814 -0
  449. package/hydrate/index.mjs +33806 -0
  450. package/hydrate/package.json +12 -0
  451. package/package.json +18 -17
  452. package/dist/bellhop-core/p-5ab50add.entry.js +0 -2
  453. package/dist/bellhop-core/p-5ab50add.entry.js.map +0 -1
  454. package/dist/bellhop-core/p-DXAL-jSE.js +0 -3
  455. package/dist/bellhop-core/p-DXAL-jSE.js.map +0 -1
  456. package/dist/cjs/index-BVJ_Kket.js.map +0 -1
  457. package/dist/components/bh-accordion-item.js.map +0 -1
  458. package/dist/components/bh-accordion.js.map +0 -1
  459. package/dist/components/bh-appbar.js.map +0 -1
  460. package/dist/components/bh-avatar-stacked.js.map +0 -1
  461. package/dist/components/bh-bar-chart.js.map +0 -1
  462. package/dist/components/bh-card-footer.js +0 -9
  463. package/dist/components/bh-card-footer.js.map +0 -1
  464. package/dist/components/bh-card-header.js +0 -9
  465. package/dist/components/bh-card-header.js.map +0 -1
  466. package/dist/components/bh-card.js +0 -9
  467. package/dist/components/bh-card.js.map +0 -1
  468. package/dist/components/bh-checkbox-group-item.js +0 -9
  469. package/dist/components/bh-checkbox-group-item.js.map +0 -1
  470. package/dist/components/bh-checkbox-group.js +0 -9
  471. package/dist/components/bh-checkbox-group.js.map +0 -1
  472. package/dist/components/bh-container-footer.js.map +0 -1
  473. package/dist/components/bh-container.js.map +0 -1
  474. package/dist/components/bh-data-grid.js +0 -9
  475. package/dist/components/bh-data-grid.js.map +0 -1
  476. package/dist/components/bh-date-picker.js.map +0 -1
  477. package/dist/components/bh-date-range-picker.js.map +0 -1
  478. package/dist/components/bh-illustrations.js.map +0 -1
  479. package/dist/components/bh-input-autocomplete.js.map +0 -1
  480. package/dist/components/bh-input-number.js.map +0 -1
  481. package/dist/components/bh-input-password.js.map +0 -1
  482. package/dist/components/bh-input-verification.js.map +0 -1
  483. package/dist/components/bh-modal-actions.js.map +0 -1
  484. package/dist/components/bh-modal-header.js.map +0 -1
  485. package/dist/components/bh-modal.js +0 -9
  486. package/dist/components/bh-modal.js.map +0 -1
  487. package/dist/components/bh-month-picker.js.map +0 -1
  488. package/dist/components/bh-notification.js.map +0 -1
  489. package/dist/components/bh-page-navigation.js.map +0 -1
  490. package/dist/components/bh-pie-chart.js.map +0 -1
  491. package/dist/components/bh-popover.js.map +0 -1
  492. package/dist/components/bh-property-switcher.js.map +0 -1
  493. package/dist/components/bh-sidebar.js.map +0 -1
  494. package/dist/components/bh-tab-item.js.map +0 -1
  495. package/dist/components/bh-tabs.js.map +0 -1
  496. package/dist/components/bh-textarea.js.map +0 -1
  497. package/dist/components/bh-toggle.js +0 -9
  498. package/dist/components/bh-toggle.js.map +0 -1
  499. package/dist/components/bh-trend-chart.js.map +0 -1
  500. package/dist/components/index.d.ts +0 -33
  501. package/dist/components/index.js +0 -17
  502. package/dist/components/index.js.map +0 -1
  503. package/dist/components/p-3wrr5uYj.js.map +0 -1
  504. package/dist/components/p-B-oXID22.js.map +0 -1
  505. package/dist/components/p-B7e9Vn80.js.map +0 -1
  506. package/dist/components/p-BAKX4y5m.js.map +0 -1
  507. package/dist/components/p-BE4kximA.js.map +0 -1
  508. package/dist/components/p-BM_aWCWB.js.map +0 -1
  509. package/dist/components/p-BsB67vNb.js.map +0 -1
  510. package/dist/components/p-BsgViq32.js.map +0 -1
  511. package/dist/components/p-BuUjUqUh.js.map +0 -1
  512. package/dist/components/p-C24VI6pZ.js.map +0 -1
  513. package/dist/components/p-CA0LmFbe.js.map +0 -1
  514. package/dist/components/p-CECXxls6.js.map +0 -1
  515. package/dist/components/p-CGw-G2Wz.js.map +0 -1
  516. package/dist/components/p-CHuAmqhM.js.map +0 -1
  517. package/dist/components/p-CKiB8Aa8.js.map +0 -1
  518. package/dist/components/p-CNifJXgc.js.map +0 -1
  519. package/dist/components/p-CcPNBnbg.js.map +0 -1
  520. package/dist/components/p-CnQh9uSW.js.map +0 -1
  521. package/dist/components/p-CoJrxiH7.js.map +0 -1
  522. package/dist/components/p-CrB92GYh.js.map +0 -1
  523. package/dist/components/p-CycIV1i_.js.map +0 -1
  524. package/dist/components/p-CzM_4nyA.js.map +0 -1
  525. package/dist/components/p-DBL4ByGk.js.map +0 -1
  526. package/dist/components/p-DErr7PhS.js.map +0 -1
  527. package/dist/components/p-DK1vwbmm.js.map +0 -1
  528. package/dist/components/p-DLHC5fHk.js.map +0 -1
  529. package/dist/components/p-DLql1qMx.js.map +0 -1
  530. package/dist/components/p-DXXn0saP.js.map +0 -1
  531. package/dist/components/p-D_matRYZ.js.map +0 -1
  532. package/dist/components/p-DcXhS_xz.js.map +0 -1
  533. package/dist/components/p-DgAfq9r9.js.map +0 -1
  534. package/dist/components/p-DjsErN85.js.map +0 -1
  535. package/dist/components/p-Djti9xFF.js.map +0 -1
  536. package/dist/components/p-DoORMw6u.js.map +0 -1
  537. package/dist/components/p-DpK6k515.js.map +0 -1
  538. package/dist/components/p-FVbfBpwz.js.map +0 -1
  539. package/dist/components/p-G4wC-s5k.js.map +0 -1
  540. package/dist/components/p-QjxdVLPX.js.map +0 -1
  541. package/dist/components/p-UG_h-ztP.js.map +0 -1
  542. package/dist/components/p-l5G-q5dj.js.map +0 -1
  543. package/dist/components/p-qS3vvZaC.js.map +0 -1
  544. package/dist/esm/index-DXAL-jSE.js.map +0 -1
  545. /package/{dist/components → components}/bh-autocomplete-menu.js.map +0 -0
  546. /package/{dist/components → components}/bh-avatar-add.js.map +0 -0
  547. /package/{dist/components → components}/bh-avatar.js.map +0 -0
  548. /package/{dist/components → components}/bh-badge-dot.js.map +0 -0
  549. /package/{dist/components → components}/bh-badge.js.map +0 -0
  550. /package/{dist/components → components}/bh-breadcrumbs.js.map +0 -0
  551. /package/{dist/components → components}/bh-button-icon.js.map +0 -0
  552. /package/{dist/components → components}/bh-button.js.map +0 -0
  553. /package/{dist/components → components}/bh-chart-tooltip.js.map +0 -0
  554. /package/{dist/components → components}/bh-checkbox.js.map +0 -0
  555. /package/{dist/components → components}/bh-date-picker-content.js.map +0 -0
  556. /package/{dist/components → components}/bh-date-range-picker-content.js.map +0 -0
  557. /package/{dist/components → components}/bh-dropdown-menu.js.map +0 -0
  558. /package/{dist/components → components}/bh-dropdown.js.map +0 -0
  559. /package/{dist/components → components}/bh-empty-state.js.map +0 -0
  560. /package/{dist/components → components}/bh-featured-icon.js.map +0 -0
  561. /package/{dist/components → components}/bh-input-text.js.map +0 -0
  562. /package/{dist/components → components}/bh-label.js.map +0 -0
  563. /package/{dist/components → components}/bh-loader-spinner.js.map +0 -0
  564. /package/{dist/components → components}/bh-logo-box.js.map +0 -0
  565. /package/{dist/components → components}/bh-month-picker-content.js.map +0 -0
  566. /package/{dist/components → components}/bh-nav-item.js.map +0 -0
  567. /package/{dist/components → components}/bh-page-navigation-child.js.map +0 -0
  568. /package/{dist/components → components}/bh-page-navigation-multi-level.js.map +0 -0
  569. /package/{dist/components → components}/bh-page-navigation-single-level.js.map +0 -0
  570. /package/{dist/components → components}/bh-pagination.js.map +0 -0
  571. /package/{dist/components → components}/bh-picker-menu.js.map +0 -0
  572. /package/{dist/components → components}/bh-product-switcher.js.map +0 -0
  573. /package/{dist/components → components}/bh-radio-button.js.map +0 -0
  574. /package/{dist/components → components}/bh-skeleton-loader.js.map +0 -0
  575. /package/{dist/components → components}/bh-tag.js.map +0 -0
  576. /package/{dist/components → components}/bh-tooltip.js.map +0 -0
  577. /package/{dist/components → components}/p-2KjdCYlS.js +0 -0
  578. /package/{dist/components → components}/p-2KjdCYlS.js.map +0 -0
  579. /package/dist/bellhop-core/{p-2c796978.entry.js.map → p-07c9b7fa.entry.js.map} +0 -0
  580. /package/dist/bellhop-core/{p-496fca9b.entry.js.map → p-091171da.entry.js.map} +0 -0
  581. /package/dist/bellhop-core/{p-03e93cd8.entry.js.map → p-09a50860.entry.js.map} +0 -0
  582. /package/dist/bellhop-core/{p-3719852a.entry.js.map → p-0e34250c.entry.js.map} +0 -0
  583. /package/dist/bellhop-core/{p-cdd593fb.entry.js.map → p-11a6e5fc.entry.js.map} +0 -0
  584. /package/dist/bellhop-core/{p-870fc023.entry.js.map → p-1540001e.entry.js.map} +0 -0
  585. /package/dist/bellhop-core/{p-09f3464e.entry.js.map → p-1b670545.entry.js.map} +0 -0
  586. /package/dist/bellhop-core/{p-8981025c.entry.js.map → p-1be3e908.entry.js.map} +0 -0
  587. /package/dist/bellhop-core/{p-e86780b6.entry.js.map → p-21bc4f77.entry.js.map} +0 -0
  588. /package/dist/bellhop-core/{p-2310cb6e.entry.js.map → p-233540f9.entry.js.map} +0 -0
  589. /package/dist/bellhop-core/{p-0438e0a9.entry.js.map → p-272afebb.entry.js.map} +0 -0
  590. /package/dist/bellhop-core/{p-860be0be.entry.js.map → p-2db7990e.entry.js.map} +0 -0
  591. /package/dist/bellhop-core/{p-10967cab.entry.js.map → p-3194a87d.entry.js.map} +0 -0
  592. /package/dist/bellhop-core/{p-e99bc91a.entry.js.map → p-3255019b.entry.js.map} +0 -0
  593. /package/dist/bellhop-core/{p-56b857f5.entry.js.map → p-36166900.entry.js.map} +0 -0
  594. /package/dist/bellhop-core/{p-686dea4a.entry.js.map → p-3a1c52a9.entry.js.map} +0 -0
  595. /package/dist/bellhop-core/{p-58879213.entry.js.map → p-43c41dfb.entry.js.map} +0 -0
  596. /package/dist/bellhop-core/{p-dcaa20e2.entry.js.map → p-442121f3.entry.js.map} +0 -0
  597. /package/dist/bellhop-core/{p-4a14cbb5.entry.js.map → p-49edd1bb.entry.js.map} +0 -0
  598. /package/dist/bellhop-core/{p-20d680ce.entry.js.map → p-4a8844ff.entry.js.map} +0 -0
  599. /package/dist/bellhop-core/{p-f6e1b47c.entry.js.map → p-4e483d25.entry.js.map} +0 -0
  600. /package/dist/bellhop-core/{p-b546cd23.entry.js.map → p-5514d7fb.entry.js.map} +0 -0
  601. /package/dist/bellhop-core/{p-5760ce66.entry.js.map → p-5c4f74b8.entry.js.map} +0 -0
  602. /package/dist/bellhop-core/{p-90b9047d.entry.js.map → p-5f92cb28.entry.js.map} +0 -0
  603. /package/dist/bellhop-core/{p-e190ac50.entry.js.map → p-62235d6e.entry.js.map} +0 -0
  604. /package/dist/bellhop-core/{p-f7c7416d.entry.js.map → p-67956598.entry.js.map} +0 -0
  605. /package/dist/bellhop-core/{p-d4bfd30d.entry.js.map → p-6bc81ebb.entry.js.map} +0 -0
  606. /package/dist/bellhop-core/{p-c8fb7f34.entry.js.map → p-6e8dd0f7.entry.js.map} +0 -0
  607. /package/dist/bellhop-core/{p-abe24947.entry.js.map → p-7a85db89.entry.js.map} +0 -0
  608. /package/dist/bellhop-core/{p-87fb26a0.entry.js.map → p-7b0cba50.entry.js.map} +0 -0
  609. /package/dist/bellhop-core/{p-363dce47.entry.js.map → p-80e07b3d.entry.js.map} +0 -0
  610. /package/dist/bellhop-core/{p-ef47dcd1.entry.js.map → p-83443918.entry.js.map} +0 -0
  611. /package/dist/bellhop-core/{p-859f45da.entry.js.map → p-8962e1a6.entry.js.map} +0 -0
  612. /package/dist/bellhop-core/{p-70ee270c.entry.js.map → p-8bf6364f.entry.js.map} +0 -0
  613. /package/dist/bellhop-core/{p-e9ed7c17.entry.js.map → p-8cd61bd8.entry.js.map} +0 -0
  614. /package/dist/bellhop-core/{p-239c7e6b.entry.js.map → p-9bf79c21.entry.js.map} +0 -0
  615. /package/dist/bellhop-core/{p-6433b0a7.entry.js.map → p-a30e22f7.entry.js.map} +0 -0
  616. /package/dist/bellhop-core/{p-086e8c86.entry.js.map → p-a41b3673.entry.js.map} +0 -0
  617. /package/dist/bellhop-core/{p-b7801d25.entry.js.map → p-a42e8ddb.entry.js.map} +0 -0
  618. /package/dist/bellhop-core/{p-67452ed0.entry.js.map → p-afd85291.entry.js.map} +0 -0
  619. /package/dist/bellhop-core/{p-356a2ed7.entry.js.map → p-b0dda4df.entry.js.map} +0 -0
  620. /package/dist/bellhop-core/{p-ab9c5351.entry.js.map → p-b878539a.entry.js.map} +0 -0
  621. /package/dist/bellhop-core/{p-69f85850.entry.js.map → p-bd00d5ad.entry.js.map} +0 -0
  622. /package/dist/bellhop-core/{p-b1cb34e9.entry.js.map → p-c0e36166.entry.js.map} +0 -0
  623. /package/dist/bellhop-core/{p-ab2b037c.entry.js.map → p-c33f6e73.entry.js.map} +0 -0
  624. /package/dist/bellhop-core/{p-44241bad.entry.js.map → p-c70d11a2.entry.js.map} +0 -0
  625. /package/dist/bellhop-core/{p-94d2d599.entry.js.map → p-c9ac177b.entry.js.map} +0 -0
  626. /package/dist/bellhop-core/{p-9a585c1a.entry.js.map → p-c9f7d922.entry.js.map} +0 -0
  627. /package/dist/bellhop-core/{p-adcd2e15.entry.js.map → p-cf412873.entry.js.map} +0 -0
  628. /package/dist/bellhop-core/{p-afd0e309.entry.js.map → p-d5bf49ab.entry.js.map} +0 -0
  629. /package/dist/bellhop-core/{p-f5468da0.entry.js.map → p-defe9916.entry.js.map} +0 -0
  630. /package/dist/bellhop-core/{p-23b74b40.entry.js.map → p-df4498cd.entry.js.map} +0 -0
  631. /package/dist/bellhop-core/{p-57ac382d.entry.js.map → p-efd3dfed.entry.js.map} +0 -0
  632. /package/dist/bellhop-core/{p-52e877e0.entry.js.map → p-f85a9eaa.entry.js.map} +0 -0
  633. /package/dist/bellhop-core/{p-dd43d560.entry.js.map → p-ffb29d95.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"p-BE4kximA.js","mappings":";;AAAA,MAAM,YAAY,GAAG,w3DAAw3D;;MCOh4D,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACpB;;AAEG;IACK,IAAI,GAAW,MAAM;AAE7B;;AAEG;IACK,KAAK,GAAW,MAAM;AAE9B;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,OAAO;IAER,WAAW,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAEvB,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;AAC/C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClE,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAEvB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,cAAc,EAAA,EACxB,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,iBAAiB,gBACX,IAAI,CAAC,KAAK,EACtB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAA,EAEhC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gCAAgC,EAAA,EAAE,IAAI,CAAC,IAAI,CAAQ,CACxD,EACT,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAK,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-sidebar/bh-nav-item.css?tag=bh-nav-item&encapsulation=shadow","src/components/bh-sidebar/bh-nav-item.tsx"],"sourcesContent":["/* ==========================================================================\n BH-NAV-ITEM COMPONENT STYLES\n Navigation item for sidebar navigation\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n max-width: 52px;\n height: fit-content;\n}\n\n.nav-item-button {\n background-color: var(--color-white);\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n padding: var(--spacing-md);\n position: relative;\n border-radius: var(--radius-sm);\n flex-shrink: 0;\n transition: background-color 0.2s ease;\n cursor: pointer;\n border: none;\n outline: none;\n}\n\n.nav-item-button:hover {\n background-color: var(--color-neutral-50);\n}\n\n.nav-item-button:focus-visible {\n box-shadow: 0 0 0 2px var(--color-brand-100);\n}\n\n.nav-item.active .nav-item-button {\n background-color: var(--color-brand-50);\n}\n\n.nav-item-button .icon {\n width: 20px;\n height: 20px;\n display: block;\n flex-shrink: 0;\n color: var(--color-neutral-500);\n transition: color 0.2s ease;\n font-size: 20px;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.nav-item-button:hover .icon {\n color: var(--color-neutral-700);\n}\n\n.nav-item.active .nav-item-button .icon {\n color: var(--color-brand-600);\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.nav-item-label {\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n height: 18px;\n line-height: 18px;\n font-style: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex-shrink: 0;\n color: var(--color-neutral-700);\n font-size: 10px;\n text-align: center;\n white-space: nowrap;\n width: 100%;\n max-width: 100%;\n margin: var(--spacing-none);\n margin-top: var(--spacing-xxs);\n box-sizing: border-box;\n direction: ltr;\n}\n\n.nav-item.active .nav-item-label {\n color: var(--color-neutral-700);\n font-weight: var(--weight-semibold);\n}\n\n/* Disabled state */\n.nav-item.disabled .nav-item-button {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nav-item.disabled .nav-item-button:hover {\n background-color: var(--color-white);\n}\n\n.nav-item.disabled .nav-item-button .icon {\n color: var(--color-neutral-400);\n}\n\n.nav-item.disabled .nav-item-label {\n color: var(--color-neutral-400);\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'bh-nav-item',\n styleUrl: 'bh-nav-item.css',\n shadow: true,\n})\nexport class BhNavItem {\n /**\n * Material Symbols icon name\n */\n @Prop() icon: string = 'home';\n\n /**\n * Label text displayed below the icon\n */\n @Prop() label: string = 'Home';\n\n /**\n * Whether the nav item is active/selected\n */\n @Prop() isActive: boolean = false;\n\n /**\n * Whether the nav item is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Event emitted when the nav item is clicked\n */\n @Event() bhClick!: EventEmitter<void>;\n\n private handleClick = () => {\n if (!this.disabled) {\n this.bhClick.emit();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.disabled) {\n event.preventDefault();\n this.bhClick.emit();\n }\n };\n\n render() {\n const navItemClasses = {\n 'nav-item': true,\n 'active': this.isActive,\n 'disabled': this.disabled,\n };\n\n return (\n <div class={navItemClasses}>\n <button\n class=\"nav-item-button\"\n aria-label={this.label}\n type=\"button\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n disabled={this.disabled}\n tabIndex={this.disabled ? -1 : 0}\n >\n <span class=\"material-symbols-outlined icon\">{this.icon}</span>\n </button>\n <p class=\"nav-item-label\">{this.label}</p>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-BM_aWCWB.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,ynFAAynF;;MCU7nF,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAAC,CAAA,CAAA;;;;;;;;;;IAER,OAAO,GAAe,WAAW;;IAGjC,IAAI,GAAY,IAAI;;IAGpB,KAAK,GAAW,OAAO;;IAGvB,WAAW,GAAY,KAAK;;IAG5B,QAAQ,GAAY,KAAK;;IAGzB,QAAQ,GAAW,GAAG;;IAGtB,SAAS,GAAW,EAAE;;IAGrB,YAAY,GAAY,KAAK;;AAG7B,IAAA,SAAS;AAEV,IAAA,aAAa,GAAG,CAAC,KAAiB,KAAI;QAC5C,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAC5D,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;YAGxB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK;aAC1B,EAAE,GAAG,CAAC;;AAEX,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,CAAC,OAAO,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC1B,YAAA,CAAC,OAAO,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YAC7B,iBAAiB,EAAE,IAAI,CAAC,WAAW;YACnC,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,iBAAiB,EAAE,IAAI,CAAC,YAAY;SACrC;AAED,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAI,EAAA,CAAA;SAC/B;AAED,QAAA,QACE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAE,OAAO,EAAA,EAClB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EAErB,IAAI,CAAC,OAAO,KAAK,QAAQ,KACxB,CAAW,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAc,CAC7G,EAGD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC7B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,UAAU,EAAA,EACtC,IAAI,CAAC,KAAK,CACN,CACF,CACH,EAGL,IAAI,CAAC,WAAW,KACf,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,SAAS,EAAA,EAEpB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4CAA4C,EAAA,EAAA,OAAA,CAEjD,CACA,CACV,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-tag/bh-tag.css?tag=bh-tag&encapsulation=shadow","src/components/bh-tag/bh-tag.tsx"],"sourcesContent":["/* Tag Base Styles */\n:host {\n display: inline-block;\n}\n\n.tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n background-color: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-sm);\n white-space: nowrap;\n cursor: default;\n user-select: none;\n}\n\n/* Clickable Tags */\n.tag-dismissible {\n cursor: pointer;\n}\n\n/* Size Variants */\n.tag-sm {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.tag-sm.tag-dismissible {\n padding: var(--spacing-xxs) var(--spacing-xs) var(--spacing-xxs) var(--spacing-md);\n}\n\n.tag-md {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.tag-md.tag-dismissible {\n padding: var(--spacing-xxs) var(--spacing-xs) var(--spacing-xxs) var(--spacing-md);\n}\n\n.tag-lg {\n padding: var(--spacing-xs) var(--spacing-lg);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.tag-lg.tag-dismissible {\n padding: var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-lg);\n}\n\n/* Content Layout */\n.tag-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n}\n\n/* Avatar Variant - specific adjustments */\n.tag-avatar .tag-content {\n gap: var(--spacing-sm);\n}\n\n.tag-sm.tag-avatar {\n padding-left: var(--spacing-xs);\n}\n\n.tag-sm.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-xs);\n}\n\n.tag-md.tag-avatar {\n padding-left: var(--spacing-sm);\n}\n\n.tag-md.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-sm);\n}\n\n.tag-lg.tag-avatar {\n padding-left: var(--spacing-sm);\n}\n\n.tag-lg.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-sm);\n}\n\n/* Label wrapper for tooltip positioning */\n.tag-label-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n}\n\n/* Label */\n.tag-label {\n color: var(--color-neutral-700);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Dismiss Button */\n.tag-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: var(--spacing-xxs);\n border-radius: var(--radius-xs);\n transition: background-color 0.2s ease;\n width: var(--spacing-xl);\n height: var(--spacing-xl);\n flex-shrink: 0;\n}\n\n.tag-lg .tag-dismiss {\n padding: var(--spacing-xs);\n width: var(--spacing-2xl);\n height: var(--spacing-2xl);\n}\n\n.tag-dismiss:hover {\n background-color: var(--color-neutral-100);\n}\n\n.tag-dismiss:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.tag-dismiss-icon {\n font-size: var(--text-sm-size);\n color: var(--color-neutral-500);\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.tag-lg .tag-dismiss-icon {\n font-size: var(--text-md-size);\n}\n\n/* Disabled State */\n.tag-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Hover State for Dismissible Tags */\n.tag:hover {\n border-color: var(--color-neutral-300);\n}\n\n.tag-disabled:hover {\n border-color: var(--color-neutral-200);\n}\n\n/* Dismiss animation */\n.animate-dismiss {\n animation: dismiss 0.2s ease-out forwards;\n}\n\n@keyframes dismiss {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.8);\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, h } from '@stencil/core';\n\nexport type TagVariant = 'text-only' | 'avatar';\nexport type TagSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'bh-tag',\n styleUrl: 'bh-tag.css',\n shadow: true,\n})\nexport class BhTag {\n /** Tag variant */\n @Prop() variant: TagVariant = 'text-only';\n\n /** Tag size */\n @Prop() size: TagSize = 'md';\n\n /** Tag label text */\n @Prop() label: string = 'Label';\n\n /** Whether the tag is dismissible */\n @Prop() dismissible: boolean = false;\n\n /** Whether the tag is disabled */\n @Prop() disabled: boolean = false;\n\n /** Maximum width for the label (in pixels) */\n @Prop() maxWidth: number = 120;\n\n /** Avatar image source (for avatar variant) */\n @Prop() avatarSrc: string = '';\n\n /** Internal dismissing state */\n @State() isDismissing: boolean = false;\n\n /** Emitted when dismiss button is clicked */\n @Event() bhDismiss!: EventEmitter<void>;\n\n private handleDismiss = (event: MouseEvent) => {\n event.stopPropagation();\n\n if (this.dismissible && !this.disabled && !this.isDismissing) {\n this.isDismissing = true;\n\n // Simulate animation duration\n setTimeout(() => {\n this.bhDismiss.emit();\n this.isDismissing = false;\n }, 200);\n }\n };\n\n render() {\n const classes = {\n 'tag': true,\n [`tag-${this.size}`]: true,\n [`tag-${this.variant}`]: true,\n 'tag-dismissible': this.dismissible,\n 'tag-disabled': this.disabled,\n 'animate-dismiss': this.isDismissing,\n };\n\n const labelStyle = {\n maxWidth: `${this.maxWidth}px`,\n };\n\n return (\n <span class={classes}>\n <div class=\"tag-content\">\n {/* Avatar variant */}\n {this.variant === 'avatar' && (\n <bh-avatar size=\"xxs\" type={this.avatarSrc ? 'image' : 'placeholder'} imageSrc={this.avatarSrc}></bh-avatar>\n )}\n\n {/* Label */}\n <span class=\"tag-label-wrapper\">\n <span class=\"tag-label\" style={labelStyle}>\n {this.label}\n </span>\n </span>\n </div>\n\n {/* Dismiss button (if dismissible) */}\n {this.dismissible && (\n <button\n class=\"tag-dismiss\"\n onClick={this.handleDismiss}\n disabled={this.disabled}\n type=\"button\"\n aria-label=\"Dismiss\"\n >\n <span class=\"material-symbols-outlined tag-dismiss-icon\">\n close\n </span>\n </button>\n )}\n </span>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-BsB67vNb.js","mappings":";;AAAA,MAAM,eAAe,GAAG,+4FAA+4F;;MCe15F,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACvB;;AAEG;IACK,SAAS,GAAwB,SAAS;AAElD;;AAEG;IACK,IAAI,GAAmB,IAAI;AAEnC;;AAEG;IACK,QAAQ,GAAW,KAAK;AAEhC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;;;;AAKG;IACK,IAAI,GAAmB,QAAQ;AAEvC;;AAEG;IACK,SAAS,GAAkB,IAAI;AAEvC;;AAEG;AACM,IAAA,OAAO;AAER,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAU;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE5B,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;AACrD,QAAA,IACE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;YAC3C,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,OAAO,EACb;YACA,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAA8B,CAAC;;AAErD,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,eAAe,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AACvC,YAAA,CAAC,eAAe,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAClC,sBAAsB,EAAE,IAAI,CAAC,QAAQ;YACrC,qBAAqB,EAAE,IAAI,CAAC,OAAO;SACpC;QAED,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,YAAA,EACX,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAC5B,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,EACjD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,IAAI,EAAC,QAAQ,EAAA,EAEZ,IAAI,CAAC,OAAO,IACX,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAQ,KAEpD,YAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,EAAA,EACrD,IAAI,CAAC,QAAQ,CACT,CACR,CACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-button-icon/bh-button-icon.css?tag=bh-button-icon&encapsulation=shadow","src/components/bh-button-icon/bh-button-icon.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* Base Button Icon */\n.button-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: var(--radius-md, 8px);\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n outline: none;\n padding: 0;\n}\n\n.button-icon:focus-visible {\n box-shadow: 0 0 0 2px var(--color-white, #FFFFFF), 0 0 0 4px var(--color-brand-500, #7F56D9);\n}\n\n/* Sizes */\n.button-icon-xs {\n width: 24px;\n height: 24px;\n}\n\n.button-icon-xs .icon {\n font-size: 16px;\n}\n\n.button-icon-sm {\n width: 32px;\n height: 32px;\n}\n\n.button-icon-sm .icon {\n font-size: 18px;\n}\n\n.button-icon-md {\n width: 40px;\n height: 40px;\n}\n\n.button-icon-md .icon {\n font-size: 20px;\n}\n\n.button-icon-lg {\n width: 48px;\n height: 48px;\n}\n\n.button-icon-lg .icon {\n font-size: 24px;\n}\n\n/* Primary Hierarchy */\n.button-icon-primary {\n background: var(--color-brand-600, #6941C6);\n color: var(--color-white, #FFFFFF);\n}\n\n.button-icon-primary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-700, #5235A8);\n}\n\n.button-icon-primary:active:not(.button-icon-disabled) {\n background: var(--color-brand-800, #42298F);\n}\n\n/* Secondary Hierarchy */\n.button-icon-secondary {\n background: var(--color-white, #FFFFFF);\n color: var(--color-neutral-700, #344054);\n border: 1px solid var(--color-neutral-300, #D0D5DD);\n}\n\n.button-icon-secondary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-50, #F9FAFB);\n border-color: var(--color-neutral-400, #98A2B3);\n}\n\n.button-icon-secondary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n}\n\n/* Tertiary Hierarchy */\n.button-icon-tertiary {\n background: transparent;\n color: var(--color-brand-600, #6941C6);\n}\n\n.button-icon-tertiary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-50, #F9F5FF);\n}\n\n.button-icon-tertiary:active:not(.button-icon-disabled) {\n background: var(--color-brand-100, #F4EBFF);\n}\n\n/* Quaternary Hierarchy */\n.button-icon-quaternary {\n background: transparent;\n color: var(--color-neutral-500, #667085);\n}\n\n.button-icon-quaternary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n color: var(--color-neutral-700, #344054);\n}\n\n.button-icon-quaternary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-200, #EAECF0);\n}\n\n/* Disabled State */\n.button-icon-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Loading State */\n.button-icon-loading {\n cursor: wait;\n}\n\n/* Loading Spinner */\n.loading-spinner {\n width: 16px;\n height: 16px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n}\n\n.button-icon-sm .loading-spinner {\n width: 14px;\n height: 14px;\n}\n\n.button-icon-xs .loading-spinner {\n width: 12px;\n height: 12px;\n}\n\n.button-icon-lg .loading-spinner {\n width: 20px;\n height: 20px;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Icon */\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ButtonIconHierarchy =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary';\nexport type ButtonIconSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonIconType = 'button' | 'submit' | 'reset';\n\n@Component({\n tag: 'bh-button-icon',\n styleUrl: 'bh-button-icon.css',\n shadow: true,\n})\nexport class BhButtonIcon {\n /**\n * The visual hierarchy of the button\n */\n @Prop() hierarchy: ButtonIconHierarchy = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: ButtonIconSize = 'md';\n\n /**\n * The icon name (Material Symbols)\n */\n @Prop() iconName: string = 'add';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the button is in loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * The type of button for form submission\n * - 'button': No form submission (default)\n * - 'submit': Submits the form\n * - 'reset': Resets the form\n */\n @Prop() type: ButtonIconType = 'button';\n\n /**\n * Accessible label for the button\n */\n @Prop() ariaLabel: string | null = null;\n\n /**\n * Emitted when the button is clicked\n */\n @Event() bhClick!: EventEmitter<MouseEvent>;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.disabled && !this.loading) {\n this.bhClick.emit(event);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !this.disabled &&\n !this.loading\n ) {\n event.preventDefault();\n this.bhClick.emit(event as unknown as MouseEvent);\n }\n };\n\n render() {\n const buttonClasses = {\n 'button-icon': true,\n [`button-icon-${this.hierarchy}`]: true,\n [`button-icon-${this.size}`]: true,\n 'button-icon-disabled': this.disabled,\n 'button-icon-loading': this.loading,\n };\n\n return (\n <button\n type={this.type}\n class={buttonClasses}\n disabled={this.disabled}\n aria-label={this.ariaLabel || this.iconName}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n part=\"button\"\n >\n {this.loading ? (\n <span class=\"loading-spinner\" part=\"spinner\"></span>\n ) : (\n <span class=\"material-symbols-outlined icon\" part=\"icon\">\n {this.iconName}\n </span>\n )}\n </button>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-BsgViq32.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-checkbox/bh-checkbox.css?tag=bh-checkbox&encapsulation=shadow","src/components/bh-checkbox/bh-checkbox.tsx"],"sourcesContent":["/* ==========================================================================\n CHECKBOX COMPONENT STYLES - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* ==========================================================================\n VISUALLY HIDDEN NATIVE INPUT\n ========================================================================== */\n\n.checkbox-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* ==========================================================================\n WRAPPER STYLES\n ========================================================================== */\n\n.checkbox-wrapper {\n display: inline-flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n user-select: none;\n position: relative;\n}\n\n.checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n\n/* ==========================================================================\n CHECKBOX BOX STYLES\n ========================================================================== */\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: none;\n user-select: none;\n transition: all 0.2s ease;\n box-sizing: border-box;\n background: var(--color-white);\n border: 2px solid var(--color-neutral-300);\n position: relative;\n flex-shrink: 0;\n pointer-events: none;\n}\n\n/* Size Variants */\n.checkbox-sm {\n width: 16px;\n height: 16px;\n border-radius: var(--radius-xs);\n margin-top: 3px;\n}\n\n.checkbox-md {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n margin-top: 2px;\n}\n\n/* Remove margin when no label */\n.checkbox-wrapper:not(.checkbox-wrapper-with-label) .checkbox-sm,\n.checkbox-wrapper:not(.checkbox-wrapper-with-label) .checkbox-md {\n margin-top: 0;\n}\n\n/* State: Checked */\n.checkbox.checkbox-checked {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n color: var(--color-white);\n}\n\n/* State: Hover */\n.checkbox.checkbox-hover:not(.checkbox-disabled) {\n background: var(--color-neutral-100);\n border-color: var(--color-neutral-300);\n}\n\n.checkbox.checkbox-checked.checkbox-hover:not(.checkbox-disabled) {\n background: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n/* State: Focused */\n.checkbox.checkbox-focused:not(.checkbox-disabled) {\n border-color: var(--color-neutral-300);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n.checkbox.checkbox-checked.checkbox-focused:not(.checkbox-disabled) {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n/* State: Disabled */\n.checkbox.checkbox-disabled {\n background: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n cursor: not-allowed;\n opacity: 1;\n}\n\n.checkbox.checkbox-checked.checkbox-disabled {\n background: var(--color-neutral-50);\n border: 2px solid var(--color-neutral-300);\n color: var(--color-neutral-300);\n}\n\n/* ==========================================================================\n ICONS\n ========================================================================== */\n\n.checkbox-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 20;\n}\n\n.checkbox .check-icon {\n color: var(--color-white);\n}\n\n.checkbox-disabled .check-icon {\n color: var(--color-neutral-300);\n}\n\n.checkbox .minus-icon {\n color: var(--color-white);\n}\n\n.checkbox-disabled .minus-icon {\n color: var(--color-neutral-300);\n}\n\n/* Adjust icon sizes for different checkbox sizes */\n.checkbox-sm .checkbox-icon {\n font-size: 14px;\n}\n\n.checkbox-md .checkbox-icon {\n font-size: 18px;\n}\n\n/* ==========================================================================\n CHECKBOX CONTROL WRAPPER\n ========================================================================== */\n\n.checkbox-control {\n display: inline-flex;\n align-items: flex-start;\n cursor: pointer;\n}\n\n.checkbox-wrapper-disabled .checkbox-control {\n cursor: not-allowed;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Element, Watch, AttachInternals } from '@stencil/core';\nimport { syncCheckableFormValue, validateRequired } from '../../utils/form';\n\nexport type CheckboxSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-checkbox',\n styleUrl: 'bh-checkbox.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhCheckbox {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private inputRef?: HTMLInputElement;\n private uniqueId = `bh-checkbox-${Math.random().toString(36).substring(2, 9)}`;\n\n /** Checkbox size */\n @Prop() size: CheckboxSize = 'md';\n\n /** Checked state */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /** Indeterminate state */\n @Prop({ mutable: true }) indeterminate: boolean = false;\n\n /** Disabled state */\n @Prop() disabled: boolean = false;\n\n /** Name attribute for form submission */\n @Prop() name: string = '';\n\n /** Value attribute for form submission */\n @Prop() value: string = 'on';\n\n /** Optional label text - when provided, renders checkbox with label */\n @Prop() label: string = '';\n\n /** Optional supporting text below the label */\n @Prop() supportingText: string = '';\n\n /** Whether the checkbox is required */\n @Prop() required: boolean = false;\n\n /** Default checked state for form reset */\n @Prop() defaultChecked: boolean = false;\n\n /** Internal hover state */\n @State() isHovered: boolean = false;\n\n /** Internal focus state */\n @State() isFocused: boolean = false;\n\n /** Emitted when checkbox state changes via user interaction */\n @Event() bhChange!: EventEmitter<boolean>;\n\n @Watch('checked')\n handleCheckedChange(newValue: boolean) {\n if (this.inputRef) {\n this.inputRef.checked = newValue;\n }\n }\n\n @Watch('indeterminate')\n handleIndeterminateChange(newValue: boolean) {\n if (this.inputRef) {\n this.inputRef.indeterminate = newValue;\n }\n }\n\n componentDidLoad() {\n if (this.inputRef) {\n this.inputRef.indeterminate = this.indeterminate;\n }\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n formResetCallback() {\n this.checked = this.defaultChecked;\n this.indeterminate = false;\n if (this.inputRef) {\n this.inputRef.checked = this.defaultChecked;\n this.inputRef.indeterminate = false;\n }\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n private handleChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled) return;\n\n const input = event.target as HTMLInputElement;\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.checked = false;\n if (this.inputRef) {\n this.inputRef.indeterminate = false;\n this.inputRef.checked = false;\n }\n } else {\n this.checked = input.checked;\n }\n\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n this.bhChange.emit(this.checked);\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n };\n\n private handleControlClick = () => {\n if (this.disabled) return;\n this.inputRef?.click();\n };\n\n private renderCheckboxControl() {\n const isCheckedState = this.checked || this.indeterminate;\n\n const checkboxClasses = {\n 'checkbox': true,\n [`checkbox-${this.size}`]: true,\n 'checkbox-checked': isCheckedState,\n 'checkbox-disabled': this.disabled,\n 'checkbox-focused': this.isFocused && !this.disabled,\n 'checkbox-hover': this.isHovered && !this.disabled,\n };\n\n return (\n <div\n class=\"checkbox-control\"\n onClick={this.handleControlClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <input\n ref={(el) => (this.inputRef = el)}\n type=\"checkbox\"\n id={this.uniqueId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n class=\"checkbox-input\"\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-describedby={this.supportingText ? `${this.uniqueId}-description` : undefined}\n />\n <div class={checkboxClasses} part=\"checkbox\" aria-hidden=\"true\">\n {this.checked && !this.indeterminate && (\n <span class=\"material-symbols-outlined checkbox-icon check-icon\">\n check\n </span>\n )}\n {this.indeterminate && (\n <span class=\"material-symbols-outlined checkbox-icon minus-icon\">\n remove\n </span>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n const hasLabel = this.label || this.supportingText;\n\n const wrapperClasses = {\n 'checkbox-wrapper': true,\n 'checkbox-wrapper-with-label': !!hasLabel,\n 'checkbox-wrapper-disabled': this.disabled,\n };\n\n // Render with bh-label when label/supportingText is provided\n if (hasLabel) {\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n <bh-label\n layout=\"inline-start\"\n label={this.label}\n supportingText={this.supportingText}\n disabled={this.disabled}\n for={this.uniqueId}\n >\n {this.renderCheckboxControl()}\n </bh-label>\n </div>\n );\n }\n\n // Standalone checkbox without label\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n {this.renderCheckboxControl()}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-BuUjUqUh.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-month-picker-content/bh-month-picker-content.css?tag=bh-month-picker-content&encapsulation=shadow","src/components/bh-month-picker-content/bh-month-picker-content.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Content area - can be scrollable or not based on parent needs */\n.month-picker-content {\n width: 100%;\n overflow-x: hidden;\n font-family: var(--font-inter);\n}\n\n/* Extend animation duration for smoother effect */\n.month-picker-content.animate-slide-up-enter {\n animation-duration: var(--animation-duration-slow, 0.3s);\n}\n\n.month-picker-content.scrollable {\n max-height: 340px;\n overflow-y: auto;\n overflow-y: overlay; /* Overlay scrollbar - doesn't take space from content */\n position: relative;\n}\n\n/* Custom scrollbar styling - hidden by default, visible on hover */\n.month-picker-content.scrollable::-webkit-scrollbar {\n width: var(--spacing-xs);\n}\n\n.month-picker-content.scrollable::-webkit-scrollbar-track {\n background: transparent;\n border-radius: var(--radius-xs);\n}\n\n.month-picker-content.scrollable::-webkit-scrollbar-thumb {\n background: transparent;\n border-radius: var(--radius-xs);\n transition: background 0.2s ease;\n}\n\n/* Show scrollbar on hover */\n.month-picker-content.scrollable:hover::-webkit-scrollbar-track {\n background: var(--color-neutral-50);\n}\n\n.month-picker-content.scrollable:hover::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n}\n\n.month-picker-content.scrollable:hover::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar - hidden by default */\n.month-picker-content.scrollable {\n scrollbar-width: thin;\n scrollbar-color: transparent transparent;\n}\n\n/* Firefox - show scrollbar on hover */\n.month-picker-content.scrollable:hover {\n scrollbar-color: var(--color-neutral-200) transparent;\n}\n\n/* Calendar container */\n.calendar {\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: var(--spacing-lg) 0 var(--spacing-lg) var(--spacing-lg);\n}\n\n/* Year Section - Contains year button + months row */\n.year-section {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.year-month-container {\n display: flex;\n flex-direction: row;\n width: 100%;\n align-items: flex-start;\n}\n\n/* Year Label - positioned on left */\n.year-label {\n width: auto;\n height: auto;\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n font-family: var(--font-inter);\n font-weight: var(--weight-bold);\n font-size: var(--text-sm-size);\n line-height: var(--text-md-line);\n color: var(--color-neutral-700);\n flex-shrink: 0;\n min-width: 50px;\n padding: var(--spacing-md) 0;\n}\n\n/* Months Grid - 2 rows of 6 months each */\n.months-row {\n display: flex;\n flex-direction: column;\n /* flex: 1;\n width: 100%; */\n}\n\n/* Month Button - 40x40px circular */\n.month-button {\n width: 40px;\n height: 40px;\n border-radius: var(--radius-full);\n border: 2px solid transparent;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n font-size: var(--text-sm-size);\n line-height: var(--leading-sm);\n color: var(--color-neutral-500);\n cursor: pointer;\n transition: all var(--animation-duration-fast, 0.1s) var(--animation-easing-ease, ease);\n flex-shrink: 0;\n text-align: center;\n overflow: hidden;\n}\n\n.month-row {\n display: flex;\n gap: var(--spacing-sm);\n justify-content: flex-start;\n}\n\n.month-button:hover:not(.inactive):not(.selected):not(:disabled):not(.today) {\n background: var(--color-neutral-50);\n color: var(--color-neutral-800);\n}\n\n/* Selected state - blue background */\n.month-button.selected {\n background: var(--color-brand-600);\n color: var(--color-white);\n font-weight: var(--weight-semibold);\n}\n\n/* Today's date state - blue border to match date picker */\n.month-button.today:not(.selected) {\n border-color: var(--color-brand-600);\n}\n\n.month-button.today:not(.selected):hover {\n background: var(--color-brand-100);\n color: var(--color-brand-600);\n}\n\n/* Inactive/disabled state */\n.month-button.inactive,\n.month-button:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n color: var(--color-neutral-400);\n}\n\n.month-button:disabled:hover {\n background: transparent;\n}\n\n/* Section Divider - Between year sections */\n.section-divider {\n width: 100%;\n margin: var(--spacing-xl) 0;\n}\n\n.divider-container {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.divider-line {\n width: 100%;\n height: 1px;\n background: var(--color-neutral-200);\n}\n\n/* Focus states for accessibility - completely disable outline */\n.month-button:focus {\n outline: none;\n}\n\n/* Keyboard navigation state - will be added via JavaScript */\n.month-button.keyboard-focused {\n outline: var(--border-width-md, 2px) solid var(--color-brand-500);\n outline-offset: var(--spacing-xs);\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, Watch, h, Host } from '@stencil/core';\n\nexport interface MonthYear {\n month: number; // 0-11 (January = 0, December = 11)\n year: number;\n}\n\nexport interface DisabledMonth {\n month: number;\n year: number;\n}\n\n@Component({\n tag: 'bh-month-picker-content',\n styleUrl: 'bh-month-picker-content.css',\n shadow: true,\n})\nexport class BhMonthPickerContent {\n @Element() el!: HTMLElement;\n\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled months\n */\n @Prop() disabledMonths: DisabledMonth[] = [];\n\n /**\n * Whether the content is scrollable\n */\n @Prop() scrollable: boolean = true;\n\n /**\n * Currently selected month (0-11)\n */\n @Prop() selectedMonth?: number;\n\n /**\n * Currently selected year\n */\n @Prop() selectedYear?: number;\n\n /**\n * Height of the content area\n */\n @Prop() height: string = '375px';\n\n /**\n * Value object with month and year\n */\n @Prop() value?: MonthYear;\n\n @State() internalSelectedMonth: number | null = null;\n @State() internalSelectedYear: number | null = null;\n @State() isUsingKeyboard: boolean = false;\n\n /**\n * Event emitted when a month is selected\n */\n @Event() bhChange!: EventEmitter<MonthYear>;\n\n /**\n * Event emitted when a month/year is selected\n */\n @Event() bhMonthYearSelect!: EventEmitter<MonthYear>;\n\n private months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n private currentDate = new Date();\n private currentMonth = this.currentDate.getMonth();\n private currentYear = this.currentDate.getFullYear();\n\n @Watch('value')\n handleValueChange(newValue: MonthYear | undefined) {\n if (newValue) {\n this.internalSelectedMonth = newValue.month;\n this.internalSelectedYear = newValue.year;\n }\n }\n\n @Watch('selectedMonth')\n handleSelectedMonthChange(newValue: number | undefined) {\n if (newValue !== undefined) {\n this.internalSelectedMonth = newValue;\n }\n }\n\n @Watch('selectedYear')\n handleSelectedYearChange(newValue: number | undefined) {\n if (newValue !== undefined) {\n this.internalSelectedYear = newValue;\n }\n }\n\n componentWillLoad() {\n // Initialize with props or current date\n if (this.value) {\n this.internalSelectedMonth = this.value.month;\n this.internalSelectedYear = this.value.year;\n } else if (this.selectedMonth !== undefined || this.selectedYear !== undefined) {\n this.internalSelectedMonth = this.selectedMonth ?? this.currentMonth;\n this.internalSelectedYear = this.selectedYear ?? this.currentYear;\n } else {\n // Initialize with current date if within range\n if (this.currentYear >= this.minYear && this.currentYear <= this.maxYear) {\n this.internalSelectedMonth = this.currentMonth;\n this.internalSelectedYear = this.currentYear;\n } else {\n this.internalSelectedMonth = this.currentMonth;\n this.internalSelectedYear = this.currentYear < this.minYear ? this.minYear : this.maxYear;\n }\n }\n }\n\n componentDidLoad() {\n if (this.scrollable) {\n setTimeout(() => this.scrollToSelectedYear(), 0);\n }\n }\n\n private scrollToSelectedYear() {\n if (this.internalSelectedYear === null) return;\n\n const container = this.el.shadowRoot?.querySelector('.month-picker-content') as HTMLElement;\n const yearElement = this.el.shadowRoot?.querySelector(`#year-${this.internalSelectedYear}`) as HTMLElement;\n\n if (!container || !yearElement) return;\n\n const containerHeight = container.clientHeight;\n const yearElementTop = yearElement.offsetTop;\n const yearElementHeight = yearElement.offsetHeight;\n\n const isFirstYear = this.internalSelectedYear === this.minYear;\n const isLastYear = this.internalSelectedYear === this.maxYear;\n\n if (!isFirstYear && !isLastYear) {\n const scrollOffset = 50;\n const scrollTop = yearElementTop - containerHeight / 2 + yearElementHeight / 2 + scrollOffset;\n container.scrollTop = Math.max(0, scrollTop);\n } else if (isFirstYear) {\n container.scrollTop = 0;\n } else {\n container.scrollTop = container.scrollHeight;\n }\n }\n\n private getYears(): number[] {\n return Array.from({ length: this.maxYear - this.minYear + 1 }, (_, i) => this.minYear + i);\n }\n\n private isCurrentMonth(monthIndex: number, year: number): boolean {\n return this.currentMonth === monthIndex && this.currentYear === year;\n }\n\n private isMonthSelectable(monthIndex: number, year: number): boolean {\n if (year < this.minYear || year > this.maxYear) {\n return false;\n }\n\n return !this.disabledMonths.some(\n disabled => disabled.month === monthIndex && disabled.year === year\n );\n }\n\n private selectMonth(monthIndex: number, year: number) {\n if (this.disabled || !this.isMonthSelectable(monthIndex, year)) {\n return;\n }\n\n this.internalSelectedMonth = monthIndex;\n this.internalSelectedYear = year;\n\n const selection: MonthYear = { month: monthIndex, year };\n this.bhChange.emit(selection);\n this.bhMonthYearSelect.emit(selection);\n }\n\n private handleKeyDown = () => {\n this.isUsingKeyboard = true;\n };\n\n private handleMouseDown = () => {\n this.isUsingKeyboard = false;\n };\n\n private getMonthButtonClasses(monthIndex: number, year: number): string {\n const classes = ['month-button'];\n\n if (!this.isMonthSelectable(monthIndex, year)) {\n classes.push('inactive');\n }\n if (this.internalSelectedMonth === monthIndex && this.internalSelectedYear === year) {\n classes.push('selected');\n }\n if (this.isCurrentMonth(monthIndex, year)) {\n classes.push('today');\n }\n\n return classes.join(' ');\n }\n\n render() {\n const years = this.getYears();\n\n return (\n <Host>\n <div\n class={`month-picker-content animate-slide-up-enter ${this.scrollable ? 'scrollable' : ''}`}\n style={{ height: this.height }}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <div class=\"calendar\">\n {years.map((year, yearIndex) => (\n <div key={year} class=\"year-section\" id={`year-${year}`}>\n <div class=\"year-month-container\">\n <div class=\"year-label\">{year}</div>\n\n <div class=\"months-row\">\n {/* First row: Jan-Jun */}\n <div class=\"month-row\">\n {this.months.slice(0, 6).map((_, monthIndex) => (\n <button\n key={monthIndex}\n class={this.getMonthButtonClasses(monthIndex, year)}\n disabled={!this.isMonthSelectable(monthIndex, year)}\n onClick={() => this.selectMonth(monthIndex, year)}\n >\n {this.months[monthIndex]}\n </button>\n ))}\n </div>\n\n {/* Second row: Jul-Dec */}\n <div class=\"month-row\">\n {this.months.slice(6, 12).map((_, idx) => {\n const monthIndex = idx + 6;\n return (\n <button\n key={monthIndex}\n class={this.getMonthButtonClasses(monthIndex, year)}\n disabled={!this.isMonthSelectable(monthIndex, year)}\n onClick={() => this.selectMonth(monthIndex, year)}\n >\n {this.months[monthIndex]}\n </button>\n );\n })}\n </div>\n </div>\n </div>\n\n {/* Section Divider (not for last year) */}\n {yearIndex < years.length - 1 && (\n <div class=\"section-divider\">\n <div class=\"divider-container\">\n <div class=\"divider-line\"></div>\n </div>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-C24VI6pZ.js","mappings":";;AAAA,MAAM,wBAAwB,GAAG,u2LAAu2L;;MCO33L,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAChC;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;IACK,SAAS,GAAY,IAAI;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,WAAW;IAEZ,WAAW,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,KAAC;IAEO,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,uBAAuB,EAAE,IAAI;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;;IAGH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,EAC1D,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,6BAA6B,IAAE,IAAI,CAAC,KAAK,CAAQ,EAC5D,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KACzC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CAC9D,CACG,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-page-navigation-child/bh-page-navigation-child.css?tag=bh-page-navigation-child&encapsulation=shadow","src/components/bh-page-navigation-child/bh-page-navigation-child.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n.page-navigation-child {\n display: flex;\n align-items: center;\n padding: var(--spacing-md) var(--spacing-lg);\n cursor: pointer;\n gap: var(--spacing-md);\n position: relative;\n transition: all 0.15s ease;\n min-height: 36px;\n box-sizing: border-box;\n border-radius: var(--radius-sm);\n margin: var(--spacing-none) var(--spacing-xs);\n background-color: transparent;\n border: 1px solid transparent;\n margin-left: 9px;\n}\n\n/* Hover state for child items */\n.page-navigation-child:hover:not(.active) {\n background-color: var(--color-neutral-50);\n position: relative;\n z-index: 1;\n}\n\n/* Active/Selected state for child items */\n.page-navigation-child.active {\n background-color: transparent;\n}\n\n/* Active line indicator for child items */\n.page-navigation-child.active::before {\n content: '';\n position: absolute;\n left: -4.5px;\n top: 50%;\n transform: translateY(-50%);\n width: 2px;\n height: 24px;\n background-color: var(--color-brand-600);\n z-index: 3;\n}\n\n.page-navigation-child-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n width: 100%;\n}\n\n.page-navigation-child-label {\n font-family: var(--font-inter);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--color-neutral-600);\n flex: 1;\n transition: all 0.15s ease;\n}\n\n.page-navigation-child.active .page-navigation-child-label {\n color: var(--color-brand-600);\n font-weight: 600;\n}\n\n.page-navigation-child-badge {\n margin-left: auto;\n font-family: var(--font-inter);\n font-size: 12px;\n font-weight: 500;\n color: var(--color-neutral-500);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'bh-page-navigation-child',\n styleUrl: 'bh-page-navigation-child.css',\n shadow: true,\n})\nexport class BhPageNavigationChild {\n /**\n * Label text for the navigation item\n */\n @Prop() label!: string;\n\n /**\n * Optional badge text/number to display\n */\n @Prop() badge?: string | number;\n\n /**\n * Whether to show the badge (when badge prop is provided)\n */\n @Prop() showBadge: boolean = true;\n\n /**\n * Whether the item is currently active/selected\n */\n @Prop() isActive: boolean = false;\n\n /**\n * Event emitted when the navigation item is clicked\n */\n @Event() bhItemClick!: EventEmitter<void>;\n\n private handleClick = () => {\n this.bhItemClick.emit();\n };\n\n private getItemClasses() {\n return {\n 'page-navigation-child': true,\n 'active': this.isActive,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.getItemClasses()} onClick={this.handleClick}>\n <div class=\"page-navigation-child-content\">\n <span class=\"page-navigation-child-label\">{this.label}</span>\n {this.badge !== undefined && this.showBadge && (\n <span class=\"page-navigation-child-badge\">{this.badge}</span>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CA0LmFbe.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-loader-spinner/bh-loader-spinner.css?tag=bh-loader-spinner&encapsulation=shadow","src/components/bh-loader-spinner/bh-loader-spinner.tsx"],"sourcesContent":["/* ==========================================================================\n LOADER SPINNER COMPONENT - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Overlay styles */\n.loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-overlay-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Container styles */\n.loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.loader-spinner {\n position: relative;\n display: inline-block;\n}\n\n/* Message styles */\n.loader-message {\n color: var(--color-neutral-700);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-medium);\n text-align: center;\n margin-top: var(--spacing-xs);\n}\n\n.loader-overlay .loader-message {\n color: var(--color-white);\n}\n\n/* =========================\n GRADIENT VARIANT - Bellhop Sidebar Style\n ========================= */\n.spinner-gradient {\n animation: gradient-rotate 2s linear infinite;\n will-change: transform;\n}\n\n.gradient-svg {\n display: block;\n transform-origin: 50% 50%;\n}\n\n.gradient-path {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: 0;\n animation: gradient-dash 1.5s ease-in-out infinite;\n transform-origin: 50% 50%;\n}\n\n/* Size variations for gradient */\n.size-sm .gradient-svg {\n width: 20px;\n height: 20px;\n}\n\n.size-sm .gradient-path {\n stroke-width: 5;\n}\n\n.size-md .gradient-svg {\n width: 30px;\n height: 30px;\n}\n\n.size-md .gradient-path {\n stroke-width: 5;\n}\n\n.size-lg .gradient-svg {\n width: 40px;\n height: 40px;\n}\n\n.size-lg .gradient-path {\n stroke-width: 5;\n}\n\n.size-xl .gradient-svg {\n width: 60px;\n height: 60px;\n}\n\n.size-xl .gradient-path {\n stroke-width: 6;\n}\n\n@keyframes gradient-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes gradient-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}\n\n/* Hover effects - Ultra smooth acceleration */\n.loader-container:hover .spinner-gradient {\n animation-duration: 1s;\n}\n\n.loader-container:hover .gradient-path {\n animation-duration: 0.6s;\n}\n\n/* Performance optimizations */\n.spinner-gradient {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.gradient-svg {\n transform: translateZ(0);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'default' | 'white';\n\n@Component({\n tag: 'bh-loader-spinner',\n styleUrl: 'bh-loader-spinner.css',\n shadow: true,\n})\nexport class BhLoaderSpinner {\n /** Loader size */\n @Prop() size: LoaderSize = 'md';\n\n /** Loader color variant - use 'white' for dark surfaces like buttons */\n @Prop() variant: LoaderVariant = 'default';\n\n /** Whether to show as overlay */\n @Prop() overlay: boolean = false;\n\n /** Message to show in overlay mode */\n @Prop() overlayMessage: string = '';\n\n /** Whether to show message */\n @Prop() showMessage: boolean = false;\n\n /** Message text */\n @Prop() message: string = 'Loading...';\n\n private renderSpinner() {\n const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';\n\n return (\n <div class={`loader-spinner variant-${this.variant}`}>\n <div class=\"spinner-gradient\">\n <svg class=\"gradient-svg\" viewBox=\"0 0 50 50\">\n <defs>\n {this.variant === 'white' ? (\n <linearGradient\n id=\"bellhop-gradient-white\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'rgba(255, 255, 255, 1)' }} />\n <stop offset=\"50%\" style={{ stopColor: 'rgba(255, 255, 255, 0.8)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'rgba(255, 255, 255, 0.5)' }} />\n </linearGradient>\n ) : (\n <linearGradient\n id=\"bellhop-gradient\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'var(--color-accent-300)' }} />\n <stop offset=\"51%\" style={{ stopColor: 'var(--color-brand-400)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'var(--color-brand-600)' }} />\n </linearGradient>\n )}\n </defs>\n <circle\n class=\"gradient-path\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={`url(#${gradientId})`}\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n </div>\n );\n }\n\n private renderMessage(isOverlay: boolean) {\n const shouldShowMessage = isOverlay\n ? (this.showMessage || this.overlayMessage)\n : this.showMessage;\n\n if (!shouldShowMessage) return null;\n\n return (\n <div class=\"loader-message\">\n {isOverlay ? (this.overlayMessage || this.message) : this.message}\n </div>\n );\n }\n\n render() {\n if (this.overlay) {\n return (\n <div class=\"loader-overlay\">\n <div class=\"loader-overlay-content\">\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n </div>\n {this.renderMessage(true)}\n </div>\n </div>\n );\n }\n\n return (\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n {this.renderMessage(false)}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CECXxls6.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-date-range-picker-content/bh-date-range-picker-content.css?tag=bh-date-range-picker-content&encapsulation=shadow","src/components/bh-date-range-picker-content/bh-date-range-picker-content.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Main container */\n.date-range-picker-content {\n display: flex;\n flex-direction: column;\n font-family: var(--font-inter);\n width: fit-content;\n}\n\n/* Date pickers container - side by side layout */\n.date-pickers {\n display: flex;\n flex-direction: row;\n width: 100%;\n position: relative;\n gap: var(--spacing-sm);\n}\n\n/* Left picker */\n.left-picker {\n display: flex;\n flex-direction: column;\n width: 296px;\n}\n\n/* Right picker */\n.right-picker {\n display: flex;\n flex-direction: column;\n width: 296px;\n}\n\n/* Vertical divider between calendars */\n.date-pickers::after {\n content: '';\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n width: 1px;\n height: 100%;\n background: var(--color-neutral-200);\n pointer-events: none;\n z-index: 1;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .date-range-picker-content {\n width: 320px;\n }\n\n .date-pickers {\n flex-direction: column;\n }\n\n .left-picker,\n .right-picker {\n width: 100%;\n }\n\n /* Hide vertical divider on mobile */\n .date-pickers::after {\n display: none;\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, h, Host } from '@stencil/core';\nimport { SelectedDate, DisabledDate } from '../bh-date-picker-content/bh-date-picker-content';\n\nexport interface SelectedDateRange {\n startDate: SelectedDate | null;\n endDate: SelectedDate | null;\n}\n\n@Component({\n tag: 'bh-date-range-picker-content',\n styleUrl: 'bh-date-range-picker-content.css',\n shadow: true,\n})\nexport class BhDateRangePickerContent {\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled dates\n */\n @Prop() disabledDates: DisabledDate[] = [];\n\n /**\n * Whether to show days from other months\n */\n @Prop() showOtherMonthDays: boolean = true;\n\n /**\n * Currently selected value\n */\n @Prop() value?: SelectedDateRange;\n\n @State() selectedRange: SelectedDateRange | null = null;\n @State() leftMonth: number = new Date().getMonth();\n @State() leftYear: number = new Date().getFullYear();\n @State() rightMonth: number = (new Date().getMonth() + 1) % 12;\n @State() rightYear: number = new Date().getMonth() === 11 ? new Date().getFullYear() + 1 : new Date().getFullYear();\n\n /**\n * Event emitted when value changes\n */\n @Event({ bubbles: true, composed: true }) bhChange!: EventEmitter<SelectedDateRange | null>;\n\n /**\n * Event emitted when a date range is selected\n */\n @Event({ bubbles: true, composed: true }) bhDateRangeSelect!: EventEmitter<SelectedDateRange | null>;\n\n @Watch('value')\n handleValueChange(newValue: SelectedDateRange | undefined) {\n if (newValue !== undefined) {\n this.selectedRange = { ...newValue };\n } else {\n this.selectedRange = null;\n }\n }\n\n componentWillLoad() {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear();\n\n this.leftMonth = currentMonth;\n this.leftYear = currentYear;\n\n const nextMonthYear = this.getNextMonth(currentMonth, currentYear);\n this.rightMonth = nextMonthYear.month;\n this.rightYear = nextMonthYear.year;\n\n if (this.value) {\n this.selectedRange = this.value;\n }\n }\n\n private getNextMonth(month: number, year: number): { month: number; year: number } {\n const nextMonth = month + 1;\n if (nextMonth > 11) {\n return { month: 0, year: year + 1 };\n }\n return { month: nextMonth, year };\n }\n\n private getPreviousMonth(month: number, year: number): { month: number; year: number } {\n const prevMonth = month - 1;\n if (prevMonth < 0) {\n return { month: 11, year: year - 1 };\n }\n return { month: prevMonth, year };\n }\n\n private handleLeftDateSelect = (event: CustomEvent<SelectedDate | null>) => {\n this.handleDateSelect(event.detail);\n };\n\n private handleRightDateSelect = (event: CustomEvent<SelectedDate | null>) => {\n this.handleDateSelect(event.detail);\n };\n\n private handleDateSelect(date: SelectedDate | null) {\n if (!date) return;\n\n let newRange: SelectedDateRange;\n\n if (!this.selectedRange?.startDate || (this.selectedRange.startDate && this.selectedRange.endDate)) {\n // Start new range\n newRange = { startDate: date, endDate: null };\n } else if (this.selectedRange.startDate && !this.selectedRange.endDate) {\n // Complete the range\n const startDate = this.selectedRange.startDate;\n const isAfterStart = date.year > startDate.year ||\n (date.year === startDate.year && date.month > startDate.month) ||\n (date.year === startDate.year && date.month === startDate.month && date.day > startDate.day);\n\n if (isAfterStart) {\n newRange = { startDate, endDate: date };\n } else {\n newRange = { startDate: date, endDate: startDate };\n }\n } else {\n newRange = { startDate: date, endDate: null };\n }\n\n this.selectedRange = newRange;\n this.bhChange.emit(newRange);\n this.bhDateRangeSelect.emit(newRange);\n }\n\n private handleLeftMonthYearChange = (event: CustomEvent<{ month: number; year: number }>) => {\n const { month, year } = event.detail;\n this.leftMonth = month;\n this.leftYear = year;\n\n // Ensure right calendar is always at least one month ahead\n if (year > this.rightYear || (year === this.rightYear && month >= this.rightMonth)) {\n const nextMonthYear = this.getNextMonth(month, year);\n this.rightMonth = nextMonthYear.month;\n this.rightYear = nextMonthYear.year;\n }\n };\n\n private handleRightMonthYearChange = (event: CustomEvent<{ month: number; year: number }>) => {\n const { month, year } = event.detail;\n this.rightMonth = month;\n this.rightYear = year;\n\n // Ensure left calendar is always at least one month behind\n if (year < this.leftYear || (year === this.leftYear && month <= this.leftMonth)) {\n const prevMonthYear = this.getPreviousMonth(month, year);\n this.leftMonth = prevMonthYear.month;\n this.leftYear = prevMonthYear.year;\n }\n };\n\n render() {\n return (\n <Host>\n <div class=\"date-range-picker-content\">\n <div class=\"date-pickers\">\n <div class=\"left-picker\">\n <bh-date-picker-content\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledDates={this.disabledDates}\n showOtherMonthDays={this.showOtherMonthDays}\n displayMonth={this.leftMonth}\n displayYear={this.leftYear}\n rangeStart={this.selectedRange?.startDate ?? undefined}\n rangeEnd={this.selectedRange?.endDate ?? undefined}\n onBhChange={this.handleLeftDateSelect}\n onBhMonthYearChange={this.handleLeftMonthYearChange}\n ></bh-date-picker-content>\n </div>\n <div class=\"right-picker\">\n <bh-date-picker-content\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledDates={this.disabledDates}\n showOtherMonthDays={this.showOtherMonthDays}\n displayMonth={this.rightMonth}\n displayYear={this.rightYear}\n rangeStart={this.selectedRange?.startDate ?? undefined}\n rangeEnd={this.selectedRange?.endDate ?? undefined}\n onBhChange={this.handleRightDateSelect}\n onBhMonthYearChange={this.handleRightMonthYearChange}\n ></bh-date-picker-content>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CGw-G2Wz.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,ikCAAikC;;MCU5kC,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACvB;;AAEG;IACK,gBAAgB,GAAY,IAAI;AAExC;;AAEG;IACK,YAAY,GAAW,MAAM;AAErC;;AAEG;IACK,iBAAiB,GAAgC,UAAU;AAEnE;;AAEG;IACK,iBAAiB,GAAgC,MAAM;AAE/D;;AAEG;IACK,SAAS,GAAY,IAAI;AAEjC;;AAEG;IACK,WAAW,GAAW,YAAY;AAE1C;;AAEG;IACK,SAAS,GAAY,KAAK;AAElC;;AAEG;IACK,SAAS,GAAW,EAAE;AAE9B;;AAEG;IACK,kBAAkB,GAAY,IAAI;AAE1C;;AAEG;IACK,cAAc,GAAW,kBAAkB;AAEnD;;AAEG;IACK,YAAY,GAAY,IAAI;AAEpC;;AAEG;IACK,WAAW,GAAY,IAAI;AAEnC;;AAEG;AACM,IAAA,eAAe;IAEhB,mBAAmB,GAAG,MAAK;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,gBAAgB,KACpB,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAA,CAC7B,CACH,EACA,IAAI,CAAC,SAAS,KACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAE,EAAA,IAAI,CAAC,WAAW,CAAQ,CAC1D,EACA,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAC/B,CACE,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,CAAA,CACH,CACG,EACL,IAAI,CAAC,kBAAkB,KACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACpC,IAAI,CAAC,gBAAgB,IAAI,4DAAK,KAAK,EAAC,oBAAoB,EAAG,CAAA,EAC5D,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAE,EAAA,IAAI,CAAC,cAAc,CAAQ,CAClE,CACP,CACG,EACL,IAAI,CAAC,YAAY,KAChB,CACE,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,WAAW,EACpB,SAAS,EAAC,cAAc,EACxB,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,CAAA,CACH,CACG,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,EACnB,IAAI,CAAC,WAAW,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAG,CAAA,CACpD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-card-header/bh-card-header.css?tag=bh-card-header&encapsulation=shadow","src/components/bh-card-header/bh-card-header.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n background: var(--color-white);\n}\n\n.card-header-content {\n display: flex;\n gap: var(--spacing-md);\n align-items: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl);\n}\n\n.card-header-text-container {\n display: flex;\n flex-direction: column;\n flex: 1 0 0;\n gap: var(--spacing-xxs);\n min-width: 0;\n}\n\n.card-header-title-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n}\n\n.card-header-title {\n font-family: var(--font-inter);\n font-size: var(--text-md-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-md-line);\n color: var(--color-neutral-900);\n}\n\n.card-header-supporting-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n width: 100%;\n}\n\n.card-header-spacer {\n width: 32px;\n flex-shrink: 0;\n}\n\n.card-header-supporting-text {\n flex: 1 0 0;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-500);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-header-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type CardHeaderFeaturedIconStyle = 'outlined' | 'filled';\nexport type CardHeaderFeaturedIconColor = 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight';\n\n@Component({\n tag: 'bh-card-header',\n styleUrl: 'bh-card-header.css',\n shadow: true,\n})\nexport class BhCardHeader {\n /**\n * Whether to show the featured icon\n */\n @Prop() showFeaturedIcon: boolean = true;\n\n /**\n * The Material Symbol icon name for the featured icon\n */\n @Prop() featuredIcon: string = 'star';\n\n /**\n * The style of the featured icon\n */\n @Prop() featuredIconStyle: CardHeaderFeaturedIconStyle = 'outlined';\n\n /**\n * The color of the featured icon\n */\n @Prop() featuredIconColor: CardHeaderFeaturedIconColor = 'gray';\n\n /**\n * Whether to show the title\n */\n @Prop() showTitle: boolean = true;\n\n /**\n * The title text\n */\n @Prop() headerTitle: string = 'Card title';\n\n /**\n * Whether to show the badge\n */\n @Prop() showBadge: boolean = false;\n\n /**\n * The badge text\n */\n @Prop() badgeText: string = '';\n\n /**\n * Whether to show the supporting text\n */\n @Prop() showSupportingText: boolean = true;\n\n /**\n * The supporting text (description)\n */\n @Prop() supportingText: string = 'Card description';\n\n /**\n * Whether to show the dropdown menu button\n */\n @Prop() showDropdown: boolean = true;\n\n /**\n * Whether to show the divider\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Emitted when the dropdown button is clicked\n */\n @Event() bhDropdownClick!: EventEmitter<void>;\n\n private handleDropdownClick = () => {\n this.bhDropdownClick.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"card-header\">\n <div class=\"card-header-content\">\n <div class=\"card-header-text-container\">\n <div class=\"card-header-title-row\">\n {this.showFeaturedIcon && (\n <bh-featured-icon\n size=\"sm\"\n icon={this.featuredIcon}\n iconStyle={this.featuredIconStyle}\n color={this.featuredIconColor}\n />\n )}\n {this.showTitle && (\n <span class=\"card-header-title\">{this.headerTitle}</span>\n )}\n {this.showBadge && this.badgeText && (\n <bh-badge\n variant=\"blue\"\n size=\"sm\"\n emphasis=\"medium\"\n label={this.badgeText}\n />\n )}\n </div>\n {this.showSupportingText && (\n <div class=\"card-header-supporting-row\">\n {this.showFeaturedIcon && <div class=\"card-header-spacer\" />}\n <span class=\"card-header-supporting-text\">{this.supportingText}</span>\n </div>\n )}\n </div>\n {this.showDropdown && (\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"more_vert\"\n ariaLabel=\"More options\"\n onBhClick={this.handleDropdownClick}\n />\n )}\n </div>\n <slot name=\"tabs\" />\n {this.showDivider && <div class=\"card-header-divider\" />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CHuAmqhM.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,4tGAA4tG;;MCWzuG,cAAc,iBAAAA,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;;;;;;;;AACzB;;AAEG;IACK,IAAI,GAAqB,IAAI;AAErC;;AAEG;IACK,KAAK,GAAsB,MAAM;AAEzC;;AAEG;IACK,SAAS,GAAsB,UAAU;AAEjD;;AAEG;IACK,IAAI,GAAW,MAAM;IAE7B,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AACpC,YAAA,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SAC1C;AAED,QAAA,MAAM,WAAW,GAAG,CAAA,+BAAA,EAAkC,IAAI,CAAC,IAAI,EAAE;AAEjE,QAAA,QACE,4DAAK,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAC,WAAW,EAAA,EAC5C,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,WAAW,EAAG,EAAA,IAAI,CAAC,IAAI,CAAQ,CACxC;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-featured-icon/bh-featured-icon.css?tag=bh-featured-icon&encapsulation=shadow","src/components/bh-featured-icon/bh-featured-icon.tsx"],"sourcesContent":["/* ==========================================================================\n BH-FEATURED-ICON COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.featured-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n/* Size variations */\n.featured-icon-sm {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n}\n\n.featured-icon-md {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n}\n\n.featured-icon-lg {\n width: 48px;\n height: 48px;\n border-radius: 10px;\n}\n\n.featured-icon-xl {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n}\n\n/* Icon sizes - matching Figma specs */\n.icon-sm {\n font-size: var(--icon-size-xs);\n width: var(--icon-size-xs);\n height: var(--icon-size-xs);\n line-height: 1;\n}\n\n.icon-md {\n font-size: var(--icon-size-md);\n width: var(--icon-size-md);\n height: var(--icon-size-md);\n line-height: 1;\n}\n\n.icon-lg {\n font-size: var(--icon-size-lg);\n width: var(--icon-size-lg);\n height: var(--icon-size-lg);\n line-height: 1;\n}\n\n.icon-xl {\n font-size: var(--icon-size-2xl);\n width: var(--icon-size-2xl);\n height: var(--icon-size-2xl);\n line-height: 1;\n}\n\n/* ============================================\n OUTLINED STYLES\n ============================================ */\n\n/* Brand color - Outlined */\n.featured-icon-brand.featured-icon-outlined {\n background-color: transparent;\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-brand.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-brand-600);\n}\n\n/* Gray color - Outlined */\n.featured-icon-gray.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-gray.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-neutral-600);\n}\n\n/* Error color - Outlined */\n.featured-icon-error.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-error.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-error-600);\n}\n\n/* Warning color - Outlined */\n.featured-icon-warning.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-warning.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-warning-600);\n}\n\n/* Success color - Outlined */\n.featured-icon-success.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-success.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-success-600);\n}\n\n/* Highlight color - Outlined */\n.featured-icon-highlight.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-highlight.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-purple-600);\n}\n\n/* ============================================\n FILLED STYLES\n ============================================ */\n\n/* Brand color - Filled */\n.featured-icon-brand.featured-icon-filled {\n background-color: var(--color-brand-100);\n border: none;\n}\n\n.featured-icon-brand.featured-icon-filled .material-symbols-outlined {\n color: var(--color-brand-600);\n}\n\n/* Gray color - Filled */\n.featured-icon-gray.featured-icon-filled {\n background-color: var(--color-neutral-100);\n border: none;\n}\n\n.featured-icon-gray.featured-icon-filled .material-symbols-outlined {\n color: var(--color-neutral-600);\n}\n\n/* Error color - Filled */\n.featured-icon-error.featured-icon-filled {\n background-color: var(--color-error-100);\n border: none;\n}\n\n.featured-icon-error.featured-icon-filled .material-symbols-outlined {\n color: var(--color-error-600);\n}\n\n/* Warning color - Filled */\n.featured-icon-warning.featured-icon-filled {\n background-color: var(--color-warning-200);\n border: none;\n}\n\n.featured-icon-warning.featured-icon-filled .material-symbols-outlined {\n color: var(--color-warning-600);\n}\n\n/* Success color - Filled */\n.featured-icon-success.featured-icon-filled {\n background-color: var(--color-success-100);\n border: none;\n}\n\n.featured-icon-success.featured-icon-filled .material-symbols-outlined {\n color: var(--color-success-600);\n}\n\n/* Highlight color - Filled */\n.featured-icon-highlight.featured-icon-filled {\n background-color: var(--color-purple-200);\n border: none;\n}\n\n.featured-icon-highlight.featured-icon-filled .material-symbols-outlined {\n color: var(--color-purple-600);\n}\n\n/* Material Symbols base styles */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n user-select: none;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type FeaturedIconSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type FeaturedIconColor = 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight';\nexport type FeaturedIconStyle = 'outlined' | 'filled';\n\n@Component({\n tag: 'bh-featured-icon',\n styleUrl: 'bh-featured-icon.css',\n shadow: true,\n})\nexport class BhFeaturedIcon {\n /**\n * The size of the featured icon\n */\n @Prop() size: FeaturedIconSize = 'md';\n\n /**\n * The color theme of the featured icon\n */\n @Prop() color: FeaturedIconColor = 'gray';\n\n /**\n * The style variant (outlined or filled)\n */\n @Prop() iconStyle: FeaturedIconStyle = 'outlined';\n\n /**\n * The Material Symbol icon name\n */\n @Prop() icon: string = 'star';\n\n render() {\n const containerClasses = {\n 'featured-icon': true,\n [`featured-icon-${this.size}`]: true,\n [`featured-icon-${this.color}`]: true,\n [`featured-icon-${this.iconStyle}`]: true,\n };\n\n const iconClasses = `material-symbols-outlined icon-${this.size}`;\n\n return (\n <div class={containerClasses} part=\"container\">\n <span class={iconClasses}>{this.icon}</span>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CKiB8Aa8.js","mappings":";;AAAA,MAAM,UAAU,GAAG,ipPAAipP;;MCWvpP,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAClB;;AAEG;IACK,OAAO,GAAiB,MAAM;AAEtC;;AAEG;IACK,IAAI,GAAc,IAAI;AAE9B;;AAEG;IACK,QAAQ,GAAkB,MAAM;AAExC;;AAEG;IACK,KAAK,GAAW,OAAO;AAE/B;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,WAAW,GAAY,KAAK;AAEpC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,SAAS;AAEV,IAAA,aAAa,GAAG,CAAC,CAAa,KAAU;QAC9C,CAAC,CAAC,eAAe,EAAE;QACnB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;AAEzB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,SAAS,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAC/B,YAAA,CAAC,SAAS,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC5B,YAAA,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;YAChC,gBAAgB,EAAE,IAAI,CAAC,QAAQ;SAChC;QAED,MAAM,cAAc,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;AACpE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK;AAEjC,QAAA,QACE,6DAAM,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,OAAO,EAAA,EACpC,IAAI,CAAC,IAAI,KACR,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,2BAA2B,EAAE,IAAI;gBACjC,CAAC,cAAc,GAAG,IAAI;AACtB,gBAAA,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,CAAC,KAAK;aAC5B,EAAA,EAEA,KAAK,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,CACR,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,KAAK,CAAQ,EAE5C,IAAI,CAAC,WAAW,KACf,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EACF,YAAA,EAAA,SAAS,EACpB,IAAI,EAAC,gBAAgB,EAAA,EAErB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gDAAgD,cAAc,CAAA,CAAE,YAEtE,CACA,CACV,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-badge/bh-badge.css?tag=bh-badge&encapsulation=shadow","src/components/bh-badge/bh-badge.tsx"],"sourcesContent":["/* ==========================================================================\n BH-BADGE COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Badge Styles */\n.badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n border-radius: var(--radius-full);\n white-space: nowrap;\n text-align: center;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n user-select: none;\n cursor: default;\n}\n\n/* Size Variants */\n.badge-sm {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-sm-size);\n line-height: var(--text-xs-line);\n}\n\n.badge-md {\n padding: var(--spacing-xs) var(--spacing-lg);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.badge-lg {\n padding: var(--spacing-sm) var(--spacing-xl);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Badge Icon - Dot */\n.badge-icon-dot {\n font-size: 8px !important;\n width: 8px;\n height: 8px;\n line-height: 1;\n flex-shrink: 0;\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-dot {\n font-size: 6px !important;\n width: 6px;\n height: 6px;\n}\n\n.badge-lg .badge-icon-dot {\n font-size: 10px !important;\n width: 10px;\n height: 10px;\n}\n\n/* Custom icon styling */\n.badge-icon-custom {\n font-size: 16px !important;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-custom {\n font-size: 12px !important;\n}\n\n.badge-lg .badge-icon-custom {\n font-size: 20px !important;\n}\n\n/* Badge Label */\n.badge-label {\n flex-shrink: 0;\n font-weight: inherit;\n}\n\n/* Dismiss Button */\n.badge-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n margin-left: var(--spacing-xxs);\n border-radius: var(--radius-full);\n transition: all 0.2s ease;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss-icon {\n font-size: 14px !important;\n width: 14px;\n height: 14px;\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 14;\n}\n\n.badge-sm .badge-dismiss {\n width: 14px;\n height: 14px;\n}\n\n.badge-sm .badge-dismiss-icon {\n font-size: 12px !important;\n width: 12px;\n height: 12px;\n}\n\n.badge-lg .badge-dismiss {\n width: 18px;\n height: 18px;\n}\n\n.badge-lg .badge-dismiss-icon {\n font-size: 16px !important;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss:hover {\n background-color: rgba(255, 255, 255, 0.2);\n}\n\n.badge-dismiss:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* ==========================================================================\n HIGH EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-high.badge-gray {\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-800);\n}\n\n.badge-high.badge-blue {\n background-color: var(--color-brand-200);\n color: var(--color-brand-800);\n}\n\n.badge-high.badge-red {\n background-color: var(--color-error-200);\n color: var(--color-error-800);\n}\n\n.badge-high.badge-yellow {\n background-color: var(--color-warning-200);\n color: var(--color-warning-800);\n}\n\n.badge-high.badge-green {\n background-color: var(--color-success-200);\n color: var(--color-success-800);\n}\n\n.badge-high.badge-purple {\n background-color: hsl(270, 70%, 85%);\n color: hsl(270, 70%, 35%);\n}\n\n.badge-high.badge-pink {\n background-color: hsl(330, 70%, 85%);\n color: hsl(330, 70%, 35%);\n}\n\n.badge-high.badge-orange {\n background-color: hsl(25, 90%, 85%);\n color: hsl(25, 90%, 35%);\n}\n\n/* Icon colors for high emphasis */\n.badge-high .badge-icon-gray-high,\n.badge-high .badge-dismiss-icon.badge-icon-gray-high { color: var(--color-neutral-800) !important; }\n.badge-high .badge-icon-blue-high,\n.badge-high .badge-dismiss-icon.badge-icon-blue-high { color: var(--color-brand-800) !important; }\n.badge-high .badge-icon-red-high,\n.badge-high .badge-dismiss-icon.badge-icon-red-high { color: var(--color-error-800) !important; }\n.badge-high .badge-icon-yellow-high,\n.badge-high .badge-dismiss-icon.badge-icon-yellow-high { color: var(--color-warning-800) !important; }\n.badge-high .badge-icon-green-high,\n.badge-high .badge-dismiss-icon.badge-icon-green-high { color: var(--color-success-800) !important; }\n.badge-high .badge-icon-purple-high,\n.badge-high .badge-dismiss-icon.badge-icon-purple-high { color: hsl(270, 70%, 35%) !important; }\n.badge-high .badge-icon-pink-high,\n.badge-high .badge-dismiss-icon.badge-icon-pink-high { color: hsl(330, 70%, 35%) !important; }\n.badge-high .badge-icon-orange-high,\n.badge-high .badge-dismiss-icon.badge-icon-orange-high { color: hsl(25, 90%, 35%) !important; }\n\n/* ==========================================================================\n MEDIUM EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-medium.badge-gray {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n border-color: var(--color-neutral-200);\n}\n\n.badge-medium.badge-blue {\n background-color: var(--color-brand-50);\n color: var(--color-brand-700);\n border-color: var(--color-brand-200);\n}\n\n.badge-medium.badge-red {\n background-color: var(--color-error-50);\n color: var(--color-error-700);\n border-color: var(--color-error-200);\n}\n\n.badge-medium.badge-yellow {\n background-color: var(--color-warning-50);\n color: var(--color-warning-700);\n border-color: var(--color-warning-200);\n}\n\n.badge-medium.badge-green {\n background-color: var(--color-success-50);\n color: var(--color-success-700);\n border-color: var(--color-success-200);\n}\n\n.badge-medium.badge-purple {\n background-color: hsl(270, 70%, 97%);\n color: hsl(270, 70%, 40%);\n border-color: hsl(270, 70%, 85%);\n}\n\n.badge-medium.badge-pink {\n background-color: hsl(330, 70%, 97%);\n color: hsl(330, 70%, 40%);\n border-color: hsl(330, 70%, 85%);\n}\n\n.badge-medium.badge-orange {\n background-color: hsl(25, 90%, 97%);\n color: hsl(25, 90%, 40%);\n border-color: hsl(25, 90%, 85%);\n}\n\n/* Icon colors for medium emphasis */\n.badge-medium .badge-icon-gray-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-gray-medium { color: var(--color-neutral-700) !important; }\n.badge-medium .badge-icon-blue-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-blue-medium { color: var(--color-brand-700) !important; }\n.badge-medium .badge-icon-red-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-red-medium { color: var(--color-error-700) !important; }\n.badge-medium .badge-icon-yellow-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-yellow-medium { color: var(--color-warning-700) !important; }\n.badge-medium .badge-icon-green-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-green-medium { color: var(--color-success-700) !important; }\n.badge-medium .badge-icon-purple-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-purple-medium { color: hsl(270, 70%, 40%) !important; }\n.badge-medium .badge-icon-pink-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-pink-medium { color: hsl(330, 70%, 40%) !important; }\n.badge-medium .badge-icon-orange-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-orange-medium { color: hsl(25, 90%, 40%) !important; }\n\n/* ==========================================================================\n LOW EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-low.badge-gray {\n background-color: transparent;\n color: var(--color-neutral-600);\n border-color: var(--color-neutral-600);\n}\n\n.badge-low.badge-blue {\n background-color: transparent;\n color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n.badge-low.badge-red {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: var(--color-error-600);\n}\n\n.badge-low.badge-yellow {\n background-color: transparent;\n color: var(--color-warning-600);\n border-color: var(--color-warning-600);\n}\n\n.badge-low.badge-green {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: var(--color-success-600);\n}\n\n.badge-low.badge-purple {\n background-color: transparent;\n color: hsl(270, 70%, 45%);\n border-color: hsl(270, 70%, 45%);\n}\n\n.badge-low.badge-pink {\n background-color: transparent;\n color: hsl(330, 70%, 45%);\n border-color: hsl(330, 70%, 45%);\n}\n\n.badge-low.badge-orange {\n background-color: transparent;\n color: hsl(25, 90%, 45%);\n border-color: hsl(25, 90%, 45%);\n}\n\n/* Icon colors for low emphasis */\n.badge-low .badge-icon-gray-low,\n.badge-low .badge-dismiss-icon.badge-icon-gray-low { color: var(--color-neutral-600) !important; }\n.badge-low .badge-icon-blue-low,\n.badge-low .badge-dismiss-icon.badge-icon-blue-low { color: var(--color-brand-600) !important; }\n.badge-low .badge-icon-red-low,\n.badge-low .badge-dismiss-icon.badge-icon-red-low { color: var(--color-error-600) !important; }\n.badge-low .badge-icon-yellow-low,\n.badge-low .badge-dismiss-icon.badge-icon-yellow-low { color: var(--color-warning-600) !important; }\n.badge-low .badge-icon-green-low,\n.badge-low .badge-dismiss-icon.badge-icon-green-low { color: var(--color-success-600) !important; }\n.badge-low .badge-icon-purple-low,\n.badge-low .badge-dismiss-icon.badge-icon-purple-low { color: hsl(270, 70%, 45%) !important; }\n.badge-low .badge-icon-pink-low,\n.badge-low .badge-dismiss-icon.badge-icon-pink-low { color: hsl(330, 70%, 45%) !important; }\n.badge-low .badge-icon-orange-low,\n.badge-low .badge-dismiss-icon.badge-icon-orange-low { color: hsl(25, 90%, 45%) !important; }\n\n/* Disabled State */\n.badge-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type BadgeVariant = 'gray' | 'blue' | 'red' | 'yellow' | 'green' | 'purple' | 'pink' | 'orange';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\nexport type BadgeEmphasis = 'high' | 'medium' | 'low';\n\n@Component({\n tag: 'bh-badge',\n styleUrl: 'bh-badge.css',\n shadow: true,\n})\nexport class BhBadge {\n /**\n * The color variant of the badge\n */\n @Prop() variant: BadgeVariant = 'gray';\n\n /**\n * The size of the badge\n */\n @Prop() size: BadgeSize = 'md';\n\n /**\n * The emphasis level (affects background/border styling)\n */\n @Prop() emphasis: BadgeEmphasis = 'high';\n\n /**\n * The text label to display\n */\n @Prop() label: string = 'Label';\n\n /**\n * Material Symbols icon name, or 'dot' for a dot indicator\n */\n @Prop() icon?: string;\n\n /**\n * Whether the badge can be dismissed\n */\n @Prop() dismissible: boolean = false;\n\n /**\n * Whether the badge is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the dismiss button is clicked\n */\n @Event() bhDismiss!: EventEmitter<void>;\n\n private handleDismiss = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.dismissible && !this.disabled) {\n this.bhDismiss.emit();\n }\n };\n\n render() {\n const badgeClasses = {\n 'badge': true,\n [`badge-${this.variant}`]: true,\n [`badge-${this.size}`]: true,\n [`badge-${this.emphasis}`]: true,\n 'badge-disabled': this.disabled,\n };\n\n const iconColorClass = `badge-icon-${this.variant}-${this.emphasis}`;\n const isDot = this.icon === 'dot';\n\n return (\n <span class={badgeClasses} part=\"badge\">\n {this.icon && (\n <span\n class={{\n 'material-symbols-outlined': true,\n [iconColorClass]: true,\n 'badge-icon-dot': isDot,\n 'badge-icon-custom': !isDot,\n }}\n >\n {isDot ? 'fiber_manual_record' : this.icon}\n </span>\n )}\n\n <span class=\"badge-label\">{this.label}</span>\n\n {this.dismissible && (\n <button\n class=\"badge-dismiss\"\n onClick={this.handleDismiss}\n disabled={this.disabled}\n type=\"button\"\n aria-label=\"Dismiss\"\n part=\"dismiss-button\"\n >\n <span class={`material-symbols-outlined badge-dismiss-icon ${iconColorClass}`}>\n close\n </span>\n </button>\n )}\n </span>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CNifJXgc.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.css?tag=bh-page-navigation-multi-level&encapsulation=shadow","src/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n.page-navigation-multi-level {\n margin: var(--spacing-none) var(--spacing-xs);\n}\n\n.page-navigation-multi-level-parent {\n display: flex;\n align-items: center;\n padding: var(--spacing-lg);\n cursor: pointer;\n gap: var(--spacing-md);\n position: relative;\n transition: all 0.15s ease;\n min-height: 40px;\n max-height: 44px;\n box-sizing: border-box;\n border-radius: var(--radius-sm);\n background-color: transparent;\n border: 1px solid transparent;\n}\n\n/* Has active child state */\n.page-navigation-multi-level.has-active-child .page-navigation-multi-level-parent {\n background-color: transparent;\n border: 1px solid transparent;\n}\n\n/* Hover state for multi level parent */\n.page-navigation-multi-level-parent:hover {\n background-color: var(--color-neutral-50) !important;\n}\n\n/* Children container with smooth animation */\n.page-navigation-children {\n margin-top: var(--spacing-xs);\n margin-bottom: var(--spacing-xs);\n position: relative;\n margin-left: var(--spacing-xl);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n max-height: 1000px;\n opacity: 1;\n transition: max-height 0.4s cubic-bezier(0.08, 0.52, 0.52, 1),\n opacity 0.4s cubic-bezier(0.08, 0.52, 0.52, 1),\n margin 0.4s cubic-bezier(0.08, 0.52, 0.52, 1);\n}\n\n.page-navigation-children.collapsed {\n max-height: 0;\n opacity: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/* Vertical line indicator for children */\n.page-navigation-children::before {\n content: '';\n position: absolute;\n left: 0;\n top: -2px;\n height: calc(100% + 4px);\n width: 2px;\n background-color: var(--color-neutral-200);\n margin-left: var(--spacing-sm);\n z-index: 2;\n}\n\n/* Animation classes */\n.page-navigation-children.animate-slide-down-enter {\n animation: slideDownEnter 0.15s ease-out forwards;\n}\n\n.page-navigation-children.animate-slide-down-exit {\n animation: slideDownExit 0.15s ease-out forwards;\n}\n\n@keyframes slideDownEnter {\n from {\n opacity: 0;\n max-height: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n max-height: 1000px;\n transform: translateY(0);\n }\n}\n\n@keyframes slideDownExit {\n from {\n opacity: 1;\n max-height: 1000px;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n max-height: 0;\n transform: translateY(-10px);\n }\n}\n\n/* Item content and common elements */\n.page-navigation-item-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n width: 100%;\n}\n\n/* Icons */\n.page-navigation-item-icon {\n flex-shrink: 0;\n color: var(--color-neutral-600);\n font-size: 20px;\n width: 20px;\n height: 20px;\n transition: color 0.15s ease;\n}\n\n/* Smooth animation class for page navigation items */\n.page-navigation-animate-smooth {\n transform-origin: top center;\n transition: all var(--animation-duration-normal, 0.2s) var(--animation-ease-enter, ease);\n}\n\n/* Chevron icon styling */\n.page-navigation-chevron-icon {\n flex-shrink: 0;\n color: var(--color-neutral-600);\n font-size: 20px;\n width: 20px;\n height: 20px;\n transition: color 0.15s ease, transform var(--animation-duration-fast, 0.1s) var(--animation-ease-smooth, ease);\n}\n\n/* Chevron rotation when expanded */\n.page-navigation-chevron-icon.expanded {\n transform: rotate(180deg);\n}\n\n/* Icon color changes for active states */\n.page-navigation-multi-level.has-active-child .page-navigation-item-icon {\n color: var(--color-neutral-900);\n}\n\n/* Labels */\n.page-navigation-item-label {\n font-family: var(--font-inter);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--color-neutral-600);\n flex: 1;\n transition: all 0.15s ease;\n}\n\n/* Label color and weight changes for active states */\n.page-navigation-multi-level.has-active-child .page-navigation-item-label {\n color: var(--color-neutral-900);\n font-weight: 600;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host, Watch } from '@stencil/core';\n\nexport interface ChildItem {\n label: string;\n badge?: string | number;\n showBadge?: boolean;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-page-navigation-multi-level',\n styleUrl: 'bh-page-navigation-multi-level.css',\n shadow: true,\n})\nexport class BhPageNavigationMultiLevel {\n /**\n * Label text for the navigation item\n */\n @Prop() label!: string;\n\n /**\n * Material icon name\n */\n @Prop() icon: string = 'radio_button_unchecked';\n\n /**\n * Optional badge text/number to display\n */\n @Prop() badge?: string | number;\n\n /**\n * Child navigation items\n */\n @Prop() childItems: ChildItem[] = [];\n\n /**\n * Whether the item is expanded to show children\n */\n @Prop({ mutable: true }) isExpanded: boolean = false;\n\n /**\n * Internal state for hover\n */\n @State() isHovered: boolean = false;\n\n /**\n * Internal state for animation\n */\n @State() isAnimating: boolean = false;\n\n /**\n * Animation class\n */\n @State() animationClass: string = '';\n\n /**\n * Event emitted when the parent item is clicked (to toggle expansion)\n */\n @Event() bhToggle!: EventEmitter<void>;\n\n /**\n * Event emitted when a child item is clicked\n */\n @Event() bhChildClick!: EventEmitter<number>;\n\n /**\n * Event emitted when add button is clicked\n */\n @Event() bhAddClick!: EventEmitter<void>;\n\n @Watch('isExpanded')\n handleExpandedChange(newValue: boolean) {\n if (newValue) {\n this.isAnimating = true;\n this.animationClass = 'animate-slide-down-enter';\n } else if (this.isAnimating) {\n this.animationClass = 'animate-slide-down-exit';\n setTimeout(() => {\n this.isAnimating = false;\n this.animationClass = '';\n }, 150);\n }\n }\n\n private get hasActiveChild(): boolean {\n return this.childItems.some(child => child.isActive);\n }\n\n private handleParentClick = () => {\n this.bhToggle.emit();\n };\n\n private handleChildClick = (index: number) => {\n this.bhChildClick.emit(index);\n };\n\n private handleAddClick = (e: MouseEvent) => {\n e.stopPropagation();\n this.bhAddClick.emit();\n };\n\n private getItemClasses() {\n return {\n 'page-navigation-multi-level': true,\n 'page-navigation-animate-smooth': true,\n 'has-active-child': this.hasActiveChild,\n 'expanded': this.isExpanded,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.getItemClasses()}>\n <div\n class=\"page-navigation-multi-level-parent\"\n onClick={this.handleParentClick}\n onMouseEnter={() => (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n >\n <div class=\"page-navigation-item-content\">\n {!this.isHovered && (\n <span class=\"page-navigation-item-icon material-symbols-outlined\">\n {this.icon}\n </span>\n )}\n {this.isHovered && (\n <span\n class={{\n 'page-navigation-chevron-icon': true,\n 'material-symbols-outlined': true,\n 'expanded': this.isExpanded,\n }}\n >\n expand_more\n </span>\n )}\n <span class=\"page-navigation-item-label\">{this.label}</span>\n <bh-button\n hierarchy=\"tertiary\"\n icon=\"only\"\n size=\"xs\"\n iconName=\"add\"\n onClick={this.handleAddClick}\n ></bh-button>\n </div>\n </div>\n\n {(this.isExpanded || this.isAnimating) && (\n <div class={`page-navigation-children ${this.animationClass}`}>\n {this.childItems.map((child, index) => (\n <bh-page-navigation-child\n key={index}\n label={child.label}\n badge={child.badge}\n showBadge={child.showBadge}\n isActive={child.isActive}\n onBhItemClick={() => this.handleChildClick(index)}\n ></bh-page-navigation-child>\n ))}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CcPNBnbg.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-empty-state/bh-empty-state.css?tag=bh-empty-state&encapsulation=shadow","src/components/bh-empty-state/bh-empty-state.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Container */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 32px;\n padding: 48px 24px;\n text-align: center;\n}\n\n/* Content */\n.empty-state-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 24px;\n}\n\n/* Illustration */\n.empty-state-illustration {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.empty-state-illustration img {\n object-fit: contain;\n}\n\n/* Text */\n.empty-state-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n}\n\n.empty-state-title {\n font-size: var(--text-lg-size, 18px);\n font-weight: 600;\n color: var(--color-neutral-900, #101828);\n margin: 0;\n line-height: 1.33;\n}\n\n.empty-state-description {\n font-size: var(--text-sm-size, 14px);\n font-weight: 400;\n color: var(--color-neutral-600, #475467);\n margin: 0;\n line-height: 1.43;\n max-width: 400px;\n}\n\n/* Actions */\n.empty-state-actions {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type EmptyStateIllustrationSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'bh-empty-state',\n styleUrl: 'bh-empty-state.css',\n shadow: true,\n})\nexport class BhEmptyState {\n /**\n * Title text\n */\n @Prop() emptyTitle: string = 'No items found';\n\n /**\n * Description text\n */\n @Prop() description: string = 'There are no items to display at the moment.';\n\n /**\n * Size of the illustration\n */\n @Prop() illustrationSize: EmptyStateIllustrationSize = 'md';\n\n /**\n * Path to the illustration SVG\n */\n @Prop() illustrationPath: string = '';\n\n /**\n * Primary action button text\n */\n @Prop() primaryActionText: string = '';\n\n /**\n * Primary action icon name\n */\n @Prop() primaryActionIcon: string = '';\n\n /**\n * Secondary action button text\n */\n @Prop() secondaryActionText: string = '';\n\n /**\n * Secondary action icon name\n */\n @Prop() secondaryActionIcon: string = '';\n\n /**\n * Max width of the component\n */\n @Prop() maxWidth: string = '512px';\n\n /**\n * Emitted when primary action is clicked\n */\n @Event() bhPrimaryAction!: EventEmitter<void>;\n\n /**\n * Emitted when secondary action is clicked\n */\n @Event() bhSecondaryAction!: EventEmitter<void>;\n\n private handlePrimaryAction = (): void => {\n this.bhPrimaryAction.emit();\n };\n\n private handleSecondaryAction = (): void => {\n this.bhSecondaryAction.emit();\n };\n\n private getIllustrationDimensions(): { width: string; height: string } {\n switch (this.illustrationSize) {\n case 'sm':\n return { width: '120px', height: '120px' };\n case 'md':\n return { width: '200px', height: '200px' };\n case 'lg':\n return { width: '280px', height: '280px' };\n default:\n return { width: '200px', height: '200px' };\n }\n }\n\n render() {\n const dimensions = this.getIllustrationDimensions();\n const hasActions = this.primaryActionText || this.secondaryActionText;\n\n return (\n <div\n class=\"empty-state\"\n style={{ maxWidth: this.maxWidth }}\n part=\"container\"\n >\n <div class=\"empty-state-content\">\n {/* Illustration */}\n {this.illustrationPath && (\n <div class=\"empty-state-illustration\">\n <img\n src={this.illustrationPath}\n alt=\"Empty state illustration\"\n style={{ width: dimensions.width, height: dimensions.height }}\n />\n </div>\n )}\n\n {/* Text Content */}\n <div class=\"empty-state-text\">\n <h3 class=\"empty-state-title\">{this.emptyTitle}</h3>\n <p class=\"empty-state-description\">{this.description}</p>\n </div>\n </div>\n\n {/* Actions */}\n {hasActions && (\n <div class=\"empty-state-actions\">\n {this.secondaryActionText && (\n <bh-button\n hierarchy=\"secondary\"\n size=\"md\"\n label={this.secondaryActionText}\n icon={this.secondaryActionIcon ? 'leading' : 'none'}\n iconName={this.secondaryActionIcon}\n onBhClick={this.handleSecondaryAction}\n />\n )}\n {this.primaryActionText && (\n <bh-button\n hierarchy=\"primary\"\n size=\"md\"\n label={this.primaryActionText}\n icon={this.primaryActionIcon ? 'leading' : 'none'}\n iconName={this.primaryActionIcon}\n onBhClick={this.handlePrimaryAction}\n />\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CnQh9uSW.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-date-picker-content/bh-date-picker-content.css?tag=bh-date-picker-content&encapsulation=shadow","src/components/bh-date-picker-content/bh-date-picker-content.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Content area - reusable calendar content */\n.date-picker-content {\n width: 100%;\n font-family: var(--font-inter);\n display: flex;\n flex-direction: column;\n}\n\n/* Month Navigation */\n.month-navigation {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--spacing-sm);\n padding: var(--spacing-md);\n}\n\n/* Inline Month Picker - constrain to container */\n.month-picker-inline {\n flex: 1;\n overflow: hidden;\n max-height: 270px;\n animation: fadeIn 150ms ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.month-picker-inline.animate-fade-out {\n animation: fadeOut 150ms ease-out;\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(-10px);\n }\n}\n\n/* Calendar Grid */\n.calendar-grid {\n padding: 0 var(--spacing-md) var(--spacing-md);\n flex: 1;\n}\n\n.day-names {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n width: 280px;\n gap: 0;\n margin-bottom: var(--spacing-sm);\n}\n\n.day-name {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-500);\n}\n\n.date-cells {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n width: 280px;\n row-gap: var(--spacing-xs, 4px);\n column-gap: 0;\n justify-items: center;\n align-items: center;\n}\n\n/* Calendar Cell States */\n.calendar-cell {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: var(--radius-full);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n cursor: pointer;\n transition: all var(--animation-duration-fast, 0.1s) var(--animation-easing-ease, ease);\n}\n\n.calendar-cell.other-month .date-number {\n color: var(--color-neutral-400);\n}\n\n.calendar-cell.other-month.disabled .date-number {\n color: var(--color-neutral-300);\n}\n\n.calendar-cell.selectable .date-number {\n color: var(--color-neutral-500);\n}\n\n.calendar-cell.selectable:hover {\n background: var(--color-neutral-50);\n}\n\n.calendar-cell.selectable:hover .date-number {\n color: var(--color-neutral-800);\n}\n\n.calendar-cell.today {\n border: 2px solid var(--color-brand-600);\n}\n\n.calendar-cell.today .date-number {\n color: var(--color-neutral-500);\n}\n\n.calendar-cell.today:hover {\n background: var(--color-brand-100);\n}\n\n.calendar-cell.today:hover .date-number {\n color: var(--color-brand-600);\n}\n\n.calendar-cell.selected {\n background: var(--color-brand-600);\n}\n\n.calendar-cell.selected .date-number {\n color: var(--color-white);\n font-weight: var(--weight-semibold);\n}\n\n.calendar-cell.selected:hover {\n background: var(--color-brand-800);\n}\n\n.calendar-cell.selected:hover .date-number {\n color: var(--color-white);\n font-weight: var(--weight-semibold);\n}\n\n/* Range states - in-range background */\n.calendar-cell.in-range {\n background: var(--color-neutral-100);\n border-radius: 0;\n position: relative;\n}\n\n.calendar-cell.in-range .date-number {\n color: var(--color-neutral-800);\n font-weight: var(--weight-medium);\n}\n\n.calendar-cell.in-range:hover {\n background: var(--color-neutral-100);\n}\n\n.calendar-cell.in-range:hover .date-number {\n background: var(--color-neutral-200);\n border-radius: var(--radius-full);\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Range start and end styling */\n.calendar-cell.range-start,\n.calendar-cell.range-end {\n position: relative;\n}\n\n.calendar-cell.range-start .date-number,\n.calendar-cell.range-end .date-number {\n background: var(--color-brand-600);\n color: var(--color-white);\n font-weight: var(--weight-semibold);\n border-radius: var(--radius-full);\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.calendar-cell.range-start:hover .date-number,\n.calendar-cell.range-start.selectable:hover .date-number,\n.calendar-cell.range-end:hover .date-number,\n.calendar-cell.range-end.selectable:hover .date-number {\n background: var(--color-brand-800);\n color: var(--color-white);\n}\n\n/* Range start - extend background to the right */\n.calendar-cell.range-start {\n background: transparent;\n}\n\n.calendar-cell.range-start::after {\n content: '';\n position: absolute;\n left: 50%;\n top: 0;\n width: 50%;\n height: 100%;\n background: var(--color-neutral-100);\n border-radius: var(--radius-full) 0 0 var(--radius-full);\n z-index: 0;\n}\n\n.calendar-cell.range-start:hover::after,\n.calendar-cell.range-start.selectable:hover::after {\n background: var(--color-neutral-200);\n}\n\n/* Range end - extend background to the left */\n.calendar-cell.range-end {\n background: transparent;\n}\n\n.calendar-cell.range-end::after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n width: 50%;\n height: 100%;\n background: var(--color-neutral-100);\n border-radius: 0 var(--radius-full) var(--radius-full) 0;\n z-index: 0;\n}\n\n.calendar-cell.range-end:hover::after,\n.calendar-cell.range-end.selectable:hover::after {\n background: var(--color-neutral-200);\n}\n\n/* When both start and end are the same day */\n.calendar-cell.range-start.range-end {\n background: transparent;\n}\n\n.calendar-cell.range-start.range-end::after {\n display: none;\n}\n\n.calendar-cell.range-start.range-end .date-number {\n border-radius: var(--radius-full);\n}\n\n/* Range start without end (first selection only) */\n.calendar-cell.range-start:not(.in-range):not(:has(~ .range-end))::after {\n display: none;\n}\n\n/* Row start/end rounding for in-range cells */\n.calendar-cell.in-range:nth-child(7n+1) {\n border-top-left-radius: var(--radius-full);\n border-bottom-left-radius: var(--radius-full);\n}\n\n.calendar-cell.in-range:nth-child(7n) {\n border-top-right-radius: var(--radius-full);\n border-bottom-right-radius: var(--radius-full);\n}\n\n/* Range start at end of row */\n.calendar-cell.range-start:nth-child(7n)::after {\n display: none;\n}\n\n/* Range end at start of row */\n.calendar-cell.range-end:nth-child(7n+1)::after {\n display: none;\n}\n\n/* Today in range */\n.calendar-cell.today.in-range {\n background: var(--color-brand-50);\n}\n\n.calendar-cell.today.in-range .date-number {\n color: var(--color-brand-600);\n font-weight: var(--weight-medium);\n background: transparent;\n border: 2px solid var(--color-brand-600);\n}\n\n.calendar-cell.today.in-range:hover {\n background: var(--color-brand-100);\n}\n\n/* Today as range start/end */\n.calendar-cell.today.range-start .date-number,\n.calendar-cell.today.range-end .date-number {\n background: var(--color-brand-600);\n color: var(--color-white);\n border: none;\n}\n\n.calendar-cell.disabled {\n cursor: not-allowed;\n}\n\n.calendar-cell.disabled .date-number {\n color: var(--color-neutral-300);\n}\n\n.date-number {\n position: relative;\n z-index: 1;\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, h, Host } from '@stencil/core';\nimport { MonthYear } from '../bh-month-picker-content/bh-month-picker-content';\n\nexport interface SelectedDate {\n year: number;\n month: number; // 0-11\n day: number; // 1-31\n}\n\nexport interface DisabledDate {\n year: number;\n month: number;\n day: number;\n}\n\ninterface CalendarCell {\n day: number;\n isCurrentMonth: boolean;\n isToday: boolean;\n isSelected: boolean;\n isDisabled: boolean;\n isRangeStart: boolean;\n isRangeEnd: boolean;\n isInRange: boolean;\n date: Date;\n}\n\n@Component({\n tag: 'bh-date-picker-content',\n styleUrl: 'bh-date-picker-content.css',\n shadow: true,\n})\nexport class BhDatePickerContent {\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled dates\n */\n @Prop() disabledDates: DisabledDate[] = [];\n\n /**\n * Initial month to display (0-11)\n */\n @Prop() initialMonth?: number;\n\n /**\n * Initial year to display\n */\n @Prop() initialYear?: number;\n\n /**\n * Display month (for external control, 0-11)\n */\n @Prop() displayMonth?: number;\n\n /**\n * Display year (for external control)\n */\n @Prop() displayYear?: number;\n\n /**\n * Range start date (for date range picker)\n */\n @Prop() rangeStart?: SelectedDate;\n\n /**\n * Range end date (for date range picker)\n */\n @Prop() rangeEnd?: SelectedDate;\n\n /**\n * Currently selected value\n */\n @Prop() value?: SelectedDate;\n\n /**\n * Whether to show days from other months\n */\n @Prop() showOtherMonthDays: boolean = true;\n\n @State() selectedDate: SelectedDate | null = null;\n @State() currentMonth: number = new Date().getMonth();\n @State() currentYear: number = new Date().getFullYear();\n @State() isMonthDropdownOpen: boolean = false;\n @State() isMonthDropdownClosing: boolean = false;\n\n private today = new Date();\n private monthNames = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n ];\n private dayNames = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n /**\n * Event emitted when value changes\n */\n @Event({ bubbles: true, composed: true }) bhChange!: EventEmitter<SelectedDate | null>;\n\n /**\n * Event emitted when a date is selected\n */\n @Event({ bubbles: true, composed: true }) bhDateSelect!: EventEmitter<SelectedDate | null>;\n\n /**\n * Event emitted when month changes\n */\n @Event({ bubbles: true, composed: true }) bhMonthChange!: EventEmitter<{ month: number; year: number }>;\n\n /**\n * Event emitted when month/year changes\n */\n @Event({ bubbles: true, composed: true }) bhMonthYearChange!: EventEmitter<{ month: number; year: number }>;\n\n @Watch('value')\n handleValueChange(newValue: SelectedDate | undefined) {\n if (newValue) {\n this.selectedDate = newValue;\n if (this.displayMonth === undefined && this.displayYear === undefined) {\n this.currentMonth = newValue.month;\n this.currentYear = newValue.year;\n }\n } else {\n this.selectedDate = null;\n }\n }\n\n @Watch('displayMonth')\n handleDisplayMonthChange(newValue: number | undefined) {\n if (newValue !== undefined) {\n this.currentMonth = newValue;\n }\n }\n\n @Watch('displayYear')\n handleDisplayYearChange(newValue: number | undefined) {\n if (newValue !== undefined) {\n this.currentYear = newValue;\n }\n }\n\n componentWillLoad() {\n // Initialize month/year\n if (this.displayMonth !== undefined) {\n this.currentMonth = this.displayMonth;\n } else if (this.initialMonth !== undefined) {\n this.currentMonth = this.initialMonth;\n } else {\n this.currentMonth = this.today.getMonth();\n }\n\n if (this.displayYear !== undefined) {\n this.currentYear = this.displayYear;\n } else if (this.initialYear !== undefined) {\n this.currentYear = this.initialYear;\n } else {\n this.currentYear = this.today.getFullYear();\n }\n\n // Initialize selected date\n if (this.value) {\n this.selectedDate = this.value;\n }\n }\n\n private get isInRangeMode(): boolean {\n return this.rangeStart !== undefined || this.rangeEnd !== undefined;\n }\n\n private get calendarCells(): CalendarCell[] {\n const cells: CalendarCell[] = [];\n const firstDay = new Date(this.currentYear, this.currentMonth, 1);\n const lastDay = new Date(this.currentYear, this.currentMonth + 1, 0);\n\n // Get the day of the week for the first day (0 = Sunday, 6 = Saturday)\n let firstDayOfWeek = firstDay.getDay();\n // Convert to Monday start (0 = Monday, 6 = Sunday)\n firstDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n\n // Add cells for days before the first of the month\n if (this.showOtherMonthDays) {\n for (let i = 0; i < firstDayOfWeek; i++) {\n const prevMonthLastDay = new Date(this.currentYear, this.currentMonth, -i);\n cells.unshift(this.createCell(prevMonthLastDay, false));\n }\n } else {\n for (let i = 0; i < firstDayOfWeek; i++) {\n cells.unshift({\n day: 0,\n isCurrentMonth: false,\n isToday: false,\n isSelected: false,\n isDisabled: true,\n isRangeStart: false,\n isRangeEnd: false,\n isInRange: false,\n date: new Date(this.currentYear, this.currentMonth, -i),\n });\n }\n }\n\n // Add cells for current month\n for (let day = 1; day <= lastDay.getDate(); day++) {\n const date = new Date(this.currentYear, this.currentMonth, day);\n cells.push(this.createCell(date, true));\n }\n\n // Add next month days to fill the grid\n if (this.showOtherMonthDays) {\n const totalCells = cells.length;\n const remainingCells = 42 - totalCells;\n\n for (let day = 1; day <= remainingCells; day++) {\n const nextMonthDay = new Date(this.currentYear, this.currentMonth + 1, day);\n cells.push(this.createCell(nextMonthDay, false));\n\n if (cells.length % 7 === 0) break;\n }\n }\n\n return cells;\n }\n\n private createCell(date: Date, isCurrentMonth: boolean): CalendarCell {\n const isRangeStart = this.isDateRangeStart(date);\n const isRangeEnd = this.isDateRangeEnd(date);\n const isInRange = this.isDateInRange(date);\n\n return {\n day: date.getDate(),\n isCurrentMonth,\n isToday: this.isSameDay(date, this.today),\n isSelected: this.isDateSelected(date),\n isDisabled: !isCurrentMonth || this.isDateDisabled(date),\n isRangeStart,\n isRangeEnd,\n isInRange,\n date,\n };\n }\n\n private isSameDay(date1: Date, date2: Date): boolean {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate()\n );\n }\n\n private isDateDisabled(date: Date): boolean {\n if (!this.disabledDates || !Array.isArray(this.disabledDates)) {\n return false;\n }\n const year = date.getFullYear();\n const month = date.getMonth();\n const day = date.getDate();\n return this.disabledDates.some(\n disabled => disabled.year === year && disabled.month === month && disabled.day === day\n );\n }\n\n private isDateSelected(date: Date): boolean {\n if (this.isInRangeMode) return false;\n if (!this.selectedDate) return false;\n\n return (\n date.getFullYear() === this.selectedDate.year &&\n date.getMonth() === this.selectedDate.month &&\n date.getDate() === this.selectedDate.day\n );\n }\n\n private isDateRangeStart(date: Date): boolean {\n if (!this.rangeStart) return false;\n\n return (\n date.getFullYear() === this.rangeStart.year &&\n date.getMonth() === this.rangeStart.month &&\n date.getDate() === this.rangeStart.day\n );\n }\n\n private isDateRangeEnd(date: Date): boolean {\n if (!this.rangeEnd) return false;\n\n return (\n date.getFullYear() === this.rangeEnd.year &&\n date.getMonth() === this.rangeEnd.month &&\n date.getDate() === this.rangeEnd.day\n );\n }\n\n private isDateInRange(date: Date): boolean {\n if (!this.rangeStart || !this.rangeEnd) return false;\n\n const dateTime = date.getTime();\n const startTime = new Date(this.rangeStart.year, this.rangeStart.month, this.rangeStart.day).getTime();\n const endTime = new Date(this.rangeEnd.year, this.rangeEnd.month, this.rangeEnd.day).getTime();\n\n return dateTime > startTime && dateTime < endTime;\n }\n\n private handleCellClick(cell: CalendarCell) {\n if (cell.isDisabled || this.disabled || !cell.isCurrentMonth) {\n return;\n }\n\n const newSelectedDate: SelectedDate = {\n year: cell.date.getFullYear(),\n month: cell.date.getMonth(),\n day: cell.date.getDate(),\n };\n\n // If we're in range mode, let the parent handle it\n if (this.isInRangeMode) {\n this.bhChange.emit(newSelectedDate);\n this.bhDateSelect.emit(newSelectedDate);\n return;\n }\n\n // Toggle selection\n const isCurrentlySelected = this.selectedDate &&\n this.selectedDate.year === newSelectedDate.year &&\n this.selectedDate.month === newSelectedDate.month &&\n this.selectedDate.day === newSelectedDate.day;\n\n if (isCurrentlySelected) {\n this.selectedDate = null;\n this.bhChange.emit(null);\n this.bhDateSelect.emit(null);\n } else {\n this.selectedDate = newSelectedDate;\n this.bhChange.emit(newSelectedDate);\n this.bhDateSelect.emit(newSelectedDate);\n }\n }\n\n private handleMonthDropdownToggle = () => {\n if (this.isMonthDropdownOpen) {\n this.closeMonthDropdown();\n } else {\n this.isMonthDropdownOpen = true;\n }\n };\n\n private closeMonthDropdown() {\n this.isMonthDropdownClosing = true;\n setTimeout(() => {\n this.isMonthDropdownOpen = false;\n this.isMonthDropdownClosing = false;\n }, 150);\n }\n\n private handleMonthYearSelect = (event: CustomEvent<MonthYear>) => {\n this.closeMonthDropdown();\n\n setTimeout(() => {\n const monthYear = event.detail;\n this.currentMonth = monthYear.month;\n this.currentYear = monthYear.year;\n this.bhMonthChange.emit({ month: monthYear.month, year: monthYear.year });\n this.bhMonthYearChange.emit({ month: monthYear.month, year: monthYear.year });\n }, 100);\n };\n\n private handlePreviousMonth = () => {\n if (this.disabled) return;\n\n let newMonth = this.currentMonth - 1;\n let newYear = this.currentYear;\n\n if (newMonth < 0) {\n newMonth = 11;\n newYear = this.currentYear - 1;\n }\n\n if (newYear >= this.minYear) {\n this.currentMonth = newMonth;\n this.currentYear = newYear;\n this.bhMonthChange.emit({ month: newMonth, year: newYear });\n this.bhMonthYearChange.emit({ month: newMonth, year: newYear });\n }\n };\n\n private handleNextMonth = () => {\n if (this.disabled) return;\n\n let newMonth = this.currentMonth + 1;\n let newYear = this.currentYear;\n\n if (newMonth > 11) {\n newMonth = 0;\n newYear = this.currentYear + 1;\n }\n\n if (newYear <= this.maxYear) {\n this.currentMonth = newMonth;\n this.currentYear = newYear;\n this.bhMonthChange.emit({ month: newMonth, year: newYear });\n this.bhMonthYearChange.emit({ month: newMonth, year: newYear });\n }\n };\n\n private getCellClass(cell: CalendarCell): string {\n const classes = ['calendar-cell'];\n\n if (!cell.isCurrentMonth) classes.push('other-month');\n if (cell.isToday) classes.push('today');\n if (cell.isRangeStart) classes.push('range-start');\n if (cell.isRangeEnd) classes.push('range-end');\n if (cell.isInRange) classes.push('in-range');\n if (cell.isSelected) classes.push('selected');\n if (cell.isDisabled) classes.push('disabled');\n else if (cell.isCurrentMonth) classes.push('selectable');\n\n return classes.join(' ');\n }\n\n render() {\n const currentMonthYear = `${this.monthNames[this.currentMonth]} ${this.currentYear}`;\n\n return (\n <Host>\n <div class=\"date-picker-content\">\n {/* Month Navigation */}\n <div class=\"month-navigation\">\n <bh-button-icon\n hierarchy=\"tertiary\"\n size=\"md\"\n iconName=\"chevron_left\"\n onBhClick={this.handlePreviousMonth}\n disabled={this.disabled || (this.currentYear === this.minYear && this.currentMonth === 0)}\n ></bh-button-icon>\n\n <bh-button\n hierarchy=\"tertiary\"\n size=\"sm\"\n label={currentMonthYear}\n icon=\"trailing\"\n iconName=\"expand_more\"\n onBhClick={this.handleMonthDropdownToggle}\n ></bh-button>\n\n <bh-button-icon\n hierarchy=\"tertiary\"\n size=\"md\"\n iconName=\"chevron_right\"\n onBhClick={this.handleNextMonth}\n disabled={this.disabled || (this.currentYear === this.maxYear && this.currentMonth === 11)}\n ></bh-button-icon>\n </div>\n\n {/* Calendar Grid or Month Picker */}\n {!this.isMonthDropdownOpen && (\n <div class=\"calendar-grid\">\n {/* Day Names Header */}\n <div class=\"day-names\">\n {this.dayNames.map(dayName => (\n <div key={dayName} class=\"day-name\">{dayName}</div>\n ))}\n </div>\n\n {/* Date Cells */}\n <div class=\"date-cells\">\n {this.calendarCells.map((cell, index) => (\n <div\n key={index}\n class={this.getCellClass(cell)}\n onClick={() => this.handleCellClick(cell)}\n >\n <span class=\"date-number\">{cell.day === 0 ? '' : cell.day}</span>\n </div>\n ))}\n </div>\n </div>\n )}\n\n {/* Month Picker Content */}\n {(this.isMonthDropdownOpen || this.isMonthDropdownClosing) && (\n <div class={`month-picker-inline ${this.isMonthDropdownClosing ? 'animate-fade-out' : ''}`}>\n <bh-month-picker-content\n scrollable={true}\n height=\"275px\"\n selectedMonth={this.currentMonth}\n selectedYear={this.currentYear}\n onBhChange={this.handleMonthYearSelect}\n minYear={this.minYear}\n maxYear={this.maxYear}\n ></bh-month-picker-content>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CoJrxiH7.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-pagination/bh-pagination.css?tag=bh-pagination&encapsulation=shadow","src/components/bh-pagination/bh-pagination.tsx"],"sourcesContent":["/* =============================================================================\n bh-pagination Component Styles\n ============================================================================= */\n\n:host {\n display: block;\n font-family: var(--font-family-body, 'Inter', sans-serif);\n}\n\n/* -----------------------------------------------------------------------------\n Base Pagination Container\n ----------------------------------------------------------------------------- */\n\n.pagination {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--sp-4, 1rem);\n padding: var(--sp-3, 0.75rem) var(--sp-4, 1rem);\n background-color: var(--color-white, #fff);\n border-top: 1px solid var(--color-neutral-200, #e2e4eb);\n}\n\n/* -----------------------------------------------------------------------------\n Size Variants\n ----------------------------------------------------------------------------- */\n\n.pagination-sm {\n padding: var(--sp-2, 0.5rem) var(--sp-3, 0.75rem);\n gap: var(--sp-3, 0.75rem);\n}\n\n.pagination-sm .pagination-info-text,\n.pagination-sm .pagination-page-size-label {\n font-size: 0.75rem;\n}\n\n.pagination-sm .pagination-btn {\n width: 28px;\n height: 28px;\n}\n\n.pagination-sm .pagination-btn .material-symbols-outlined {\n font-size: 18px;\n}\n\n.pagination-sm .pagination-select {\n height: 28px;\n font-size: 0.75rem;\n padding: 0 var(--sp-5, 1.25rem) 0 var(--sp-2, 0.5rem);\n}\n\n.pagination-md {\n /* Default - no changes needed */\n}\n\n.pagination-lg {\n padding: var(--sp-4, 1rem) var(--sp-5, 1.25rem);\n gap: var(--sp-5, 1.25rem);\n}\n\n.pagination-lg .pagination-info-text,\n.pagination-lg .pagination-page-size-label {\n font-size: 0.9375rem;\n}\n\n.pagination-lg .pagination-btn {\n width: 40px;\n height: 40px;\n}\n\n.pagination-lg .pagination-btn .material-symbols-outlined {\n font-size: 24px;\n}\n\n.pagination-lg .pagination-select {\n height: 40px;\n font-size: 0.9375rem;\n}\n\n/* -----------------------------------------------------------------------------\n Disabled State\n ----------------------------------------------------------------------------- */\n\n.pagination-disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* -----------------------------------------------------------------------------\n Info Section\n ----------------------------------------------------------------------------- */\n\n.pagination-info {\n display: flex;\n align-items: center;\n}\n\n.pagination-info-text {\n font-size: 0.875rem;\n color: var(--color-neutral-600, #5c627a);\n white-space: nowrap;\n}\n\n/* -----------------------------------------------------------------------------\n Controls Section\n ----------------------------------------------------------------------------- */\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--sp-4, 1rem);\n}\n\n/* -----------------------------------------------------------------------------\n Page Size Selector\n ----------------------------------------------------------------------------- */\n\n.pagination-page-size {\n display: flex;\n align-items: center;\n gap: var(--sp-2, 0.5rem);\n}\n\n.pagination-page-size-label {\n font-size: 0.875rem;\n color: var(--color-neutral-600, #5c627a);\n white-space: nowrap;\n}\n\n.pagination-select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-color: var(--color-white, #fff);\n border: 1px solid var(--color-neutral-300, #c0c4d4);\n border-radius: var(--radius-md, 6px);\n padding: 0 var(--sp-6, 1.5rem) 0 var(--sp-3, 0.75rem);\n height: 32px;\n font-size: 0.875rem;\n color: var(--color-neutral-900, #141624);\n cursor: pointer;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n\n /* Custom dropdown arrow */\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%235c627a'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 4px center;\n background-size: 16px;\n}\n\n.pagination-select:hover:not(:disabled) {\n border-color: var(--color-neutral-400, #939ab4);\n}\n\n.pagination-select:focus {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px var(--color-brand-100, #e0e1fc);\n}\n\n.pagination-select:disabled {\n background-color: var(--color-neutral-100, #f0f1f5);\n cursor: not-allowed;\n}\n\n/* -----------------------------------------------------------------------------\n Navigation Buttons\n ----------------------------------------------------------------------------- */\n\n.pagination-nav {\n display: flex;\n align-items: center;\n gap: var(--sp-1, 0.25rem);\n}\n\n.pagination-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: var(--radius-md, 6px);\n background-color: transparent;\n color: var(--color-neutral-600, #5c627a);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.pagination-btn .material-symbols-outlined {\n font-size: 20px;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.pagination-btn:hover:not(:disabled) {\n background-color: var(--color-neutral-100, #f0f1f5);\n color: var(--color-neutral-900, #141624);\n}\n\n.pagination-btn:focus {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-brand-100, #e0e1fc);\n}\n\n.pagination-btn:active:not(:disabled) {\n background-color: var(--color-neutral-200, #e2e4eb);\n}\n\n.pagination-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* -----------------------------------------------------------------------------\n Responsive Adjustments\n ----------------------------------------------------------------------------- */\n\n@media (max-width: 640px) {\n .pagination {\n flex-direction: column;\n align-items: stretch;\n gap: var(--sp-3, 0.75rem);\n }\n\n .pagination-info {\n justify-content: center;\n }\n\n .pagination-controls {\n justify-content: center;\n flex-wrap: wrap;\n }\n\n .pagination-page-size {\n width: 100%;\n justify-content: center;\n }\n\n .pagination-nav {\n justify-content: center;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, State } from '@stencil/core';\n\nexport type PaginationSize = 'sm' | 'md' | 'lg';\n\nexport interface PaginationChangeEvent {\n page: number;\n pageSize: number;\n}\n\n@Component({\n tag: 'bh-pagination',\n styleUrl: 'bh-pagination.css',\n shadow: true,\n})\nexport class BhPagination {\n /**\n * Current page (1-indexed)\n */\n @Prop({ mutable: true }) page: number = 1;\n\n /**\n * Total number of items\n */\n @Prop() totalItems: number = 0;\n\n /**\n * Number of items per page\n */\n @Prop({ mutable: true }) pageSize: number = 10;\n\n /**\n * Available page size options\n */\n @Prop() pageSizeOptions: number[] = [10, 25, 50, 100];\n\n /**\n * Show page size selector\n */\n @Prop() showPageSizeSelector: boolean = true;\n\n /**\n * Show item count info (e.g., \"Showing 1 to 10 of 100 results\")\n */\n @Prop() showItemCount: boolean = true;\n\n /**\n * Show first/last page buttons\n */\n @Prop() showFirstLastButtons: boolean = true;\n\n /**\n * Size variant of the pagination\n */\n @Prop() size: PaginationSize = 'md';\n\n /**\n * Whether the pagination is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Label for \"Rows per page\" text (for i18n)\n */\n @Prop() rowsPerPageLabel: string = 'Rows per page:';\n\n /**\n * Label template for showing results (use {start}, {end}, {total} placeholders)\n */\n @Prop() showingResultsLabel: string = 'Showing {start} to {end} of {total} results';\n\n /**\n * Label template for page info when total items unknown (use {page}, {totalPages} placeholders)\n */\n @Prop() pageInfoLabel: string = 'Page {page} of {totalPages}';\n\n @State() internalPage: number = 1;\n @State() internalPageSize: number = 10;\n\n /**\n * Emitted when the page changes\n */\n @Event() bhPageChange!: EventEmitter<PaginationChangeEvent>;\n\n /**\n * Emitted when page size changes\n */\n @Event() bhPageSizeChange!: EventEmitter<PaginationChangeEvent>;\n\n componentWillLoad() {\n this.internalPage = this.page;\n this.internalPageSize = this.pageSize;\n }\n\n private get totalPages(): number {\n return Math.max(1, Math.ceil(this.totalItems / this.internalPageSize));\n }\n\n private get startItem(): number {\n if (this.totalItems === 0) return 0;\n return (this.internalPage - 1) * this.internalPageSize + 1;\n }\n\n private get endItem(): number {\n return Math.min(this.internalPage * this.internalPageSize, this.totalItems);\n }\n\n private get canGoPrevious(): boolean {\n return this.internalPage > 1 && !this.disabled;\n }\n\n private get canGoNext(): boolean {\n return this.internalPage < this.totalPages && !this.disabled;\n }\n\n private goToPage(newPage: number) {\n if (this.disabled) return;\n\n const page = Math.max(1, Math.min(newPage, this.totalPages));\n if (page !== this.internalPage) {\n this.internalPage = page;\n this.page = page;\n this.bhPageChange.emit({ page, pageSize: this.internalPageSize });\n }\n }\n\n private handlePageSizeChange(event: Event) {\n if (this.disabled) return;\n\n const select = event.target as HTMLSelectElement;\n const newPageSize = parseInt(select.value, 10);\n\n if (newPageSize !== this.internalPageSize) {\n this.internalPageSize = newPageSize;\n this.pageSize = newPageSize;\n\n // Reset to page 1 when page size changes, or adjust if current page is now out of bounds\n const newTotalPages = Math.max(1, Math.ceil(this.totalItems / newPageSize));\n const newPage = Math.min(this.internalPage, newTotalPages);\n\n if (newPage !== this.internalPage) {\n this.internalPage = newPage;\n this.page = newPage;\n }\n\n this.bhPageSizeChange.emit({ page: this.internalPage, pageSize: newPageSize });\n }\n }\n\n private goToFirst = () => this.goToPage(1);\n private goToPrevious = () => this.goToPage(this.internalPage - 1);\n private goToNext = () => this.goToPage(this.internalPage + 1);\n private goToLast = () => this.goToPage(this.totalPages);\n\n private getInfoText(): string {\n if (this.totalItems === 0) {\n return 'No results';\n }\n\n if (this.showItemCount && this.totalItems > 0) {\n return this.showingResultsLabel\n .replace('{start}', String(this.startItem))\n .replace('{end}', String(this.endItem))\n .replace('{total}', String(this.totalItems));\n }\n\n return this.pageInfoLabel\n .replace('{page}', String(this.internalPage))\n .replace('{totalPages}', String(this.totalPages));\n }\n\n render() {\n const paginationClasses = {\n 'pagination': true,\n [`pagination-${this.size}`]: true,\n 'pagination-disabled': this.disabled,\n };\n\n return (\n <div class={paginationClasses} role=\"navigation\" aria-label=\"Pagination\">\n {/* Info section */}\n <div class=\"pagination-info\">\n <span class=\"pagination-info-text\">{this.getInfoText()}</span>\n </div>\n\n {/* Controls section */}\n <div class=\"pagination-controls\">\n {/* Page size selector */}\n {this.showPageSizeSelector && (\n <div class=\"pagination-page-size\">\n <span class=\"pagination-page-size-label\">{this.rowsPerPageLabel}</span>\n <select\n class=\"pagination-select\"\n onChange={(e) => this.handlePageSizeChange(e)}\n disabled={this.disabled}\n aria-label=\"Select page size\"\n >\n {this.pageSizeOptions.map((size) => (\n <option key={size} value={String(size)} selected={size === this.internalPageSize}>\n {size}\n </option>\n ))}\n </select>\n </div>\n )}\n\n {/* Navigation buttons */}\n <div class=\"pagination-nav\">\n {this.showFirstLastButtons && (\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToFirst}\n disabled={!this.canGoPrevious}\n aria-label=\"Go to first page\"\n >\n <span class=\"material-symbols-outlined\">first_page</span>\n </button>\n )}\n\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToPrevious}\n disabled={!this.canGoPrevious}\n aria-label=\"Go to previous page\"\n >\n <span class=\"material-symbols-outlined\">chevron_left</span>\n </button>\n\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToNext}\n disabled={!this.canGoNext}\n aria-label=\"Go to next page\"\n >\n <span class=\"material-symbols-outlined\">chevron_right</span>\n </button>\n\n {this.showFirstLastButtons && (\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToLast}\n disabled={!this.canGoNext}\n aria-label=\"Go to last page\"\n >\n <span class=\"material-symbols-outlined\">last_page</span>\n </button>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CrB92GYh.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-text/bh-input-text.css?tag=bh-input-text&encapsulation=shadow","src/components/bh-input-text/bh-input-text.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Input Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n}\n\n/* Input Container */\n.input-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n padding: var(--spacing-md, 12px);\n height: 36px;\n width: 100%;\n background: var(--color-white, #ffffff);\n border: 1px solid var(--color-neutral-300, #d0d5dd);\n border-radius: var(--spacing-md, 8px);\n transition: all 0.2s ease-in-out;\n cursor: text;\n box-sizing: border-box;\n}\n\n.input-container.input-container-with-leading {\n padding: var(--spacing-md, 12px) var(--spacing-lg, 16px);\n}\n\n/* Input States */\n.input-container.input-container-hover {\n border-color: var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-focused {\n border-color: var(--color-brand-500, #7f56d9);\n box-shadow: 0 0 0 1px var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.input-container.input-container-error {\n border-color: var(--color-error-300, #fda29b);\n}\n\n.input-container.input-container-error.input-container-hover {\n border-color: var(--color-error-500, #f05250);\n}\n\n.input-container.input-container-error.input-container-focused {\n border-color: var(--color-brand-600, #6941c6);\n}\n\n/* Input Content */\n.input-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n flex: 1;\n height: 100%;\n min-width: 0;\n}\n\n/* Input Element */\n.input-element {\n flex: 1;\n height: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-800, #1d2939);\n min-width: 60px;\n padding: 0;\n}\n\n.input-element:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.input-element::placeholder {\n color: var(--color-neutral-500, #667085);\n}\n\n.input-element:disabled {\n cursor: not-allowed;\n}\n\n/* Icons */\n.leading-icon,\n.trailing-icon {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-500, #667085);\n user-select: none;\n flex-shrink: 0;\n cursor: default;\n transition: color 0.2s ease-in-out;\n}\n\n.input-container-focused .leading-icon,\n.input-container-focused .trailing-icon {\n color: var(--color-brand-600, #6941c6);\n}\n\n/* Hint Text */\n.hint-text {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-600, #475467);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600, #dc2626);\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 20px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncFormValue, updateValidity } from '../../utils/form';\n\n@Component({\n tag: 'bh-input-text',\n styleUrl: 'bh-input-text.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhInputText {\n @AttachInternals() internals!: ElementInternals;\n\n private inputEl?: HTMLInputElement;\n /**\n * The label for the input\n */\n @Prop() label: string = 'Email';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'fujiwara@act-hq.com';\n\n /**\n * Hint text shown below the input\n */\n @Prop() hintText: string = '';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show a leading icon\n */\n @Prop() showLeadingIcon: boolean = false;\n\n /**\n * Whether to show a trailing icon\n */\n @Prop() showTrailingIcon: boolean = false;\n\n /**\n * Whether the field has an error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Leading icon name (Material Symbols)\n */\n @Prop() leadingIcon: string = 'mail';\n\n /**\n * Trailing icon name (Material Symbols)\n */\n @Prop() trailingIcon: string = 'search';\n\n /**\n * The input value\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Default value for form reset\n */\n @Prop() defaultValue: string = '';\n\n /**\n * Custom validation message\n */\n @Prop() validationMessage: string = '';\n\n /**\n * Input type (text, email, tel, url, etc.)\n */\n @Prop() type: string = 'text';\n\n /**\n * Width of the input (e.g., '100%', '200px')\n */\n @Prop() width: string = '';\n\n /**\n * Whether the input is read-only\n */\n @Prop() readOnly: boolean = false;\n\n /**\n * Visual state of the input (for programmatic control)\n */\n @Prop() state: 'default' | 'error' | 'disabled' | 'focus' | 'filled' | 'hover' = 'default';\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Track hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the value changes\n */\n @Event() bhInput!: EventEmitter<string>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n private handleInput = (event: Event): void => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.bhInput.emit(this.value);\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n };\n\n componentDidLoad() {\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n if (this.inputEl) {\n this.inputEl.value = this.defaultValue;\n }\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl);\n }\n\n private handleFocus = (): void => {\n this.isFocused = true;\n this.bhFocus.emit();\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n this.bhBlur.emit();\n };\n\n private handleMouseEnter = (): void => {\n if (!this.isFocused) {\n this.isHovered = true;\n }\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private handleHelpClick = (): void => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const containerClasses = {\n 'input-container': true,\n 'input-container-focused': this.isFocused,\n 'input-container-hover': this.isHovered && !this.isFocused,\n 'input-container-error': this.error,\n 'input-container-disabled': this.disabled,\n 'input-container-with-leading': this.showLeadingIcon,\n };\n\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n return (\n <div class=\"input-wrapper\" part=\"wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={this.handleHelpClick}\n >\n <div\n class={containerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"input-content\">\n {this.showLeadingIcon && (\n <span class=\"material-symbols-outlined leading-icon\">\n {this.leadingIcon}\n </span>\n )}\n <input\n ref={(el) => (this.inputEl = el)}\n type={this.type}\n class=\"input-element\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readOnly={this.readOnly}\n required={this.required}\n aria-label={this.label}\n aria-describedby={\n this.showHintText && this.hintText ? 'hint-text' : undefined\n }\n aria-invalid={String(this.error)}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n part=\"input\"\n />\n {this.showTrailingIcon && (\n <span class=\"material-symbols-outlined trailing-icon\">\n {this.trailingIcon}\n </span>\n )}\n </div>\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div\n class={{ 'hint-text': true, 'hint-error': this.error }}\n id=\"hint-text\"\n >\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CycIV1i_.js","mappings":";;AAAA,MAAM,eAAe,GAAG,+uBAA+uB;;MCS1vB,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;AACvB;;AAEG;IACK,WAAW,GAAY,IAAI;AAEnC;;AAEG;IACK,SAAS,GAAwB,eAAe;IAExD,MAAM,GAAA;AACJ,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SAC9C;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACrB,IAAI,CAAC,WAAW,IAAI,4DAAK,KAAK,EAAC,qBAAqB,EAAG,CAAA,EACxD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,oBAAoB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,iBAAiB,EAAA,CAAG,CAC3B,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,mBAAmB,EAAA,CAAG,CAC7B,CACF,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-card-footer/bh-card-footer.css?tag=bh-card-footer&encapsulation=shadow","src/components/bh-card-footer/bh-card-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n background: var(--color-white);\n}\n\n.card-footer-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n\n.card-footer-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n padding: var(--spacing-lg) var(--spacing-xl);\n}\n\n.card-footer-align-left {\n justify-content: flex-start;\n}\n\n.card-footer-align-right {\n justify-content: flex-end;\n}\n\n.card-footer-align-space-between {\n justify-content: space-between;\n}\n\n.card-footer-primary-actions {\n display: flex;\n flex: 1 0 0;\n align-items: center;\n gap: var(--spacing-none);\n min-width: 0;\n}\n\n.card-footer-secondary-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Hide empty slots */\n.card-footer-primary-actions:empty,\n.card-footer-secondary-actions:empty {\n display: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type CardFooterAlignment = 'left' | 'right' | 'space-between';\n\n@Component({\n tag: 'bh-card-footer',\n styleUrl: 'bh-card-footer.css',\n shadow: true,\n})\nexport class BhCardFooter {\n /**\n * Whether to show the divider above the footer\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Alignment of the footer content\n */\n @Prop() alignment: CardFooterAlignment = 'space-between';\n\n render() {\n const footerContentClasses = {\n 'card-footer-content': true,\n [`card-footer-align-${this.alignment}`]: true,\n };\n\n return (\n <Host>\n <div class=\"card-footer\">\n {this.showDivider && <div class=\"card-footer-divider\" />}\n <div class={footerContentClasses}>\n <div class=\"card-footer-primary-actions\">\n <slot name=\"primary-actions\" />\n </div>\n <div class=\"card-footer-secondary-actions\">\n <slot name=\"secondary-actions\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}