bromcom-ui-next 0.1.11 → 0.1.13

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 (187) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/p-098c2b77.entry.js +2 -0
  3. package/dist/bromcom-ui/{p-d33db2da.entry.js.map → p-098c2b77.entry.js.map} +1 -1
  4. package/dist/bromcom-ui/{p-3583888a.entry.js → p-1ad74a16.entry.js} +2 -2
  5. package/dist/bromcom-ui/{p-2820ad28.entry.js → p-1b4ccb21.entry.js} +2 -2
  6. package/dist/bromcom-ui/{p-4762d66b.entry.js → p-1c2d7a9f.entry.js} +2 -2
  7. package/dist/bromcom-ui/{p-898d5cf6.entry.js → p-25ad3dab.entry.js} +2 -2
  8. package/dist/bromcom-ui/p-2f1a832e.entry.js +2 -0
  9. package/dist/bromcom-ui/p-2f1a832e.entry.js.map +1 -0
  10. package/dist/bromcom-ui/{p-09b53a8f.entry.js → p-3254a2a8.entry.js} +2 -2
  11. package/dist/bromcom-ui/p-352a0465.entry.js +2 -0
  12. package/dist/bromcom-ui/{p-bd0354ff.entry.js.map → p-352a0465.entry.js.map} +1 -1
  13. package/dist/bromcom-ui/{p-1392a235.entry.js → p-36656795.entry.js} +2 -2
  14. package/dist/bromcom-ui/{p-119e1c27.entry.js → p-3ef04b27.entry.js} +2 -2
  15. package/dist/bromcom-ui/{p-3ed3885e.entry.js → p-52a20dbc.entry.js} +2 -2
  16. package/dist/bromcom-ui/{p-ea274e8b.entry.js → p-52ae94e5.entry.js} +2 -2
  17. package/dist/bromcom-ui/{p-ea6cdc17.entry.js → p-5cb49a5f.entry.js} +2 -2
  18. package/dist/bromcom-ui/{p-5541403c.entry.js → p-5f8c6436.entry.js} +2 -2
  19. package/dist/bromcom-ui/{p-9bd6c84d.entry.js → p-604cb620.entry.js} +2 -2
  20. package/dist/bromcom-ui/{p-c45d9e50.entry.js → p-7e9223c8.entry.js} +2 -2
  21. package/dist/bromcom-ui/{p-4bba4ab4.entry.js → p-82ba9870.entry.js} +2 -2
  22. package/dist/bromcom-ui/{p-3d424afc.entry.js → p-86feadca.entry.js} +2 -2
  23. package/dist/bromcom-ui/{p-8bcc3d1a.entry.js → p-88d78cdd.entry.js} +2 -2
  24. package/dist/bromcom-ui/p-9d0aeb92.js +3 -0
  25. package/dist/bromcom-ui/p-9d0aeb92.js.map +1 -0
  26. package/dist/bromcom-ui/{p-edfa3b52.entry.js → p-a4148502.entry.js} +2 -2
  27. package/dist/bromcom-ui/{p-1867c3e6.entry.js → p-a4c27c77.entry.js} +2 -2
  28. package/dist/bromcom-ui/p-a4ee16c5.entry.js +2 -0
  29. package/dist/bromcom-ui/{p-d7b636bf.entry.js.map → p-a4ee16c5.entry.js.map} +1 -1
  30. package/dist/bromcom-ui/p-c9b1e4ec.entry.js +2 -0
  31. package/dist/bromcom-ui/{p-ab3d15d5.entry.js.map → p-c9b1e4ec.entry.js.map} +1 -1
  32. package/dist/bromcom-ui/{p-2cb15e60.entry.js → p-d9dfad58.entry.js} +2 -2
  33. package/dist/bromcom-ui/{p-50713153.entry.js → p-fd7f1fa0.entry.js} +2 -2
  34. package/dist/cjs/bcm-accordion-group.cjs.entry.js +1 -1
  35. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  36. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  37. package/dist/cjs/bcm-avatar.cjs.entry.js +1 -1
  38. package/dist/cjs/bcm-badge.cjs.entry.js +1 -1
  39. package/dist/cjs/bcm-basic-badge.cjs.entry.js +1 -1
  40. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  41. package/dist/cjs/bcm-button_5.cjs.entry.js +35 -29
  42. package/dist/cjs/bcm-button_5.cjs.entry.js.map +1 -1
  43. package/dist/cjs/bcm-checkbox.cjs.entry.js +1 -1
  44. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  45. package/dist/cjs/bcm-divider.cjs.entry.js +1 -1
  46. package/dist/cjs/bcm-input.cjs.entry.js +1 -1
  47. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +2 -2
  48. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +1 -1
  49. package/dist/cjs/bcm-popover.cjs.entry.js +1 -1
  50. package/dist/cjs/bcm-radio-group.cjs.entry.js +1 -1
  51. package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
  52. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +1 -1
  53. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +1 -1
  54. package/dist/cjs/bcm-switch.cjs.entry.js +2 -2
  55. package/dist/cjs/bcm-switch.cjs.entry.js.map +1 -1
  56. package/dist/cjs/bcm-tabs-content.cjs.entry.js +1 -1
  57. package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -2
  58. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +1 -1
  59. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -2
  60. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -1
  61. package/dist/cjs/bcm-tabs.cjs.entry.js +1 -1
  62. package/dist/cjs/bcm-textarea.cjs.entry.js +1 -1
  63. package/dist/cjs/bcm-tooltip.cjs.entry.js +1 -1
  64. package/dist/cjs/bromcom-ui.cjs.js +2 -2
  65. package/dist/cjs/{index-9a2c5938.js → index-6710808e.js} +293 -5
  66. package/dist/cjs/index-6710808e.js.map +1 -0
  67. package/dist/cjs/loader.cjs.js +2 -2
  68. package/dist/collection/components/button/button.css +1 -1
  69. package/dist/collection/components/dropdown/dropdown.css +1 -1
  70. package/dist/collection/components/linked/linked.component.js +32 -35
  71. package/dist/collection/components/linked/linked.component.js.map +1 -1
  72. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  73. package/dist/collection/components/switch/switch.css +1 -1
  74. package/dist/collection/components/tabs/tabs-list.css +1 -1
  75. package/dist/collection/components/tabs/tabs-trigger.css +1 -1
  76. package/dist/components/bcm-accordion-group.js +1 -1
  77. package/dist/components/bcm-accordion.js +1 -1
  78. package/dist/components/bcm-alert.js +1 -1
  79. package/dist/components/bcm-avatar.js +2 -2
  80. package/dist/components/bcm-badge.js +1 -1
  81. package/dist/components/bcm-basic-badge.js +1 -1
  82. package/dist/components/bcm-button-group.js +1 -1
  83. package/dist/components/bcm-button.js +1 -1
  84. package/dist/components/bcm-checkbox.js +1 -1
  85. package/dist/components/bcm-chip.js +1 -1
  86. package/dist/components/bcm-divider.js +1 -1
  87. package/dist/components/bcm-dropdown-item.js +1 -1
  88. package/dist/components/bcm-dropdown.js +4 -4
  89. package/dist/components/bcm-dropdown.js.map +1 -1
  90. package/dist/components/bcm-input.js +1 -1
  91. package/dist/components/bcm-linked.js +1 -1
  92. package/dist/components/bcm-pop-confirm.js +3 -3
  93. package/dist/components/bcm-pop-confirm.js.map +1 -1
  94. package/dist/components/bcm-popover.js +1 -1
  95. package/dist/components/bcm-radio-group.js +1 -1
  96. package/dist/components/bcm-radio.js +1 -1
  97. package/dist/components/bcm-segmented-picker-option.js +1 -1
  98. package/dist/components/bcm-segmented-picker.js +1 -1
  99. package/dist/components/bcm-switch.js +2 -2
  100. package/dist/components/bcm-switch.js.map +1 -1
  101. package/dist/components/bcm-tabs-content.js +1 -1
  102. package/dist/components/bcm-tabs-list.js +2 -2
  103. package/dist/components/bcm-tabs-list.js.map +1 -1
  104. package/dist/components/bcm-tabs-trigger.js +2 -2
  105. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  106. package/dist/components/bcm-tabs.js +1 -1
  107. package/dist/components/bcm-text.js +1 -1
  108. package/dist/components/bcm-textarea.js +1 -1
  109. package/dist/components/bcm-tooltip.js +1 -1
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/{p-5377117d.js → p-30135590.js} +293 -5
  112. package/dist/components/p-30135590.js.map +1 -0
  113. package/dist/components/{p-2fe931c0.js → p-69f4b010.js} +2 -2
  114. package/dist/components/{p-2fe931c0.js.map → p-69f4b010.js.map} +1 -1
  115. package/dist/components/{p-65ffc29a.js → p-a83859ff.js} +35 -30
  116. package/dist/components/p-a83859ff.js.map +1 -0
  117. package/dist/components/{p-f6176f29.js → p-d600acb5.js} +3 -3
  118. package/dist/components/{p-f6176f29.js.map → p-d600acb5.js.map} +1 -1
  119. package/dist/esm/bcm-accordion-group.entry.js +1 -1
  120. package/dist/esm/bcm-accordion.entry.js +1 -1
  121. package/dist/esm/bcm-alert.entry.js +1 -1
  122. package/dist/esm/bcm-avatar.entry.js +1 -1
  123. package/dist/esm/bcm-badge.entry.js +1 -1
  124. package/dist/esm/bcm-basic-badge.entry.js +1 -1
  125. package/dist/esm/bcm-button-group.entry.js +1 -1
  126. package/dist/esm/bcm-button_5.entry.js +35 -29
  127. package/dist/esm/bcm-button_5.entry.js.map +1 -1
  128. package/dist/esm/bcm-checkbox.entry.js +1 -1
  129. package/dist/esm/bcm-chip.entry.js +1 -1
  130. package/dist/esm/bcm-divider.entry.js +1 -1
  131. package/dist/esm/bcm-input.entry.js +1 -1
  132. package/dist/esm/bcm-pop-confirm.entry.js +2 -2
  133. package/dist/esm/bcm-pop-confirm.entry.js.map +1 -1
  134. package/dist/esm/bcm-popover.entry.js +1 -1
  135. package/dist/esm/bcm-radio-group.entry.js +1 -1
  136. package/dist/esm/bcm-radio.entry.js +1 -1
  137. package/dist/esm/bcm-segmented-picker-option.entry.js +1 -1
  138. package/dist/esm/bcm-segmented-picker.entry.js +1 -1
  139. package/dist/esm/bcm-switch.entry.js +2 -2
  140. package/dist/esm/bcm-switch.entry.js.map +1 -1
  141. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  142. package/dist/esm/bcm-tabs-list.entry.js +2 -2
  143. package/dist/esm/bcm-tabs-list.entry.js.map +1 -1
  144. package/dist/esm/bcm-tabs-trigger.entry.js +2 -2
  145. package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -1
  146. package/dist/esm/bcm-tabs.entry.js +1 -1
  147. package/dist/esm/bcm-textarea.entry.js +1 -1
  148. package/dist/esm/bcm-tooltip.entry.js +1 -1
  149. package/dist/esm/bromcom-ui.js +3 -3
  150. package/dist/esm/{index-8571fbf7.js → index-18b75a47.js} +293 -5
  151. package/dist/esm/index-18b75a47.js.map +1 -0
  152. package/dist/esm/loader.js +3 -3
  153. package/dist/types/components/linked/linked.component.d.ts +2 -0
  154. package/package.json +1 -1
  155. package/readme.md +1 -170
  156. package/dist/bromcom-ui/p-77457de7.entry.js +0 -2
  157. package/dist/bromcom-ui/p-77457de7.entry.js.map +0 -1
  158. package/dist/bromcom-ui/p-ab3d15d5.entry.js +0 -2
  159. package/dist/bromcom-ui/p-bd0354ff.entry.js +0 -2
  160. package/dist/bromcom-ui/p-c9b736d9.js +0 -3
  161. package/dist/bromcom-ui/p-c9b736d9.js.map +0 -1
  162. package/dist/bromcom-ui/p-d33db2da.entry.js +0 -2
  163. package/dist/bromcom-ui/p-d7b636bf.entry.js +0 -2
  164. package/dist/cjs/index-9a2c5938.js.map +0 -1
  165. package/dist/components/p-5377117d.js.map +0 -1
  166. package/dist/components/p-65ffc29a.js.map +0 -1
  167. package/dist/esm/index-8571fbf7.js.map +0 -1
  168. /package/dist/bromcom-ui/{p-3583888a.entry.js.map → p-1ad74a16.entry.js.map} +0 -0
  169. /package/dist/bromcom-ui/{p-2820ad28.entry.js.map → p-1b4ccb21.entry.js.map} +0 -0
  170. /package/dist/bromcom-ui/{p-4762d66b.entry.js.map → p-1c2d7a9f.entry.js.map} +0 -0
  171. /package/dist/bromcom-ui/{p-898d5cf6.entry.js.map → p-25ad3dab.entry.js.map} +0 -0
  172. /package/dist/bromcom-ui/{p-09b53a8f.entry.js.map → p-3254a2a8.entry.js.map} +0 -0
  173. /package/dist/bromcom-ui/{p-1392a235.entry.js.map → p-36656795.entry.js.map} +0 -0
  174. /package/dist/bromcom-ui/{p-119e1c27.entry.js.map → p-3ef04b27.entry.js.map} +0 -0
  175. /package/dist/bromcom-ui/{p-3ed3885e.entry.js.map → p-52a20dbc.entry.js.map} +0 -0
  176. /package/dist/bromcom-ui/{p-ea274e8b.entry.js.map → p-52ae94e5.entry.js.map} +0 -0
  177. /package/dist/bromcom-ui/{p-ea6cdc17.entry.js.map → p-5cb49a5f.entry.js.map} +0 -0
  178. /package/dist/bromcom-ui/{p-5541403c.entry.js.map → p-5f8c6436.entry.js.map} +0 -0
  179. /package/dist/bromcom-ui/{p-9bd6c84d.entry.js.map → p-604cb620.entry.js.map} +0 -0
  180. /package/dist/bromcom-ui/{p-c45d9e50.entry.js.map → p-7e9223c8.entry.js.map} +0 -0
  181. /package/dist/bromcom-ui/{p-4bba4ab4.entry.js.map → p-82ba9870.entry.js.map} +0 -0
  182. /package/dist/bromcom-ui/{p-3d424afc.entry.js.map → p-86feadca.entry.js.map} +0 -0
  183. /package/dist/bromcom-ui/{p-8bcc3d1a.entry.js.map → p-88d78cdd.entry.js.map} +0 -0
  184. /package/dist/bromcom-ui/{p-edfa3b52.entry.js.map → p-a4148502.entry.js.map} +0 -0
  185. /package/dist/bromcom-ui/{p-1867c3e6.entry.js.map → p-a4c27c77.entry.js.map} +0 -0
  186. /package/dist/bromcom-ui/{p-2cb15e60.entry.js.map → p-d9dfad58.entry.js.map} +0 -0
  187. /package/dist/bromcom-ui/{p-50713153.entry.js.map → p-fd7f1fa0.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,g as s}from"./p-c9b736d9.js";import{a as e,c as o,o as a,f as h,s as r,b as l}from"./p-50133556.js";import{c}from"./p-5fcf77f9.js";const n=":host{--tooltip-bg:var(--bcm-ui-color-background-default-dark-default)}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.relative{position:relative}.z-\\[-1\\]{z-index:-1}.z-\\[9999\\]{z-index:9999}.block{display:block}.hidden{display:none}.h-4{height:1rem}.w-4{width:1rem}.min-w-max{min-width:max-content}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-md{border-radius:var(--bcm-ui-border-radius-md,6px)}.bg-\\[--tooltip-bg\\]{background-color:var(--tooltip-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.text-color-base{color:var(--bcm-ui-color-text-base)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";const d=n;const m=class{constructor(i){t(this,i);this.trigger="hover";this.placement="top";this.size="medium";this.showDelay=150;this.open=false;this.toggleTooltip=()=>{this.open=!this.open;this.updateOutsideClickListener()};this.showTooltip=()=>{clearTimeout(this.hoverTimeout);this.hoverTimeout=setTimeout((()=>{this.open=true;this.updateOutsideClickListener()}),this.showDelay)};this.hideTooltip=()=>{clearTimeout(this.hoverTimeout);this.hoverTimeout=setTimeout((()=>{this.open=false;this.updateOutsideClickListener()}),this.showDelay)};this.handleSlotChange=()=>{const t=this.el.shadowRoot.querySelector("slot");const i=t.assignedElements();this.targetElement=i[0];if(this.targetElement){this.targetElement.removeEventListener("click",this.toggleTooltip);this.targetElement.removeEventListener("mouseenter",this.showTooltip);this.targetElement.removeEventListener("mouseleave",this.hideTooltip);if(this.trigger==="click"){this.targetElement.addEventListener("click",this.toggleTooltip);this.targetElement.setAttribute("aria-expanded",this.open.toString());this.targetElement.setAttribute("aria-describedby","tooltip")}if(this.trigger==="hover"){this.targetElement.addEventListener("mouseenter",this.showTooltip);this.targetElement.addEventListener("mouseleave",this.hideTooltip);this.targetElement.setAttribute("aria-describedby","tooltip")}if(this.tooltipElement&&!this.cleanupAutoUpdate){this.cleanupAutoUpdate=e(this.targetElement,this.tooltipElement,(()=>this.updatePosition()),{animationFrame:false})}}};this.handleOutsideClick=t=>{if(!this.el.contains(t.target)&&this.open){this.open=false;this.updateOutsideClickListener()}};this.updatePosition=async()=>{if(!this.targetElement||!this.tooltipElement||!this.arrowElement)return;const{x:t,y:i,placement:s,middlewareData:e}=await o(this.targetElement,this.tooltipElement,{placement:this.placement,middleware:[a(12),h({fallbackPlacements:["top","left","bottom","right"]}),r({padding:8}),l({element:this.arrowElement})]});Object.assign(this.tooltipElement.style,{left:`${t}px`,top:`${i}px`});const{x:c,y:n}=e.arrow||{x:0,y:0};const d=s.split("-")[0];const m={top:"bottom",right:"left",bottom:"top",left:"right"}[d];Object.assign(this.arrowElement.style,{left:c!=null?`${c}px`:"",top:n!=null?`${n}px`:"",[m]:"-4px"})};this.tooltipClass=c({slots:{tooltip:"bcm-ui-element bcm-tooltip absolute bg-[--tooltip-bg] rounded-md shadow-3 py-1 px-3 min-w-max z-[9999] text-color-base font-medium",arrow:"absolute w-4 h-4 bg-[--tooltip-bg] transform rotate-45 z-[-1]"},variants:{size:{small:{tooltip:"text-size-3"},medium:{tooltip:"text-size-4"},large:{tooltip:"text-size-5"}},isOpen:{true:{tooltip:"block"},false:{tooltip:"hidden"}}},defaultVariants:{size:"medium",isOpen:false}},{twMerge:false})}disconnectedCallback(){var t;document.removeEventListener("click",this.handleOutsideClick);if(this.targetElement){this.targetElement.removeEventListener("click",this.toggleTooltip);this.targetElement.removeEventListener("mouseenter",this.showTooltip);this.targetElement.removeEventListener("mouseleave",this.hideTooltip)}(t=this.cleanupAutoUpdate)===null||t===void 0?void 0:t.call(this);this.cleanupAutoUpdate=null;clearTimeout(this.hoverTimeout)}updateOutsideClickListener(){if(this.open){document.addEventListener("click",this.handleOutsideClick)}else{document.removeEventListener("click",this.handleOutsideClick)}}async openTooltip(){this.showTooltip()}async closeTooltip(){this.hideTooltip()}render(){const{tooltip:t,arrow:s}=this.tooltipClass({size:this.size,isOpen:this.open});return i("div",{key:"cc38e1ce7b446a135f1d2597cf8086aaf8af8a07",class:"relative"},i("slot",{key:"d3c279eec1c236635dab757f1a65f7d6a4e11f8d",onSlotchange:()=>this.handleSlotChange()}),i("div",{key:"e5bc2f9aed8a287ea79f21c7b66de5393689f732",role:"tooltip",class:t(),ref:t=>this.tooltipElement=t,part:"tooltip"},i("div",{key:"0634cb44cbcef4597de4f274a0a40af8885363cd",class:s(),ref:t=>this.arrowElement=t,part:"arrow"}),i("slot",{key:"89182355e0cf7c39da2a69e9e1dd5ca0d51537a9",name:"tooltip"},this.message)))}get el(){return s(this)}};m.style=d;export{m as bcm_tooltip};
2
- //# sourceMappingURL=p-1867c3e6.entry.js.map
1
+ import{r as t,h as i,g as s}from"./p-9d0aeb92.js";import{a as e,c as o,o as a,f as h,s as r,b as l}from"./p-50133556.js";import{c}from"./p-5fcf77f9.js";const n=":host{--tooltip-bg:var(--bcm-ui-color-background-default-dark-default)}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.relative{position:relative}.z-\\[-1\\]{z-index:-1}.z-\\[9999\\]{z-index:9999}.block{display:block}.hidden{display:none}.h-4{height:1rem}.w-4{width:1rem}.min-w-max{min-width:max-content}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-md{border-radius:var(--bcm-ui-border-radius-md,6px)}.bg-\\[--tooltip-bg\\]{background-color:var(--tooltip-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.text-color-base{color:var(--bcm-ui-color-text-base)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";const d=n;const m=class{constructor(i){t(this,i);this.trigger="hover";this.placement="top";this.size="medium";this.showDelay=150;this.open=false;this.toggleTooltip=()=>{this.open=!this.open;this.updateOutsideClickListener()};this.showTooltip=()=>{clearTimeout(this.hoverTimeout);this.hoverTimeout=setTimeout((()=>{this.open=true;this.updateOutsideClickListener()}),this.showDelay)};this.hideTooltip=()=>{clearTimeout(this.hoverTimeout);this.hoverTimeout=setTimeout((()=>{this.open=false;this.updateOutsideClickListener()}),this.showDelay)};this.handleSlotChange=()=>{const t=this.el.shadowRoot.querySelector("slot");const i=t.assignedElements();this.targetElement=i[0];if(this.targetElement){this.targetElement.removeEventListener("click",this.toggleTooltip);this.targetElement.removeEventListener("mouseenter",this.showTooltip);this.targetElement.removeEventListener("mouseleave",this.hideTooltip);if(this.trigger==="click"){this.targetElement.addEventListener("click",this.toggleTooltip);this.targetElement.setAttribute("aria-expanded",this.open.toString());this.targetElement.setAttribute("aria-describedby","tooltip")}if(this.trigger==="hover"){this.targetElement.addEventListener("mouseenter",this.showTooltip);this.targetElement.addEventListener("mouseleave",this.hideTooltip);this.targetElement.setAttribute("aria-describedby","tooltip")}if(this.tooltipElement&&!this.cleanupAutoUpdate){this.cleanupAutoUpdate=e(this.targetElement,this.tooltipElement,(()=>this.updatePosition()),{animationFrame:false})}}};this.handleOutsideClick=t=>{if(!this.el.contains(t.target)&&this.open){this.open=false;this.updateOutsideClickListener()}};this.updatePosition=async()=>{if(!this.targetElement||!this.tooltipElement||!this.arrowElement)return;const{x:t,y:i,placement:s,middlewareData:e}=await o(this.targetElement,this.tooltipElement,{placement:this.placement,middleware:[a(12),h({fallbackPlacements:["top","left","bottom","right"]}),r({padding:8}),l({element:this.arrowElement})]});Object.assign(this.tooltipElement.style,{left:`${t}px`,top:`${i}px`});const{x:c,y:n}=e.arrow||{x:0,y:0};const d=s.split("-")[0];const m={top:"bottom",right:"left",bottom:"top",left:"right"}[d];Object.assign(this.arrowElement.style,{left:c!=null?`${c}px`:"",top:n!=null?`${n}px`:"",[m]:"-4px"})};this.tooltipClass=c({slots:{tooltip:"bcm-ui-element bcm-tooltip absolute bg-[--tooltip-bg] rounded-md shadow-3 py-1 px-3 min-w-max z-[9999] text-color-base font-medium",arrow:"absolute w-4 h-4 bg-[--tooltip-bg] transform rotate-45 z-[-1]"},variants:{size:{small:{tooltip:"text-size-3"},medium:{tooltip:"text-size-4"},large:{tooltip:"text-size-5"}},isOpen:{true:{tooltip:"block"},false:{tooltip:"hidden"}}},defaultVariants:{size:"medium",isOpen:false}},{twMerge:false})}disconnectedCallback(){var t;document.removeEventListener("click",this.handleOutsideClick);if(this.targetElement){this.targetElement.removeEventListener("click",this.toggleTooltip);this.targetElement.removeEventListener("mouseenter",this.showTooltip);this.targetElement.removeEventListener("mouseleave",this.hideTooltip)}(t=this.cleanupAutoUpdate)===null||t===void 0?void 0:t.call(this);this.cleanupAutoUpdate=null;clearTimeout(this.hoverTimeout)}updateOutsideClickListener(){if(this.open){document.addEventListener("click",this.handleOutsideClick)}else{document.removeEventListener("click",this.handleOutsideClick)}}async openTooltip(){this.showTooltip()}async closeTooltip(){this.hideTooltip()}render(){const{tooltip:t,arrow:s}=this.tooltipClass({size:this.size,isOpen:this.open});return i("div",{key:"cc38e1ce7b446a135f1d2597cf8086aaf8af8a07",class:"relative"},i("slot",{key:"d3c279eec1c236635dab757f1a65f7d6a4e11f8d",onSlotchange:()=>this.handleSlotChange()}),i("div",{key:"e5bc2f9aed8a287ea79f21c7b66de5393689f732",role:"tooltip",class:t(),ref:t=>this.tooltipElement=t,part:"tooltip"},i("div",{key:"0634cb44cbcef4597de4f274a0a40af8885363cd",class:s(),ref:t=>this.arrowElement=t,part:"arrow"}),i("slot",{key:"89182355e0cf7c39da2a69e9e1dd5ca0d51537a9",name:"tooltip"},this.message)))}get el(){return s(this)}};m.style=d;export{m as bcm_tooltip};
2
+ //# sourceMappingURL=p-a4c27c77.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as o,g as r}from"./p-9d0aeb92.js";import{c as a}from"./p-5fcf77f9.js";const s=".relative{position:relative}.block{display:block}:host{display:block;position:relative;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.flex{display:flex}.h-\\[2px\\]{height:2px}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.border-none{border-style:none}.bg-\\[--bcm-ui-color-text-default\\]{background-color:var(--bcm-ui-color-text-default)}.bg-\\[--bcm-ui-color-text-disabled\\]{background-color:var(--bcm-ui-color-text-disabled)}.bg-color-primary{background-color:var(--bcm-ui-color-background-primary-default)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-center{text-align:center}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:text-color-primary:hover{color:var(--bcm-ui-color-text-primary)}";const l=s;const n=class{constructor(i){t(this,i);this.bcmTabSelected=e(this,"bcmTabSelected",1);this.active=false;this.size="medium";this.disabled=false;this.class=a({slots:{tab:"bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none",borderLine:"bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out"},variants:{size:{small:{tab:"text-size-4 gap-2"},medium:{tab:"text-size-5 gap-2.5"},large:{tab:"text-size-6 gap-3"}},active:{true:{tab:"text-color-primary"},false:{tab:"text-color"}},disabled:{true:{tab:"cursor-not-allowed text-color-disabled",borderLine:"bg-[--bcm-ui-color-text-disabled]"},false:{tab:"cursor-pointer text-color hover:text-color-primary",borderLine:"bg-[--bcm-ui-color-text-default]"}}},defaultVariants:{size:"medium",active:false,disabled:false}},{twMerge:false})}handleClick(){if(this.disabled)return;this.bcmTabSelected.emit(this.value)}render(){const{tab:t,borderLine:e}=this.class({size:this.size,active:this.active,disabled:this.disabled});return i(o,{key:"737dae93f86d0f7ae35c290439488c6266cf5ed9",role:"tab","aria-selected":this.active.toString(),"aria-disabled":this.disabled},i("button",{key:"1ba4064730d5b2503a5d30f21542ae4669ddc9cd",class:t(),disabled:this.disabled,part:"tab",onClick:()=>this.handleClick()},i("slot",{key:"071b435af12f5196249d277681b8a32736dbd88d"})),i("div",{key:"b5c3a7ce4ead271443224dfb34baaa24f3964587",class:e()}))}get el(){return r(this)}};n.style=l;export{n as bcm_tabs_trigger};
2
+ //# sourceMappingURL=p-a4ee16c5.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["tabsTriggerCss","BcmTabsTriggerStyle0","BcmTabsTrigger","constructor","hostRef","this","active","size","disabled","class","tv","slots","tab","borderLine","variants","small","medium","large","true","false","defaultVariants","twMerge","handleClick","bcmTabSelected","emit","value","render","h","Host","key","role","toString","part","onClick"],"sources":["src/components/tabs/tabs-trigger.css?tag=bcm-tabs-trigger&encapsulation=shadow","src/components/tabs/tabs-trigger.component.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n width: 100%;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, ComponentInterface } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @description Tab trigger component that functions as a clickable tab button\n * @slot - Default slot for tab label content\n */\n@Component({\n tag: 'bcm-tabs-trigger',\n styleUrl: 'tabs-trigger.css',\n shadow: true,\n})\nexport class BcmTabsTrigger implements ComponentInterface {\n /**\n * Reference to the host element\n */\n @Element() el: HTMLElement;\n\n /**\n * Unique identifier value for the tab\n */\n @Prop({ reflect: true })\n value: string;\n\n /**\n * Whether the tab is currently active\n */\n @Prop({ reflect: true })\n active: boolean = false;\n\n /**\n * Size of the tab\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Event emitted when this tab is selected\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmTabSelected',\n })\n bcmTabSelected: EventEmitter<string>;\n\n /**\n * Handles click events on the tab\n * Emits bcmTabSelected event with tab value if not disabled\n */\n private handleClick() {\n if (this.disabled) return;\n this.bcmTabSelected.emit(this.value);\n }\n\n /**\n * Tailwind variants configuration for styling\n */\n private class = tv(\n {\n slots: {\n tab: 'bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none',\n borderLine: 'bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out',\n },\n variants: {\n size: {\n small: { tab: 'text-size-4 gap-2' },\n medium: { tab: 'text-size-5 gap-2.5' },\n large: { tab: 'text-size-6 gap-3' },\n },\n active: {\n true: {\n tab: 'text-color-primary',\n },\n false: {\n tab: 'text-color',\n },\n },\n disabled: {\n true: {\n tab: 'cursor-not-allowed text-color-disabled',\n borderLine: 'bg-[--bcm-ui-color-text-disabled]',\n },\n false: {\n tab: 'cursor-pointer text-color hover:text-color-primary',\n borderLine: 'bg-[--bcm-ui-color-text-default]',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n active: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { tab, borderLine } = this.class({\n size: this.size,\n active: this.active,\n disabled: this.disabled,\n });\n return (\n <Host role=\"tab\" aria-selected={this.active.toString()} aria-disabled={this.disabled}>\n <button class={tab()} disabled={this.disabled} part=\"tab\" onClick={() => this.handleClick()}>\n <slot />\n </button>\n <div class={borderLine()}></div>\n </Host>\n );\n }\n}"],"mappings":"oGAAA,MAAMA,EAAiB,w+DACvB,MAAAC,EAAeD,E,MCWFE,EAAc,MAL3B,WAAAC,CAAAC,G,yDAqBIC,KAAAC,OAAkB,MAMlBD,KAAAE,KAAqC,SAMrCF,KAAAG,SAAoB,MAyBZH,KAAAI,MAAQC,EACZ,CACIC,MAAO,CACHC,IAAK,iKACLC,WAAY,mGAEhBC,SAAU,CACNP,KAAM,CACFQ,MAAO,CAAEH,IAAK,qBACdI,OAAQ,CAAEJ,IAAK,uBACfK,MAAO,CAAEL,IAAK,sBAElBN,OAAQ,CACJY,KAAM,CACFN,IAAK,sBAETO,MAAO,CACHP,IAAK,eAGbJ,SAAU,CACNU,KAAM,CACFN,IAAK,yCACLC,WAAY,qCAEhBM,MAAO,CACHP,IAAK,qDACLC,WAAY,sCAIxBO,gBAAiB,CACbb,KAAM,SACND,OAAQ,MACRE,SAAU,QAGlB,CACIa,QAAS,O,CA9CT,WAAAC,GACJ,GAAIjB,KAAKG,SAAU,OACnBH,KAAKkB,eAAeC,KAAKnB,KAAKoB,M,CAgDlC,MAAAC,GACI,MAAMd,IAAEA,EAAGC,WAAEA,GAAeR,KAAKI,MAAM,CACnCF,KAAMF,KAAKE,KACXD,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,WAEnB,OACImB,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,gBAAgBzB,KAAKC,OAAOyB,WAAU,gBAAiB1B,KAAKG,UACxEmB,EAAA,UAAAE,IAAA,2CAAQpB,MAAOG,IAAOJ,SAAUH,KAAKG,SAAUwB,KAAK,MAAMC,QAAS,IAAM5B,KAAKiB,eAC1EK,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKpB,MAAOI,M","ignoreList":[]}
1
+ {"version":3,"names":["tabsTriggerCss","BcmTabsTriggerStyle0","BcmTabsTrigger","constructor","hostRef","this","active","size","disabled","class","tv","slots","tab","borderLine","variants","small","medium","large","true","false","defaultVariants","twMerge","handleClick","bcmTabSelected","emit","value","render","h","Host","key","role","toString","part","onClick"],"sources":["src/components/tabs/tabs-trigger.css?tag=bcm-tabs-trigger&encapsulation=shadow","src/components/tabs/tabs-trigger.component.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n width: 100%;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, ComponentInterface } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @description Tab trigger component that functions as a clickable tab button\n * @slot - Default slot for tab label content\n */\n@Component({\n tag: 'bcm-tabs-trigger',\n styleUrl: 'tabs-trigger.css',\n shadow: true,\n})\nexport class BcmTabsTrigger implements ComponentInterface {\n /**\n * Reference to the host element\n */\n @Element() el: HTMLElement;\n\n /**\n * Unique identifier value for the tab\n */\n @Prop({ reflect: true })\n value: string;\n\n /**\n * Whether the tab is currently active\n */\n @Prop({ reflect: true })\n active: boolean = false;\n\n /**\n * Size of the tab\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Event emitted when this tab is selected\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmTabSelected',\n })\n bcmTabSelected: EventEmitter<string>;\n\n /**\n * Handles click events on the tab\n * Emits bcmTabSelected event with tab value if not disabled\n */\n private handleClick() {\n if (this.disabled) return;\n this.bcmTabSelected.emit(this.value);\n }\n\n /**\n * Tailwind variants configuration for styling\n */\n private class = tv(\n {\n slots: {\n tab: 'bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none',\n borderLine: 'bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out',\n },\n variants: {\n size: {\n small: { tab: 'text-size-4 gap-2' },\n medium: { tab: 'text-size-5 gap-2.5' },\n large: { tab: 'text-size-6 gap-3' },\n },\n active: {\n true: {\n tab: 'text-color-primary',\n },\n false: {\n tab: 'text-color',\n },\n },\n disabled: {\n true: {\n tab: 'cursor-not-allowed text-color-disabled',\n borderLine: 'bg-[--bcm-ui-color-text-disabled]',\n },\n false: {\n tab: 'cursor-pointer text-color hover:text-color-primary',\n borderLine: 'bg-[--bcm-ui-color-text-default]',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n active: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { tab, borderLine } = this.class({\n size: this.size,\n active: this.active,\n disabled: this.disabled,\n });\n return (\n <Host role=\"tab\" aria-selected={this.active.toString()} aria-disabled={this.disabled}>\n <button class={tab()} disabled={this.disabled} part=\"tab\" onClick={() => this.handleClick()}>\n <slot />\n </button>\n <div class={borderLine()}></div>\n </Host>\n );\n }\n}"],"mappings":"oGAAA,MAAMA,EAAiB,g9DACvB,MAAAC,EAAeD,E,MCWFE,EAAc,MAL3B,WAAAC,CAAAC,G,yDAqBIC,KAAAC,OAAkB,MAMlBD,KAAAE,KAAqC,SAMrCF,KAAAG,SAAoB,MAyBZH,KAAAI,MAAQC,EACZ,CACIC,MAAO,CACHC,IAAK,iKACLC,WAAY,mGAEhBC,SAAU,CACNP,KAAM,CACFQ,MAAO,CAAEH,IAAK,qBACdI,OAAQ,CAAEJ,IAAK,uBACfK,MAAO,CAAEL,IAAK,sBAElBN,OAAQ,CACJY,KAAM,CACFN,IAAK,sBAETO,MAAO,CACHP,IAAK,eAGbJ,SAAU,CACNU,KAAM,CACFN,IAAK,yCACLC,WAAY,qCAEhBM,MAAO,CACHP,IAAK,qDACLC,WAAY,sCAIxBO,gBAAiB,CACbb,KAAM,SACND,OAAQ,MACRE,SAAU,QAGlB,CACIa,QAAS,O,CA9CT,WAAAC,GACJ,GAAIjB,KAAKG,SAAU,OACnBH,KAAKkB,eAAeC,KAAKnB,KAAKoB,M,CAgDlC,MAAAC,GACI,MAAMd,IAAEA,EAAGC,WAAEA,GAAeR,KAAKI,MAAM,CACnCF,KAAMF,KAAKE,KACXD,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,WAEnB,OACImB,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,gBAAgBzB,KAAKC,OAAOyB,WAAU,gBAAiB1B,KAAKG,UACxEmB,EAAA,UAAAE,IAAA,2CAAQpB,MAAOG,IAAOJ,SAAUH,KAAKG,SAAUwB,KAAK,MAAMC,QAAS,IAAM5B,KAAKiB,eAC1EK,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKpB,MAAOI,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,g as r}from"./p-9d0aeb92.js";import{g as o}from"./p-ba2410ef.js";import{c as s}from"./p-5fcf77f9.js";const a=":host{display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0\\.5{left:.125rem}.left-\\[18px\\]{left:18px}.left-\\[20px\\]{left:20px}.left-\\[22px\\]{left:22px}.order-2{order:2}.flex{display:flex}.hidden{display:none}.size-3{height:.75rem;width:.75rem}.size-3\\.5{height:.875rem;width:.875rem}.size-4{width:1rem}.h-4,.size-4{height:1rem}.h-5{height:1.25rem}.h-\\[18px\\]{height:18px}.w-10{width:2.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--switch-bg\\]{background-color:var(--switch-bg)}.bg-\\[--switch-dot-bg\\]{background-color:var(--switch-dot-bg)}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.font-normal{font-weight:400}.\\!text-color-error{color:var(--bcm-ui-color-text-error)!important}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--bcm-ui-box-shadow-sm);--tw-shadow-colored:var(--bcm-ui-box-shadow-sm)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .group-hover\\:bg-\\[--switch-bg-hover\\],.hover\\:bg-\\[--switch-bg-hover\\]:hover{background-color:var(--switch-bg-hover)}.peer:focus-visible~.peer-focus-visible\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus-visible~.peer-focus-visible\\:ring-blue-300{--tw-ring-color:oklch(0.809 0.105 251.813)}.peer:focus-visible~.peer-focus-visible\\:ring-offset-2{--tw-ring-offset-width:2px}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:\\!text-color-disabled{color:var(--bcm-ui-color-text-disabled)!important}";const c=a;const l=class{constructor(i){e(this,i);this.bcmSwitchChange=t(this,"bcmSwitchChange",1);this.checked=false;this.disabled=false;this.labelPosition="right";this.error=false;this.size="medium";this.readonly=false;this.required=false;this.switchId=o("switch");this.switchStyle=()=>{const e={"--switch-bg":"var(--bcm-ui-color-background-default-dark-default)","--switch-bg-hover":"var(--bcm-ui-color-background-default-dark-hover)","--switch-dot-bg":"var(--bcm-ui-color-background-base-default)"};const t={"--switch-bg":"var(--bcm-ui-color-background-info-default)","--switch-bg-hover":"var(--bcm-ui-color-background-info-hover)"};const i={"--switch-bg":"var(--bcm-ui-color-background-error-default)","--switch-bg-hover":"var(--bcm-ui-color-background-error-hover)"};const r={"--switch-bg":"var(--bcm-ui-color-background-default-dark-default)","--switch-bg-hover":"var(--bcm-ui-color-background-default-dark-default)","--switch-dot-bg":"var(--bcm-ui-color-background-disabled-default)"};const o={"--switch-bg":"var(--bcm-ui-color-background-disabled-default)","--switch-bg-hover":"var(--bcm-ui-color-background-disabled-default)","--switch-dot-bg":"var(--bcm-ui-color-background-default-default)"};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),this.checked&&t),this.error&&i),this.readonly&&r),this.disabled&&o)};this.switchClass=s({slots:{base:"bcm-ui-element flex flex-col",switchWrapper:"flex items-center group",dotContainer:"relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300",dot:"absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed",caption:"!text-color-error font-normal",label:"!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed"},variants:{size:{small:{dotContainer:"w-8 h-4",dot:"size-3",label:"text-size-4",caption:"text-size-3",switchWrapper:"gap-2",base:"gap-0.5"},medium:{dotContainer:"w-9 h-[18px]",dot:"size-3.5",label:"text-size-5",caption:"text-size-4",switchWrapper:"gap-2.5",base:"gap-1"},large:{dotContainer:"w-10 h-5",dot:"size-4",label:"text-size-6",caption:"text-size-5",switchWrapper:"gap-3",base:"gap-2"}},labelPosition:{left:{label:""},right:{label:"order-2"}},checked:{true:{dot:""},false:{dot:"left-0.5"}},disabled:{true:"",false:{switchWrapper:""}},readonly:{true:{switchWrapper:"cursor-default",dotContainer:"cursor-default",dot:"cursor-default"},false:{switchWrapper:"cursor-pointer",dotContainer:"cursor-pointer hover:bg-[--switch-bg-hover]"}}},compoundVariants:[{size:"small",checked:true,class:{dot:"left-[18px]"}},{size:"medium",checked:true,class:{dot:"left-[20px]"}},{size:"large",checked:true,class:{dot:"left-[22px]"}},{readonly:false,disabled:false,class:{dotContainer:"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300"}}]})}toggleSwitch(){if(this.disabled||this.readonly)return;this.checked=!this.checked;this.bcmSwitchChange.emit(this.checked)}render(){const{base:e,switchWrapper:t,label:r,dot:o,dotContainer:s,caption:a}=this.switchClass({size:this.size,checked:this.checked,disabled:this.disabled,labelPosition:this.labelPosition,readonly:this.readonly});const c=Object.assign({role:"switch","aria-checked":this.checked.toString(),"aria-disabled":this.disabled.toString(),"aria-readonly":this.readonly.toString()},this.required&&{"aria-required":"true"});const l=!this.readonly&&!this.disabled?{tabindex:"0"}:{};return i("div",{key:"1301508344227ab292f8847c1202676830568534",class:e()},i("label",{key:"ced1bb0bea6a6204d8e2f569dc3071f116732647",class:t(),style:this.switchStyle()},i("input",{key:"a432f7aed823ccc8cc7f008f6422f5c0bcd4f542",id:this.switchId,type:"checkbox",class:"hidden peer",checked:this.checked,name:this.name,value:this.value,disabled:this.disabled,readOnly:this.readonly,required:this.required,onChange:()=>this.toggleSwitch()}),this.label&&i("span",{key:"51ff936fdc0d0d77eb32bda235425d3d26d0c0aa",class:r()},i("slot",{key:"f1411fe2f3da9b7f9f606afd3852e33284a53b53"},this.label)),i("label",Object.assign({key:"e005835f2e22c03713b3d7732d6c33e622429551",htmlFor:this.switchId,class:s()},l,c,{onKeyDown:e=>{if((e.key==="Enter"||e.key===" ")&&!this.readonly&&!this.disabled){e.preventDefault();this.toggleSwitch()}}}),i("div",{key:"cac7f8bcb004fe7bf958ad9d1c30006db78868a2",class:o()}))),this.error&&this.caption&&i("span",{key:"7a560b8e5192f6c184bcc0cf67cc453d3d4fa4d0",class:a()},this.caption),i("slot",{key:"8ebde4cddd169ca14f6c6a8ba2ad637799ea34fd",name:"caption"}))}get el(){return r(this)}};l.style=c;export{l as bcm_switch};
2
+ //# sourceMappingURL=p-c9b1e4ec.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["switchCss","BcmSwitchStyle0","BcmSwitch","constructor","hostRef","this","checked","disabled","labelPosition","error","size","readonly","required","switchId","generateId","switchStyle","defaultStyle","checkedStyle","errorStyle","readonlyStyle","disabledStyle","Object","assign","switchClass","tv","slots","base","switchWrapper","dotContainer","dot","caption","label","variants","small","medium","large","left","right","true","false","compoundVariants","class","toggleSwitch","bcmSwitchChange","emit","render","ariaAttributes","role","toString","tabIndexAttr","tabindex","h","key","style","id","type","name","value","readOnly","onChange","htmlFor","onKeyDown","event","preventDefault"],"sources":["src/components/switch/switch.css?tag=bcm-switch&encapsulation=shadow","src/components/switch/switch.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n","import { Component, Prop, h, Event, EventEmitter, Element, ComponentInterface } from '@stencil/core';\nimport { generateId } from '../../utils/id/generate-id';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmSwitch\n * @description A customizable toggle switch component that provides an intuitive way to enable or disable options.\n * Supports different sizes, label positions, error states, and accessibility features.\n *\n * @example Basic usage\n * <bcm-switch label=\"Enable notifications\"></bcm-switch>\n *\n * @example With error state\n * <bcm-switch\n * label=\"Accept terms\"\n * error={true}\n * caption=\"You must accept the terms to continue\">\n * </bcm-switch>\n *\n * @example Disabled state\n * <bcm-switch\n * label=\"Advanced features\"\n * disabled={true}>\n * </bcm-switch>\n *\n * @example With custom size and label position\n * <bcm-switch\n * label=\"Dark mode\"\n * size=\"large\"\n * labelPosition=\"left\">\n * </bcm-switch>\n */\n@Component({\n tag: 'bcm-switch',\n styleUrl: 'switch.css',\n shadow: true,\n})\nexport class BcmSwitch implements ComponentInterface {\n /** Reference to the host element */\n @Element()\n el: HTMLElement;\n\n /** Whether the switch is checked or not */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Whether the switch is disabled */\n @Prop()\n disabled: boolean = false;\n\n /** The name attribute for the hidden input element */\n @Prop()\n name: string;\n\n /** The value attribute for the hidden input element */\n @Prop()\n value: string;\n\n /** Text label for the switch */\n @Prop()\n label: string;\n\n /** Position of the label relative to the switch */\n @Prop()\n labelPosition: 'left' | 'right' = 'right';\n\n /** Whether to display the switch in an error state */\n @Prop()\n error: boolean = false;\n\n /** Text to display as an error message when error is true */\n @Prop()\n caption?: string;\n\n /** Size variant of the switch */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Whether the switch is in readonly mode */\n @Prop()\n readonly: boolean = false;\n\n /** Whether the switch is required in a form */\n @Prop()\n required: boolean = false;\n\n /** Emitted when the switch state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmSwitchChange: EventEmitter<boolean>;\n\n private switchId = generateId('switch');\n\n private toggleSwitch(): void {\n if (this.disabled || this.readonly) return;\n this.checked = !this.checked;\n this.bcmSwitchChange.emit(this.checked);\n }\n\n private switchStyle = () => {\n const defaultStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-hover)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-base-default)',\n };\n\n const checkedStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-info-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-info-hover)',\n };\n\n const errorStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-error-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-error-hover)',\n };\n\n const readonlyStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-disabled-default)',\n };\n\n const disabledStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-default-default)',\n };\n\n return {\n ...defaultStyle,\n ...(this.checked && checkedStyle),\n ...(this.error && errorStyle),\n ...(this.readonly && readonlyStyle),\n ...(this.disabled && disabledStyle),\n };\n };\n\n private switchClass = tv({\n slots: {\n base: 'bcm-ui-element flex flex-col',\n switchWrapper: 'flex items-center group',\n dotContainer:\n 'relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300',\n dot: 'absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed',\n caption: '!text-color-error font-normal',\n label: '!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed',\n },\n variants: {\n size: {\n small: {\n dotContainer: 'w-8 h-4',\n dot: 'size-3',\n label: 'text-size-4',\n caption: 'text-size-3',\n switchWrapper: 'gap-2',\n base: 'gap-0.5',\n },\n medium: {\n dotContainer: 'w-9 h-[18px]',\n dot: 'size-3.5',\n label: 'text-size-5',\n caption: 'text-size-4',\n switchWrapper: 'gap-2.5',\n base: 'gap-1',\n },\n large: {\n dotContainer: 'w-10 h-5',\n dot: 'size-4',\n label: 'text-size-6',\n caption: 'text-size-5',\n switchWrapper: 'gap-3',\n base: 'gap-2',\n },\n },\n labelPosition: {\n left: {\n label: '',\n },\n right: {\n label: 'order-2',\n },\n },\n checked: {\n true: {\n dot: '',\n },\n false: {\n dot: 'left-0.5',\n },\n },\n disabled: {\n true: '',\n false: {\n switchWrapper: '',\n },\n },\n readonly: {\n true: {\n switchWrapper: 'cursor-default',\n dotContainer: 'cursor-default',\n dot: 'cursor-default',\n },\n false: {\n switchWrapper: 'cursor-pointer',\n dotContainer: 'cursor-pointer hover:bg-[--switch-bg-hover]',\n },\n },\n },\n compoundVariants: [\n {\n size: 'small',\n checked: true,\n class: {\n dot: 'left-[18px]',\n },\n },\n {\n size: 'medium',\n checked: true,\n class: {\n dot: 'left-[20px]',\n },\n },\n {\n size: 'large',\n checked: true,\n class: {\n dot: 'left-[22px]',\n },\n },\n {\n readonly: false,\n disabled: false,\n class: {\n dotContainer: 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300',\n },\n },\n ],\n });\n\n render() {\n const { base, switchWrapper, label, dot, dotContainer, caption } = this.switchClass({\n size: this.size,\n checked: this.checked,\n disabled: this.disabled,\n labelPosition: this.labelPosition,\n readonly: this.readonly,\n });\n\n const ariaAttributes = {\n 'role': 'switch',\n 'aria-checked': this.checked.toString(),\n 'aria-disabled': this.disabled.toString(),\n 'aria-readonly': this.readonly.toString(),\n ...(this.required && { 'aria-required': 'true' }),\n };\n\n const tabIndexAttr = !this.readonly && !this.disabled ? { tabindex: '0' } : {};\n\n return (\n <div class={base()}>\n <label class={switchWrapper()} style={this.switchStyle()}>\n <input\n id={this.switchId}\n type=\"checkbox\"\n class=\"hidden peer\"\n checked={this.checked}\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n onChange={() => this.toggleSwitch()}\n />\n\n {this.label && <span class={label()}><slot>{this.label}</slot></span>}\n <label\n htmlFor={this.switchId}\n class={dotContainer()}\n {...tabIndexAttr}\n {...ariaAttributes}\n onKeyDown={event => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.readonly && !this.disabled) {\n event.preventDefault();\n this.toggleSwitch();\n }\n }}\n >\n <div class={dot()}></div>\n </label>\n </label>\n\n {this.error && this.caption && <span class={caption()}>{this.caption}</span>}\n <slot name=\"caption\"></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["switchCss","BcmSwitchStyle0","BcmSwitch","constructor","hostRef","this","checked","disabled","labelPosition","error","size","readonly","required","switchId","generateId","switchStyle","defaultStyle","checkedStyle","errorStyle","readonlyStyle","disabledStyle","Object","assign","switchClass","tv","slots","base","switchWrapper","dotContainer","dot","caption","label","variants","small","medium","large","left","right","true","false","compoundVariants","class","toggleSwitch","bcmSwitchChange","emit","render","ariaAttributes","role","toString","tabIndexAttr","tabindex","h","key","style","id","type","name","value","readOnly","onChange","htmlFor","onKeyDown","event","preventDefault"],"sources":["src/components/switch/switch.css?tag=bcm-switch&encapsulation=shadow","src/components/switch/switch.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n","import { Component, Prop, h, Event, EventEmitter, Element, ComponentInterface } from '@stencil/core';\nimport { generateId } from '../../utils/id/generate-id';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmSwitch\n * @description A customizable toggle switch component that provides an intuitive way to enable or disable options.\n * Supports different sizes, label positions, error states, and accessibility features.\n *\n * @example Basic usage\n * <bcm-switch label=\"Enable notifications\"></bcm-switch>\n *\n * @example With error state\n * <bcm-switch\n * label=\"Accept terms\"\n * error={true}\n * caption=\"You must accept the terms to continue\">\n * </bcm-switch>\n *\n * @example Disabled state\n * <bcm-switch\n * label=\"Advanced features\"\n * disabled={true}>\n * </bcm-switch>\n *\n * @example With custom size and label position\n * <bcm-switch\n * label=\"Dark mode\"\n * size=\"large\"\n * labelPosition=\"left\">\n * </bcm-switch>\n */\n@Component({\n tag: 'bcm-switch',\n styleUrl: 'switch.css',\n shadow: true,\n})\nexport class BcmSwitch implements ComponentInterface {\n /** Reference to the host element */\n @Element()\n el: HTMLElement;\n\n /** Whether the switch is checked or not */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Whether the switch is disabled */\n @Prop()\n disabled: boolean = false;\n\n /** The name attribute for the hidden input element */\n @Prop()\n name: string;\n\n /** The value attribute for the hidden input element */\n @Prop()\n value: string;\n\n /** Text label for the switch */\n @Prop()\n label: string;\n\n /** Position of the label relative to the switch */\n @Prop()\n labelPosition: 'left' | 'right' = 'right';\n\n /** Whether to display the switch in an error state */\n @Prop()\n error: boolean = false;\n\n /** Text to display as an error message when error is true */\n @Prop()\n caption?: string;\n\n /** Size variant of the switch */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Whether the switch is in readonly mode */\n @Prop()\n readonly: boolean = false;\n\n /** Whether the switch is required in a form */\n @Prop()\n required: boolean = false;\n\n /** Emitted when the switch state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmSwitchChange: EventEmitter<boolean>;\n\n private switchId = generateId('switch');\n\n private toggleSwitch(): void {\n if (this.disabled || this.readonly) return;\n this.checked = !this.checked;\n this.bcmSwitchChange.emit(this.checked);\n }\n\n private switchStyle = () => {\n const defaultStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-hover)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-base-default)',\n };\n\n const checkedStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-info-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-info-hover)',\n };\n\n const errorStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-error-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-error-hover)',\n };\n\n const readonlyStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-disabled-default)',\n };\n\n const disabledStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-default-default)',\n };\n\n return {\n ...defaultStyle,\n ...(this.checked && checkedStyle),\n ...(this.error && errorStyle),\n ...(this.readonly && readonlyStyle),\n ...(this.disabled && disabledStyle),\n };\n };\n\n private switchClass = tv({\n slots: {\n base: 'bcm-ui-element flex flex-col',\n switchWrapper: 'flex items-center group',\n dotContainer:\n 'relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300',\n dot: 'absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed',\n caption: '!text-color-error font-normal',\n label: '!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed',\n },\n variants: {\n size: {\n small: {\n dotContainer: 'w-8 h-4',\n dot: 'size-3',\n label: 'text-size-4',\n caption: 'text-size-3',\n switchWrapper: 'gap-2',\n base: 'gap-0.5',\n },\n medium: {\n dotContainer: 'w-9 h-[18px]',\n dot: 'size-3.5',\n label: 'text-size-5',\n caption: 'text-size-4',\n switchWrapper: 'gap-2.5',\n base: 'gap-1',\n },\n large: {\n dotContainer: 'w-10 h-5',\n dot: 'size-4',\n label: 'text-size-6',\n caption: 'text-size-5',\n switchWrapper: 'gap-3',\n base: 'gap-2',\n },\n },\n labelPosition: {\n left: {\n label: '',\n },\n right: {\n label: 'order-2',\n },\n },\n checked: {\n true: {\n dot: '',\n },\n false: {\n dot: 'left-0.5',\n },\n },\n disabled: {\n true: '',\n false: {\n switchWrapper: '',\n },\n },\n readonly: {\n true: {\n switchWrapper: 'cursor-default',\n dotContainer: 'cursor-default',\n dot: 'cursor-default',\n },\n false: {\n switchWrapper: 'cursor-pointer',\n dotContainer: 'cursor-pointer hover:bg-[--switch-bg-hover]',\n },\n },\n },\n compoundVariants: [\n {\n size: 'small',\n checked: true,\n class: {\n dot: 'left-[18px]',\n },\n },\n {\n size: 'medium',\n checked: true,\n class: {\n dot: 'left-[20px]',\n },\n },\n {\n size: 'large',\n checked: true,\n class: {\n dot: 'left-[22px]',\n },\n },\n {\n readonly: false,\n disabled: false,\n class: {\n dotContainer: 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300',\n },\n },\n ],\n });\n\n render() {\n const { base, switchWrapper, label, dot, dotContainer, caption } = this.switchClass({\n size: this.size,\n checked: this.checked,\n disabled: this.disabled,\n labelPosition: this.labelPosition,\n readonly: this.readonly,\n });\n\n const ariaAttributes = {\n 'role': 'switch',\n 'aria-checked': this.checked.toString(),\n 'aria-disabled': this.disabled.toString(),\n 'aria-readonly': this.readonly.toString(),\n ...(this.required && { 'aria-required': 'true' }),\n };\n\n const tabIndexAttr = !this.readonly && !this.disabled ? { tabindex: '0' } : {};\n\n return (\n <div class={base()}>\n <label class={switchWrapper()} style={this.switchStyle()}>\n <input\n id={this.switchId}\n type=\"checkbox\"\n class=\"hidden peer\"\n checked={this.checked}\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n onChange={() => this.toggleSwitch()}\n />\n\n {this.label && <span class={label()}><slot>{this.label}</slot></span>}\n <label\n htmlFor={this.switchId}\n class={dotContainer()}\n {...tabIndexAttr}\n {...ariaAttributes}\n onKeyDown={event => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.readonly && !this.disabled) {\n event.preventDefault();\n this.toggleSwitch();\n }\n }}\n >\n <div class={dot()}></div>\n </label>\n </label>\n\n {this.error && this.caption && <span class={caption()}>{this.caption}</span>}\n <slot name=\"caption\"></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as a}from"./p-c9b736d9.js";import{c as r}from"./p-5fcf77f9.js";const i=":host{--bcm-alert-bg:var(--bcm-ui-color-background-default-default);--bcm-alert-text:var(--bcm-ui-color-text-default);--bcm-alert-radius:6px;display:inline-block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.flex{display:flex}.w-full{width:100%}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.rounded-\\[--bcm-alert-radius\\]{border-radius:var(--bcm-alert-radius)}.bg-\\[--bcm-alert-bg\\]{background-color:var(--bcm-alert-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\\[--bcm-alert-text\\]{color:var(--bcm-alert-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const c=i;const s=class{constructor(a){e(this,a);this.bcmDismiss=t(this,"bcmDismiss",7);this.status="default";this.size="medium";this.kind="filled";this.dismissible=true;this.showStatusIcon=true}onDismiss(){this.bcmDismiss.emit()}getStatusIcon(){const e={info:"fa-regular fa-info-circle",error:"fa-regular fa-exclamation-circle",warning:"fa-regular fa-exclamation-triangle",success:"fa-regular fa-check-circle"};return e[this.status]}get alertClass(){return r({slots:{base:"alert bcm-ui-element font-medium flex items-center justify-between bg-[--bcm-alert-bg] text-[--bcm-alert-text] rounded-[--bcm-alert-radius] px-3 gap-3 w-full",section:"flex items-center gap-2"},variants:{size:{small:{base:"py-1.5 text-size-4"},medium:{base:"py-2 text-size-5"},large:{base:"py-2.5 text-size-6"}}}},{twMerge:false})}get alertStyles(){let e={info:"var(--bcm-ui-color-background-palette-blue-default)",error:"var(--bcm-ui-color-background-palette-red-default)",warning:"var(--bcm-ui-color-background-palette-yellow-default)",success:"var(--bcm-ui-color-background-palette-green-default)",default:"var(--bcm-ui-color-background-palette-gray-default)"};let t={info:"var(--bcm-ui-color-text-info)",error:"var(--bcm-ui-color-text-error)",warning:"var(--bcm-ui-color-text-warning)",success:"var(--bcm-ui-color-text-success)",default:"var(--bcm-ui-color-text-default)"};let a={"--bcm-alert-bg":e[this.status],"--bcm-alert-text":t[this.status]};let r={"--bcm-alert-bg":"transparent","--bcm-alert-text":t[this.status]};return this.kind==="filled"?a:r}render(){const{base:e,section:t}=this.alertClass({size:this.size});return a("div",{key:"035970fbe141f9ba657970b3ed6c3d3b25c9667d",role:"alert","aria-live":"assertive","aria-atomic":"true",class:e(),style:this.alertStyles},a("div",{key:"bd835ea4e8de6d45fb619c7cfa3440fb9a219ca9",class:t()},this.showStatusIcon&&a("bcm-icon",{key:"60eefe166c82e92a165e81d9bd2312ffa0d30a93","icon-name":this.getStatusIcon()}),a("slot",{key:"9a499d62f590396cd6ace97c14fdf23613c7e487"})),a("div",{key:"abbcf277f440e812480a4e333f4ecf7638c6d154",class:t()},a("div",{key:"9f9e46f46dbb7da35e4f23f1cd0c9c56ac741793",part:"action"},a("slot",{key:"024d5e74a33cd66cc22f60d35a79ec4c1d8b0e6d",name:"action"})),a("span",{key:"e47d80cd9ebe01aede4e8f4465a4ada9abeecfca",part:"icon"},this.dismissible&&a("bcm-icon",{key:"aca19250258abbd7658ce8914d42315186d4c12e",onClick:()=>this.onDismiss(),class:"cursor-pointer","icon-name":"fa-regular fa-xmark"}))))}};s.style=c;export{s as bcm_alert};
2
- //# sourceMappingURL=p-2cb15e60.entry.js.map
1
+ import{r as e,c as t,h as a}from"./p-9d0aeb92.js";import{c as r}from"./p-5fcf77f9.js";const i=":host{--bcm-alert-bg:var(--bcm-ui-color-background-default-default);--bcm-alert-text:var(--bcm-ui-color-text-default);--bcm-alert-radius:6px;display:inline-block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.flex{display:flex}.w-full{width:100%}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.rounded-\\[--bcm-alert-radius\\]{border-radius:var(--bcm-alert-radius)}.bg-\\[--bcm-alert-bg\\]{background-color:var(--bcm-alert-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\\[--bcm-alert-text\\]{color:var(--bcm-alert-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const c=i;const s=class{constructor(a){e(this,a);this.bcmDismiss=t(this,"bcmDismiss",7);this.status="default";this.size="medium";this.kind="filled";this.dismissible=true;this.showStatusIcon=true}onDismiss(){this.bcmDismiss.emit()}getStatusIcon(){const e={info:"fa-regular fa-info-circle",error:"fa-regular fa-exclamation-circle",warning:"fa-regular fa-exclamation-triangle",success:"fa-regular fa-check-circle"};return e[this.status]}get alertClass(){return r({slots:{base:"alert bcm-ui-element font-medium flex items-center justify-between bg-[--bcm-alert-bg] text-[--bcm-alert-text] rounded-[--bcm-alert-radius] px-3 gap-3 w-full",section:"flex items-center gap-2"},variants:{size:{small:{base:"py-1.5 text-size-4"},medium:{base:"py-2 text-size-5"},large:{base:"py-2.5 text-size-6"}}}},{twMerge:false})}get alertStyles(){let e={info:"var(--bcm-ui-color-background-palette-blue-default)",error:"var(--bcm-ui-color-background-palette-red-default)",warning:"var(--bcm-ui-color-background-palette-yellow-default)",success:"var(--bcm-ui-color-background-palette-green-default)",default:"var(--bcm-ui-color-background-palette-gray-default)"};let t={info:"var(--bcm-ui-color-text-info)",error:"var(--bcm-ui-color-text-error)",warning:"var(--bcm-ui-color-text-warning)",success:"var(--bcm-ui-color-text-success)",default:"var(--bcm-ui-color-text-default)"};let a={"--bcm-alert-bg":e[this.status],"--bcm-alert-text":t[this.status]};let r={"--bcm-alert-bg":"transparent","--bcm-alert-text":t[this.status]};return this.kind==="filled"?a:r}render(){const{base:e,section:t}=this.alertClass({size:this.size});return a("div",{key:"035970fbe141f9ba657970b3ed6c3d3b25c9667d",role:"alert","aria-live":"assertive","aria-atomic":"true",class:e(),style:this.alertStyles},a("div",{key:"bd835ea4e8de6d45fb619c7cfa3440fb9a219ca9",class:t()},this.showStatusIcon&&a("bcm-icon",{key:"60eefe166c82e92a165e81d9bd2312ffa0d30a93","icon-name":this.getStatusIcon()}),a("slot",{key:"9a499d62f590396cd6ace97c14fdf23613c7e487"})),a("div",{key:"abbcf277f440e812480a4e333f4ecf7638c6d154",class:t()},a("div",{key:"9f9e46f46dbb7da35e4f23f1cd0c9c56ac741793",part:"action"},a("slot",{key:"024d5e74a33cd66cc22f60d35a79ec4c1d8b0e6d",name:"action"})),a("span",{key:"e47d80cd9ebe01aede4e8f4465a4ada9abeecfca",part:"icon"},this.dismissible&&a("bcm-icon",{key:"aca19250258abbd7658ce8914d42315186d4c12e",onClick:()=>this.onDismiss(),class:"cursor-pointer","icon-name":"fa-regular fa-xmark"}))))}};s.style=c;export{s as bcm_alert};
2
+ //# sourceMappingURL=p-d9dfad58.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r,h as d}from"./p-c9b736d9.js";import{c as o}from"./p-5fcf77f9.js";const e=".block{display:block}:host{--bcm-divider-border:var(--bcm-ui-color-border-default);display:block}.static{position:static}.h-full{height:100%}.w-full{width:100%}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\\[1px\\]{border-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\\[--bcm-divider-border\\]{border-color:var(--bcm-divider-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const t=e;const i=class{constructor(d){r(this,d);this.direction="horizontal";this.variant="solid";this.size="medium";this.dividerClass=o({base:"border-[--bcm-divider-border]",variants:{direction:{horizontal:"w-full border-t",vertical:"h-full border-l"},variant:{solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},size:{small:"border-[1px]",medium:"border-2",large:"border-4"}},defaultVariants:{direction:"horizontal",variant:"solid",size:"medium"}},{twMerge:false})}render(){return d("div",{key:"0a05471394b0f2ad753dbaf7e9fb0b732534c949",role:"separator","aria-orientation":this.direction,class:this.dividerClass({direction:this.direction,variant:this.variant,size:this.size})})}};i.style=t;export{i as bcm_divider};
2
- //# sourceMappingURL=p-50713153.entry.js.map
1
+ import{r,h as d}from"./p-9d0aeb92.js";import{c as o}from"./p-5fcf77f9.js";const e=".block{display:block}:host{--bcm-divider-border:var(--bcm-ui-color-border-default);display:block}.static{position:static}.h-full{height:100%}.w-full{width:100%}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\\[1px\\]{border-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\\[--bcm-divider-border\\]{border-color:var(--bcm-divider-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const t=e;const i=class{constructor(d){r(this,d);this.direction="horizontal";this.variant="solid";this.size="medium";this.dividerClass=o({base:"border-[--bcm-divider-border]",variants:{direction:{horizontal:"w-full border-t",vertical:"h-full border-l"},variant:{solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},size:{small:"border-[1px]",medium:"border-2",large:"border-4"}},defaultVariants:{direction:"horizontal",variant:"solid",size:"medium"}},{twMerge:false})}render(){return d("div",{key:"0a05471394b0f2ad753dbaf7e9fb0b732534c949",role:"separator","aria-orientation":this.direction,class:this.dividerClass({direction:this.direction,variant:this.variant,size:this.size})})}};i.style=t;export{i as bcm_divider};
2
+ //# sourceMappingURL=p-fd7f1fa0.entry.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
 
7
7
  const accordionGroupCss = ".block{display:block}:host{--bcm-accordion-border:var(--bcm-ui-color-border-default);--bcm-accordion-radius:6px;display:block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.collapse{visibility:collapse}.static{position:static}.flex{display:flex}.w-full{width:100%}.flex-col{flex-direction:column}.rounded-\\[--bcm-accordion-radius\\]{border-radius:var(--bcm-accordion-radius)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-accordion-border\\]{border-color:var(--bcm-accordion-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}";
8
8
  const BcmAccordionGroupStyle0 = accordionGroupCss;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
 
8
8
  const accordionCss = ".block{display:block}.flex{display:flex}.border{border-width:1px}:host{--bcm-accordion-bg:var(--bcm-ui-color-background-basic-panel);--bcm-accordion-content-bg:var(--bcm-ui-color-background-basic-base);--bcm-accordion-text:var(--bcm-ui-color-text-header);--bcm-accordion-border:var(--bcm-ui-color-border-default);--bcm-accordion-radius:6px;--bcm-accordion-footer-bg:var(--bcm-ui-color-background-default-default);display:block;width:100%}:host(:not([group])) .accordion-container{border:1px solid var(--bcm-accordion-border);border-radius:var(--bcm-accordion-radius)}:host([group]) .accordion-container{border-bottom:1px solid var(--bcm-accordion-border);border-radius:0}:host([group]:last-of-type) .accordion-container{border-bottom:none}:host([group]:first-of-type) .accordion-container{border-top-left-radius:var(--bcm-accordion-radius);border-top-right-radius:var(--bcm-accordion-radius)}:host([group]:last-of-type) .accordion-footer{border-bottom-left-radius:var(--bcm-accordion-radius);border-bottom-right-radius:var(--bcm-accordion-radius)}:host(:not([group])) .accordion-footer{border-bottom-left-radius:var(--bcm-accordion-radius);border-bottom-right-radius:var(--bcm-accordion-radius)}::slotted([slot=title]){align-items:center;display:flex;flex-direction:row;gap:10px}::slotted([slot=actions]){align-items:center;display:flex;flex-direction:row;gap:12px}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.collapse{visibility:collapse}.static{position:static}.hidden{display:none}.w-full{width:100%}.min-w-max{min-width:max-content}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.overflow-hidden{overflow:hidden}.text-wrap{text-wrap:wrap}.rounded-\\[--bcm-accordion-radius\\]{border-radius:var(--bcm-accordion-radius)}.bg-\\[--bcm-accordion-bg\\]{background-color:var(--bcm-accordion-bg)}.bg-\\[--bcm-accordion-footer-bg\\]{background-color:var(--bcm-accordion-footer-bg)}.bg-color-basic-base{background-color:var(--bcm-ui-color-background-basic-base)}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-\\[--bcm-accordion-text\\]{color:var(--bcm-accordion-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
 
8
8
  const alertCss = ":host{--bcm-alert-bg:var(--bcm-ui-color-background-default-default);--bcm-alert-text:var(--bcm-ui-color-text-default);--bcm-alert-radius:6px;display:inline-block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.flex{display:flex}.w-full{width:100%}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.rounded-\\[--bcm-alert-radius\\]{border-radius:var(--bcm-alert-radius)}.bg-\\[--bcm-alert-bg\\]{background-color:var(--bcm-alert-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\\[--bcm-alert-text\\]{color:var(--bcm-alert-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-5a88e57b.js');
7
7
 
8
8
  const avatarCss = ":host{--bcm-avatar-bg:var(--bcm-ui-color-background-default-default);--bcm-avatar-text:var(--bcm-ui-color-text-default);--bcm-avatar-radius:50%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.-right-0\\.5{right:-.125rem}.-top-0\\.5{top:-.125rem}.right-0{right:0}.top-0{top:0}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-\\[--bcm-ui-radius\\]{border-radius:var(--bcm-ui-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--bcm-avatar-bg\\]{background-color:var(--bcm-avatar-bg)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-\\[--bcm-avatar-text\\]{color:var(--bcm-avatar-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
 
8
8
  const badgeCss = ".relative{position:relative}:host{--bcm-badge-bg:var(--bcm-ui-color-background-default-default);--bcm-badge-text:var(--bcm-ui-color-text-default);--bcm-badge-radius:9999px;display:inline-block;position:relative}::slotted([slot=badge]){color:var(--bcm-badge-text);font-weight:500}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.-right-0\\.5{right:-.125rem}.-top-0\\.5{top:-.125rem}.right-0{right:0}.top-0{top:0}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-\\[--bcm-ui-radius\\]{border-radius:var(--bcm-ui-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--bcm-avatar-bg\\]{background-color:var(--bcm-avatar-bg)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-\\[--bcm-avatar-text\\]{color:var(--bcm-avatar-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.absolute{position:absolute}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.z-10{z-index:10}.size-1{height:.25rem;width:.25rem}.size-1\\.5{height:.375rem;width:.375rem}.size-2{height:.5rem;width:.5rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.rounded-\\[--bcm-badge-radius\\]{border-radius:var(--bcm-badge-radius)}.bg-\\[--bcm-badge-bg\\]{background-color:var(--bcm-badge-bg)}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\\[0px\\]{font-size:0}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.leading-none{line-height:1}.text-\\[--bcm-badge-text\\]{color:var(--bcm-badge-text)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:h-full:after{content:var(--tw-content);height:100%}.after\\:w-full:after{content:var(--tw-content);width:100%}@keyframes ping{75%,to{content:var(--tw-content);opacity:0;transform:scale(2)}}.after\\:animate-blink:after{animation:ping 2s infinite;content:var(--tw-content)}.after\\:rounded-full:after{border-radius:var(--bcm-ui-border-radius-full,9999px);content:var(--tw-content)}.after\\:bg-\\[--bcm-badge-bg\\]:after{background-color:var(--bcm-badge-bg);content:var(--tw-content)}.after\\:content-\\[\\\"\\\"\\]:after{--tw-content:\"\";content:var(--tw-content)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
 
8
8
  const basicBadgeCss = ":host{--bcm-badge-bg:var(--bcm-ui-color-background-default-default);--bcm-badge-text:var(--bcm-ui-color-text-default);--bcm-badge-radius:9999px;display:inline-flex;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.badge-content{color:var(--bcm-badge-text);font-weight:500}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.inline-flex{display:inline-flex}.size-1{height:.25rem;width:.25rem}.size-1\\.5{height:.375rem;width:.375rem}.size-2{height:.5rem;width:.5rem}.select-none{user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:0}.whitespace-nowrap{white-space:nowrap}.rounded-\\[--bcm-badge-radius\\]{border-radius:var(--bcm-badge-radius)}.bg-\\[--bcm-badge-bg\\]{background-color:var(--bcm-badge-bg)}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\\[0px\\]{font-size:0}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.leading-none{line-height:1}.text-\\[--bcm-badge-text\\]{color:var(--bcm-badge-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
 
8
8
  const buttonGroupCss = ".block{display:block}.flex{display:flex}:host{display:block}.bcm-button-group{display:flex}.static{position:static}.w-full{width:100%}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-9a2c5938.js');
5
+ const index = require('./index-6710808e.js');
6
6
  const index$1 = require('./index-310db2a6.js');
7
7
  const floatingUi_dom_esm = require('./floating-ui.dom.esm-3ec8404c.js');
8
8
  const index$2 = require('./index-5a88e57b.js');
@@ -149,7 +149,7 @@ const variantOptions = {
149
149
  },
150
150
  };
151
151
 
152
- const buttonCss = ".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.static{position:static}.inline-flex{display:inline-flex}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-8{min-height:2rem}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-final-border-color\\]{border-color:var(--bcm-final-border-color)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.bg-\\[--bcm-final-bg-color\\]{background-color:var(--bcm-final-bg-color)}.bg-\\[--bcm-ui-color-background-disabled-default\\]{background-color:var(--bcm-ui-color-background-disabled-default)}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-px{padding-bottom:1px;padding-top:1px}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.leading-none{line-height:1}.text-\\[--bcm-final-text-color\\]{color:var(--bcm-final-text-color)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.hover\\:bg-\\[--bcm-final-hover-bg-color\\]:hover{background-color:var(--bcm-final-hover-bg-color)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\\:bg-\\[--bcm-final-active-bg-color\\]:active{background-color:var(--bcm-final-active-bg-color)}.flex{display:flex}.max-h-64{max-height:16rem}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-row{flex-direction:row}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}";
152
+ const buttonCss = ".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.static{position:static}.inline-flex{display:inline-flex}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-8{min-height:2rem}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-final-border-color\\]{border-color:var(--bcm-final-border-color)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.bg-\\[--bcm-final-bg-color\\]{background-color:var(--bcm-final-bg-color)}.bg-\\[--bcm-ui-color-background-disabled-default\\]{background-color:var(--bcm-ui-color-background-disabled-default)}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-px{padding-bottom:1px;padding-top:1px}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.leading-none{line-height:1}.text-\\[--bcm-final-text-color\\]{color:var(--bcm-final-text-color)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.hover\\:bg-\\[--bcm-final-hover-bg-color\\]:hover{background-color:var(--bcm-final-hover-bg-color)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\\:bg-\\[--bcm-final-active-bg-color\\]:active{background-color:var(--bcm-final-active-bg-color)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-64{max-width:16rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}.max-h-64{max-height:16rem}.min-w-10{min-width:2.5rem}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";
153
153
  const BcmButtonStyle0 = buttonCss;
154
154
 
155
155
  const BcmButton = class {
@@ -315,7 +315,7 @@ const BcmButton = class {
315
315
  };
316
316
  BcmButton.style = BcmButtonStyle0;
317
317
 
318
- const dropdownCss = ".visible{visibility:visible}.hidden{display:none}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}";
318
+ const dropdownCss = ".visible{visibility:visible}.hidden{display:none}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}";
319
319
  const BcmDropdownStyle0 = dropdownCss;
320
320
 
321
321
  const Dropdown = class {
@@ -498,7 +498,7 @@ const BcmLinked = class {
498
498
  }
499
499
  componentDidLoad() {
500
500
  requestAnimationFrame(() => {
501
- this.floatingEl = this.host.shadowRoot.querySelector('.floating-content');
501
+ this.floatingEl = this.host.querySelector('.floating-content');
502
502
  this.isReady = true;
503
503
  this.connectTarget();
504
504
  });
@@ -509,14 +509,16 @@ const BcmLinked = class {
509
509
  this.clearTimeouts();
510
510
  (_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
511
511
  (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
512
- // Clean up any portal elements from body
513
- if (this.appendToBody) {
514
- const portalElements = document.querySelectorAll('[data-floating-portal="true"]');
515
- portalElements.forEach(el => {
516
- if (el.parentNode) {
517
- el.parentNode.removeChild(el);
512
+ // Restore any portal elements before cleanup
513
+ if (this.appendToBody && this.floatingEl && this.floatingEl.hasAttribute('data-floating-portal')) {
514
+ if (this.originalParent) {
515
+ if (this.originalNextSibling) {
516
+ this.originalParent.insertBefore(this.floatingEl, this.originalNextSibling);
518
517
  }
519
- });
518
+ else {
519
+ this.originalParent.appendChild(this.floatingEl);
520
+ }
521
+ }
520
522
  }
521
523
  }
522
524
  connectTarget() {
@@ -656,32 +658,36 @@ const BcmLinked = class {
656
658
  return;
657
659
  this.bcmShow.emit();
658
660
  this.isVisible = true;
659
- // Move to body if appendToBody is enabled
661
+ // Move to body if appendToBody is enabled - now much simpler without shadow DOM
660
662
  if (this.appendToBody && this.floatingEl && !document.body.contains(this.floatingEl)) {
661
- // Clone the element to body for positioning outside overflow containers
662
- const clonedElement = this.floatingEl.cloneNode(true);
663
- clonedElement.setAttribute('data-floating-portal', 'true');
664
- document.body.appendChild(clonedElement);
665
- // Hide original and use cloned version for positioning
666
- this.floatingEl.style.display = 'none';
667
- this.floatingEl = clonedElement;
663
+ // Store original position for restoration
664
+ this.originalParent = this.floatingEl.parentElement;
665
+ this.originalNextSibling = this.floatingEl.nextElementSibling;
666
+ // Move the actual element to body (preserves all content including Angular components)
667
+ this.floatingEl.setAttribute('data-floating-portal', 'true');
668
+ document.body.appendChild(this.floatingEl);
668
669
  }
669
670
  await this.updatePosition();
670
671
  }
671
672
  async hide() {
672
- var _a, _b;
673
673
  if (!this.isVisible)
674
674
  return;
675
675
  this.bcmHide.emit();
676
676
  this.isVisible = false;
677
- // Clean up appended element from body
677
+ // Restore element to original position if it was moved to body
678
678
  if (this.appendToBody && this.floatingEl && this.floatingEl.hasAttribute('data-floating-portal')) {
679
- (_a = this.floatingEl.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.floatingEl);
680
- // Restore original floating element
681
- this.floatingEl = (_b = this.host.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.floating-content');
682
- if (this.floatingEl) {
683
- this.floatingEl.style.display = '';
679
+ this.floatingEl.removeAttribute('data-floating-portal');
680
+ if (this.originalParent) {
681
+ if (this.originalNextSibling) {
682
+ this.originalParent.insertBefore(this.floatingEl, this.originalNextSibling);
683
+ }
684
+ else {
685
+ this.originalParent.appendChild(this.floatingEl);
686
+ }
684
687
  }
688
+ // Clear stored references
689
+ this.originalParent = null;
690
+ this.originalNextSibling = null;
685
691
  }
686
692
  if (this.destroyOnHide && this.floatingEl && this.floatingEl.parentNode) {
687
693
  this.floatingEl.parentNode.removeChild(this.floatingEl);
@@ -708,7 +714,7 @@ const BcmLinked = class {
708
714
  };
709
715
  return [
710
716
  // Portal div to body for positioning, but keep slot in shadow DOM
711
- index.h("div", { key: '3a6a855fd4c0ae0d215612645c7fa08c6b16b66d', class: floatingClasses, style: {
717
+ index.h("div", { key: '2fa1273f3f92b1904f8316b8aaea45d84ac5f023', class: floatingClasses, style: {
712
718
  position: 'fixed',
713
719
  top: '0px',
714
720
  left: '0px',
@@ -716,9 +722,9 @@ const BcmLinked = class {
716
722
  visibility: this.isVisible ? 'visible' : 'hidden',
717
723
  opacity: this.isVisible ? '1' : '0',
718
724
  pointerEvents: this.isVisible ? 'auto' : 'none',
719
- } }, this.arrow && index.h("div", { key: '2396f1ed4b45ab9378809be7030d8f174b5116e0', class: "floating-arrow" }), index.h("div", { key: 'da14fa64c2e2148970cda8a6db3b0b9bf9a32a01', class: "floating-wrapper" }, index.h("slot", { key: '9c945f751b80fbaa9737e81328695f7241165421' }))),
725
+ } }, this.arrow && index.h("div", { key: '6a25f85392fd3031a52f3f3be53263917adb61c8', class: "floating-arrow" }), index.h("div", { key: '0e1295e4f9b9764971689d94fa21e9c2b0dcefea', class: "floating-wrapper" }, index.h("slot", { key: '0b5d6e6cf9ffa8262a6fd9cc7c1b9bd46029c220' }))),
720
726
  // Hidden content holder for slot fallback
721
- index.h("div", { key: '8bd18f8282c1ddb9d54aaa78363fda44735284ee', style: { display: 'none' } }, index.h("slot", { key: '2da6f4e6203123d5d3e4f8414446bdebf3710061', name: "fallback" })),
727
+ index.h("div", { key: '66f2dd9882f4b1870214db30c8026073c86ad137', style: { display: 'none' } }, index.h("slot", { key: 'ea0c9eb10e96a65a3af21a615f5c7df939f2717c', name: "fallback" })),
722
728
  ];
723
729
  }
724
730
  get host() { return index.getElement(this); }