bromcom-ui-next 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  3. package/dist/bromcom-ui/global/global.js +10 -0
  4. package/dist/bromcom-ui/p-1bf71c9b.entry.js +2 -0
  5. package/dist/bromcom-ui/{p-7d8ad3dd.entry.js.map → p-1bf71c9b.entry.js.map} +1 -1
  6. package/dist/bromcom-ui/p-48f18671.entry.js +2 -0
  7. package/dist/bromcom-ui/{p-d57587e5.entry.js.map → p-48f18671.entry.js.map} +1 -1
  8. package/dist/bromcom-ui/p-a1aae3ef.entry.js +2 -0
  9. package/dist/bromcom-ui/p-a1aae3ef.entry.js.map +1 -0
  10. package/dist/bromcom-ui/p-ab9a95f9.entry.js +2 -0
  11. package/dist/bromcom-ui/p-ab9a95f9.entry.js.map +1 -0
  12. package/dist/bromcom-ui/p-b1b493ab.entry.js +2 -0
  13. package/dist/bromcom-ui/p-b1b493ab.entry.js.map +1 -0
  14. package/dist/bromcom-ui/p-c427ffee.entry.js +2 -0
  15. package/dist/bromcom-ui/{p-15829c47.entry.js.map → p-c427ffee.entry.js.map} +1 -1
  16. package/dist/bromcom-ui/p-cee68279.entry.js +2 -0
  17. package/dist/bromcom-ui/{p-4b7294a3.entry.js.map → p-cee68279.entry.js.map} +1 -1
  18. package/dist/bromcom-ui/p-ddf64315.js +2 -0
  19. package/dist/bromcom-ui/p-ddf64315.js.map +1 -0
  20. package/dist/cjs/{app-globals-29edfda4.js → app-globals-e0eef2e9.js} +9 -1
  21. package/dist/cjs/app-globals-e0eef2e9.js.map +1 -0
  22. package/dist/cjs/bcm-avatar_4.cjs.entry.js +23 -10
  23. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -1
  24. package/dist/cjs/bcm-checkbox.cjs.entry.js +3 -3
  25. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  27. package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/bcm-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/bcm-divider.cjs.entry.js.map +1 -1
  30. package/dist/cjs/bcm-input.cjs.entry.js +23 -20
  31. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -1
  32. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +1 -1
  33. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -1
  34. package/dist/cjs/bcm-text.cjs.entry.js +1 -1
  35. package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
  36. package/dist/cjs/bromcom-ui.cjs.js +2 -2
  37. package/dist/cjs/loader.cjs.js +2 -2
  38. package/dist/collection/components/basic-badge/basic-badge.component.js +3 -3
  39. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
  40. package/dist/collection/components/button/button.component.js +19 -6
  41. package/dist/collection/components/button/button.component.js.map +1 -1
  42. package/dist/collection/components/button/button.css +1 -1
  43. package/dist/collection/components/checkbox/checkbox.component.js +2 -2
  44. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  45. package/dist/collection/components/checkbox/checkbox.css +1 -1
  46. package/dist/collection/components/chip/chip.css +1 -1
  47. package/dist/collection/components/divider/divider.css +1 -1
  48. package/dist/collection/components/input/input.component.js +24 -10
  49. package/dist/collection/components/input/input.component.js.map +1 -1
  50. package/dist/collection/components/input/input.css +1 -1
  51. package/dist/collection/components/tabs/tabs-trigger.css +1 -1
  52. package/dist/collection/components/text/text.css +1 -1
  53. package/dist/collection/global/global.js +10 -0
  54. package/dist/components/bcm-basic-badge.js +3 -3
  55. package/dist/components/bcm-basic-badge.js.map +1 -1
  56. package/dist/components/bcm-button.js +1 -1
  57. package/dist/components/bcm-checkbox.js +3 -3
  58. package/dist/components/bcm-checkbox.js.map +1 -1
  59. package/dist/components/bcm-chip.js +1 -1
  60. package/dist/components/bcm-chip.js.map +1 -1
  61. package/dist/components/bcm-divider.js +1 -1
  62. package/dist/components/bcm-divider.js.map +1 -1
  63. package/dist/components/bcm-dropdown.js +1 -1
  64. package/dist/components/bcm-input.js +24 -20
  65. package/dist/components/bcm-input.js.map +1 -1
  66. package/dist/components/bcm-pop-confirm.js +1 -1
  67. package/dist/components/bcm-tabs-trigger.js +1 -1
  68. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  69. package/dist/components/bcm-text.js +1 -1
  70. package/dist/components/bcm-text.js.map +1 -1
  71. package/dist/components/index.js +8 -0
  72. package/dist/components/index.js.map +1 -1
  73. package/dist/components/{p-e6567774.js → p-434bf03a.js} +21 -8
  74. package/dist/components/p-434bf03a.js.map +1 -0
  75. package/dist/esm/{app-globals-bfa07b76.js → app-globals-f7994f55.js} +9 -1
  76. package/dist/esm/app-globals-f7994f55.js.map +1 -0
  77. package/dist/esm/bcm-avatar_4.entry.js +23 -10
  78. package/dist/esm/bcm-avatar_4.entry.js.map +1 -1
  79. package/dist/esm/bcm-checkbox.entry.js +3 -3
  80. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  81. package/dist/esm/bcm-chip.entry.js +1 -1
  82. package/dist/esm/bcm-chip.entry.js.map +1 -1
  83. package/dist/esm/bcm-divider.entry.js +1 -1
  84. package/dist/esm/bcm-divider.entry.js.map +1 -1
  85. package/dist/esm/bcm-input.entry.js +23 -20
  86. package/dist/esm/bcm-input.entry.js.map +1 -1
  87. package/dist/esm/bcm-tabs-trigger.entry.js +1 -1
  88. package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -1
  89. package/dist/esm/bcm-text.entry.js +1 -1
  90. package/dist/esm/bcm-text.entry.js.map +1 -1
  91. package/dist/esm/bromcom-ui.js +2 -2
  92. package/dist/esm/loader.js +2 -2
  93. package/dist/types/components/input/input.component.d.ts +4 -0
  94. package/package.json +1 -1
  95. package/dist/bromcom-ui/p-15829c47.entry.js +0 -2
  96. package/dist/bromcom-ui/p-4b7294a3.entry.js +0 -2
  97. package/dist/bromcom-ui/p-729a870f.js +0 -2
  98. package/dist/bromcom-ui/p-729a870f.js.map +0 -1
  99. package/dist/bromcom-ui/p-7d8ad3dd.entry.js +0 -2
  100. package/dist/bromcom-ui/p-a29e61a4.entry.js +0 -2
  101. package/dist/bromcom-ui/p-a29e61a4.entry.js.map +0 -1
  102. package/dist/bromcom-ui/p-ae16edd3.entry.js +0 -2
  103. package/dist/bromcom-ui/p-ae16edd3.entry.js.map +0 -1
  104. package/dist/bromcom-ui/p-d57587e5.entry.js +0 -2
  105. package/dist/bromcom-ui/p-e6025578.entry.js +0 -2
  106. package/dist/bromcom-ui/p-e6025578.entry.js.map +0 -1
  107. package/dist/cjs/app-globals-29edfda4.js.map +0 -1
  108. package/dist/components/p-e6567774.js.map +0 -1
  109. package/dist/esm/app-globals-bfa07b76.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{p as e,b as a}from"./p-c9b736d9.js";export{s as setNonce}from"./p-c9b736d9.js";import{g as t}from"./p-729a870f.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-c444235a",[[1,"bcm-dropdown",{text:[1],isReady:[32],dropdownItems:[32]},[[2,"bcmDropDownItemChange","handleDropdownItemChange"]]]]],["p-e89ab4a7",[[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-056c9348",[[1,"bcm-accordion",{expanded:[1540],headerTitle:[1,"header-title"],group:[516],hintText:[1,"hint-text"],hasFooterContent:[32],toggle:[64],expand:[64],collapse:[64]}]]],["p-f2d8aa70",[[1,"bcm-accordion-group",{multi:[4],accordionItems:[32],expandAll:[64],collapseAll:[64],getExpandedItems:[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["p-58ee24a8",[[1,"bcm-alert",{status:[1],size:[1],kind:[1],dismissible:[4],showStatusIcon:[4,"show-status-icon"]}]]],["p-13784cd7",[[1,"bcm-button-group",{kind:[1],size:[1],status:[1],fullWidth:[516,"full-width"],loading:[4],disabled:[4],orientation:[513]}]]],["p-ae16edd3",[[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-4b7294a3",[[1,"bcm-chip",{size:[1],kind:[1],status:[1],dismissible:[4],disabled:[4],color:[1]}]]],["p-d57587e5",[[1,"bcm-divider",{direction:[1],variant:[1],size:[1]}]]],["p-f7890098",[[1,"bcm-dropdown-item",{text:[1],icon:[1],rightIcons:[16],selected:[516],error:[516],disabled:[516]}]]],["p-a29e61a4",[[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],setFocus:[64],setBlur:[64],select:[64],setLocale:[64]},null,{value:["handleValueChange"],status:["watchStatus"],errorMessage:["watchErrorMessage"]}]]],["p-9ab4d2be",[[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-c2b3945e",[[1,"bcm-radio",{label:[1],name:[1],value:[1],checked:[516],size:[1],disabled:[4],readonly:[4],labelPosition:[1,"label-position"],error:[4]}]]],["p-c995a48c",[[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-55c4263c",[[1,"bcm-segmented-picker",{size:[1],value:[1537],disabled:[4],fullWidth:[516,"full-width"],options:[32],indicatorStyles:[32]},[[0,"bcmOptionClick","handleOptionClick"]],{value:["valueChanged"]}]]],["p-49b0e982",[[1,"bcm-segmented-picker-option",{value:[1],label:[1],size:[1],selected:[1028],disabled:[4],getWidth:[64]}]]],["p-625bbd86",[[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-cd271b49",[[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-bf69fc8a",[[1,"bcm-tabs-content",{value:[513]}]]],["p-bd0f7e78",[[1,"bcm-tabs-list"]]],["p-7d8ad3dd",[[1,"bcm-tabs-trigger",{value:[513],active:[516],size:[513],disabled:[516]}]]],["p-15829c47",[[1,"bcm-text",{text:[1],variant:[1],size:[1]}]]],["p-0d0d6483",[[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-389f1976",[[1,"bcm-tooltip",{trigger:[1],placement:[1],size:[1],message:[1],showDelay:[2,"show-delay"],open:[32],openTooltip:[64],closeTooltip:[64]}]]],["p-f4e8a47d",[[1,"bcm-linked",{targetId:[513,"target-id"],targetElement:[16],isVisible:[32]}]]],["p-e6025578",[[1,"bcm-avatar",{image:[1],alt:[1],shape:[1],size:[1],color:[1],icon:[1],status:[1],blink:[4],name:[1],isFallback:[32]}],[1,"bcm-basic-badge",{size:[1],variant:[1],color:[1],soft:[4],text:[1]}],[1,"bcm-badge",{size:[1],variant:[1],color:[1],soft:[4],blink:[4],status:[1],position:[1],offset:[1],text:[1]}],[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)}));
1
+ import{p as e,b as a}from"./p-c9b736d9.js";export{s as setNonce}from"./p-c9b736d9.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-c444235a",[[1,"bcm-dropdown",{text:[1],isReady:[32],dropdownItems:[32]},[[2,"bcmDropDownItemChange","handleDropdownItemChange"]]]]],["p-e89ab4a7",[[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-056c9348",[[1,"bcm-accordion",{expanded:[1540],headerTitle:[1,"header-title"],group:[516],hintText:[1,"hint-text"],hasFooterContent:[32],toggle:[64],expand:[64],collapse:[64]}]]],["p-f2d8aa70",[[1,"bcm-accordion-group",{multi:[4],accordionItems:[32],expandAll:[64],collapseAll:[64],getExpandedItems:[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["p-58ee24a8",[[1,"bcm-alert",{status:[1],size:[1],kind:[1],dismissible:[4],showStatusIcon:[4,"show-status-icon"]}]]],["p-13784cd7",[[1,"bcm-button-group",{kind:[1],size:[1],status:[1],fullWidth:[516,"full-width"],loading:[4],disabled:[4],orientation:[513]}]]],["p-a1aae3ef",[[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-cee68279",[[1,"bcm-chip",{size:[1],kind:[1],status:[1],dismissible:[4],disabled:[4],color:[1]}]]],["p-48f18671",[[1,"bcm-divider",{direction:[1],variant:[1],size:[1]}]]],["p-f7890098",[[1,"bcm-dropdown-item",{text:[1],icon:[1],rightIcons:[16],selected:[516],error:[516],disabled:[516]}]]],["p-ab9a95f9",[[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-9ab4d2be",[[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-c2b3945e",[[1,"bcm-radio",{label:[1],name:[1],value:[1],checked:[516],size:[1],disabled:[4],readonly:[4],labelPosition:[1,"label-position"],error:[4]}]]],["p-c995a48c",[[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-55c4263c",[[1,"bcm-segmented-picker",{size:[1],value:[1537],disabled:[4],fullWidth:[516,"full-width"],options:[32],indicatorStyles:[32]},[[0,"bcmOptionClick","handleOptionClick"]],{value:["valueChanged"]}]]],["p-49b0e982",[[1,"bcm-segmented-picker-option",{value:[1],label:[1],size:[1],selected:[1028],disabled:[4],getWidth:[64]}]]],["p-625bbd86",[[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-cd271b49",[[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-bf69fc8a",[[1,"bcm-tabs-content",{value:[513]}]]],["p-bd0f7e78",[[1,"bcm-tabs-list"]]],["p-1bf71c9b",[[1,"bcm-tabs-trigger",{value:[513],active:[516],size:[513],disabled:[516]}]]],["p-c427ffee",[[1,"bcm-text",{text:[1],variant:[1],size:[1]}]]],["p-0d0d6483",[[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-389f1976",[[1,"bcm-tooltip",{trigger:[1],placement:[1],size:[1],message:[1],showDelay:[2,"show-delay"],open:[32],openTooltip:[64],closeTooltip:[64]}]]],["p-f4e8a47d",[[1,"bcm-linked",{targetId:[513,"target-id"],targetElement:[16],isVisible:[32]}]]],["p-b1b493ab",[[1,"bcm-avatar",{image:[1],alt:[1],shape:[1],size:[1],color:[1],icon:[1],status:[1],blink:[4],name:[1],isFallback:[32]}],[1,"bcm-basic-badge",{size:[1],variant:[1],color:[1],soft:[4],text:[1]}],[1,"bcm-badge",{size:[1],variant:[1],color:[1],soft:[4],blink:[4],status:[1],position:[1],offset:[1],text:[1]}],[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","text","isReady","dropdownItems","arrowColor","cancelText","confirmText","description","headerText","placement","size","status","statusIcon","targetId","isOpen","currentPlacement","show","hide","expanded","headerTitle","group","hintText","hasFooterContent","toggle","expand","collapse","multi","accordionItems","expandAll","collapseAll","getExpandedItems","kind","dismissible","showStatusIcon","fullWidth","loading","disabled","orientation","_id","label","name","indeterminate","checked","error","labelPosition","internalChecked","color","direction","variant","icon","rightIcons","selected","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","setFocus","setBlur","select","setLocale","trigger","hoverDelay","open","message","openPopup","closePopup","setClear","resetCaption","indicatorStyles","getWidth","caption","defaultValue","activeTab","previousTab","disableTab","enableTab","disableAllTabs","enableAllTabs","getActiveTab","setActiveTab","active","rows","cols","minRows","maxRows","resize","autoGrow","showCounter","showDelay","openTooltip","closeTooltip","targetElement","isVisible","image","alt","shape","blink","isFallback","soft","position","offset","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":[]}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","text","isReady","dropdownItems","arrowColor","cancelText","confirmText","description","headerText","placement","size","status","statusIcon","targetId","isOpen","currentPlacement","show","hide","expanded","headerTitle","group","hintText","hasFooterContent","toggle","expand","collapse","multi","accordionItems","expandAll","collapseAll","getExpandedItems","kind","dismissible","showStatusIcon","fullWidth","loading","disabled","orientation","_id","label","name","indeterminate","checked","error","labelPosition","internalChecked","color","direction","variant","icon","rightIcons","selected","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","getWidth","caption","defaultValue","activeTab","previousTab","disableTab","enableTab","disableAllTabs","enableAllTabs","getActiveTab","setActiveTab","active","rows","cols","minRows","maxRows","resize","autoGrow","showCounter","showDelay","openTooltip","closeTooltip","targetElement","isVisible","image","alt","shape","blink","isFallback","soft","position","offset","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":[]}
@@ -23,6 +23,16 @@ customElements.define(
23
23
  `;
24
24
  }
25
25
 
26
+ static get observedAttributes() {
27
+ return ['name', 'icon-name'];
28
+ }
29
+
30
+ attributeChangedCallback(name, oldValue, newValue) {
31
+ if ((name === 'name' || name === 'icon-name') && oldValue !== newValue) {
32
+ this.icon = newValue;
33
+ }
34
+ }
35
+
26
36
  get icon() {
27
37
  return this.getAttribute('name') || this.getAttribute('icon-name');
28
38
  }
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as o,g as r}from"./p-c9b736d9.js";import{c as a}from"./p-5fcf77f9.js";const s=".relative{position:relative}.block{display:block}:host{display:block;position:relative;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.flex{display:flex}.h-\\[2px\\]{height:2px}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.border-none{border-style:none}.bg-\\[--bcm-ui-color-text-default\\]{background-color:var(--bcm-ui-color-text-default)}.bg-\\[--bcm-ui-color-text-disabled\\]{background-color:var(--bcm-ui-color-text-disabled)}.bg-color-primary{background-color:var(--bcm-ui-color-background-primary-default)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-center{text-align:center}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:text-color-primary:hover{color:var(--bcm-ui-color-text-primary)}";const l=s;const c=class{constructor(i){t(this,i);this.bcmTabSelected=e(this,"bcmTabSelected",1);this.active=false;this.size="medium";this.disabled=false;this.class=a({slots:{tab:"bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none",borderLine:"bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out"},variants:{size:{small:{tab:"text-size-4 gap-2"},medium:{tab:"text-size-5 gap-2.5"},large:{tab:"text-size-6 gap-3"}},active:{true:{tab:"text-color-primary"},false:{tab:"text-color"}},disabled:{true:{tab:"cursor-not-allowed text-color-disabled",borderLine:"bg-[--bcm-ui-color-text-disabled]"},false:{tab:"cursor-pointer text-color hover:text-color-primary",borderLine:"bg-[--bcm-ui-color-text-default]"}}},defaultVariants:{size:"medium",active:false,disabled:false}},{twMerge:false})}handleClick(){if(this.disabled)return;this.bcmTabSelected.emit(this.value)}render(){const{tab:t,borderLine:e}=this.class({size:this.size,active:this.active,disabled:this.disabled});return i(o,{key:"d55ce1eaa9290ffe2d47f6a0fa747cf9dd9f1b7c",role:"tab","aria-selected":this.active.toString(),"aria-disabled":this.disabled},i("button",{key:"d9dcc8685a2007e0c8f234913e461de90916a32d",class:t(),disabled:this.disabled,part:"tab",onClick:()=>this.handleClick()},i("slot",{key:"4ef0ed0302f2fedd966e461a77fd3f79bcb3c6c0"})),i("div",{key:"a0afbb81a99afe7eeab0917a824e67078c4c0636",class:e()}))}get el(){return r(this)}};c.style=l;export{c as bcm_tabs_trigger};
2
+ //# sourceMappingURL=p-1bf71c9b.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["tabsTriggerCss","BcmTabsTriggerStyle0","BcmTabsTrigger","constructor","hostRef","this","active","size","disabled","class","tv","slots","tab","borderLine","variants","small","medium","large","true","false","defaultVariants","twMerge","handleClick","bcmTabSelected","emit","value","render","h","Host","key","role","toString","part","onClick"],"sources":["src/components/tabs/tabs-trigger.css?tag=bcm-tabs-trigger&encapsulation=shadow","src/components/tabs/tabs-trigger.component.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n width: 100%;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, ComponentInterface } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @description Tab trigger component that functions as a clickable tab button\n * @slot - Default slot for tab label content\n */\n@Component({\n tag: 'bcm-tabs-trigger',\n styleUrl: 'tabs-trigger.css',\n shadow: true,\n})\nexport class BcmTabsTrigger implements ComponentInterface {\n /**\n * Reference to the host element\n */\n @Element() el: HTMLElement;\n\n /**\n * Unique identifier value for the tab\n */\n @Prop({ reflect: true })\n value: string;\n\n /**\n * Whether the tab is currently active\n */\n @Prop({ reflect: true })\n active: boolean = false;\n\n /**\n * Size of the tab\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Event emitted when this tab is selected\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmTabSelected',\n })\n bcmTabSelected: EventEmitter<string>;\n\n /**\n * Handles click events on the tab\n * Emits bcmTabSelected event with tab value if not disabled\n */\n private handleClick() {\n if (this.disabled) return;\n this.bcmTabSelected.emit(this.value);\n }\n\n /**\n * Tailwind variants configuration for styling\n */\n private class = tv(\n {\n slots: {\n tab: 'bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none',\n borderLine: 'bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out',\n },\n variants: {\n size: {\n small: { tab: 'text-size-4 gap-2' },\n medium: { tab: 'text-size-5 gap-2.5' },\n large: { tab: 'text-size-6 gap-3' },\n },\n active: {\n true: {\n tab: 'text-color-primary',\n },\n false: {\n tab: 'text-color',\n },\n },\n disabled: {\n true: {\n tab: 'cursor-not-allowed text-color-disabled',\n borderLine: 'bg-[--bcm-ui-color-text-disabled]',\n },\n false: {\n tab: 'cursor-pointer text-color hover:text-color-primary',\n borderLine: 'bg-[--bcm-ui-color-text-default]',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n active: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { tab, borderLine } = this.class({\n size: this.size,\n active: this.active,\n disabled: this.disabled,\n });\n return (\n <Host role=\"tab\" aria-selected={this.active.toString()} aria-disabled={this.disabled}>\n <button class={tab()} disabled={this.disabled} part=\"tab\" onClick={() => this.handleClick()}>\n <slot />\n </button>\n <div class={borderLine()}></div>\n </Host>\n );\n }\n}"],"mappings":"oGAAA,MAAMA,EAAiB,g9DACvB,MAAAC,EAAeD,E,MCWFE,EAAc,MAL3B,WAAAC,CAAAC,G,yDAqBIC,KAAAC,OAAkB,MAMlBD,KAAAE,KAAqC,SAMrCF,KAAAG,SAAoB,MAyBZH,KAAAI,MAAQC,EACZ,CACIC,MAAO,CACHC,IAAK,iKACLC,WAAY,mGAEhBC,SAAU,CACNP,KAAM,CACFQ,MAAO,CAAEH,IAAK,qBACdI,OAAQ,CAAEJ,IAAK,uBACfK,MAAO,CAAEL,IAAK,sBAElBN,OAAQ,CACJY,KAAM,CACFN,IAAK,sBAETO,MAAO,CACHP,IAAK,eAGbJ,SAAU,CACNU,KAAM,CACFN,IAAK,yCACLC,WAAY,qCAEhBM,MAAO,CACHP,IAAK,qDACLC,WAAY,sCAIxBO,gBAAiB,CACbb,KAAM,SACND,OAAQ,MACRE,SAAU,QAGlB,CACIa,QAAS,O,CA9CT,WAAAC,GACJ,GAAIjB,KAAKG,SAAU,OACnBH,KAAKkB,eAAeC,KAAKnB,KAAKoB,M,CAgDlC,MAAAC,GACI,MAAMd,IAAEA,EAAGC,WAAEA,GAAeR,KAAKI,MAAM,CACnCF,KAAMF,KAAKE,KACXD,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,WAEnB,OACImB,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,gBAAgBzB,KAAKC,OAAOyB,WAAU,gBAAiB1B,KAAKG,UACxEmB,EAAA,UAAAE,IAAA,2CAAQpB,MAAOG,IAAOJ,SAAUH,KAAKG,SAAUwB,KAAK,MAAMC,QAAS,IAAM5B,KAAKiB,eAC1EK,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKpB,MAAOI,M","ignoreList":[]}
1
+ {"version":3,"names":["tabsTriggerCss","BcmTabsTriggerStyle0","BcmTabsTrigger","constructor","hostRef","this","active","size","disabled","class","tv","slots","tab","borderLine","variants","small","medium","large","true","false","defaultVariants","twMerge","handleClick","bcmTabSelected","emit","value","render","h","Host","key","role","toString","part","onClick"],"sources":["src/components/tabs/tabs-trigger.css?tag=bcm-tabs-trigger&encapsulation=shadow","src/components/tabs/tabs-trigger.component.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n width: 100%;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, ComponentInterface } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @description Tab trigger component that functions as a clickable tab button\n * @slot - Default slot for tab label content\n */\n@Component({\n tag: 'bcm-tabs-trigger',\n styleUrl: 'tabs-trigger.css',\n shadow: true,\n})\nexport class BcmTabsTrigger implements ComponentInterface {\n /**\n * Reference to the host element\n */\n @Element() el: HTMLElement;\n\n /**\n * Unique identifier value for the tab\n */\n @Prop({ reflect: true })\n value: string;\n\n /**\n * Whether the tab is currently active\n */\n @Prop({ reflect: true })\n active: boolean = false;\n\n /**\n * Size of the tab\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Event emitted when this tab is selected\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmTabSelected',\n })\n bcmTabSelected: EventEmitter<string>;\n\n /**\n * Handles click events on the tab\n * Emits bcmTabSelected event with tab value if not disabled\n */\n private handleClick() {\n if (this.disabled) return;\n this.bcmTabSelected.emit(this.value);\n }\n\n /**\n * Tailwind variants configuration for styling\n */\n private class = tv(\n {\n slots: {\n tab: 'bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none',\n borderLine: 'bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out',\n },\n variants: {\n size: {\n small: { tab: 'text-size-4 gap-2' },\n medium: { tab: 'text-size-5 gap-2.5' },\n large: { tab: 'text-size-6 gap-3' },\n },\n active: {\n true: {\n tab: 'text-color-primary',\n },\n false: {\n tab: 'text-color',\n },\n },\n disabled: {\n true: {\n tab: 'cursor-not-allowed text-color-disabled',\n borderLine: 'bg-[--bcm-ui-color-text-disabled]',\n },\n false: {\n tab: 'cursor-pointer text-color hover:text-color-primary',\n borderLine: 'bg-[--bcm-ui-color-text-default]',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n active: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { tab, borderLine } = this.class({\n size: this.size,\n active: this.active,\n disabled: this.disabled,\n });\n return (\n <Host role=\"tab\" aria-selected={this.active.toString()} aria-disabled={this.disabled}>\n <button class={tab()} disabled={this.disabled} part=\"tab\" onClick={() => this.handleClick()}>\n <slot />\n </button>\n <div class={borderLine()}></div>\n </Host>\n );\n }\n}"],"mappings":"oGAAA,MAAMA,EAAiB,w+DACvB,MAAAC,EAAeD,E,MCWFE,EAAc,MAL3B,WAAAC,CAAAC,G,yDAqBIC,KAAAC,OAAkB,MAMlBD,KAAAE,KAAqC,SAMrCF,KAAAG,SAAoB,MAyBZH,KAAAI,MAAQC,EACZ,CACIC,MAAO,CACHC,IAAK,iKACLC,WAAY,mGAEhBC,SAAU,CACNP,KAAM,CACFQ,MAAO,CAAEH,IAAK,qBACdI,OAAQ,CAAEJ,IAAK,uBACfK,MAAO,CAAEL,IAAK,sBAElBN,OAAQ,CACJY,KAAM,CACFN,IAAK,sBAETO,MAAO,CACHP,IAAK,eAGbJ,SAAU,CACNU,KAAM,CACFN,IAAK,yCACLC,WAAY,qCAEhBM,MAAO,CACHP,IAAK,qDACLC,WAAY,sCAIxBO,gBAAiB,CACbb,KAAM,SACND,OAAQ,MACRE,SAAU,QAGlB,CACIa,QAAS,O,CA9CT,WAAAC,GACJ,GAAIjB,KAAKG,SAAU,OACnBH,KAAKkB,eAAeC,KAAKnB,KAAKoB,M,CAgDlC,MAAAC,GACI,MAAMd,IAAEA,EAAGC,WAAEA,GAAeR,KAAKI,MAAM,CACnCF,KAAMF,KAAKE,KACXD,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,WAEnB,OACImB,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,gBAAgBzB,KAAKC,OAAOyB,WAAU,gBAAiB1B,KAAKG,UACxEmB,EAAA,UAAAE,IAAA,2CAAQpB,MAAOG,IAAOJ,SAAUH,KAAKG,SAAUwB,KAAK,MAAMC,QAAS,IAAM5B,KAAKiB,eAC1EK,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKpB,MAAOI,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as d}from"./p-c9b736d9.js";import{c as o}from"./p-5fcf77f9.js";const e=".block{display:block}:host{--bcm-divider-border:var(--bcm-ui-color-border-default);display:block}.h-full{height:100%}.w-full{width:100%}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\\[1px\\]{border-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\\[--bcm-divider-border\\]{border-color:var(--bcm-divider-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const t=e;const i=class{constructor(d){r(this,d);this.direction="horizontal";this.variant="solid";this.size="medium";this.dividerClass=o({base:"border-[--bcm-divider-border]",variants:{direction:{horizontal:"w-full border-t",vertical:"h-full border-l"},variant:{solid:"border-solid",dashed:"border-dashed",dotted:"border-dotted"},size:{small:"border-[1px]",medium:"border-2",large:"border-4"}},defaultVariants:{direction:"horizontal",variant:"solid",size:"medium"}},{twMerge:false})}render(){return d("div",{key:"92749401a2890b85a848d9e1b2c77c12b5f8d410",role:"separator","aria-orientation":this.direction,class:this.dividerClass({direction:this.direction,variant:this.variant,size:this.size})})}};i.style=t;export{i as bcm_divider};
2
+ //# sourceMappingURL=p-48f18671.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dividerCss","BcmDividerStyle0","Divider","constructor","hostRef","this","direction","variant","size","dividerClass","tv","base","variants","horizontal","vertical","solid","dashed","dotted","small","medium","large","defaultVariants","twMerge","render","h","key","role","class"],"sources":["src/components/divider/divider.css?tag=bcm-divider&encapsulation=shadow","src/components/divider/divider.component.tsx"],"sourcesContent":[":host {\n display: block;\n --bcm-divider-border: var(--bcm-ui-color-border-default);\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BCM Divider\n * @description\n * A versatile divider component that creates a visual separation between content.\n * It supports horizontal or vertical orientation with customizable styles and sizes.\n * The component uses CSS variables for theming and Tailwind for styling.\n */\n@Component({\n tag: 'bcm-divider',\n styleUrl: 'divider.css',\n shadow: true,\n})\nexport class Divider implements ComponentInterface {\n /**\n * @prop {('horizontal'|'vertical')} direction\n * @description Determines the orientation of the divider\n * @default 'horizontal'\n * @example\n * <bcm-divider direction=\"vertical\" />\n */\n @Prop()\n direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * @prop {('solid'|'dashed'|'dotted')} variant\n * @description Sets the border style of the divider\n * @default 'solid'\n * @example\n * <bcm-divider variant=\"dashed\" />\n */\n @Prop()\n variant: 'solid' | 'dashed' | 'dotted' = 'solid';\n\n /**\n * @prop {('small'|'medium'|'large')} size\n * @description Controls the thickness of the divider\n * @default 'medium'\n * @values\n * - small: 1px border\n * - medium: 2px border\n * - large: 4px border\n * @example\n * <bcm-divider size=\"large\" />\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n private dividerClass = tv(\n {\n base: 'border-[--bcm-divider-border]',\n variants: {\n direction: {\n horizontal: 'w-full border-t',\n vertical: 'h-full border-l',\n },\n variant: {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n size: {\n small: 'border-[1px]',\n medium: 'border-2',\n large: 'border-4',\n },\n },\n defaultVariants: {\n direction: 'horizontal',\n variant: 'solid',\n size: 'medium',\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n role=\"separator\"\n aria-orientation={this.direction}\n class={this.dividerClass({\n direction: this.direction,\n variant: this.variant,\n size: this.size,\n })}\n ></div>\n );\n }\n}\n"],"mappings":"0EAAA,MAAMA,EAAa,ktBACnB,MAAAC,EAAeD,E,MCcFE,EAAO,MALpB,WAAAC,CAAAC,G,UAcIC,KAAAC,UAAuC,aAUvCD,KAAAE,QAAyC,QAczCF,KAAAG,KAAqC,SAE7BH,KAAAI,aAAeC,EACnB,CACIC,KAAM,gCACNC,SAAU,CACNN,UAAW,CACPO,WAAY,kBACZC,SAAU,mBAEdP,QAAS,CACLQ,MAAO,eACPC,OAAQ,gBACRC,OAAQ,iBAEZT,KAAM,CACFU,MAAO,eACPC,OAAQ,WACRC,MAAO,aAGfC,gBAAiB,CACbf,UAAW,aACXC,QAAS,QACTC,KAAM,WAGd,CACIc,QAAS,O,CAIjB,MAAAC,GACI,OACIC,EAAA,OAAAC,IAAA,2CACIC,KAAK,YAAW,mBACErB,KAAKC,UACvBqB,MAAOtB,KAAKI,aAAa,CACrBH,UAAWD,KAAKC,UAChBC,QAASF,KAAKE,QACdC,KAAMH,KAAKG,Q","ignoreList":[]}
1
+ {"version":3,"names":["dividerCss","BcmDividerStyle0","Divider","constructor","hostRef","this","direction","variant","size","dividerClass","tv","base","variants","horizontal","vertical","solid","dashed","dotted","small","medium","large","defaultVariants","twMerge","render","h","key","role","class"],"sources":["src/components/divider/divider.css?tag=bcm-divider&encapsulation=shadow","src/components/divider/divider.component.tsx"],"sourcesContent":[":host {\n display: block;\n --bcm-divider-border: var(--bcm-ui-color-border-default);\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BCM Divider\n * @description\n * A versatile divider component that creates a visual separation between content.\n * It supports horizontal or vertical orientation with customizable styles and sizes.\n * The component uses CSS variables for theming and Tailwind for styling.\n */\n@Component({\n tag: 'bcm-divider',\n styleUrl: 'divider.css',\n shadow: true,\n})\nexport class Divider implements ComponentInterface {\n /**\n * @prop {('horizontal'|'vertical')} direction\n * @description Determines the orientation of the divider\n * @default 'horizontal'\n * @example\n * <bcm-divider direction=\"vertical\" />\n */\n @Prop()\n direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * @prop {('solid'|'dashed'|'dotted')} variant\n * @description Sets the border style of the divider\n * @default 'solid'\n * @example\n * <bcm-divider variant=\"dashed\" />\n */\n @Prop()\n variant: 'solid' | 'dashed' | 'dotted' = 'solid';\n\n /**\n * @prop {('small'|'medium'|'large')} size\n * @description Controls the thickness of the divider\n * @default 'medium'\n * @values\n * - small: 1px border\n * - medium: 2px border\n * - large: 4px border\n * @example\n * <bcm-divider size=\"large\" />\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n private dividerClass = tv(\n {\n base: 'border-[--bcm-divider-border]',\n variants: {\n direction: {\n horizontal: 'w-full border-t',\n vertical: 'h-full border-l',\n },\n variant: {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n size: {\n small: 'border-[1px]',\n medium: 'border-2',\n large: 'border-4',\n },\n },\n defaultVariants: {\n direction: 'horizontal',\n variant: 'solid',\n size: 'medium',\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n role=\"separator\"\n aria-orientation={this.direction}\n class={this.dividerClass({\n direction: this.direction,\n variant: this.variant,\n size: this.size,\n })}\n ></div>\n );\n }\n}\n"],"mappings":"0EAAA,MAAMA,EAAa,0rBACnB,MAAAC,EAAeD,E,MCcFE,EAAO,MALpB,WAAAC,CAAAC,G,UAcIC,KAAAC,UAAuC,aAUvCD,KAAAE,QAAyC,QAczCF,KAAAG,KAAqC,SAE7BH,KAAAI,aAAeC,EACnB,CACIC,KAAM,gCACNC,SAAU,CACNN,UAAW,CACPO,WAAY,kBACZC,SAAU,mBAEdP,QAAS,CACLQ,MAAO,eACPC,OAAQ,gBACRC,OAAQ,iBAEZT,KAAM,CACFU,MAAO,eACPC,OAAQ,WACRC,MAAO,aAGfC,gBAAiB,CACbf,UAAW,aACXC,QAAS,QACTC,KAAM,WAGd,CACIc,QAAS,O,CAIjB,MAAAC,GACI,OACIC,EAAA,OAAAC,IAAA,2CACIC,KAAK,YAAW,mBACErB,KAAKC,UACvBqB,MAAOtB,KAAKI,aAAa,CACrBH,UAAWD,KAAKC,UAChBC,QAASF,KAAKE,QACdC,KAAMH,KAAKG,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as r,h as o,g as i}from"./p-c9b736d9.js";import{c as t}from"./p-5fcf77f9.js";import{g as c}from"./p-ba2410ef.js";const a=".relative{position:relative}.block{display:block}:host{align-self:center;display:block;height:-moz-fit-content;height:fit-content;position:relative;width:-moz-fit-content;width:fit-content}.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}.static{position:static}.absolute{position:absolute}.flex{display:flex}.inline-flex{display:inline-flex}.size-2{height:.5rem;width:.5rem}.size-3{height:.75rem;width:.75rem}.size-4{height:1rem;width:1rem}.size-\\[10px\\]{height:10px;width:10px}.size-\\[18px\\]{height:18px;width:18px}.h-0{height:0}.w-0{width:0}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.rounded-sm{border-radius:var(--bcm-ui-border-radius-sm,4px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--border-color\\]{border-color:var(--border-color)}.bg-\\[--unchecked-color\\]{background-color:var(--unchecked-color)}.text-size-2{font-size:var(--bcm-ui-font-size-2,10px);line-height:var(--bcm-ui-line-height-2,12px)}.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-color-base{color:var(--bcm-ui-color-text-base)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.opacity-0{opacity:0}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\\:border-\\[--border-color\\]:hover{border-color:var(--border-color)}.hover\\:border-\\[--hover-border-color\\]:hover{border-color:var(--hover-border-color)}.hover\\:bg-\\[--unchecked-color\\]:hover{background-color:var(--unchecked-color)}.peer:checked~.peer-checked\\:border-\\[--checked-color\\]{border-color:var(--checked-color)}.peer:checked~.peer-checked\\:bg-\\[--checked-color\\]{background-color:var(--checked-color)}.peer:checked~.hover\\:peer-checked\\:bg-\\[--hover-color\\]:hover{background-color:var(--hover-color)}.peer:indeterminate~.peer-indeterminate\\:border-\\[--checked-color\\]{border-color:var(--checked-color)}.peer:indeterminate~.peer-indeterminate\\:bg-\\[--checked-color\\]{background-color:var(--checked-color)}.peer:indeterminate~.hover\\:peer-indeterminate\\:bg-\\[--hover-color\\]:hover{background-color:var(--hover-color)}";const d=a;const n=class{constructor(o){e(this,o);this.bcmCheckboxChange=r(this,"bcmCheckboxChange",1);this._id=c("bcm-checkbox");this.indeterminate=false;this.size="medium";this.checked=false;this.error=false;this.disabled=false;this.labelPosition="right";this.handleChange=()=>{if(this.disabled)return;if(this.inputElement){this.inputElement.indeterminate=false;this.indeterminate=false;this.internalChecked=!this.internalChecked;this.inputElement.checked=this.internalChecked;this.bcmCheckboxChange.emit({element:this.inputElement,checked:this.internalChecked})}};this.classes=t({slots:{container:"flex items-center bcm-ui-element bcm-checkbox",checkbox:["flex items-center justify-center rounded-sm","border border-solid border-[--border-color]","bg-[--unchecked-color]","transition-colors duration-200 ease-out","peer-checked:bg-[--checked-color]","peer-checked:border-[--checked-color]","peer-indeterminate:bg-[--checked-color]","peer-indeterminate:border-[--checked-color]","hover:border-[--hover-border-color]","hover:peer-checked:bg-[--hover-color]","hover:peer-indeterminate:bg-[--hover-color]"],iconContainer:"flex items-center justify-center",label:"select-none text-color",hiddenInput:"absolute w-0 h-0 opacity-0 peer"},variants:{size:{small:{container:"gap-2",checkbox:"size-3",iconContainer:"size-2 text-size-2",label:"text-size-4",hiddenInput:"size-3"},medium:{container:"gap-2.5",checkbox:"size-4",iconContainer:"size-[10px] text-size-3",label:"text-size-5",hiddenInput:"size-4"},large:{container:"gap-3",checkbox:"size-[18px]",iconContainer:"size-4 text-size-4",label:"text-size-6",hiddenInput:"size-[18px]"}},disabled:{true:{container:"cursor-not-allowed",checkbox:"cursor-not-allowed hover:border-[--border-color] hover:bg-[--unchecked-color]",label:"cursor-not-allowed text-color-disabled",iconContainer:"text-color-disabled",hiddenInput:"cursor-not-allowed"},false:{container:"cursor-pointer",checkbox:"cursor-pointer",label:"cursor-pointer text-color",iconContainer:"text-color-base",hiddenInput:"cursor-pointer"}},labelPosition:{left:{container:"flex-row-reverse"},right:{container:"flex-row"}}},defaultVariants:{size:"medium",checked:false,disabled:false,error:false,labelPosition:"right"}},{twMerge:false})}componentWillLoad(){this.internalChecked=this.checked!==undefined?this.checked:false}componentDidLoad(){this.updateIndeterminateState()}syncCheckedProp(e){if(e!==undefined){this.internalChecked=e}}updateIndeterminateState(){if(this.inputElement){this.inputElement.indeterminate=this.indeterminate&&!this.internalChecked;this.inputElement.checked=this.internalChecked}}getStyles(){const e={"--checked-color":"var(--bcm-ui-color-background-primary-default)","--unchecked-color":"var(--bcm-ui-color-background-default-default)","--border-color":"var(--bcm-ui-color-border-default)","--hover-border-color":"var(--bcm-ui-color-border-primary)","--hover-color":"var(--bcm-ui-color-background-info-hover)"};const r={"--checked-color":"var(--bcm-ui-color-background-error-default)","--unchecked-color":"var(--bcm-ui-color-background-palette-red-default)","--border-color":"var(--bcm-ui-color-border-error)","--hover-border-color":"var(--bcm-ui-color-border-error)","--hover-color":"var(--bcm-ui-color-border-error)"};const o={"--checked-color":"var(--bcm-ui-color-background-disabled-default)","--unchecked-color":"var(--bcm-ui-color-background-disabled-default)","--border-color":"var(--bcm-ui-color-border-disabled)","--hover-color":"var(--bcm-ui-color-border-disabled)","--hover-border-color":"var(--bcm-ui-color-border-disabled)"};return Object.assign(Object.assign(Object.assign({},e),this.error?r:{}),this.disabled?o:{})}render(){const{container:e,checkbox:r,iconContainer:i,label:t,hiddenInput:c}=this.classes({size:this.size,disabled:this.disabled,labelPosition:this.labelPosition});const a=this._id+"-internal-checkbox"||this.name;return o("div",{key:"c23908c1dd19e330626cfbfab8b9d82fb87e0f48",class:e(),style:this.getStyles(),part:"checkbox-wrapper"},o("div",{key:"0ce3bd62e1977df5ed3d5c5a6367700b0a1ab269",class:"relative inline-flex"},o("input",{key:"9456de7b4ccc12692befde6fd98dd13442885d32",type:"checkbox",role:"checkbox",id:a,name:this.name,checked:this.internalChecked,indeterminate:this.indeterminate,disabled:this.disabled,class:c(),"aria-checked":this.internalChecked?"true":this.indeterminate?"mixed":"false","aria-invalid":this.error,"aria-label":this.label||"Checkbox",onChange:this.handleChange,ref:e=>this.inputElement=e}),o("div",{key:"5279bc808893c1edd735f65156fe331d36d2b188",class:r(),onClick:this.handleChange,part:"checkbox"},this.internalChecked&&o("div",{key:"bf25e91a887eaafb0aea199ea293532d350ba402",class:i(),part:"icon"},o("bcm-icon",{key:"6255f59203e8ed3aa7b50a4c359d00857750789c",name:"fa-regular fa-check"})),this.indeterminate&&!this.internalChecked&&o("div",{key:"1534039b1d628485ecc09fd196684904b7d8168f",class:i(),part:"icon"},o("bcm-icon",{key:"4389b4aaee7bbb6bf7af5320f695abd898d31d86",name:"fa-regular fa-minus"})))),o("label",{key:"d023d4c211b20438957392ae14d762181d3cc508",htmlFor:a,class:t(),part:"label"},this.label))}get el(){return i(this)}static get watchers(){return{checked:["syncCheckedProp"],indeterminate:["updateIndeterminateState"],internalChecked:["updateIndeterminateState"]}}};n.style=d;export{n as bcm_checkbox};
2
+ //# sourceMappingURL=p-a1aae3ef.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["checkboxCss","BcmCheckboxStyle0","Checkbox","constructor","hostRef","this","_id","generateId","indeterminate","size","checked","error","disabled","labelPosition","handleChange","inputElement","internalChecked","bcmCheckboxChange","emit","element","classes","tv","slots","container","checkbox","iconContainer","label","hiddenInput","variants","small","medium","large","true","false","left","right","defaultVariants","twMerge","componentWillLoad","undefined","componentDidLoad","updateIndeterminateState","syncCheckedProp","newValue","getStyles","defaultStyles","errorStyles","disabledStyles","Object","assign","render","internalId","name","h","key","class","style","part","type","role","id","onChange","ref","el","onClick","htmlFor"],"sources":["src/components/checkbox/checkbox.css?tag=bcm-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.component.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n width: fit-content;\n height: fit-content;\n align-self: center;\n}\n","import { Component, h, Prop, Element, ComponentInterface, EventEmitter, Event, Watch, State } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\nimport { generateId } from '../../utils/id/generate-id';\n\n/**\n * @description A checkbox component that allows users to select or deselect an option.\n * It also supports an indeterminate state.\n */\n@Component({\n tag: 'bcm-checkbox',\n styleUrl: 'checkbox.css',\n shadow: true,\n})\nexport class Checkbox implements ComponentInterface {\n /** Reference to the host element */\n @Element() el: HTMLElement;\n\n /**\n * Unique ID for the component. Automatically generated if not specified.\n */\n @Prop({ attribute: 'id', reflect: true })\n _id?: string = generateId('bcm-checkbox');\n\n /**\n * Label text to display next to the checkbox\n */\n @Prop()\n label?: string;\n\n /**\n * Name attribute for the checkbox when used in a form\n */\n @Prop()\n name: string;\n\n /**\n * Determines if the checkbox is in an indeterminate state.\n * This is useful when some items in a group of checkboxes are selected and others are not.\n */\n @Prop({ mutable: true })\n indeterminate: boolean = false;\n\n /**\n * Size variant of the checkbox\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Determines if the checkbox is checked\n */\n @Prop({ mutable: true })\n checked: boolean = false;\n\n /**\n * Indicates if the checkbox is in an error state.\n * This affects the visual styling of the component.\n */\n @Prop()\n error: boolean = false;\n\n /**\n * Determines if the checkbox is disabled\n */\n @Prop()\n disabled: boolean = false;\n\n /**\n * Controls the position of the label relative to the checkbox\n */\n @Prop()\n labelPosition: 'left' | 'right' = 'right';\n\n /**\n * Internal state to track checked status\n */\n @State() internalChecked: boolean;\n\n /**\n * Event emitted when the checked state changes\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmCheckboxChange',\n })\n bcmCheckboxChange: EventEmitter<{ element: any; checked: boolean }>;\n\n /** Reference to the underlying input element */\n private inputElement: HTMLInputElement;\n\n /**\n * Lifecycle method that runs before the component first renders.\n * Initializes the internal checked state.\n */\n componentWillLoad() {\n this.internalChecked = this.checked !== undefined ? this.checked : false;\n }\n\n /**\n * Lifecycle method that runs after the component has rendered.\n * Updates the indeterminate state of the input element.\n */\n componentDidLoad() {\n this.updateIndeterminateState();\n }\n\n /**\n * Watches for changes to the checked prop and updates the internal state\n * @param newValue The new checked value\n */\n @Watch('checked')\n syncCheckedProp(newValue: boolean | undefined) {\n if (newValue !== undefined) {\n this.internalChecked = newValue;\n }\n }\n\n /**\n * Watches for changes to indeterminate and internalChecked states\n * Updates the input element accordingly\n */\n @Watch('indeterminate')\n @Watch('internalChecked')\n updateIndeterminateState() {\n if (this.inputElement) {\n this.inputElement.indeterminate = this.indeterminate && !this.internalChecked;\n this.inputElement.checked = this.internalChecked;\n }\n }\n\n /**\n * Handles change events on the checkbox\n * Updates state and emits the change event\n */\n private handleChange = () => {\n if (this.disabled) return;\n if (this.inputElement) {\n this.inputElement.indeterminate = false;\n this.indeterminate = false;\n this.internalChecked = !this.internalChecked;\n this.inputElement.checked = this.internalChecked;\n this.bcmCheckboxChange.emit({\n element: this.inputElement,\n checked: this.internalChecked,\n });\n }\n };\n\n /**\n * Returns the CSS custom properties based on component state\n * @returns Object with CSS custom properties\n */\n private getStyles() {\n const defaultStyles = {\n '--checked-color': 'var(--bcm-ui-color-background-primary-default)',\n '--unchecked-color': 'var(--bcm-ui-color-background-default-default)',\n '--border-color': 'var(--bcm-ui-color-border-default)',\n '--hover-border-color': 'var(--bcm-ui-color-border-primary)',\n '--hover-color': 'var(--bcm-ui-color-background-info-hover)',\n };\n\n const errorStyles = {\n '--checked-color': 'var(--bcm-ui-color-background-error-default)',\n '--unchecked-color': 'var(--bcm-ui-color-background-palette-red-default)',\n '--border-color': 'var(--bcm-ui-color-border-error)',\n '--hover-border-color': 'var(--bcm-ui-color-border-error)',\n '--hover-color': 'var(--bcm-ui-color-border-error)',\n };\n\n const disabledStyles = {\n '--checked-color': 'var(--bcm-ui-color-background-disabled-default)',\n '--unchecked-color': 'var(--bcm-ui-color-background-disabled-default)',\n '--border-color': 'var(--bcm-ui-color-border-disabled)',\n '--hover-color': 'var(--bcm-ui-color-border-disabled)',\n '--hover-border-color': 'var(--bcm-ui-color-border-disabled)',\n };\n\n return {\n ...defaultStyles,\n ...(this.error ? errorStyles : {}),\n ...(this.disabled ? disabledStyles : {}),\n };\n }\n\n /**\n * Tailwind Variants definition for the component\n * Configures styling based on component props\n */\n private classes = tv(\n {\n slots: {\n container: 'flex items-center bcm-ui-element bcm-checkbox',\n checkbox: [\n 'flex items-center justify-center rounded-sm',\n 'border border-solid border-[--border-color]',\n 'bg-[--unchecked-color]',\n 'transition-colors duration-200 ease-out',\n 'peer-checked:bg-[--checked-color]',\n 'peer-checked:border-[--checked-color]',\n 'peer-indeterminate:bg-[--checked-color]',\n 'peer-indeterminate:border-[--checked-color]',\n 'hover:border-[--hover-border-color]',\n 'hover:peer-checked:bg-[--hover-color]',\n 'hover:peer-indeterminate:bg-[--hover-color]',\n ],\n iconContainer: 'flex items-center justify-center',\n label: 'select-none text-color',\n hiddenInput: 'absolute w-0 h-0 opacity-0 peer',\n },\n variants: {\n size: {\n small: {\n container: 'gap-2',\n checkbox: 'size-3',\n iconContainer: 'size-2 text-size-2',\n label: 'text-size-4',\n hiddenInput: 'size-3',\n },\n medium: {\n container: 'gap-2.5',\n checkbox: 'size-4',\n iconContainer: 'size-[10px] text-size-3',\n label: 'text-size-5',\n hiddenInput: 'size-4',\n },\n large: {\n container: 'gap-3',\n checkbox: 'size-[18px]',\n iconContainer: 'size-4 text-size-4',\n label: 'text-size-6',\n hiddenInput: 'size-[18px]',\n },\n },\n disabled: {\n true: {\n container: 'cursor-not-allowed',\n checkbox: 'cursor-not-allowed hover:border-[--border-color] hover:bg-[--unchecked-color]',\n label: 'cursor-not-allowed text-color-disabled',\n iconContainer: 'text-color-disabled',\n hiddenInput: 'cursor-not-allowed',\n },\n false: {\n container: 'cursor-pointer',\n checkbox: 'cursor-pointer',\n label: 'cursor-pointer text-color',\n iconContainer: 'text-color-base',\n hiddenInput: 'cursor-pointer',\n },\n },\n labelPosition: {\n left: {\n container: 'flex-row-reverse',\n },\n right: {\n container: 'flex-row',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n checked: false,\n disabled: false,\n error: false,\n labelPosition: 'right',\n },\n },\n { twMerge: false },\n );\n\n /**\n * Renders the checkbox component\n */\n render() {\n const { container, checkbox, iconContainer, label, hiddenInput } = this.classes({ size: this.size, disabled: this.disabled, labelPosition: this.labelPosition });\n const internalId = this._id + '-internal-checkbox' || this.name;\n\n return (\n <div class={container()} style={this.getStyles()} part=\"checkbox-wrapper\">\n <div class=\"relative inline-flex\">\n <input\n type=\"checkbox\"\n role=\"checkbox\"\n id={internalId}\n name={this.name}\n checked={this.internalChecked}\n indeterminate={this.indeterminate}\n disabled={this.disabled}\n class={hiddenInput()}\n aria-checked={this.internalChecked ? 'true' : this.indeterminate ? 'mixed' : 'false'}\n aria-invalid={this.error}\n aria-label={this.label || 'Checkbox'}\n onChange={this.handleChange}\n ref={el => (this.inputElement = el as HTMLInputElement)}\n />\n <div class={checkbox()} onClick={this.handleChange} part=\"checkbox\">\n {this.internalChecked && (\n <div class={iconContainer()} part=\"icon\">\n <bcm-icon name=\"fa-regular fa-check\"></bcm-icon>\n </div>\n )}\n {this.indeterminate && !this.internalChecked && (\n <div class={iconContainer()} part=\"icon\">\n <bcm-icon name=\"fa-regular fa-minus\"></bcm-icon>\n </div>\n )}\n </div>\n </div>\n <label htmlFor={internalId} class={label()} part=\"label\">\n {this.label}\n </label>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as r,g as i}from"./p-c9b736d9.js";import{c as o}from"./p-5fcf77f9.js";import{c as s}from"./p-12360e4c.js";import{g as a}from"./p-ba2410ef.js";import{s as l,g as n,d as c}from"./p-13a245f6.js";const b=(e,t)=>{var r;const i=(r=e.shadowRoot)===null||r===void 0?void 0:r.querySelector(`slot[name="${t}"]`);if(!i)return false;const o=i.assignedNodes();return o.length>0};const h='.visible{visibility:visible}.collapse{visibility:collapse}.relative{position:relative}.block{display:block}.table{display:table}.contents{display:contents}.hidden{display:none}.border-collapse{border-collapse:collapse}.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))}.resize{resize:both}.border{border-width:1px}.underline{text-decoration-line:underline}.outline{outline-style:solid}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:oklch(.707 .022 261.325);opacity:1}input::placeholder,textarea::placeholder{color:oklch(.707 .022 261.325);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:host{display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.mt-1{margin-top:.25rem}.flex{display:flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-6{width:1.5rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.text-ellipsis{text-overflow:ellipsis}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border-0{border-width:0}.border-solid{border-style:solid}.border-\\[--bcm-ui-color-border-default\\]{border-color:var(--bcm-ui-color-border-default)}.border-\\[--bcm-ui-color-border-error\\]{border-color:var(--bcm-ui-color-border-error)}.border-\\[--bcm-ui-color-border-info\\]{border-color:var(--bcm-ui-color-border-info)}.border-\\[--bcm-ui-color-border-success\\]{border-color:var(--bcm-ui-color-border-success)}.border-\\[--bcm-ui-color-border-warning\\]{border-color:var(--bcm-ui-color-border-warning)}.bg-\\[--bcm-ui-color-background-base-default\\]{background-color:var(--bcm-ui-color-background-base-default)}.bg-transparent{background-color:transparent}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.font-sans{font-family:Inter,sans-serif}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\\[--bcm-ui-color-text-caption\\]{color:var(--bcm-ui-color-text-caption)}.text-\\[--bcm-ui-color-text-default\\]{color:var(--bcm-ui-color-text-default)}.text-\\[--bcm-ui-color-text-disabled\\]{color:var(--bcm-ui-color-text-disabled)}.text-\\[--bcm-ui-color-text-error\\]{color:var(--bcm-ui-color-text-error)}.text-\\[--bcm-ui-color-text-info\\]{color:var(--bcm-ui-color-text-info)}.text-\\[--bcm-ui-color-text-success\\]{color:var(--bcm-ui-color-text-success)}.text-\\[--bcm-ui-color-text-warning\\]{color:var(--bcm-ui-color-text-warning)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-label{color:var(--bcm-ui-color-text-label)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-0{outline-width:0}.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)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.placeholder\\:font-normal::placeholder{font-weight:400}.placeholder\\:text-\\[--bcm-ui-color-text-placeholder\\]::placeholder{color:var(--bcm-ui-color-text-placeholder)}.hover\\:border-\\[--bcm-ui-color-border-error\\]:hover{border-color:var(--bcm-ui-color-border-error)}.hover\\:border-\\[--bcm-ui-color-border-info\\]:hover{border-color:var(--bcm-ui-color-border-info)}.hover\\:border-\\[--bcm-ui-color-border-primary\\]:hover{border-color:var(--bcm-ui-color-border-primary)}.hover\\:border-\\[--bcm-ui-color-border-success\\]:hover{border-color:var(--bcm-ui-color-border-success)}.hover\\:border-\\[--bcm-ui-color-border-warning\\]:hover{border-color:var(--bcm-ui-color-border-warning)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-error\\]:has(:focus){border-color:var(--bcm-ui-color-border-error)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-info\\]:has(:focus){border-color:var(--bcm-ui-color-border-info)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-primary\\]:has(:focus){border-color:var(--bcm-ui-color-border-primary)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-success\\]:has(:focus){border-color:var(--bcm-ui-color-border-success)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-warning\\]:has(:focus){border-color:var(--bcm-ui-color-border-warning)}.\\[\\&\\:\\:-webkit-inner-spin-button\\]\\:appearance-none::-webkit-inner-spin-button{appearance:none}';const d=h;const u=class{constructor(i){e(this,i);this.bcmInput=t(this,"bcmInput",1);this.bcmChange=t(this,"bcmChange",1);this.bcmFocus=t(this,"bcmFocus",1);this.bcmBlur=t(this,"bcmBlur",1);this.bcmKeyDown=t(this,"bcmKeyDown",1);this.bcmKeyUp=t(this,"bcmKeyUp",1);this.isFocused=false;this.isValid=true;this.internalStatus="default";this.isPasswordVisible=false;this.value="";this._id=a("input");this.size="medium";this.status="default";this.fullWidth=false;this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.useNativeValidation=true;this.onInput=e=>{const t=e.target;this.value=t.value;this.bcmInput.emit(e);this.validateInput()};this.onChange=e=>{this.bcmChange.emit(e)};this.onFocus=e=>{this.isFocused=true;this.bcmFocus.emit(e)};this.onBlur=e=>{this.isFocused=false;this.bcmBlur.emit(e);this.validateInput()};this.onKeyDown=e=>{this.bcmKeyDown.emit(e)};this.onKeyUp=e=>{this.bcmKeyUp.emit(e)};this.styleClass=o({slots:{base:["bcm-input bcm-input__container","bg-[--bcm-ui-color-background-base-default]","text-[--bcm-ui-color-text-default]","border border-solid rounded","flex items-center justify-between","transition-colors duration-200","px-2"],inputClass:["input","w-full flex-1","border-0 outline-0 bg-transparent","appearance-none text-ellipsis","text-[--bcm-ui-color-text-default] placeholder:text-[--bcm-ui-color-text-placeholder] placeholder:font-normal","font-sans antialiased font-medium","px-1","[appearance:textfield][&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"]},variants:{size:{small:{base:"",inputClass:"text-size-4 h-6"},medium:{base:"",inputClass:"text-size-5 h-8"},large:{base:"",inputClass:"text-size-6 h-10"}},status:{default:{base:["border-[--bcm-ui-color-border-default]","hover:border-[--bcm-ui-color-border-primary]","has-[:focus]:border-[--bcm-ui-color-border-primary]"]},error:{base:["border-[--bcm-ui-color-border-error]","hover:border-[--bcm-ui-color-border-error]","has-[:focus]:border-[--bcm-ui-color-border-error]"]},success:{base:["border-[--bcm-ui-color-border-success]","hover:border-[--bcm-ui-color-border-success]","has-[:focus]:border-[--bcm-ui-color-border-success]"]},warning:{base:["border-[--bcm-ui-color-border-warning]","hover:border-[--bcm-ui-color-border-warning]","has-[:focus]:border-[--bcm-ui-color-border-warning]"]},info:{base:["border-[--bcm-ui-color-border-info]","hover:border-[--bcm-ui-color-border-info]","has-[:focus]:border-[--bcm-ui-color-border-info]"]}},fullWidth:{true:"full-width w-full"},disabled:{true:"disabled cursor-not-allowed",false:""},focused:{true:{base:""}}},defaultVariants:{size:"medium",status:"default",fullWidth:false,disabled:false,focused:false}},{twMerge:false});this.togglePasswordVisibility=()=>{this.isPasswordVisible=!this.isPasswordVisible;this.inputRef.type=this.isPasswordVisible?"text":"password"};this.PasswordToggleButton=()=>{var e;if(this.type!=="password"||this.disabled||this.readonly||((e=this.value)===null||e===void 0?void 0:e.length)===0)return null;return r("button",{class:"appearance-none flex items-center w-6 h-full justify-center",onClick:this.togglePasswordVisibility,type:"button"},r("bcm-icon",{name:this.isPasswordVisible?"fa-eye-slash fa-regular":"fa-regular fa-eye",size:this.iconSize}))};this.iconSize={small:14,medium:16,large:18}[this.size]}handleValueChange(e){if(this.inputRef){this.inputRef.value=e}}watchStatus(e){this.internalStatus=e}watchErrorMessage(e){this.internalErrorMessage=e}async setFocus(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.focus()}async setBlur(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.blur()}async select(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.select()}async setLocale(e,t){l(e,t);if(!this.isValid){this.validateInput()}}componentWillLoad(){l("en",c);this.internalStatus=this.status;this.internalErrorMessage=this.errorMessage}validateInput(){if(!this.inputRef)return;this.isValid=true;this.validationMessage="";const e=this.inputRef.value;if(this.required&&!e){this.isValid=false;this.validationMessage=n("required");this.internalStatus="error";this.internalErrorMessage=this.validationMessage;return}else if(this.minLength&&e.length<this.minLength){this.isValid=false;this.validationMessage=n("minlength",{min:this.minLength})}else if(this.maxLength&&e.length>this.maxLength){this.isValid=false;this.validationMessage=n("maxlength",{max:this.maxLength})}else if(this.pattern&&!new RegExp(this.pattern).test(e)){this.isValid=false;this.validationMessage=n("pattern")}else if(this.type==="email"&&e&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)){this.isValid=false;this.validationMessage=n("email")}else if(this.type==="number"&&e){const t=parseFloat(e);if(this.min!==undefined&&t<this.min){this.isValid=false;this.validationMessage=n("min",{min:this.min})}else if(this.max!==undefined&&t>this.max){this.isValid=false;this.validationMessage=n("max",{max:this.max})}}this.internalStatus=this.isValid?"default":"error";this.internalErrorMessage=this.validationMessage}hasSlotContent(e){return b(this.el,e)}getDefaultIconForType(){return}render(){const e=this._id+"-input"||this.name;const{base:t,inputClass:i}=this.styleClass({size:this.size,status:this.internalStatus,fullWidth:this.fullWidth,disabled:this.disabled,focused:this.isFocused});return r("div",{key:"329961819a0b1206c3d63b9c243ff7a40ed804af",class:"bcm-ui-element"},this.label&&r("label",{key:"aaf17bea9b4b76e377688a09ffc6b3c03802dd0a",class:s("input-label font-medium",{"text-color-label":!this.disabled,"text-color-disabled":this.disabled},{"text-size-3":this.size==="small","text-size-4":this.size==="medium","text-size-5":this.size==="large"}),htmlFor:e},r("slot",{key:"dcd71580ffeb1d551b44bbf5855c58a0fd894df7",name:"label"},this.label),this.required&&r("span",{key:"76cd1eba6895c9764de8bd5d920ece61378a6ccf"},"*")),r("div",{key:"d9b6a175dc8b3489ebb48aa56baa8808fdffec55",class:t()},(this.hasSlotContent("prefix")||this.prefixIcon||this.getDefaultIconForType())&&r("div",{key:"5557b58dba9ccfe42b04bb29169dfce72a460423",class:"flex items-center gap-2 px-2"},(this.prefixIcon||this.getDefaultIconForType())&&r("bcm-icon",{key:"7f2e74230b52334ca860fda49e5ffd78b3b5f7f6",class:"prefix-icon","icon-name":this.prefixIcon||this.getDefaultIconForType(),size:this.iconSize}),r("slot",{key:"74bad4cd327a1f3b40f793073b4e842915438ad3",name:"prefix"})),r("input",{key:"bef941d6c710a5f62a7fc8b6c92dd4a7970dba25",ref:e=>this.inputRef=e,id:e,class:i(),type:this.type,name:this.name,disabled:this.disabled,readonly:this.readonly,required:this.required,placeholder:this.placeholder,autocomplete:this.autocomplete,minlength:this.minLength,maxlength:this.maxLength,min:this.min,max:this.max,step:this.step,pattern:this.pattern,"aria-invalid":this.status==="error","aria-required":this.required,"aria-labelledby":this.labelledby,"aria-describedby":this.describedby,value:this.value,onInput:this.onInput,onChange:this.onChange,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp}),(this.hasSlotContent("suffix")||this.suffixIcon)&&r("div",{key:"000769fffb5af147a41919393b527b36158b9471",class:"flex items-center gap-2 px-2"},r("slot",{key:"0064416ee9905b16508b10892e2eb00b7bc3923a",name:"suffix"}),this.suffixIcon&&r("bcm-icon",{key:"b7dd33c6c1c6b5dff32206d493b9c76b927dd535",class:"suffix-icon","icon-name":this.suffixIcon,size:this.iconSize})),this.PasswordToggleButton()),(this.captionText||this.internalErrorMessage||this.validationMessage)&&r("div",{key:"307629a3cb19870c5e32cb2fa7124278ae273b97",class:s("input-caption-text font-regular mt-1",{"text-[--bcm-ui-color-text-caption]":!this.disabled&&this.internalStatus==="default","text-[--bcm-ui-color-text-error]":!this.disabled&&(this.internalStatus==="error"||!this.isValid),"text-[--bcm-ui-color-text-success]":!this.disabled&&this.internalStatus==="success","text-[--bcm-ui-color-text-warning]":!this.disabled&&this.internalStatus==="warning","text-[--bcm-ui-color-text-info]":!this.disabled&&this.internalStatus==="info","text-[--bcm-ui-color-text-disabled]":this.disabled},{"text-size-3":this.size==="small","text-size-4":this.size==="medium","text-size-5":this.size==="large"})},!this.isValid?this.validationMessage:this.internalStatus==="error"?this.internalErrorMessage:this.captionText))}get el(){return i(this)}static get watchers(){return{value:["handleValueChange"],status:["watchStatus"],errorMessage:["watchErrorMessage"]}}};u.style=d;export{u as bcm_input};
2
+ //# sourceMappingURL=p-ab9a95f9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["checkSlotContent","element","slotName","slot","_a","shadowRoot","querySelector","assignedNodes","length","inputCss","BcmInputStyle0","BcmInput","constructor","hostRef","this","isFocused","isValid","internalStatus","isPasswordVisible","value","_id","generateId","size","status","fullWidth","type","disabled","readonly","required","useNativeValidation","onInput","event","input","target","bcmInput","emit","validateInput","onChange","bcmChange","onFocus","bcmFocus","onBlur","bcmBlur","onKeyDown","bcmKeyDown","onKeyUp","bcmKeyUp","styleClass","tv","slots","base","inputClass","variants","small","medium","large","default","error","success","warning","info","true","false","focused","defaultVariants","twMerge","togglePasswordVisibility","inputRef","PasswordToggleButton","h","class","onClick","name","iconSize","handleValueChange","newValue","watchStatus","watchErrorMessage","internalErrorMessage","setFocus","focus","setBlur","blur","select","setLocale","locale","messages","setValidationMessages","componentWillLoad","defaultValidationMessages","errorMessage","validationMessage","getValidationMessage","minLength","min","maxLength","max","pattern","RegExp","test","numValue","parseFloat","undefined","hasSlotContent","el","getDefaultIconForType","render","inputId","key","label","classNames","htmlFor","prefixIcon","ref","id","placeholder","autocomplete","minlength","maxlength","step","labelledby","describedby","suffixIcon","captionText"],"sources":["src/utils/slot/check-slot-content.ts","src/components/input/input.scss?tag=bcm-input&encapsulation=shadow","src/components/input/input.component.tsx"],"sourcesContent":["/**\n * Checks if a named slot has any content\n * @param element - The host element (component instance)\n * @param slotName - Name of the slot to check\n * @returns boolean indicating if the slot has any assigned nodes\n */\nexport const checkSlotContent = (element: HTMLElement, slotName: string): boolean => {\n const slot = element.shadowRoot?.querySelector(`slot[name=\"${slotName}\"]`) as HTMLSlotElement;\n if (!slot) return false;\n\n const assignedNodes = slot.assignedNodes();\n return assignedNodes.length > 0;\n};\n",":host {\n display: inline-block;\n}\n","import { Component, Prop, h, Event, EventEmitter, Method, State, Watch, Element } from '@stencil/core';\nimport { InputSize, InputStatus, InputType } from './types';\nimport { tv } from 'tailwind-variants';\nimport classNames from 'classnames';\nimport { generateId } from '../../utils/id/generate-id';\nimport { checkSlotContent } from '../../utils/slot/check-slot-content';\nimport { getValidationMessage, setValidationMessages, defaultValidationMessages } from '../../utils/validation-messages';\n\n@Component({\n tag: 'bcm-input',\n styleUrl: 'input.scss',\n shadow: true,\n})\nexport class BcmInput {\n @Element() el: HTMLElement;\n private inputRef: HTMLInputElement;\n\n @State() isFocused = false;\n @State() validationMessage: string;\n @State() isValid = true;\n @State() internalStatus: InputStatus = 'default';\n @State() internalErrorMessage: string;\n @State() isPasswordVisible = false;\n\n /** Input value */\n @Prop({ mutable: true, reflect: true })\n value: string = '';\n\n /** Input placeholder text */\n @Prop()\n placeholder?: string;\n\n /** Input name */\n @Prop()\n name?: string;\n\n /** Input id */\n @Prop({ attribute: 'id', reflect: true })\n _id?: string = generateId('input');\n\n /** Controls the input size */\n @Prop()\n size: InputSize = 'medium';\n\n /** Defines the input's status/state */\n @Prop()\n status: InputStatus = 'default';\n\n /** Full width input */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth = false;\n\n /** HTML input type */\n @Prop()\n type: InputType = 'text';\n\n /** Whether the input is disabled */\n @Prop()\n disabled = false;\n\n /** Whether the input is readonly */\n @Prop()\n readonly = false;\n\n /** Whether the input is required */\n @Prop()\n required = false;\n\n /** Input autocomplete attribute */\n @Prop()\n autocomplete?: string;\n\n /** Min length for text input */\n @Prop()\n minLength?: number;\n\n /** Max length for text input */\n @Prop()\n maxLength?: number;\n\n /** Min value for number input */\n @Prop()\n min?: number;\n\n /** Max value for number input */\n @Prop()\n max?: number;\n\n /** Step value for number input */\n @Prop()\n step?: number;\n\n /** Pattern for validation */\n @Prop()\n pattern?: string;\n\n /** Input label for accessibility */\n @Prop()\n label?: string;\n\n /** Error message to display */\n @Prop()\n errorMessage?: string;\n\n /** Caption text to display below input */\n @Prop()\n captionText?: string;\n\n /** ID of associated label element */\n @Prop()\n labelledby?: string;\n\n /** ID of associated caption/error text element */\n @Prop()\n describedby?: string;\n\n /** Prefix icon class name */\n @Prop()\n prefixIcon?: string;\n\n /** Suffix icon class name */\n @Prop()\n suffixIcon?: string;\n\n /** Whether to use native form validation\n * If false, component will handle validation internally\n */\n @Prop()\n useNativeValidation = true;\n\n /** Custom validation function */\n @Prop()\n validator?: (value: string) => string | undefined;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmInput: EventEmitter<InputEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmChange: EventEmitter<Event>;\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 @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmKeyDown: EventEmitter<KeyboardEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmKeyUp: EventEmitter<KeyboardEvent>;\n\n @Watch('value')\n handleValueChange(newValue: string) {\n if (this.inputRef) {\n this.inputRef.value = newValue;\n }\n }\n\n @Watch('status')\n watchStatus(newValue: InputStatus) {\n this.internalStatus = newValue;\n }\n\n @Watch('errorMessage')\n watchErrorMessage(newValue: string) {\n this.internalErrorMessage = newValue;\n }\n\n @Method()\n async setFocus() {\n this.inputRef?.focus();\n }\n\n @Method()\n async setBlur() {\n this.inputRef?.blur();\n }\n\n @Method()\n async select() {\n this.inputRef?.select();\n }\n\n /** Sets locale and messages for all inputs */\n @Method()\n async setLocale(locale: string, messages: Record<string, string>) {\n // Set messages and update validation immediately\n setValidationMessages(locale, messages);\n\n // Mevcut validasyon mesajını güncelle\n if (!this.isValid) {\n this.validateInput();\n }\n }\n\n componentWillLoad() {\n // I18n için default mesajları set et\n setValidationMessages('en', defaultValidationMessages);\n this.internalStatus = this.status;\n this.internalErrorMessage = this.errorMessage;\n }\n\n private validateInput(): void {\n if (!this.inputRef) return;\n\n // Reset validation state\n this.isValid = true;\n this.validationMessage = '';\n\n const value = this.inputRef.value;\n\n // Required check\n if (this.required && !value) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('required');\n this.internalStatus = 'error';\n this.internalErrorMessage = this.validationMessage;\n return;\n }\n\n // Minimum length check\n else if (this.minLength && value.length < this.minLength) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('minlength', { min: this.minLength });\n }\n // Maximum length check\n else if (this.maxLength && value.length > this.maxLength) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('maxlength', { max: this.maxLength });\n }\n // Pattern check\n else if (this.pattern && !new RegExp(this.pattern).test(value)) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('pattern');\n }\n // Email check\n else if (this.type === 'email' && value && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value)) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('email');\n }\n // Number range check\n else if (this.type === 'number' && value) {\n const numValue = parseFloat(value);\n if (this.min !== undefined && numValue < this.min) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('min', { min: this.min });\n } else if (this.max !== undefined && numValue > this.max) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('max', { max: this.max });\n }\n }\n\n // Update component state\n this.internalStatus = this.isValid ? 'default' : 'error';\n this.internalErrorMessage = this.validationMessage;\n }\n\n private onInput = (event: InputEvent) => {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n this.bcmInput.emit(event);\n this.validateInput();\n };\n\n private onChange = (event: Event) => {\n this.bcmChange.emit(event);\n };\n\n private onFocus = (event: FocusEvent) => {\n this.isFocused = true;\n this.bcmFocus.emit(event);\n };\n\n private onBlur = (event: FocusEvent) => {\n this.isFocused = false;\n this.bcmBlur.emit(event);\n this.validateInput();\n };\n\n private onKeyDown = (event: KeyboardEvent) => {\n this.bcmKeyDown.emit(event);\n };\n\n private onKeyUp = (event: KeyboardEvent) => {\n this.bcmKeyUp.emit(event);\n };\n\n private hasSlotContent(slotName: string): boolean {\n return checkSlotContent(this.el, slotName);\n }\n\n private styleClass = tv(\n {\n slots: {\n base: [\n 'bcm-input bcm-input__container',\n 'bg-[--bcm-ui-color-background-base-default]',\n 'text-[--bcm-ui-color-text-default]',\n 'border border-solid rounded',\n 'flex items-center justify-between',\n 'transition-colors duration-200',\n 'px-2',\n ],\n inputClass: [\n 'input',\n 'w-full flex-1',\n 'border-0 outline-0 bg-transparent',\n 'appearance-none text-ellipsis',\n 'text-[--bcm-ui-color-text-default] placeholder:text-[--bcm-ui-color-text-placeholder] placeholder:font-normal',\n 'font-sans antialiased font-medium',\n 'px-1',\n '[appearance:textfield][&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none',\n ],\n },\n variants: {\n size: {\n small: {\n base: '',\n inputClass: 'text-size-4 h-6',\n },\n medium: {\n base: '',\n inputClass: 'text-size-5 h-8',\n },\n large: {\n base: '',\n inputClass: 'text-size-6 h-10',\n },\n },\n status: {\n default: {\n base: ['border-[--bcm-ui-color-border-default]', 'hover:border-[--bcm-ui-color-border-primary]', 'has-[:focus]:border-[--bcm-ui-color-border-primary]'],\n },\n error: {\n base: ['border-[--bcm-ui-color-border-error]', 'hover:border-[--bcm-ui-color-border-error]', 'has-[:focus]:border-[--bcm-ui-color-border-error]'],\n },\n success: {\n base: ['border-[--bcm-ui-color-border-success]', 'hover:border-[--bcm-ui-color-border-success]', 'has-[:focus]:border-[--bcm-ui-color-border-success]'],\n },\n warning: {\n base: ['border-[--bcm-ui-color-border-warning]', 'hover:border-[--bcm-ui-color-border-warning]', 'has-[:focus]:border-[--bcm-ui-color-border-warning]'],\n },\n info: {\n base: ['border-[--bcm-ui-color-border-info]', 'hover:border-[--bcm-ui-color-border-info]', 'has-[:focus]:border-[--bcm-ui-color-border-info]'],\n },\n },\n fullWidth: {\n true: 'full-width w-full',\n },\n disabled: {\n true: 'disabled cursor-not-allowed',\n false: '',\n },\n focused: {\n true: {\n base: '',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n status: 'default',\n fullWidth: false,\n disabled: false,\n focused: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n private getDefaultIconForType(): string | undefined {\n return; // TODO: Will be implemented later\n // return defaultIcons[this.type as keyof typeof defaultIcons];\n }\n\n private togglePasswordVisibility = () => {\n this.isPasswordVisible = !this.isPasswordVisible;\n this.inputRef.type = this.isPasswordVisible ? 'text' : 'password';\n };\n\n private PasswordToggleButton = () => {\n if (this.type !== 'password' || this.disabled || this.readonly || this.value?.length === 0) return null;\n return (\n <button class=\"appearance-none flex items-center w-6 h-full justify-center\" onClick={this.togglePasswordVisibility} type=\"button\">\n <bcm-icon name={this.isPasswordVisible ? 'fa-eye-slash fa-regular' : 'fa-regular fa-eye'} size={this.iconSize}></bcm-icon>\n </button>\n );\n };\n\n private iconSize = {\n small: 14,\n medium: 16,\n large: 18,\n }[this.size];\n\n render() {\n const inputId = this._id + '-input' || this.name;\n\n const { base, inputClass } = this.styleClass({\n size: this.size,\n status: this.internalStatus,\n fullWidth: this.fullWidth,\n disabled: this.disabled,\n focused: this.isFocused,\n });\n\n return (\n <div class=\"bcm-ui-element\">\n {this.label && (\n <label\n class={classNames(\n 'input-label font-medium',\n {\n 'text-color-label': !this.disabled,\n 'text-color-disabled': this.disabled,\n },\n {\n 'text-size-3': this.size === 'small',\n 'text-size-4': this.size === 'medium',\n 'text-size-5': this.size === 'large',\n },\n )}\n htmlFor={inputId}\n >\n <slot name=\"label\">{this.label}</slot>\n {this.required && <span>*</span>}\n </label>\n )}\n\n <div class={base()}>\n {(this.hasSlotContent('prefix') || this.prefixIcon || this.getDefaultIconForType()) && (\n <div class=\"flex items-center gap-2 px-2\">\n {(this.prefixIcon || this.getDefaultIconForType()) && (\n <bcm-icon class=\"prefix-icon\" icon-name={this.prefixIcon || this.getDefaultIconForType()} size={this.iconSize}></bcm-icon>\n )}\n <slot name=\"prefix\"></slot>\n </div>\n )}\n <input\n ref={el => (this.inputRef = el)}\n id={inputId}\n class={inputClass()}\n type={this.type}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n placeholder={this.placeholder}\n autocomplete={this.autocomplete}\n minlength={this.minLength}\n maxlength={this.maxLength}\n min={this.min}\n max={this.max}\n step={this.step}\n pattern={this.pattern}\n aria-invalid={this.status === 'error'}\n aria-required={this.required}\n aria-labelledby={this.labelledby}\n aria-describedby={this.describedby}\n value={this.value}\n onInput={this.onInput}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.onKeyDown}\n onKeyUp={this.onKeyUp}\n />\n {(this.hasSlotContent('suffix') || this.suffixIcon) && (\n <div class=\"flex items-center gap-2 px-2\">\n <slot name=\"suffix\"></slot>\n {this.suffixIcon && <bcm-icon class=\"suffix-icon\" icon-name={this.suffixIcon} size={this.iconSize}></bcm-icon>}\n </div>\n )}\n {/* {this.type === 'password' && this.value?.length > 0 && !this.disabled && ( \n // <bcm-icon\n // class=\"password-toggle-icon cursor-pointer\"\n // icon-name={this.isPasswordVisible ? 'fa-regular fa-eye-slash' : 'fa-regular fa-eye'}\n // size={iconSize}\n // onClick={this.togglePasswordVisibility}\n // ></bcm-icon>\n // )}*/}\n {this.PasswordToggleButton()}\n </div>\n {(this.captionText || this.internalErrorMessage || this.validationMessage) && (\n <div\n class={classNames(\n 'input-caption-text font-regular mt-1',\n {\n 'text-[--bcm-ui-color-text-caption]': !this.disabled && this.internalStatus === 'default',\n 'text-[--bcm-ui-color-text-error]': !this.disabled && (this.internalStatus === 'error' || !this.isValid),\n 'text-[--bcm-ui-color-text-success]': !this.disabled && this.internalStatus === 'success',\n 'text-[--bcm-ui-color-text-warning]': !this.disabled && this.internalStatus === 'warning',\n 'text-[--bcm-ui-color-text-info]': !this.disabled && this.internalStatus === 'info',\n 'text-[--bcm-ui-color-text-disabled]': this.disabled,\n },\n {\n 'text-size-3': this.size === 'small',\n 'text-size-4': this.size === 'medium',\n 'text-size-5': this.size === 'large',\n },\n )}\n >\n {!this.isValid ? this.validationMessage : this.internalStatus === 'error' ? this.internalErrorMessage : this.captionText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,c as i,H as a}from"./p-c9b736d9.js";import{c as o}from"./p-12360e4c.js";import{c as r}from"./p-5fcf77f9.js";const s=":host{--bcm-avatar-bg:var(--bcm-ui-color-background-default-default);--bcm-avatar-text:var(--bcm-ui-color-text-default);--bcm-avatar-radius:50%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.-right-0\\.5{right:-.125rem}.-top-0\\.5{top:-.125rem}.right-0{right:0}.top-0{top:0}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-\\[--bcm-ui-radius\\]{border-radius:var(--bcm-ui-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--bcm-avatar-bg\\]{background-color:var(--bcm-avatar-bg)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-\\[--bcm-avatar-text\\]{color:var(--bcm-avatar-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const n=s;const c=class{constructor(e){t(this,e);this.shape="ellipse";this.size="medium";this.icon="fas fa-user";this.blink=false;this.isFallback=false}getFirstLetters(t){const e=t.split(" ");const i=e.map((t=>t.charAt(0).toUpperCase())).join("");return i.substring(0,2)}render(){const t=o("bcm-avatar bcm-ui-element bcm-ui-content-display","uppercase font-medium","inline-flex items-center justify-center","bg-[--bcm-avatar-bg] text-[--bcm-avatar-text]",{"shape-ellipse rounded-full":this.shape==="ellipse","shape-square rounded-[--bcm-ui-radius]":this.shape==="square","size-small text-size-4 w-6 h-6":this.size==="small","size-medium text-size-5 w-8 h-8":this.size==="medium","size-large text-size-6 w-10 h-10":this.size==="large"});const i=o("badge",{"top-0 right-0":this.shape==="ellipse","-top-0.5 -right-0.5":this.shape==="square"});const a=o("image w-full h-full",{"rounded-full":this.shape==="ellipse","rounded-[--bcm-ui-radius]":this.shape==="square"});let r={};if(this.color){const t=this.color.includes("-");const e=t?this.color.split("-")[0]:this.color;const i=`var(--bcm-ui-color-background-palette-${e}-default)`;const a=`var(--bcm-ui-color-text-palette-${e}`;r={"--bcm-avatar-bg":i,"--bcm-avatar-text":a}}const s=!Object.keys(["small","medium","large"]).includes(this.size)?{width:`${this.size}px`,height:`${this.size}px`,fontSize:`${+this.size/2}px`}:{};const n=()=>{if(this.isFallback){if(this.name){return this.getFirstLetters(this.name)}else{return e("i",{class:this.icon})}}else if(this.image){return e("img",{class:a,onError:()=>this.isFallback=true,src:this.image,alt:this.alt,"aria-label":this.alt||this.name||"Avatar"})}else if(this.name){return this.getFirstLetters(this.name)}else{return e("i",{class:this.icon})}};return e("div",{role:"img","aria-label":this.alt||this.name||"Avatar",class:t,style:Object.assign(Object.assign({},r),s)},e(n,null),this.status&&e("bcm-badge",{class:i,status:this.status,blink:this.blink,"aria-hidden":"true"}),e("slot",null))}};c.style=n;const d='.relative{position:relative}:host{--bcm-badge-bg:var(--bcm-ui-color-background-default-default);--bcm-badge-text:var(--bcm-ui-color-text-default);--bcm-badge-radius:9999px;display:inline-block;position:relative}::slotted([slot=badge]){color:var(--bcm-badge-text);font-weight:500}.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}.static{position:static}.absolute{position:absolute}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.z-10{z-index:10}.inline-flex{display:inline-flex}.size-1{height:.25rem;width:.25rem}.size-1\\.5{height:.375rem;width:.375rem}.size-2{height:.5rem;width:.5rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.rounded-\\[--bcm-badge-radius\\]{border-radius:var(--bcm-badge-radius)}.bg-\\[--bcm-badge-bg\\]{background-color:var(--bcm-badge-bg)}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\\[0px\\]{font-size:0}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.leading-none{line-height:1}.text-\\[--bcm-badge-text\\]{color:var(--bcm-badge-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:h-full:after{content:var(--tw-content);height:100%}.after\\:w-full:after{content:var(--tw-content);width:100%}@keyframes ping{75%,to{content:var(--tw-content);opacity:0;transform:scale(2)}}.after\\:animate-blink:after{animation:ping 2s infinite;content:var(--tw-content)}.after\\:rounded-full:after{border-radius:var(--bcm-ui-border-radius-full,9999px);content:var(--tw-content)}.after\\:bg-\\[--bcm-badge-bg\\]:after{background-color:var(--bcm-badge-bg);content:var(--tw-content)}.after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.-right-0\\.5{right:-.125rem}.-top-0\\.5{top:-.125rem}.right-0{right:0}.top-0{top:0}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.rounded-\\[--bcm-ui-radius\\]{border-radius:var(--bcm-ui-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--bcm-avatar-bg\\]{background-color:var(--bcm-avatar-bg)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.uppercase{text-transform:uppercase}.text-\\[--bcm-avatar-text\\]{color:var(--bcm-avatar-text)}';const l=d;const b=class{constructor(e){t(this,e);this.size="medium";this.variant="text";this.soft=false;this.blink=false;this.position="top-right";this.classes=r({base:"badge bcm-ui-element absolute font-medium inline-flex items-center justify-center bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius] z-10",variants:{size:{small:"gap-1 px-1 text-size-3",medium:"gap-1 py-0.5 px-1.5 text-size-4",large:"gap-2 py-1 px-2 text-size-5"},variant:{dot:"gap-0 p-0 text-[0px] leading-none",text:""},position:{"top-right":"-top-1 -right-1","top-left":"-top-1 -left-1","bottom-right":"-bottom-1 -right-1","bottom-left":"-bottom-1 -left-1"},blink:{true:'after:content-[""] after:absolute after:rounded-full after:bg-[--bcm-badge-bg] after:animate-blink after:w-full after:h-full'}},compoundVariants:[{variant:"dot",size:"small",class:"size-1"},{variant:"dot",size:"medium",class:"size-1.5"},{variant:"dot",size:"large",class:"size-2"}],defaultVariants:{variant:"text",size:"medium",position:"top-right",blink:false}})}get offsetStyle(){if(!this.offset)return{};const[t=0,e=0]=this.offset.split(",").map((t=>t.trim()));return{transform:`translate(${t}px, ${e}px)`}}get badgeStyle(){if(!this.color)return{};const t=this.soft?"soft":"vivid";return{"--bcm-badge-bg":`var(--bcm-ui-color-background-${t}-${this.color}-default)`,"--bcm-badge-text":this.soft?`var(--bcm-ui-color-text-palette-${this.color})`:"var(--bcm-ui-color-text-base)"}}render(){return e("div",{key:"9c6ce83cc0ae25399f2d97139d9e91578be38237",class:"relative inline-flex"},e("slot",{key:"b05db7fc70a8ff5c680e79507d44678ea4f8aba4"}),e("div",{key:"e3fe3d09e236ae1569d533824f4bb585a5871b53",role:"status","aria-live":"polite","aria-label":this.status?`Status: ${this.status}`:undefined,class:this.classes({size:this.size,variant:this.variant,position:this.position,blink:this.blink}),style:Object.assign(Object.assign({},this.badgeStyle),this.offsetStyle)},this.variant=="text"&&e("slot",{key:"98e3f9eaa2966a748e41782efbe78ca35a9deee6",name:"badge"},this.text)))}};b.style=l;const m=":host{--bcm-badge-bg:var(--bcm-ui-color-background-default-default);--bcm-badge-text:var(--bcm-ui-color-text-default);--bcm-badge-radius:9999px;display:inline-flex;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.badge-content{color:var(--bcm-badge-text);font-weight:500}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.inline-flex{display:inline-flex}.size-1{height:.25rem;width:.25rem}.size-1\\.5{height:.375rem;width:.375rem}.size-2{height:.5rem;width:.5rem}.select-none{user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:0}.whitespace-nowrap{white-space:nowrap}.rounded-\\[--bcm-badge-radius\\]{border-radius:var(--bcm-badge-radius)}.bg-\\[--bcm-badge-bg\\]{background-color:var(--bcm-badge-bg)}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-\\[0px\\]{font-size:0}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.leading-none{line-height:1}.text-\\[--bcm-badge-text\\]{color:var(--bcm-badge-text)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const h=m;const u=class{constructor(e){t(this,e);this.size="medium";this.variant="text";this.soft=false;this.classes=r({base:"badge bcm-ui-element inline-flex items-center justify-center whitespace-nowrap select-none font-medium bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius]",variants:{size:{small:"px-1 text-size-3",medium:"py-0.5 px-1.5 text-size-4",large:"py-1 px-2 text-size-5"},variant:{dot:"gap-0 p-0 text-[0px] leading-none",text:""}},compoundVariants:[{variant:"dot",size:"small",class:"size-1"},{variant:"dot",size:"medium",class:"size-1.5"},{variant:"dot",size:"large",class:"size-2"}],defaultVariants:{variant:"text",size:"medium",blink:false}})}get badgeStyle(){if(!this.color)return{};const t=this.soft?"palette":"vivid";return{"--bcm-badge-bg":`var(--bcm-ui-color-background-${t}-${this.color}-default)`,"--bcm-badge-text":this.soft?`var(--bcm-ui-color-text-palette-${this.color})`:"var(--bcm-ui-color-text-base)"}}render(){return e("span",{key:"808cd1e3672a57596174767ce793244024a3f6c3",part:"base",role:"status","aria-live":"polite",style:this.badgeStyle,class:this.classes({size:this.size,variant:this.variant})},this.variant==="text"&&e("span",{key:"c3b5d31649cf6177173401cafcb8c520d4cf9745",class:"badge-content"},e("slot",{key:"a6a902a3a2a9c2effa1fc7e0ef4267ab17b6b2ef"})))}};u.style=h;const f={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 g=".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.static{position:static}.inline-flex{display:inline-flex}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-8{min-height:2rem}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-final-border-color\\]{border-color:var(--bcm-final-border-color)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.bg-\\[--bcm-final-bg-color\\]{background-color:var(--bcm-final-bg-color)}.bg-\\[--bcm-ui-color-background-disabled-default\\]{background-color:var(--bcm-ui-color-background-disabled-default)}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-px{padding-bottom:1px;padding-top:1px}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.leading-none{line-height:1}.text-\\[--bcm-final-text-color\\]{color:var(--bcm-final-text-color)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.hover\\:bg-\\[--bcm-final-hover-bg-color\\]:hover{background-color:var(--bcm-final-hover-bg-color)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\\:bg-\\[--bcm-final-active-bg-color\\]:active{background-color:var(--bcm-final-active-bg-color)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-64{max-width:16rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}.max-h-\\[--dropdown-box-max-height\\]{max-height:var(--dropdown-box-max-height)}.min-w-\\[--dropdown-box-min-weight\\]{min-width:var(--dropdown-box-min-weight)}.max-w-\\[--dropdown-box-max-weight\\]{max-width:var(--dropdown-box-max-weight)}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-\\[--dropdown-box-background-color\\]{background-color:var(--dropdown-box-background-color)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";const p=g;const x=class{constructor(e){t(this,e);this.bcmClick=i(this,"bcmClick",1);this.bcmFocus=i(this,"bcmFocus",1);this.bcmBlur=i(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=r({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?f[this.variant].text:"")}get buttonIcon(){if(this.variant&&f[this.variant].icon){return{icon:f[this.variant].icon,position:f[this.variant].iconPosition||"prefix"}}return{icon:this.icon,position:this.iconPosition}}get buttonStatus(){return this.variant?f[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 a={"--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),a)}render(){const{icon:t,position:i}=this.buttonIcon;return e(a,{key:"434cab012a2f174ca6b21f7484104ed9952daf38"},e("button",{key:"bf000fa02d836d0142e3f335b806c20afe10726b",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&&e("slot",{key:"c95198f7776c10c7b380c8f2c3c73a05517a72c8",name:"loading"}),e("span",{key:"3433ff03ba933966cab816a8f9882c51b647549d"},e("slot",{key:"d1027e43b007789d1da57ace2b2f2da585434604",name:"prefix"},i==="prefix"&&t&&e("i",{key:"0be135da5ee717f885f56298e9886112ad44767f",class:" leading-none "+t}))),e("slot",{key:"13dc3c513cc364615e15c7074729219a251c8756"},this.buttonText),e("span",{key:"5dab9df786eec4ed2554df88ffbfea8c6a324c1f"},e("slot",{key:"ca80a898105d9d310fea2b34f9b6c9fe282a7eb0",name:"suffix"},i==="suffix"&&t&&e("i",{key:"57d3a187cf7af1d6ebc289c472579aa973fc6c86",class:" leading-none "+t})))))}};x.style=p;export{c as bcm_avatar,b as bcm_badge,u as bcm_basic_badge,x as bcm_button};
2
+ //# sourceMappingURL=p-b1b493ab.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["avatarCss","BcmAvatarStyle0","BcmAvatar","constructor","hostRef","this","shape","size","icon","blink","isFallback","getFirstLetters","name","words","split","initials","map","word","charAt","toUpperCase","join","substring","render","baseClass","cs","badgeClass","imageClass","style","color","isColorTone","includes","_color","bgColor","textColor","customSize","Object","keys","width","height","fontSize","RenderContent","h","class","image","onError","src","alt","role","assign","status","badgeCss","BcmBadgeStyle0","Badge","variant","soft","position","classes","tv","base","variants","small","medium","large","dot","text","true","compoundVariants","defaultVariants","offsetStyle","offset","x","y","val","trim","transform","badgeStyle","variantType","key","undefined","basicBadgeCss","BcmBasicBadgeStyle0","BasicBadge","part","variantOptions","save","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","iconOnly","fullWidth","type","loading","disabled","active","handleClick","event","bcmClick","emit","handleFocus","bcmFocus","handleBlur","bcmBlur","buttonClass","primary","ghost","outline","false","first","middle","last","twMerge","buttonText","buttonIcon","buttonStatus","buttonStyles","kindStyleMap","internalDefaultStyles","finalEffectiveStyles","Host","label","expanded","controls","onClick","onFocus","onBlur"],"sources":["src/components/avatar/avatar.css?tag=bcm-avatar&encapsulation=shadow","src/components/avatar/avatar.component.tsx","src/components/badge/badge.css?tag=bcm-badge&encapsulation=shadow","src/components/badge/badge.component.tsx","src/components/basic-badge/basic-badge.css?tag=bcm-basic-badge&encapsulation=shadow","src/components/basic-badge/basic-badge.component.tsx","src/components/button/types.ts","src/components/button/button.css?tag=bcm-button&encapsulation=shadow","src/components/button/button.component.tsx"],"sourcesContent":[":host {\n --bcm-avatar-bg: var(--bcm-ui-color-background-default-default);\n --bcm-avatar-text: var(--bcm-ui-color-text-default);\n --bcm-avatar-radius: 50%;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport cs from 'classnames';\nimport { AvatarShape, AvatarSize, AvatarStatus } from './types';\n\n@Component({\n tag: 'bcm-avatar',\n styleUrl: 'avatar.css',\n shadow: true,\n})\nexport class BcmAvatar {\n /** Source URL for avatar image */\n @Prop()\n image: string;\n\n /** Alternative text for image */\n @Prop()\n alt: string;\n\n /** Shape of the avatar (ellipse/square) */\n @Prop()\n shape: AvatarShape = 'ellipse';\n\n /** Size of the avatar */\n @Prop()\n size: AvatarSize = 'medium';\n\n /** Custom background color */\n @Prop()\n color: string;\n\n /** Fallback icon class */\n @Prop()\n icon: string = 'fas fa-user';\n\n /** Status indicator type */\n @Prop()\n status: AvatarStatus;\n\n /** Status indicator animation */\n @Prop()\n blink = false;\n\n /** Display name (used for initials) */\n @Prop()\n name: string;\n\n @State() isFallback: boolean = false;\n\n private getFirstLetters(name: string): string {\n const words = name.split(' ');\n const initials = words.map(word => word.charAt(0).toUpperCase()).join('');\n return initials.substring(0, 2);\n }\n\n render() {\n const baseClass = cs(\n 'bcm-avatar bcm-ui-element bcm-ui-content-display',\n 'uppercase font-medium',\n 'inline-flex items-center justify-center',\n 'bg-[--bcm-avatar-bg] text-[--bcm-avatar-text]',\n {\n 'shape-ellipse rounded-full': this.shape === 'ellipse',\n 'shape-square rounded-[--bcm-ui-radius]': this.shape === 'square',\n 'size-small text-size-4 w-6 h-6': this.size === 'small',\n 'size-medium text-size-5 w-8 h-8': this.size === 'medium',\n 'size-large text-size-6 w-10 h-10': this.size === 'large',\n },\n );\n\n const badgeClass = cs('badge', {\n 'top-0 right-0': this.shape === 'ellipse',\n '-top-0.5 -right-0.5': this.shape === 'square',\n });\n\n const imageClass = cs('image w-full h-full', {\n 'rounded-full': this.shape === 'ellipse',\n 'rounded-[--bcm-ui-radius]': this.shape === 'square',\n });\n\n let style = {};\n\n if (this.color) {\n const isColorTone = this.color.includes('-');\n const _color = isColorTone ? this.color.split('-')[0] : this.color;\n\n const bgColor = `var(--bcm-ui-color-background-palette-${_color}-default)`;\n const textColor = `var(--bcm-ui-color-text-palette-${_color}`;\n style = {\n '--bcm-avatar-bg': bgColor,\n '--bcm-avatar-text': textColor,\n };\n }\n\n const customSize = !Object.keys(['small', 'medium', 'large']).includes(this.size)\n ? {\n width: `${this.size}px`,\n height: `${this.size}px`,\n fontSize: `${+this.size / 2}px`,\n }\n : {};\n\n const RenderContent = () => {\n if (this.isFallback) {\n if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n } else if (this.image) {\n return <img class={imageClass} onError={() => (this.isFallback = true)} src={this.image} alt={this.alt} aria-label={this.alt || this.name || 'Avatar'} />;\n } else if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n };\n\n return (\n <div role=\"img\" aria-label={this.alt || this.name || 'Avatar'} class={baseClass} style={{ ...style, ...customSize }}>\n <RenderContent />\n {this.status && <bcm-badge class={badgeClass} status={this.status} blink={this.blink} aria-hidden=\"true\"></bcm-badge>}\n <slot></slot>\n </div>\n );\n }\n}\n",":host {\n display: inline-block;\n position: relative;\n --bcm-badge-bg: var(--bcm-ui-color-background-default-default);\n --bcm-badge-text: var(--bcm-ui-color-text-default);\n --bcm-badge-radius: 9999px;\n}\n\n::slotted([slot='badge']) {\n color: var(--bcm-badge-text);\n font-weight: 500;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmBadge\n * @description A versatile badge component that can be positioned around its container.\n * Supports different sizes, variants (dot/text), colors, and positioning options.\n * Can display status indicators with optional blinking animation.\n *\n * @example Basic usage\n * <bcm-badge color=\"primary\" position=\"top-right\">\n * <div>Container Content</div>\n * <span slot=\"badge\">New</span>\n * </bcm-badge>\n *\n * @example Status indicator with blink\n * <bcm-badge variant=\"dot\" color=\"success\" blink={true} status=\"Online\">\n * <div>User Profile</div>\n * </bcm-badge>\n */\n@Component({\n tag: 'bcm-badge',\n styleUrl: 'badge.css',\n shadow: true,\n})\nexport class Badge implements ComponentInterface {\n /**\n * Determines the size of the badge.\n * @type {'small' | 'medium' | 'large'}\n * @default 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Sets the visual variant of the badge.\n * 'dot': Appears as a small dot indicator\n * 'text': Displays content as text\n * @type {'dot' | 'text'}\n * @default 'text'\n */\n @Prop()\n variant: 'dot' | 'text' = 'text';\n\n /**\n * Defines the color of the badge.\n * Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)\n * @type {string}\n * @optional\n */\n @Prop()\n color?: string;\n\n /**\n * Enables soft color mode for the badge.\n * When true, uses lighter tones and pastel colors.\n * @type {boolean}\n * @default false\n */\n @Prop()\n soft: boolean = false;\n\n /**\n * Enables blinking animation for the badge.\n * Useful for drawing attention or indicating active status.\n * @type {boolean}\n * @default false\n */\n @Prop()\n blink: boolean = false;\n\n /**\n * Status message for accessibility purposes.\n * Will be read by screen readers.\n * @type {string}\n * @optional\n */\n @Prop()\n status?: string;\n\n /**\n * Sets the position of the badge relative to its container.\n * @type {'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'}\n * @default 'top-right'\n */\n @Prop()\n position: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'top-right';\n\n /**\n * Fine-tune the badge position with custom offset.\n * Format: \"x,y\" in pixels (e.g., \"10,-5\")\n * @type {string}\n * @optional\n */\n @Prop()\n offset: string;\n\n /**\n * Text to be displayed inside the badge.\n * Used when variant is set to 'text'.\n * Can be overridden using the \"badge\" slot.\n * @type {string}\n * @optional\n */\n @Prop()\n text?: string;\n\n private classes = tv({\n base: 'badge bcm-ui-element absolute font-medium inline-flex items-center justify-center bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius] z-10',\n variants: {\n size: {\n small: 'gap-1 px-1 text-size-3',\n medium: 'gap-1 py-0.5 px-1.5 text-size-4',\n large: 'gap-2 py-1 px-2 text-size-5',\n },\n variant: {\n dot: 'gap-0 p-0 text-[0px] leading-none',\n text: '',\n },\n position: {\n 'top-right': '-top-1 -right-1',\n 'top-left': '-top-1 -left-1',\n 'bottom-right': '-bottom-1 -right-1',\n 'bottom-left': '-bottom-1 -left-1',\n },\n blink: {\n true: 'after:content-[\"\"] after:absolute after:rounded-full after:bg-[--bcm-badge-bg] after:animate-blink after:w-full after:h-full',\n },\n },\n compoundVariants: [\n {\n variant: 'dot',\n size: 'small',\n class: 'size-1',\n },\n {\n variant: 'dot',\n size: 'medium',\n class: 'size-1.5',\n },\n {\n variant: 'dot',\n size: 'large',\n class: 'size-2',\n },\n ],\n defaultVariants: {\n variant: 'text',\n size: 'medium',\n position: 'top-right',\n blink: false,\n },\n });\n\n private get offsetStyle() {\n if (!this.offset) return {};\n const [x = 0, y = 0] = this.offset.split(',').map(val => val.trim());\n return { transform: `translate(${x}px, ${y}px)` };\n }\n\n private get badgeStyle() {\n if (!this.color) return {};\n const variantType = this.soft ? 'soft' : 'vivid';\n\n return {\n '--bcm-badge-bg': `var(--bcm-ui-color-background-${variantType}-${this.color}-default)`,\n '--bcm-badge-text': this.soft ? `var(--bcm-ui-color-text-palette-${this.color})` : 'var(--bcm-ui-color-text-base)',\n };\n }\n\n render() {\n return (\n <div class=\"relative inline-flex\">\n <slot></slot>\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={this.status ? `Status: ${this.status}` : undefined}\n class={this.classes({\n size: this.size,\n variant: this.variant,\n position: this.position,\n blink: this.blink,\n })}\n style={{\n ...this.badgeStyle,\n ...this.offsetStyle,\n }}\n >\n {this.variant == 'text' && <slot name=\"badge\">{this.text}</slot>}\n </div>\n </div>\n );\n }\n}\n",":host {\n display: inline-flex;\n height: fit-content;\n width: fit-content;\n --bcm-badge-bg: var(--bcm-ui-color-background-default-default);\n --bcm-badge-text: var(--bcm-ui-color-text-default);\n --bcm-badge-radius: 9999px;\n}\n\n.badge-content {\n color: var(--bcm-badge-text);\n font-weight: 500;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmBasicBadge\n * @description A basic badge component that can be used as a status indicator or to highlight content.\n * Supports dot and text variants with different sizes and color options.\n *\n * @example Basic usage\n * <bcm-basic-badge size=\"medium\" color=\"primary\">\n * New\n * </bcm-basic-badge>\n *\n * @example Dot variant\n * <bcm-basic-badge variant=\"dot\" color=\"success\" />\n */\n\n@Component({\n tag: 'bcm-basic-badge',\n styleUrl: 'basic-badge.css',\n shadow: true,\n})\nexport class BasicBadge implements ComponentInterface {\n /**\n * Determines the size of the badge.\n * @type {'small' | 'medium' | 'large'}\n * @default 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Sets the visual variant of the badge.\n * 'dot': Appears as a small dot indicator\n * 'text': Displays content as text\n * @type {'dot' | 'text'}\n * @default 'text'\n */\n @Prop()\n variant: 'dot' | 'text' = 'text';\n\n /**\n * Defines the color of the badge.\n * Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)\n * @type {string}\n * @optional\n */\n @Prop()\n color?: string;\n\n /**\n * Enables soft color mode for the badge.\n * When true, uses lighter tones and pastel colors.\n * @type {boolean}\n * @default false\n */\n @Prop()\n soft: boolean = false;\n\n /**\n * Text to be displayed inside the badge.\n * Used when variant is set to 'text'.\n * @type {string}\n * @optional\n */\n @Prop()\n text?: string;\n\n private classes = tv({\n base: 'badge bcm-ui-element inline-flex items-center justify-center whitespace-nowrap select-none font-medium bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius]',\n variants: {\n size: {\n small: 'px-1 text-size-3',\n medium: 'py-0.5 px-1.5 text-size-4',\n large: 'py-1 px-2 text-size-5',\n },\n variant: {\n dot: 'gap-0 p-0 text-[0px] leading-none',\n text: '',\n },\n },\n compoundVariants: [\n {\n variant: 'dot',\n size: 'small',\n class: 'size-1',\n },\n {\n variant: 'dot',\n size: 'medium',\n class: 'size-1.5',\n },\n {\n variant: 'dot',\n size: 'large',\n class: 'size-2',\n },\n ],\n defaultVariants: {\n variant: 'text',\n size: 'medium',\n blink: false,\n },\n });\n\n private get badgeStyle() {\n if (!this.color) return {};\n const variantType = this.soft ? 'palette' : 'vivid';\n\n return {\n '--bcm-badge-bg': `var(--bcm-ui-color-background-${variantType}-${this.color}-default)`,\n '--bcm-badge-text': this.soft ? `var(--bcm-ui-color-text-palette-${this.color})` : 'var(--bcm-ui-color-text-base)',\n };\n }\n\n render() {\n return (\n <span\n part=\"base\"\n role=\"status\"\n aria-live=\"polite\"\n style={this.badgeStyle}\n class={this.classes({\n size: this.size,\n variant: this.variant,\n })}\n >\n {this.variant === 'text' && (\n <span class=\"badge-content\">\n <slot></slot>\n </span>\n )}\n </span>\n );\n }\n}\n","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"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t}from"./p-c9b736d9.js";import{c as o}from"./p-12360e4c.js";const l={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 i=".static{position:static}.m-0{margin:0}.appearance-none{appearance:none}.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 r=i;const a=class{constructor(t){e(this,t);this.variant="body";this.size="medium";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=(e,t)=>{const o=this.variantClassMap[e];if(typeof o==="string"){return o}return o[t]}}render(){const e=l[this.variant];const i=this.getTextClass(this.variant,this.size);return t(e,{key:"53890d0b241119b0df415e599538e806bd870517",class:o("bcm-text appearance-none m-0 p-0",i),part:"text"},t("slot",{key:"25ccb62cbbe1393379c42bd13b3a98d8806fa2cb"},this.text))}};a.style=r;export{a as bcm_text};
2
+ //# sourceMappingURL=p-c427ffee.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["variantTagMap","display","heading1","heading2","title1","title2","title3","body","bodyAccent","helper","caption","label","placeholder","link","info","infoAccent","textCss","BcmTextStyle0","BcmText","constructor","hostRef","this","variant","size","variantClassMap","small","medium","large","getTextClass","variantClasses","render","Tag","variantClass","h","key","class","cs","part","text"],"sources":["src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["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 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 render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"+EAEO,MAAMA,EAA8C,CACzDC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,IACNC,WAAY,IACZC,OAAQ,IACRC,QAAS,IACTC,MAAO,QACPC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,WAAY,KCjBd,MAAMC,EAAU,m6CAChB,MAAAC,EAAeD,E,MCSFE,EAAO,MALpB,WAAAC,CAAAC,G,UAYEC,KAAAC,QAAuB,OAIvBD,KAAAE,KAAiB,SAEAF,KAAAG,gBAAkB,CACjCvB,QAAS,+CACTC,SAAU,8CACVC,SAAU,8CACVC,OAAQ,CACNqB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETtB,OAAQ,CACNoB,MAAO,+CACPC,OAAQ,+CACRC,MAAO,gDAETrB,OAAQ,CACNmB,MAAO,gDACPC,OAAQ,gDACRC,MAAO,iDAETpB,KAAM,CACJkB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETnB,WAAY,CACViB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETlB,OAAQ,CACNgB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETjB,QAAS,CACPe,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETd,KAAM,CACJY,MAAO,uDACPC,OAAQ,uDACRC,MAAO,wDAEThB,MAAO,CACLc,MAAO,2CACPC,OAAQ,2CACRC,MAAO,4CAETf,YAAa,CACXa,MAAO,kDACPC,OAAQ,kDACRC,MAAO,mDAETb,KAAM,CACJW,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETZ,WAAY,CACVU,MAAO,4CACPC,OAAQ,4CACRC,MAAO,8CAIHN,KAAAO,aAAe,CAACN,EAAsBC,KAC5C,MAAMM,EAAiBR,KAAKG,gBAAgBF,GAE5C,UAAWO,IAAmB,SAAU,CACtC,OAAOA,C,CAGT,OAAOA,EAAeN,EAAK,C,CAG7B,MAAAO,GACE,MAAMC,EAAM/B,EAAcqB,KAAKC,SAC/B,MAAMU,EAAeX,KAAKO,aAAaP,KAAKC,QAASD,KAAKE,MAE1D,OACEU,EAACF,EAAG,CAAAG,IAAA,2CAACC,MAAOC,EAAG,mCAAoCJ,GAAeK,KAAK,QACrEJ,EAAA,QAAAC,IAAA,4CAAOb,KAAKiB,M","ignoreList":[]}
1
+ {"version":3,"names":["variantTagMap","display","heading1","heading2","title1","title2","title3","body","bodyAccent","helper","caption","label","placeholder","link","info","infoAccent","textCss","BcmTextStyle0","BcmText","constructor","hostRef","this","variant","size","variantClassMap","small","medium","large","getTextClass","variantClasses","render","Tag","variantClass","h","key","class","cs","part","text"],"sources":["src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["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 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 render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"+EAEO,MAAMA,EAA8C,CACzDC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,IACNC,WAAY,IACZC,OAAQ,IACRC,QAAS,IACTC,MAAO,QACPC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,WAAY,KCjBd,MAAMC,EAAU,27CAChB,MAAAC,EAAeD,E,MCSFE,EAAO,MALpB,WAAAC,CAAAC,G,UAYEC,KAAAC,QAAuB,OAIvBD,KAAAE,KAAiB,SAEAF,KAAAG,gBAAkB,CACjCvB,QAAS,+CACTC,SAAU,8CACVC,SAAU,8CACVC,OAAQ,CACNqB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETtB,OAAQ,CACNoB,MAAO,+CACPC,OAAQ,+CACRC,MAAO,gDAETrB,OAAQ,CACNmB,MAAO,gDACPC,OAAQ,gDACRC,MAAO,iDAETpB,KAAM,CACJkB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETnB,WAAY,CACViB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETlB,OAAQ,CACNgB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETjB,QAAS,CACPe,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETd,KAAM,CACJY,MAAO,uDACPC,OAAQ,uDACRC,MAAO,wDAEThB,MAAO,CACLc,MAAO,2CACPC,OAAQ,2CACRC,MAAO,4CAETf,YAAa,CACXa,MAAO,kDACPC,OAAQ,kDACRC,MAAO,mDAETb,KAAM,CACJW,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETZ,WAAY,CACVU,MAAO,4CACPC,OAAQ,4CACRC,MAAO,8CAIHN,KAAAO,aAAe,CAACN,EAAsBC,KAC5C,MAAMM,EAAiBR,KAAKG,gBAAgBF,GAE5C,UAAWO,IAAmB,SAAU,CACtC,OAAOA,C,CAGT,OAAOA,EAAeN,EAAK,C,CAG7B,MAAAO,GACE,MAAMC,EAAM/B,EAAcqB,KAAKC,SAC/B,MAAMU,EAAeX,KAAKO,aAAaP,KAAKC,QAASD,KAAKE,MAE1D,OACEU,EAACF,EAAG,CAAAG,IAAA,2CAACC,MAAOC,EAAG,mCAAoCJ,GAAeK,KAAK,QACrEJ,EAAA,QAAAC,IAAA,4CAAOb,KAAKiB,M","ignoreList":[]}