bromcom-ui-next 0.1.14 → 0.1.15
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.
- package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
- package/dist/bromcom-ui/p-35559656.entry.js +2 -0
- package/dist/bromcom-ui/p-35559656.entry.js.map +1 -0
- package/dist/bromcom-ui/p-7f4cb7a0.entry.js +2 -0
- package/dist/bromcom-ui/{p-25583111.entry.js.map → p-7f4cb7a0.entry.js.map} +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-button_5.cjs.entry.js +25 -3
- package/dist/cjs/bcm-button_5.cjs.entry.js.map +1 -1
- package/dist/cjs/bromcom-ui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/linked/linked.component.js +44 -2
- package/dist/collection/components/linked/linked.component.js.map +1 -1
- package/dist/components/bcm-alert.js +1 -1
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-button.js +1 -1
- package/dist/components/bcm-dropdown.js +2 -2
- package/dist/components/bcm-linked.js +1 -1
- package/dist/components/bcm-pop-confirm.js +1 -1
- package/dist/components/{p-41d34b15.js → p-39872cdf.js} +26 -3
- package/dist/components/p-39872cdf.js.map +1 -0
- package/dist/components/{p-b5bee06c.js → p-c7b74f83.js} +2 -2
- package/dist/components/{p-b5bee06c.js.map → p-c7b74f83.js.map} +1 -1
- package/dist/esm/bcm-alert.entry.js +1 -1
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-button_5.entry.js +25 -3
- package/dist/esm/bcm-button_5.entry.js.map +1 -1
- package/dist/esm/bromcom-ui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/linked/linked.component.d.ts +3 -0
- package/dist/types/components.d.ts +2 -0
- package/package.json +1 -1
- package/dist/bromcom-ui/p-25583111.entry.js +0 -2
- package/dist/bromcom-ui/p-9ff6db92.entry.js +0 -2
- package/dist/bromcom-ui/p-9ff6db92.entry.js.map +0 -1
- package/dist/components/p-41d34b15.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as a}from"./p-9d0aeb92.js";export{s as setNonce}from"./p-9d0aeb92.js";import{g as t}from"./p-ddf64315.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-1b4ccb21",[[1,"bcm-avatar",{image:[1],alt:[1],shape:[1],size:[1],color:[1],icon:[1],status:[1],blink:[4],name:[1],isFallback:[32]}]]],["p-0721540b",[[1,"bcm-pop-confirm",{arrowColor:[1,"arrow-color"],cancelText:[1,"cancel-text"],confirmText:[1,"confirm-text"],description:[1],headerText:[1,"header-text"],placement:[1],size:[1],status:[1],statusIcon:[4,"status-icon"],targetId:[1,"target-id"],isOpen:[32],currentPlacement:[32],show:[64],hide:[64]}]]],["p-8550a2aa",[[1,"bcm-accordion",{expanded:[1540],headerTitle:[1,"header-title"],group:[516],hintText:[1,"hint-text"],hasFooterContent:[32],toggle:[64],expand:[64],collapse:[64]}]]],["p-67ceb7f3",[[1,"bcm-accordion-group",{multi:[4],accordionItems:[32],expandAll:[64],collapseAll:[64],getExpandedItems:[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["p-
|
|
1
|
+
import{p as e,b as a}from"./p-9d0aeb92.js";export{s as setNonce}from"./p-9d0aeb92.js";import{g as t}from"./p-ddf64315.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await t();return a([["p-1b4ccb21",[[1,"bcm-avatar",{image:[1],alt:[1],shape:[1],size:[1],color:[1],icon:[1],status:[1],blink:[4],name:[1],isFallback:[32]}]]],["p-0721540b",[[1,"bcm-pop-confirm",{arrowColor:[1,"arrow-color"],cancelText:[1,"cancel-text"],confirmText:[1,"confirm-text"],description:[1],headerText:[1,"header-text"],placement:[1],size:[1],status:[1],statusIcon:[4,"status-icon"],targetId:[1,"target-id"],isOpen:[32],currentPlacement:[32],show:[64],hide:[64]}]]],["p-8550a2aa",[[1,"bcm-accordion",{expanded:[1540],headerTitle:[1,"header-title"],group:[516],hintText:[1,"hint-text"],hasFooterContent:[32],toggle:[64],expand:[64],collapse:[64]}]]],["p-67ceb7f3",[[1,"bcm-accordion-group",{multi:[4],accordionItems:[32],expandAll:[64],collapseAll:[64],getExpandedItems:[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["p-7f4cb7a0",[[1,"bcm-alert",{status:[1],size:[1],kind:[1],dismissible:[4],showStatusIcon:[4,"show-status-icon"]}]]],["p-03be08cc",[[1,"bcm-basic-badge",{size:[1],variant:[1],color:[1],soft:[4],text:[1]}]]],["p-4149c766",[[1,"bcm-button-group",{kind:[1],size:[1],status:[1],fullWidth:[516,"full-width"],loading:[4],disabled:[4],orientation:[513]}]]],["p-842b48ae",[[1,"bcm-checkbox",{_id:[513,"id"],label:[1],name:[1],indeterminate:[1028],size:[1],checked:[1028],error:[4],disabled:[4],labelPosition:[1,"label-position"],internalChecked:[32]},null,{checked:["syncCheckedProp"],indeterminate:["updateIndeterminateState"],internalChecked:["updateIndeterminateState"]}]]],["p-7b93985f",[[1,"bcm-chip",{size:[1],kind:[1],status:[1],dismissible:[4],disabled:[4],color:[1]}]]],["p-42feef7e",[[1,"bcm-divider",{direction:[1],variant:[1],size:[1]}]]],["p-560b2394",[[1,"bcm-input",{value:[1537],placeholder:[1],name:[1],_id:[513,"id"],size:[1],status:[1],fullWidth:[516,"full-width"],type:[1],disabled:[4],readonly:[4],required:[4],autocomplete:[1],minLength:[2,"min-length"],maxLength:[2,"max-length"],min:[2],max:[2],step:[2],pattern:[1],label:[1],errorMessage:[1,"error-message"],captionText:[1,"caption-text"],labelledby:[1],describedby:[1],prefixIcon:[1,"prefix-icon"],suffixIcon:[1,"suffix-icon"],useNativeValidation:[4,"use-native-validation"],validator:[16],isFocused:[32],validationMessage:[32],isValid:[32],internalStatus:[32],internalErrorMessage:[32],isPasswordVisible:[32],setFocus:[64],setBlur:[64],select:[64],setLocale:[64]},null,{value:["handleValueChange"],status:["watchStatus"],errorMessage:["watchErrorMessage"]}]]],["p-77abe8d1",[[1,"bcm-popover",{size:[1],placement:[1],trigger:[1],hoverDelay:[2,"hover-delay"],open:[1028],headerText:[1,"header-text"],message:[1],openPopup:[64],closePopup:[64]}]]],["p-adda3b4e",[[1,"bcm-radio",{label:[1],name:[1],value:[1],checked:[516],size:[1],disabled:[4],readonly:[4],labelPosition:[1,"label-position"],error:[4]}]]],["p-aae240d5",[[1,"bcm-radio-group",{name:[1],value:[1],disabled:[4],required:[4],error:[4],label:[1],size:[1],direction:[1],captionText:[1,"caption-text"],setClear:[64],resetCaption:[64]},[[2,"bcmRadioChange","handleRadioChange"]],{value:["handleValueChange"]}]]],["p-7e97d4e2",[[1,"bcm-segmented-picker",{size:[1],value:[1537],disabled:[4],fullWidth:[516,"full-width"],options:[32],indicatorStyles:[32]},[[0,"bcmOptionClick","handleOptionClick"]],{value:["valueChanged"]}]]],["p-404e19f9",[[1,"bcm-segmented-picker-option",{value:[1],label:[1],size:[1],selected:[1028],disabled:[4],getWidth:[64]}]]],["p-56f1cec8",[[1,"bcm-switch",{checked:[1540],disabled:[4],name:[1],value:[1],label:[1],labelPosition:[1,"label-position"],error:[4],caption:[1],size:[1],readonly:[4],required:[4]}]]],["p-4106560e",[[1,"bcm-tabs",{defaultValue:[513,"default-value"],size:[513],activeTab:[32],previousTab:[32],disableTab:[64],enableTab:[64],disableAllTabs:[64],enableAllTabs:[64],getActiveTab:[64],setActiveTab:[64]},[[9,"resize","handleResize"],[2,"bcmTabSelected","handleTabSelected"]],{size:["handleSizeChange"]}]]],["p-cbd2f782",[[1,"bcm-tabs-content",{value:[513]}]]],["p-1be5f78e",[[1,"bcm-tabs-list"]]],["p-9cb99b5d",[[1,"bcm-tabs-trigger",{value:[513],active:[516],size:[513],disabled:[516]}]]],["p-42b485a7",[[1,"bcm-textarea",{value:[1537],rows:[2],cols:[2],minRows:[2,"min-rows"],maxRows:[2,"max-rows"],resize:[1],autoGrow:[4,"auto-grow"],placeholder:[1],name:[1],_id:[513,"id"],size:[1],status:[1],fullWidth:[516,"full-width"],disabled:[4],readonly:[4],required:[4],minLength:[2,"min-length"],maxLength:[2,"max-length"],showCounter:[4,"show-counter"],label:[1],errorMessage:[1,"error-message"],captionText:[1,"caption-text"],labelledby:[1],describedby:[1],validator:[16],isFocused:[32],validationMessage:[32],isValid:[32],internalStatus:[32],internalErrorMessage:[32],setFocus:[64],setBlur:[64],select:[64]},null,{value:["handleValueChange"],status:["watchStatus"],errorMessage:["watchErrorMessage"]}]]],["p-ea1368b5",[[1,"bcm-tooltip",{trigger:[1],placement:[1],size:[1],message:[1],showDelay:[2,"show-delay"],open:[32],openTooltip:[64],closeTooltip:[64]}]]],["p-fe7e2cfd",[[1,"bcm-badge",{size:[1],variant:[1],color:[1],soft:[4],blink:[4],status:[1],position:[1],offset:[1],text:[1]}]]],["p-35559656",[[1,"bcm-dropdown",{text:[1],isReady:[32],dropdownItems:[32]},[[2,"bcmDropDownItemChange","handleDropdownItemChange"]]],[1,"bcm-dropdown-item",{text:[1],icon:[1],rightIcons:[16],selected:[516],error:[516],disabled:[516]}],[1,"bcm-text",{text:[1],variant:[1],size:[1],overflow:[4]}],[4,"bcm-linked",{targetId:[513,"target-id"],targetElement:[16],trigger:[1],placement:[1],showDelay:[2,"show-delay"],hideDelay:[2,"hide-delay"],offset:[2],arrow:[4],disabled:[4],zIndex:[2,"z-index"],appendToBody:[4,"append-to-body"],destroyOnHide:[4,"destroy-on-hide"],isVisible:[32],isReady:[32],show:[64],hide:[64],toggle:[64],updatePositioning:[64]},null,{targetId:["setupTarget"],targetElement:["setupTarget"],isVisible:["onVisibilityChange"]}],[1,"bcm-button",{kind:[1],size:[1],status:[1],variant:[1],position:[513],icon:[1],iconPosition:[1,"icon-position"],iconOnly:[4,"icon-only"],fullWidth:[516,"full-width"],type:[1],loading:[4],disabled:[4],text:[1],active:[4],form:[1],value:[1],name:[1],label:[1],expanded:[1],controls:[1]}]]]],e)}));
|
|
2
2
|
//# sourceMappingURL=bromcom-ui.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","image","alt","shape","size","color","icon","status","blink","name","isFallback","arrowColor","cancelText","confirmText","description","headerText","placement","statusIcon","targetId","isOpen","currentPlacement","show","hide","expanded","headerTitle","group","hintText","hasFooterContent","toggle","expand","collapse","multi","accordionItems","expandAll","collapseAll","getExpandedItems","kind","dismissible","showStatusIcon","variant","soft","text","fullWidth","loading","disabled","orientation","_id","label","indeterminate","checked","error","labelPosition","internalChecked","direction","value","placeholder","type","readonly","required","autocomplete","minLength","maxLength","min","max","step","pattern","errorMessage","captionText","labelledby","describedby","prefixIcon","suffixIcon","useNativeValidation","validator","isFocused","validationMessage","isValid","internalStatus","internalErrorMessage","isPasswordVisible","setFocus","setBlur","select","setLocale","trigger","hoverDelay","open","message","openPopup","closePopup","setClear","resetCaption","indicatorStyles","selected","getWidth","caption","defaultValue","activeTab","previousTab","disableTab","enableTab","disableAllTabs","enableAllTabs","getActiveTab","setActiveTab","active","rows","cols","minRows","maxRows","resize","autoGrow","showCounter","showDelay","openTooltip","closeTooltip","position","offset","isReady","dropdownItems","rightIcons","overflow","targetElement","hideDelay","arrow","zIndex","destroyOnHide","isVisible","updatePositioning","iconPosition","iconOnly","form","controls"],"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","image","alt","shape","size","color","icon","status","blink","name","isFallback","arrowColor","cancelText","confirmText","description","headerText","placement","statusIcon","targetId","isOpen","currentPlacement","show","hide","expanded","headerTitle","group","hintText","hasFooterContent","toggle","expand","collapse","multi","accordionItems","expandAll","collapseAll","getExpandedItems","kind","dismissible","showStatusIcon","variant","soft","text","fullWidth","loading","disabled","orientation","_id","label","indeterminate","checked","error","labelPosition","internalChecked","direction","value","placeholder","type","readonly","required","autocomplete","minLength","maxLength","min","max","step","pattern","errorMessage","captionText","labelledby","describedby","prefixIcon","suffixIcon","useNativeValidation","validator","isFocused","validationMessage","isValid","internalStatus","internalErrorMessage","isPasswordVisible","setFocus","setBlur","select","setLocale","trigger","hoverDelay","open","message","openPopup","closePopup","setClear","resetCaption","indicatorStyles","selected","getWidth","caption","defaultValue","activeTab","previousTab","disableTab","enableTab","disableAllTabs","enableAllTabs","getActiveTab","setActiveTab","active","rows","cols","minRows","maxRows","resize","autoGrow","showCounter","showDelay","openTooltip","closeTooltip","position","offset","isReady","dropdownItems","rightIcons","overflow","targetElement","hideDelay","arrow","zIndex","appendToBody","destroyOnHide","isVisible","updatePositioning","iconPosition","iconOnly","form","controls"],"sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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";import{a as s,o as n,f as l,s as c,c as d}from"./p-50133556.js";import{c as h}from"./p-12360e4c.js";const b={save:{text:"Save",status:"success",icon:"far fa-save",iconPosition:"prefix",kind:"primary"},ok:{text:"Ok",status:"success",icon:"far fa-check",iconPosition:"prefix"},new:{text:"New",status:"success",icon:"far fa-plus",iconPosition:"prefix"},add:{text:"Add",status:"success",icon:"far fa-plus",iconPosition:"prefix"},create:{text:"Create",status:"success",icon:"far fa-plus",iconPosition:"prefix"},prev:{text:"Prev",status:"default",icon:"far fa-arrow-left",iconPosition:"prefix"},next:{text:"Next",status:"default",icon:"far fa-arrow-right",iconPosition:"suffix"},apply:{text:"Apply",status:"default",icon:"far fa-check-circle",iconPosition:"prefix"},submit:{text:"Submit",status:"default",icon:"far fa-save",iconPosition:"prefix"},send:{text:"Send",status:"success",icon:"far fa-paper-plane",iconPosition:"prefix"},delete:{text:"Delete",status:"error",icon:"far fa-trash",iconPosition:"prefix"},cancel:{text:"Cancel",status:"error",icon:"far fa-times",iconPosition:"prefix"},decline:{text:"Decline",status:"error",icon:"far fa-ban",iconPosition:"prefix"},close:{text:"Close",status:"error",icon:"far fa-times-circle",iconPosition:"prefix"},archive:{text:"Archive",status:"error",icon:"far fa-folder-open",iconPosition:"prefix"},remove:{text:"Remove",status:"error",icon:"far fa-minus-circle",iconPosition:"prefix"},edit:{text:"Edit",status:"default",icon:"far fa-edit",iconPosition:"prefix"},export:{text:"Export",status:"default",icon:"far fa-sign-out",iconPosition:"prefix"},import:{text:"Import",status:"default",icon:"far fa-sign-in",iconPosition:"prefix"},filter:{text:"Filter",status:"default",icon:"far fa-filter",iconPosition:"prefix"},update:{text:"Update",status:"default",icon:"far fa-sync",iconPosition:"prefix"},reset:{text:"Reset",status:"default",icon:"far fa-sync",iconPosition:"prefix"},download:{text:"Download",status:"default",icon:"far fa-download",iconPosition:"prefix"}};const f=".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}.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}.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}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.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)}.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}.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)}";const u=f;const m=class{constructor(i){t(this,i);this.bcmClick=e(this,"bcmClick",1);this.bcmFocus=e(this,"bcmFocus",1);this.bcmBlur=e(this,"bcmBlur",1);this.kind="primary";this.size="medium";this.status="default";this.iconPosition="prefix";this.iconOnly=false;this.fullWidth=false;this.type="button";this.loading=false;this.disabled=false;this.active=false;this.handleClick=t=>{if(!this.disabled&&!this.loading){this.bcmClick.emit(t)}};this.handleFocus=t=>{this.bcmFocus.emit(t)};this.handleBlur=t=>{this.bcmBlur.emit(t)};this.buttonClass=a({base:"bcm-button appearance-none inline-flex items-center justify-center border border-solid rounded outline-0",variants:{size:{small:"text-size-4 py-px px-2 min-h-6",medium:"text-size-5 py-0.5 px-3 min-h-8",large:"text-size-6 py-1 px-3 min-h-10"},kind:{primary:"kind-primary",ghost:"kind-ghost",text:"kind-text",outline:"kind-outline"},fullWidth:{true:"full-width w-full"},disabled:{true:"disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled",false:["cursor-pointer","bg-[--bcm-final-bg-color] text-[--bcm-final-text-color] border-[--bcm-final-border-color]","hover:bg-[--bcm-final-hover-bg-color]","active:bg-[--bcm-final-active-bg-color]","focus-visible:ring"]},loading:{true:""},position:{first:"position-first",middle:"position-middle",last:"position-last"}},defaultVariants:{size:"medium",kind:"primary",fullWidth:false,disabled:false,loading:false}},{twMerge:false})}get buttonText(){return this.text||(this.variant?b[this.variant].text:"")}get buttonIcon(){if(this.variant&&b[this.variant].icon){return{icon:b[this.variant].icon,position:b[this.variant].iconPosition||"prefix"}}return{icon:this.icon,position:this.iconPosition}}get buttonStatus(){return this.variant?b[this.variant].status:this.status}get buttonStyles(){const t=this.buttonStatus==="default"?"primary":this.buttonStatus;const e={primary:{"--bcm-button-bg":`var(--bcm-ui-color-background-${t}-default)`,"--bcm-button-bg-hover":`var(--bcm-ui-color-background-${t}-hover)`,"--bcm-button-bg-active":`var(--bcm-ui-color-background-${t}-active)`,"--bcm-button-border":"transparent","--bcm-button-text":"var(--bcm-ui-color-text-base)"},outline:{"--bcm-button-bg":"var(--bcm-ui-color-background-default-default)","--bcm-button-bg-hover":"var(--bcm-ui-color-background-default-hover)","--bcm-button-bg-active":"var(--bcm-ui-color-background-default-active)","--bcm-button-border":`var(--bcm-ui-color-border-${this.buttonStatus})`,"--bcm-button-text":`var(--bcm-ui-color-text-${this.buttonStatus})`},ghost:{"--bcm-button-bg":"transparent","--bcm-button-bg-hover":"var(--bcm-ui-color-background-default-hover)","--bcm-button-bg-active":"var(--bcm-ui-color-background-default-active)","--bcm-button-border":"transparent","--bcm-button-text":`var(--bcm-ui-color-text-${this.buttonStatus})`},text:{"--bcm-button-bg":"transparent","--bcm-button-bg-hover":"var(--bcm-ui-color-background-default-hover)","--bcm-button-bg-active":"var(--bcm-ui-color-background-default-active)","--bcm-button-border":"transparent","--bcm-button-text":`var(--bcm-ui-color-text-${t})`}};const i=e[this.kind];const o={"--bcm-final-text-color":`var(--bcm-button-custom-text-color, ${i["--bcm-button-text"]})`,"--bcm-final-border-color":`var(--bcm-button-custom-border-color, ${i["--bcm-button-border"]})`,"--bcm-final-bg-color":`var(--bcm-button-custom-bg-color, ${i["--bcm-button-bg"]})`,"--bcm-final-hover-bg-color":`var(--bcm-button-custom-hover-bg-color, ${i["--bcm-button-bg-hover"]})`,"--bcm-final-active-bg-color":`var(--bcm-button-custom-active-bg-color, ${i["--bcm-button-bg-active"]})`};return Object.assign(Object.assign({},i),o)}render(){const{icon:t,position:e}=this.buttonIcon;return i(o,{key:"821f52c3a042fed2dce63e90152aebe3e9f40dc5"},i("button",{key:"429988208144ebd9b52f1543825860e9fdf6c538",type:this.type,disabled:this.disabled||this.loading,"aria-label":this.label,"aria-expanded":this.expanded,"aria-controls":this.controls,"aria-disabled":this.disabled,onClick:this.handleClick,onFocus:this.handleFocus,onBlur:this.handleBlur,style:this.buttonStyles,class:this.buttonClass({size:this.size,kind:this.kind,fullWidth:this.fullWidth,disabled:this.disabled,loading:this.loading,position:this.position})},this.loading&&i("slot",{key:"525e1f9ffdc301e0bba2939d9fece560b377d9a3",name:"loading"}),i("span",{key:"530f53a3d0f483555752f5ac95d5f029faf03a8d"},i("slot",{key:"61b27a37dce9588633f45f18d025c207ee9d23f7",name:"prefix"},e==="prefix"&&t&&i("i",{key:"6b0d757356f94f0d1ed4731175f2340dfdb3ba45",class:" leading-none "+t}))),i("slot",{key:"8b014d1f25d7c8387c6a3b18474207695a911e12"},this.buttonText),i("span",{key:"9e9c42c69be3891d2720dbd9882ea418a90802b8"},i("slot",{key:"fc676b39c8c79225d09c9cd18506087bef811acc",name:"suffix"},e==="suffix"&&t&&i("i",{key:"0ad46cc5204af2a6525cc0156d828c57bd5078a5",class:" leading-none "+t})))))}};m.style=u;const p=".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}";const x=p;const g=class{constructor(i){t(this,i);this.bcmDropdownChange=e(this,"bcmDropdownChange",1);this.isReady=false;this.dropdownItems=[];this.dropdownClass=a({base:"dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto"});this.handleSlotChange=()=>{this.dropdownItems=Array.from(this.host.querySelectorAll("bcm-dropdown-item"));if(this.dropdownItems.length===0){console.warn("No dropdown items found in dropdown component")}}}componentDidLoad(){const t=this.host.shadowRoot.querySelector("bcm-button");if(t){this.buttonRef=t;this.isReady=true}}handleDropdownItemChange(t){var e;const{element:i,selected:o}=t===null||t===void 0?void 0:t.detail;(e=this.dropdownItems)===null||e===void 0?void 0:e.forEach((t=>{if(t!=i){t.selected=false}}));this.bcmDropdownChange.emit({element:i,selected:o})}render(){return i(o,{key:"b6b172a832d1201797fe65cc567a19d3a9410538"},i("bcm-button",{key:"38b60aa6646c366bfb9e94437eadeb31cd5a41c3",kind:"outline"},i("span",{key:"dd6bdafb5aa97037657213d82471f118db894732",part:"text"},this.text)),this.isReady&&i("bcm-linked",{key:"c39b67e2b57278d1255051a1673ee91ee98732a5",targetElement:this.buttonRef},i("div",{key:"17b8c82f492834cded9f38aceaa985d26466dbb5",part:"dropdown-container",class:this.dropdownClass()},i("slot",{key:"daad86fab6fd40e7fcc7a7a78ad761ca805c8331",onSlotchange:this.handleSlotChange}))))}get host(){return r(this)}};g.style=x;const v=".flex{display:flex}:host{display:inline-block;width:100%}::slotted([slot=left-content]){align-items:center;display:flex;flex-direction:row;gap:8px}::slotted([slot=right-content]){align-items:center;display:flex;flex-direction:row;gap:8px}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.gap-2{gap:.5rem}.text-pretty{text-wrap:pretty}.bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]{background-color:var(--bcm-ui-color-background-base-active)}.bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]{background-color:var(--bcm-ui-color-background-palette-red-default)}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.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)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-active)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-hover\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-hover)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]:hover{background-color:var(--bcm-ui-color-background-palette-red-default)}";const w=v;const y=class{constructor(i){t(this,i);this.bcmDropDownItemChange=e(this,"bcmDropDownItemChange",1);this.selected=false;this.error=false;this.disabled=false;this.dropdownItemClass=a({base:"dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color",variants:{selected:{true:"bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]",false:"hover:bg-[var(--bcm-ui-color-background-base-hover)]"},error:{true:"bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]",false:""},disabled:{true:"",false:""}},defaultVariants:{selected:false,error:false,disabled:false}},{twMerge:false})}handleClick(){this.selected=true;this.bcmDropDownItemChange.emit({element:this.host,selected:this.selected})}render(){var t;return i("div",{key:"7756e6fcd9beabda721d735faf5088ab388a3fad","aria-checked":this.selected,class:this.dropdownItemClass({selected:this.selected,error:this.error}),onClick:()=>this.handleClick()},i("slot",{key:"c82e58e2cc676b3e3beaf21d60e704a082e24abf",name:"left-content"},this.icon&&i("bcm-icon",{key:"86abc6f0530b2325ba8a9c008cca8a52af15c1b1","icon-name":this.icon})),i("div",{key:"0b15cbe969408e6687447d9e5057f9c4087a564c",class:"flex flex-row text-pretty w-full"},i("slot",{key:"23a8ed4de54995f6c9d2570346fdfca67116f0d5"},this.text)),i("slot",{key:"3245adefb4fc7ad2e64ba0193779d0ba7133b2a0",name:"right-content"},(t=this.rightIcons)===null||t===void 0?void 0:t.map((t=>i("bcm-icon",{"icon-name":t})))))}get host(){return r(this)}};y.style=w;const k='.absolute{position:absolute}.relative{position:relative}.block{display:block}.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))}.border{border-width:1px}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}bcm-linked{display:block;position:relative}bcm-linked[append-to-body]{display:none}.floating-content{min-width:-moz-max-content;min-width:max-content;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;will-change:transform,opacity}.floating-visible{animation:fadeInScale .2s ease-out}.floating-hidden{display:none!important;pointer-events:none}.floating-wrapper{position:relative;z-index:1}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-arrow{z-index:-1}.floating-arrow,.floating-arrow:before{height:10px;position:absolute;width:10px}.floating-arrow:before{background:#fff;border:1px solid #e2e8f0;content:"";transform:rotate(45deg)}.arrow-top{bottom:-5px}.arrow-bottom,.arrow-top{left:50%;transform:translateX(-50%)}.arrow-bottom{top:-5px}.arrow-left{right:-5px}.arrow-left,.arrow-right{top:50%;transform:translateY(-50%)}.arrow-right{left:-5px}.arrow-top:before{border-bottom:0;border-right:0}.arrow-bottom:before{border-left:0;border-top:0}.arrow-left:before{border-right:0;border-top:0}.arrow-right:before{border-bottom:0;border-left:0}@media (max-width:768px){.floating-content{max-height:calc(100vh - 32px);max-width:calc(100vw - 32px)}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.hidden{display:none}.resize{resize:both}.blur{--tw-blur:blur(8px);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)}.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}';const z=k;const P=class{constructor(i){t(this,i);this.bcmShow=e(this,"bcmShow",7);this.bcmHide=e(this,"bcmHide",7);this.bcmShown=e(this,"bcmShown",7);this.bcmHidden=e(this,"bcmHidden",7);this.trigger="click";this.placement="bottom-start";this.showDelay=0;this.hideDelay=0;this.offset=8;this.arrow=false;this.disabled=false;this.zIndex=1e3;this.appendToBody=false;this.destroyOnHide=false;this.isVisible=false;this.isReady=false;this.handleMouseEnter=()=>{this.clearTimeouts();if(this.showDelay>0){this.showTimeout=setTimeout((()=>this.show()),this.showDelay)}else{this.show()}};this.handleMouseLeave=()=>{this.clearTimeouts();if(this.hideDelay>0){this.hideTimeout=setTimeout((()=>this.hide()),this.hideDelay)}else{this.hide()}};this.handleFloatingMouseEnter=()=>{this.clearTimeouts()};this.handleFloatingMouseLeave=()=>{this.clearTimeouts();if(this.hideDelay>0){this.hideTimeout=setTimeout((()=>this.hide()),this.hideDelay)}else{this.hide()}};this.handleClick=t=>{t.stopPropagation();this.toggle()};this.handleFocus=()=>{this.show()};this.handleBlur=()=>{this.hide()}}setupTarget(){this.disconnectTarget();this.connectTarget()}onVisibilityChange(t){if(t){this.updatePosition();this.bcmShown.emit()}else{this.bcmHidden.emit()}}async componentDidLoad(){await new Promise((t=>requestAnimationFrame(t)));this.floatingEl=this.host.querySelector(".floating-content");if(this.floatingEl){this.isReady=true;this.connectTarget();this.setupFloatingObserver();console.log("✅ bcm-linked initialized successfully")}else{console.error("❌ Could not find .floating-content element")}}disconnectedCallback(){var t,e;this.disconnectTarget();this.clearTimeouts();(t=this.cleanup)===null||t===void 0?void 0:t.call(this);(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect();if(this.appendToBody&&this.floatingEl&&this.originalParent){this.originalParent.appendChild(this.floatingEl)}}connectTarget(){if(!this.isReady)return;this.targetEl=this.targetElement||(this.targetId?document.getElementById(this.targetId):null)||this.host.previousElementSibling||this.host.parentElement;if(!this.targetEl){console.warn("bcm-linked: No target element found");return}this.setupEventListeners();if(this.targetEl&&this.floatingEl){this.cleanup=s(this.targetEl,this.floatingEl,(()=>{if(this.isVisible){this.updatePosition()}}))}this.resizeObserver=new ResizeObserver((()=>{if(this.isVisible){this.updatePosition()}}));this.resizeObserver.observe(this.floatingEl)}disconnectTarget(){var t,e;if(this.targetEl){this.removeEventListeners()}(t=this.cleanup)===null||t===void 0?void 0:t.call(this);(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}setupEventListeners(){var t,e;if(!this.targetEl||this.disabled)return;switch(this.trigger){case"hover":this.targetEl.addEventListener("mouseenter",this.handleMouseEnter);this.targetEl.addEventListener("mouseleave",this.handleMouseLeave);(t=this.floatingEl)===null||t===void 0?void 0:t.addEventListener("mouseenter",this.handleFloatingMouseEnter);(e=this.floatingEl)===null||e===void 0?void 0:e.addEventListener("mouseleave",this.handleFloatingMouseLeave);break;case"click":this.targetEl.addEventListener("click",this.handleClick);this.setupClickOutside();break;case"focus":this.targetEl.addEventListener("focus",this.handleFocus);this.targetEl.addEventListener("blur",this.handleBlur);break}}removeEventListeners(){var t,e;if(!this.targetEl)return;this.targetEl.removeEventListener("mouseenter",this.handleMouseEnter);this.targetEl.removeEventListener("mouseleave",this.handleMouseLeave);this.targetEl.removeEventListener("click",this.handleClick);this.targetEl.removeEventListener("focus",this.handleFocus);this.targetEl.removeEventListener("blur",this.handleBlur);(t=this.floatingEl)===null||t===void 0?void 0:t.removeEventListener("mouseenter",this.handleFloatingMouseEnter);(e=this.floatingEl)===null||e===void 0?void 0:e.removeEventListener("mouseleave",this.handleFloatingMouseLeave);this.removeClickOutside()}setupClickOutside(){this.clickOutsideHandler=t=>{var e,i;const o=t.target;if(!((e=this.floatingEl)===null||e===void 0?void 0:e.contains(o))&&!((i=this.targetEl)===null||i===void 0?void 0:i.contains(o))&&!this.host.contains(o)){this.hide()}};document.addEventListener("click",this.clickOutsideHandler,true)}removeClickOutside(){if(this.clickOutsideHandler){document.removeEventListener("click",this.clickOutsideHandler,true);this.clickOutsideHandler=undefined}}clearTimeouts(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=undefined}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=undefined}}async updatePosition(){if(!this.targetEl||!this.floatingEl||!this.isVisible)return;const t=[n(this.offset),l({fallbackPlacements:["top","bottom","left","right","top-start","top-end","bottom-start","bottom-end","left-start","left-end","right-start","right-end"]}),c({padding:8})];const{x:e,y:i,placement:o}=await d(this.targetEl,this.floatingEl,{placement:this.placement,middleware:t,strategy:"fixed"});Object.assign(this.floatingEl.style,{left:`${e}px`,top:`${i}px`,zIndex:this.zIndex.toString()});if(this.arrow){this.updateArrow(o)}}updateArrow(t){var e;const i=(e=this.floatingEl)===null||e===void 0?void 0:e.querySelector(".floating-arrow");if(!i)return;i.className="floating-arrow";const o=t.split("-")[0];i.classList.add(`arrow-${o}`)}async show(){if(this.disabled||this.isVisible)return;this.bcmShow.emit();if(this.appendToBody&&this.floatingEl){this.originalParent=this.floatingEl.parentNode;this.originalNextSibling=this.floatingEl.nextSibling;document.body.appendChild(this.floatingEl)}this.isVisible=true;await new Promise((t=>requestAnimationFrame(t)));await this.updatePosition()}async hide(){if(!this.isVisible)return;this.bcmHide.emit();this.isVisible=false;if(this.appendToBody&&this.floatingEl&&this.originalParent){if(this.originalNextSibling){this.originalParent.insertBefore(this.floatingEl,this.originalNextSibling)}else{this.originalParent.appendChild(this.floatingEl)}this.originalParent=undefined;this.originalNextSibling=undefined}if(this.destroyOnHide&&this.floatingEl&&this.floatingEl.parentNode){this.floatingEl.parentNode.removeChild(this.floatingEl)}}async toggle(){if(this.isVisible){await this.hide()}else{await this.show()}}async updatePositioning(){await this.updatePosition()}setupFloatingObserver(){if(!this.floatingEl)return;this.resizeObserver=new ResizeObserver((()=>{if(this.isVisible){this.updatePosition()}}));this.resizeObserver.observe(this.floatingEl)}render(){const t={"floating-content":true,"floating-visible":this.isVisible,"floating-hidden":!this.isVisible,"floating-with-arrow":this.arrow,"floating-destroy-on-hide":this.destroyOnHide};return i(o,{key:"f5835cc1b6044476e66402d23a3becf18d3f2049"},i("div",{key:"2c7f92bbe85bc938a767734ef4b27702247fb390",class:t,style:{position:"fixed",top:"0px",left:"0px",zIndex:this.zIndex.toString(),display:this.isVisible?"block":"none",visibility:this.isVisible?"visible":"hidden",opacity:this.isVisible?"1":"0",pointerEvents:this.isVisible?"auto":"none"}},this.arrow&&i("div",{key:"f6eedac02b29b3ca00a9a84eea940ac89089f30c",class:"floating-arrow"}),i("div",{key:"7cb19f085de1d77a41fd9897be90999e78a0a54d",class:"floating-wrapper"},i("slot",{key:"a4b4289642850e3c2f7f27771b3d28bc41c8248a"}))),i("div",{key:"61cd7af9a4a47c87c308e1e67f96efb987c97312",style:{display:"none"}},i("slot",{key:"7160df275f5c7c66733158f95266598d0d207a17",name:"fallback"})))}get host(){return r(this)}static get watchers(){return{targetId:["setupTarget"],targetElement:["setupTarget"],isVisible:["onVisibilityChange"]}}};P.style=z;const C={display:"h1",heading1:"h2",heading2:"h3",title1:"h4",title2:"h5",title3:"h6",body:"p",bodyAccent:"p",helper:"p",caption:"p",label:"label",placeholder:"p",link:"a",info:"p",infoAccent:"p"};const $=".static{position:static}.m-0{margin:0}.appearance-none{appearance:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-0{padding:0}.text-size-12{font-size:var(--bcm-ui-font-size-12,60px);line-height:var(--bcm-ui-line-height-12,72px)}.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)}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-color-caption{color:var(--bcm-ui-color-text-caption)}.text-color-default{color:var(--bcm-ui-color-text-default)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-header{color:var(--bcm-ui-color-text-header)}.text-color-helper{color:var(--bcm-ui-color-text-helper)}.text-color-label{color:var(--bcm-ui-color-text-label)}.text-color-placeholder{color:var(--bcm-ui-color-text-placeholder)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.underline{text-decoration-line:underline}.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 j=$;const I=class{constructor(e){t(this,e);this.variant="body";this.size="medium";this.overflow=false;this.variantClassMap={display:"font-semibold text-size-12 text-color-header",heading1:"font-semibold text-size-7 text-color-header",heading2:"font-semibold text-size-6 text-color-header",title1:{small:"font-semibold text-size-5 text-color-header",medium:"font-semibold text-size-6 text-color-header",large:"font-semibold text-size-7 text-color-header"},title2:{small:"font-semibold text-size-4 text-color-default",medium:"font-semibold text-size-5 text-color-default",large:"font-semibold text-size-6 text-color-default"},title3:{small:"font-semibold text-size-3 text-color-disabled",medium:"font-semibold text-size-4 text-color-disabled",large:"font-semibold text-size-5 text-color-disabled"},body:{small:"font-regular text-size-4 text-color-default",medium:"font-regular text-size-5 text-color-default",large:"font-regular text-size-6 text-color-default"},bodyAccent:{small:"font-medium text-size-4 text-color-default",medium:"font-medium text-size-5 text-color-default",large:"font-medium text-size-6 text-color-default"},helper:{small:"font-regular text-size-4 text-color-helper",medium:"font-regular text-size-5 text-color-helper",large:"font-regular text-size-6 text-color-helper"},caption:{small:"font-regular text-size-3 text-color-caption",medium:"font-regular text-size-4 text-color-caption",large:"font-regular text-size-5 text-color-caption"},link:{small:"font-medium text-size-4 underline text-color-primary",medium:"font-medium text-size-5 underline text-color-primary",large:"font-medium text-size-6 underline text-color-primary"},label:{small:"font-medium text-size-3 text-color-label",medium:"font-medium text-size-4 text-color-label",large:"font-medium text-size-5 text-color-label"},placeholder:{small:"font-regular text-size-4 text-color-placeholder",medium:"font-regular text-size-5 text-color-placeholder",large:"font-regular text-size-6 text-color-placeholder"},info:{small:"font-regular text-size-3 text-color-default",medium:"font-regular text-size-4 text-color-default",large:"font-regular text-size-5 text-color-default"},infoAccent:{small:"font-medium text-size-3 text-color-header",medium:"font-medium text-size-4 text-color-header",large:"font-medium text-size-5 text-color-header"}};this.getTextClass=(t,e)=>{const i=this.variantClassMap[t];if(typeof i==="string"){return i}return i[e]};this.getOverflowClass=t=>t?"truncate":""}render(){var t;const e=C[this.variant];const o=this.getTextClass(this.variant,this.size);const r=this.getOverflowClass((t=this.overflow)!==null&&t!==void 0?t:false);return i(e,{key:"ef2836e00bfbb1dd406179f403720e013eeb6239",class:h("bcm-text appearance-none m-0 p-0",o,r),part:"text"},i("slot",{key:"b707cba3afdcb3892a4fa0d3ea22daefa4b7952a"},this.text))}};I.style=j;export{m as bcm_button,g as bcm_dropdown,y as bcm_dropdown_item,P as bcm_linked,I as bcm_text};
|
|
2
|
+
//# sourceMappingURL=p-35559656.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["variantOptions","save","text","status","icon","iconPosition","kind","ok","new","add","create","prev","next","apply","submit","send","delete","cancel","decline","close","archive","remove","edit","export","import","filter","update","reset","download","buttonCss","BcmButtonStyle0","BcmButton","constructor","hostRef","this","size","iconOnly","fullWidth","type","loading","disabled","active","handleClick","event","bcmClick","emit","handleFocus","bcmFocus","handleBlur","bcmBlur","buttonClass","tv","base","variants","small","medium","large","primary","ghost","outline","true","false","position","first","middle","last","defaultVariants","twMerge","buttonText","variant","buttonIcon","buttonStatus","buttonStyles","kindStyleMap","internalDefaultStyles","finalEffectiveStyles","Object","assign","render","h","Host","key","label","expanded","controls","onClick","onFocus","onBlur","style","class","name","dropdownCss","BcmDropdownStyle0","Dropdown","isReady","dropdownItems","dropdownClass","handleSlotChange","Array","from","host","querySelectorAll","length","console","warn","componentDidLoad","button","shadowRoot","querySelector","buttonRef","handleDropdownItemChange","element","selected","detail","_a","forEach","item","bcmDropdownChange","part","targetElement","onSlotchange","dropdownItemCss","BcmDropdownItemStyle0","DropdownItem","error","dropdownItemClass","bcmDropDownItemChange","rightIcons","map","linkedCss","BcmLinkedStyle0","BcmLinked","trigger","placement","showDelay","hideDelay","offset","arrow","zIndex","appendToBody","destroyOnHide","isVisible","handleMouseEnter","clearTimeouts","showTimeout","setTimeout","show","handleMouseLeave","hideTimeout","hide","handleFloatingMouseEnter","handleFloatingMouseLeave","e","stopPropagation","toggle","setupTarget","disconnectTarget","connectTarget","onVisibilityChange","newValue","updatePosition","bcmShown","bcmHidden","Promise","resolve","requestAnimationFrame","floatingEl","setupFloatingObserver","log","disconnectedCallback","cleanup","call","_b","resizeObserver","disconnect","originalParent","appendChild","targetEl","targetId","document","getElementById","previousElementSibling","parentElement","setupEventListeners","autoUpdate","ResizeObserver","observe","removeEventListeners","addEventListener","setupClickOutside","removeEventListener","removeClickOutside","clickOutsideHandler","target","contains","undefined","clearTimeout","middleware","flip","fallbackPlacements","shift","padding","x","y","computePosition","strategy","left","top","toString","updateArrow","className","side","split","classList","bcmShow","parentNode","originalNextSibling","nextSibling","body","bcmHide","insertBefore","removeChild","updatePositioning","floatingClasses","display","visibility","opacity","pointerEvents","variantTagMap","heading1","heading2","title1","title2","title3","bodyAccent","helper","caption","placeholder","link","info","infoAccent","textCss","BcmTextStyle0","BcmText","overflow","variantClassMap","getTextClass","variantClasses","getOverflowClass","Tag","variantClass","overflowClass","cs"],"sources":["src/components/button/types.ts","src/components/button/button.css?tag=bcm-button&encapsulation=shadow","src/components/button/button.component.tsx","src/components/dropdown/dropdown.css?tag=bcm-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.component.tsx","src/components/dropdown-item/dropdown-item.css?tag=bcm-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-item.component.tsx","src/components/linked/linked.css?tag=bcm-linked","src/components/linked/linked.component.tsx","src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["export type ButtonKind = 'primary' | 'ghost' | 'text' | 'outline';\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'reset' | 'submit';\nexport type ButtonStatus = 'default' | 'success' | 'error' | 'warning' | 'info';\nexport type IconPosition = 'prefix' | 'suffix';\n\n// Button group position\nexport type ButtonPosition = 'first' | 'middle' | 'last' | null;\n\nexport interface VariantOption {\n text: string;\n icon?: string;\n iconPosition?: IconPosition;\n status?: ButtonStatus;\n kind?: ButtonKind;\n}\n\nexport const variantOptions: Record<string, VariantOption> = {\n save: {\n text: 'Save',\n status: 'success',\n icon: 'far fa-save',\n iconPosition: 'prefix',\n kind: 'primary',\n },\n ok: {\n text: 'Ok',\n status: 'success',\n icon: 'far fa-check',\n iconPosition: 'prefix',\n },\n new: {\n text: 'New',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n add: {\n text: 'Add',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n create: {\n text: 'Create',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n prev: {\n text: 'Prev',\n status: 'default',\n icon: 'far fa-arrow-left',\n iconPosition: 'prefix',\n },\n next: {\n text: 'Next',\n status: 'default',\n icon: 'far fa-arrow-right',\n iconPosition: 'suffix',\n },\n apply: {\n text: 'Apply',\n status: 'default',\n icon: 'far fa-check-circle',\n iconPosition: 'prefix',\n },\n submit: {\n text: 'Submit',\n status: 'default',\n icon: 'far fa-save',\n iconPosition: 'prefix',\n },\n send: {\n text: 'Send',\n status: 'success',\n icon: 'far fa-paper-plane',\n iconPosition: 'prefix',\n },\n delete: {\n text: 'Delete',\n status: 'error',\n icon: 'far fa-trash',\n iconPosition: 'prefix',\n },\n cancel: {\n text: 'Cancel',\n status: 'error',\n icon: 'far fa-times',\n iconPosition: 'prefix',\n },\n decline: {\n text: 'Decline',\n status: 'error',\n icon: 'far fa-ban',\n iconPosition: 'prefix',\n },\n close: {\n text: 'Close',\n status: 'error',\n icon: 'far fa-times-circle',\n iconPosition: 'prefix',\n },\n archive: {\n text: 'Archive',\n status: 'error',\n icon: 'far fa-folder-open',\n iconPosition: 'prefix',\n },\n remove: {\n text: 'Remove',\n status: 'error',\n icon: 'far fa-minus-circle',\n iconPosition: 'prefix',\n },\n edit: {\n text: 'Edit',\n status: 'default',\n icon: 'far fa-edit',\n iconPosition: 'prefix',\n },\n export: {\n text: 'Export',\n status: 'default',\n icon: 'far fa-sign-out',\n iconPosition: 'prefix',\n },\n import: {\n text: 'Import',\n status: 'default',\n icon: 'far fa-sign-in',\n iconPosition: 'prefix',\n },\n filter: {\n text: 'Filter',\n status: 'default',\n icon: 'far fa-filter',\n iconPosition: 'prefix',\n },\n update: {\n text: 'Update',\n status: 'default',\n icon: 'far fa-sync',\n iconPosition: 'prefix',\n },\n reset: {\n text: 'Reset',\n status: 'default',\n icon: 'far fa-sync',\n iconPosition: 'prefix',\n },\n download: {\n text: 'Download',\n status: 'default',\n icon: 'far fa-download',\n iconPosition: 'prefix',\n },\n};\n\nexport type ButtonVariant = keyof typeof variantOptions;\n",":host {\n display: inline-block;\n position: relative;\n}\n\n:host([full-width]) {\n width: 100%;\n}\n\n:host([position='first']) .bcm-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n:host([position='middle']) .bcm-button {\n border-radius: 0;\n}\n\n:host([position='last']) .bcm-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n:host([position='first'].orientation-vertical) .bcm-button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-right-radius: var(--bcm-ui-border-radius, 4px);\n border-top-left-radius: var(--bcm-ui-border-radius, 4px);\n}\n\n:host([position='middle'].orientation-vertical) .bcm-button {\n border-radius: 0;\n}\n\n:host([position='last'].orientation-vertical) .bcm-button {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: var(--bcm-ui-border-radius, 4px);\n border-bottom-left-radius: var(--bcm-ui-border-radius, 4px);\n}\n","import { Component, Prop, h, Event, EventEmitter, Host } from '@stencil/core';\nimport { ButtonKind, ButtonSize, ButtonType, ButtonStatus, ButtonVariant, IconPosition, ButtonPosition, variantOptions } from './types';\nimport { tv } from 'tailwind-variants';\n\n@Component({\n tag: 'bcm-button',\n styleUrl: 'button.css',\n shadow: true,\n})\nexport class BcmButton {\n /** Defines the main visual style of the button */\n @Prop()\n kind: ButtonKind = 'primary';\n\n /** Controls the button size */\n @Prop()\n size: ButtonSize = 'medium';\n\n /** Defines the button's status/state color */\n @Prop()\n status: ButtonStatus = 'default';\n\n /** Predefined button variants */\n @Prop()\n variant?: ButtonVariant;\n\n /** Button position in button group (first, middle, last) */\n @Prop({ reflect: true })\n position?: ButtonPosition;\n\n /** Icon class name */\n @Prop()\n icon?: string;\n\n /** Icon placement (prefix/suffix) */\n @Prop()\n iconPosition: IconPosition = 'prefix';\n\n /** Icon-only button mode */\n @Prop()\n iconOnly = false;\n\n /** Full width button */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth = false;\n\n /** HTML button type */\n @Prop()\n type: ButtonType = 'button';\n\n /** Loading state */\n @Prop()\n loading = false;\n\n /** Disabled state */\n @Prop()\n disabled = false;\n\n /** Button text content */\n @Prop()\n text?: string;\n\n /** Active state */\n @Prop()\n active = false;\n\n /** Form association */\n @Prop()\n form: string;\n\n @Prop()\n value: string;\n\n @Prop()\n name: string;\n\n /** Screen reader label */\n @Prop()\n label: string;\n\n /** Expanded state for expandable content */\n @Prop()\n expanded?: string;\n\n /** ID of controlled element */\n @Prop()\n controls: string;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmClick: EventEmitter<MouseEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmFocus: EventEmitter<FocusEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmBlur: EventEmitter<FocusEvent>;\n\n private handleClick = (event: MouseEvent) => {\n if (!this.disabled && !this.loading) {\n this.bcmClick.emit(event);\n }\n };\n\n private handleFocus = (event: FocusEvent) => {\n this.bcmFocus.emit(event);\n };\n\n private handleBlur = (event: FocusEvent) => {\n this.bcmBlur.emit(event);\n };\n\n private get buttonText(): string {\n return this.text || (this.variant ? variantOptions[this.variant].text : '');\n }\n\n private get buttonIcon(): { icon?: string; position: IconPosition } {\n if (this.variant && variantOptions[this.variant].icon) {\n return {\n icon: variantOptions[this.variant].icon,\n position: variantOptions[this.variant].iconPosition || 'prefix',\n };\n }\n\n return {\n icon: this.icon,\n position: this.iconPosition,\n };\n }\n\n private get buttonStatus(): ButtonStatus {\n return this.variant ? variantOptions[this.variant].status : this.status;\n }\n\n private get buttonStyles() {\n const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;\n\n // These are the internal default styles based on component props (kind, status)\n const kindStyleMap = {\n primary: {\n '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,\n '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${status}-hover)`,\n '--bcm-button-bg-active': `var(--bcm-ui-color-background-${status}-active)`,\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': 'var(--bcm-ui-color-text-base)',\n },\n outline: {\n '--bcm-button-bg': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': `var(--bcm-ui-color-border-${this.buttonStatus})`,\n '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,\n },\n ghost: {\n '--bcm-button-bg': 'transparent',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,\n },\n text: {\n '--bcm-button-bg': 'transparent',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,\n },\n };\n const internalDefaultStyles = kindStyleMap[this.kind];\n\n // These are the \"final\" CSS custom properties used by the component's styling.\n // They use the \"--bcm-button-custom-...\" token if provided by the user,\n // otherwise, they fall back to the internal \"--bcm-button-...\" style defined above.\n const finalEffectiveStyles = {\n '--bcm-final-text-color': `var(--bcm-button-custom-text-color, ${internalDefaultStyles['--bcm-button-text']})`,\n '--bcm-final-border-color': `var(--bcm-button-custom-border-color, ${internalDefaultStyles['--bcm-button-border']})`,\n '--bcm-final-bg-color': `var(--bcm-button-custom-bg-color, ${internalDefaultStyles['--bcm-button-bg']})`,\n '--bcm-final-hover-bg-color': `var(--bcm-button-custom-hover-bg-color, ${internalDefaultStyles['--bcm-button-bg-hover']})`,\n '--bcm-final-active-bg-color': `var(--bcm-button-custom-active-bg-color, ${internalDefaultStyles['--bcm-button-bg-active']})`,\n };\n\n // return kindStyleMap[this.kind];\n\n return {\n ...internalDefaultStyles, // Provides the fallback values like --bcm-button-text\n ...finalEffectiveStyles, // Defines the --bcm-final-xxx tokens that handle the override logic\n };\n }\n\n private buttonClass = tv(\n {\n base: 'bcm-button appearance-none inline-flex items-center justify-center border border-solid rounded outline-0',\n variants: {\n size: {\n small: 'text-size-4 py-px px-2 min-h-6',\n medium: 'text-size-5 py-0.5 px-3 min-h-8',\n large: 'text-size-6 py-1 px-3 min-h-10',\n },\n kind: {\n primary: 'kind-primary',\n ghost: 'kind-ghost',\n text: 'kind-text',\n outline: 'kind-outline',\n },\n fullWidth: {\n true: 'full-width w-full',\n },\n disabled: {\n true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',\n false: [\n 'cursor-pointer',\n 'bg-[--bcm-final-bg-color] text-[--bcm-final-text-color] border-[--bcm-final-border-color]',\n 'hover:bg-[--bcm-final-hover-bg-color]',\n 'active:bg-[--bcm-final-active-bg-color]',\n 'focus-visible:ring',\n ],\n },\n loading: {\n true: '',\n },\n position: {\n first: 'position-first',\n middle: 'position-middle',\n last: 'position-last',\n },\n },\n defaultVariants: {\n size: 'medium',\n kind: 'primary',\n fullWidth: false,\n disabled: false,\n loading: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { icon, position } = this.buttonIcon;\n\n return (\n <Host>\n <button\n type={this.type}\n disabled={this.disabled || this.loading}\n aria-label={this.label}\n aria-expanded={this.expanded}\n aria-controls={this.controls}\n aria-disabled={this.disabled}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n style={this.buttonStyles}\n class={this.buttonClass({\n size: this.size,\n kind: this.kind,\n fullWidth: this.fullWidth,\n disabled: this.disabled,\n loading: this.loading,\n position: this.position,\n })}\n >\n {this.loading && <slot name=\"loading\"></slot>}\n <span>\n <slot name=\"prefix\">{position === 'prefix' && icon && <i class={' leading-none ' + icon}></i>}</slot>\n </span>\n <slot>{this.buttonText}</slot>\n <span>\n <slot name=\"suffix\">{position === 'suffix' && icon && <i class={' leading-none ' + icon}></i>}</slot>\n </span>\n </button>\n </Host>\n );\n }\n}\n","/* :host {\n --dropdown-box-min-weight: 32px;\n --dropdown-box-max-width: 384px;\n --dropdown-box-max-height: 384px;\n --dropdown-box-background-color: var(--bcm-ui-color-background-basic-panel);\n} */\n/* \n.scroll {\n height: 140px;\n width: 140px;\n overflow-y: auto;\n}\n\n.scroll:active::-webkit-scrollbar-thumb,\n.scroll:focus::-webkit-scrollbar-thumb,\n.scroll:hover::-webkit-scrollbar-thumb {\n visibility: visible;\n}\n.scroll::-webkit-scrollbar-thumb {\n background-color: darkgrey;\n visibility: hidden;\n}\n\n.scroll::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n} */\n","import { Component, ComponentInterface, h, Prop, State, Element, Host, Event, EventEmitter, Listen } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n@Component({\n tag: 'bcm-dropdown',\n styleUrl: 'dropdown.css',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n @Element() host: HTMLElement;\n\n @Prop() text?: string;\n\n @State() isReady: boolean = false;\n\n @State() dropdownItems: HTMLBcmDropdownItemElement[] = [];\n\n protected buttonRef?: HTMLBcmButtonElement;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropdownChange',\n })\n bcmDropdownChange: EventEmitter<any>;\n\n componentDidLoad() {\n const button = this.host.shadowRoot.querySelector('bcm-button') as HTMLBcmButtonElement;\n if (button) {\n this.buttonRef = button;\n this.isReady = true;\n }\n }\n\n @Listen('bcmDropDownItemChange', { capture: true })\n handleDropdownItemChange(event: CustomEvent) {\n const { element, selected } = event?.detail;\n\n this.dropdownItems?.forEach(item => {\n if (item != element) {\n item.selected = false;\n }\n });\n\n this.bcmDropdownChange.emit({\n element: element,\n selected,\n });\n }\n\n private dropdownClass = tv({\n base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',\n });\n\n private handleSlotChange = () => {\n this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));\n\n if (this.dropdownItems.length === 0) {\n console.warn('No dropdown items found in dropdown component');\n }\n };\n\n render() {\n return (\n <Host>\n <bcm-button kind=\"outline\">\n <span part=\"text\">{this.text}</span>\n </bcm-button>\n {this.isReady && (\n <bcm-linked targetElement={this.buttonRef}>\n <div part=\"dropdown-container\" class={this.dropdownClass()}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n </bcm-linked>\n )}\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n width: 100%;\n}\n\n::slotted([slot='left-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n::slotted([slot='right-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter, Element } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n@Component({\n tag: 'bcm-dropdown-item',\n styleUrl: 'dropdown-item.css',\n shadow: true,\n})\nexport class DropdownItem implements ComponentInterface {\n @Element() host: HTMLElement;\n @Prop() text: string;\n @Prop() icon: string;\n @Prop() rightIcons: string[];\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop({ reflect: true }) error: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropDownItemChange',\n })\n bcmDropDownItemChange: EventEmitter<any>;\n\n\n private handleClick() {\n this.selected = true;\n this.bcmDropDownItemChange.emit({\n element: this.host,\n selected: this.selected,\n });\n }\n\n private dropdownItemClass = tv(\n {\n base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',\n variants: {\n selected: {\n true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',\n false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',\n },\n error: {\n true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',\n false: '',\n },\n disabled: {\n true: '', // should be discuss with ux team\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n error: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n aria-checked={this.selected}\n class={this.dropdownItemClass({\n selected: this.selected,\n error: this.error,\n })}\n onClick={() => this.handleClick()}\n >\n <slot name=\"left-content\">{this.icon && <bcm-icon icon-name={this.icon}></bcm-icon>}</slot>\n <div class=\"flex flex-row text-pretty w-full\">\n <slot>{this.text}</slot>\n </div>\n <slot name=\"right-content\">\n {this.rightIcons?.map(icon => (\n <bcm-icon icon-name={icon}></bcm-icon>\n ))}\n </slot>\n </div>\n );\n }\n}\n","bcm-linked {\n display: block;\n position: relative;\n}\nbcm-linked[append-to-body] {\n display: none;\n}\n\n.floating-content {\n min-width: max-content;\n transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;\n will-change: transform, opacity;\n}\n\n.floating-visible {\n animation: fadeInScale 0.2s ease-out;\n}\n\n.floating-hidden {\n display: none !important;\n pointer-events: none;\n}\n\n.floating-wrapper {\n position: relative;\n z-index: 1;\n}\n\n/* Animations */\n@keyframes fadeInScale {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(-5px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n/* Arrow Styles */\n.floating-arrow {\n position: absolute;\n width: 10px;\n height: 10px;\n z-index: -1;\n}\n\n.floating-arrow::before {\n content: '';\n position: absolute;\n width: 10px;\n height: 10px;\n background: white;\n border: 1px solid #e2e8f0;\n transform: rotate(45deg);\n}\n\n/* Arrow positioning based on placement */\n.arrow-top {\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.arrow-bottom {\n top: -5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.arrow-left {\n right: -5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.arrow-right {\n left: -5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n/* Arrow border fix for bordered popups */\n.arrow-top::before {\n border-bottom: 0;\n border-right: 0;\n}\n\n.arrow-bottom::before {\n border-top: 0;\n border-left: 0;\n}\n\n.arrow-left::before {\n border-top: 0;\n border-right: 0;\n}\n\n.arrow-right::before {\n border-bottom: 0;\n border-left: 0;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .floating-content {\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n }\n}\n","import { Component, ComponentInterface, Prop, Element, State, h, Event, EventEmitter, Watch, Method, Host } from '@stencil/core';\nimport { computePosition, shift, offset, autoUpdate, flip, type Placement } from '@floating-ui/dom';\n\nexport type TriggerType = 'hover' | 'click' | 'focus' | 'manual';\n\n@Component({\n tag: 'bcm-linked',\n styleUrl: 'linked.css',\n shadow: false,\n})\nexport class BcmLinked implements ComponentInterface {\n @Element() host: HTMLElement;\n\n // Target configuration\n @Prop({ reflect: true, attribute: 'target-id' }) targetId?: string;\n @Prop() targetElement?: HTMLElement;\n\n // Trigger configuration\n @Prop() trigger: TriggerType = 'click';\n @Prop() placement: Placement = 'bottom-start';\n\n // Timing configuration\n @Prop() showDelay: number = 0;\n @Prop() hideDelay: number = 0;\n\n // Positioning configuration\n @Prop() offset: number = 8;\n @Prop() arrow: boolean = false;\n @Prop() disabled: boolean = false;\n\n // Style configuration\n @Prop() zIndex: number = 1000;\n @Prop() appendToBody: boolean = false;\n @Prop() destroyOnHide: boolean = false;\n\n // State\n @State() isVisible: boolean = false;\n @State() isReady: boolean = false;\n\n // Events\n @Event() bcmShow: EventEmitter<void>;\n @Event() bcmHide: EventEmitter<void>;\n @Event() bcmShown: EventEmitter<void>;\n @Event() bcmHidden: EventEmitter<void>;\n\n // Private properties\n private floatingEl?: HTMLElement;\n private targetEl?: HTMLElement;\n private showTimeout?: NodeJS.Timeout;\n private hideTimeout?: NodeJS.Timeout;\n private cleanup?: () => void;\n private clickOutsideHandler?: (e: MouseEvent) => void;\n private resizeObserver?: ResizeObserver;\n private originalParent?: Node;\n private originalNextSibling?: Node;\n\n // Watch for changes\n @Watch('targetId')\n @Watch('targetElement')\n setupTarget() {\n this.disconnectTarget();\n this.connectTarget();\n }\n\n @Watch('isVisible')\n onVisibilityChange(newValue: boolean) {\n if (newValue) {\n this.updatePosition();\n this.bcmShown.emit();\n } else {\n this.bcmHidden.emit();\n }\n }\n\n async componentDidLoad() {\n // Wait for render\n await new Promise(resolve => requestAnimationFrame(resolve));\n\n this.floatingEl = this.host.querySelector('.floating-content') as HTMLElement;\n\n if (this.floatingEl) {\n this.isReady = true;\n this.connectTarget();\n this.setupFloatingObserver();\n console.log('✅ bcm-linked initialized successfully');\n } else {\n console.error('❌ Could not find .floating-content element');\n }\n }\n\n disconnectedCallback() {\n this.disconnectTarget();\n this.clearTimeouts();\n this.cleanup?.();\n this.resizeObserver?.disconnect();\n\n // Restore element to original position if component is destroyed while in portal\n if (this.appendToBody && this.floatingEl && this.originalParent) {\n this.originalParent.appendChild(this.floatingEl);\n }\n }\n\n private connectTarget() {\n if (!this.isReady) return;\n\n // Find target element\n this.targetEl =\n this.targetElement || (this.targetId ? document.getElementById(this.targetId) : null) || (this.host.previousElementSibling as HTMLElement) || this.host.parentElement;\n\n if (!this.targetEl) {\n console.warn('bcm-linked: No target element found');\n return;\n }\n\n // Setup event listeners based on trigger type\n this.setupEventListeners();\n\n // Setup auto-update for position\n if (this.targetEl && this.floatingEl) {\n this.cleanup = autoUpdate(this.targetEl, this.floatingEl, () => {\n if (this.isVisible) {\n this.updatePosition();\n }\n });\n }\n\n // Setup resize observer for responsive positioning\n this.resizeObserver = new ResizeObserver(() => {\n if (this.isVisible) {\n this.updatePosition();\n }\n });\n this.resizeObserver.observe(this.floatingEl);\n }\n\n private disconnectTarget() {\n if (this.targetEl) {\n this.removeEventListeners();\n }\n this.cleanup?.();\n this.resizeObserver?.disconnect();\n }\n\n private setupEventListeners() {\n if (!this.targetEl || this.disabled) return;\n\n switch (this.trigger) {\n case 'hover':\n this.targetEl.addEventListener('mouseenter', this.handleMouseEnter);\n this.targetEl.addEventListener('mouseleave', this.handleMouseLeave);\n this.floatingEl?.addEventListener('mouseenter', this.handleFloatingMouseEnter);\n this.floatingEl?.addEventListener('mouseleave', this.handleFloatingMouseLeave);\n break;\n\n case 'click':\n this.targetEl.addEventListener('click', this.handleClick);\n this.setupClickOutside();\n break;\n\n case 'focus':\n this.targetEl.addEventListener('focus', this.handleFocus);\n this.targetEl.addEventListener('blur', this.handleBlur);\n break;\n }\n }\n\n private removeEventListeners() {\n if (!this.targetEl) return;\n\n this.targetEl.removeEventListener('mouseenter', this.handleMouseEnter);\n this.targetEl.removeEventListener('mouseleave', this.handleMouseLeave);\n this.targetEl.removeEventListener('click', this.handleClick);\n this.targetEl.removeEventListener('focus', this.handleFocus);\n this.targetEl.removeEventListener('blur', this.handleBlur);\n\n this.floatingEl?.removeEventListener('mouseenter', this.handleFloatingMouseEnter);\n this.floatingEl?.removeEventListener('mouseleave', this.handleFloatingMouseLeave);\n\n this.removeClickOutside();\n }\n\n private setupClickOutside() {\n this.clickOutsideHandler = (e: MouseEvent) => {\n const target = e.target as Node;\n if (!this.floatingEl?.contains(target) && !this.targetEl?.contains(target) && !this.host.contains(target)) {\n this.hide();\n }\n };\n document.addEventListener('click', this.clickOutsideHandler, true);\n }\n\n private removeClickOutside() {\n if (this.clickOutsideHandler) {\n document.removeEventListener('click', this.clickOutsideHandler, true);\n this.clickOutsideHandler = undefined;\n }\n }\n\n private handleMouseEnter = () => {\n this.clearTimeouts();\n if (this.showDelay > 0) {\n this.showTimeout = setTimeout(() => this.show(), this.showDelay);\n } else {\n this.show();\n }\n };\n\n private handleMouseLeave = () => {\n this.clearTimeouts();\n if (this.hideDelay > 0) {\n this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);\n } else {\n this.hide();\n }\n };\n\n private handleFloatingMouseEnter = () => {\n this.clearTimeouts();\n };\n\n private handleFloatingMouseLeave = () => {\n this.clearTimeouts();\n if (this.hideDelay > 0) {\n this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);\n } else {\n this.hide();\n }\n };\n\n private handleClick = (e: Event) => {\n e.stopPropagation();\n this.toggle();\n };\n\n private handleFocus = () => {\n this.show();\n };\n\n private handleBlur = () => {\n this.hide();\n };\n\n private clearTimeouts() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = undefined;\n }\n }\n\n private async updatePosition() {\n if (!this.targetEl || !this.floatingEl || !this.isVisible) return;\n\n // Use autoPlacement only for bottom-start (dropdown default)\n // For other placements, respect the manual placement with flip fallback\n // const useAutoPlacement = this.placement === 'bottom-start';\n\n const middleware = [\n offset(this.offset),\n // useAutoPlacement\n // ? autoPlacement({\n // allowedPlacements: ['bottom-start', 'bottom-end', 'bottom', 'top-start', 'top-end', 'top', 'right-start', 'right-end', 'right', 'left-start', 'left-end', 'left'],\n // boundary: document.body,\n // })\n // :\n flip({\n fallbackPlacements: ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'],\n }),\n shift({\n padding: 8,\n }),\n ];\n\n const { x, y, placement } = await computePosition(this.targetEl, this.floatingEl, {\n placement: this.placement,\n middleware,\n strategy: 'fixed',\n });\n\n Object.assign(this.floatingEl.style, {\n left: `${x}px`,\n top: `${y}px`,\n zIndex: this.zIndex.toString(),\n });\n\n // Update arrow if enabled\n if (this.arrow) {\n this.updateArrow(placement);\n }\n }\n\n private updateArrow(placement: Placement) {\n const arrow = this.floatingEl?.querySelector('.floating-arrow') as HTMLElement;\n if (!arrow) return;\n\n // Remove all arrow classes\n arrow.className = 'floating-arrow';\n\n // Add placement-specific class\n const side = placement.split('-')[0];\n arrow.classList.add(`arrow-${side}`);\n }\n\n @Method()\n async show(): Promise<void> {\n if (this.disabled || this.isVisible) return;\n\n this.bcmShow.emit();\n\n // Portalling: Move the floating element to the body\n if (this.appendToBody && this.floatingEl) {\n this.originalParent = this.floatingEl.parentNode;\n this.originalNextSibling = this.floatingEl.nextSibling;\n document.body.appendChild(this.floatingEl);\n }\n\n this.isVisible = true;\n\n // Use requestAnimationFrame to ensure the element is visible before positioning\n await new Promise(resolve => requestAnimationFrame(resolve));\n await this.updatePosition();\n }\n\n @Method()\n async hide(): Promise<void> {\n if (!this.isVisible) return;\n\n this.bcmHide.emit();\n this.isVisible = false;\n\n // Portalling: Restore the floating element to its original position\n if (this.appendToBody && this.floatingEl && this.originalParent) {\n if (this.originalNextSibling) {\n this.originalParent.insertBefore(this.floatingEl, this.originalNextSibling);\n } else {\n this.originalParent.appendChild(this.floatingEl);\n }\n this.originalParent = undefined;\n this.originalNextSibling = undefined;\n }\n\n if (this.destroyOnHide && this.floatingEl && this.floatingEl.parentNode) {\n this.floatingEl.parentNode.removeChild(this.floatingEl);\n }\n }\n\n @Method()\n async toggle(): Promise<void> {\n if (this.isVisible) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n @Method()\n async updatePositioning(): Promise<void> {\n await this.updatePosition();\n }\n\n private setupFloatingObserver() {\n if (!this.floatingEl) return;\n\n // Observe floating element size changes for position updates\n this.resizeObserver = new ResizeObserver(() => {\n if (this.isVisible) {\n this.updatePosition();\n }\n });\n\n this.resizeObserver.observe(this.floatingEl);\n }\n\n render() {\n const floatingClasses = {\n 'floating-content': true,\n 'floating-visible': this.isVisible,\n 'floating-hidden': !this.isVisible,\n 'floating-with-arrow': this.arrow,\n 'floating-destroy-on-hide': this.destroyOnHide,\n };\n\n return (\n <Host>\n <div\n class={floatingClasses}\n style={{\n position: 'fixed',\n top: '0px',\n left: '0px',\n zIndex: this.zIndex.toString(),\n display: this.isVisible ? 'block' : 'none',\n visibility: this.isVisible ? 'visible' : 'hidden',\n opacity: this.isVisible ? '1' : '0',\n pointerEvents: this.isVisible ? 'auto' : 'none',\n }}\n >\n {this.arrow && <div class=\"floating-arrow\" />}\n <div class=\"floating-wrapper\">\n <slot></slot>\n </div>\n </div>\n <div style={{ display: 'none' }}>\n <slot name=\"fallback\"></slot>\n </div>\n </Host>\n );\n }\n}\n","import { TextVariant, TextTag } from './text.types';\n\nexport const variantTagMap: Record<TextVariant, TextTag> = {\n display: 'h1',\n heading1: 'h2',\n heading2: 'h3',\n title1: 'h4',\n title2: 'h5',\n title3: 'h6',\n body: 'p',\n bodyAccent: 'p',\n helper: 'p',\n caption: 'p',\n label: 'label',\n placeholder: 'p',\n link: 'a',\n info: 'p',\n infoAccent: 'p',\n};\n",null,"import { Component, h, Prop } from '@stencil/core';\nimport cs from 'classnames';\nimport { TextVariant, TextSize } from './text.types';\nimport { variantTagMap } from './text.utils';\n\n@Component({\n tag: 'bcm-text',\n styleUrl: 'text.scss',\n shadow: true,\n})\nexport class BcmText {\n /** Text content */\n @Prop()\n text: string;\n\n /** Text variant */\n @Prop()\n variant: TextVariant = 'body';\n\n /** Text size */\n @Prop()\n size: TextSize = 'medium';\n\n /** Text overflow behavior */\n @Prop()\n overflow: boolean = false;\n\n private readonly variantClassMap = {\n display: 'font-semibold text-size-12 text-color-header',\n heading1: 'font-semibold text-size-7 text-color-header',\n heading2: 'font-semibold text-size-6 text-color-header',\n title1: {\n small: 'font-semibold text-size-5 text-color-header',\n medium: 'font-semibold text-size-6 text-color-header',\n large: 'font-semibold text-size-7 text-color-header',\n },\n title2: {\n small: 'font-semibold text-size-4 text-color-default',\n medium: 'font-semibold text-size-5 text-color-default',\n large: 'font-semibold text-size-6 text-color-default',\n },\n title3: {\n small: 'font-semibold text-size-3 text-color-disabled',\n medium: 'font-semibold text-size-4 text-color-disabled',\n large: 'font-semibold text-size-5 text-color-disabled',\n },\n body: {\n small: 'font-regular text-size-4 text-color-default',\n medium: 'font-regular text-size-5 text-color-default',\n large: 'font-regular text-size-6 text-color-default',\n },\n bodyAccent: {\n small: 'font-medium text-size-4 text-color-default',\n medium: 'font-medium text-size-5 text-color-default',\n large: 'font-medium text-size-6 text-color-default',\n },\n helper: {\n small: 'font-regular text-size-4 text-color-helper',\n medium: 'font-regular text-size-5 text-color-helper',\n large: 'font-regular text-size-6 text-color-helper',\n },\n caption: {\n small: 'font-regular text-size-3 text-color-caption',\n medium: 'font-regular text-size-4 text-color-caption',\n large: 'font-regular text-size-5 text-color-caption',\n },\n link: {\n small: 'font-medium text-size-4 underline text-color-primary',\n medium: 'font-medium text-size-5 underline text-color-primary',\n large: 'font-medium text-size-6 underline text-color-primary',\n },\n label: {\n small: 'font-medium text-size-3 text-color-label',\n medium: 'font-medium text-size-4 text-color-label',\n large: 'font-medium text-size-5 text-color-label',\n },\n placeholder: {\n small: 'font-regular text-size-4 text-color-placeholder',\n medium: 'font-regular text-size-5 text-color-placeholder',\n large: 'font-regular text-size-6 text-color-placeholder',\n },\n info: {\n small: 'font-regular text-size-3 text-color-default',\n medium: 'font-regular text-size-4 text-color-default',\n large: 'font-regular text-size-5 text-color-default',\n },\n infoAccent: {\n small: 'font-medium text-size-3 text-color-header',\n medium: 'font-medium text-size-4 text-color-header',\n large: 'font-medium text-size-5 text-color-header',\n },\n } as const;\n\n private getTextClass = (variant: TextVariant, size: TextSize): string => {\n const variantClasses = this.variantClassMap[variant];\n\n if (typeof variantClasses === 'string') {\n return variantClasses;\n }\n\n return variantClasses[size];\n };\n\n private getOverflowClass = (overflow: boolean): string => {\n return overflow ? 'truncate' : '';\n };\n\n render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n const overflowClass = this.getOverflowClass(this.overflow ?? false);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass, overflowClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
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:"7f91a09d5cd85203bbcb7ec2848abbd38381b7d7",role:"alert","aria-live":"assertive","aria-atomic":"true",class:e(),style:this.alertStyles},a("div",{key:"f0a3407e8998632cf4768205a584ee76602dd10e",class:t()},this.showStatusIcon&&a("bcm-icon",{key:"c89277913df205769b27695afda17fbae27e5dcd","icon-name":this.getStatusIcon()}),a("slot",{key:"7ee558872bbe2ef7f056f9d5762920c1a373cf00"})),a("div",{key:"0e5800023a34fb739945c390186f372ae4ea6ceb",class:t()},a("div",{key:"a23280a4885d74e4c7373b7d099f9ddb0c59164e",part:"action"},a("slot",{key:"d0901245812635e28b13c76e9c841b4052d4d307",name:"action"})),a("span",{key:"0a90cd1625e033d34ec3724473f5956a96dc7fb3",part:"icon"},this.dismissible&&a("bcm-icon",{key:"0a29cfaa6dc3c4dda309740e210d9e607b71fba1",onClick:()=>this.onDismiss(),class:"cursor-pointer","icon-name":"fa-regular fa-xmark"}))))}};s.style=c;export{s as bcm_alert};
|
|
2
|
+
//# sourceMappingURL=p-7f4cb7a0.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["alertCss","BcmAlertStyle0","BcmAlert","constructor","hostRef","this","status","size","kind","dismissible","showStatusIcon","onDismiss","bcmDismiss","emit","getStatusIcon","statusIcon","info","error","warning","success","alertClass","tv","slots","base","section","variants","small","medium","large","twMerge","alertStyles","colorStatus","default","textStatusColor","filleStyle","textStyle","render","h","key","role","class","style","part","name","onClick"],"sources":["src/components/alert/alert.css?tag=bcm-alert&encapsulation=shadow","src/components/alert/alert.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n --bcm-alert-bg: var(--bcm-ui-color-background-default-default);\n --bcm-alert-text: var(--bcm-ui-color-text-default);\n --bcm-alert-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { AlertKind, AlertSize, AlertStatus } from './types';\nimport { tv } from 'tailwind-variants';\n\n\n/**\n * Alert component that displays messages with different statuses and styles\n * @class BcmAlert\n */\n@Component({\n tag: 'bcm-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class BcmAlert implements ComponentInterface {\n /** Alert status type */\n @Prop()\n status?: AlertStatus = 'default';\n\n /** Alert size variant */\n @Prop()\n size?: AlertSize = 'medium';\n\n /** Alert style variant */\n @Prop()\n kind?: AlertKind = 'filled';\n\n /** Whether alert can be dismissed */\n @Prop()\n dismissible?: boolean = true;\n\n /** Whether to show status icon */\n @Prop()\n showStatusIcon?: boolean = true;\n\n @Event() bcmDismiss: EventEmitter<void>;\n\n\n /**\n * Handles alert dismissal\n * @private\n */\n private onDismiss() {\n this.bcmDismiss.emit();\n }\n\n private getStatusIcon() {\n const statusIcon = {\n info: 'fa-regular fa-info-circle',\n error: 'fa-regular fa-exclamation-circle',\n warning: 'fa-regular fa-exclamation-triangle',\n success: 'fa-regular fa-check-circle',\n };\n return statusIcon[this.status];\n }\n\n private get alertClass() {\n return tv(\n {\n slots: {\n 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',\n section: 'flex items-center gap-2',\n },\n variants: {\n size: {\n small: {\n base: 'py-1.5 text-size-4',\n },\n medium: {\n base: 'py-2 text-size-5',\n },\n large: {\n base: 'py-2.5 text-size-6',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n }\n\n private get alertStyles() {\n let colorStatus = {\n info: 'var(--bcm-ui-color-background-palette-blue-default)',\n error: 'var(--bcm-ui-color-background-palette-red-default)',\n warning: 'var(--bcm-ui-color-background-palette-yellow-default)',\n success: 'var(--bcm-ui-color-background-palette-green-default)',\n default: 'var(--bcm-ui-color-background-palette-gray-default)',\n };\n\n let textStatusColor = {\n info: 'var(--bcm-ui-color-text-info)',\n error: 'var(--bcm-ui-color-text-error)',\n warning: 'var(--bcm-ui-color-text-warning)',\n success: 'var(--bcm-ui-color-text-success)',\n default: 'var(--bcm-ui-color-text-default)',\n };\n\n let filleStyle = {\n '--bcm-alert-bg': colorStatus[this.status],\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n let textStyle = {\n '--bcm-alert-bg': 'transparent',\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n return this.kind === 'filled' ? filleStyle : textStyle;\n }\n\n render() {\n const { base, section } = this.alertClass({ size: this.size });\n return (\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class={base()} style={this.alertStyles}>\n <div class={section()}>\n {this.showStatusIcon && <bcm-icon icon-name={this.getStatusIcon()}></bcm-icon>}\n <slot></slot>\n </div>\n <div class={section()}>\n <div part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n <span part=\"icon\">{this.dismissible && <bcm-icon onClick={() => this.onDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\"></bcm-icon>}</span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAW,
|
|
1
|
+
{"version":3,"names":["alertCss","BcmAlertStyle0","BcmAlert","constructor","hostRef","this","status","size","kind","dismissible","showStatusIcon","onDismiss","bcmDismiss","emit","getStatusIcon","statusIcon","info","error","warning","success","alertClass","tv","slots","base","section","variants","small","medium","large","twMerge","alertStyles","colorStatus","default","textStatusColor","filleStyle","textStyle","render","h","key","role","class","style","part","name","onClick"],"sources":["src/components/alert/alert.css?tag=bcm-alert&encapsulation=shadow","src/components/alert/alert.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n --bcm-alert-bg: var(--bcm-ui-color-background-default-default);\n --bcm-alert-text: var(--bcm-ui-color-text-default);\n --bcm-alert-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { AlertKind, AlertSize, AlertStatus } from './types';\nimport { tv } from 'tailwind-variants';\n\n\n/**\n * Alert component that displays messages with different statuses and styles\n * @class BcmAlert\n */\n@Component({\n tag: 'bcm-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class BcmAlert implements ComponentInterface {\n /** Alert status type */\n @Prop()\n status?: AlertStatus = 'default';\n\n /** Alert size variant */\n @Prop()\n size?: AlertSize = 'medium';\n\n /** Alert style variant */\n @Prop()\n kind?: AlertKind = 'filled';\n\n /** Whether alert can be dismissed */\n @Prop()\n dismissible?: boolean = true;\n\n /** Whether to show status icon */\n @Prop()\n showStatusIcon?: boolean = true;\n\n @Event() bcmDismiss: EventEmitter<void>;\n\n\n /**\n * Handles alert dismissal\n * @private\n */\n private onDismiss() {\n this.bcmDismiss.emit();\n }\n\n private getStatusIcon() {\n const statusIcon = {\n info: 'fa-regular fa-info-circle',\n error: 'fa-regular fa-exclamation-circle',\n warning: 'fa-regular fa-exclamation-triangle',\n success: 'fa-regular fa-check-circle',\n };\n return statusIcon[this.status];\n }\n\n private get alertClass() {\n return tv(\n {\n slots: {\n 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',\n section: 'flex items-center gap-2',\n },\n variants: {\n size: {\n small: {\n base: 'py-1.5 text-size-4',\n },\n medium: {\n base: 'py-2 text-size-5',\n },\n large: {\n base: 'py-2.5 text-size-6',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n }\n\n private get alertStyles() {\n let colorStatus = {\n info: 'var(--bcm-ui-color-background-palette-blue-default)',\n error: 'var(--bcm-ui-color-background-palette-red-default)',\n warning: 'var(--bcm-ui-color-background-palette-yellow-default)',\n success: 'var(--bcm-ui-color-background-palette-green-default)',\n default: 'var(--bcm-ui-color-background-palette-gray-default)',\n };\n\n let textStatusColor = {\n info: 'var(--bcm-ui-color-text-info)',\n error: 'var(--bcm-ui-color-text-error)',\n warning: 'var(--bcm-ui-color-text-warning)',\n success: 'var(--bcm-ui-color-text-success)',\n default: 'var(--bcm-ui-color-text-default)',\n };\n\n let filleStyle = {\n '--bcm-alert-bg': colorStatus[this.status],\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n let textStyle = {\n '--bcm-alert-bg': 'transparent',\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n return this.kind === 'filled' ? filleStyle : textStyle;\n }\n\n render() {\n const { base, section } = this.alertClass({ size: this.size });\n return (\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class={base()} style={this.alertStyles}>\n <div class={section()}>\n {this.showStatusIcon && <bcm-icon icon-name={this.getStatusIcon()}></bcm-icon>}\n <slot></slot>\n </div>\n <div class={section()}>\n <div part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n <span part=\"icon\">{this.dismissible && <bcm-icon onClick={() => this.onDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\"></bcm-icon>}</span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAW,04CACjB,MAAAC,EAAeD,E,MCaFE,EAAQ,MALrB,WAAAC,CAAAC,G,iDAQIC,KAAAC,OAAuB,UAIvBD,KAAAE,KAAmB,SAInBF,KAAAG,KAAmB,SAInBH,KAAAI,YAAwB,KAIxBJ,KAAAK,eAA2B,I,CASnB,SAAAC,GACJN,KAAKO,WAAWC,M,CAGZ,aAAAC,GACJ,MAAMC,EAAa,CACfC,KAAM,4BACNC,MAAO,mCACPC,QAAS,qCACTC,QAAS,8BAEb,OAAOJ,EAAWV,KAAKC,O,CAG3B,cAAYc,GACR,OAAOC,EACH,CACIC,MAAO,CACHC,KAAM,gKACNC,QAAS,2BAEbC,SAAU,CACNlB,KAAM,CACFmB,MAAO,CACHH,KAAM,sBAEVI,OAAQ,CACJJ,KAAM,oBAEVK,MAAO,CACHL,KAAM,yBAKtB,CACIM,QAAS,O,CAKrB,eAAYC,GACR,IAAIC,EAAc,CACdf,KAAM,sDACNC,MAAO,qDACPC,QAAS,wDACTC,QAAS,uDACTa,QAAS,uDAGb,IAAIC,EAAkB,CAClBjB,KAAM,gCACNC,MAAO,iCACPC,QAAS,mCACTC,QAAS,mCACTa,QAAS,oCAGb,IAAIE,EAAa,CACb,iBAAkBH,EAAY1B,KAAKC,QACnC,mBAAoB2B,EAAgB5B,KAAKC,SAG7C,IAAI6B,EAAY,CACZ,iBAAkB,cAClB,mBAAoBF,EAAgB5B,KAAKC,SAG7C,OAAOD,KAAKG,OAAS,SAAW0B,EAAaC,C,CAGjD,MAAAC,GACI,MAAMb,KAAEA,EAAIC,QAAEA,GAAYnB,KAAKe,WAAW,CAAEb,KAAMF,KAAKE,OACvD,OACI8B,EAAA,OAAAC,IAAA,2CAAKC,KAAK,QAAO,YAAW,YAAW,cAAa,OAAOC,MAAOjB,IAAQkB,MAAOpC,KAAKyB,aAClFO,EAAA,OAAAC,IAAA,2CAAKE,MAAOhB,KACPnB,KAAKK,gBAAkB2B,EAAA,YAAAC,IAAA,uDAAqBjC,KAAKS,kBAClDuB,EAAA,QAAAC,IAAA,8CAEJD,EAAA,OAAAC,IAAA,2CAAKE,MAAOhB,KACRa,EAAA,OAAAC,IAAA,2CAAKI,KAAK,UACNL,EAAA,QAAAC,IAAA,2CAAMK,KAAK,YAEfN,EAAA,QAAAC,IAAA,2CAAMI,KAAK,QAAQrC,KAAKI,aAAe4B,EAAA,YAAAC,IAAA,2CAAUM,QAAS,IAAMvC,KAAKM,YAAa6B,MAAM,iBAAgB,YAAW,0B","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-6710808e.js');
|
|
6
6
|
const index$1 = require('./index-310db2a6.js');
|
|
7
7
|
|
|
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}.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)}";
|
|
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)}";
|
|
9
9
|
const BcmAlertStyle0 = alertCss;
|
|
10
10
|
|
|
11
11
|
const BcmAlert = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"bcm-alert.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"file":"bcm-alert.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,QAAQ,GAAG,y4CAAy4C,CAAC;AAC35C,uBAAe,QAAQ;;MCaV,QAAQ;IALrB;;;;QAQI,WAAM,GAAiB,SAAS,CAAC;;QAIjC,SAAI,GAAe,QAAQ,CAAC;;QAI5B,SAAI,GAAe,QAAQ,CAAC;;QAI5B,gBAAW,GAAa,IAAI,CAAC;;QAI7B,mBAAc,GAAa,IAAI,CAAC;KAiGnC;;;;;IAxFW,SAAS;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KAC1B;IAEO,aAAa;QACjB,MAAM,UAAU,GAAG;YACf,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,kCAAkC;YACzC,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,4BAA4B;SACxC,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;IAED,IAAY,UAAU;QAClB,OAAOA,UAAE,CACL;YACI,KAAK,EAAE;gBACH,IAAI,EAAE,+JAA+J;gBACrK,OAAO,EAAE,yBAAyB;aACrC;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,oBAAoB;qBAC7B;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,kBAAkB;qBAC3B;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,oBAAoB;qBAC7B;iBACJ;aACJ;SACJ,EACD;YACI,OAAO,EAAE,KAAK;SACjB,CACJ,CAAC;KACL;IAED,IAAY,WAAW;QACnB,IAAI,WAAW,GAAG;YACd,IAAI,EAAE,qDAAqD;YAC3D,KAAK,EAAE,oDAAoD;YAC3D,OAAO,EAAE,uDAAuD;YAChE,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,qDAAqD;SACjE,CAAC;QAEF,IAAI,eAAe,GAAG;YAClB,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,gCAAgC;YACvC,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,kCAAkC;SAC9C,CAAC;QAEF,IAAI,UAAU,GAAG;YACb,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;SACnD,CAAC;QAEF,IAAI,SAAS,GAAG;YACZ,gBAAgB,EAAE,aAAa;YAC/B,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;SACnD,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;KAC1D;IAED,MAAM;QACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,QACIC,kEAAK,IAAI,EAAC,OAAO,eAAW,WAAW,iBAAa,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,IAC7FA,kEAAK,KAAK,EAAE,OAAO,EAAE,IAChB,IAAI,CAAC,cAAc,IAAIA,oFAAqB,IAAI,CAAC,aAAa,EAAE,GAAa,EAC9EA,oEAAa,CACX,EACNA,kEAAK,KAAK,EAAE,OAAO,EAAE,IACjBA,kEAAK,IAAI,EAAC,QAAQ,IACdA,mEAAM,IAAI,EAAC,QAAQ,GAAQ,CACzB,EACNA,mEAAM,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,WAAW,IAAIA,uEAAU,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAC,gBAAgB,eAAW,qBAAqB,GAAY,CAAQ,CAC1J,CACJ,EACR;KACL;;;;;;","names":["tv","h"],"sources":["src/components/alert/alert.css?tag=bcm-alert&encapsulation=shadow","src/components/alert/alert.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n --bcm-alert-bg: var(--bcm-ui-color-background-default-default);\n --bcm-alert-text: var(--bcm-ui-color-text-default);\n --bcm-alert-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { AlertKind, AlertSize, AlertStatus } from './types';\nimport { tv } from 'tailwind-variants';\n\n\n/**\n * Alert component that displays messages with different statuses and styles\n * @class BcmAlert\n */\n@Component({\n tag: 'bcm-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class BcmAlert implements ComponentInterface {\n /** Alert status type */\n @Prop()\n status?: AlertStatus = 'default';\n\n /** Alert size variant */\n @Prop()\n size?: AlertSize = 'medium';\n\n /** Alert style variant */\n @Prop()\n kind?: AlertKind = 'filled';\n\n /** Whether alert can be dismissed */\n @Prop()\n dismissible?: boolean = true;\n\n /** Whether to show status icon */\n @Prop()\n showStatusIcon?: boolean = true;\n\n @Event() bcmDismiss: EventEmitter<void>;\n\n\n /**\n * Handles alert dismissal\n * @private\n */\n private onDismiss() {\n this.bcmDismiss.emit();\n }\n\n private getStatusIcon() {\n const statusIcon = {\n info: 'fa-regular fa-info-circle',\n error: 'fa-regular fa-exclamation-circle',\n warning: 'fa-regular fa-exclamation-triangle',\n success: 'fa-regular fa-check-circle',\n };\n return statusIcon[this.status];\n }\n\n private get alertClass() {\n return tv(\n {\n slots: {\n 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',\n section: 'flex items-center gap-2',\n },\n variants: {\n size: {\n small: {\n base: 'py-1.5 text-size-4',\n },\n medium: {\n base: 'py-2 text-size-5',\n },\n large: {\n base: 'py-2.5 text-size-6',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n }\n\n private get alertStyles() {\n let colorStatus = {\n info: 'var(--bcm-ui-color-background-palette-blue-default)',\n error: 'var(--bcm-ui-color-background-palette-red-default)',\n warning: 'var(--bcm-ui-color-background-palette-yellow-default)',\n success: 'var(--bcm-ui-color-background-palette-green-default)',\n default: 'var(--bcm-ui-color-background-palette-gray-default)',\n };\n\n let textStatusColor = {\n info: 'var(--bcm-ui-color-text-info)',\n error: 'var(--bcm-ui-color-text-error)',\n warning: 'var(--bcm-ui-color-text-warning)',\n success: 'var(--bcm-ui-color-text-success)',\n default: 'var(--bcm-ui-color-text-default)',\n };\n\n let filleStyle = {\n '--bcm-alert-bg': colorStatus[this.status],\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n let textStyle = {\n '--bcm-alert-bg': 'transparent',\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n return this.kind === 'filled' ? filleStyle : textStyle;\n }\n\n render() {\n const { base, section } = this.alertClass({ size: this.size });\n return (\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class={base()} style={this.alertStyles}>\n <div class={section()}>\n {this.showStatusIcon && <bcm-icon icon-name={this.getStatusIcon()}></bcm-icon>}\n <slot></slot>\n </div>\n <div class={section()}>\n <div part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n <span part=\"icon\">{this.dismissible && <bcm-icon onClick={() => this.onDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\"></bcm-icon>}</span>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -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}.
|
|
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}.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}.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}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.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)}.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}.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)}";
|
|
153
153
|
const BcmButtonStyle0 = buttonCss;
|
|
154
154
|
|
|
155
155
|
const BcmButton = class {
|
|
@@ -436,6 +436,7 @@ const BcmLinked = class {
|
|
|
436
436
|
this.disabled = false;
|
|
437
437
|
// Style configuration
|
|
438
438
|
this.zIndex = 1000;
|
|
439
|
+
this.appendToBody = false;
|
|
439
440
|
this.destroyOnHide = false;
|
|
440
441
|
// State
|
|
441
442
|
this.isVisible = false;
|
|
@@ -515,6 +516,10 @@ const BcmLinked = class {
|
|
|
515
516
|
this.clearTimeouts();
|
|
516
517
|
(_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
517
518
|
(_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
519
|
+
// Restore element to original position if component is destroyed while in portal
|
|
520
|
+
if (this.appendToBody && this.floatingEl && this.originalParent) {
|
|
521
|
+
this.originalParent.appendChild(this.floatingEl);
|
|
522
|
+
}
|
|
518
523
|
}
|
|
519
524
|
connectTarget() {
|
|
520
525
|
if (!this.isReady)
|
|
@@ -663,6 +668,12 @@ const BcmLinked = class {
|
|
|
663
668
|
if (this.disabled || this.isVisible)
|
|
664
669
|
return;
|
|
665
670
|
this.bcmShow.emit();
|
|
671
|
+
// Portalling: Move the floating element to the body
|
|
672
|
+
if (this.appendToBody && this.floatingEl) {
|
|
673
|
+
this.originalParent = this.floatingEl.parentNode;
|
|
674
|
+
this.originalNextSibling = this.floatingEl.nextSibling;
|
|
675
|
+
document.body.appendChild(this.floatingEl);
|
|
676
|
+
}
|
|
666
677
|
this.isVisible = true;
|
|
667
678
|
// Use requestAnimationFrame to ensure the element is visible before positioning
|
|
668
679
|
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
@@ -673,6 +684,17 @@ const BcmLinked = class {
|
|
|
673
684
|
return;
|
|
674
685
|
this.bcmHide.emit();
|
|
675
686
|
this.isVisible = false;
|
|
687
|
+
// Portalling: Restore the floating element to its original position
|
|
688
|
+
if (this.appendToBody && this.floatingEl && this.originalParent) {
|
|
689
|
+
if (this.originalNextSibling) {
|
|
690
|
+
this.originalParent.insertBefore(this.floatingEl, this.originalNextSibling);
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
this.originalParent.appendChild(this.floatingEl);
|
|
694
|
+
}
|
|
695
|
+
this.originalParent = undefined;
|
|
696
|
+
this.originalNextSibling = undefined;
|
|
697
|
+
}
|
|
676
698
|
if (this.destroyOnHide && this.floatingEl && this.floatingEl.parentNode) {
|
|
677
699
|
this.floatingEl.parentNode.removeChild(this.floatingEl);
|
|
678
700
|
}
|
|
@@ -707,7 +729,7 @@ const BcmLinked = class {
|
|
|
707
729
|
'floating-with-arrow': this.arrow,
|
|
708
730
|
'floating-destroy-on-hide': this.destroyOnHide,
|
|
709
731
|
};
|
|
710
|
-
return (index.h(index.Host, { key: '
|
|
732
|
+
return (index.h(index.Host, { key: 'f5835cc1b6044476e66402d23a3becf18d3f2049' }, index.h("div", { key: '2c7f92bbe85bc938a767734ef4b27702247fb390', class: floatingClasses, style: {
|
|
711
733
|
position: 'fixed',
|
|
712
734
|
top: '0px',
|
|
713
735
|
left: '0px',
|
|
@@ -716,7 +738,7 @@ const BcmLinked = class {
|
|
|
716
738
|
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
717
739
|
opacity: this.isVisible ? '1' : '0',
|
|
718
740
|
pointerEvents: this.isVisible ? 'auto' : 'none',
|
|
719
|
-
} }, this.arrow && index.h("div", { key: '
|
|
741
|
+
} }, this.arrow && index.h("div", { key: 'f6eedac02b29b3ca00a9a84eea940ac89089f30c', class: "floating-arrow" }), index.h("div", { key: '7cb19f085de1d77a41fd9897be90999e78a0a54d', class: "floating-wrapper" }, index.h("slot", { key: 'a4b4289642850e3c2f7f27771b3d28bc41c8248a' }))), index.h("div", { key: '61cd7af9a4a47c87c308e1e67f96efb987c97312', style: { display: 'none' } }, index.h("slot", { key: '7160df275f5c7c66733158f95266598d0d207a17', name: "fallback" }))));
|
|
720
742
|
}
|
|
721
743
|
get host() { return index.getElement(this); }
|
|
722
744
|
static get watchers() { return {
|