@prolibu-suite/cobalt-core 0.10.3 → 0.10.4

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 (37) hide show
  1. package/custom-elements.json +24 -2
  2. package/dist/cjs/co-chip_2.cjs.entry.js +21 -2
  3. package/dist/cjs/co-popover.cjs.entry.js +16 -2
  4. package/dist/cjs/cobalt.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cobalt/cobalt.esm.js +1 -1
  7. package/dist/cobalt/p-1d3a79af.entry.js +1 -0
  8. package/dist/cobalt/{p-410bee4d.entry.js → p-b0762fd8.entry.js} +1 -1
  9. package/dist/collection/components/co-option-list/co-option-list.js +39 -3
  10. package/dist/collection/components/co-popover/co-popover.js +16 -2
  11. package/dist/components/co-autocomplete.js +1 -1
  12. package/dist/components/co-color-picker.js +1 -1
  13. package/dist/components/co-combobox.js +1 -1
  14. package/dist/components/co-command-search.js +1 -1
  15. package/dist/components/co-date-picker.js +1 -1
  16. package/dist/components/co-date-range-picker.js +1 -1
  17. package/dist/components/co-date-range.js +1 -1
  18. package/dist/components/co-date-time-picker.js +1 -1
  19. package/dist/components/co-menu-item.js +1 -1
  20. package/dist/components/co-menu.js +1 -1
  21. package/dist/components/co-option-list.js +1 -1
  22. package/dist/components/co-popover.js +1 -1
  23. package/dist/components/co-ref-field.js +1 -1
  24. package/dist/components/co-select.js +1 -1
  25. package/dist/components/{p-cndRd_-U.js → p-B56LX2SH.js} +1 -1
  26. package/dist/components/{p-DRP8D9ro.js → p-D9T7zKeL.js} +1 -1
  27. package/dist/components/p-Dh8ffSjK.js +1 -0
  28. package/dist/esm/co-chip_2.entry.js +21 -2
  29. package/dist/esm/co-popover.entry.js +16 -2
  30. package/dist/esm/cobalt.js +1 -1
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/types/components/co-option-list/co-option-list.d.ts +7 -0
  33. package/dist/types/components/co-popover/co-popover.d.ts +2 -0
  34. package/dist/types/components.d.ts +4 -3
  35. package/package.json +4 -4
  36. package/dist/cobalt/p-39dc4ec8.entry.js +0 -1
  37. package/dist/components/p-D7Lhxz7L.js +0 -1
@@ -1 +1 @@
1
- import{p as e,H as o,c as r,h as t,t as s}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{O as i}from"./p-ox7HzCZn.js";import{r as l,h as c}from"./p-Ba_v-MzM.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-CT2enQ6h.js";import{d as h}from"./p-DRP8D9ro.js";const p=e(class e extends o{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coClear=r(this,"coClear",7),this.coFooterPrimary=r(this,"coFooterPrimary",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!1,this.layout="vertical",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.size="md",this.variant="default",this.searchable=!1,this.searchPlaceholder="Search…",this.emptyText="No results",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.isOpen=!1,this.scrollTop=0,this.searchText="",this.sortSnapshot=new Set,this.activeIndex=-1,this.pendingActiveScroll=!1,this.activeScrollFrames=0,this.lastParsedOptions=[],this.lastRankSearch="",this.lastRanked=[],this.handleSearchInput=e=>{this.searchText=e.target.value,this.scrollTop=0,this.activeIndex=this.filteredOptions.length?0:-1},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&(this.handleNavKeyDown(e)||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen?this.isOpen=!1:this.openPanel()):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.openPanel())))},this.handleNavKeyDown=e=>{if(this.disabled||!this.isOpen)return!1;const o=this.filteredOptions.length,r=o-1,t=this.activeIndex>=0?this.activeIndex:-1;switch(e.key){case"ArrowDown":o&&this.setActiveIndex(t>=r?0:t+1);break;case"ArrowUp":o&&this.setActiveIndex(t<=0?r:t-1);break;case"Home":o&&this.setActiveIndex(0);break;case"End":o&&this.setActiveIndex(r);break;case" ":if(e.target===this.searchInputEl)return!1;this.activateActiveOption();break;case"Enter":this.activateActiveOption();break;default:return!1}return e.preventDefault(),!0},this.flushActiveScroll=()=>{var o,r,t,s,a;if(!this.pendingActiveScroll)return;if(!this.isOpen)return void(this.pendingActiveScroll=!1);const i=this.scrollTop||0,l=null!==(r=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==r?r:this.optionsContainerEl;return l&&(l.scrollTop=i,Math.abs(l.scrollTop-i)<=1)?(this.pendingActiveScroll=!1,this.activeScrollFrames=0,void(null===(a=null===(s=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.getElementById(this.optionId(this.activeIndex)))||void 0===s?void 0:s.scrollIntoView)||void 0===a||a.call(s,{block:"nearest"}))):++this.activeScrollFrames>e.ACTIVE_SCROLL_MAX_FRAMES?(this.pendingActiveScroll=!1,void(this.activeScrollFrames=0)):void requestAnimationFrame(this.flushActiveScroll)},this.handlePopoverOpen=()=>{this.isOpen||(this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0)},this.handlePopoverClose=()=>{this.isOpen=!1},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit(),this.coChange.emit(this.multiple?[]:"")},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleOptionClick=e=>{if(this.multiple){const o=[...this.selectedValues],r=o.indexOf(e);r>=0?o.splice(r,1):o.push(e),this.value=JSON.stringify(o),this.coChange.emit(o)}else this.value=e,this.isOpen=!1,this.coChange.emit(e)}}get parsedOptions(){const e=this.options;if(e===this.lastOptionsRaw)return this.lastParsedOptions;let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){o=[]}const r=Array.isArray(o)?o.map((e=>"string"==typeof e?{label:e,value:e}:e)):[];return this.lastOptionsRaw=e,this.lastParsedOptions=r,r}get filteredOptions(){const e=this.parsedOptions;let o;return this.searchable&&this.searchText.trim()?e===this.lastRankInput&&this.searchText===this.lastRankSearch?o=this.lastRanked:(o=l(e,this.searchText,(e=>e.label)),this.lastRankInput=e,this.lastRankSearch=this.searchText,this.lastRanked=o):o=e,this.multiple&&0!==this.sortSnapshot.size?[...o.filter((e=>this.sortSnapshot.has(e.value))),...o.filter((e=>!this.sortSnapshot.has(e.value)))]:o}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get selectedOption(){if(this.multiple)return;const e=this.selectedValues[0];return e?this.parsedOptions.find((o=>o.value===e)):void 0}get displayText(){const e=this.selectedValues;if(0===e.length)return"";if(!this.multiple){const o=this.parsedOptions.find((o=>o.value===e[0]));return o?o.label:e[0]}return e.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return o?o.label:e})).join(", ")}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}optionId(e){return"co-select-option-"+e}resetActiveIndex(){const e=this.filteredOptions;if(0===e.length)return void(this.activeIndex=-1);const o=this.selectedValues,r=o.length?e.findIndex((e=>o.includes(e.value))):-1;this.activeIndex=r>=0?r:0,this.scrollActiveIntoView()}onOpenChange(e){e?(this.scrollTop=0,this.resetActiveIndex(),this.searchable&&this.focusSearchWhenVisible()):(this.searchText="",this.activeIndex=-1,this.restoreTriggerFocus())}openPanel(){this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0}setActiveIndex(e){this.activeIndex=e,this.scrollActiveIntoView()}activateActiveOption(){const e=this.filteredOptions[this.activeIndex];e&&!e.disabled&&this.handleOptionClick(e.value)}scrollActiveIntoView(){const{ITEM_HEIGHT:o,VIEWPORT_ITEMS:r}=e,t=this.activeIndex;if(!(t>=0))return;const s=t*o,a=o*r,i=this.scrollTop||0;s<i?this.scrollTop=s:s+o>i+a&&(this.scrollTop=s+o-a),this.pendingActiveScroll=!0,this.activeScrollFrames=0}focusSearchWhenVisible(e=0){var o,r;this.isOpen&&this.searchable&&(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(r=this.el.shadowRoot)||void 0===r?void 0:r.activeElement)===this.searchInputEl||e>=20||requestAnimationFrame((()=>this.focusSearchWhenVisible(e+1))))}restoreTriggerFocus(){var e;const o=document.activeElement;(o===this.el||this.el.contains(o))&&(null===(e=this.triggerEl)||void 0===e||e.focus())}syncOverlayScrollbars(){const e=this.isOpen&&!!this.optionsContainerEl;e&&!this.osInstance?this.osInstance=i(this.optionsContainerEl,{scrollbars:{theme:"os-theme-co",autoHide:"leave",autoHideDelay:300}},{scroll:e=>{this.scrollTop=e.elements().viewport.scrollTop}}):!e&&this.osInstance&&(this.osInstance.destroy(),this.osInstance=void 0)}componentDidRender(){this.syncOverlayScrollbars(),this.flushActiveScroll()}componentWillLoad(){this.searchText=this.searchText||""}disconnectedCallback(){var e;null===(e=this.osInstance)||void 0===e||e.destroy(),this.osInstance=void 0,this.pendingActiveScroll=!1,this.activeScrollFrames=0}renderLabel(e){const o=this.searchable&&this.searchText?c(e,this.searchText):null;return o?o.map((e=>e.match?t("span",{class:"co-select__match"},e.text):e.text)):e}getVirtualSlice(o){const{ITEM_HEIGHT:r,VIEWPORT_ITEMS:t,OVERSCAN:s}=e,a=o.length,i=a*r,l=Math.max(0,Math.floor(this.scrollTop/r)-s);return{totalHeight:i,startIdx:l,endIdx:Math.min(a,l+t+2*s),offsetY:l*r}}render(){var o;const r=this.selectedValues,s=this.filteredOptions,i=this.isOpen&&this.activeIndex>=0&&this.activeIndex<s.length?this.optionId(this.activeIndex):void 0;return t("div",{key:"902da0519e9fe96401f5339a3b46a66c94efd3de",class:{"co-select":!0,"co-select--open":this.isOpen,"co-select--disabled":this.disabled,["co-select--"+this.size]:!0,["co-select--"+this.status]:"default"!==this.status,"co-select--flat":"flat"===this.variant}},(this.label||this.secondaryLabel)&&t("div",{key:"3faf027e94d30728d7715ebca758eb0d9cb41bc9",class:"co-select__labels"},this.label&&t("label",{key:"a7267986158eae66be547356482df079e3670d44",class:"co-select__label"},this.label,t(a,{key:"5eaca0cfade91041b33edd07e648b1e22cb875f3",required:this.required})),this.secondaryLabel&&t("span",{key:"3561fb5297dde4c128e9c888cdd00546c5e1b4c3",class:"co-select__secondary-label"},this.secondaryLabel)),t("co-popover",{key:"63fc16eefafcb8ef870aba457be9e00f5dce6f32",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},t("div",{key:"6056ec2a5d85df9d8361f4b78f12eec6e2fe7749",slot:"trigger",class:"co-select__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||this.ariaLabelText||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":i,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&t("co-icon",{key:"8877e366eba45e073a3481e7b86408763e103f6c",name:this.iconLeft,size:16,class:"co-select__icon"}),(null===(o=this.selectedOption)||void 0===o?void 0:o.image)&&t("img",{key:"4f964e48dafff76a9fe04ed381b1f11113e351d6",class:"co-select__flag",src:this.selectedOption.image,alt:""}),this.multiple&&this.hasValue?t("div",{class:"co-select__chips"},this.selectedValues.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return t("span",{class:"co-select__chip",key:e},t("span",{class:"co-select__chip-label"},o?o.label:e),t("button",{class:"co-select__chip-remove",type:"button",tabIndex:-1,"aria-label":"Remove",onClick:o=>{o.stopPropagation(),this.handleOptionClick(e)}},t("co-icon",{name:"x",size:12})))}))):t("span",{class:{"co-select__text":!0,"co-select__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder),this.clearable&&this.hasValue&&!this.disabled&&t("button",{key:"55a94e3d877ec0c50ae4ce544774c6e4330b5f5e",class:"co-select__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},t("co-icon",{key:"b452121827aa8b2f341396b3376e82728bee5276",name:"x-circle",size:16,weight:"fill"})),t("co-icon",{key:"0ebc5a451bcb3f2f95a63ab600157e27cb445a9b",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-select__caret"})),t("div",{key:"92b18226a02de73cbd245ab6827c3f5593aa08fc",class:"co-select__dropdown"},this.isOpen&&this.searchable&&t("div",{key:"68aec7a4ced328a00a1185078edbbfe4820d6582",class:"co-select__search"},t("co-icon",{key:"1aa322cf22d4824bf6d2012b6dfc4e856360502a",name:"magnifying-glass",size:16,class:"co-select__search-icon"}),t("input",{key:"62ec52d3369334f83709bc5219d5b3ca040c3ccb",class:"co-select__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.searchText,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":i,onInput:this.handleSearchInput,onKeyDown:this.handleNavKeyDown,ref:e=>this.searchInputEl=e})),this.isOpen&&this.searchable&&0===s.length&&t("div",{key:"86613208aa94d79b6aa503a6ed53c010cc1ba1f9",class:"co-select__empty"},this.emptyText),t("div",{key:"a6b1f09abfbfb0171094079c3da7ac89764eb00f",class:"co-select__options",id:e.LISTBOX_ID,role:"listbox","aria-multiselectable":this.multiple?"true":void 0,ref:e=>this.optionsContainerEl=e},this.isOpen&&(()=>{const{totalHeight:e,startIdx:o,endIdx:a,offsetY:i}=this.getVirtualSlice(s);return t("div",{role:"presentation",class:"co-select__virtual-spacer",style:{height:e+"px",position:"relative"}},t("div",{role:"presentation",style:{position:"absolute",top:i+"px",left:"0",right:"0"}},s.slice(o,a).map(((e,a)=>{const i=o+a,l=r.includes(e.value),c=!!e.disabled;return t("div",{id:this.optionId(i),role:"option","aria-selected":l?"true":"false","aria-disabled":c?"true":void 0,"aria-setsize":s.length,"aria-posinset":i+1,class:{"co-select__option":!0,"co-select__option--selected":l,"co-select__option--disabled":c,"co-select__option--active":i===this.activeIndex},onClick:()=>!c&&this.handleOptionClick(e.value)},e.image?t("img",{class:"co-select__option-flag",src:e.image,alt:"",loading:"lazy"}):e.icon?t("co-icon",{name:e.icon,size:20,class:"co-select__option-icon"}):null,t("span",{class:"co-select__option-label"},this.renderLabel(e.label)),l&&t("co-icon",{name:"check",size:16,class:"co-select__option-check"}))}))))})()),this.isOpen&&this.showFooter&&t("co-list-footer",{key:"5f5d60d846092aed435e292a4652ad7016cb6aee",class:"co-select__footer",primaryLabel:this.footerPrimaryLabel,primaryIcon:"check",onCoPrimary:this.handleFooterPrimary}))),this.helperText&&t("div",{key:"72ebb3366ee45eaccce69f534611804f8f1dbc1c",class:"co-select__helper co-select__helper--"+this.status},this.statusIcon&&t("co-icon",{key:"2f2ad274cf521c3bd9f21d66d0fa9b7c87f7ba71",name:this.statusIcon,size:14,class:"co-select__helper-icon"}),t("span",{key:"3e1ef4abb47a61d173e1942f5798caff97c2347e",class:"co-select__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}]}}static get style(){return'.os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:"";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select--flat .co-select__trigger{background:transparent;border-color:transparent}.co-select__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) 0}.co-select__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-sm2);background:var(--co-color-gray-100);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-14);line-height:1;max-width:200px}.co-select__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-color-gray-500);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-select__chip-remove:hover{color:var(--co-semantic-text-default)}.co-select--s .co-select__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-select--sm .co-select__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-select--lg .co-select__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;box-shadow:none;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-status-error)}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__flag,.co-select__option-flag{flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--co-semantic-border-subtle)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-spacing-sm2)}.co-select__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-sm2);margin-bottom:var(--co-spacing-sm2);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);height:32px;box-sizing:border-box;color:var(--co-semantic-text-muted)}.co-select__search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--co-font-size-14, 14px);line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-select__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-select__match{font-weight:700;color:var(--co-semantic-text-default)}.co-select__empty{padding:var(--co-spacing-md);text-align:center;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14, 14px)}.co-select__options{max-height:calc(34px * 8);overflow-y:auto}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full);--os-handle-bg:var(--co-color-opacity-negro-16);--os-handle-bg-hover:var(--co-color-opacity-negro-25);--os-handle-bg-active:var(--co-color-opacity-negro-50);--os-handle-min-size:24px}.co-select__option{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:32px;box-sizing:border-box}.co-select__option:hover{background:var(--co-semantic-surface-hover)}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--active{background:var(--co-semantic-surface-hover)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-status-error)}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-status-success)}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-color-status-review)}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-status-info)}:host([layout=\'horizontal\']) .co-select{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout=\'horizontal\']) .co-select__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout=\'horizontal\']) .co-select__label{white-space:normal}:host([layout=\'horizontal\']) .co-select>:not(.co-select__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, \' (required)\')}'}},[1,"co-select",{label:[1],ariaLabelText:[1,"aria-label-text"],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],helperText:[1,"helper-text"],layout:[513],status:[1],options:[1],value:[1025],multiple:[4],size:[513],variant:[513],searchable:[516],searchPlaceholder:[1,"search-placeholder"],emptyText:[1,"empty-text"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],isOpen:[32],scrollTop:[32],searchText:[32],sortSnapshot:[32],activeIndex:[32]},void 0,{isOpen:[{onOpenChange:0}]}]);function b(){"undefined"!=typeof customElements&&["co-select","co-icon","co-list-footer","co-popover"].forEach((e=>{switch(e){case"co-select":customElements.get(s(e))||customElements.define(s(e),p);break;case"co-icon":customElements.get(s(e))||n();break;case"co-list-footer":customElements.get(s(e))||d();break;case"co-popover":customElements.get(s(e))||h()}}))}p.ITEM_HEIGHT=34,p.VIEWPORT_ITEMS=8,p.OVERSCAN=3,p.LISTBOX_ID="co-select-listbox",p.ACTIVE_SCROLL_MAX_FRAMES=48,b();const v=p,g=b;export{v as CoSelect,g as defineCustomElement}
1
+ import{p as e,H as o,c as r,h as t,t as s}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{O as i}from"./p-ox7HzCZn.js";import{r as l,h as c}from"./p-Ba_v-MzM.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-CT2enQ6h.js";import{d as h}from"./p-D9T7zKeL.js";const p=e(class e extends o{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coClear=r(this,"coClear",7),this.coFooterPrimary=r(this,"coFooterPrimary",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!1,this.layout="vertical",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.size="md",this.variant="default",this.searchable=!1,this.searchPlaceholder="Search…",this.emptyText="No results",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.isOpen=!1,this.scrollTop=0,this.searchText="",this.sortSnapshot=new Set,this.activeIndex=-1,this.pendingActiveScroll=!1,this.activeScrollFrames=0,this.lastParsedOptions=[],this.lastRankSearch="",this.lastRanked=[],this.handleSearchInput=e=>{this.searchText=e.target.value,this.scrollTop=0,this.activeIndex=this.filteredOptions.length?0:-1},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&(this.handleNavKeyDown(e)||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen?this.isOpen=!1:this.openPanel()):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.openPanel())))},this.handleNavKeyDown=e=>{if(this.disabled||!this.isOpen)return!1;const o=this.filteredOptions.length,r=o-1,t=this.activeIndex>=0?this.activeIndex:-1;switch(e.key){case"ArrowDown":o&&this.setActiveIndex(t>=r?0:t+1);break;case"ArrowUp":o&&this.setActiveIndex(t<=0?r:t-1);break;case"Home":o&&this.setActiveIndex(0);break;case"End":o&&this.setActiveIndex(r);break;case" ":if(e.target===this.searchInputEl)return!1;this.activateActiveOption();break;case"Enter":this.activateActiveOption();break;default:return!1}return e.preventDefault(),!0},this.flushActiveScroll=()=>{var o,r,t,s,a;if(!this.pendingActiveScroll)return;if(!this.isOpen)return void(this.pendingActiveScroll=!1);const i=this.scrollTop||0,l=null!==(r=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==r?r:this.optionsContainerEl;return l&&(l.scrollTop=i,Math.abs(l.scrollTop-i)<=1)?(this.pendingActiveScroll=!1,this.activeScrollFrames=0,void(null===(a=null===(s=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.getElementById(this.optionId(this.activeIndex)))||void 0===s?void 0:s.scrollIntoView)||void 0===a||a.call(s,{block:"nearest"}))):++this.activeScrollFrames>e.ACTIVE_SCROLL_MAX_FRAMES?(this.pendingActiveScroll=!1,void(this.activeScrollFrames=0)):void requestAnimationFrame(this.flushActiveScroll)},this.handlePopoverOpen=()=>{this.isOpen||(this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0)},this.handlePopoverClose=()=>{this.isOpen=!1},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit(),this.coChange.emit(this.multiple?[]:"")},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleOptionClick=e=>{if(this.multiple){const o=[...this.selectedValues],r=o.indexOf(e);r>=0?o.splice(r,1):o.push(e),this.value=JSON.stringify(o),this.coChange.emit(o)}else this.value=e,this.isOpen=!1,this.coChange.emit(e)}}get parsedOptions(){const e=this.options;if(e===this.lastOptionsRaw)return this.lastParsedOptions;let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){o=[]}const r=Array.isArray(o)?o.map((e=>"string"==typeof e?{label:e,value:e}:e)):[];return this.lastOptionsRaw=e,this.lastParsedOptions=r,r}get filteredOptions(){const e=this.parsedOptions;let o;return this.searchable&&this.searchText.trim()?e===this.lastRankInput&&this.searchText===this.lastRankSearch?o=this.lastRanked:(o=l(e,this.searchText,(e=>e.label)),this.lastRankInput=e,this.lastRankSearch=this.searchText,this.lastRanked=o):o=e,this.multiple&&0!==this.sortSnapshot.size?[...o.filter((e=>this.sortSnapshot.has(e.value))),...o.filter((e=>!this.sortSnapshot.has(e.value)))]:o}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get selectedOption(){if(this.multiple)return;const e=this.selectedValues[0];return e?this.parsedOptions.find((o=>o.value===e)):void 0}get displayText(){const e=this.selectedValues;if(0===e.length)return"";if(!this.multiple){const o=this.parsedOptions.find((o=>o.value===e[0]));return o?o.label:e[0]}return e.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return o?o.label:e})).join(", ")}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}optionId(e){return"co-select-option-"+e}resetActiveIndex(){const e=this.filteredOptions;if(0===e.length)return void(this.activeIndex=-1);const o=this.selectedValues,r=o.length?e.findIndex((e=>o.includes(e.value))):-1;this.activeIndex=r>=0?r:0,this.scrollActiveIntoView()}onOpenChange(e){e?(this.scrollTop=0,this.resetActiveIndex(),this.searchable&&this.focusSearchWhenVisible()):(this.searchText="",this.activeIndex=-1,this.restoreTriggerFocus())}openPanel(){this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0}setActiveIndex(e){this.activeIndex=e,this.scrollActiveIntoView()}activateActiveOption(){const e=this.filteredOptions[this.activeIndex];e&&!e.disabled&&this.handleOptionClick(e.value)}scrollActiveIntoView(){const{ITEM_HEIGHT:o,VIEWPORT_ITEMS:r}=e,t=this.activeIndex;if(!(t>=0))return;const s=t*o,a=o*r,i=this.scrollTop||0;s<i?this.scrollTop=s:s+o>i+a&&(this.scrollTop=s+o-a),this.pendingActiveScroll=!0,this.activeScrollFrames=0}focusSearchWhenVisible(e=0){var o,r;this.isOpen&&this.searchable&&(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(r=this.el.shadowRoot)||void 0===r?void 0:r.activeElement)===this.searchInputEl||e>=20||requestAnimationFrame((()=>this.focusSearchWhenVisible(e+1))))}restoreTriggerFocus(){var e;const o=document.activeElement;(o===this.el||this.el.contains(o))&&(null===(e=this.triggerEl)||void 0===e||e.focus())}syncOverlayScrollbars(){const e=this.isOpen&&!!this.optionsContainerEl;e&&!this.osInstance?this.osInstance=i(this.optionsContainerEl,{scrollbars:{theme:"os-theme-co",autoHide:"leave",autoHideDelay:300}},{scroll:e=>{this.scrollTop=e.elements().viewport.scrollTop}}):!e&&this.osInstance&&(this.osInstance.destroy(),this.osInstance=void 0)}componentDidRender(){this.syncOverlayScrollbars(),this.flushActiveScroll()}componentWillLoad(){this.searchText=this.searchText||""}disconnectedCallback(){var e;null===(e=this.osInstance)||void 0===e||e.destroy(),this.osInstance=void 0,this.pendingActiveScroll=!1,this.activeScrollFrames=0}renderLabel(e){const o=this.searchable&&this.searchText?c(e,this.searchText):null;return o?o.map((e=>e.match?t("span",{class:"co-select__match"},e.text):e.text)):e}getVirtualSlice(o){const{ITEM_HEIGHT:r,VIEWPORT_ITEMS:t,OVERSCAN:s}=e,a=o.length,i=a*r,l=Math.max(0,Math.floor(this.scrollTop/r)-s);return{totalHeight:i,startIdx:l,endIdx:Math.min(a,l+t+2*s),offsetY:l*r}}render(){var o;const r=this.selectedValues,s=this.filteredOptions,i=this.isOpen&&this.activeIndex>=0&&this.activeIndex<s.length?this.optionId(this.activeIndex):void 0;return t("div",{key:"902da0519e9fe96401f5339a3b46a66c94efd3de",class:{"co-select":!0,"co-select--open":this.isOpen,"co-select--disabled":this.disabled,["co-select--"+this.size]:!0,["co-select--"+this.status]:"default"!==this.status,"co-select--flat":"flat"===this.variant}},(this.label||this.secondaryLabel)&&t("div",{key:"3faf027e94d30728d7715ebca758eb0d9cb41bc9",class:"co-select__labels"},this.label&&t("label",{key:"a7267986158eae66be547356482df079e3670d44",class:"co-select__label"},this.label,t(a,{key:"5eaca0cfade91041b33edd07e648b1e22cb875f3",required:this.required})),this.secondaryLabel&&t("span",{key:"3561fb5297dde4c128e9c888cdd00546c5e1b4c3",class:"co-select__secondary-label"},this.secondaryLabel)),t("co-popover",{key:"63fc16eefafcb8ef870aba457be9e00f5dce6f32",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},t("div",{key:"6056ec2a5d85df9d8361f4b78f12eec6e2fe7749",slot:"trigger",class:"co-select__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||this.ariaLabelText||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":i,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&t("co-icon",{key:"8877e366eba45e073a3481e7b86408763e103f6c",name:this.iconLeft,size:16,class:"co-select__icon"}),(null===(o=this.selectedOption)||void 0===o?void 0:o.image)&&t("img",{key:"4f964e48dafff76a9fe04ed381b1f11113e351d6",class:"co-select__flag",src:this.selectedOption.image,alt:""}),this.multiple&&this.hasValue?t("div",{class:"co-select__chips"},this.selectedValues.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return t("span",{class:"co-select__chip",key:e},t("span",{class:"co-select__chip-label"},o?o.label:e),t("button",{class:"co-select__chip-remove",type:"button",tabIndex:-1,"aria-label":"Remove",onClick:o=>{o.stopPropagation(),this.handleOptionClick(e)}},t("co-icon",{name:"x",size:12})))}))):t("span",{class:{"co-select__text":!0,"co-select__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder),this.clearable&&this.hasValue&&!this.disabled&&t("button",{key:"55a94e3d877ec0c50ae4ce544774c6e4330b5f5e",class:"co-select__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},t("co-icon",{key:"b452121827aa8b2f341396b3376e82728bee5276",name:"x-circle",size:16,weight:"fill"})),t("co-icon",{key:"0ebc5a451bcb3f2f95a63ab600157e27cb445a9b",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-select__caret"})),t("div",{key:"92b18226a02de73cbd245ab6827c3f5593aa08fc",class:"co-select__dropdown"},this.isOpen&&this.searchable&&t("div",{key:"68aec7a4ced328a00a1185078edbbfe4820d6582",class:"co-select__search"},t("co-icon",{key:"1aa322cf22d4824bf6d2012b6dfc4e856360502a",name:"magnifying-glass",size:16,class:"co-select__search-icon"}),t("input",{key:"62ec52d3369334f83709bc5219d5b3ca040c3ccb",class:"co-select__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.searchText,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":i,onInput:this.handleSearchInput,onKeyDown:this.handleNavKeyDown,ref:e=>this.searchInputEl=e})),this.isOpen&&this.searchable&&0===s.length&&t("div",{key:"86613208aa94d79b6aa503a6ed53c010cc1ba1f9",class:"co-select__empty"},this.emptyText),t("div",{key:"a6b1f09abfbfb0171094079c3da7ac89764eb00f",class:"co-select__options",id:e.LISTBOX_ID,role:"listbox","aria-multiselectable":this.multiple?"true":void 0,ref:e=>this.optionsContainerEl=e},this.isOpen&&(()=>{const{totalHeight:e,startIdx:o,endIdx:a,offsetY:i}=this.getVirtualSlice(s);return t("div",{role:"presentation",class:"co-select__virtual-spacer",style:{height:e+"px",position:"relative"}},t("div",{role:"presentation",style:{position:"absolute",top:i+"px",left:"0",right:"0"}},s.slice(o,a).map(((e,a)=>{const i=o+a,l=r.includes(e.value),c=!!e.disabled;return t("div",{id:this.optionId(i),role:"option","aria-selected":l?"true":"false","aria-disabled":c?"true":void 0,"aria-setsize":s.length,"aria-posinset":i+1,class:{"co-select__option":!0,"co-select__option--selected":l,"co-select__option--disabled":c,"co-select__option--active":i===this.activeIndex},onClick:()=>!c&&this.handleOptionClick(e.value)},e.image?t("img",{class:"co-select__option-flag",src:e.image,alt:"",loading:"lazy"}):e.icon?t("co-icon",{name:e.icon,size:20,class:"co-select__option-icon"}):null,t("span",{class:"co-select__option-label"},this.renderLabel(e.label)),l&&t("co-icon",{name:"check",size:16,class:"co-select__option-check"}))}))))})()),this.isOpen&&this.showFooter&&t("co-list-footer",{key:"5f5d60d846092aed435e292a4652ad7016cb6aee",class:"co-select__footer",primaryLabel:this.footerPrimaryLabel,primaryIcon:"check",onCoPrimary:this.handleFooterPrimary}))),this.helperText&&t("div",{key:"72ebb3366ee45eaccce69f534611804f8f1dbc1c",class:"co-select__helper co-select__helper--"+this.status},this.statusIcon&&t("co-icon",{key:"2f2ad274cf521c3bd9f21d66d0fa9b7c87f7ba71",name:this.statusIcon,size:14,class:"co-select__helper-icon"}),t("span",{key:"3e1ef4abb47a61d173e1942f5798caff97c2347e",class:"co-select__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}]}}static get style(){return'.os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:"";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select--flat .co-select__trigger{background:transparent;border-color:transparent}.co-select__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) 0}.co-select__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-sm2);background:var(--co-color-gray-100);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-14);line-height:1;max-width:200px}.co-select__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-color-gray-500);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-select__chip-remove:hover{color:var(--co-semantic-text-default)}.co-select--s .co-select__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-select--sm .co-select__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-select--lg .co-select__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;box-shadow:none;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-status-error)}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__flag,.co-select__option-flag{flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--co-semantic-border-subtle)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-spacing-sm2)}.co-select__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-sm2);margin-bottom:var(--co-spacing-sm2);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);height:32px;box-sizing:border-box;color:var(--co-semantic-text-muted)}.co-select__search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--co-font-size-14, 14px);line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-select__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-select__match{font-weight:700;color:var(--co-semantic-text-default)}.co-select__empty{padding:var(--co-spacing-md);text-align:center;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14, 14px)}.co-select__options{max-height:calc(34px * 8);overflow-y:auto}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full);--os-handle-bg:var(--co-color-opacity-negro-16);--os-handle-bg-hover:var(--co-color-opacity-negro-25);--os-handle-bg-active:var(--co-color-opacity-negro-50);--os-handle-min-size:24px}.co-select__option{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:32px;box-sizing:border-box}.co-select__option:hover{background:var(--co-semantic-surface-hover)}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--active{background:var(--co-semantic-surface-hover)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-status-error)}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-status-success)}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-color-status-review)}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-status-info)}:host([layout=\'horizontal\']) .co-select{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout=\'horizontal\']) .co-select__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout=\'horizontal\']) .co-select__label{white-space:normal}:host([layout=\'horizontal\']) .co-select>:not(.co-select__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, \' (required)\')}'}},[1,"co-select",{label:[1],ariaLabelText:[1,"aria-label-text"],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],helperText:[1,"helper-text"],layout:[513],status:[1],options:[1],value:[1025],multiple:[4],size:[513],variant:[513],searchable:[516],searchPlaceholder:[1,"search-placeholder"],emptyText:[1,"empty-text"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],isOpen:[32],scrollTop:[32],searchText:[32],sortSnapshot:[32],activeIndex:[32]},void 0,{isOpen:[{onOpenChange:0}]}]);function b(){"undefined"!=typeof customElements&&["co-select","co-icon","co-list-footer","co-popover"].forEach((e=>{switch(e){case"co-select":customElements.get(s(e))||customElements.define(s(e),p);break;case"co-icon":customElements.get(s(e))||n();break;case"co-list-footer":customElements.get(s(e))||d();break;case"co-popover":customElements.get(s(e))||h()}}))}p.ITEM_HEIGHT=34,p.VIEWPORT_ITEMS=8,p.OVERSCAN=3,p.LISTBOX_ID="co-select-listbox",p.ACTIVE_SCROLL_MAX_FRAMES=48,b();const v=p,g=b;export{v as CoSelect,g as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as t,H as a,c as r,h as i}from"./index.js";import{R as o}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-CWCYYQrF.js";import{d as n}from"./p-NNxjElcX.js";import{d as l}from"./p-P4HlMBlL.js";import{d}from"./p-DNJAIVfI.js";import{d as h}from"./p-BH184F0X.js";import{d as p}from"./p-BJh68Jqe.js";import{d as g}from"./p-DRP8D9ro.js";import{i as m,l as u,p as f,d as b,t as _,a as k,s as v,b as y,j as x}from"./p-e5KibEs8.js";const w=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coRangeStartChange=r(this,"coRangeStartChange",7),this.coRangeEndChange=r(this,"coRangeEndChange",7),this.coRangeChange=r(this,"coRangeChange",7),this.coApply=r(this,"coApply",7),this.coCancel=r(this,"coCancel",7),this.coClear=r(this,"coClear",7),this.coOpen=r(this,"coOpen",3),this.coClose=r(this,"coClose",3),this.value="",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.presets=!0,this.allowSameDay=!0,this.clearable=!0,this.applyOnSelect=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.layout="vertical",this.size="md",this.variant="default",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.draftFrom=null,this.draftTo=null,this.isMobile=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit()),this.syncDraftFromValue()},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit()),this.syncDraftFromValue()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.handleCancel())},this.onCalendarRange=e=>{this.updateDraft(e.detail.start,e.detail.end)},this.onFromChange=e=>{this.updateDraft(e.detail,this.draftTo)},this.onToChange=e=>{this.updateDraft(this.draftFrom,e.detail)},this.openSheet=()=>{this.disabled||this.open||(this.syncDraftFromValue(),this.open=!0,this.coOpen.emit())},this.handleApply=()=>{this.canApply&&(this.value=JSON.stringify({from:this.draftFrom,to:this.draftTo}),this.coApply.emit({from:this.draftFrom,to:this.draftTo}),this.open=!1)},this.handleCancel=()=>{this.coCancel.emit(),this.syncDraftFromValue(),this.open=!1},this.handleClear=()=>{this.value="",this.draftFrom=null,this.draftTo=null,this.coClear.emit(),this.coRangeChange.emit({from:null,to:null}),this.open=!1}}componentWillLoad(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}onValueChange(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}parseValue(){if(!this.value)return{from:null,to:null};try{const e=JSON.parse(this.value);return{from:m(e.from)?e.from:null,to:m(e.to)?e.to:null}}catch(e){return{from:null,to:null}}}get committed(){return this.parseValue()}inclusiveDays(e,t){const a=u(f(t)).getTime()-u(f(e)).getTime();return Math.round(a/864e5)+1}get canApply(){const e=this.draftFrom,t=this.draftTo;if(!e||!t)return!1;if(b(e,t)>0)return!1;if(!this.allowSameDay&&0===b(e,t))return!1;const a=this.inclusiveDays(e,t);return!(this.minRangeDays&&a<this.minRangeDays||this.maxRangeDays&&a>this.maxRangeDays)}syncDraftFromValue(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}updateDraft(e,t){const a=this.draftFrom,r=this.draftTo;this.draftFrom=e,this.draftTo=t,e!==a&&this.coRangeStartChange.emit(e),t!==r&&this.coRangeEndChange.emit(t),this.coRangeChange.emit({from:e,to:t}),this.applyOnSelect&&this.canApply&&this.scheduleApply()}scheduleApply(){clearTimeout(this.applyTimer),this.applyTimer=setTimeout((()=>{this.canApply&&this.handleApply()}),250)}applyPreset(e){const t=_();let a=null,r=null;switch(e){case"today":a=t,r=t;break;case"yesterday":a=y(t,-1),r=a;break;case"last7Days":r=t,a=y(t,-6);break;case"last14Days":r=t,a=y(t,-13);break;case"last30Days":r=t,a=y(t,-29);break;case"last90Days":r=t,a=y(t,-89);break;case"thisWeek":a=function(e,t){const a=f(e);if(!a)return e;const r=u(a).getDay();return y(e,-(r-t+7)%7)}(t,this.firstDayOfWeek),r=y(a,6);break;case"thisMonth":a=v(t),r=C(t);break;case"lastMonth":{const e=k(t,-1);a=v(e),r=C(e);break}case"thisYear":{const e=f(t).year;a=`${e}-01-01`,r=`${e}-12-31`;break}case"lastYear":{const e=f(t).year-1;a=`${e}-01-01`,r=`${e}-12-31`;break}case"custom":a=null,r=null}this.updateDraft(a,r)}get hasCommitted(){const e=this.committed;return!(!e.from&&!e.to)}triggerText(e){const t=this.committed,a=t.from?x(t.from,this.displayFormat,this.locale):null,r=t.to?x(t.to,this.displayFormat,this.locale):null;return a&&r?`${a} → ${r}`:a?`${a} → …`:r?`… → ${r}`:this.placeholder||e.setDate}presetItems(e){const t=function(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}(this.presetIds);return(t.length?t:["today","yesterday","last7Days","last30Days","thisWeek","thisMonth","lastMonth","custom"]).map((t=>{var a;return{id:t,label:null!==(a=e[t])&&void 0!==a?a:t}}))}renderTriggerChildren(e,t){var a;return[i("co-icon",{name:"calendar",size:16,class:"co-date-range-picker__icon"}),i("span",{class:{"co-date-range-picker__trigger-text":!0,"co-date-range-picker__trigger-text--placeholder":!this.hasCommitted}},this.triggerText(e)),t&&i("button",{class:"co-date-range-picker__clear",type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),this.handleClear()},"aria-label":null!==(a=this.clearLabel)&&void 0!==a?a:e.clear},i("co-icon",{name:"x-circle",size:16,weight:"fill"})),i("co-icon",{name:"caret-down",size:14,class:"co-date-range-picker__caret"})]}renderPanel(e,t){var a,r,o,s,c,n;return i("div",{class:"co-date-range-picker__panel"},i("div",{class:"co-date-range-picker__fields"},i("co-date-field",{class:"co-date-range-picker__field",label:null!==(a=this.fromLabel)&&void 0!==a?a:e.from,value:this.draftFrom,min:this.min,max:null!==(r=this.draftTo)&&void 0!==r?r:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onFromChange}),i("co-date-field",{class:"co-date-range-picker__field",label:null!==(o=this.toLabel)&&void 0!==o?o:e.to,value:this.draftTo,min:null!==(s=this.draftFrom)&&void 0!==s?s:this.min,max:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onToChange})),i("div",{class:{"co-date-range-picker__body":!0,"co-date-range-picker__body--touch":t}},this.presets&&i("div",{class:"co-date-range-picker__presets"},this.presetItems(e).map((e=>i("button",{key:e.id,type:"button",class:"co-date-range-picker__preset",onClick:()=>this.applyPreset(e.id)},e.label)))),i("co-calendar",{mode:"range","data-touch":t?"":void 0,rangeStart:this.draftFrom,rangeEnd:this.draftTo,min:this.min,max:this.max,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoRangeSelect:this.onCalendarRange})),i("div",{class:"co-date-range-picker__footer"},i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--ghost",onClick:this.handleCancel},null!==(c=this.cancelLabel)&&void 0!==c?c:e.cancel),i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--primary",disabled:!this.canApply,onClick:this.handleApply},null!==(n=this.applyLabel)&&void 0!==n?n:e.apply)))}renderHelper(e,t){return t?i("div",{class:{"co-date-range-picker__helper":!0,"co-date-range-picker__helper--error":e},part:"helper"},e&&i("co-icon",{name:"warning-circle",size:14}),i("span",null,t)):null}render(){const e=s(this.locale),t=this.invalid,a=t?this.errorMessage:this.helperText,r=this.clearable&&this.hasCommitted&&!this.disabled&&!this.readonly,c={"co-date-range-picker__trigger":!0,"co-date-range-picker__trigger--open":this.open,"co-date-range-picker__trigger--disabled":this.disabled,"co-date-range-picker__trigger--flat":"flat"===this.variant};return this.isMobile?i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("div",{class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false",onClick:this.openSheet},this.renderTriggerChildren(e,r)),i("co-drawer",{position:"bottom",open:this.open,heading:e.selectDate,onCoClose:this.handleCancel},this.renderPanel(e,!0)),this.renderHelper(t,a)):i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},i("div",{slot:"trigger",class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false"},this.renderTriggerChildren(e,r)),this.open&&this.renderPanel(e,!1)),this.renderHelper(t,a))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14)}.co-date-range-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-range-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);line-height:1;padding:0 var(--co-spacing-xs)}.co-date-range-picker co-popover{display:block;width:100%}.co-date-range-picker--s .co-date-range-picker__trigger{min-height:28px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--sm .co-date-range-picker__trigger{min-height:32px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--lg .co-date-range-picker__trigger{min-height:48px;padding:0 var(--co-spacing-lg)}.co-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);width:100%;min-height:40px;padding:0 var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);cursor:pointer;color:var(--co-semantic-text-default);box-sizing:border-box;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__trigger--flat{background:transparent;border-color:transparent}.co-date-range-picker__trigger--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-range-picker__trigger--disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker--invalid .co-date-range-picker__trigger{border-color:var(--co-semantic-status-error)}.co-date-range-picker__icon,.co-date-range-picker__caret{color:var(--co-semantic-text-muted);flex-shrink:0}.co-date-range-picker__trigger-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-date-range-picker__trigger-text--placeholder{color:var(--co-semantic-text-muted)}.co-date-range-picker__clear{background:none;border:0;padding:0;cursor:pointer;color:var(--co-semantic-text-muted);display:inline-flex;align-items:center;flex-shrink:0}.co-date-range-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-range-picker__panel{display:flex;flex-direction:column;gap:var(--co-spacing-md);padding:var(--co-spacing-md);min-width:280px}.co-date-range-picker__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--co-spacing-sm)}.co-date-range-picker__body{display:flex;gap:var(--co-spacing-md);align-items:flex-start}.co-date-range-picker__body:not(.co-date-range-picker__body--touch) co-calendar{flex:1;min-width:0;--co-calendar-width:100%;--co-calendar-col:minmax(var(--co-calendar-day-size), 1fr);--co-calendar-day-width:100%}.co-date-range-picker__body--touch{flex-direction:column;align-items:stretch}.co-date-range-picker__body--touch .co-date-range-picker__presets{flex-direction:row;flex-wrap:wrap;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid var(--co-semantic-border-subtle);padding-bottom:var(--co-spacing-sm)}.co-date-range-picker__body--touch co-calendar{align-self:center}.co-date-range-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);min-width:120px;border-right:1px solid var(--co-semantic-border-subtle);padding-right:var(--co-spacing-md)}.co-date-range-picker__preset{text-align:left;background:none;border:0;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-sm);padding-top:var(--co-spacing-sm);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-range-picker__btn{padding:var(--co-spacing-xs) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;font-weight:500;cursor:pointer;border:0}.co-date-range-picker__btn--ghost{background:transparent;color:var(--co-semantic-text-default)}.co-date-range-picker__btn--ghost:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-range-picker__btn--primary:hover:not(:disabled){opacity:0.88}.co-date-range-picker__btn--primary:disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker__helper{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);font-size:var(--co-font-size-14);color:var(--co-semantic-text-muted);padding:0 var(--co-spacing-xs)}.co-date-range-picker__helper--error{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-date-range-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-range-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-range-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-range-picker>:not(.co-date-range-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-range-picker",{value:[1025],min:[1],max:[1],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],presets:[4],presetIds:[1,"preset-ids"],allowSameDay:[4,"allow-same-day"],minRangeDays:[2,"min-range-days"],maxRangeDays:[2,"max-range-days"],clearable:[4],applyOnSelect:[4,"apply-on-select"],disabled:[4],readonly:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],label:[1],required:[4],placeholder:[1],layout:[513],size:[513],variant:[513],placement:[1],open:[1540],applyLabel:[1,"apply-label"],cancelLabel:[1,"cancel-label"],clearLabel:[1,"clear-label"],fromLabel:[1,"from-label"],toLabel:[1,"to-label"],mobileBreakpoint:[2,"mobile-breakpoint"],draftFrom:[32],draftTo:[32],isMobile:[32]},void 0,{value:[{onValueChange:0}]}]);function C(e){return y(v(k(e,1)),-1)}function z(){"undefined"!=typeof customElements&&["co-date-range-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((t=>{switch(t){case"co-date-range-picker":customElements.get(e(t))||customElements.define(e(t),w);break;case"co-calendar":customElements.get(e(t))||c();break;case"co-date-field":customElements.get(e(t))||n();break;case"co-drawer":customElements.get(e(t))||l();break;case"co-icon":customElements.get(e(t))||d();break;case"co-loader":customElements.get(e(t))||h();break;case"co-overlay":customElements.get(e(t))||p();break;case"co-popover":customElements.get(e(t))||g()}}))}z();export{w as C,z as d}
1
+ import{t as e,p as t,H as a,c as r,h as i}from"./index.js";import{R as o}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-CWCYYQrF.js";import{d as n}from"./p-NNxjElcX.js";import{d as l}from"./p-P4HlMBlL.js";import{d}from"./p-DNJAIVfI.js";import{d as h}from"./p-BH184F0X.js";import{d as p}from"./p-BJh68Jqe.js";import{d as g}from"./p-D9T7zKeL.js";import{i as m,l as u,p as f,d as b,t as _,a as k,s as v,b as y,j as x}from"./p-e5KibEs8.js";const w=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coRangeStartChange=r(this,"coRangeStartChange",7),this.coRangeEndChange=r(this,"coRangeEndChange",7),this.coRangeChange=r(this,"coRangeChange",7),this.coApply=r(this,"coApply",7),this.coCancel=r(this,"coCancel",7),this.coClear=r(this,"coClear",7),this.coOpen=r(this,"coOpen",3),this.coClose=r(this,"coClose",3),this.value="",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.presets=!0,this.allowSameDay=!0,this.clearable=!0,this.applyOnSelect=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.layout="vertical",this.size="md",this.variant="default",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.draftFrom=null,this.draftTo=null,this.isMobile=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit()),this.syncDraftFromValue()},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit()),this.syncDraftFromValue()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.handleCancel())},this.onCalendarRange=e=>{this.updateDraft(e.detail.start,e.detail.end)},this.onFromChange=e=>{this.updateDraft(e.detail,this.draftTo)},this.onToChange=e=>{this.updateDraft(this.draftFrom,e.detail)},this.openSheet=()=>{this.disabled||this.open||(this.syncDraftFromValue(),this.open=!0,this.coOpen.emit())},this.handleApply=()=>{this.canApply&&(this.value=JSON.stringify({from:this.draftFrom,to:this.draftTo}),this.coApply.emit({from:this.draftFrom,to:this.draftTo}),this.open=!1)},this.handleCancel=()=>{this.coCancel.emit(),this.syncDraftFromValue(),this.open=!1},this.handleClear=()=>{this.value="",this.draftFrom=null,this.draftTo=null,this.coClear.emit(),this.coRangeChange.emit({from:null,to:null}),this.open=!1}}componentWillLoad(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}onValueChange(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}parseValue(){if(!this.value)return{from:null,to:null};try{const e=JSON.parse(this.value);return{from:m(e.from)?e.from:null,to:m(e.to)?e.to:null}}catch(e){return{from:null,to:null}}}get committed(){return this.parseValue()}inclusiveDays(e,t){const a=u(f(t)).getTime()-u(f(e)).getTime();return Math.round(a/864e5)+1}get canApply(){const e=this.draftFrom,t=this.draftTo;if(!e||!t)return!1;if(b(e,t)>0)return!1;if(!this.allowSameDay&&0===b(e,t))return!1;const a=this.inclusiveDays(e,t);return!(this.minRangeDays&&a<this.minRangeDays||this.maxRangeDays&&a>this.maxRangeDays)}syncDraftFromValue(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}updateDraft(e,t){const a=this.draftFrom,r=this.draftTo;this.draftFrom=e,this.draftTo=t,e!==a&&this.coRangeStartChange.emit(e),t!==r&&this.coRangeEndChange.emit(t),this.coRangeChange.emit({from:e,to:t}),this.applyOnSelect&&this.canApply&&this.scheduleApply()}scheduleApply(){clearTimeout(this.applyTimer),this.applyTimer=setTimeout((()=>{this.canApply&&this.handleApply()}),250)}applyPreset(e){const t=_();let a=null,r=null;switch(e){case"today":a=t,r=t;break;case"yesterday":a=y(t,-1),r=a;break;case"last7Days":r=t,a=y(t,-6);break;case"last14Days":r=t,a=y(t,-13);break;case"last30Days":r=t,a=y(t,-29);break;case"last90Days":r=t,a=y(t,-89);break;case"thisWeek":a=function(e,t){const a=f(e);if(!a)return e;const r=u(a).getDay();return y(e,-(r-t+7)%7)}(t,this.firstDayOfWeek),r=y(a,6);break;case"thisMonth":a=v(t),r=C(t);break;case"lastMonth":{const e=k(t,-1);a=v(e),r=C(e);break}case"thisYear":{const e=f(t).year;a=`${e}-01-01`,r=`${e}-12-31`;break}case"lastYear":{const e=f(t).year-1;a=`${e}-01-01`,r=`${e}-12-31`;break}case"custom":a=null,r=null}this.updateDraft(a,r)}get hasCommitted(){const e=this.committed;return!(!e.from&&!e.to)}triggerText(e){const t=this.committed,a=t.from?x(t.from,this.displayFormat,this.locale):null,r=t.to?x(t.to,this.displayFormat,this.locale):null;return a&&r?`${a} → ${r}`:a?`${a} → …`:r?`… → ${r}`:this.placeholder||e.setDate}presetItems(e){const t=function(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}(this.presetIds);return(t.length?t:["today","yesterday","last7Days","last30Days","thisWeek","thisMonth","lastMonth","custom"]).map((t=>{var a;return{id:t,label:null!==(a=e[t])&&void 0!==a?a:t}}))}renderTriggerChildren(e,t){var a;return[i("co-icon",{name:"calendar",size:16,class:"co-date-range-picker__icon"}),i("span",{class:{"co-date-range-picker__trigger-text":!0,"co-date-range-picker__trigger-text--placeholder":!this.hasCommitted}},this.triggerText(e)),t&&i("button",{class:"co-date-range-picker__clear",type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),this.handleClear()},"aria-label":null!==(a=this.clearLabel)&&void 0!==a?a:e.clear},i("co-icon",{name:"x-circle",size:16,weight:"fill"})),i("co-icon",{name:"caret-down",size:14,class:"co-date-range-picker__caret"})]}renderPanel(e,t){var a,r,o,s,c,n;return i("div",{class:"co-date-range-picker__panel"},i("div",{class:"co-date-range-picker__fields"},i("co-date-field",{class:"co-date-range-picker__field",label:null!==(a=this.fromLabel)&&void 0!==a?a:e.from,value:this.draftFrom,min:this.min,max:null!==(r=this.draftTo)&&void 0!==r?r:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onFromChange}),i("co-date-field",{class:"co-date-range-picker__field",label:null!==(o=this.toLabel)&&void 0!==o?o:e.to,value:this.draftTo,min:null!==(s=this.draftFrom)&&void 0!==s?s:this.min,max:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onToChange})),i("div",{class:{"co-date-range-picker__body":!0,"co-date-range-picker__body--touch":t}},this.presets&&i("div",{class:"co-date-range-picker__presets"},this.presetItems(e).map((e=>i("button",{key:e.id,type:"button",class:"co-date-range-picker__preset",onClick:()=>this.applyPreset(e.id)},e.label)))),i("co-calendar",{mode:"range","data-touch":t?"":void 0,rangeStart:this.draftFrom,rangeEnd:this.draftTo,min:this.min,max:this.max,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoRangeSelect:this.onCalendarRange})),i("div",{class:"co-date-range-picker__footer"},i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--ghost",onClick:this.handleCancel},null!==(c=this.cancelLabel)&&void 0!==c?c:e.cancel),i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--primary",disabled:!this.canApply,onClick:this.handleApply},null!==(n=this.applyLabel)&&void 0!==n?n:e.apply)))}renderHelper(e,t){return t?i("div",{class:{"co-date-range-picker__helper":!0,"co-date-range-picker__helper--error":e},part:"helper"},e&&i("co-icon",{name:"warning-circle",size:14}),i("span",null,t)):null}render(){const e=s(this.locale),t=this.invalid,a=t?this.errorMessage:this.helperText,r=this.clearable&&this.hasCommitted&&!this.disabled&&!this.readonly,c={"co-date-range-picker__trigger":!0,"co-date-range-picker__trigger--open":this.open,"co-date-range-picker__trigger--disabled":this.disabled,"co-date-range-picker__trigger--flat":"flat"===this.variant};return this.isMobile?i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("div",{class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false",onClick:this.openSheet},this.renderTriggerChildren(e,r)),i("co-drawer",{position:"bottom",open:this.open,heading:e.selectDate,onCoClose:this.handleCancel},this.renderPanel(e,!0)),this.renderHelper(t,a)):i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},i("div",{slot:"trigger",class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false"},this.renderTriggerChildren(e,r)),this.open&&this.renderPanel(e,!1)),this.renderHelper(t,a))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14)}.co-date-range-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-range-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);line-height:1;padding:0 var(--co-spacing-xs)}.co-date-range-picker co-popover{display:block;width:100%}.co-date-range-picker--s .co-date-range-picker__trigger{min-height:28px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--sm .co-date-range-picker__trigger{min-height:32px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--lg .co-date-range-picker__trigger{min-height:48px;padding:0 var(--co-spacing-lg)}.co-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);width:100%;min-height:40px;padding:0 var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);cursor:pointer;color:var(--co-semantic-text-default);box-sizing:border-box;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__trigger--flat{background:transparent;border-color:transparent}.co-date-range-picker__trigger--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-range-picker__trigger--disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker--invalid .co-date-range-picker__trigger{border-color:var(--co-semantic-status-error)}.co-date-range-picker__icon,.co-date-range-picker__caret{color:var(--co-semantic-text-muted);flex-shrink:0}.co-date-range-picker__trigger-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-date-range-picker__trigger-text--placeholder{color:var(--co-semantic-text-muted)}.co-date-range-picker__clear{background:none;border:0;padding:0;cursor:pointer;color:var(--co-semantic-text-muted);display:inline-flex;align-items:center;flex-shrink:0}.co-date-range-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-range-picker__panel{display:flex;flex-direction:column;gap:var(--co-spacing-md);padding:var(--co-spacing-md);min-width:280px}.co-date-range-picker__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--co-spacing-sm)}.co-date-range-picker__body{display:flex;gap:var(--co-spacing-md);align-items:flex-start}.co-date-range-picker__body:not(.co-date-range-picker__body--touch) co-calendar{flex:1;min-width:0;--co-calendar-width:100%;--co-calendar-col:minmax(var(--co-calendar-day-size), 1fr);--co-calendar-day-width:100%}.co-date-range-picker__body--touch{flex-direction:column;align-items:stretch}.co-date-range-picker__body--touch .co-date-range-picker__presets{flex-direction:row;flex-wrap:wrap;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid var(--co-semantic-border-subtle);padding-bottom:var(--co-spacing-sm)}.co-date-range-picker__body--touch co-calendar{align-self:center}.co-date-range-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);min-width:120px;border-right:1px solid var(--co-semantic-border-subtle);padding-right:var(--co-spacing-md)}.co-date-range-picker__preset{text-align:left;background:none;border:0;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-sm);padding-top:var(--co-spacing-sm);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-range-picker__btn{padding:var(--co-spacing-xs) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;font-weight:500;cursor:pointer;border:0}.co-date-range-picker__btn--ghost{background:transparent;color:var(--co-semantic-text-default)}.co-date-range-picker__btn--ghost:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-range-picker__btn--primary:hover:not(:disabled){opacity:0.88}.co-date-range-picker__btn--primary:disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker__helper{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);font-size:var(--co-font-size-14);color:var(--co-semantic-text-muted);padding:0 var(--co-spacing-xs)}.co-date-range-picker__helper--error{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-date-range-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-range-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-range-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-range-picker>:not(.co-date-range-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-range-picker",{value:[1025],min:[1],max:[1],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],presets:[4],presetIds:[1,"preset-ids"],allowSameDay:[4,"allow-same-day"],minRangeDays:[2,"min-range-days"],maxRangeDays:[2,"max-range-days"],clearable:[4],applyOnSelect:[4,"apply-on-select"],disabled:[4],readonly:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],label:[1],required:[4],placeholder:[1],layout:[513],size:[513],variant:[513],placement:[1],open:[1540],applyLabel:[1,"apply-label"],cancelLabel:[1,"cancel-label"],clearLabel:[1,"clear-label"],fromLabel:[1,"from-label"],toLabel:[1,"to-label"],mobileBreakpoint:[2,"mobile-breakpoint"],draftFrom:[32],draftTo:[32],isMobile:[32]},void 0,{value:[{onValueChange:0}]}]);function C(e){return y(v(k(e,1)),-1)}function z(){"undefined"!=typeof customElements&&["co-date-range-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((t=>{switch(t){case"co-date-range-picker":customElements.get(e(t))||customElements.define(e(t),w);break;case"co-calendar":customElements.get(e(t))||c();break;case"co-date-field":customElements.get(e(t))||n();break;case"co-drawer":customElements.get(e(t))||l();break;case"co-icon":customElements.get(e(t))||d();break;case"co-loader":customElements.get(e(t))||h();break;case"co-overlay":customElements.get(e(t))||p();break;case"co-popover":customElements.get(e(t))||g()}}))}z();export{w as C,z as d}
@@ -1 +1 @@
1
- import{t,p as i,H as s,c as o,h as e}from"./index.js";import{c as n,g as h,f as a}from"./p-DFHRS9cJ.js";const c=[];function r(t){const i=c.indexOf(t);-1!==i&&c.splice(i,1)}function p(t){return c.length>0&&c[c.length-1]===t}const l=["top","bottom","left","right"].map((t=>`co-popover__panel--${t}`)),d=i(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coOpen=o(this,"coOpen",3),this.coClose=o(this,"coClose",3),this.coPlacement=o(this,"coPlacement",3),this.open=!1,this.placement="bottom-start",this.matchWidth=!1,this.offset=4,this.closeOnClickOutside=!0,this.closeOnEscape=!0,this.flip=!0,this.closing=!1,this.scrollParents=[],this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.docListenersBound=!1,this.finishClose=()=>{clearTimeout(this.closeFallbackTimer),this.open||(this.closing=!1,this.panelEl=void 0)},this.handlePanelTransitionEnd=t=>{!this.open&&this.closing&&t.target===this.panelEl&&"transform"===t.propertyName&&this.finishClose()},this.handleDocumentClickManual=t=>{this.open&&this.closeOnClickOutside&&p(this.el)&&(t.composedPath().includes(this.el)||(this.open=!1))},this.handleDocumentKeydownManual=t=>{this.open&&this.closeOnEscape&&p(this.el)&&"Escape"===t.key&&(t.stopPropagation(),this.open=!1)},this.updatePosition=()=>{if(!this.open||!this.triggerEl||!this.panelEl)return;const t=this.triggerEl.getBoundingClientRect(),i=DOMRect.fromRect({width:this.panelEl.offsetWidth,height:this.panelEl.offsetHeight}),{top:s,left:o,actualPlacement:e}=n(t,i,{placement:this.placement,offset:this.offset,flip:this.flip});let a=s,c=o;if(!this.panelEl.matches(":popover-open")&&(this.offsetAncestorComputed||(this.cachedOffsetAncestor=h(this.panelEl),this.offsetAncestorComputed=!0),this.cachedOffsetAncestor)){const t=this.cachedOffsetAncestor.getBoundingClientRect();a-=t.top,c-=t.left}const r={top:`${a}px`,left:`${c}px`};if(this.matchWidth&&(r.width=`${t.width}px`),this.panelEl){Object.assign(this.panelEl.style,r);const t=`co-popover__panel--${e.split("-")[0]}`;this.panelEl.classList.contains(t)||(this.panelEl.classList.remove(...l),this.panelEl.classList.add(t),this.coPlacement.emit({placement:e})),this.panelEl.classList.add("co-popover__panel--positioned")}},this.scheduleUpdate=()=>{this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.updatePosition)},this.handleTriggerClick=()=>{this.open=!this.open}}componentDidLoad(){this.open&&this.onOpenChange(!0)}disconnectedCallback(){r(this.el),this.unbindDocListeners(),this.cleanupListeners(),clearTimeout(this.closeFallbackTimer),this.closing=!1}onOpenChange(t){var i;t?(this.closing=!1,clearTimeout(this.closeFallbackTimer),r(i=this.el),c.push(i),this.coOpen.emit(),this.bindDocListeners(),this.scheduleUpdate(),requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.updatePosition()}))})),this.addScrollListeners()):(r(this.el),this.coClose.emit(),this.cleanupListeners(),this.unbindDocListeners(),this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.closing=!0,clearTimeout(this.closeFallbackTimer),this.closeFallbackTimer=setTimeout((()=>this.finishClose()),400))}bindDocListeners(){this.docListenersBound||(document.addEventListener("click",this.handleDocumentClickManual,!0),document.addEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!0)}unbindDocListeners(){this.docListenersBound&&(document.removeEventListener("click",this.handleDocumentClickManual,!0),document.removeEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!1)}async toggle(){this.open=!this.open}async show(){this.open=!0}async hide(){this.open=!1}promotePanel(){const t=this.panelEl;if(t&&"function"==typeof t.showPopover)try{t.matches(":popover-open")||t.showPopover()}catch(t){}}addScrollListeners(){window.addEventListener("resize",this.scheduleUpdate,{passive:!0}),window.addEventListener("scroll",this.scheduleUpdate,{passive:!0,capture:!0}),this.scrollParents=a(this.el);for(const t of this.scrollParents)t.addEventListener("scroll",this.scheduleUpdate,{passive:!0})}cleanupListeners(){this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0),window.removeEventListener("resize",this.scheduleUpdate),window.removeEventListener("scroll",this.scheduleUpdate,{capture:!0});for(const t of this.scrollParents)t.removeEventListener("scroll",this.scheduleUpdate);this.scrollParents=[]}render(){return e("div",{key:"f8460e212fabe8828f1e33f08304d7e680a7cab0",class:"co-popover"},e("div",{key:"c9caad8ae7f16c82173e4b30ad5cc053dc73b6da",class:"co-popover__trigger",ref:t=>this.triggerEl=t,onClick:this.handleTriggerClick},e("slot",{key:"afa0443ba85607cf24f517e8c7fe0cee689df024",name:"trigger"})),(this.open||this.closing)&&e("div",{key:"d2a081f8923f53ac456edd6e5eb7422dc5ab7daa",class:{"co-popover__panel":!0,"co-popover__panel--closing":this.closing},popover:"manual",onTransitionEnd:this.handlePanelTransitionEnd,ref:t=>{t&&t!==this.panelEl&&(this.panelEl=t,this.promotePanel(),this.scheduleUpdate())}},e("slot",{key:"8466f617bd6b8a497e2040d3275b384156de126c"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:inline-block;position:relative}:host([match-width]){display:block;width:100%}.co-popover{display:block;width:100%}.co-popover__trigger{display:block;width:100%;cursor:pointer}.co-popover__panel{position:fixed;inset:auto;top:0;left:0;margin:0;padding:0;width:auto;height:auto;max-width:none;max-height:none;z-index:10000;visibility:hidden;opacity:0;transform:scale(0.97);background:var(--co-semantic-surface-page, #fff);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px rgba(31, 28, 27, 0.08);overflow:visible}.co-popover__panel--positioned{visibility:visible;opacity:1;transform:scale(1);transition:opacity var(--co-motion-duration-base) var(--co-motion-ease-out), transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-popover__panel--closing{visibility:visible;opacity:0;transform:scale(0.99);pointer-events:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), transform var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-popover__panel--bottom{transform-origin:top center}.co-popover__panel--top{transform-origin:bottom center}.co-popover__panel--right{transform-origin:center left}.co-popover__panel--left{transform-origin:center right}"}},[257,"co-popover",{open:[1540],placement:[1],matchWidth:[516,"match-width"],offset:[2],closeOnClickOutside:[4,"close-on-click-outside"],closeOnEscape:[4,"close-on-escape"],flip:[4],closing:[32],toggle:[64],show:[64],hide:[64]},void 0,{open:[{onOpenChange:0}]}]);function m(){"undefined"!=typeof customElements&&["co-popover"].forEach((i=>{"co-popover"===i&&(customElements.get(t(i))||customElements.define(t(i),d))}))}m();export{d as C,m as d}
1
+ import{t,p as i,H as s,c as o,h as e}from"./index.js";import{c as n,g as h,f as a}from"./p-DFHRS9cJ.js";const c=[];function r(t){const i=c.indexOf(t);-1!==i&&c.splice(i,1)}function p(t){return c.length>0&&c[c.length-1]===t}const l=["top","bottom","left","right"].map((t=>`co-popover__panel--${t}`)),d=i(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coOpen=o(this,"coOpen",3),this.coClose=o(this,"coClose",3),this.coPlacement=o(this,"coPlacement",3),this.open=!1,this.placement="bottom-start",this.matchWidth=!1,this.offset=4,this.closeOnClickOutside=!0,this.closeOnEscape=!0,this.flip=!0,this.closing=!1,this.scrollParents=[],this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.docListenersBound=!1,this.finishClose=()=>{clearTimeout(this.closeFallbackTimer),this.open||(this.closing=!1,this.panelEl=void 0)},this.handlePanelTransitionEnd=t=>{!this.open&&this.closing&&t.target===this.panelEl&&"transform"===t.propertyName&&this.finishClose()},this.pressStartedInside=!1,this.handleDocumentPointerDownManual=t=>{this.pressStartedInside=t.composedPath().includes(this.el)},this.handleDocumentClickManual=t=>{const i=this.pressStartedInside;this.pressStartedInside=!1,this.open&&this.closeOnClickOutside&&(i||p(this.el)&&(t.composedPath().includes(this.el)||(this.open=!1)))},this.handleDocumentKeydownManual=t=>{this.open&&this.closeOnEscape&&p(this.el)&&"Escape"===t.key&&(t.stopPropagation(),this.open=!1)},this.updatePosition=()=>{if(!this.open||!this.triggerEl||!this.panelEl)return;const t=this.triggerEl.getBoundingClientRect(),i=DOMRect.fromRect({width:this.panelEl.offsetWidth,height:this.panelEl.offsetHeight}),{top:s,left:o,actualPlacement:e}=n(t,i,{placement:this.placement,offset:this.offset,flip:this.flip});let a=s,c=o;if(!this.panelEl.matches(":popover-open")&&(this.offsetAncestorComputed||(this.cachedOffsetAncestor=h(this.panelEl),this.offsetAncestorComputed=!0),this.cachedOffsetAncestor)){const t=this.cachedOffsetAncestor.getBoundingClientRect();a-=t.top,c-=t.left}const r={top:`${a}px`,left:`${c}px`};if(this.matchWidth&&(r.width=`${t.width}px`),this.panelEl){Object.assign(this.panelEl.style,r);const t=`co-popover__panel--${e.split("-")[0]}`;this.panelEl.classList.contains(t)||(this.panelEl.classList.remove(...l),this.panelEl.classList.add(t),this.coPlacement.emit({placement:e})),this.panelEl.classList.add("co-popover__panel--positioned")}},this.scheduleUpdate=()=>{this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.updatePosition)},this.handleTriggerClick=()=>{this.open=!this.open}}componentDidLoad(){this.open&&this.onOpenChange(!0)}disconnectedCallback(){r(this.el),this.unbindDocListeners(),this.cleanupListeners(),clearTimeout(this.closeFallbackTimer),this.closing=!1}onOpenChange(t){var i;t?(this.closing=!1,clearTimeout(this.closeFallbackTimer),r(i=this.el),c.push(i),this.coOpen.emit(),this.bindDocListeners(),this.scheduleUpdate(),requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.updatePosition()}))})),this.addScrollListeners()):(r(this.el),this.coClose.emit(),this.cleanupListeners(),this.unbindDocListeners(),this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.closing=!0,clearTimeout(this.closeFallbackTimer),this.closeFallbackTimer=setTimeout((()=>this.finishClose()),400))}bindDocListeners(){this.docListenersBound||(document.addEventListener("pointerdown",this.handleDocumentPointerDownManual,!0),document.addEventListener("click",this.handleDocumentClickManual,!0),document.addEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!0)}unbindDocListeners(){this.docListenersBound&&(document.removeEventListener("pointerdown",this.handleDocumentPointerDownManual,!0),document.removeEventListener("click",this.handleDocumentClickManual,!0),document.removeEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!1,this.pressStartedInside=!1)}async toggle(){this.open=!this.open}async show(){this.open=!0}async hide(){this.open=!1}promotePanel(){const t=this.panelEl;if(t&&"function"==typeof t.showPopover)try{t.matches(":popover-open")||t.showPopover()}catch(t){}}addScrollListeners(){window.addEventListener("resize",this.scheduleUpdate,{passive:!0}),window.addEventListener("scroll",this.scheduleUpdate,{passive:!0,capture:!0}),this.scrollParents=a(this.el);for(const t of this.scrollParents)t.addEventListener("scroll",this.scheduleUpdate,{passive:!0})}cleanupListeners(){this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0),window.removeEventListener("resize",this.scheduleUpdate),window.removeEventListener("scroll",this.scheduleUpdate,{capture:!0});for(const t of this.scrollParents)t.removeEventListener("scroll",this.scheduleUpdate);this.scrollParents=[]}render(){return e("div",{key:"f4f13f06a95f02735c615e896d367ca671270a68",class:"co-popover"},e("div",{key:"504af8cebb0f83e7f882f09096a5bfba37e2ac56",class:"co-popover__trigger",ref:t=>this.triggerEl=t,onClick:this.handleTriggerClick},e("slot",{key:"d5853c372f2bda3f5c57718b5869ca8919c1dfcc",name:"trigger"})),(this.open||this.closing)&&e("div",{key:"3b9c2aa2feaab08eb5f03d36cc25a464600da7fe",class:{"co-popover__panel":!0,"co-popover__panel--closing":this.closing},popover:"manual",onTransitionEnd:this.handlePanelTransitionEnd,ref:t=>{t&&t!==this.panelEl&&(this.panelEl=t,this.promotePanel(),this.scheduleUpdate())}},e("slot",{key:"81e2b8070b4912bab1654e957890c92244ca83b8"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:inline-block;position:relative}:host([match-width]){display:block;width:100%}.co-popover{display:block;width:100%}.co-popover__trigger{display:block;width:100%;cursor:pointer}.co-popover__panel{position:fixed;inset:auto;top:0;left:0;margin:0;padding:0;width:auto;height:auto;max-width:none;max-height:none;z-index:10000;visibility:hidden;opacity:0;transform:scale(0.97);background:var(--co-semantic-surface-page, #fff);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px rgba(31, 28, 27, 0.08);overflow:visible}.co-popover__panel--positioned{visibility:visible;opacity:1;transform:scale(1);transition:opacity var(--co-motion-duration-base) var(--co-motion-ease-out), transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-popover__panel--closing{visibility:visible;opacity:0;transform:scale(0.99);pointer-events:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), transform var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-popover__panel--bottom{transform-origin:top center}.co-popover__panel--top{transform-origin:bottom center}.co-popover__panel--right{transform-origin:center left}.co-popover__panel--left{transform-origin:center right}"}},[257,"co-popover",{open:[1540],placement:[1],matchWidth:[516,"match-width"],offset:[2],closeOnClickOutside:[4,"close-on-click-outside"],closeOnEscape:[4,"close-on-escape"],flip:[4],closing:[32],toggle:[64],show:[64],hide:[64]},void 0,{open:[{onOpenChange:0}]}]);function m(){"undefined"!=typeof customElements&&["co-popover"].forEach((i=>{"co-popover"===i&&(customElements.get(t(i))||customElements.define(t(i),d))}))}m();export{d as C,m as d}
@@ -0,0 +1 @@
1
+ import{t as o,p as t,H as i,c as r,h as e}from"./index.js";import{h as s}from"./p-Ba_v-MzM.js";import{i as a}from"./p-DqyWGweA.js";import{d as n}from"./p-Dcg4krSX.js";import{d as l}from"./p-DNJAIVfI.js";import{d as c}from"./p-BH184F0X.js";import{d}from"./p-Bsh0JMGf.js";function h(o){let t=o;if("string"==typeof o)try{t=JSON.parse(o)}catch(o){return[]}return Array.isArray(t)?t:[]}function p(o,t,i){const r=[];if(i.forEach(((o,t)=>{o.disabled||r.push(t)})),0===r.length)return-1;const e=r.indexOf(o);return-1===e?1===t?r[0]:r[r.length-1]:r[(e+t+r.length)%r.length]}function v(o,t,i){return t>0?{hasMore:o<t,remaining:Math.max(0,t-o)}:{hasMore:i,remaining:0}}const b=34,f=t(class extends i{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coSearch=r(this,"coSearch",1),this.coChange=r(this,"coChange",1),this.coLoadMore=r(this,"coLoadMore",1),this.coClearSelection=r(this,"coClearSelection",1),this.coRemoveItem=r(this,"coRemoveItem",1),this.coReorder=r(this,"coReorder",1),this.coPinToggle=r(this,"coPinToggle",1),this.coListReorder=r(this,"coListReorder",1),this.items="[]",this.value="",this.selectedItems="[]",this.multiple=!1,this.selectedFirst=!1,this.selectedAffordance="check",this.removableItems=!1,this.reorderable=!1,this.pinnable=!1,this.listReorderable=!1,this.searchable=!1,this.searchPlaceholder="Search…",this.searchDebounce=350,this.initialTerm="",this.loading=!1,this.total=0,this.hasMore=!1,this.emptyMessage="No results found",this.clearOptionLabel="",this.virtual=!1,this.highlightMatches=!1,this.highlightTerm="",this.avatarShape="circle",this.suffixAlign="inline",this.autoHighlight=!1,this.term="",this.activeIndex=-1,this.scrollTop=0,this.armedKey="",this.dragKey="",this.overKey="",this.dropAfter=!1,this.lastFillLen=-1,this.sortSnapshot=new Set,this.displaySnapshot=[],this.previewOrder=[],this.onRootKeyDown=o=>{var t,r;if("Enter"===o.key){const e=(null===(t=o.composedPath)||void 0===t?void 0:t.call(o)[0])||o.target;if(e instanceof i&&(null===(r=e.closest)||void 0===r?void 0:r.call(e,"button:not(.co-option-list__option), co-list-footer")))return}this.processKey(o.key)&&o.preventDefault()},this.onSearchInput=o=>{const t=o.target.value,i=!!this.term&&!t;this.term=t,this.activeIndex=-1,this.lastFillLen=-1,i&&this.takeSnapshot(),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>this.coSearch.emit(t)),this.searchDebounce)},this.onPtrMove=o=>{const t=this.ptrDrag;if(!t)return;if(!t.started){if(Math.abs(o.clientY-t.startY)<3)return;t.started=!0,this.dragKey=t.id,this.previewOrder=t.originOrder,this.el.style.userSelect="none",this.sortSnapshot.has(t.id)||this.applyPreview([...t.originOrder])}o.preventDefault();const i=this.previewOrder.length;t.desiredTop=Math.max(t.blockTop,Math.min(t.blockTop+(i-1)*t.pitch,o.clientY-t.grabDY)),this.positionLifted();const r=this.previewOrder.indexOf(t.id),e=Math.max(0,Math.min(i-1,Math.round((t.desiredTop-t.blockTop)/t.pitch)));if(e!==r&&-1!==r){const o=[...this.previewOrder];o.splice(e,0,o.splice(r,1)[0]),this.applyPreview(o)}},this.onPtrUp=()=>{const o=this.ptrDrag;if(this.removePtrListeners(),this.ptrDrag=void 0,!o||!o.started)return;const t=o=>{o.stopPropagation(),o.preventDefault()};if(window.addEventListener("click",t,!0),setTimeout((()=>window.removeEventListener("click",t,!0)),0),this.settleLifted(o),this.previewOrder.length&&this.previewOrder.join(" ")!==o.originOrder.join(" ")){const t=new Map(this.displaySnapshot.map((o=>[o._id,o])));this.coReorder.emit({value:this.previewOrder,item:t.get(o.id)})}this.previewOrder=[]},this.onPtrKey=o=>{var t;if("Escape"!==o.key||!this.ptrDrag)return;o.stopPropagation(),o.preventDefault();const i=this.ptrDrag;if(this.removePtrListeners(),this.ptrDrag=void 0,i.started){if(this.displaySnapshot!==i.originDisplay){this.pendingFlip={tops:this.captureRowTops(),movedId:i.id,spring:!0};const o=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(`.co-option-list__option[data-id="${CSS.escape(i.id)}"]`);o&&(o.style.transition="none",o.style.transform=""),this.displaySnapshot=i.originDisplay,this.sortSnapshot=i.originSort,this.dragKey="",this.el.style.userSelect=""}else this.settleLifted(i);this.previewOrder=[]}},this.handleRowDragEnd=()=>{this.resetDragState()},this.handleRowDragLeave=(o,t)=>{this.overKey!==t||o.currentTarget.contains(o.relatedTarget)||(this.overKey="")},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.onNativeScroll=o=>{const t=o.target;this.scrollTop=t.scrollTop,this.maybeLoadMore(t.scrollTop,t.clientHeight,t.scrollHeight)}}get parsedItems(){return h(this.items)}get selectedIds(){return function(o){if(!o)return[];try{const t=JSON.parse(o);return Array.isArray(t)?t:[o]}catch(t){return[o]}}(this.value)}get orderedItems(){return this.selectedFirst?function(o,t,i,r){var e;if(0===t.size)return o;const s=new Map(o.map((o=>[o._id,o]))),a=[];if(r)for(const i of o)t.has(i._id)&&a.push(i);else{const o=new Map(i.map((o=>[o._id,o])));for(const i of t){const t=null!==(e=s.get(i))&&void 0!==e?e:o.get(i);t&&a.push(t)}}const n=o.filter((o=>!t.has(o._id)));return[...a,...n]}(this.parsedItems,this.sortSnapshot,this.displaySnapshot,!!this.term):this.parsedItems}get effectiveHighlightTerm(){return this.highlightMatches?this.searchable?this.term:this.highlightTerm:""}componentWillLoad(){this.term=this.initialTerm||"",this.takeSnapshot(),this.autoHighlight&&(this.activeIndex=p(-1,1,this.orderedItems))}componentDidRender(){this.optionsEl&&!this.osInstance&&(this.osInstance=a(this.optionsEl,(o=>{this.scrollTop=o.scrollTop,this.maybeLoadMore(o.scrollTop,o.clientHeight,o.scrollHeight)}))),this.fillViewport(),this.runFlip(),this.positionLifted()}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){var o;this.debounceTimer&&clearTimeout(this.debounceTimer),null===(o=this.osInstance)||void 0===o||o.destroy(),this.osInstance=void 0,window.removeEventListener("mouseup",this.disarmDrag),this.removePtrListeners()}onItemsChange(){this.autoHighlight?this.activeIndex=p(-1,1,this.orderedItems):this.activeIndex>=this.orderedItems.length&&(this.activeIndex=-1);const o=Math.max(0,this.orderedItems.length*b-272);this.scrollTop>this.orderedItems.length*b&&(this.scrollTop=o)}onValueChange(){var o;if(!this.selectedFirst)return;const t=this.activeIndex>=0?null===(o=this.orderedItems[this.activeIndex])||void 0===o?void 0:o._id:void 0;this.pendingFlip={tops:this.captureRowTops(),movedId:"",spring:!1},this.takeSnapshot(),this.activeIndex=t?this.orderedItems.findIndex((o=>o._id===t)):-1}async clearSearch(){this.debounceTimer&&clearTimeout(this.debounceTimer);const o=!!this.term;this.term="",this.activeIndex=-1,this.lastFillLen=-1,this.searchInputEl&&(this.searchInputEl.value=""),o&&this.takeSnapshot(),this.coSearch.emit("")}async snapshotOrder(){this.takeSnapshot()}async focusSearch(){var o,t;for(let i=0;i<20;i++){if(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(t=this.el.shadowRoot)||void 0===t?void 0:t.activeElement)===this.searchInputEl)return;await new Promise((o=>requestAnimationFrame((()=>o()))))}}async scrollToSelected(){var o,t,i,r;const e=function(o,t){const i=new Set(t);return o.findIndex((o=>i.has(o._id)&&!o.disabled))}(this.orderedItems,this.selectedIds);if(-1!==e){this.activeIndex=e;for(let s=0;s<20;s++){const s=null!==(t=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==t?t:this.optionsEl;if(s&&s.clientHeight>0){if(this.virtual){const o=e*b;let t=s.scrollTop;o<t?t=o:o+b>t+s.clientHeight&&(t=o+b-s.clientHeight),this.scrollTop=t,s.scrollTop=t}else null===(r=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.getElementById(`co-optlist-${e}`))||void 0===r||r.scrollIntoView({block:"nearest"});return}await new Promise((o=>requestAnimationFrame((()=>o()))))}}}async handleKey(o){return this.processKey(o.key)}takeSnapshot(){this.sortSnapshot=new Set(this.selectedIds);const o=new Map;for(const t of h(this.selectedItems))o.set(t._id,t);for(const t of this.parsedItems)o.has(t._id)||o.set(t._id,t);this.displaySnapshot=this.selectedIds.map((t=>o.get(t))).filter(Boolean)}processKey(o){const t=this.orderedItems;switch(o){case"ArrowDown":return this.activeIndex=p(this.activeIndex,1,t),this.scrollActiveIntoView(),!0;case"ArrowUp":return this.activeIndex=p(this.activeIndex,-1,t),this.scrollActiveIntoView(),!0;case"Enter":{if(this.loading)return!0;const o=t[this.activeIndex];return!(!o||o.disabled||(this.pick(o),0))}default:return!1}}deselectItem(o){if(this.multiple){const t=this.selectedIds.filter((t=>t!==o._id));this.coChange.emit({value:t,item:o})}else this.coChange.emit({value:null,item:o})}pick(o){if(this.multiple){const t=this.selectedIds,i=t.indexOf(o._id)>=0?t.filter((t=>t!==o._id)):[...t,o._id];this.coChange.emit({value:i,item:o})}else this.coChange.emit({value:o._id,item:o})}get listDragActive(){return this.listReorderable&&!(this.reorderable&&this.selectedFirst)}dragOrderIds(){return this.orderedItems.map((o=>o._id))}handleRowDragStart(o,t){this.armedKey===t?(this.dragKey=t,o.dataTransfer&&(o.dataTransfer.effectAllowed="move",o.dataTransfer.setData("text/plain",t))):o.preventDefault()}handleRowDragOver(o,t){if(!this.dragKey||this.dragKey===t)return;o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="move"),this.overKey=t;const i=this.dragOrderIds();this.dropAfter=i.indexOf(this.dragKey)<i.indexOf(t)}applyPreview(o){this.pendingFlip={tops:this.captureRowTops(),movedId:this.dragKey,spring:!1};const t=new Map(this.orderedItems.map((o=>[o._id,o])));for(const o of this.displaySnapshot)t.has(o._id)||t.set(o._id,o);this.sortSnapshot=new Set(o),this.displaySnapshot=o.map((o=>t.get(o))).filter(Boolean),this.previewOrder=o}startPointerDrag(o,t){var i;if(0!==o.button||this.ptrDrag)return;const r=function(o,t){const i=new Set(t);return o.filter((o=>i.has(o._id))).map((o=>o._id))}(this.orderedItems,this.selectedIds);if(!r.includes(t))return;const e=o.currentTarget.closest(".co-option-list__option");if(!e)return;o.preventDefault(),o.stopPropagation();const s=e.getBoundingClientRect(),a=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.querySelectorAll(".co-option-list__option[data-id]"),n=null==a?void 0:a[0],l=a&&a.length>=2?a[1].getBoundingClientRect().top-a[0].getBoundingClientRect().top:s.height||b,c=n?this.orderedItems.findIndex((o=>o._id===n.dataset.id)):0,d=n?n.getBoundingClientRect().top-Math.max(0,c)*l:s.top;this.ptrDrag={id:t,grabDY:o.clientY-s.top,blockTop:d,pitch:l,originOrder:r,originDisplay:this.displaySnapshot,originSort:this.sortSnapshot,desiredTop:s.top,startY:o.clientY,started:!1},window.addEventListener("pointermove",this.onPtrMove),window.addEventListener("pointerup",this.onPtrUp),window.addEventListener("keydown",this.onPtrKey,!0)}positionLifted(){var o;const t=this.ptrDrag;if(!t||!t.started)return;const i=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelector(`.co-option-list__option[data-id="${CSS.escape(t.id)}"]`);if(!i)return;const r=this.previewOrder.indexOf(t.id);if(-1===r)return;const e=t.blockTop+r*t.pitch;i.style.transition="none",i.style.transform=`translateY(${t.desiredTop-e}px) scale(1.02)`}settleLifted(o){var t;const i=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelector(`.co-option-list__option[data-id="${CSS.escape(o.id)}"]`),r=()=>{this.dragKey="",this.el.style.userSelect=""};i?(i.style.transition="transform var(--co-motion-duration-base) var(--co-motion-ease-spring)",i.style.transform="",i.addEventListener("transitionend",(()=>{i.style.transition="",r()}),{once:!0})):r()}removePtrListeners(){window.removeEventListener("pointermove",this.onPtrMove),window.removeEventListener("pointerup",this.onPtrUp),window.removeEventListener("keydown",this.onPtrKey,!0)}handleRowDrop(o,t){o.preventDefault(),o.stopPropagation();const i=this.dragKey,r=this.dragOrderIds();if(this.resetDragState(),i===t||!r.includes(i)||!r.includes(t))return;const e=new Map(this.orderedItems.map((o=>[o._id,o]))),s=function(o,t,i,r){return r(t)||r(i)?o:function(o,t,i){if(t===i)return o;const r=o.indexOf(t),e=o.indexOf(i);if(-1===r||-1===e)return o;const s=[...o];return s.splice(e,0,s.splice(r,1)[0]),s}(o,t,i)}(r,i,t,(o=>{var t;return!!(null===(t=e.get(o))||void 0===t?void 0:t.pinned)}));s!==r&&this.coListReorder.emit({value:s,item:e.get(i)})}captureRowTops(){var o;const t=new Map;return null===(o=this.el.shadowRoot)||void 0===o||o.querySelectorAll(".co-option-list__option[data-id]").forEach((o=>t.set(o.dataset.id,o.getBoundingClientRect().top))),t}runFlip(){var o,t,i;if(!this.pendingFlip)return;const{tops:r,movedId:e,spring:s}=this.pendingFlip;this.pendingFlip=void 0;const a=Array.from(null!==(t=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".co-option-list__option[data-id]"))&&void 0!==t?t:[]),n=(null===(i=this.ptrDrag)||void 0===i?void 0:i.started)?this.ptrDrag.id:null;for(const o of a)o.dataset.id!==n&&(o.style.transition="none",o.style.transform="");const l=[];for(const o of a){const t=o.dataset.id;if(t===n)continue;const i=r.get(t);if(void 0===i)continue;const a=i-o.getBoundingClientRect().top;a&&l.push({row:o,delta:a,spring:s&&t===e})}for(const{row:o,delta:t}of l)o.style.transform=`translateY(${t}px)`;for(const o of a){if(o.dataset.id===n)continue;const t=l.find((t=>t.row===o));t?(o.style.transition="transform var(--co-motion-duration-base) "+(t.spring?"var(--co-motion-ease-spring)":"var(--co-motion-ease-out)"),o.style.transform="",o.addEventListener("transitionend",(()=>{o.style.transition=""}),{once:!0})):o.style.transition=""}}resetDragState(){this.armedKey="",this.dragKey="",this.overKey="",this.dropAfter=!1}maybeLoadMore(o,t,i){if(this.loading)return;const{hasMore:r}=v(this.parsedItems.length,this.total,this.hasMore);r&&o+t>=i-40&&this.coLoadMore.emit()}fillViewport(){var o,t;const i=this.parsedItems.length;if(this.loading||0===i||i===this.lastFillLen)return;const{hasMore:r}=v(i,this.total,this.hasMore);if(!r)return;const e=null!==(t=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==t?t:this.optionsEl;e&&0!==e.clientHeight&&e.scrollHeight-e.clientHeight<=40&&(this.lastFillLen=i,this.coLoadMore.emit())}scrollActiveIntoView(){requestAnimationFrame((()=>{var o,t;null===(t=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.getElementById(`co-optlist-${this.activeIndex}`))||void 0===t||t.scrollIntoView({block:"nearest"})}))}renderLeading(o){return o.image||o.avatar?e("co-avatar",{class:"co-option-list__avatar",type:o.image?"image":"text",src:o.image,text:o.avatar,color:o.color,size:"xxs",shape:this.avatarShape}):o.color?e("span",{class:"co-option-list__dot",style:{backgroundColor:o.color}}):o.icon?e("co-icon",{name:o.icon,size:16,class:"co-option-list__icon"}):null}renderLabelText(o){const t=this.effectiveHighlightTerm,i=t?s(o,t):null;return i?i.map((o=>o.match?e("span",{class:"co-option-list__match"},o.text):o.text)):o}renderBadge(o){const t=e("span",{class:"co-option-list__badge",style:o.color?{backgroundColor:o.color,color:"var(--co-color-base-blanco, #fff)"}:void 0},o.label);return o.tooltip?e("co-tooltip",{class:"co-option-list__badge-tip",content:o.tooltip},t):t}renderRow(o,t,i){const r=i.includes(o._id),s=!this.listDragActive&&this.reorderable&&this.selectedFirst&&r&&!this.term,a=this.listDragActive&&!o.pinned&&!this.term;return e("div",{class:{"co-option-list__option":!0,"co-option-list__option--selected":r,"co-option-list__option--active":t===this.activeIndex,"co-option-list__option--disabled":!!o.disabled,"co-option-list__option--dragging":this.listDragActive&&this.dragKey===o._id,"co-option-list__option--lifted":!this.listDragActive&&this.dragKey===o._id,"co-option-list__option--drop-before":this.listDragActive&&this.overKey===o._id&&!this.dropAfter,"co-option-list__option--drop-after":this.listDragActive&&this.overKey===o._id&&this.dropAfter},key:o._id,id:`co-optlist-${t}`,"data-id":o._id,role:"option","aria-selected":r?"true":"false","aria-disabled":o.disabled?"true":"false",draggable:a&&this.armedKey===o._id,onClick:()=>!o.disabled&&this.pick(o),onMouseEnter:()=>{this.activeIndex=t},onDragStart:a?t=>this.handleRowDragStart(t,o._id):void 0,onDragOver:a?t=>this.handleRowDragOver(t,o._id):void 0,onDrop:a?t=>this.handleRowDrop(t,o._id):void 0,onDragEnd:a?this.handleRowDragEnd:void 0,onDragLeave:a?t=>this.handleRowDragLeave(t,o._id):void 0},(s||a)&&e("span",{class:"co-option-list__drag-handle",part:"drag-handle",title:"Drag to reorder",onMouseDown:a?()=>this.armedKey=o._id:void 0,onPointerDown:s?t=>this.startPointerDrag(t,o._id):void 0,onClick:o=>o.stopPropagation()},e("co-icon",{name:"dots-six-vertical",size:16})),this.renderLeading(o),e("div",{class:"co-option-list__text"},e("span",{class:"co-option-list__title"},e("span",{class:"co-option-list__label",style:o.labelColor?{color:o.labelColor,fontWeight:"600"}:void 0},this.renderLabelText(o.label)),o.suffix&&"end"!==this.suffixAlign&&e("span",{class:"co-option-list__suffix"},"- ",o.suffix),o.badge&&this.renderBadge(o.badge)),o.description&&e("span",{class:"co-option-list__desc"},o.description)),o.suffix&&"end"===this.suffixAlign&&e("span",{class:"co-option-list__suffix co-option-list__suffix--end"},o.suffix),this.pinnable&&e("button",{class:{"co-option-list__pin":!0,"co-option-list__pin--active":!!o.pinned},type:"button",tabIndex:-1,"aria-label":o.pinned?`Unpin ${o.label}`:`Pin ${o.label}`,"aria-pressed":o.pinned?"true":"false",onClick:t=>{t.stopPropagation(),this.coPinToggle.emit({item:o})}},e("co-icon",{name:"push-pin",size:16,weight:o.pinned?"fill":"regular"})),r&&this.removableItems&&this.multiple&&e("button",{class:"co-option-list__row-action",type:"button",tabIndex:-1,"aria-label":`Remove ${o.label}`,onClick:t=>{t.stopPropagation(),this.coRemoveItem.emit(o._id)}},e("co-icon",{name:"x-circle",size:16,weight:"fill"})),r&&!this.removableItems&&"deselect"===this.selectedAffordance&&e("button",{class:"co-option-list__row-action",type:"button",tabIndex:-1,"aria-label":`Deselect ${o.label}`,onClick:t=>{t.stopPropagation(),this.deselectItem(o)}},e("co-icon",{name:"x-circle",size:16,weight:"fill"})),r&&!this.removableItems&&"check"===this.selectedAffordance&&e("co-icon",{name:"check",size:16,class:"co-option-list__check"}))}renderVirtual(o,t){const{totalHeight:i,startIdx:r,endIdx:s,offsetY:a}=function(o,t){const i=t*b,r=Math.max(0,Math.floor(o/b)-3);return{totalHeight:i,startIdx:r,endIdx:Math.min(t,r+8+6),offsetY:r*b}}(this.scrollTop,o.length);return e("div",{class:"co-option-list__spacer",style:{height:`${i}px`,position:"relative"}},e("div",{style:{position:"absolute",top:`${a}px`,left:"0",right:"0"}},o.slice(r,s).map(((o,i)=>this.renderRow(o,r+i,t)))))}render(){const o=this.orderedItems,t=this.selectedIds,{hasMore:i,remaining:r}=v(this.parsedItems.length,this.total,this.hasMore),s=!!this.clearOptionLabel&&t.length>0;return e("div",{key:"93ec2aeb43a8f03e918eb068f683efdc93ca4db5",class:"co-option-list",onKeyDown:this.onRootKeyDown},this.searchable&&e("div",{key:"617640a5909cbb82f37168f19978be213b0de9e0",class:"co-option-list__search",part:"search"},e("co-icon",{key:"5e4c73aa4cb53d71e37b628936cb699eee656056",name:"magnifying-glass",size:16}),e("input",{key:"f9497413b2b8d72899051ee0d02f34411936ae8c",class:"co-option-list__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.term,onInput:this.onSearchInput,ref:o=>this.searchInputEl=o,role:"combobox","aria-expanded":"true","aria-autocomplete":"list"})),e("div",{key:"06403a47d664e34d9fa0381affdb32b6d3b8eb56",class:"co-option-list__options",part:"options",role:"listbox","aria-multiselectable":this.multiple?"true":"false",ref:o=>this.optionsEl=o,onScroll:this.onNativeScroll},e("div",{key:"aa17f1da0c46d9df52a0e3f1257ebf385c1ba945",class:"co-option-list__inner"},s&&e("button",{key:"e88eb444c5b94ebb800e4385515aa13542b2682f",class:"co-option-list__clear-row",type:"button",onClick:()=>this.coClearSelection.emit()},e("co-icon",{key:"f1e332a87ba9d83fd2a22150939b135766731dc6",name:"x-circle",size:14}),e("span",{key:"26dca00c81dd651982955562fc3747aae88ba536"},this.clearOptionLabel)),this.loading&&0===o.length&&e("div",{key:"147ffc9fefed3524bfdd08ebfa36fb2e89ff4bb1",class:"co-option-list__loading"},e("co-loader",{key:"d4be765a87c8222b5747749fce7787788a4b0aca",size:"sm"})),!this.loading&&0===o.length&&e("div",{key:"f20612fb93140fff5463e2992e9beec1ccb1fda9",class:"co-option-list__empty"},e("co-icon",{key:"aa68b5891aae21c513a069e920ddae0378d0a736",name:"magnifying-glass",size:20}),e("span",{key:"2fa339d51962a1898493ba78febcd90d3dbf9310"},this.emptyMessage)),o.length>0&&this.virtual?this.renderVirtual(o,t):function(o){const t=[];let i,r=0;for(const e of o)e.group&&e.group!==i&&t.push({kind:"header",label:e.group}),i=e.group,t.push({kind:"item",item:e,index:r}),r++;return t}(o).map((o=>"header"===o.kind?e("div",{class:"co-option-list__group",role:"presentation"},o.label):this.renderRow(o.item,o.index,t))),this.loading&&o.length>0&&e("div",{key:"147e9bd6f1456284cd223e067b08979efb2cfe2c",class:"co-option-list__loading-more"},e("co-loader",{key:"6e5b5181d803579ba3370a63849f0462a0685165",size:"sm"})),!this.loading&&i&&r>0&&e("div",{key:"b90b8fce9a427371e3a7de24feb6fce6765dafe1",class:"co-option-list__more"},r," more results"))),e("slot",{key:"33d6641dc16188f572c70528d54553313b4f4afb",name:"footer"}))}get el(){return this}static get watchers(){return{items:[{onItemsChange:0}],value:[{onValueChange:0}]}}static get style(){return".os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:\"<number>\";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:\"<number>\";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:\"\";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif)}.co-option-list{display:flex;flex-direction:column;min-width:0}.co-option-list__search{display:flex;align-items:center;gap:var(--co-spacing-sm, 6px);height:32px;box-sizing:border-box;margin:var(--co-spacing-md, 12px) var(--co-spacing-md, 12px) 0;padding:0 var(--co-spacing-sm2, 8px) 0 var(--co-spacing-xs, 4px);border:1px solid var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));border-radius:var(--co-border-radius-xs, 8px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__search:focus-within{border-color:var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25))}.co-option-list__search co-icon{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:center;opacity:0.7}.co-option-list__search-input{flex:1;min-width:0;border:0;outline:none;background:transparent;padding:0;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);font-size:var(--co-font-size-14, 14px);font-weight:500;letter-spacing:var(--co-font-letter-spacing-body, -0.03em);line-height:1;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__search-input::placeholder{color:var(--co-semantic-text-muted, #888888)}.co-option-list__options{max-height:var(--co-option-list-max-height, 280px);overflow-y:auto;overflow-x:hidden;padding:var(--co-spacing-md, 12px)}.co-option-list__inner{display:flex;flex-direction:column;gap:var(--co-spacing-xxs, 2px);min-width:0}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full, 9999px);--os-handle-bg:var(--co-color-opacity-negro-16, rgba(31, 28, 27, 0.16));--os-handle-bg-hover:var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));--os-handle-bg-active:var(--co-color-opacity-negro-50, rgba(31, 28, 27, 0.5));--os-handle-min-size:24px}.co-option-list__option{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);min-width:0;min-height:var(--co-option-list-item-min-height, 32px);box-sizing:border-box;padding:var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-sm2, 8px) var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-xs, 4px);border-radius:var(--co-border-radius-xs, 8px);cursor:pointer;font-size:var(--co-font-size-14, 14px);letter-spacing:var(--co-font-letter-spacing-body, -0.03em);color:var(--co-semantic-text-default, #1f1c1b);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-option-list__spacer .co-option-list__option{height:32px;margin-bottom:var(--co-spacing-xxs, 2px)}.co-option-list__option--active{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__option--selected{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__option--disabled{opacity:0.5;cursor:not-allowed}.co-option-list__avatar,.co-option-list__icon{flex-shrink:0}.co-option-list__icon{margin:0 var(--co-spacing-xs, 4px)}.co-option-list__dot{flex-shrink:0;width:10px;height:10px;margin:0 7px;border-radius:var(--co-border-radius-full, 9999px)}.co-option-list__text{display:flex;flex-direction:column;gap:var(--co-option-list-text-gap, var(--co-spacing-xxs, 2px));flex:1;min-width:0}.co-option-list__title{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);min-width:0}.co-option-list__label{font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-option-list__suffix{color:var(--co-semantic-text-secondary, #585858);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.co-option-list__suffix--end{flex-shrink:0;margin-left:auto;text-align:right;white-space:nowrap;font-size:var(--co-font-size-13, 13px);color:var(--co-semantic-text-default, #1f1c1b);font-variant-numeric:tabular-nums}.co-option-list__badge{flex-shrink:0;padding:0 var(--co-spacing-xs, 4px);border-radius:var(--co-border-radius-full, 9999px);background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04));color:var(--co-semantic-text-default, #1f1c1b);font-size:var(--co-font-size-10, 10px);font-weight:600;line-height:16px}.co-option-list__badge-tip{display:inline-flex;align-items:center;flex-shrink:0}.co-option-list__desc{font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #888888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-option-list__match{color:var(--co-color-primary-azul, #2563eb);font-weight:700}.co-option-list__check{flex-shrink:0;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__row-action{flex-shrink:0;display:inline-flex;align-items:center;border:0;background:transparent;padding:0;cursor:pointer;color:var(--co-semantic-text-muted, #888888);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-option-list__row-action:hover{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__pin{flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;padding:var(--co-spacing-xxs, 2px);background:transparent;cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__pin:hover{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__pin--active{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__drag-handle{display:inline-flex;align-items:center;cursor:grab;color:var(--co-semantic-text-muted);margin-right:var(--co-spacing-xs);flex:0 0 auto}.co-option-list__drag-handle:active{cursor:grabbing}.co-option-list__drag-handle{touch-action:none}.co-option-list__option--dragging{opacity:0.5}.co-option-list__option--lifted{position:relative;z-index:2;background:var(--co-semantic-surface-page, #fff);box-shadow:var(--co-shadow-lg);cursor:grabbing}.co-option-list__option--drop-before{box-shadow:inset 0 2px 0 0 var(--co-semantic-border-focus)}.co-option-list__option--drop-after{box-shadow:inset 0 -2px 0 0 var(--co-semantic-border-focus)}.co-option-list__group{padding:var(--co-spacing-sm2, 8px) var(--co-spacing-xs, 4px) var(--co-spacing-xs, 4px);font-family:var(--co-font-family-mono, 'Geist Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace);font-size:var(--co-font-size-10, 10px);font-weight:400;text-transform:uppercase;letter-spacing:var(--co-font-letter-spacing-overline, 0.08em);line-height:1.1;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__clear-row{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);width:100%;min-height:32px;box-sizing:border-box;border:0;background:transparent;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm2, 8px);border-radius:var(--co-border-radius-xs, 8px);cursor:pointer;text-align:left;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);font-size:var(--co-font-size-14, 14px);letter-spacing:var(--co-font-letter-spacing-body, -0.03em);color:var(--co-semantic-text-secondary, #585858)}.co-option-list__clear-row:hover{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__loading,.co-option-list__loading-more{display:flex;justify-content:center;padding:var(--co-spacing-sm, 6px)}.co-option-list__empty{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);padding:var(--co-spacing-md, 12px) var(--co-spacing-xs, 4px);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__more{padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 6px);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #888888);text-align:center}.co-option-list__option:focus-visible,.co-option-list__clear-row:focus-visible{outline:2px solid var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25));outline-offset:-2px}"}},[257,"co-option-list",{items:[1],value:[1],selectedItems:[1,"selected-items"],multiple:[4],selectedFirst:[4,"selected-first"],selectedAffordance:[1,"selected-affordance"],removableItems:[4,"removable-items"],reorderable:[4],pinnable:[4],listReorderable:[4,"list-reorderable"],searchable:[516],searchPlaceholder:[1,"search-placeholder"],searchDebounce:[2,"search-debounce"],initialTerm:[1,"initial-term"],loading:[4],total:[2],hasMore:[4,"has-more"],emptyMessage:[1,"empty-message"],clearOptionLabel:[1,"clear-option-label"],virtual:[516],highlightMatches:[4,"highlight-matches"],highlightTerm:[1,"highlight-term"],avatarShape:[1,"avatar-shape"],suffixAlign:[513,"suffix-align"],autoHighlight:[4,"auto-highlight"],term:[32],activeIndex:[32],scrollTop:[32],armedKey:[32],dragKey:[32],overKey:[32],dropAfter:[32],displaySnapshot:[32],clearSearch:[64],snapshotOrder:[64],focusSearch:[64],scrollToSelected:[64],handleKey:[64]},void 0,{items:[{onItemsChange:0}],value:[{onValueChange:0}]}]);function g(){"undefined"!=typeof customElements&&["co-option-list","co-avatar","co-icon","co-loader","co-tooltip"].forEach((t=>{switch(t){case"co-option-list":customElements.get(o(t))||customElements.define(o(t),f);break;case"co-avatar":customElements.get(o(t))||n();break;case"co-icon":customElements.get(o(t))||l();break;case"co-loader":customElements.get(o(t))||c();break;case"co-tooltip":customElements.get(o(t))||d()}}))}g();export{f as C,g as d}
@@ -558,6 +558,25 @@ const CoOptionList = class {
558
558
  }
559
559
  // ── Métodos públicos ───────────────────────────────────────
560
560
  /** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
561
+ /**
562
+ * Vacía el buscador (texto, término y cualquier coSearch en vuelo) y emite
563
+ * `coSearch('')`. Para hosts que reabren el panel (co-popover): el término
564
+ * vive ACÁ, así que sin esto la búsqueda anterior reaparecía con la lista del
565
+ * host ya sin filtrar.
566
+ */
567
+ async clearSearch() {
568
+ if (this.debounceTimer)
569
+ clearTimeout(this.debounceTimer);
570
+ const hadTerm = !!this.term;
571
+ this.term = '';
572
+ this.activeIndex = -1;
573
+ this.lastFillLen = -1;
574
+ if (this.searchInputEl)
575
+ this.searchInputEl.value = '';
576
+ if (hadTerm)
577
+ this.takeSnapshot();
578
+ this.coSearch.emit('');
579
+ }
561
580
  async snapshotOrder() {
562
581
  this.takeSnapshot();
563
582
  }
@@ -989,11 +1008,11 @@ const CoOptionList = class {
989
1008
  const selectedIds = this.selectedIds;
990
1009
  const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
991
1010
  const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
992
- return (h("div", { key: '30f39e9cfe2472f1083768b6e974aa48672e63d0', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: 'f1c125c141ca8ceebae5c1ed0c786919c31805b3', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'd56810ca205984e7b2c56546930ce25ca70fda68', name: "magnifying-glass", size: 16 }), h("input", { key: 'a85b35debe7b14c604a3262c7c04ee3b9ca41a6a', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("div", { key: 'ea5eecc218a228e07dd05d8f963518b4a8e0039f', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: 'b27071cb3d629022fa6e926050fdc17b2051ef98', class: "co-option-list__inner" }, showClear && (h("button", { key: '443791f8ee2d1f05a16c4002573264acf0a8de1b', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: 'ebe7e65669ff9eb76922ef76e21b9209658a444f', name: "x-circle", size: 14 }), h("span", { key: '82d2bcceb41ec5370e60ea9e25af91a2cbf11e70' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '9f60fedc78ee66d198623a5e3ac9b0f1569ddef4', class: "co-option-list__loading" }, h("co-loader", { key: 'ab7b1947e03af880cc608bef8639d7dc882a53b7', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '6b0870e6c5b2c25e2854431a28a2d6b56253ecf2', class: "co-option-list__empty" }, h("co-icon", { key: '302d71e23e0d56104dfd04948201630ddbb4b078', name: "magnifying-glass", size: 20 }), h("span", { key: 'fc580f9a50974ab22a7b648dbbe4ca17340094d8' }, this.emptyMessage))), items.length > 0 && this.virtual
1011
+ return (h("div", { key: '93ec2aeb43a8f03e918eb068f683efdc93ca4db5', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '617640a5909cbb82f37168f19978be213b0de9e0', class: "co-option-list__search", part: "search" }, h("co-icon", { key: '5e4c73aa4cb53d71e37b628936cb699eee656056', name: "magnifying-glass", size: 16 }), h("input", { key: 'f9497413b2b8d72899051ee0d02f34411936ae8c', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("div", { key: '06403a47d664e34d9fa0381affdb32b6d3b8eb56', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: 'aa17f1da0c46d9df52a0e3f1257ebf385c1ba945', class: "co-option-list__inner" }, showClear && (h("button", { key: 'e88eb444c5b94ebb800e4385515aa13542b2682f', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: 'f1e332a87ba9d83fd2a22150939b135766731dc6', name: "x-circle", size: 14 }), h("span", { key: '26dca00c81dd651982955562fc3747aae88ba536' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '147ffc9fefed3524bfdd08ebfa36fb2e89ff4bb1', class: "co-option-list__loading" }, h("co-loader", { key: 'd4be765a87c8222b5747749fce7787788a4b0aca', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: 'f20612fb93140fff5463e2992e9beec1ccb1fda9', class: "co-option-list__empty" }, h("co-icon", { key: 'aa68b5891aae21c513a069e920ddae0378d0a736', name: "magnifying-glass", size: 20 }), h("span", { key: '2fa339d51962a1898493ba78febcd90d3dbf9310' }, this.emptyMessage))), items.length > 0 && this.virtual
993
1012
  ? this.renderVirtual(items, selectedIds)
994
1013
  : buildRows(items).map((row) => row.kind === 'header'
995
1014
  ? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
996
- : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '606a674960e4d16198ef36de4686de91ad742dde', class: "co-option-list__loading-more" }, h("co-loader", { key: '933613b7b606399cd9eea3f877a4b2c77f269785', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '6a6220513b6db222b57155c54afa805519e4b1b8', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '4d952742c39335d9f19c2e45f58ae6be3306857d', name: "footer" })));
1015
+ : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '147e9bd6f1456284cd223e067b08979efb2cfe2c', class: "co-option-list__loading-more" }, h("co-loader", { key: '6e5b5181d803579ba3370a63849f0462a0685165', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: 'b90b8fce9a427371e3a7de24feb6fce6765dafe1', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '33d6641dc16188f572c70528d54553313b4f4afb', name: "footer" })));
997
1016
  }
998
1017
  get el() { return getElement(this); }
999
1018
  static get watchers() { return {
@@ -90,10 +90,21 @@ const CoPopover = class {
90
90
  // phase so we run before any inner-element listeners that might stop
91
91
  // propagation, and bypassing Stencil's @Listen delegation quirks across
92
92
  // nested shadow DOMs.
93
+ // La pulsación en curso EMPEZÓ dentro del popover: seleccionar texto en un
94
+ // input del panel y soltar afuera despacha el `click` al ancestro común (fuera)
95
+ // y cerraba el panel. Ese click no es un "click afuera".
96
+ this.pressStartedInside = false;
97
+ this.handleDocumentPointerDownManual = (e) => {
98
+ this.pressStartedInside = e.composedPath().includes(this.el);
99
+ };
93
100
  this.handleDocumentClickManual = (e) => {
101
+ const startedInside = this.pressStartedInside;
102
+ this.pressStartedInside = false;
94
103
  // Early-exit keeps closed instances silent.
95
104
  if (!this.open || !this.closeOnClickOutside)
96
105
  return;
106
+ if (startedInside)
107
+ return;
97
108
  // Solo el tope de la pila reacciona al click afuera: con popovers
98
109
  // anidados (dropdown dentro de un panel de filtro), el primer click
99
110
  // afuera cierra solo el de más arriba; el padre queda intacto. Nota: si
@@ -261,6 +272,7 @@ const CoPopover = class {
261
272
  bindDocListeners() {
262
273
  if (this.docListenersBound)
263
274
  return;
275
+ document.addEventListener('pointerdown', this.handleDocumentPointerDownManual, true);
264
276
  document.addEventListener('click', this.handleDocumentClickManual, true);
265
277
  document.addEventListener('keydown', this.handleDocumentKeydownManual, true);
266
278
  this.docListenersBound = true;
@@ -268,9 +280,11 @@ const CoPopover = class {
268
280
  unbindDocListeners() {
269
281
  if (!this.docListenersBound)
270
282
  return;
283
+ document.removeEventListener('pointerdown', this.handleDocumentPointerDownManual, true);
271
284
  document.removeEventListener('click', this.handleDocumentClickManual, true);
272
285
  document.removeEventListener('keydown', this.handleDocumentKeydownManual, true);
273
286
  this.docListenersBound = false;
287
+ this.pressStartedInside = false;
274
288
  }
275
289
  // ── Public methods ─────────────────────────────────────────
276
290
  async toggle() {
@@ -338,13 +352,13 @@ const CoPopover = class {
338
352
  }
339
353
  // ── Render ─────────────────────────────────────────────────
340
354
  render() {
341
- return (h("div", { key: 'f8460e212fabe8828f1e33f08304d7e680a7cab0', class: "co-popover" }, h("div", { key: 'c9caad8ae7f16c82173e4b30ad5cc053dc73b6da', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'afa0443ba85607cf24f517e8c7fe0cee689df024', name: "trigger" })), (this.open || this.closing) && (h("div", { key: 'd2a081f8923f53ac456edd6e5eb7422dc5ab7daa', class: { 'co-popover__panel': true, 'co-popover__panel--closing': this.closing }, popover: "manual", onTransitionEnd: this.handlePanelTransitionEnd, ref: (el) => {
355
+ return (h("div", { key: 'f4f13f06a95f02735c615e896d367ca671270a68', class: "co-popover" }, h("div", { key: '504af8cebb0f83e7f882f09096a5bfba37e2ac56', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'd5853c372f2bda3f5c57718b5869ca8919c1dfcc', name: "trigger" })), (this.open || this.closing) && (h("div", { key: '3b9c2aa2feaab08eb5f03d36cc25a464600da7fe', class: { 'co-popover__panel': true, 'co-popover__panel--closing': this.closing }, popover: "manual", onTransitionEnd: this.handlePanelTransitionEnd, ref: (el) => {
342
356
  if (el && el !== this.panelEl) {
343
357
  this.panelEl = el;
344
358
  this.promotePanel();
345
359
  this.scheduleUpdate();
346
360
  }
347
- } }, h("slot", { key: '8466f617bd6b8a497e2040d3275b384156de126c' })))));
361
+ } }, h("slot", { key: '81e2b8070b4912bab1654e957890c92244ca83b8' })))));
348
362
  }
349
363
  get el() { return getElement(this); }
350
364
  static get watchers() { return {