@actabldesign/bellhop-core 0.0.4 → 0.0.6

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 (153) hide show
  1. package/dist/components/bh-accordion-item.js +1 -1
  2. package/dist/components/bh-accordion.js +1 -1
  3. package/dist/components/bh-appbar.js +4 -4
  4. package/dist/components/bh-autocomplete-menu.js +1 -1
  5. package/dist/components/bh-avatar-add.js +1 -1
  6. package/dist/components/bh-avatar-stacked.js +4 -4
  7. package/dist/components/bh-avatar.js +1 -1
  8. package/dist/components/bh-badge-dot.js +1 -1
  9. package/dist/components/bh-badge.js +1 -1
  10. package/dist/components/bh-bar-chart.js +2 -2
  11. package/dist/components/bh-breadcrumbs.js +1 -1
  12. package/dist/components/bh-button-icon.js +1 -1
  13. package/dist/components/bh-button.js +1 -1
  14. package/dist/components/bh-card-footer.js +1 -1
  15. package/dist/components/bh-card-header.js +1 -1
  16. package/dist/components/bh-card.js +1 -1
  17. package/dist/components/bh-chart-tooltip.js +1 -1
  18. package/dist/components/bh-checkbox-group-item.js +1 -1
  19. package/dist/components/bh-checkbox-group.js +1 -1
  20. package/dist/components/bh-checkbox.js +1 -1
  21. package/dist/components/bh-container-footer.js +3 -3
  22. package/dist/components/bh-container.js +1 -1
  23. package/dist/components/bh-data-grid.js +1 -1
  24. package/dist/components/bh-date-picker-content.js +1 -1
  25. package/dist/components/bh-date-picker.js +10 -10
  26. package/dist/components/bh-date-range-picker-content.js +1 -1
  27. package/dist/components/bh-date-range-picker.js +11 -11
  28. package/dist/components/bh-dropdown-menu.js +1 -1
  29. package/dist/components/bh-dropdown.js +1 -1
  30. package/dist/components/bh-empty-state.js +1 -1
  31. package/dist/components/bh-featured-icon.js +1 -1
  32. package/dist/components/bh-illustrations.js +1 -1
  33. package/dist/components/bh-input-autocomplete.js +8 -8
  34. package/dist/components/bh-input-number.js +4 -4
  35. package/dist/components/bh-input-password.js +3 -3
  36. package/dist/components/bh-input-text.js +1 -1
  37. package/dist/components/bh-input-verification.js +3 -3
  38. package/dist/components/bh-label.js +1 -1
  39. package/dist/components/bh-loader-spinner.js +1 -1
  40. package/dist/components/bh-logo-box.js +1 -1
  41. package/dist/components/bh-modal-actions.js +3 -3
  42. package/dist/components/bh-modal-header.js +3 -3
  43. package/dist/components/bh-modal.js +1 -1
  44. package/dist/components/bh-month-picker-content.js +1 -1
  45. package/dist/components/bh-month-picker.js +8 -8
  46. package/dist/components/bh-nav-item.js +1 -1
  47. package/dist/components/bh-notification.js +4 -4
  48. package/dist/components/bh-page-navigation-child.js +1 -1
  49. package/dist/components/bh-page-navigation-multi-level.js +1 -1
  50. package/dist/components/bh-page-navigation-single-level.js +1 -1
  51. package/dist/components/bh-page-navigation.js +6 -6
  52. package/dist/components/bh-pagination.js +1 -1
  53. package/dist/components/bh-picker-menu.js +1 -1
  54. package/dist/components/bh-pie-chart.js +2 -2
  55. package/dist/components/bh-popover.js +1 -1
  56. package/dist/components/bh-product-switcher.js +1 -1
  57. package/dist/components/bh-property-switcher.js +1 -1
  58. package/dist/components/bh-radio-button.js +1 -1
  59. package/dist/components/bh-sidebar.js +10 -10
  60. package/dist/components/bh-skeleton-loader.js +1 -1
  61. package/dist/components/bh-tab-item.js +1 -1
  62. package/dist/components/bh-tabs.js +1 -1
  63. package/dist/components/bh-tag.js +1 -1
  64. package/dist/components/bh-textarea.js +3 -3
  65. package/dist/components/bh-toggle.js +1 -1
  66. package/dist/components/bh-tooltip.js +1 -1
  67. package/dist/components/bh-trend-chart.js +1 -1
  68. package/dist/components/index.js +14 -14
  69. package/dist/components/{p-CWGpUs1b.js → p-3wrr5uYj.js} +3 -3
  70. package/dist/components/{p-CWGpUs1b.js.map → p-3wrr5uYj.js.map} +1 -1
  71. package/dist/components/{p-DW54267I.js → p-B-oXID22.js} +6 -6
  72. package/dist/components/{p-DW54267I.js.map → p-B-oXID22.js.map} +1 -1
  73. package/dist/components/{p-BOk69MBi.js → p-B7e9Vn80.js} +3 -3
  74. package/dist/components/{p-BOk69MBi.js.map → p-B7e9Vn80.js.map} +1 -1
  75. package/dist/components/{p-BZELvMID.js → p-BAKX4y5m.js} +5 -5
  76. package/dist/components/{p-BZELvMID.js.map → p-BAKX4y5m.js.map} +1 -1
  77. package/dist/components/{p-Df5drD7C.js → p-BE4kximA.js} +3 -3
  78. package/dist/components/{p-Df5drD7C.js.map → p-BE4kximA.js.map} +1 -1
  79. package/dist/components/{p-Cu6Uuaq7.js → p-BM_aWCWB.js} +4 -4
  80. package/dist/components/{p-Cu6Uuaq7.js.map → p-BM_aWCWB.js.map} +1 -1
  81. package/dist/components/{p-B7eVYv2t.js → p-BsB67vNb.js} +3 -3
  82. package/dist/components/{p-B7eVYv2t.js.map → p-BsB67vNb.js.map} +1 -1
  83. package/dist/components/{p-C69LfZib.js → p-BsgViq32.js} +5 -5
  84. package/dist/components/{p-C69LfZib.js.map → p-BsgViq32.js.map} +1 -1
  85. package/dist/components/{p-SkkbcLa0.js → p-BuUjUqUh.js} +3 -3
  86. package/dist/components/{p-SkkbcLa0.js.map → p-BuUjUqUh.js.map} +1 -1
  87. package/dist/components/{p-B2edfvL2.js → p-C24VI6pZ.js} +3 -3
  88. package/dist/components/{p-B2edfvL2.js.map → p-C24VI6pZ.js.map} +1 -1
  89. package/dist/components/{p-DkGh2r0W.js → p-CA0LmFbe.js} +3 -3
  90. package/dist/components/{p-DkGh2r0W.js.map → p-CA0LmFbe.js.map} +1 -1
  91. package/dist/components/{p-DIeMf4U9.js → p-CECXxls6.js} +8 -8
  92. package/dist/components/{p-DIeMf4U9.js.map → p-CECXxls6.js.map} +1 -1
  93. package/dist/components/{p-BNeBcvHu.js → p-CGw-G2Wz.js} +6 -6
  94. package/dist/components/{p-BNeBcvHu.js.map → p-CGw-G2Wz.js.map} +1 -1
  95. package/dist/components/{p-DQUicoqi.js → p-CHuAmqhM.js} +3 -3
  96. package/dist/components/{p-DQUicoqi.js.map → p-CHuAmqhM.js.map} +1 -1
  97. package/dist/components/{p-BpXkE6y8.js → p-CKiB8Aa8.js} +3 -3
  98. package/dist/components/{p-BpXkE6y8.js.map → p-CKiB8Aa8.js.map} +1 -1
  99. package/dist/components/{p-B8MWhPHT.js → p-CNifJXgc.js} +6 -6
  100. package/dist/components/{p-B8MWhPHT.js.map → p-CNifJXgc.js.map} +1 -1
  101. package/dist/components/{p-DAp7fLS-.js → p-CcPNBnbg.js} +5 -5
  102. package/dist/components/{p-DAp7fLS-.js.map → p-CcPNBnbg.js.map} +1 -1
  103. package/dist/components/{p-DOaC_o63.js → p-CnQh9uSW.js} +7 -7
  104. package/dist/components/{p-DOaC_o63.js.map → p-CnQh9uSW.js.map} +1 -1
  105. package/dist/components/{p-CbeeTFys.js → p-CoJrxiH7.js} +3 -3
  106. package/dist/components/{p-CbeeTFys.js.map → p-CoJrxiH7.js.map} +1 -1
  107. package/dist/components/{p-Bs2Z3XIQ.js → p-CrB92GYh.js} +5 -5
  108. package/dist/components/{p-Bs2Z3XIQ.js.map → p-CrB92GYh.js.map} +1 -1
  109. package/dist/components/{p-DK92X9HV.js → p-CycIV1i_.js} +3 -3
  110. package/dist/components/{p-DK92X9HV.js.map → p-CycIV1i_.js.map} +1 -1
  111. package/dist/components/{p-DufL1yr4.js → p-CzM_4nyA.js} +4 -4
  112. package/dist/components/{p-DufL1yr4.js.map → p-CzM_4nyA.js.map} +1 -1
  113. package/dist/components/{p-CK89kJIU.js → p-DBL4ByGk.js} +3 -3
  114. package/dist/components/{p-CK89kJIU.js.map → p-DBL4ByGk.js.map} +1 -1
  115. package/dist/components/{p-DURWm67o.js → p-DErr7PhS.js} +3 -3
  116. package/dist/components/{p-DURWm67o.js.map → p-DErr7PhS.js.map} +1 -1
  117. package/dist/components/{p-dlKpBGSA.js → p-DK1vwbmm.js} +3 -3
  118. package/dist/components/{p-dlKpBGSA.js.map → p-DK1vwbmm.js.map} +1 -1
  119. package/dist/components/{p-ChfLhYiJ.js → p-DLHC5fHk.js} +4 -4
  120. package/dist/components/{p-ChfLhYiJ.js.map → p-DLHC5fHk.js.map} +1 -1
  121. package/dist/components/{p-DsCDXclM.js → p-DLql1qMx.js} +4 -4
  122. package/dist/components/{p-DsCDXclM.js.map → p-DLql1qMx.js.map} +1 -1
  123. package/dist/components/{p-kd43PSY6.js → p-DXXn0saP.js} +4 -4
  124. package/dist/components/{p-kd43PSY6.js.map → p-DXXn0saP.js.map} +1 -1
  125. package/dist/components/{p-CMomxDPL.js → p-D_matRYZ.js} +3 -3
  126. package/dist/components/{p-CMomxDPL.js.map → p-D_matRYZ.js.map} +1 -1
  127. package/dist/components/{p-Ccq-Rk5W.js → p-DcXhS_xz.js} +8 -8
  128. package/dist/components/{p-Ccq-Rk5W.js.map → p-DcXhS_xz.js.map} +1 -1
  129. package/dist/components/{p-BaLh9-zk.js → p-DgAfq9r9.js} +3 -3
  130. package/dist/components/{p-BaLh9-zk.js.map → p-DgAfq9r9.js.map} +1 -1
  131. package/dist/components/{p-DtbXB8r4.js → p-DjsErN85.js} +3 -3
  132. package/dist/components/{p-DtbXB8r4.js.map → p-DjsErN85.js.map} +1 -1
  133. package/dist/components/{p-CePuvH9t.js → p-Djti9xFF.js} +7 -7
  134. package/dist/components/{p-CePuvH9t.js.map → p-Djti9xFF.js.map} +1 -1
  135. package/dist/components/{p-D6w8lxZi.js → p-DoORMw6u.js} +3 -3
  136. package/dist/components/{p-D6w8lxZi.js.map → p-DoORMw6u.js.map} +1 -1
  137. package/dist/components/{p-D-RHfFhc.js → p-DpK6k515.js} +12 -12
  138. package/dist/components/{p-D-RHfFhc.js.map → p-DpK6k515.js.map} +1 -1
  139. package/dist/components/{p-C97e5uAI.js → p-FVbfBpwz.js} +4 -4
  140. package/dist/components/{p-C97e5uAI.js.map → p-FVbfBpwz.js.map} +1 -1
  141. package/dist/components/{p-DcoR-p0a.js → p-G4wC-s5k.js} +3 -3
  142. package/dist/components/{p-DcoR-p0a.js.map → p-G4wC-s5k.js.map} +1 -1
  143. package/dist/components/{p-BFhwq3_y.js → p-QjxdVLPX.js} +4 -4
  144. package/dist/components/{p-BFhwq3_y.js.map → p-QjxdVLPX.js.map} +1 -1
  145. package/dist/components/{p-5LJWVh2v.js → p-UG_h-ztP.js} +3 -3
  146. package/dist/components/{p-5LJWVh2v.js.map → p-UG_h-ztP.js.map} +1 -1
  147. package/dist/components/{p-uG5vRdFz.js → p-l5G-q5dj.js} +4 -4
  148. package/dist/components/{p-uG5vRdFz.js.map → p-l5G-q5dj.js.map} +1 -1
  149. package/dist/components/{p-Dm3E-tB8.js → p-qS3vvZaC.js} +3 -3
  150. package/dist/components/{p-Dm3E-tB8.js.map → p-qS3vvZaC.js.map} +1 -1
  151. package/llms.txt +41649 -0
  152. package/package.json +14 -4
  153. package/react.d.ts +253 -0
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-ChfLhYiJ.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-DLHC5fHk.js';
2
2
 
3
3
  const bhModalCss = ":host{display:block}.modal-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4xl, 32px);z-index:1000}.modal-overlay{position:absolute;inset:0;background:var(--color-bg-overlay, rgba(64, 73, 104, 0.7));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;background:var(--color-bg-primary, #ffffff);border-radius:var(--radius-xl, 12px);box-shadow:0px 20px 24px -4px rgba(16, 24, 40, 0.08),\n 0px 8px 8px -4px rgba(16, 24, 40, 0.03);overflow:hidden;z-index:1}@media (max-width: 480px){.modal-wrapper{padding:var(--spacing-xl, 16px)}.modal{max-width:100%}}@keyframes modalFadeIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes overlayFadeIn{from{opacity:0}to{opacity:1}}.modal{animation:modalFadeIn 0.2s ease-out}.modal-overlay{animation:overlayFadeIn 0.2s ease-out}";
4
4
 
@@ -73,6 +73,6 @@ function defineCustomElement() {
73
73
  defineCustomElement();
74
74
 
75
75
  export { BhModal as B, defineCustomElement as d };
76
- //# sourceMappingURL=p-DURWm67o.js.map
76
+ //# sourceMappingURL=p-DErr7PhS.js.map
77
77
 
78
- //# sourceMappingURL=p-DURWm67o.js.map
78
+ //# sourceMappingURL=p-DErr7PhS.js.map
@@ -1 +1 @@
1
- {"file":"p-DURWm67o.js","mappings":";;AAAA,MAAM,UAAU,GAAG,o+BAAo+B;;ACIv/B,MAAM,YAAY,GAA+B;AAC/C,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,GAAG,EAAE,OAAO;CACb;MAOY,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAClB;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;IACK,OAAO,GAAY,IAAI;AAE/B;;AAEG;IACK,KAAK,GAAe,IAAI;AAEhC;;AAEG;AACM,IAAA,OAAO;IAER,WAAW,GAAG,MAAW;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,KAAC;AAEO,IAAA,kBAAkB,GAAG,CAAC,KAAiB,KAAU;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,WAAW,EAAE;;AAEtB,KAAC;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI;AAE9B,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI,CAAC,OAAO;SACnC;QAED,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAA,EACvD,IAAI,CAAC,OAAO,IAAI,WAAK,KAAK,EAAC,eAAe,EAAG,CAAA,EAE9C,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAA,EAC9D,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EACtB,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,EACR,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAG,CACnB,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-modal/bh-modal.css?tag=bh-modal&encapsulation=shadow","src/components/bh-modal/bh-modal.tsx"],"sourcesContent":["/* ==========================================================================\n BH-MODAL COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n}\n\n/* Modal wrapper - fixed positioning for modal dialog */\n.modal-wrapper {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-4xl, 32px);\n z-index: 1000;\n}\n\n/* Backdrop overlay */\n.modal-overlay {\n position: absolute;\n inset: 0;\n background: var(--color-bg-overlay, rgba(64, 73, 104, 0.7));\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n}\n\n/* Modal container */\n.modal {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n max-width: 400px;\n background: var(--color-bg-primary, #ffffff);\n border-radius: var(--radius-xl, 12px);\n box-shadow:\n 0px 20px 24px -4px rgba(16, 24, 40, 0.08),\n 0px 8px 8px -4px rgba(16, 24, 40, 0.03);\n overflow: hidden;\n z-index: 1;\n}\n\n/* Responsive adjustments */\n@media (max-width: 480px) {\n .modal-wrapper {\n padding: var(--spacing-xl, 16px);\n }\n\n .modal {\n max-width: 100%;\n }\n}\n\n/* Animation for modal entry */\n@keyframes modalFadeIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes overlayFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.modal {\n animation: modalFadeIn 0.2s ease-out;\n}\n\n.modal-overlay {\n animation: overlayFadeIn 0.2s ease-out;\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type ModalWidth = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\nconst MODAL_WIDTHS: Record<ModalWidth, string> = {\n sm: '400px',\n md: '480px',\n lg: '520px',\n xl: '640px',\n xxl: '688px',\n};\n\n@Component({\n tag: 'bh-modal',\n styleUrl: 'bh-modal.css',\n shadow: true,\n})\nexport class BhModal {\n /**\n * Whether the modal is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * Whether to show the backdrop overlay\n */\n @Prop() overlay: boolean = true;\n\n /**\n * Preset width of the modal: sm (400px), md (480px), lg (520px), xl (640px), xxl (688px)\n */\n @Prop() width: ModalWidth = 'sm';\n\n /**\n * Emitted when the modal is closed (overlay click or close button)\n */\n @Event() bhClose!: EventEmitter<void>;\n\n private handleClose = (): void => {\n this.bhClose.emit();\n };\n\n private handleOverlayClick = (event: MouseEvent): void => {\n if (event.target === event.currentTarget) {\n this.handleClose();\n }\n };\n\n render() {\n if (!this.visible) return null;\n\n const modalClasses = {\n 'modal-wrapper': true,\n 'modal-with-overlay': this.overlay,\n };\n\n return (\n <Host>\n <div class={modalClasses} onClick={this.handleOverlayClick}>\n {this.overlay && <div class=\"modal-overlay\" />}\n\n <div class=\"modal\" style={{ maxWidth: MODAL_WIDTHS[this.width] }}>\n <slot name=\"header\" />\n <slot />\n <slot name=\"actions\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-DErr7PhS.js","mappings":";;AAAA,MAAM,UAAU,GAAG,o+BAAo+B;;ACIv/B,MAAM,YAAY,GAA+B;AAC/C,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,GAAG,EAAE,OAAO;CACb;MAOY,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAClB;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;IACK,OAAO,GAAY,IAAI;AAE/B;;AAEG;IACK,KAAK,GAAe,IAAI;AAEhC;;AAEG;AACM,IAAA,OAAO;IAER,WAAW,GAAG,MAAW;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,KAAC;AAEO,IAAA,kBAAkB,GAAG,CAAC,KAAiB,KAAU;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,WAAW,EAAE;;AAEtB,KAAC;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI;AAE9B,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI,CAAC,OAAO;SACnC;QAED,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAA,EACvD,IAAI,CAAC,OAAO,IAAI,WAAK,KAAK,EAAC,eAAe,EAAG,CAAA,EAE9C,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAA,EAC9D,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EACtB,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,EACR,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAG,CACnB,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-modal/bh-modal.css?tag=bh-modal&encapsulation=shadow","src/components/bh-modal/bh-modal.tsx"],"sourcesContent":["/* ==========================================================================\n BH-MODAL COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n}\n\n/* Modal wrapper - fixed positioning for modal dialog */\n.modal-wrapper {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-4xl, 32px);\n z-index: 1000;\n}\n\n/* Backdrop overlay */\n.modal-overlay {\n position: absolute;\n inset: 0;\n background: var(--color-bg-overlay, rgba(64, 73, 104, 0.7));\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n}\n\n/* Modal container */\n.modal {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n max-width: 400px;\n background: var(--color-bg-primary, #ffffff);\n border-radius: var(--radius-xl, 12px);\n box-shadow:\n 0px 20px 24px -4px rgba(16, 24, 40, 0.08),\n 0px 8px 8px -4px rgba(16, 24, 40, 0.03);\n overflow: hidden;\n z-index: 1;\n}\n\n/* Responsive adjustments */\n@media (max-width: 480px) {\n .modal-wrapper {\n padding: var(--spacing-xl, 16px);\n }\n\n .modal {\n max-width: 100%;\n }\n}\n\n/* Animation for modal entry */\n@keyframes modalFadeIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes overlayFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.modal {\n animation: modalFadeIn 0.2s ease-out;\n}\n\n.modal-overlay {\n animation: overlayFadeIn 0.2s ease-out;\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type ModalWidth = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\nconst MODAL_WIDTHS: Record<ModalWidth, string> = {\n sm: '400px',\n md: '480px',\n lg: '520px',\n xl: '640px',\n xxl: '688px',\n};\n\n@Component({\n tag: 'bh-modal',\n styleUrl: 'bh-modal.css',\n shadow: true,\n})\nexport class BhModal {\n /**\n * Whether the modal is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * Whether to show the backdrop overlay\n */\n @Prop() overlay: boolean = true;\n\n /**\n * Preset width of the modal: sm (400px), md (480px), lg (520px), xl (640px), xxl (688px)\n */\n @Prop() width: ModalWidth = 'sm';\n\n /**\n * Emitted when the modal is closed (overlay click or close button)\n */\n @Event() bhClose!: EventEmitter<void>;\n\n private handleClose = (): void => {\n this.bhClose.emit();\n };\n\n private handleOverlayClick = (event: MouseEvent): void => {\n if (event.target === event.currentTarget) {\n this.handleClose();\n }\n };\n\n render() {\n if (!this.visible) return null;\n\n const modalClasses = {\n 'modal-wrapper': true,\n 'modal-with-overlay': this.overlay,\n };\n\n return (\n <Host>\n <div class={modalClasses} onClick={this.handleOverlayClick}>\n {this.overlay && <div class=\"modal-overlay\" />}\n\n <div class=\"modal\" style={{ maxWidth: MODAL_WIDTHS[this.width] }}>\n <slot name=\"header\" />\n <slot />\n <slot name=\"actions\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-ChfLhYiJ.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-DLHC5fHk.js';
2
2
  import { s as syncCheckableFormValue, v as validateRequired } from './p-2KjdCYlS.js';
3
3
 
4
4
  const bhToggleCss = ":host{display:inline-block}.toggle-wrapper{display:flex;align-items:center;gap:0}.toggle-with-text.toggle-size-sm{gap:var(--spacing-md)}.toggle-with-text.toggle-size-md{gap:var(--spacing-lg)}.toggle-switch{position:relative;display:inline-block;border-radius:var(--radius-full);cursor:pointer;transition:background-color 0.2s ease;outline:none;border:1px solid transparent;background:transparent;overflow:visible;padding:0}.toggle-switch:focus{outline:none}.toggle-switch.toggle-disabled{cursor:not-allowed;opacity:0.38}.toggle-switch.toggle-sm{width:36px;height:20px}.toggle-switch.toggle-md{width:40px;height:24px}.toggle-switch.toggle-unpressed{background-color:var(--color-neutral-300);border-color:transparent}.toggle-switch.toggle-unpressed.toggle-hover{background-color:var(--color-neutral-400);border-color:transparent}.toggle-switch.toggle-unpressed.toggle-focus{background-color:var(--color-neutral-200);border-color:transparent}.toggle-switch.toggle-unpressed.toggle-focus .toggle-button::after{content:'';position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:var(--radius-full);background:var(--color-neutral-600);opacity:0.12;pointer-events:none}.toggle-switch.toggle-unpressed.toggle-disabled{background-color:var(--color-neutral-100);border-color:transparent}.toggle-switch.toggle-pressed{background-color:var(--color-brand-600);border-color:var(--color-brand-600)}.toggle-switch.toggle-pressed.toggle-hover{background-color:var(--color-brand-700);border-color:var(--color-brand-700)}.toggle-switch.toggle-pressed.toggle-focus{background-color:var(--color-brand-600);border-color:var(--color-brand-600)}.toggle-switch.toggle-pressed.toggle-focus .toggle-button::after{content:'';position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:var(--radius-full);background:var(--color-brand-100);opacity:0.24;pointer-events:none}.toggle-switch.toggle-pressed.toggle-disabled{background-color:var(--color-neutral-200);border-color:var(--color-neutral-200)}.toggle-switch.toggle-pressed.toggle-disabled .toggle-button{background-color:var(--color-neutral-100)}.toggle-button{position:absolute;top:50%;transform:translateY(-50%);border-radius:var(--radius-full);background-color:var(--color-neutral-600);transition:all 0.2s ease}.toggle-switch.toggle-unpressed .toggle-button{background-color:var(--color-white)}.toggle-switch.toggle-sm.toggle-unpressed .toggle-button{width:16px;height:16px;left:1px}.toggle-switch.toggle-md.toggle-unpressed .toggle-button{width:20px;height:20px;left:1px}.toggle-switch.toggle-unpressed.toggle-hover .toggle-button{background-color:var(--color-white);box-shadow:var(--shadow-sm)}.toggle-switch.toggle-pressed .toggle-button{background-color:var(--color-white)}.toggle-switch.toggle-sm.toggle-pressed .toggle-button{width:16px;height:16px;left:calc(100% - 17px)}.toggle-switch.toggle-md.toggle-pressed .toggle-button{width:20px;height:20px;left:calc(100% - 21px)}.toggle-switch.toggle-pressed.toggle-hover .toggle-button{background-color:var(--color-white)}.toggle-switch.toggle-disabled .toggle-button{background-color:var(--color-neutral-400);box-shadow:none}.toggle-switch.toggle-sm.toggle-unpressed.toggle-disabled .toggle-button{width:16px;height:16px;left:2px;background-color:var(--color-neutral-400)}.toggle-switch.toggle-md.toggle-unpressed.toggle-disabled .toggle-button{width:16px;height:16px;left:4px;background-color:var(--color-neutral-400)}.toggle-switch.toggle-sm.toggle-pressed.toggle-disabled .toggle-button{width:16px;height:16px;left:calc(100% - 17px);background-color:var(--color-neutral-400)}.toggle-switch.toggle-md.toggle-pressed.toggle-disabled .toggle-button{width:20px;height:20px;left:calc(100% - 21px);background-color:var(--color-white)}.toggle-text{display:flex;flex-direction:column;flex:1}.toggle-label{color:var(--color-neutral-700);font-family:var(--font-inter);font-weight:var(--weight-medium);text-align:left;margin:0;line-height:1.5}.toggle-label.toggle-label-sm{font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.toggle-label.toggle-label-md{font-size:var(--text-md-size);line-height:var(--text-md-line)}.toggle-supporting-text{color:var(--color-neutral-600);font-family:var(--font-inter);font-weight:var(--weight-regular);font-size:var(--text-sm-size);line-height:var(--text-sm-line);text-align:left;margin:0;margin-top:var(--spacing-xxs)}@media (prefers-reduced-motion: reduce){.toggle-switch,.toggle-button{transition:none}}@media (prefers-contrast: high){.toggle-switch.toggle-unpressed{border:2px solid currentColor}.toggle-switch.toggle-pressed{border:2px solid currentColor}}.toggle-switch:focus-visible .toggle-button::after{content:'';position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:var(--radius-full);background:currentColor;opacity:0.24;pointer-events:none}";
@@ -161,6 +161,6 @@ function defineCustomElement() {
161
161
  defineCustomElement();
162
162
 
163
163
  export { BhToggle as B, defineCustomElement as d };
164
- //# sourceMappingURL=p-dlKpBGSA.js.map
164
+ //# sourceMappingURL=p-DK1vwbmm.js.map
165
165
 
166
- //# sourceMappingURL=p-dlKpBGSA.js.map
166
+ //# sourceMappingURL=p-DK1vwbmm.js.map
@@ -1 +1 @@
1
- {"file":"p-dlKpBGSA.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-toggle/bh-toggle.css?tag=bh-toggle&encapsulation=shadow","src/components/bh-toggle/bh-toggle.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TOGGLE COMPONENT STYLES - Material You Design\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Toggle Wrapper */\n.toggle-wrapper {\n display: flex;\n align-items: center;\n gap: 0;\n}\n\n.toggle-with-text.toggle-size-sm {\n gap: var(--spacing-md);\n}\n\n.toggle-with-text.toggle-size-md {\n gap: var(--spacing-lg);\n}\n\n/* Toggle Switch Base */\n.toggle-switch {\n position: relative;\n display: inline-block;\n border-radius: var(--radius-full);\n cursor: pointer;\n transition: background-color 0.2s ease;\n outline: none;\n border: 1px solid transparent;\n background: transparent;\n overflow: visible;\n padding: 0;\n}\n\n.toggle-switch:focus {\n outline: none;\n}\n\n.toggle-switch.toggle-disabled {\n cursor: not-allowed;\n opacity: 0.38;\n}\n\n/* Toggle Switch Sizes */\n.toggle-switch.toggle-sm {\n width: 36px;\n height: 20px;\n}\n\n.toggle-switch.toggle-md {\n width: 40px;\n height: 24px;\n}\n\n/* Toggle Switch States - Unpressed (False) */\n.toggle-switch.toggle-unpressed {\n background-color: var(--color-neutral-300);\n border-color: transparent;\n}\n\n.toggle-switch.toggle-unpressed.toggle-hover {\n background-color: var(--color-neutral-400);\n border-color: transparent;\n}\n\n.toggle-switch.toggle-unpressed.toggle-focus {\n background-color: var(--color-neutral-200);\n border-color: transparent;\n}\n\n/* Focus ring for unpressed state */\n.toggle-switch.toggle-unpressed.toggle-focus .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: var(--color-neutral-600);\n opacity: 0.12;\n pointer-events: none;\n}\n\n.toggle-switch.toggle-unpressed.toggle-disabled {\n background-color: var(--color-neutral-100);\n border-color: transparent;\n}\n\n/* Toggle Switch States - Pressed (True) */\n.toggle-switch.toggle-pressed {\n background-color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n.toggle-switch.toggle-pressed.toggle-hover {\n background-color: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n.toggle-switch.toggle-pressed.toggle-focus {\n background-color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n/* Focus ring for pressed state */\n.toggle-switch.toggle-pressed.toggle-focus .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: var(--color-brand-100);\n opacity: 0.24;\n pointer-events: none;\n}\n\n.toggle-switch.toggle-pressed.toggle-disabled {\n background-color: var(--color-neutral-200);\n border-color: var(--color-neutral-200);\n}\n\n.toggle-switch.toggle-pressed.toggle-disabled .toggle-button {\n background-color: var(--color-neutral-100);\n}\n\n/* Toggle Button (Handle) */\n.toggle-button {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n border-radius: var(--radius-full);\n background-color: var(--color-neutral-600);\n transition: all 0.2s ease;\n}\n\n/* Toggle Button States - Unpressed */\n.toggle-switch.toggle-unpressed .toggle-button {\n background-color: var(--color-white);\n}\n\n.toggle-switch.toggle-sm.toggle-unpressed .toggle-button {\n width: 16px;\n height: 16px;\n left: 1px;\n}\n\n.toggle-switch.toggle-md.toggle-unpressed .toggle-button {\n width: 20px;\n height: 20px;\n left: 1px;\n}\n\n.toggle-switch.toggle-unpressed.toggle-hover .toggle-button {\n background-color: var(--color-white);\n box-shadow: var(--shadow-sm);\n}\n\n/* Toggle Button States - Pressed */\n.toggle-switch.toggle-pressed .toggle-button {\n background-color: var(--color-white);\n}\n\n.toggle-switch.toggle-sm.toggle-pressed .toggle-button {\n width: 16px;\n height: 16px;\n left: calc(100% - 17px);\n}\n\n.toggle-switch.toggle-md.toggle-pressed .toggle-button {\n width: 20px;\n height: 20px; \n left: calc(100% - 21px);\n}\n\n.toggle-switch.toggle-pressed.toggle-hover .toggle-button {\n background-color: var(--color-white);\n}\n\n/* Toggle Button Disabled State */\n.toggle-switch.toggle-disabled .toggle-button {\n background-color: var(--color-neutral-400);\n box-shadow: none;\n}\n\n.toggle-switch.toggle-sm.toggle-unpressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: 2px;\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-md.toggle-unpressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: 4px;\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-sm.toggle-pressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: calc(100% - 17px);\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-md.toggle-pressed.toggle-disabled .toggle-button {\n width: 20px;\n height: 20px;\n left: calc(100% - 21px);\n background-color: var(--color-white);\n}\n\n/* Toggle Text Container */\n.toggle-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n}\n\n/* Toggle Label */\n.toggle-label {\n color: var(--color-neutral-700);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n text-align: left;\n margin: 0;\n line-height: 1.5;\n}\n\n.toggle-label.toggle-label-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.toggle-label.toggle-label-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Toggle Supporting Text */\n.toggle-supporting-text {\n color: var(--color-neutral-600);\n font-family: var(--font-inter);\n font-weight: var(--weight-regular);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n text-align: left;\n margin: 0;\n margin-top: var(--spacing-xxs);\n}\n\n/* ==========================================================================\n ACCESSIBILITY\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .toggle-switch,\n .toggle-button {\n transition: none;\n }\n}\n\n@media (prefers-contrast: high) {\n .toggle-switch.toggle-unpressed {\n border: 2px solid currentColor;\n }\n\n .toggle-switch.toggle-pressed {\n border: 2px solid currentColor;\n }\n}\n\n.toggle-switch:focus-visible .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: currentColor;\n opacity: 0.24;\n pointer-events: none;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncCheckableFormValue, validateRequired } from '../../utils/form';\n\nexport type ToggleSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-toggle',\n styleUrl: 'bh-toggle.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhToggle {\n @AttachInternals() internals!: ElementInternals;\n /**\n * The size of the toggle\n */\n @Prop() size: ToggleSize = 'md';\n\n /**\n * Whether to show the label and supporting text\n */\n @Prop() showText: boolean = false;\n\n /**\n * The label text\n */\n @Prop() label: string = '';\n\n /**\n * Supporting text below the label\n */\n @Prop() supportingText: string = '';\n\n /**\n * Whether the toggle is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the toggle is checked (controlled mode)\n */\n @Prop({ mutable: true }) checked: boolean = false;\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Value when checked (default: 'on')\n */\n @Prop() value: string = 'on';\n\n /**\n * Whether the toggle is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Default checked state for form reset\n */\n @Prop() defaultChecked: boolean = false;\n\n /**\n * Internal focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Internal hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the toggle state changes\n */\n @Event() bhChange!: EventEmitter<boolean>;\n\n componentDidLoad() {\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 syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n private handleToggle = (): void => {\n if (this.disabled) return;\n\n this.checked = !this.checked;\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 handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleToggle();\n }\n };\n\n private handleMouseEnter = (): void => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private handleFocus = (): void => {\n this.isFocused = true;\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n };\n\n render() {\n const wrapperClasses = {\n 'toggle-wrapper': true,\n 'toggle-with-text': this.showText,\n [`toggle-size-${this.size}`]: true,\n };\n\n const switchClasses = {\n 'toggle-switch': true,\n 'toggle-pressed': this.checked,\n 'toggle-unpressed': !this.checked,\n [`toggle-${this.size}`]: true,\n 'toggle-disabled': this.disabled,\n 'toggle-focus': this.isFocused && !this.disabled,\n 'toggle-hover': this.isHovered && !this.disabled,\n };\n\n const buttonClasses = {\n 'toggle-button': true,\n 'toggle-button-pressed': this.checked,\n 'toggle-button-unpressed': !this.checked,\n [`toggle-button-${this.size}`]: true,\n 'toggle-button-disabled': this.disabled,\n };\n\n const labelClasses = {\n 'toggle-label': true,\n [`toggle-label-${this.size}`]: true,\n };\n\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n <div\n class={switchClasses}\n onClick={this.handleToggle}\n onKeyDown={this.handleKeyDown}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label || undefined}\n part=\"switch\"\n >\n <div class={buttonClasses} part=\"button\"></div>\n </div>\n\n {this.showText && (this.label || this.supportingText) && (\n <div class=\"toggle-text\">\n {this.label && (\n <span class={labelClasses}>{this.label}</span>\n )}\n {this.supportingText && (\n <div class=\"toggle-supporting-text\">{this.supportingText}</div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-DK1vwbmm.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-toggle/bh-toggle.css?tag=bh-toggle&encapsulation=shadow","src/components/bh-toggle/bh-toggle.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TOGGLE COMPONENT STYLES - Material You Design\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Toggle Wrapper */\n.toggle-wrapper {\n display: flex;\n align-items: center;\n gap: 0;\n}\n\n.toggle-with-text.toggle-size-sm {\n gap: var(--spacing-md);\n}\n\n.toggle-with-text.toggle-size-md {\n gap: var(--spacing-lg);\n}\n\n/* Toggle Switch Base */\n.toggle-switch {\n position: relative;\n display: inline-block;\n border-radius: var(--radius-full);\n cursor: pointer;\n transition: background-color 0.2s ease;\n outline: none;\n border: 1px solid transparent;\n background: transparent;\n overflow: visible;\n padding: 0;\n}\n\n.toggle-switch:focus {\n outline: none;\n}\n\n.toggle-switch.toggle-disabled {\n cursor: not-allowed;\n opacity: 0.38;\n}\n\n/* Toggle Switch Sizes */\n.toggle-switch.toggle-sm {\n width: 36px;\n height: 20px;\n}\n\n.toggle-switch.toggle-md {\n width: 40px;\n height: 24px;\n}\n\n/* Toggle Switch States - Unpressed (False) */\n.toggle-switch.toggle-unpressed {\n background-color: var(--color-neutral-300);\n border-color: transparent;\n}\n\n.toggle-switch.toggle-unpressed.toggle-hover {\n background-color: var(--color-neutral-400);\n border-color: transparent;\n}\n\n.toggle-switch.toggle-unpressed.toggle-focus {\n background-color: var(--color-neutral-200);\n border-color: transparent;\n}\n\n/* Focus ring for unpressed state */\n.toggle-switch.toggle-unpressed.toggle-focus .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: var(--color-neutral-600);\n opacity: 0.12;\n pointer-events: none;\n}\n\n.toggle-switch.toggle-unpressed.toggle-disabled {\n background-color: var(--color-neutral-100);\n border-color: transparent;\n}\n\n/* Toggle Switch States - Pressed (True) */\n.toggle-switch.toggle-pressed {\n background-color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n.toggle-switch.toggle-pressed.toggle-hover {\n background-color: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n.toggle-switch.toggle-pressed.toggle-focus {\n background-color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n/* Focus ring for pressed state */\n.toggle-switch.toggle-pressed.toggle-focus .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: var(--color-brand-100);\n opacity: 0.24;\n pointer-events: none;\n}\n\n.toggle-switch.toggle-pressed.toggle-disabled {\n background-color: var(--color-neutral-200);\n border-color: var(--color-neutral-200);\n}\n\n.toggle-switch.toggle-pressed.toggle-disabled .toggle-button {\n background-color: var(--color-neutral-100);\n}\n\n/* Toggle Button (Handle) */\n.toggle-button {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n border-radius: var(--radius-full);\n background-color: var(--color-neutral-600);\n transition: all 0.2s ease;\n}\n\n/* Toggle Button States - Unpressed */\n.toggle-switch.toggle-unpressed .toggle-button {\n background-color: var(--color-white);\n}\n\n.toggle-switch.toggle-sm.toggle-unpressed .toggle-button {\n width: 16px;\n height: 16px;\n left: 1px;\n}\n\n.toggle-switch.toggle-md.toggle-unpressed .toggle-button {\n width: 20px;\n height: 20px;\n left: 1px;\n}\n\n.toggle-switch.toggle-unpressed.toggle-hover .toggle-button {\n background-color: var(--color-white);\n box-shadow: var(--shadow-sm);\n}\n\n/* Toggle Button States - Pressed */\n.toggle-switch.toggle-pressed .toggle-button {\n background-color: var(--color-white);\n}\n\n.toggle-switch.toggle-sm.toggle-pressed .toggle-button {\n width: 16px;\n height: 16px;\n left: calc(100% - 17px);\n}\n\n.toggle-switch.toggle-md.toggle-pressed .toggle-button {\n width: 20px;\n height: 20px; \n left: calc(100% - 21px);\n}\n\n.toggle-switch.toggle-pressed.toggle-hover .toggle-button {\n background-color: var(--color-white);\n}\n\n/* Toggle Button Disabled State */\n.toggle-switch.toggle-disabled .toggle-button {\n background-color: var(--color-neutral-400);\n box-shadow: none;\n}\n\n.toggle-switch.toggle-sm.toggle-unpressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: 2px;\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-md.toggle-unpressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: 4px;\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-sm.toggle-pressed.toggle-disabled .toggle-button {\n width: 16px;\n height: 16px;\n left: calc(100% - 17px);\n background-color: var(--color-neutral-400);\n}\n\n.toggle-switch.toggle-md.toggle-pressed.toggle-disabled .toggle-button {\n width: 20px;\n height: 20px;\n left: calc(100% - 21px);\n background-color: var(--color-white);\n}\n\n/* Toggle Text Container */\n.toggle-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n}\n\n/* Toggle Label */\n.toggle-label {\n color: var(--color-neutral-700);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n text-align: left;\n margin: 0;\n line-height: 1.5;\n}\n\n.toggle-label.toggle-label-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.toggle-label.toggle-label-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Toggle Supporting Text */\n.toggle-supporting-text {\n color: var(--color-neutral-600);\n font-family: var(--font-inter);\n font-weight: var(--weight-regular);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n text-align: left;\n margin: 0;\n margin-top: var(--spacing-xxs);\n}\n\n/* ==========================================================================\n ACCESSIBILITY\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .toggle-switch,\n .toggle-button {\n transition: none;\n }\n}\n\n@media (prefers-contrast: high) {\n .toggle-switch.toggle-unpressed {\n border: 2px solid currentColor;\n }\n\n .toggle-switch.toggle-pressed {\n border: 2px solid currentColor;\n }\n}\n\n.toggle-switch:focus-visible .toggle-button::after {\n content: '';\n position: absolute;\n top: -6px;\n left: -6px;\n right: -6px;\n bottom: -6px;\n border-radius: var(--radius-full);\n background: currentColor;\n opacity: 0.24;\n pointer-events: none;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncCheckableFormValue, validateRequired } from '../../utils/form';\n\nexport type ToggleSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-toggle',\n styleUrl: 'bh-toggle.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhToggle {\n @AttachInternals() internals!: ElementInternals;\n /**\n * The size of the toggle\n */\n @Prop() size: ToggleSize = 'md';\n\n /**\n * Whether to show the label and supporting text\n */\n @Prop() showText: boolean = false;\n\n /**\n * The label text\n */\n @Prop() label: string = '';\n\n /**\n * Supporting text below the label\n */\n @Prop() supportingText: string = '';\n\n /**\n * Whether the toggle is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the toggle is checked (controlled mode)\n */\n @Prop({ mutable: true }) checked: boolean = false;\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Value when checked (default: 'on')\n */\n @Prop() value: string = 'on';\n\n /**\n * Whether the toggle is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Default checked state for form reset\n */\n @Prop() defaultChecked: boolean = false;\n\n /**\n * Internal focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Internal hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the toggle state changes\n */\n @Event() bhChange!: EventEmitter<boolean>;\n\n componentDidLoad() {\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 syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n private handleToggle = (): void => {\n if (this.disabled) return;\n\n this.checked = !this.checked;\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 handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleToggle();\n }\n };\n\n private handleMouseEnter = (): void => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private handleFocus = (): void => {\n this.isFocused = true;\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n };\n\n render() {\n const wrapperClasses = {\n 'toggle-wrapper': true,\n 'toggle-with-text': this.showText,\n [`toggle-size-${this.size}`]: true,\n };\n\n const switchClasses = {\n 'toggle-switch': true,\n 'toggle-pressed': this.checked,\n 'toggle-unpressed': !this.checked,\n [`toggle-${this.size}`]: true,\n 'toggle-disabled': this.disabled,\n 'toggle-focus': this.isFocused && !this.disabled,\n 'toggle-hover': this.isHovered && !this.disabled,\n };\n\n const buttonClasses = {\n 'toggle-button': true,\n 'toggle-button-pressed': this.checked,\n 'toggle-button-unpressed': !this.checked,\n [`toggle-button-${this.size}`]: true,\n 'toggle-button-disabled': this.disabled,\n };\n\n const labelClasses = {\n 'toggle-label': true,\n [`toggle-label-${this.size}`]: true,\n };\n\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n <div\n class={switchClasses}\n onClick={this.handleToggle}\n onKeyDown={this.handleKeyDown}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-label={this.label || undefined}\n part=\"switch\"\n >\n <div class={buttonClasses} part=\"button\"></div>\n </div>\n\n {this.showText && (this.label || this.supportingText) && (\n <div class=\"toggle-text\">\n {this.label && (\n <span class={labelClasses}>{this.label}</span>\n )}\n {this.supportingText && (\n <div class=\"toggle-supporting-text\">{this.supportingText}</div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
+ const globalStyles = "@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'); :root{--color-white:hsl(0, 0%, 100%);--color-black:hsl(0, 0%, 0%);--color-transparent:hsla(0, 0%, 100%, 0);--color-neutral-25:hsl(240, 20%, 99%);--color-neutral-50:hsl(240, 20%, 98%);--color-neutral-100:hsl(240, 17%, 95%);--color-neutral-200:hsl(227, 25%, 89%);--color-neutral-300:hsl(224, 24%, 78%);--color-neutral-400:hsl(226, 24%, 59%);--color-neutral-500:hsl(226, 24%, 48%);--color-neutral-600:hsl(226, 24%, 38%);--color-neutral-700:hsl(226, 24%, 25%);--color-neutral-800:hsl(233, 33%, 10%);--color-neutral-900:hsl(231, 32%, 8%);--color-neutral-950:hsl(231, 32%, 8%);--color-brand-25:hsl(220, 82%, 98%);--color-brand-50:hsl(222, 87%, 97%);--color-brand-100:hsl(221, 94%, 94%);--color-brand-200:hsl(221, 92%, 86%);--color-brand-300:hsl(224, 95%, 77%);--color-brand-400:hsl(224, 94%, 72%);--color-brand-500:hsl(230, 67%, 58%);--color-brand-600:hsl(230, 69%, 48%);--color-brand-700:hsl(230, 75%, 34%);--color-brand-800:hsl(243, 86%, 44%);--color-brand-900:hsl(237, 69%, 24%);--color-brand-950:hsl(237, 61%, 20%);--color-error-25:hsl(12, 100%, 99%);--color-error-50:hsl(5, 86%, 97%);--color-error-100:hsl(4, 93%, 94%);--color-error-200:hsl(3, 96%, 89%);--color-error-300:hsl(4, 96%, 80%);--color-error-400:hsl(4, 92%, 69%);--color-error-500:hsl(4, 86%, 58%);--color-error-600:hsl(4, 74%, 49%);--color-error-700:hsl(4, 76%, 40%);--color-error-800:hsl(4, 72%, 33%);--color-error-900:hsl(8, 65%, 29%);--color-error-950:hsl(8, 75%, 19%);--color-warning-25:hsl(42, 100%, 98%);--color-warning-50:hsl(45, 100%, 96%);--color-warning-100:hsl(45, 96%, 89%);--color-warning-200:hsl(44, 98%, 77%);--color-warning-300:hsl(42, 99%, 65%);--color-warning-400:hsl(39, 98%, 56%);--color-warning-500:hsl(34, 94%, 50%);--color-warning-600:hsl(28, 97%, 44%);--color-warning-700:hsl(22, 92%, 37%);--color-warning-800:hsl(19, 84%, 31%);--color-warning-900:hsl(18, 79%, 27%);--color-warning-950:hsl(17, 79%, 17%);--color-success-25:hsl(142, 80%, 98%);--color-success-50:hsl(145, 81%, 96%);--color-success-100:hsl(140, 80%, 90%);--color-success-200:hsl(144, 78%, 80%);--color-success-300:hsl(148, 63%, 67%);--color-success-400:hsl(150, 57%, 54%);--color-success-500:hsl(152, 77%, 39%);--color-success-600:hsl(153, 91%, 30%);--color-success-700:hsl(155, 90%, 24%);--color-success-800:hsl(155, 84%, 20%);--color-success-900:hsl(156, 83%, 16%);--color-success-950:hsl(157, 82%, 11%);--font-inter:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI',\n Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-xl-size:1.25rem;--text-lg-size:1.125rem;--text-md-size:1rem;--text-sm-size:0.875rem;--text-xs-size:0.75rem;--text-xl-line:1.875rem;--text-lg-line:1.75rem;--text-md-line:1.5rem;--text-sm-line:1.25rem;--text-xs-line:1.125rem;--spacing-none:0rem;--spacing-xxs:0.125rem;--spacing-xs:0.25rem;--spacing-sm:0.375rem;--spacing-md:0.5rem;--spacing-lg:0.75rem;--spacing-xl:1rem;--spacing-2xl:1.25rem;--spacing-3xl:1.5rem;--spacing-4xl:2rem;--spacing-5xl:2.5rem;--spacing-6xl:3rem;--radius-none:0rem;--radius-xxs:0.125rem;--radius-xs:0.25rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.25rem;--radius-4xl:1.5rem;--radius-full:9999px;--shadow-xs:0px 1px 2px rgba(16, 24, 40, 0.05);--shadow-sm:0px 1px 3px rgba(16, 24, 40, 0.1),\n 0px 1px 2px rgba(16, 24, 40, 0.06);--shadow-md:0px 4px 8px -2px rgba(16, 24, 40, 0.1),\n 0px 2px 4px -2px rgba(16, 24, 40, 0.06);--shadow-lg:0px 12px 16px -4px rgba(16, 24, 40, 0.08),\n 0px 4px 6px -2px rgba(16, 24, 40, 0.03);--shadow-xl:0px 20px 24px -4px rgba(16, 24, 40, 0.08),\n 0px 8px 8px -4px rgba(16, 24, 40, 0.03);--icon-compensation-xs-btn:calc(var(--spacing-lg) - var(--spacing-xs));--icon-compensation-sm-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-md-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-lg-btn:calc(var(--spacing-xl) - var(--spacing-xs))}*,*::before,*::after{box-sizing:border-box}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}";
2
+
1
3
  const NAMESPACE = 'bellhop-core';
2
4
  const BUILD = /* bellhop-core */ { hydratedSelectorName: "hydrated", lazyLoad: false, state: true, updatable: true};
3
5
 
4
- const globalStyles = "@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'); :root{--color-white:hsl(0, 0%, 100%);--color-black:hsl(0, 0%, 0%);--color-transparent:hsla(0, 0%, 100%, 0);--color-neutral-25:hsl(240, 20%, 99%);--color-neutral-50:hsl(240, 20%, 98%);--color-neutral-100:hsl(240, 17%, 95%);--color-neutral-200:hsl(227, 25%, 89%);--color-neutral-300:hsl(224, 24%, 78%);--color-neutral-400:hsl(226, 24%, 59%);--color-neutral-500:hsl(226, 24%, 48%);--color-neutral-600:hsl(226, 24%, 38%);--color-neutral-700:hsl(226, 24%, 25%);--color-neutral-800:hsl(233, 33%, 10%);--color-neutral-900:hsl(231, 32%, 8%);--color-neutral-950:hsl(231, 32%, 8%);--color-brand-25:hsl(220, 82%, 98%);--color-brand-50:hsl(222, 87%, 97%);--color-brand-100:hsl(221, 94%, 94%);--color-brand-200:hsl(221, 92%, 86%);--color-brand-300:hsl(224, 95%, 77%);--color-brand-400:hsl(224, 94%, 72%);--color-brand-500:hsl(230, 67%, 58%);--color-brand-600:hsl(230, 69%, 48%);--color-brand-700:hsl(230, 75%, 34%);--color-brand-800:hsl(243, 86%, 44%);--color-brand-900:hsl(237, 69%, 24%);--color-brand-950:hsl(237, 61%, 20%);--color-error-25:hsl(12, 100%, 99%);--color-error-50:hsl(5, 86%, 97%);--color-error-100:hsl(4, 93%, 94%);--color-error-200:hsl(3, 96%, 89%);--color-error-300:hsl(4, 96%, 80%);--color-error-400:hsl(4, 92%, 69%);--color-error-500:hsl(4, 86%, 58%);--color-error-600:hsl(4, 74%, 49%);--color-error-700:hsl(4, 76%, 40%);--color-error-800:hsl(4, 72%, 33%);--color-error-900:hsl(8, 65%, 29%);--color-error-950:hsl(8, 75%, 19%);--color-warning-25:hsl(42, 100%, 98%);--color-warning-50:hsl(45, 100%, 96%);--color-warning-100:hsl(45, 96%, 89%);--color-warning-200:hsl(44, 98%, 77%);--color-warning-300:hsl(42, 99%, 65%);--color-warning-400:hsl(39, 98%, 56%);--color-warning-500:hsl(34, 94%, 50%);--color-warning-600:hsl(28, 97%, 44%);--color-warning-700:hsl(22, 92%, 37%);--color-warning-800:hsl(19, 84%, 31%);--color-warning-900:hsl(18, 79%, 27%);--color-warning-950:hsl(17, 79%, 17%);--color-success-25:hsl(142, 80%, 98%);--color-success-50:hsl(145, 81%, 96%);--color-success-100:hsl(140, 80%, 90%);--color-success-200:hsl(144, 78%, 80%);--color-success-300:hsl(148, 63%, 67%);--color-success-400:hsl(150, 57%, 54%);--color-success-500:hsl(152, 77%, 39%);--color-success-600:hsl(153, 91%, 30%);--color-success-700:hsl(155, 90%, 24%);--color-success-800:hsl(155, 84%, 20%);--color-success-900:hsl(156, 83%, 16%);--color-success-950:hsl(157, 82%, 11%);--font-inter:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI',\n Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-xl-size:1.25rem;--text-lg-size:1.125rem;--text-md-size:1rem;--text-sm-size:0.875rem;--text-xs-size:0.75rem;--text-xl-line:1.875rem;--text-lg-line:1.75rem;--text-md-line:1.5rem;--text-sm-line:1.25rem;--text-xs-line:1.125rem;--spacing-none:0rem;--spacing-xxs:0.125rem;--spacing-xs:0.25rem;--spacing-sm:0.375rem;--spacing-md:0.5rem;--spacing-lg:0.75rem;--spacing-xl:1rem;--spacing-2xl:1.25rem;--spacing-3xl:1.5rem;--spacing-4xl:2rem;--spacing-5xl:2.5rem;--spacing-6xl:3rem;--radius-none:0rem;--radius-xxs:0.125rem;--radius-xs:0.25rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.25rem;--radius-4xl:1.5rem;--radius-full:9999px;--shadow-xs:0px 1px 2px rgba(16, 24, 40, 0.05);--shadow-sm:0px 1px 3px rgba(16, 24, 40, 0.1),\n 0px 1px 2px rgba(16, 24, 40, 0.06);--shadow-md:0px 4px 8px -2px rgba(16, 24, 40, 0.1),\n 0px 2px 4px -2px rgba(16, 24, 40, 0.06);--shadow-lg:0px 12px 16px -4px rgba(16, 24, 40, 0.08),\n 0px 4px 6px -2px rgba(16, 24, 40, 0.03);--shadow-xl:0px 20px 24px -4px rgba(16, 24, 40, 0.08),\n 0px 8px 8px -4px rgba(16, 24, 40, 0.03);--icon-compensation-xs-btn:calc(var(--spacing-lg) - var(--spacing-xs));--icon-compensation-sm-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-md-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-lg-btn:calc(var(--spacing-xl) - var(--spacing-xs))}*,*::before,*::after{box-sizing:border-box}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}";
5
-
6
6
  /*
7
7
  Stencil Client Platform v4.38.3 | MIT Licensed | https://stenciljs.com
8
8
  */
@@ -1469,6 +1469,6 @@ function render(vnode, container) {
1469
1469
  }
1470
1470
 
1471
1471
  export { Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, Host as d, forceUpdate as f, getAssetPath as g, h, proxyCustomElement as p, render as r, setAssetPath as s };
1472
- //# sourceMappingURL=p-ChfLhYiJ.js.map
1472
+ //# sourceMappingURL=p-DLHC5fHk.js.map
1473
1473
 
1474
- //# sourceMappingURL=p-ChfLhYiJ.js.map
1474
+ //# sourceMappingURL=p-DLHC5fHk.js.map