@prolibu-suite/cobalt-core 0.10.2 → 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 (74) hide show
  1. package/custom-elements.json +44 -22
  2. package/dist/cjs/co-chip_2.cjs.entry.js +21 -2
  3. package/dist/cjs/co-number-field.cjs.entry.js +25 -4
  4. package/dist/cjs/co-overlay.cjs.entry.js +34 -3
  5. package/dist/cjs/co-popover.cjs.entry.js +16 -2
  6. package/dist/cjs/cobalt.cjs.js +1 -1
  7. package/dist/cjs/index-MDAnKsze.js +4 -4
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cobalt/cobalt.esm.js +1 -1
  10. package/dist/cobalt/p-07416e31.entry.js +1 -0
  11. package/dist/cobalt/p-1d3a79af.entry.js +1 -0
  12. package/dist/cobalt/p-8e05b979.entry.js +1 -0
  13. package/dist/cobalt/{p-410bee4d.entry.js → p-b0762fd8.entry.js} +1 -1
  14. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  15. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  16. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  17. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  18. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  19. package/dist/collection/components/co-data-table/co-data-table.js +1 -1
  20. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  21. package/dist/collection/components/co-number-field/co-number-field.js +25 -4
  22. package/dist/collection/components/co-option-list/co-option-list.js +39 -3
  23. package/dist/collection/components/co-overlay/backdropDismiss.js +12 -0
  24. package/dist/collection/components/co-overlay/co-overlay.js +22 -3
  25. package/dist/collection/components/co-popover/co-popover.js +17 -3
  26. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  27. package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
  28. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  29. package/dist/collection/components/co-select/co-select.js +1 -1
  30. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  31. package/dist/collection/components/co-toast/co-toast.js +2 -2
  32. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  33. package/dist/components/co-autocomplete.js +1 -1
  34. package/dist/components/co-color-picker.js +1 -1
  35. package/dist/components/co-combobox.js +1 -1
  36. package/dist/components/co-command-search.js +1 -1
  37. package/dist/components/co-date-picker.js +1 -1
  38. package/dist/components/co-date-range-picker.js +1 -1
  39. package/dist/components/co-date-range.js +1 -1
  40. package/dist/components/co-date-time-picker.js +1 -1
  41. package/dist/components/co-drawer.js +1 -1
  42. package/dist/components/co-menu-item.js +1 -1
  43. package/dist/components/co-menu.js +1 -1
  44. package/dist/components/co-modal.js +1 -1
  45. package/dist/components/co-number-field.js +1 -1
  46. package/dist/components/co-option-list.js +1 -1
  47. package/dist/components/co-overlay.js +1 -1
  48. package/dist/components/co-popover.js +1 -1
  49. package/dist/components/co-ref-field.js +1 -1
  50. package/dist/components/co-select.js +1 -1
  51. package/dist/components/{p-DrTRB8Ev.js → p-B56LX2SH.js} +1 -1
  52. package/dist/components/p-BJh68Jqe.js +1 -0
  53. package/dist/components/{p-DRP8D9ro.js → p-D9T7zKeL.js} +1 -1
  54. package/dist/components/p-Dh8ffSjK.js +1 -0
  55. package/dist/components/{p-DxtNejr2.js → p-P4HlMBlL.js} +1 -1
  56. package/dist/esm/co-chip_2.entry.js +21 -2
  57. package/dist/esm/co-number-field.entry.js +25 -4
  58. package/dist/esm/co-overlay.entry.js +34 -3
  59. package/dist/esm/co-popover.entry.js +16 -2
  60. package/dist/esm/cobalt.js +1 -1
  61. package/dist/esm/index-DH5lfRNj.js +4 -4
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/types/components/co-number-field/co-number-field.d.ts +7 -0
  64. package/dist/types/components/co-option-list/co-option-list.d.ts +7 -0
  65. package/dist/types/components/co-overlay/backdropDismiss.d.ts +10 -0
  66. package/dist/types/components/co-overlay/co-overlay.d.ts +4 -0
  67. package/dist/types/components/co-popover/co-popover.d.ts +2 -0
  68. package/dist/types/components.d.ts +4 -3
  69. package/package.json +4 -4
  70. package/dist/cobalt/p-2a30c143.entry.js +0 -1
  71. package/dist/cobalt/p-39dc4ec8.entry.js +0 -1
  72. package/dist/cobalt/p-be34e447.entry.js +0 -1
  73. package/dist/components/p-CBTGN490.js +0 -1
  74. package/dist/components/p-D7Lhxz7L.js +0 -1
@@ -1 +1 @@
1
- import{p as o,H as e,c as r,h as i,t}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{h as c,a,p as n,b as l,i as h}from"./p-BRbgGqLw.js";import{l as d,f as p}from"./p-gKnOhsd2.js";import{d as u}from"./p-DNJAIVfI.js";import{d as b}from"./p-DRP8D9ro.js";const f={en:{swatches:"Color presets",groupNeutrals:"Neutrals",groupBrand:"Brand colors",area:"Saturation and brightness",hue:"Hue",hueValue:"{n} degrees",saturation:"Saturation",satValue:"Saturation {n}%",brightness:"Brightness",briValue:"Brightness {n}%",area2D:"2D slider",hexField:"Hex code",eyedropper:"Pick a color from the screen",copy:"Copy"},es:{swatches:"Colores predefinidos",groupNeutrals:"Neutros",groupBrand:"Colores de marca",area:"Saturación y brillo",hue:"Matiz",hueValue:"{n} grados",saturation:"Saturación",satValue:"Saturación {n} %",brightness:"Brillo",briValue:"Brillo {n} %",area2D:"Control 2D",hexField:"Código hexadecimal",eyedropper:"Elegir un color de la pantalla",copy:"Copiar"},pt:{swatches:"Cores predefinidas",groupNeutrals:"Neutros",groupBrand:"Cores da marca",area:"Saturação e brilho",hue:"Matiz",hueValue:"{n} graus",saturation:"Saturação",satValue:"Saturação {n} %",brightness:"Brilho",briValue:"Brilho {n} %",area2D:"Controle 2D",hexField:"Código hexadecimal",eyedropper:"Escolher uma cor da tela",copy:"Copiar"}},m=o=>{var e;return"string"==typeof o?{key:o,name:o,value:o,synthesizedKey:!0}:null!=o.key?{key:o.key,name:o.name,value:o.value}:{key:null!==(e=o.name)&&void 0!==e?e:o.value,name:o.name,value:o.value,synthesizedKey:!0}},v=[{key:"black",name:"Black",value:"#1F1C1B"},{key:"gray",name:"Gray",value:"#585858"},{key:"silver",name:"Silver",value:"#C4C4C4"},{key:"smoke",name:"Smoke",value:"#E3E3E3"},{key:"bone",name:"Bone",value:"#F7F6F0"},{key:"green",name:"Green",value:"#02A270"},{key:"olive",name:"Olive",value:"#AAB43C"},{key:"yellow",name:"Yellow",value:"#FDBF00"},{key:"orange",name:"Orange",value:"#F0821E"},{key:"red",name:"Red",value:"#EB1E1E"},{key:"pink",name:"Pink",value:"#F32A73"},{key:"burgundy",name:"Burgundy",value:"#811137"},{key:"violet",name:"Violet",value:"#5F4BD7"},{key:"electricBlue",name:"Electric blue",value:"#000AFF"},{key:"blue",name:"Blue",value:"#2563EB"},{key:"lightBlue",name:"Light blue",value:"#00BEE6"},{key:"teal",name:"Teal",value:"#00AFAF"}],g=["black","gray","silver","smoke","bone"],k=v.filter((o=>!g.includes(o.key))).map((o=>o.key)),x=new Set(g),_=new Set(k),y=/^#?[0-9a-f]*$/i,w=Object.freeze({h:0,s:100,v:100}),z=o=>o.reduce(((o,e)=>o.concat(e.items)),[]),C=o(class o extends e{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coInput=r(this,"coInput",7),this.value="",this.placeholder="Select color",this.disabled=!1,this.required=!1,this.status="default",this.layout="vertical",this.size="md",this.presets="",this.locale="en",this.isOpen=!1,this.copied=!1,this.hsv=w,this.hexDraft="",this.hexEditing=!1,this.areaAxis="s",this.emitted="",this.committed="",this.focusedIndex=0,this.areaDragging=!1,this.handlePopoverOpen=()=>{this.isOpen=!0,this.areaDragging=!1,this.resetHexDraft();const o=this.flatPresets.findIndex((o=>o.value.toUpperCase()===(this.value||"").toUpperCase()));this.focusedIndex=o>=0?o:0},this.handlePopoverClose=()=>{this.isOpen=!1,this.finishHexEdit(),this.restoreTriggerFocus()},this.handleTriggerKeyDown=o=>{this.disabled||("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.pointerToHsv=o=>{var e;const r=null===(e=this.areaEl)||void 0===e?void 0:e.getBoundingClientRect();return!!(r&&r.width>0&&r.height>0)&&(this.previewHsv({s:100*Math.min(Math.max((o.clientX-r.left)/r.width,0),1),v:100*(1-Math.min(Math.max((o.clientY-r.top)/r.height,0),1))}),!0)},this.handleAreaPointerDown=o=>{var e,r;this.disabled||0!==o.button||(null===(r=null===(e=this.areaEl)||void 0===e?void 0:e.setPointerCapture)||void 0===r||r.call(e,o.pointerId),this.areaDragging=this.pointerToHsv(o))},this.handleAreaPointerMove=o=>{!this.disabled&&this.areaDragging&&1===o.buttons&&this.pointerToHsv(o)},this.handleAreaPointerCancel=()=>{this.areaDragging=!1},this.handleAreaPointerUp=o=>{this.areaDragging&&0===o.button&&(this.areaDragging=!1,this.disabled||this.commit(c(this.hsv)))},this.handleAreaKeyDown=e=>{if(this.disabled)return;const r=o.AREA_KEYS[e.key];if(!r)return;e.preventDefault();const i=Math.min(100,Math.max(0,this.hsv[r.axis]+r.dir*(e.shiftKey?10:1)));this.focusAxis(r.axis),this.previewHsv({[r.axis]:i}),this.commit(c(this.hsv))},this.handleHueKeyDown=o=>{if(this.disabled||!o.shiftKey)return;const e="ArrowRight"===o.key||"ArrowUp"===o.key?1:"ArrowLeft"===o.key||"ArrowDown"===o.key?-1:0;e&&(o.preventDefault(),this.previewHsv({h:Math.min(360,Math.max(0,this.hsv.h+10*e))}),this.commit(c(this.hsv)))},this.handleGridKeyDown=o=>{var e;if(this.disabled)return;const r=this.presetGroups,i=z(r),t=i.length;if(!t)return;const s=Math.min(Math.max(this.focusedIndex,0),t-1);let c=s;switch(o.key){case"ArrowRight":c=(s+1)%t;break;case"ArrowLeft":c=(s-1+t)%t;break;case"ArrowDown":c=this.verticalNeighbor(r,s,1);break;case"ArrowUp":c=this.verticalNeighbor(r,s,-1);break;case"Home":c=0;break;case"End":c=t-1;break;case"Enter":case" ":return o.preventDefault(),void this.handleSwatchClick(i[s].value);default:return}o.preventDefault(),this.focusedIndex=c,null===(e=this.optionEls()[c])||void 0===e||e.focus()},this.handleHexInput=o=>{var e,r;if(this.disabled)return;const i=o.target,t=this.escapeHex(i.value);if(i.value!==t){const o=null!==(e=i.selectionStart)&&void 0!==e?e:i.value.length,s=Math.min(this.escapeHex(i.value.slice(0,o)).length,t.length);i.value=t,null===(r=i.setSelectionRange)||void 0===r||r.call(i,s,s)}this.hexEditing=!0,this.hexDraft=t,a(t)&&this.previewHex(this.expandHex(t))},this.handleHexBlur=()=>{this.finishHexEdit()},this.handleHexKeyDown=o=>{"Enter"===o.key&&(o.preventDefault(),this.finishHexEdit())},this.handleHexPaste=o=>{var e,r;if(this.disabled)return;const i=(null!==(r=null===(e=o.clipboardData)||void 0===e?void 0:e.getData("text"))&&void 0!==r?r:"").trim(),t=n(i);if(t)return o.preventDefault(),this.hexEditing=!1,this.hexDraft=this.escapeHex(t),void this.commit(t);y.test(i)||o.preventDefault()},this.handleEyeDropper=async()=>{if(this.finishHexEdit(),this.hasEyeDropper)try{const o=window.EyeDropper,{sRGBHex:e}=await(new o).open(),r=n(e);r&&this.commit(r)}catch(o){}}}syncFromValue(o){if(this.syncHexDraft(o),(o||"").toUpperCase()===(this.emitted||"").toUpperCase())return;this.committed=o,this.emitted=o;const e=l(o||"");e&&(this.hsv=e)}componentWillLoad(){const o=l(this.value||"");this.hsv=null!=o?o:w,this.areaAxis="s",this.resetHexDraft(),this.committed=this.value,this.emitted=this.value}previewHsv(o){this.hsv=Object.assign(Object.assign({},this.hsv),o),this.emitPreview(c(this.hsv))}previewHex(o){const e=l(o);e&&(this.hsv=e),this.emitPreview(o)}emitPreview(o){this.emitted=o,this.value=o,this.coInput.emit(o)}commit(o){if(c(this.hsv)!==o){const e=l(o);e&&(this.hsv=e)}this.emitted=o,this.committed=o,this.value=o,this.coChange.emit(o)}get strings(){return function(o){return f[d(o)]}(this.locale)}get parsedPresets(){if(Array.isArray(this.presets))return this.presets.map(m);if("string"==typeof this.presets&&this.presets.trim())try{const o=JSON.parse(this.presets);if(Array.isArray(o))return o.map((o=>m(o)))}catch(o){}return v}get presetGroups(){const o=this.parsedPresets,e=function(o){const e=[],r=[];for(const i of o){if(i.synthesizedKey)return null;if(x.has(i.key))e.push(i);else{if(!_.has(i.key))return null;r.push(i)}}return e.length&&r.length?{neutrals:e,brand:r}:null}(o);return e?[{label:this.strings.groupNeutrals,items:e.neutrals,from:0},{label:this.strings.groupBrand,items:e.brand,from:e.neutrals.length}]:[{label:void 0,items:o,from:0}]}get flatPresets(){return z(this.presetGroups)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}handleSwatchClick(o){this.disabled||(this.commit(o),this.isOpen=!1,this.restoreTriggerFocus())}focusAxis(o){this.areaAxis=o;const e="s"===o?this.satEl:this.valEl;e&&(e.removeAttribute("aria-hidden"),e.focus())}optionEls(){var o,e;return Array.from(null!==(e=null===(o=this.gridEl)||void 0===o?void 0:o.querySelectorAll('[role="option"]'))&&void 0!==e?e:[])}verticalNeighbor(o,e,r){const i=o.findIndex((o=>e>=o.from&&e<o.from+o.items.length));if(i<0)return e;const t=o[i],s=e-t.from,c=s%6,a=Math.ceil(t.items.length/6),n=Math.floor(s/6)+r;if(n>=0&&n<a)return t.from+Math.min(6*n+c,t.items.length-1);const l=o[i+r];return l?l.from+Math.min(6*(1===r?0:(Math.ceil(l.items.length/6)||1)-1)+c,l.items.length-1):e}renderArea(){const{h:o,s:e,v:r}=this.hsv,t="s"===this.areaAxis;return i("div",{class:"co-color-picker__area",role:"group","aria-label":this.strings.area,ref:o=>this.areaEl=o,style:{"--co-color-picker-hue":""+o},onPointerDown:this.handleAreaPointerDown,onPointerMove:this.handleAreaPointerMove,onPointerUp:this.handleAreaPointerUp,onPointerCancel:this.handleAreaPointerCancel},i("span",{class:"co-color-picker__area-thumb",role:"presentation",style:{left:e+"%",top:100-r+"%",background:this.value}}),i("input",{type:"range",min:"0",max:"100",step:"1",class:"co-color-picker__channel","data-channel":"s",value:Math.round(e),ref:o=>this.satEl=o,tabIndex:t?0:-1,"aria-hidden":t?void 0:"true","aria-label":this.strings.saturation,"aria-roledescription":this.strings.area2D,"aria-valuetext":p(this.strings.satValue,{n:Math.round(e)}),"aria-orientation":"horizontal",disabled:this.disabled,onFocus:()=>this.areaAxis="s",onInput:o=>this.previewHsv({s:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleAreaKeyDown}),i("input",{type:"range",min:"0",max:"100",step:"1",class:"co-color-picker__channel","data-channel":"v",value:Math.round(r),ref:o=>this.valEl=o,tabIndex:t?-1:0,"aria-hidden":t?"true":void 0,"aria-label":this.strings.brightness,"aria-roledescription":this.strings.area2D,"aria-valuetext":p(this.strings.briValue,{n:Math.round(r)}),"aria-orientation":"vertical",disabled:this.disabled,onFocus:()=>this.areaAxis="v",onInput:o=>this.previewHsv({v:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleAreaKeyDown}))}renderHue(){return i("input",{type:"range",min:"0",max:"360",step:"1",class:"co-color-picker__hue-input",value:Math.round(this.hsv.h),"aria-label":this.strings.hue,"aria-valuetext":p(this.strings.hueValue,{n:Math.round(this.hsv.h)}),disabled:this.disabled,onInput:o=>this.previewHsv({h:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleHueKeyDown})}renderSwatches(){return i("div",{class:"co-color-picker__grid",role:"listbox","aria-label":this.strings.swatches,ref:o=>this.gridEl=o,onKeyDown:this.handleGridKeyDown},this.presetGroups.map((o=>i("div",{class:"co-color-picker__grid-group",key:o.from,role:o.label?"group":"presentation","aria-label":o.label},o.items.map(((e,r)=>{const t=o.from+r,s=e.value.toUpperCase()===(this.value||"").toUpperCase();return i("div",{key:e.value,role:"option","aria-selected":s?"true":"false","aria-label":e.name,title:e.name,tabIndex:t===this.focusedIndex?0:-1,class:{"co-color-picker__grid-item":!0,"co-color-picker__grid-item--selected":s,"co-color-picker__grid-item--light":h(e.value)},style:{background:e.value},onFocus:()=>this.focusedIndex=t,onClick:()=>this.handleSwatchClick(e.value)},s&&i("co-icon",{name:"check",size:16,weight:"bold",class:"co-color-picker__grid-check"}))}))))))}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning"}[this.status]||null}escapeHex(o){return(o||"").replace(/[^0-9a-f]/gi,"").substring(0,6).toUpperCase()}expandHex(o){const e=o.replace("#","");return"#"+(3===e.length?e[0]+e[0]+e[1]+e[1]+e[2]+e[2]:e).toUpperCase()}resetHexDraft(){this.hexEditing=!1,this.syncHexDraft(this.value)}syncHexDraft(o){this.hexEditing||o&&!a(o)||(this.hexDraft=this.escapeHex(o))}finishHexEdit(){const o=this.hexEditing;if(this.hexEditing=!1,!this.disabled){if(o&&a(this.hexDraft)){const o=this.expandHex(this.hexDraft);return this.commit(o),void this.syncHexDraft(o)}this.revertToCommitted()}}revertToCommitted(){const o=this.committed;this.syncHexDraft(o),o||(this.hsv=w),(this.value||"").toUpperCase()!==(o||"").toUpperCase()&&(this.value=o,this.coInput.emit(o))}get hasEyeDropper(){return"undefined"!=typeof window&&"EyeDropper"in window}renderHexRow(){const o=!!this.value;return i("div",{class:"co-color-picker__hex-row"},i("span",{class:"co-color-picker__hex-prefix"},"#"),i("input",{type:"text",class:"co-color-picker__hex-input",value:this.hexDraft,spellcheck:!1,autocomplete:"off",maxLength:6,"aria-label":this.strings.hexField,disabled:this.disabled,onInput:this.handleHexInput,onBlur:this.handleHexBlur,onKeyDown:this.handleHexKeyDown,onPaste:this.handleHexPaste}),this.hasEyeDropper&&i("button",{type:"button",class:"co-color-picker__eyedropper",title:this.strings.eyedropper,"aria-label":this.strings.eyedropper,disabled:this.disabled,onClick:this.handleEyeDropper},i("co-icon",{name:"eyedropper",size:16})),i("button",{type:"button",class:"co-color-picker__copy-btn "+(this.copied?"co-color-picker__copy-btn--copied":""),title:this.strings.copy,"aria-label":this.strings.copy,disabled:this.disabled||!o,onClick:()=>this.handleCopy()},i("co-icon",{name:this.copied?"check":"copy",size:16})))}async handleCopy(){if(this.value)try{await navigator.clipboard.writeText(this.value),this.copied=!0,setTimeout((()=>{this.copied=!1}),1500)}catch(o){}}render(){const e=!!this.value;return i("div",{key:"5e4239ff9ef0dc3f15004898d2d891f8d231e95d",class:`co-color-picker co-color-picker--${this.size} ${"default"!==this.status?"co-color-picker--"+this.status:""} ${this.isOpen?"co-color-picker--open":""} ${this.disabled?"co-color-picker--disabled":""}`},this.label&&i("label",{key:"003a893c3c840cd03d87c4291795499ac80b8b73",class:"co-color-picker__label"},this.label,i(s,{key:"4c14eaf668b0677b91b23a00f001ffaa4c21f5c5",required:this.required})),i("co-popover",{key:"f4a489f77c2d629ea1d9b69786cfad0f95d5422b",open:this.isOpen,placement:"bottom-start",offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},i("div",{key:"229e0095d6b6a723e77cf0d001d780cf51116851",slot:"trigger",class:"co-color-picker__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"dialog","aria-controls":this.isOpen?o.PANEL_ID:void 0,"aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onKeyDown:this.handleTriggerKeyDown},i("span",{key:"9267f104b7f0542653038ef381fb81a7f7f0188e",class:"co-color-picker__swatch",style:{background:e?this.value:"transparent"}}),i("span",{key:"64efb900a60576022b3f487db56380973d2934c9",class:"co-color-picker__value "+(e?"":"co-color-picker__value--empty")},e?this.value:this.placeholder)),this.isOpen&&i("div",{key:"22abcb6c79531f41a6655fc48320e4c108a33049",class:"co-color-picker__panel",id:o.PANEL_ID,role:"dialog","aria-label":this.label||this.placeholder},this.renderArea(),this.renderHue(),this.renderSwatches(),this.renderHexRow())),this.helperText&&i("div",{key:"901b7094f7da8c09ea25cad568eda8d5fcaf2d6e",class:"co-color-picker__helper"},this.statusIcon&&i("co-icon",{key:"fb341f791466f133f6a6c4bd04a8dd71c519c7c0",name:this.statusIcon,size:14,weight:"fill",class:"co-color-picker__helper-icon"}),i("span",{key:"0ecfc7d46a07c741d42b59660979559fb78117df",class:"co-color-picker__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{value:[{syncFromValue:0}]}}static get style(){return":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}.co-color-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-color-picker--disabled{opacity:0.5;pointer-events:none}.co-color-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);padding:0 var(--co-spacing-xs)}.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)')}.co-color-picker co-popover{display:block;width:100%}.co-color-picker__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-color-picker--s .co-color-picker__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-color-picker--sm .co-color-picker__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-color-picker--lg .co-color-picker__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-color-picker--s .co-color-picker__swatch,.co-color-picker--sm .co-color-picker__swatch{width:18px;height:18px}.co-color-picker__trigger:hover{border-color:var(--co-semantic-border-default)}.co-color-picker--open .co-color-picker__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 15%, transparent)}.co-color-picker__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 15%, transparent)}.co-color-picker--error .co-color-picker__trigger{border-color:var(--co-color-status-error)}.co-color-picker__swatch{width:22px;height:22px;box-sizing:border-box;border-radius:var(--co-border-radius-full);border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-color-picker__value{flex:1;font-size:inherit;font-family:inherit;color:var(--co-semantic-text-default);font-weight:500;text-transform:uppercase}.co-color-picker__value--empty{color:var(--co-semantic-text-muted);font-weight:400}.co-color-picker__panel{padding:var(--co-spacing-md);display:flex;flex-direction:column;gap:var(--co-spacing-md)}.co-color-picker__area{position:relative;height:132px;border-radius:var(--co-border-radius-xxs);cursor:crosshair;touch-action:none;background:linear-gradient(to top, black, transparent), linear-gradient(to right, white, transparent), hsl(var(--co-color-picker-hue, 0) 100% 50%)}.co-color-picker__area-thumb{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:var(--co-border-radius-full);border:2px solid var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default);box-sizing:border-box;pointer-events:none}.co-color-picker__channel{position:absolute;inset:0;opacity:0;pointer-events:none;margin:0}.co-color-picker__area:focus-within{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-color-picker__hue-input{width:100%;height:12px;margin:0;appearance:none;-webkit-appearance:none;border-radius:var(--co-border-radius-full);background:linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%));cursor:pointer}.co-color-picker__hue-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default);cursor:grab}.co-color-picker__hue-input::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default)}.co-color-picker__hue-input:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-color-picker__grid{display:flex;flex-direction:column;gap:var(--co-spacing-md)}.co-color-picker__grid-group{display:grid;grid-template-columns:repeat(6, 32px);gap:var(--co-spacing-sm2)}.co-color-picker__grid-item{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--co-border-radius-xxs);border:2px solid transparent;cursor:pointer;box-sizing:border-box;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), border-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__grid-item:hover{transform:scale(1.1)}.co-color-picker__grid-item--selected{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 25%, transparent)}.co-color-picker__grid-item--light{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default)}.co-color-picker__grid-item--light.co-color-picker__grid-item--selected{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default), 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 25%, transparent)}.co-color-picker__grid-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-color-picker__grid-item--light:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default), 0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-color-picker__grid-check{color:var(--co-semantic-surface-page)}.co-color-picker__grid-item--light .co-color-picker__grid-check{color:var(--co-semantic-text-default)}.co-color-picker__hex-row{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xxs)}.co-color-picker__hex-prefix{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:500}.co-color-picker__hex-row:has(>.co-color-picker__hex-input:focus){border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__hex-input{flex:1;min-width:0;box-sizing:border-box;border:none;background:transparent;padding:0;font-size:var(--co-font-size-14);font-family:var(--co-font-family-mono, monospace);color:var(--co-semantic-text-default);text-transform:uppercase}.co-color-picker__hex-input:focus,.co-color-picker__hex-input:focus-visible{outline:none}.co-color-picker__hex-input:disabled{color:var(--co-semantic-text-muted);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--co-semantic-text-muted)}.co-color-picker__eyedropper{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__eyedropper:hover:not(:disabled){color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-color-picker__eyedropper:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__eyedropper:disabled{cursor:not-allowed;opacity:0.5}.co-color-picker__copy-btn{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__copy-btn:hover:not(:disabled){color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-color-picker__copy-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__copy-btn:disabled{cursor:not-allowed;opacity:0.5}.co-color-picker__copy-btn--copied{color:var(--co-color-status-success)}.co-color-picker__helper{display: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-color-picker__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-color-picker--error .co-color-picker__helper{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-color-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-color-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-color-picker__label{white-space:normal}:host([layout='horizontal']) .co-color-picker>:not(.co-color-picker__label){grid-column:2;min-width:0}"}},[1,"co-color-picker",{value:[1025],label:[1],placeholder:[1],disabled:[4],required:[4],status:[1],helperText:[1,"helper-text"],layout:[513],size:[513],name:[1],presets:[1],locale:[1],isOpen:[32],copied:[32],hsv:[32],hexDraft:[32],areaAxis:[32],focusedIndex:[32]},void 0,{value:[{syncFromValue:0}]}]);function A(){"undefined"!=typeof customElements&&["co-color-picker","co-icon","co-popover"].forEach((o=>{switch(o){case"co-color-picker":customElements.get(t(o))||customElements.define(t(o),C);break;case"co-icon":customElements.get(t(o))||u();break;case"co-popover":customElements.get(t(o))||b()}}))}C.PANEL_ID="co-color-picker-panel",C.AREA_KEYS={ArrowRight:{axis:"s",dir:1},ArrowLeft:{axis:"s",dir:-1},ArrowUp:{axis:"v",dir:1},ArrowDown:{axis:"v",dir:-1}},A();const D=C,B=A;export{D as CoColorPicker,B as defineCustomElement}
1
+ import{p as o,H as e,c as r,h as i,t}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{h as c,a,p as n,b as l,i as h}from"./p-BRbgGqLw.js";import{l as d,f as p}from"./p-gKnOhsd2.js";import{d as u}from"./p-DNJAIVfI.js";import{d as b}from"./p-D9T7zKeL.js";const f={en:{swatches:"Color presets",groupNeutrals:"Neutrals",groupBrand:"Brand colors",area:"Saturation and brightness",hue:"Hue",hueValue:"{n} degrees",saturation:"Saturation",satValue:"Saturation {n}%",brightness:"Brightness",briValue:"Brightness {n}%",area2D:"2D slider",hexField:"Hex code",eyedropper:"Pick a color from the screen",copy:"Copy"},es:{swatches:"Colores predefinidos",groupNeutrals:"Neutros",groupBrand:"Colores de marca",area:"Saturación y brillo",hue:"Matiz",hueValue:"{n} grados",saturation:"Saturación",satValue:"Saturación {n} %",brightness:"Brillo",briValue:"Brillo {n} %",area2D:"Control 2D",hexField:"Código hexadecimal",eyedropper:"Elegir un color de la pantalla",copy:"Copiar"},pt:{swatches:"Cores predefinidas",groupNeutrals:"Neutros",groupBrand:"Cores da marca",area:"Saturação e brilho",hue:"Matiz",hueValue:"{n} graus",saturation:"Saturação",satValue:"Saturação {n} %",brightness:"Brilho",briValue:"Brilho {n} %",area2D:"Controle 2D",hexField:"Código hexadecimal",eyedropper:"Escolher uma cor da tela",copy:"Copiar"}},m=o=>{var e;return"string"==typeof o?{key:o,name:o,value:o,synthesizedKey:!0}:null!=o.key?{key:o.key,name:o.name,value:o.value}:{key:null!==(e=o.name)&&void 0!==e?e:o.value,name:o.name,value:o.value,synthesizedKey:!0}},v=[{key:"black",name:"Black",value:"#1F1C1B"},{key:"gray",name:"Gray",value:"#585858"},{key:"silver",name:"Silver",value:"#C4C4C4"},{key:"smoke",name:"Smoke",value:"#E3E3E3"},{key:"bone",name:"Bone",value:"#F7F6F0"},{key:"green",name:"Green",value:"#02A270"},{key:"olive",name:"Olive",value:"#AAB43C"},{key:"yellow",name:"Yellow",value:"#FDBF00"},{key:"orange",name:"Orange",value:"#F0821E"},{key:"red",name:"Red",value:"#EB1E1E"},{key:"pink",name:"Pink",value:"#F32A73"},{key:"burgundy",name:"Burgundy",value:"#811137"},{key:"violet",name:"Violet",value:"#5F4BD7"},{key:"electricBlue",name:"Electric blue",value:"#000AFF"},{key:"blue",name:"Blue",value:"#2563EB"},{key:"lightBlue",name:"Light blue",value:"#00BEE6"},{key:"teal",name:"Teal",value:"#00AFAF"}],g=["black","gray","silver","smoke","bone"],k=v.filter((o=>!g.includes(o.key))).map((o=>o.key)),x=new Set(g),_=new Set(k),y=/^#?[0-9a-f]*$/i,w=Object.freeze({h:0,s:100,v:100}),z=o=>o.reduce(((o,e)=>o.concat(e.items)),[]),C=o(class o extends e{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=r(this,"coChange",7),this.coInput=r(this,"coInput",7),this.value="",this.placeholder="Select color",this.disabled=!1,this.required=!1,this.status="default",this.layout="vertical",this.size="md",this.presets="",this.locale="en",this.isOpen=!1,this.copied=!1,this.hsv=w,this.hexDraft="",this.hexEditing=!1,this.areaAxis="s",this.emitted="",this.committed="",this.focusedIndex=0,this.areaDragging=!1,this.handlePopoverOpen=()=>{this.isOpen=!0,this.areaDragging=!1,this.resetHexDraft();const o=this.flatPresets.findIndex((o=>o.value.toUpperCase()===(this.value||"").toUpperCase()));this.focusedIndex=o>=0?o:0},this.handlePopoverClose=()=>{this.isOpen=!1,this.finishHexEdit(),this.restoreTriggerFocus()},this.handleTriggerKeyDown=o=>{this.disabled||("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.pointerToHsv=o=>{var e;const r=null===(e=this.areaEl)||void 0===e?void 0:e.getBoundingClientRect();return!!(r&&r.width>0&&r.height>0)&&(this.previewHsv({s:100*Math.min(Math.max((o.clientX-r.left)/r.width,0),1),v:100*(1-Math.min(Math.max((o.clientY-r.top)/r.height,0),1))}),!0)},this.handleAreaPointerDown=o=>{var e,r;this.disabled||0!==o.button||(null===(r=null===(e=this.areaEl)||void 0===e?void 0:e.setPointerCapture)||void 0===r||r.call(e,o.pointerId),this.areaDragging=this.pointerToHsv(o))},this.handleAreaPointerMove=o=>{!this.disabled&&this.areaDragging&&1===o.buttons&&this.pointerToHsv(o)},this.handleAreaPointerCancel=()=>{this.areaDragging=!1},this.handleAreaPointerUp=o=>{this.areaDragging&&0===o.button&&(this.areaDragging=!1,this.disabled||this.commit(c(this.hsv)))},this.handleAreaKeyDown=e=>{if(this.disabled)return;const r=o.AREA_KEYS[e.key];if(!r)return;e.preventDefault();const i=Math.min(100,Math.max(0,this.hsv[r.axis]+r.dir*(e.shiftKey?10:1)));this.focusAxis(r.axis),this.previewHsv({[r.axis]:i}),this.commit(c(this.hsv))},this.handleHueKeyDown=o=>{if(this.disabled||!o.shiftKey)return;const e="ArrowRight"===o.key||"ArrowUp"===o.key?1:"ArrowLeft"===o.key||"ArrowDown"===o.key?-1:0;e&&(o.preventDefault(),this.previewHsv({h:Math.min(360,Math.max(0,this.hsv.h+10*e))}),this.commit(c(this.hsv)))},this.handleGridKeyDown=o=>{var e;if(this.disabled)return;const r=this.presetGroups,i=z(r),t=i.length;if(!t)return;const s=Math.min(Math.max(this.focusedIndex,0),t-1);let c=s;switch(o.key){case"ArrowRight":c=(s+1)%t;break;case"ArrowLeft":c=(s-1+t)%t;break;case"ArrowDown":c=this.verticalNeighbor(r,s,1);break;case"ArrowUp":c=this.verticalNeighbor(r,s,-1);break;case"Home":c=0;break;case"End":c=t-1;break;case"Enter":case" ":return o.preventDefault(),void this.handleSwatchClick(i[s].value);default:return}o.preventDefault(),this.focusedIndex=c,null===(e=this.optionEls()[c])||void 0===e||e.focus()},this.handleHexInput=o=>{var e,r;if(this.disabled)return;const i=o.target,t=this.escapeHex(i.value);if(i.value!==t){const o=null!==(e=i.selectionStart)&&void 0!==e?e:i.value.length,s=Math.min(this.escapeHex(i.value.slice(0,o)).length,t.length);i.value=t,null===(r=i.setSelectionRange)||void 0===r||r.call(i,s,s)}this.hexEditing=!0,this.hexDraft=t,a(t)&&this.previewHex(this.expandHex(t))},this.handleHexBlur=()=>{this.finishHexEdit()},this.handleHexKeyDown=o=>{"Enter"===o.key&&(o.preventDefault(),this.finishHexEdit())},this.handleHexPaste=o=>{var e,r;if(this.disabled)return;const i=(null!==(r=null===(e=o.clipboardData)||void 0===e?void 0:e.getData("text"))&&void 0!==r?r:"").trim(),t=n(i);if(t)return o.preventDefault(),this.hexEditing=!1,this.hexDraft=this.escapeHex(t),void this.commit(t);y.test(i)||o.preventDefault()},this.handleEyeDropper=async()=>{if(this.finishHexEdit(),this.hasEyeDropper)try{const o=window.EyeDropper,{sRGBHex:e}=await(new o).open(),r=n(e);r&&this.commit(r)}catch(o){}}}syncFromValue(o){if(this.syncHexDraft(o),(o||"").toUpperCase()===(this.emitted||"").toUpperCase())return;this.committed=o,this.emitted=o;const e=l(o||"");e&&(this.hsv=e)}componentWillLoad(){const o=l(this.value||"");this.hsv=null!=o?o:w,this.areaAxis="s",this.resetHexDraft(),this.committed=this.value,this.emitted=this.value}previewHsv(o){this.hsv=Object.assign(Object.assign({},this.hsv),o),this.emitPreview(c(this.hsv))}previewHex(o){const e=l(o);e&&(this.hsv=e),this.emitPreview(o)}emitPreview(o){this.emitted=o,this.value=o,this.coInput.emit(o)}commit(o){if(c(this.hsv)!==o){const e=l(o);e&&(this.hsv=e)}this.emitted=o,this.committed=o,this.value=o,this.coChange.emit(o)}get strings(){return function(o){return f[d(o)]}(this.locale)}get parsedPresets(){if(Array.isArray(this.presets))return this.presets.map(m);if("string"==typeof this.presets&&this.presets.trim())try{const o=JSON.parse(this.presets);if(Array.isArray(o))return o.map((o=>m(o)))}catch(o){}return v}get presetGroups(){const o=this.parsedPresets,e=function(o){const e=[],r=[];for(const i of o){if(i.synthesizedKey)return null;if(x.has(i.key))e.push(i);else{if(!_.has(i.key))return null;r.push(i)}}return e.length&&r.length?{neutrals:e,brand:r}:null}(o);return e?[{label:this.strings.groupNeutrals,items:e.neutrals,from:0},{label:this.strings.groupBrand,items:e.brand,from:e.neutrals.length}]:[{label:void 0,items:o,from:0}]}get flatPresets(){return z(this.presetGroups)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}handleSwatchClick(o){this.disabled||(this.commit(o),this.isOpen=!1,this.restoreTriggerFocus())}focusAxis(o){this.areaAxis=o;const e="s"===o?this.satEl:this.valEl;e&&(e.removeAttribute("aria-hidden"),e.focus())}optionEls(){var o,e;return Array.from(null!==(e=null===(o=this.gridEl)||void 0===o?void 0:o.querySelectorAll('[role="option"]'))&&void 0!==e?e:[])}verticalNeighbor(o,e,r){const i=o.findIndex((o=>e>=o.from&&e<o.from+o.items.length));if(i<0)return e;const t=o[i],s=e-t.from,c=s%6,a=Math.ceil(t.items.length/6),n=Math.floor(s/6)+r;if(n>=0&&n<a)return t.from+Math.min(6*n+c,t.items.length-1);const l=o[i+r];return l?l.from+Math.min(6*(1===r?0:(Math.ceil(l.items.length/6)||1)-1)+c,l.items.length-1):e}renderArea(){const{h:o,s:e,v:r}=this.hsv,t="s"===this.areaAxis;return i("div",{class:"co-color-picker__area",role:"group","aria-label":this.strings.area,ref:o=>this.areaEl=o,style:{"--co-color-picker-hue":""+o},onPointerDown:this.handleAreaPointerDown,onPointerMove:this.handleAreaPointerMove,onPointerUp:this.handleAreaPointerUp,onPointerCancel:this.handleAreaPointerCancel},i("span",{class:"co-color-picker__area-thumb",role:"presentation",style:{left:e+"%",top:100-r+"%",background:this.value}}),i("input",{type:"range",min:"0",max:"100",step:"1",class:"co-color-picker__channel","data-channel":"s",value:Math.round(e),ref:o=>this.satEl=o,tabIndex:t?0:-1,"aria-hidden":t?void 0:"true","aria-label":this.strings.saturation,"aria-roledescription":this.strings.area2D,"aria-valuetext":p(this.strings.satValue,{n:Math.round(e)}),"aria-orientation":"horizontal",disabled:this.disabled,onFocus:()=>this.areaAxis="s",onInput:o=>this.previewHsv({s:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleAreaKeyDown}),i("input",{type:"range",min:"0",max:"100",step:"1",class:"co-color-picker__channel","data-channel":"v",value:Math.round(r),ref:o=>this.valEl=o,tabIndex:t?-1:0,"aria-hidden":t?"true":void 0,"aria-label":this.strings.brightness,"aria-roledescription":this.strings.area2D,"aria-valuetext":p(this.strings.briValue,{n:Math.round(r)}),"aria-orientation":"vertical",disabled:this.disabled,onFocus:()=>this.areaAxis="v",onInput:o=>this.previewHsv({v:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleAreaKeyDown}))}renderHue(){return i("input",{type:"range",min:"0",max:"360",step:"1",class:"co-color-picker__hue-input",value:Math.round(this.hsv.h),"aria-label":this.strings.hue,"aria-valuetext":p(this.strings.hueValue,{n:Math.round(this.hsv.h)}),disabled:this.disabled,onInput:o=>this.previewHsv({h:+o.target.value}),onChange:()=>this.commit(c(this.hsv)),onKeyDown:this.handleHueKeyDown})}renderSwatches(){return i("div",{class:"co-color-picker__grid",role:"listbox","aria-label":this.strings.swatches,ref:o=>this.gridEl=o,onKeyDown:this.handleGridKeyDown},this.presetGroups.map((o=>i("div",{class:"co-color-picker__grid-group",key:o.from,role:o.label?"group":"presentation","aria-label":o.label},o.items.map(((e,r)=>{const t=o.from+r,s=e.value.toUpperCase()===(this.value||"").toUpperCase();return i("div",{key:e.value,role:"option","aria-selected":s?"true":"false","aria-label":e.name,title:e.name,tabIndex:t===this.focusedIndex?0:-1,class:{"co-color-picker__grid-item":!0,"co-color-picker__grid-item--selected":s,"co-color-picker__grid-item--light":h(e.value)},style:{background:e.value},onFocus:()=>this.focusedIndex=t,onClick:()=>this.handleSwatchClick(e.value)},s&&i("co-icon",{name:"check",size:16,weight:"bold",class:"co-color-picker__grid-check"}))}))))))}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning"}[this.status]||null}escapeHex(o){return(o||"").replace(/[^0-9a-f]/gi,"").substring(0,6).toUpperCase()}expandHex(o){const e=o.replace("#","");return"#"+(3===e.length?e[0]+e[0]+e[1]+e[1]+e[2]+e[2]:e).toUpperCase()}resetHexDraft(){this.hexEditing=!1,this.syncHexDraft(this.value)}syncHexDraft(o){this.hexEditing||o&&!a(o)||(this.hexDraft=this.escapeHex(o))}finishHexEdit(){const o=this.hexEditing;if(this.hexEditing=!1,!this.disabled){if(o&&a(this.hexDraft)){const o=this.expandHex(this.hexDraft);return this.commit(o),void this.syncHexDraft(o)}this.revertToCommitted()}}revertToCommitted(){const o=this.committed;this.syncHexDraft(o),o||(this.hsv=w),(this.value||"").toUpperCase()!==(o||"").toUpperCase()&&(this.value=o,this.coInput.emit(o))}get hasEyeDropper(){return"undefined"!=typeof window&&"EyeDropper"in window}renderHexRow(){const o=!!this.value;return i("div",{class:"co-color-picker__hex-row"},i("span",{class:"co-color-picker__hex-prefix"},"#"),i("input",{type:"text",class:"co-color-picker__hex-input",value:this.hexDraft,spellcheck:!1,autocomplete:"off",maxLength:6,"aria-label":this.strings.hexField,disabled:this.disabled,onInput:this.handleHexInput,onBlur:this.handleHexBlur,onKeyDown:this.handleHexKeyDown,onPaste:this.handleHexPaste}),this.hasEyeDropper&&i("button",{type:"button",class:"co-color-picker__eyedropper",title:this.strings.eyedropper,"aria-label":this.strings.eyedropper,disabled:this.disabled,onClick:this.handleEyeDropper},i("co-icon",{name:"eyedropper",size:16})),i("button",{type:"button",class:"co-color-picker__copy-btn "+(this.copied?"co-color-picker__copy-btn--copied":""),title:this.strings.copy,"aria-label":this.strings.copy,disabled:this.disabled||!o,onClick:()=>this.handleCopy()},i("co-icon",{name:this.copied?"check":"copy",size:16})))}async handleCopy(){if(this.value)try{await navigator.clipboard.writeText(this.value),this.copied=!0,setTimeout((()=>{this.copied=!1}),1500)}catch(o){}}render(){const e=!!this.value;return i("div",{key:"5e4239ff9ef0dc3f15004898d2d891f8d231e95d",class:`co-color-picker co-color-picker--${this.size} ${"default"!==this.status?"co-color-picker--"+this.status:""} ${this.isOpen?"co-color-picker--open":""} ${this.disabled?"co-color-picker--disabled":""}`},this.label&&i("label",{key:"003a893c3c840cd03d87c4291795499ac80b8b73",class:"co-color-picker__label"},this.label,i(s,{key:"4c14eaf668b0677b91b23a00f001ffaa4c21f5c5",required:this.required})),i("co-popover",{key:"f4a489f77c2d629ea1d9b69786cfad0f95d5422b",open:this.isOpen,placement:"bottom-start",offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},i("div",{key:"229e0095d6b6a723e77cf0d001d780cf51116851",slot:"trigger",class:"co-color-picker__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"dialog","aria-controls":this.isOpen?o.PANEL_ID:void 0,"aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onKeyDown:this.handleTriggerKeyDown},i("span",{key:"9267f104b7f0542653038ef381fb81a7f7f0188e",class:"co-color-picker__swatch",style:{background:e?this.value:"transparent"}}),i("span",{key:"64efb900a60576022b3f487db56380973d2934c9",class:"co-color-picker__value "+(e?"":"co-color-picker__value--empty")},e?this.value:this.placeholder)),this.isOpen&&i("div",{key:"22abcb6c79531f41a6655fc48320e4c108a33049",class:"co-color-picker__panel",id:o.PANEL_ID,role:"dialog","aria-label":this.label||this.placeholder},this.renderArea(),this.renderHue(),this.renderSwatches(),this.renderHexRow())),this.helperText&&i("div",{key:"901b7094f7da8c09ea25cad568eda8d5fcaf2d6e",class:"co-color-picker__helper"},this.statusIcon&&i("co-icon",{key:"fb341f791466f133f6a6c4bd04a8dd71c519c7c0",name:this.statusIcon,size:14,weight:"fill",class:"co-color-picker__helper-icon"}),i("span",{key:"0ecfc7d46a07c741d42b59660979559fb78117df",class:"co-color-picker__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{value:[{syncFromValue:0}]}}static get style(){return":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}.co-color-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-color-picker--disabled{opacity:0.5;pointer-events:none}.co-color-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);padding:0 var(--co-spacing-xs)}.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)')}.co-color-picker co-popover{display:block;width:100%}.co-color-picker__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-color-picker--s .co-color-picker__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-color-picker--sm .co-color-picker__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-color-picker--lg .co-color-picker__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-color-picker--s .co-color-picker__swatch,.co-color-picker--sm .co-color-picker__swatch{width:18px;height:18px}.co-color-picker__trigger:hover{border-color:var(--co-semantic-border-default)}.co-color-picker--open .co-color-picker__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 15%, transparent)}.co-color-picker__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 15%, transparent)}.co-color-picker--error .co-color-picker__trigger{border-color:var(--co-color-status-error)}.co-color-picker__swatch{width:22px;height:22px;box-sizing:border-box;border-radius:var(--co-border-radius-full);border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-color-picker__value{flex:1;font-size:inherit;font-family:inherit;color:var(--co-semantic-text-default);font-weight:500;text-transform:uppercase}.co-color-picker__value--empty{color:var(--co-semantic-text-muted);font-weight:400}.co-color-picker__panel{padding:var(--co-spacing-md);display:flex;flex-direction:column;gap:var(--co-spacing-md)}.co-color-picker__area{position:relative;height:132px;border-radius:var(--co-border-radius-xxs);cursor:crosshair;touch-action:none;background:linear-gradient(to top, black, transparent), linear-gradient(to right, white, transparent), hsl(var(--co-color-picker-hue, 0) 100% 50%)}.co-color-picker__area-thumb{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:var(--co-border-radius-full);border:2px solid var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default);box-sizing:border-box;pointer-events:none}.co-color-picker__channel{position:absolute;inset:0;opacity:0;pointer-events:none;margin:0}.co-color-picker__area:focus-within{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-color-picker__hue-input{width:100%;height:12px;margin:0;appearance:none;-webkit-appearance:none;border-radius:var(--co-border-radius-full);background:linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%));cursor:pointer}.co-color-picker__hue-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default);cursor:grab}.co-color-picker__hue-input::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-page);box-shadow:0 0 0 1px var(--co-semantic-border-default)}.co-color-picker__hue-input:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-color-picker__grid{display:flex;flex-direction:column;gap:var(--co-spacing-md)}.co-color-picker__grid-group{display:grid;grid-template-columns:repeat(6, 32px);gap:var(--co-spacing-sm2)}.co-color-picker__grid-item{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--co-border-radius-xxs);border:2px solid transparent;cursor:pointer;box-sizing:border-box;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), border-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__grid-item:hover{transform:scale(1.1)}.co-color-picker__grid-item--selected{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 25%, transparent)}.co-color-picker__grid-item--light{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default)}.co-color-picker__grid-item--light.co-color-picker__grid-item--selected{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default), 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-focus) 25%, transparent)}.co-color-picker__grid-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-color-picker__grid-item--light:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-default), 0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-color-picker__grid-check{color:var(--co-semantic-surface-page)}.co-color-picker__grid-item--light .co-color-picker__grid-check{color:var(--co-semantic-text-default)}.co-color-picker__hex-row{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xxs)}.co-color-picker__hex-prefix{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:500}.co-color-picker__hex-row:has(>.co-color-picker__hex-input:focus){border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__hex-input{flex:1;min-width:0;box-sizing:border-box;border:none;background:transparent;padding:0;font-size:var(--co-font-size-14);font-family:var(--co-font-family-mono, monospace);color:var(--co-semantic-text-default);text-transform:uppercase}.co-color-picker__hex-input:focus,.co-color-picker__hex-input:focus-visible{outline:none}.co-color-picker__hex-input:disabled{color:var(--co-semantic-text-muted);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--co-semantic-text-muted)}.co-color-picker__eyedropper{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__eyedropper:hover:not(:disabled){color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-color-picker__eyedropper:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__eyedropper:disabled{cursor:not-allowed;opacity:0.5}.co-color-picker__copy-btn{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-color-picker__copy-btn:hover:not(:disabled){color:var(--co-semantic-text-default);background:var(--co-semantic-surface-hover)}.co-color-picker__copy-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-color-picker__copy-btn:disabled{cursor:not-allowed;opacity:0.5}.co-color-picker__copy-btn--copied{color:var(--co-color-status-success)}.co-color-picker__helper{display: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-color-picker__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-color-picker--error .co-color-picker__helper{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-color-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-color-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-color-picker__label{white-space:normal}:host([layout='horizontal']) .co-color-picker>:not(.co-color-picker__label){grid-column:2;min-width:0}"}},[1,"co-color-picker",{value:[1025],label:[1],placeholder:[1],disabled:[4],required:[4],status:[1],helperText:[1,"helper-text"],layout:[513],size:[513],name:[1],presets:[1],locale:[1],isOpen:[32],copied:[32],hsv:[32],hexDraft:[32],areaAxis:[32],focusedIndex:[32]},void 0,{value:[{syncFromValue:0}]}]);function A(){"undefined"!=typeof customElements&&["co-color-picker","co-icon","co-popover"].forEach((o=>{switch(o){case"co-color-picker":customElements.get(t(o))||customElements.define(t(o),C);break;case"co-icon":customElements.get(t(o))||u();break;case"co-popover":customElements.get(t(o))||b()}}))}C.PANEL_ID="co-color-picker-panel",C.AREA_KEYS={ArrowRight:{axis:"s",dir:1},ArrowLeft:{axis:"s",dir:-1},ArrowUp:{axis:"v",dir:1},ArrowDown:{axis:"v",dir:-1}},A();const B=C,D=A;export{B as CoColorPicker,D as defineCustomElement}
@@ -1 +1 @@
1
- import{p as o,H as e,c as t,h as c,t as i}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{r as a}from"./p-Ba_v-MzM.js";import{d as r}from"./p-Dcg4krSX.js";import{d as n}from"./p-Du_CgT5E.js";import{d as l}from"./p-DNJAIVfI.js";import{d as h}from"./p-CT2enQ6h.js";import{d as b}from"./p-BH184F0X.js";import{d}from"./p-D7Lhxz7L.js";import{d as m}from"./p-DRP8D9ro.js";import{d as p}from"./p-Bsh0JMGf.js";const f=o(class o extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?a(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let c=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)c++;c!==this.overflowCount&&(this.overflowCount=c)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return c("div",{key:"37a1a6c5d14a61e45a522024b1aecf9ef3421cb5",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,["co-combobox--"+this.size]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&c("div",{key:"4db14a62bbdbd01088df7279939cce69eb30f9a3",class:"co-combobox__labels"},this.label&&c("label",{key:"294744758ea6e99f1c68c3b612269aa5fb38e838",class:"co-combobox__label",part:"label"},this.label,c(s,{key:"17c9fd9fe7cac0abd1f6b8bee4f31a9e536758fb",required:this.required})),this.secondaryLabel&&c("span",{key:"457e35ca2dd250a7ecd5c36980ced045fb46f319",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),c("co-popover",{key:"54fdc55762dcf268d1522c345968d39f26fc768e",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},c("div",{key:"0bb104f5e51e7ea5b36d7325e178c7c7eadde05c",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?o.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&c("co-icon",{key:"ebdfa267be7257aaa2b187fc867cb5d334d91319",name:this.iconLeft,size:16,class:"co-combobox__icon"}),c("div",{key:"77671cfffe0d593242c776316292dec69af64ed6",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>c("co-chip",{size:"small","icon-mode":"both",label:o.label},c("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),c("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):c("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&c("span",{key:"c230748247efc705f21f299254c24b717d7f5af7",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&c("button",{key:"b8acd2eeeb17ec672912886e7dfa67abd1026927",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},c("co-icon",{key:"d21e7dec49db82e5514a1562b60596d51ee69094",name:"x-circle",size:16,weight:"fill"})),c("co-icon",{key:"51becab683f82d56d93599e701025a640822127c",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),c("div",{key:"8d21ea81c9c5ca9500359f7cedadf12328e4c5eb",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&c("co-option-list",{key:"066a18d85a356c238ff9ced3721c1d3280bce4c8",id:o.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&c("co-list-footer",{key:"11d5f3fd067ac246e2068bc33a7ef938efef8829",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&c("div",{key:"aea733779599bf85e1060062b9664821bcd1f003",class:"co-combobox__helper co-combobox__helper--"+this.status,part:"helper"},this.statusIcon&&c("co-icon",{key:"629698daf7e0005c8849062777daf8b329fe969c",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),c("span",{key:"d91bd4fdadedb2eebbe4a2a3c5d033978cb8db76",class:"co-combobox__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}static get style(){return":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-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__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);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__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-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content: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-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{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-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__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-combobox",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],searchable:[4],searchPlaceholder:[1,"search-placeholder"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],options:[1],emptyMessage:[1,"empty-message"],value:[1025],multiple:[4],size:[513],helperText:[1,"helper-text"],status:[1],layout:[513],isOpen:[32],searchQuery:[32],overflowCount:[32]},void 0,{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}]);function x(){"undefined"!=typeof customElements&&["co-combobox","co-avatar","co-chip","co-icon","co-list-footer","co-loader","co-option-list","co-popover","co-tooltip"].forEach((o=>{switch(o){case"co-combobox":customElements.get(i(o))||customElements.define(i(o),f);break;case"co-avatar":customElements.get(i(o))||r();break;case"co-chip":customElements.get(i(o))||n();break;case"co-icon":customElements.get(i(o))||l();break;case"co-list-footer":customElements.get(i(o))||h();break;case"co-loader":customElements.get(i(o))||b();break;case"co-option-list":customElements.get(i(o))||d();break;case"co-popover":customElements.get(i(o))||m();break;case"co-tooltip":customElements.get(i(o))||p()}}))}f.LIST_ID="co-combobox-list",x();const g=f,u=x;export{g as CoCombobox,u as defineCustomElement}
1
+ import{p as o,H as e,c as t,h as c,t as i}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{r as a}from"./p-Ba_v-MzM.js";import{d as r}from"./p-Dcg4krSX.js";import{d as n}from"./p-Du_CgT5E.js";import{d as l}from"./p-DNJAIVfI.js";import{d as h}from"./p-CT2enQ6h.js";import{d as b}from"./p-BH184F0X.js";import{d}from"./p-Dh8ffSjK.js";import{d as m}from"./p-D9T7zKeL.js";import{d as p}from"./p-Bsh0JMGf.js";const f=o(class o extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?a(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let c=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)c++;c!==this.overflowCount&&(this.overflowCount=c)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return c("div",{key:"37a1a6c5d14a61e45a522024b1aecf9ef3421cb5",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,["co-combobox--"+this.size]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&c("div",{key:"4db14a62bbdbd01088df7279939cce69eb30f9a3",class:"co-combobox__labels"},this.label&&c("label",{key:"294744758ea6e99f1c68c3b612269aa5fb38e838",class:"co-combobox__label",part:"label"},this.label,c(s,{key:"17c9fd9fe7cac0abd1f6b8bee4f31a9e536758fb",required:this.required})),this.secondaryLabel&&c("span",{key:"457e35ca2dd250a7ecd5c36980ced045fb46f319",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),c("co-popover",{key:"54fdc55762dcf268d1522c345968d39f26fc768e",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},c("div",{key:"0bb104f5e51e7ea5b36d7325e178c7c7eadde05c",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?o.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&c("co-icon",{key:"ebdfa267be7257aaa2b187fc867cb5d334d91319",name:this.iconLeft,size:16,class:"co-combobox__icon"}),c("div",{key:"77671cfffe0d593242c776316292dec69af64ed6",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>c("co-chip",{size:"small","icon-mode":"both",label:o.label},c("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),c("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):c("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&c("span",{key:"c230748247efc705f21f299254c24b717d7f5af7",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&c("button",{key:"b8acd2eeeb17ec672912886e7dfa67abd1026927",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},c("co-icon",{key:"d21e7dec49db82e5514a1562b60596d51ee69094",name:"x-circle",size:16,weight:"fill"})),c("co-icon",{key:"51becab683f82d56d93599e701025a640822127c",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),c("div",{key:"8d21ea81c9c5ca9500359f7cedadf12328e4c5eb",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&c("co-option-list",{key:"066a18d85a356c238ff9ced3721c1d3280bce4c8",id:o.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&c("co-list-footer",{key:"11d5f3fd067ac246e2068bc33a7ef938efef8829",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&c("div",{key:"aea733779599bf85e1060062b9664821bcd1f003",class:"co-combobox__helper co-combobox__helper--"+this.status,part:"helper"},this.statusIcon&&c("co-icon",{key:"629698daf7e0005c8849062777daf8b329fe969c",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),c("span",{key:"d91bd4fdadedb2eebbe4a2a3c5d033978cb8db76",class:"co-combobox__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}static get style(){return":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-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__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);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__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-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content: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-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{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-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__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-combobox",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],searchable:[4],searchPlaceholder:[1,"search-placeholder"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],options:[1],emptyMessage:[1,"empty-message"],value:[1025],multiple:[4],size:[513],helperText:[1,"helper-text"],status:[1],layout:[513],isOpen:[32],searchQuery:[32],overflowCount:[32]},void 0,{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}]);function x(){"undefined"!=typeof customElements&&["co-combobox","co-avatar","co-chip","co-icon","co-list-footer","co-loader","co-option-list","co-popover","co-tooltip"].forEach((o=>{switch(o){case"co-combobox":customElements.get(i(o))||customElements.define(i(o),f);break;case"co-avatar":customElements.get(i(o))||r();break;case"co-chip":customElements.get(i(o))||n();break;case"co-icon":customElements.get(i(o))||l();break;case"co-list-footer":customElements.get(i(o))||h();break;case"co-loader":customElements.get(i(o))||b();break;case"co-option-list":customElements.get(i(o))||d();break;case"co-popover":customElements.get(i(o))||m();break;case"co-tooltip":customElements.get(i(o))||p()}}))}f.LIST_ID="co-combobox-list",x();const g=f,u=x;export{g as CoCombobox,u as defineCustomElement}
@@ -1 +1 @@
1
- import{t as a,p as e,H as o,c as t,h as c}from"./index.js";import{r as s}from"./p-Ba_v-MzM.js";import{d as r}from"./p-Dcg4krSX.js";import{d as i}from"./p-Du_CgT5E.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as h}from"./p-D7Lhxz7L.js";import{d as l}from"./p-CBTGN490.js";import{d as m}from"./p-Bsh0JMGf.js";const p=e(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coSelect=t(this,"coSelect",7),this.coClose=t(this,"coClose",7),this.coSearch=t(this,"coSearch",7),this.coScopeChange=t(this,"coScopeChange",1),this.coBackspaceEmpty=t(this,"coBackspaceEmpty",1),this.coChipRemove=t(this,"coChipRemove",1),this.coTabSelect=t(this,"coTabSelect",1),this.coMoreTabs=t(this,"coMoreTabs",1),this.open=!1,this.placeholder="Search...",this.items=[],this.emptyMessage="No results found",this.async=!1,this.loading=!1,this.chips="[]",this.tabs="[]",this.activeTab="",this.hasMore=!1,this.moreLabel="More",this.favorites="[]",this.query="",this.handleInput=a=>{this.query=a.target.value,this.coSearch.emit(this.query)},this.handleKeyDown=a=>{var e,o;if(function(a,e){return"Backspace"===a&&""===e}(a.key,this.query))return a.preventDefault(),void this.coBackspaceEmpty.emit(this.query);switch(a.key){case"ArrowDown":case"ArrowUp":case"Enter":a.preventDefault(),null===(e=this.optionListEl)||void 0===e||e.handleKey(a);break;case"Escape":a.preventDefault(),this.close();break;case"Tab":a.preventDefault(),null===(o=this.optionListEl)||void 0===o||o.handleKey(new KeyboardEvent("keydown",{key:a.shiftKey?"ArrowUp":"ArrowDown"}))}},this.handleListPick=a=>{const e=this.filteredItems.find((e=>e.value===a));e&&this.selectItem(e)},this.handlePanelKeyDown=a=>{"Escape"===a.key&&(a.preventDefault(),this.close())},this.handleOverlayClick=()=>{this.close()},this.handlePanelClick=a=>{a.stopPropagation()},this.handleTriggerClick=()=>{this.open=!0}}get parsedItems(){if("string"==typeof this.items)try{return JSON.parse(this.items)}catch(a){return[]}return this.items}get filteredItems(){return function(a,e,o){return o?a:e?s(a,e,(a=>[a.label,a.value])):a}(this.parsedItems,this.query,this.async)}get parsedChips(){try{const a="string"==typeof this.chips?JSON.parse(this.chips):this.chips;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedTabs(){try{const a="string"==typeof this.tabs?JSON.parse(this.tabs):this.tabs;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedFavorites(){try{const a="string"==typeof this.favorites?JSON.parse(this.favorites):this.favorites;return Array.isArray(a)?a:[]}catch(a){return[]}}onActiveTabChange(a){a&&(this.query=""),requestAnimationFrame((()=>{var a;const e=null===(a=this.el.shadowRoot)||void 0===a?void 0:a.querySelector('.co-command-search__tab[aria-selected="true"]');null==e||e.scrollIntoView({inline:"nearest",block:"nearest"})}))}onOpenChange(a){a&&(this.query="",requestAnimationFrame((()=>{var a;return null===(a=this.inputEl)||void 0===a?void 0:a.focus()})))}selectItem(a){!function(a){return!0===a.keepOpen}(a)?(this.coSelect.emit(a.value),this.close()):this.coScopeChange.emit(a.value)}close(){this.open&&(this.open=!1,this.coClose.emit())}render(){const a=this.filteredItems;return[c("div",{key:"2fa819f611d5e106367baecd8d0d468ef538abb9",class:"co-command-search__trigger",onClick:this.handleTriggerClick},c("slot",{key:"ee17e409b1253cc447d9813a458c3b123597caa1",name:"trigger"})),c("co-overlay",{key:"57f2be7cc61b9c73d20af7cabe44f27f52da130b",open:this.open,onCoClose:this.handleOverlayClick},c("div",{key:"8e582bca997ca0b0ed0b77a26a2f5bce17540159",class:{"co-command-search":!0,"co-command-search--open":this.open},part:"panel",role:"dialog","aria-modal":"true","aria-label":"Command palette",onClick:this.handlePanelClick,onKeyDown:this.handlePanelKeyDown},c("div",{key:"6252fab9df91285b063186c0814a678c2f91aec9",class:"co-command-search__input-row",part:"input-row"},c("co-icon",{key:"4ce68141969cd823f3b6d1e286dcd62609244587",name:"magnifying-glass",size:20}),this.parsedChips.map(((a,e)=>c("span",{class:"co-command-search__facet-chip"},a.icon&&c("co-icon",{name:a.icon,size:12}),c("span",{class:"co-command-search__facet-chip-label"},a.label),c("button",{class:"co-command-search__facet-chip-remove",type:"button","aria-label":"Remove filter "+a.label,onClick:a=>{a.stopPropagation(),this.coChipRemove.emit(e)}},c("co-icon",{name:"x",size:10,weight:"bold"}))))),c("input",{key:"565abed1c59c32ce3336e110cd9da6afadb693b5",class:"co-command-search__input",type:"text",placeholder:this.placeholder,value:this.query,onInput:this.handleInput,onKeyDown:this.handleKeyDown,ref:a=>this.inputEl=a,part:"input",role:"combobox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list"}),this.loading&&c("co-loader",{key:"f84db9e0b3f9c53d8eae6ab6edb790f189b3e49d",class:"co-command-search__loading",part:"loading",size:"sm"}),c("span",{key:"7f9e3b653c9d52d0438fafbb645506f3a7aa7f2c",class:"co-command-search__shortcut"},"ESC")),(this.parsedTabs.length>0||this.hasMore)&&c("div",{key:"fd734ad98b004d5e08f601631d6e2c547ef70dca",class:"co-command-search__tabs",part:"tabs",role:"tablist"},this.parsedTabs.map((a=>{const e=a.value===this.activeTab;return c("co-chip",{class:"co-command-search__tab",role:"tab","aria-selected":e?"true":"false",clickable:!0,selected:e,variant:e?"filled":"outlined",color:e?"primary":"default",iconLeft:a.icon,label:a.label,onCoClick:()=>this.coTabSelect.emit(e?"":a.value)})})),this.hasMore&&c("co-chip",{key:"f5812a94f9f24df93b34abd9588e43b354d6c5e8",class:"co-command-search__tab co-command-search__tab--more",clickable:!0,variant:"outlined",label:this.moreLabel,iconRight:"caret-down",onCoClick:()=>this.coMoreTabs.emit()})),c("div",{key:"b21f950593d51ecb05ffa7f752cd3b8eebf0ef08",class:"co-command-search__results",part:"results"},this.parsedFavorites.length>0&&!this.query&&c("div",{key:"054210475307154dbd369a6468e5bd38a88534a2",class:"co-command-search__fav",part:"favorites"},c("div",{key:"4cc849cf107af9b94cb9715a7d054f6567e75345",class:"co-command-search__fav-grid"},this.parsedFavorites.map((a=>c("button",{class:"co-command-search__fav-card",type:"button",onClick:()=>this.coSelect.emit(a.value)},c("span",{class:"co-command-search__fav-icon",style:{background:a.color||"var(--co-semantic-surface-muted)"}},c("co-icon",{name:a.icon||"circle",size:26,weight:"fill"})),c("span",{class:"co-command-search__fav-label"},a.label)))))),c("co-option-list",{key:"b48e7eb20f3591e8539211343908fa84ca1ebd1f",ref:a=>this.optionListEl=a,items:JSON.stringify(a.map((a=>({_id:a.value,label:a.label,icon:a.icon,description:a.subtitle,group:a.section,disabled:a.disabled})))),autoHighlight:!0,highlightMatches:!0,highlightTerm:this.query,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:a=>this.handleListPick(a.detail.item._id)}))))]}get el(){return this}static get watchers(){return{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}co-overlay{--co-overlay-bg:rgba(0, 0, 0, 0.16)}.co-command-search__trigger{display:contents}.co-command-search{display:flex;flex-direction:column;width:90vw;max-width:560px;max-height:420px;background:var(--co-semantic-surface-page);border-radius:var(--co-border-radius-lg);box-shadow:0 8px 32px rgba(0, 0, 0, 0.12);overflow:hidden;font-family:var(--co-font-family-primary);transform:translateY(8px) scale(0.98);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);margin-top:-15vh}.co-command-search--open{transform:translateY(0) scale(1);opacity:1}.co-command-search__input-row{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md) var(--co-spacing-lg);border-bottom:1px solid var(--co-semantic-border-default);color:var(--co-semantic-text-muted)}.co-command-search__input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-16);font-family:var(--co-font-family-primary);color:var(--co-semantic-text-default);min-width:0}.co-command-search__input::placeholder{color:var(--co-semantic-text-muted)}.co-command-search__shortcut{font-size:var(--co-font-size-10);color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:2px var(--co-spacing-xs);border-radius:var(--co-border-radius-xxs);font-weight:500;line-height:1.4;flex-shrink:0}.co-command-search__results{flex:1;overflow-y:auto;padding:var(--co-spacing-xs) 0}.co-command-search__loading{flex-shrink:0;display:flex;align-items:center}.co-command-search__facet-chip{display:inline-flex;align-items:center;gap:2px;padding:2px var(--co-spacing-xs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:500;white-space:nowrap;flex-shrink:0}.co-command-search__facet-chip-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}.co-command-search__facet-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:var(--co-border-radius-full);background:rgba(255, 255, 255, 0.25);color:inherit;cursor:pointer;padding:0;line-height:1;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__facet-chip-remove:hover{background:rgba(255, 255, 255, 0.4)}.co-command-search__tabs{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--co-semantic-border-default);scroll-padding-right:104px}.co-command-search__tabs::-webkit-scrollbar{display:none;}.co-command-search__tab{flex:0 0 auto}.co-command-search__tab--more{position:sticky;right:0;padding-left:var(--co-spacing-sm);background:var(--co-semantic-surface-page);box-shadow:-12px 0 10px -4px var(--co-semantic-surface-page)}.co-command-search__fav{padding:var(--co-spacing-sm) var(--co-spacing-lg) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-default)}.co-command-search__fav-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));gap:var(--co-spacing-xs)}.co-command-search__fav-card{display:flex;flex-direction:column;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm) var(--co-spacing-xs);background:transparent;border:none;border-radius:var(--co-border-radius-sm);cursor:pointer;font-family:inherit;text-align:center;min-width:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__fav-card:hover{background:var(--co-semantic-surface-hover)}.co-command-search__fav-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-command-search__fav-icon{flex:none;width:50px;height:50px;border-radius:var(--co-border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--co-color-base-blanco, #fff);box-shadow:0 2px 6px rgba(0, 0, 0, 0.14)}.co-command-search__fav-label{font-size:var(--co-font-size-12);font-weight:500;line-height:1.2;color:var(--co-semantic-text-default);max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}"}},[257,"co-command-search",{open:[1540],placeholder:[1],items:[1],emptyMessage:[1,"empty-message"],async:[516],loading:[516],chips:[513],tabs:[1],activeTab:[1,"active-tab"],hasMore:[4,"has-more"],moreLabel:[1,"more-label"],favorites:[1],query:[32]},void 0,{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}]);function f(){"undefined"!=typeof customElements&&["co-command-search","co-avatar","co-chip","co-icon","co-loader","co-option-list","co-overlay","co-tooltip"].forEach((e=>{switch(e){case"co-command-search":customElements.get(a(e))||customElements.define(a(e),p);break;case"co-avatar":customElements.get(a(e))||r();break;case"co-chip":customElements.get(a(e))||i();break;case"co-icon":customElements.get(a(e))||n();break;case"co-loader":customElements.get(a(e))||d();break;case"co-option-list":customElements.get(a(e))||h();break;case"co-overlay":customElements.get(a(e))||l();break;case"co-tooltip":customElements.get(a(e))||m()}}))}f();const b=p,u=f;export{b as CoCommandSearch,u as defineCustomElement}
1
+ import{t as a,p as e,H as o,c as t,h as c}from"./index.js";import{r as s}from"./p-Ba_v-MzM.js";import{d as r}from"./p-Dcg4krSX.js";import{d as i}from"./p-Du_CgT5E.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as h}from"./p-Dh8ffSjK.js";import{d as l}from"./p-BJh68Jqe.js";import{d as m}from"./p-Bsh0JMGf.js";const p=e(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coSelect=t(this,"coSelect",7),this.coClose=t(this,"coClose",7),this.coSearch=t(this,"coSearch",7),this.coScopeChange=t(this,"coScopeChange",1),this.coBackspaceEmpty=t(this,"coBackspaceEmpty",1),this.coChipRemove=t(this,"coChipRemove",1),this.coTabSelect=t(this,"coTabSelect",1),this.coMoreTabs=t(this,"coMoreTabs",1),this.open=!1,this.placeholder="Search...",this.items=[],this.emptyMessage="No results found",this.async=!1,this.loading=!1,this.chips="[]",this.tabs="[]",this.activeTab="",this.hasMore=!1,this.moreLabel="More",this.favorites="[]",this.query="",this.handleInput=a=>{this.query=a.target.value,this.coSearch.emit(this.query)},this.handleKeyDown=a=>{var e,o;if(function(a,e){return"Backspace"===a&&""===e}(a.key,this.query))return a.preventDefault(),void this.coBackspaceEmpty.emit(this.query);switch(a.key){case"ArrowDown":case"ArrowUp":case"Enter":a.preventDefault(),null===(e=this.optionListEl)||void 0===e||e.handleKey(a);break;case"Escape":a.preventDefault(),this.close();break;case"Tab":a.preventDefault(),null===(o=this.optionListEl)||void 0===o||o.handleKey(new KeyboardEvent("keydown",{key:a.shiftKey?"ArrowUp":"ArrowDown"}))}},this.handleListPick=a=>{const e=this.filteredItems.find((e=>e.value===a));e&&this.selectItem(e)},this.handlePanelKeyDown=a=>{"Escape"===a.key&&(a.preventDefault(),this.close())},this.handleOverlayClick=()=>{this.close()},this.handlePanelClick=a=>{a.stopPropagation()},this.handleTriggerClick=()=>{this.open=!0}}get parsedItems(){if("string"==typeof this.items)try{return JSON.parse(this.items)}catch(a){return[]}return this.items}get filteredItems(){return function(a,e,o){return o?a:e?s(a,e,(a=>[a.label,a.value])):a}(this.parsedItems,this.query,this.async)}get parsedChips(){try{const a="string"==typeof this.chips?JSON.parse(this.chips):this.chips;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedTabs(){try{const a="string"==typeof this.tabs?JSON.parse(this.tabs):this.tabs;return Array.isArray(a)?a:[]}catch(a){return[]}}get parsedFavorites(){try{const a="string"==typeof this.favorites?JSON.parse(this.favorites):this.favorites;return Array.isArray(a)?a:[]}catch(a){return[]}}onActiveTabChange(a){a&&(this.query=""),requestAnimationFrame((()=>{var a;const e=null===(a=this.el.shadowRoot)||void 0===a?void 0:a.querySelector('.co-command-search__tab[aria-selected="true"]');null==e||e.scrollIntoView({inline:"nearest",block:"nearest"})}))}onOpenChange(a){a&&(this.query="",requestAnimationFrame((()=>{var a;return null===(a=this.inputEl)||void 0===a?void 0:a.focus()})))}selectItem(a){!function(a){return!0===a.keepOpen}(a)?(this.coSelect.emit(a.value),this.close()):this.coScopeChange.emit(a.value)}close(){this.open&&(this.open=!1,this.coClose.emit())}render(){const a=this.filteredItems;return[c("div",{key:"2fa819f611d5e106367baecd8d0d468ef538abb9",class:"co-command-search__trigger",onClick:this.handleTriggerClick},c("slot",{key:"ee17e409b1253cc447d9813a458c3b123597caa1",name:"trigger"})),c("co-overlay",{key:"57f2be7cc61b9c73d20af7cabe44f27f52da130b",open:this.open,onCoClose:this.handleOverlayClick},c("div",{key:"8e582bca997ca0b0ed0b77a26a2f5bce17540159",class:{"co-command-search":!0,"co-command-search--open":this.open},part:"panel",role:"dialog","aria-modal":"true","aria-label":"Command palette",onClick:this.handlePanelClick,onKeyDown:this.handlePanelKeyDown},c("div",{key:"6252fab9df91285b063186c0814a678c2f91aec9",class:"co-command-search__input-row",part:"input-row"},c("co-icon",{key:"4ce68141969cd823f3b6d1e286dcd62609244587",name:"magnifying-glass",size:20}),this.parsedChips.map(((a,e)=>c("span",{class:"co-command-search__facet-chip"},a.icon&&c("co-icon",{name:a.icon,size:12}),c("span",{class:"co-command-search__facet-chip-label"},a.label),c("button",{class:"co-command-search__facet-chip-remove",type:"button","aria-label":"Remove filter "+a.label,onClick:a=>{a.stopPropagation(),this.coChipRemove.emit(e)}},c("co-icon",{name:"x",size:10,weight:"bold"}))))),c("input",{key:"565abed1c59c32ce3336e110cd9da6afadb693b5",class:"co-command-search__input",type:"text",placeholder:this.placeholder,value:this.query,onInput:this.handleInput,onKeyDown:this.handleKeyDown,ref:a=>this.inputEl=a,part:"input",role:"combobox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list"}),this.loading&&c("co-loader",{key:"f84db9e0b3f9c53d8eae6ab6edb790f189b3e49d",class:"co-command-search__loading",part:"loading",size:"sm"}),c("span",{key:"7f9e3b653c9d52d0438fafbb645506f3a7aa7f2c",class:"co-command-search__shortcut"},"ESC")),(this.parsedTabs.length>0||this.hasMore)&&c("div",{key:"fd734ad98b004d5e08f601631d6e2c547ef70dca",class:"co-command-search__tabs",part:"tabs",role:"tablist"},this.parsedTabs.map((a=>{const e=a.value===this.activeTab;return c("co-chip",{class:"co-command-search__tab",role:"tab","aria-selected":e?"true":"false",clickable:!0,selected:e,variant:e?"filled":"outlined",color:e?"primary":"default",iconLeft:a.icon,label:a.label,onCoClick:()=>this.coTabSelect.emit(e?"":a.value)})})),this.hasMore&&c("co-chip",{key:"f5812a94f9f24df93b34abd9588e43b354d6c5e8",class:"co-command-search__tab co-command-search__tab--more",clickable:!0,variant:"outlined",label:this.moreLabel,iconRight:"caret-down",onCoClick:()=>this.coMoreTabs.emit()})),c("div",{key:"b21f950593d51ecb05ffa7f752cd3b8eebf0ef08",class:"co-command-search__results",part:"results"},this.parsedFavorites.length>0&&!this.query&&c("div",{key:"054210475307154dbd369a6468e5bd38a88534a2",class:"co-command-search__fav",part:"favorites"},c("div",{key:"4cc849cf107af9b94cb9715a7d054f6567e75345",class:"co-command-search__fav-grid"},this.parsedFavorites.map((a=>c("button",{class:"co-command-search__fav-card",type:"button",onClick:()=>this.coSelect.emit(a.value)},c("span",{class:"co-command-search__fav-icon",style:{background:a.color||"var(--co-semantic-surface-muted)"}},c("co-icon",{name:a.icon||"circle",size:26,weight:"fill"})),c("span",{class:"co-command-search__fav-label"},a.label)))))),c("co-option-list",{key:"b48e7eb20f3591e8539211343908fa84ca1ebd1f",ref:a=>this.optionListEl=a,items:JSON.stringify(a.map((a=>({_id:a.value,label:a.label,icon:a.icon,description:a.subtitle,group:a.section,disabled:a.disabled})))),autoHighlight:!0,highlightMatches:!0,highlightTerm:this.query,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:a=>this.handleListPick(a.detail.item._id)}))))]}get el(){return this}static get watchers(){return{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}co-overlay{--co-overlay-bg:rgba(0, 0, 0, 0.16)}.co-command-search__trigger{display:contents}.co-command-search{display:flex;flex-direction:column;width:90vw;max-width:560px;max-height:420px;background:var(--co-semantic-surface-page);border-radius:var(--co-border-radius-lg);box-shadow:0 8px 32px rgba(0, 0, 0, 0.12);overflow:hidden;font-family:var(--co-font-family-primary);transform:translateY(8px) scale(0.98);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);margin-top:-15vh}.co-command-search--open{transform:translateY(0) scale(1);opacity:1}.co-command-search__input-row{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md) var(--co-spacing-lg);border-bottom:1px solid var(--co-semantic-border-default);color:var(--co-semantic-text-muted)}.co-command-search__input{flex:1;border:none;outline:none;background:transparent;font-size:var(--co-font-size-16);font-family:var(--co-font-family-primary);color:var(--co-semantic-text-default);min-width:0}.co-command-search__input::placeholder{color:var(--co-semantic-text-muted)}.co-command-search__shortcut{font-size:var(--co-font-size-10);color:var(--co-semantic-text-muted);background:var(--co-semantic-surface-muted);padding:2px var(--co-spacing-xs);border-radius:var(--co-border-radius-xxs);font-weight:500;line-height:1.4;flex-shrink:0}.co-command-search__results{flex:1;overflow-y:auto;padding:var(--co-spacing-xs) 0}.co-command-search__loading{flex-shrink:0;display:flex;align-items:center}.co-command-search__facet-chip{display:inline-flex;align-items:center;gap:2px;padding:2px var(--co-spacing-xs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:500;white-space:nowrap;flex-shrink:0}.co-command-search__facet-chip-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}.co-command-search__facet-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:var(--co-border-radius-full);background:rgba(255, 255, 255, 0.25);color:inherit;cursor:pointer;padding:0;line-height:1;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__facet-chip-remove:hover{background:rgba(255, 255, 255, 0.4)}.co-command-search__tabs{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-md);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--co-semantic-border-default);scroll-padding-right:104px}.co-command-search__tabs::-webkit-scrollbar{display:none;}.co-command-search__tab{flex:0 0 auto}.co-command-search__tab--more{position:sticky;right:0;padding-left:var(--co-spacing-sm);background:var(--co-semantic-surface-page);box-shadow:-12px 0 10px -4px var(--co-semantic-surface-page)}.co-command-search__fav{padding:var(--co-spacing-sm) var(--co-spacing-lg) var(--co-spacing-md);border-bottom:1px solid var(--co-semantic-border-default)}.co-command-search__fav-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(88px, 1fr));gap:var(--co-spacing-xs)}.co-command-search__fav-card{display:flex;flex-direction:column;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm) var(--co-spacing-xs);background:transparent;border:none;border-radius:var(--co-border-radius-sm);cursor:pointer;font-family:inherit;text-align:center;min-width:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-command-search__fav-card:hover{background:var(--co-semantic-surface-hover)}.co-command-search__fav-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-command-search__fav-icon{flex:none;width:50px;height:50px;border-radius:var(--co-border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--co-color-base-blanco, #fff);box-shadow:0 2px 6px rgba(0, 0, 0, 0.14)}.co-command-search__fav-label{font-size:var(--co-font-size-12);font-weight:500;line-height:1.2;color:var(--co-semantic-text-default);max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}"}},[257,"co-command-search",{open:[1540],placeholder:[1],items:[1],emptyMessage:[1,"empty-message"],async:[516],loading:[516],chips:[513],tabs:[1],activeTab:[1,"active-tab"],hasMore:[4,"has-more"],moreLabel:[1,"more-label"],favorites:[1],query:[32]},void 0,{activeTab:[{onActiveTabChange:0}],open:[{onOpenChange:0}]}]);function f(){"undefined"!=typeof customElements&&["co-command-search","co-avatar","co-chip","co-icon","co-loader","co-option-list","co-overlay","co-tooltip"].forEach((e=>{switch(e){case"co-command-search":customElements.get(a(e))||customElements.define(a(e),p);break;case"co-avatar":customElements.get(a(e))||r();break;case"co-chip":customElements.get(a(e))||i();break;case"co-icon":customElements.get(a(e))||n();break;case"co-loader":customElements.get(a(e))||d();break;case"co-option-list":customElements.get(a(e))||h();break;case"co-overlay":customElements.get(a(e))||l();break;case"co-tooltip":customElements.get(a(e))||m()}}))}f();const b=p,u=f;export{b as CoCommandSearch,u as defineCustomElement}
@@ -1 +1 @@
1
- import{t,p as e,H as i,c as s,h as o}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as r}from"./p-jYd9gu_c.js";import{d as c}from"./p-CWCYYQrF.js";import{d as l}from"./p-NNxjElcX.js";import{d as h}from"./p-DxtNejr2.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as p}from"./p-CBTGN490.js";import{d as m}from"./p-DRP8D9ro.js";const u=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coInput=s(this,"coInput",7),this.coChange=s(this,"coChange",7),this.coInvalid=s(this,"coInvalid",7),this.coClear=s(this,"coClear",7),this.coFocus=s(this,"coFocus",7),this.coBlur=s(this,"coBlur",7),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.value=null,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.closeOnSelect=!0,this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.internalInvalid=!1,this.pendingFocusGrid=!1,this.pendingFocusField=!1,this.mqlHandler=t=>{this.isMobile=t.matches},this.onFieldChange=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail)},this.onFieldInput=t=>{this.coInput.emit(t.detail)},this.onFieldInvalid=t=>{this.internalInvalid=!0,this.coInvalid.emit(t.detail)},this.onFieldClear=()=>{this.value=null,this.internalInvalid=!1,this.coClear.emit()},this.onFieldKeyDown=t=>{"ArrowDown"===t.key&&(t.preventDefault(),this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon())},this.onCalendarSelect=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail),this.closeOnSelect&&(this.setOpen(!1),this.pendingFocusField=!0)},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit())},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit())},this.onRootKeyDown=t=>{"Escape"===t.key&&this.open&&(t.stopPropagation(),this.setOpen(!1),this.pendingFocusField=!0)}}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var t;null===(t=this.mql)||void 0===t||t.removeEventListener("change",this.mqlHandler)}get isInvalid(){return this.invalid||this.internalInvalid}setOpen(t){this.open!==t&&(this.open=t,t?this.coOpen.emit():this.coClose.emit())}focusGridSoon(){requestAnimationFrame((()=>{var t,e;null===(e=null===(t=this.calendarEl)||void 0===t?void 0:t.focusGrid)||void 0===e||e.call(t)}))}componentDidRender(){var t,e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusField&&(this.pendingFocusField=!1,null===(e=null===(t=this.fieldEl)||void 0===t?void 0:t.focusInput)||void 0===e||e.call(t))}renderField(){return o("co-date-field",{ref:t=>this.fieldEl=t,"data-variant":this.variant,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,displayFormat:this.displayFormat,placeholder:this.placeholder,size:this.size,name:this.name,disabled:this.disabled,readonly:this.readonly,required:this.required,clearable:this.clearable,invalid:this.isInvalid,onCoChange:this.onFieldChange,onCoInput:this.onFieldInput,onCoInvalid:this.onFieldInvalid,onCoClear:this.onFieldClear,onCoFocus:()=>this.coFocus.emit(),onCoBlur:()=>this.coBlur.emit()})}renderCalendar(t){return o("co-calendar",{ref:t=>this.calendarEl=t,"data-touch":t?"":void 0,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect})}renderHelper(){const t=this.isInvalid?this.errorMessage:this.helperText;return t?o("div",{class:{"co-date-picker__helper":!0,"co-date-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,t)):null}render(){if(this.isMobile){const t=r(this.locale);return o("div",{class:"co-date-picker co-date-picker--mobile",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("div",{class:"co-date-picker__trigger",onClick:()=>!this.disabled&&this.setOpen(!0)},this.renderField()),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDate,onCoClose:()=>this.setOpen(!1)},o("div",{class:"co-date-picker__sheet"},this.renderCalendar(!0))),this.renderHelper())}return o("div",{class:"co-date-picker",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-picker__trigger",onKeyDown:this.onFieldKeyDown},this.renderField()),this.open&&o("div",{class:"co-date-picker__panel"},this.renderCalendar(!1))),this.renderHelper())}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary)}.co-date-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}co-date-field[data-variant='flat']::part(field){background:transparent;border-color:transparent}.co-date-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-picker co-popover{display:block;width:100%}.co-date-picker__trigger{display:block;width:100%;cursor:text}.co-date-picker__panel{padding:var(--co-spacing-md)}.co-date-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}:host([layout='horizontal']) .co-date-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-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-picker>:not(.co-date-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-picker",{value:[1025],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],closeOnSelect:[4,"close-on-select"],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],internalInvalid:[32]}]);function f(){"undefined"!=typeof customElements&&["co-date-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((e=>{switch(e){case"co-date-picker":customElements.get(t(e))||customElements.define(t(e),u);break;case"co-calendar":customElements.get(t(e))||c();break;case"co-date-field":customElements.get(t(e))||l();break;case"co-drawer":customElements.get(t(e))||h();break;case"co-icon":customElements.get(t(e))||n();break;case"co-loader":customElements.get(t(e))||d();break;case"co-overlay":customElements.get(t(e))||p();break;case"co-popover":customElements.get(t(e))||m()}}))}f();const g=u,v=f;export{g as CoDatePicker,v as defineCustomElement}
1
+ import{t,p as e,H as i,c as s,h as o}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as r}from"./p-jYd9gu_c.js";import{d as c}from"./p-CWCYYQrF.js";import{d as l}from"./p-NNxjElcX.js";import{d as h}from"./p-P4HlMBlL.js";import{d as n}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as p}from"./p-BJh68Jqe.js";import{d as m}from"./p-D9T7zKeL.js";const u=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coInput=s(this,"coInput",7),this.coChange=s(this,"coChange",7),this.coInvalid=s(this,"coInvalid",7),this.coClear=s(this,"coClear",7),this.coFocus=s(this,"coFocus",7),this.coBlur=s(this,"coBlur",7),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.value=null,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.closeOnSelect=!0,this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.internalInvalid=!1,this.pendingFocusGrid=!1,this.pendingFocusField=!1,this.mqlHandler=t=>{this.isMobile=t.matches},this.onFieldChange=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail)},this.onFieldInput=t=>{this.coInput.emit(t.detail)},this.onFieldInvalid=t=>{this.internalInvalid=!0,this.coInvalid.emit(t.detail)},this.onFieldClear=()=>{this.value=null,this.internalInvalid=!1,this.coClear.emit()},this.onFieldKeyDown=t=>{"ArrowDown"===t.key&&(t.preventDefault(),this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon())},this.onCalendarSelect=t=>{this.value=t.detail,this.internalInvalid=!1,this.coChange.emit(t.detail),this.closeOnSelect&&(this.setOpen(!1),this.pendingFocusField=!0)},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit())},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit())},this.onRootKeyDown=t=>{"Escape"===t.key&&this.open&&(t.stopPropagation(),this.setOpen(!1),this.pendingFocusField=!0)}}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var t;null===(t=this.mql)||void 0===t||t.removeEventListener("change",this.mqlHandler)}get isInvalid(){return this.invalid||this.internalInvalid}setOpen(t){this.open!==t&&(this.open=t,t?this.coOpen.emit():this.coClose.emit())}focusGridSoon(){requestAnimationFrame((()=>{var t,e;null===(e=null===(t=this.calendarEl)||void 0===t?void 0:t.focusGrid)||void 0===e||e.call(t)}))}componentDidRender(){var t,e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusField&&(this.pendingFocusField=!1,null===(e=null===(t=this.fieldEl)||void 0===t?void 0:t.focusInput)||void 0===e||e.call(t))}renderField(){return o("co-date-field",{ref:t=>this.fieldEl=t,"data-variant":this.variant,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,displayFormat:this.displayFormat,placeholder:this.placeholder,size:this.size,name:this.name,disabled:this.disabled,readonly:this.readonly,required:this.required,clearable:this.clearable,invalid:this.isInvalid,onCoChange:this.onFieldChange,onCoInput:this.onFieldInput,onCoInvalid:this.onFieldInvalid,onCoClear:this.onFieldClear,onCoFocus:()=>this.coFocus.emit(),onCoBlur:()=>this.coBlur.emit()})}renderCalendar(t){return o("co-calendar",{ref:t=>this.calendarEl=t,"data-touch":t?"":void 0,value:this.value,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect})}renderHelper(){const t=this.isInvalid?this.errorMessage:this.helperText;return t?o("div",{class:{"co-date-picker__helper":!0,"co-date-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,t)):null}render(){if(this.isMobile){const t=r(this.locale);return o("div",{class:"co-date-picker co-date-picker--mobile",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("div",{class:"co-date-picker__trigger",onClick:()=>!this.disabled&&this.setOpen(!0)},this.renderField()),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDate,onCoClose:()=>this.setOpen(!1)},o("div",{class:"co-date-picker__sheet"},this.renderCalendar(!0))),this.renderHelper())}return o("div",{class:"co-date-picker",onKeyDown:this.onRootKeyDown},this.label&&o("label",{class:"co-date-picker__label",part:"label"},this.label,o(a,{required:this.required})),o("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-picker__trigger",onKeyDown:this.onFieldKeyDown},this.renderField()),this.open&&o("div",{class:"co-date-picker__panel"},this.renderCalendar(!1))),this.renderHelper())}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary)}.co-date-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}co-date-field[data-variant='flat']::part(field){background:transparent;border-color:transparent}.co-date-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-picker co-popover{display:block;width:100%}.co-date-picker__trigger{display:block;width:100%;cursor:text}.co-date-picker__panel{padding:var(--co-spacing-md)}.co-date-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}:host([layout='horizontal']) .co-date-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-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-picker>:not(.co-date-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-picker",{value:[1025],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],closeOnSelect:[4,"close-on-select"],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],internalInvalid:[32]}]);function f(){"undefined"!=typeof customElements&&["co-date-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((e=>{switch(e){case"co-date-picker":customElements.get(t(e))||customElements.define(t(e),u);break;case"co-calendar":customElements.get(t(e))||c();break;case"co-date-field":customElements.get(t(e))||l();break;case"co-drawer":customElements.get(t(e))||h();break;case"co-icon":customElements.get(t(e))||n();break;case"co-loader":customElements.get(t(e))||d();break;case"co-overlay":customElements.get(t(e))||p();break;case"co-popover":customElements.get(t(e))||m()}}))}f();const g=u,v=f;export{g as CoDatePicker,v as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as r}from"./p-DrTRB8Ev.js";const s=o,p=r;export{s as CoDateRangePicker,p as defineCustomElement}
1
+ import{C as o,d as s}from"./p-B56LX2SH.js";const p=o,r=s;export{p as CoDateRangePicker,r as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as s,H as t,c as a,h as o}from"./index.js";import{d as r}from"./p-CWCYYQrF.js";import{d as c}from"./p-NNxjElcX.js";import{d as l}from"./p-DrTRB8Ev.js";import{d as i}from"./p-DxtNejr2.js";import{d as p}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as n}from"./p-CBTGN490.js";import{d as h}from"./p-DRP8D9ro.js";const m=s(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=a(this,"coChange",7),this.coClear=a(this,"coClear",7),this.value="",this.label="",this.placeholder="Select range",this.disabled=!1,this.clearable=!0,this.presets=!0,this.helperText="",this.locale="es",this.warned=!1,this.handleApply=e=>{this.value=JSON.stringify(e.detail),this.coChange.emit(e.detail)}}connectedCallback(){this.warned||(this.warned=!0,console.warn("[cobalt] <co-date-range> is deprecated — use <co-date-range-picker>."))}render(){return o("co-date-range-picker",{key:"2d03e6fa36f8f44830beb798a1a3096b93f3478d",value:this.value,label:this.label,placeholder:this.placeholder,disabled:this.disabled,clearable:this.clearable,presets:this.presets,helperText:this.helperText,locale:this.locale,applyLabel:this.applyLabel,clearLabel:this.clearLabel,onCoApply:this.handleApply,onCoClear:()=>this.coClear.emit()})}get el(){return this}static get style(){return":host{display:block}"}},[1,"co-date-range",{value:[1025],label:[1],placeholder:[1],disabled:[4],clearable:[4],presets:[4],helperText:[1,"helper-text"],locale:[1],applyLabel:[1,"apply-label"],clearLabel:[1,"clear-label"]}]);function b(){"undefined"!=typeof customElements&&["co-date-range","co-calendar","co-date-field","co-date-range-picker","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((s=>{switch(s){case"co-date-range":customElements.get(e(s))||customElements.define(e(s),m);break;case"co-calendar":customElements.get(e(s))||r();break;case"co-date-field":customElements.get(e(s))||c();break;case"co-date-range-picker":customElements.get(e(s))||l();break;case"co-drawer":customElements.get(e(s))||i();break;case"co-icon":customElements.get(e(s))||p();break;case"co-loader":customElements.get(e(s))||d();break;case"co-overlay":customElements.get(e(s))||n();break;case"co-popover":customElements.get(e(s))||h()}}))}b();const u=m,f=b;export{u as CoDateRange,f as defineCustomElement}
1
+ import{t as e,p as s,H as t,c as a,h as o}from"./index.js";import{d as c}from"./p-CWCYYQrF.js";import{d as r}from"./p-NNxjElcX.js";import{d as l}from"./p-B56LX2SH.js";import{d as i}from"./p-P4HlMBlL.js";import{d as p}from"./p-DNJAIVfI.js";import{d}from"./p-BH184F0X.js";import{d as n}from"./p-BJh68Jqe.js";import{d as h}from"./p-D9T7zKeL.js";const m=s(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=a(this,"coChange",7),this.coClear=a(this,"coClear",7),this.value="",this.label="",this.placeholder="Select range",this.disabled=!1,this.clearable=!0,this.presets=!0,this.helperText="",this.locale="es",this.warned=!1,this.handleApply=e=>{this.value=JSON.stringify(e.detail),this.coChange.emit(e.detail)}}connectedCallback(){this.warned||(this.warned=!0,console.warn("[cobalt] <co-date-range> is deprecated — use <co-date-range-picker>."))}render(){return o("co-date-range-picker",{key:"2d03e6fa36f8f44830beb798a1a3096b93f3478d",value:this.value,label:this.label,placeholder:this.placeholder,disabled:this.disabled,clearable:this.clearable,presets:this.presets,helperText:this.helperText,locale:this.locale,applyLabel:this.applyLabel,clearLabel:this.clearLabel,onCoApply:this.handleApply,onCoClear:()=>this.coClear.emit()})}get el(){return this}static get style(){return":host{display:block}"}},[1,"co-date-range",{value:[1025],label:[1],placeholder:[1],disabled:[4],clearable:[4],presets:[4],helperText:[1,"helper-text"],locale:[1],applyLabel:[1,"apply-label"],clearLabel:[1,"clear-label"]}]);function b(){"undefined"!=typeof customElements&&["co-date-range","co-calendar","co-date-field","co-date-range-picker","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((s=>{switch(s){case"co-date-range":customElements.get(e(s))||customElements.define(e(s),m);break;case"co-calendar":customElements.get(e(s))||c();break;case"co-date-field":customElements.get(e(s))||r();break;case"co-date-range-picker":customElements.get(e(s))||l();break;case"co-drawer":customElements.get(e(s))||i();break;case"co-icon":customElements.get(e(s))||p();break;case"co-loader":customElements.get(e(s))||d();break;case"co-overlay":customElements.get(e(s))||n();break;case"co-popover":customElements.get(e(s))||h()}}))}b();const u=m,f=b;export{u as CoDateRange,f as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as o,t as a}from"./index.js";import{R as r}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-DxtNejr2.js";import{d}from"./p-DNJAIVfI.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-CBTGN490.js";import{d as h}from"./p-DRP8D9ro.js";import{d as m}from"./p-DvR45CLa.js";import{z as u,b as f,a as _,w as g,t as v}from"./p-Ch837Ggl.js";import{j as k}from"./p-e5KibEs8.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(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)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,a]=e.split("-").map(Number);if(!i||!o||!a)return;const r=g({year:i,month:o,day:a,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=v(r);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",a=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!a},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,a;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(a=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==a?a:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(r,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"a128077a99e226422be0ce805cfa16db44212cd1",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"18d0a3100dcb58c86fd7081b654fdf7d8d7e5e19",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":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}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{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);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);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;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-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-status-error)}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-status-error);box-shadow:0 0 0 2px rgba(170, 46, 27, 0.12)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-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-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-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-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,a=y.get(o);if(void 0!==a)return a;let r=w.get(`${t}|${i?12:24}`);r||(r=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,r));const s=r.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(a(e))||customElements.define(a(e),x);break;case"co-calendar":customElements.get(a(e))||c();break;case"co-drawer":customElements.get(a(e))||n();break;case"co-icon":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||p();break;case"co-popover":customElements.get(a(e))||h();break;case"co-time-field":customElements.get(a(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}
1
+ import{p as e,H as t,c as i,h as o,t as a}from"./index.js";import{R as r}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-P4HlMBlL.js";import{d}from"./p-DNJAIVfI.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-BJh68Jqe.js";import{d as h}from"./p-D9T7zKeL.js";import{d as m}from"./p-DvR45CLa.js";import{z as u,b as f,a as _,w as g,t as v}from"./p-Ch837Ggl.js";import{j as k}from"./p-e5KibEs8.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(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)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,a]=e.split("-").map(Number);if(!i||!o||!a)return;const r=g({year:i,month:o,day:a,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=v(r);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",a=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!a},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,a;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(a=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==a?a:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(r,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"a128077a99e226422be0ce805cfa16db44212cd1",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"18d0a3100dcb58c86fd7081b654fdf7d8d7e5e19",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":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}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{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);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);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;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-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-status-error)}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-status-error);box-shadow:0 0 0 2px rgba(170, 46, 27, 0.12)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-status-error)}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-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-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-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-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,a=y.get(o);if(void 0!==a)return a;let r=w.get(`${t}|${i?12:24}`);r||(r=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,r));const s=r.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(a(e))||customElements.define(a(e),x);break;case"co-calendar":customElements.get(a(e))||c();break;case"co-drawer":customElements.get(a(e))||n();break;case"co-icon":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||p();break;case"co-popover":customElements.get(a(e))||h();break;case"co-time-field":customElements.get(a(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as r}from"./p-DxtNejr2.js";const s=o,t=r;export{s as CoDrawer,t as defineCustomElement}
1
+ import{C as o,d as s}from"./p-P4HlMBlL.js";const p=o,r=s;export{p as CoDrawer,r as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as t,H as i,c as o,h as s}from"./index.js";import{d as n}from"./p-DNJAIVfI.js";import{d as c}from"./p-DRP8D9ro.js";const a="submenu-side",r=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=o(this,"coSelect",7),this.coMenuSelect=o(this,"coMenuSelect",7),this.dense=!1,this.selected=!1,this.trailingCheck=!1,this.disabled=!1,this.variant="default",this.hasSubmenu=!1,this.submenuOpen=!1,this.submenuPlacementValue="right-start",this.handleClick=e=>{if(!this.disabled){if(this.hasSubmenu)return e.stopPropagation(),void this.openSubmenu();this.coSelect.emit(),this.coMenuSelect.emit()}},this.handleKeydown=e=>{var t;this.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.handleClick(e)):"ArrowRight"===e.key&&this.hasSubmenu?(e.preventDefault(),this.openSubmenu(),requestAnimationFrame((()=>{var e;const t=this.el.querySelector("co-menu-item");null===(e=null==t?void 0:t.focusItem)||void 0===e||e.call(t)}))):"ArrowLeft"===e.key&&this.submenuOpen&&(e.preventDefault(),this.submenuOpen=!1,null===(t=this.rowEl)||void 0===t||t.focus()))},this.handleMouseEnter=()=>{!this.disabled&&this.hasSubmenu&&(this.cancelClose(),this.openSubmenu())},this.handleMouseLeave=()=>{this.hasSubmenu&&this.scheduleClose()},this.handlePlacement=e=>{const t=function(e){const t=e.split("-")[0];return"left"===t||"right"===t?t:null}(e.detail.placement);t&&this.el.setAttribute(a,t)},this.cancelClose=()=>{this.closeTimer&&(window.clearTimeout(this.closeTimer),this.closeTimer=void 0)}}async focusItem(){var e;null===(e=this.rowEl)||void 0===e||e.focus()}componentWillLoad(){this.hasSubmenu=this.detectSubmenu()}disconnectedCallback(){this.cancelClose()}detectSubmenu(){for(const e of Array.from(this.el.children)){const t=e.tagName.toLowerCase();if("co-menu-item"===t||"co-menu-divider"===t)return!0}return!1}openSubmenu(){this.submenuOpen||this.closeSiblingSubmenus(),this.submenuPlacementValue=function(e){return"left"===e?"left-start":"right-start"}(function(e){var t;const i=null===(t=e.parentElement)||void 0===t?void 0:t.closest("co-menu-item"),o=null==i?void 0:i.getAttribute(a);return"left"===o||"right"===o?o:null}(this.el)),this.submenuOpen=!0}async closeSubmenu(){this.cancelClose(),this.submenuOpen=!1}closeSiblingSubmenus(){var e,t;const i=this.el.parentElement;if(i)for(const o of Array.from(i.children))o!==this.el&&"co-menu-item"===o.tagName.toLowerCase()&&(null===(t=(e=o).closeSubmenu)||void 0===t||t.call(e))}scheduleClose(){this.cancelClose(),this.closeTimer=window.setTimeout((()=>{this.submenuOpen=!1}),260)}render(){var e;const t=s("button",{ref:e=>this.rowEl=e,class:{"co-menu-item":!0,"co-menu-item--dense":this.dense,"co-menu-item--selected":this.selected,"co-menu-item--disabled":this.disabled,"co-menu-item--danger":"danger"===this.variant,"co-menu-item--submenu":this.hasSubmenu,"co-menu-item--submenu-open":this.hasSubmenu&&this.submenuOpen},type:"button",role:"menuitem","aria-haspopup":this.hasSubmenu?"menu":void 0,"aria-expanded":this.hasSubmenu?this.submenuOpen?"true":"false":void 0,disabled:this.disabled,onClick:this.handleClick,onKeyDown:this.handleKeydown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.icon&&s("span",{class:"co-menu-item__icon"},s("co-icon",{name:this.icon,size:null!==(e=this.iconSize)&&void 0!==e?e:16})),s("span",{class:{"co-menu-item__label":!0,"co-menu-item__label--stacked":!!this.caption}},s("span",{class:"co-menu-item__label-main"},this.label,s("slot",{name:"label"})),this.caption&&s("span",{class:"co-menu-item__caption"},this.caption)),this.trailingCheck&&s("span",{class:"co-menu-item__check"},s("co-icon",{name:"check",size:15})),s("span",{class:"co-menu-item__suffix"},s("slot",{name:"suffix"}),this.hasSubmenu&&s("co-icon",{name:"caret-right",size:14})));return this.hasSubmenu?s("div",{class:"co-menu-item__wrap co-menu-item__wrap--submenu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},s("co-popover",{placement:this.submenuPlacementValue,offset:4,open:this.submenuOpen,onCoOpen:()=>this.openSubmenu(),onCoClose:()=>{this.submenuOpen=!1},onCoPlacement:this.handlePlacement},s("div",{slot:"trigger",class:"co-menu-item__trigger-wrap"},t),s("div",{class:"co-menu-item__submenu",role:"menu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},s("slot",null)))):s("div",{class:"co-menu-item__wrap"},t)}get el(){return this}static get style(){return":host{display:block}.co-menu-item__wrap{display:block}.co-menu-item{width:100%;display:flex;align-items:center;gap:var(--co-menu-item-gap, var(--co-spacing-sm, 8px));padding:var(--co-menu-item-padding, var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px));background:transparent;border:0;border-radius:var(--co-border-radius-xs, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default);text-align:left;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:var(--co-menu-item-height, 36px);box-sizing:border-box}.co-menu-item--dense{padding:var(--co-spacing-xs, 4px) var(--co-spacing-md, 12px);min-height:32px}.co-menu-item--selected{background:var(--co-color-gray-100, #f6f6f6)}.co-menu-item:hover,.co-menu-item--submenu-open{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-menu-item:focus-visible{outline:2px solid var(--co-semantic-border-focus, #2563eb);outline-offset:-2px}.co-menu-item--disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.co-menu-item--danger{color:var(--co-color-status-error, #aa2e1b)}.co-menu-item--danger:hover{background:var(--co-color-status-bg-error, #ffefef)}.co-menu-item__icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-icon-color, currentColor)}.co-menu-item__check{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-semantic-text-default)}.co-menu-item__label{flex:1;display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-menu-item__label--stacked{flex-direction:column;align-items:flex-start;gap:1px}.co-menu-item__label-main{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px)}.co-menu-item__caption{font-size:var(--co-font-size-11, 11px);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap}.co-menu-item__suffix{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-menu-item--submenu-open .co-menu-item__suffix{color:var(--co-semantic-text-default)}.co-menu-item__trigger-wrap{display:block}.co-menu-item__wrap--submenu>co-popover{display:block;width:100%}.co-menu-item__submenu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:180px;display:flex;flex-direction:column;gap:2px;position:relative}.co-menu-item__submenu::before,.co-menu-item__submenu::after{content:'';position:absolute;top:0;bottom:0;width:6px;}.co-menu-item__submenu::before{left:-6px}.co-menu-item__submenu::after{right:-6px}"}},[257,"co-menu-item",{icon:[1],iconSize:[2,"icon-size"],label:[1],caption:[1],dense:[4],selected:[4],trailingCheck:[4,"trailing-check"],disabled:[4],variant:[1],hasSubmenu:[32],submenuOpen:[32],submenuPlacementValue:[32],focusItem:[64],closeSubmenu:[64]}]);function m(){"undefined"!=typeof customElements&&["co-menu-item","co-icon","co-popover"].forEach((t=>{switch(t){case"co-menu-item":customElements.get(e(t))||customElements.define(e(t),r);break;case"co-icon":customElements.get(e(t))||n();break;case"co-popover":customElements.get(e(t))||c()}}))}m();const u=r,l=m;export{u as CoMenuItem,l as defineCustomElement}
1
+ import{t as e,p as t,H as i,c as o,h as s}from"./index.js";import{d as n}from"./p-DNJAIVfI.js";import{d as c}from"./p-D9T7zKeL.js";const a="submenu-side",r=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=o(this,"coSelect",7),this.coMenuSelect=o(this,"coMenuSelect",7),this.dense=!1,this.selected=!1,this.trailingCheck=!1,this.disabled=!1,this.variant="default",this.hasSubmenu=!1,this.submenuOpen=!1,this.submenuPlacementValue="right-start",this.handleClick=e=>{if(!this.disabled){if(this.hasSubmenu)return e.stopPropagation(),void this.openSubmenu();this.coSelect.emit(),this.coMenuSelect.emit()}},this.handleKeydown=e=>{var t;this.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.handleClick(e)):"ArrowRight"===e.key&&this.hasSubmenu?(e.preventDefault(),this.openSubmenu(),requestAnimationFrame((()=>{var e;const t=this.el.querySelector("co-menu-item");null===(e=null==t?void 0:t.focusItem)||void 0===e||e.call(t)}))):"ArrowLeft"===e.key&&this.submenuOpen&&(e.preventDefault(),this.submenuOpen=!1,null===(t=this.rowEl)||void 0===t||t.focus()))},this.handleMouseEnter=()=>{!this.disabled&&this.hasSubmenu&&(this.cancelClose(),this.openSubmenu())},this.handleMouseLeave=()=>{this.hasSubmenu&&this.scheduleClose()},this.handlePlacement=e=>{const t=function(e){const t=e.split("-")[0];return"left"===t||"right"===t?t:null}(e.detail.placement);t&&this.el.setAttribute(a,t)},this.cancelClose=()=>{this.closeTimer&&(window.clearTimeout(this.closeTimer),this.closeTimer=void 0)}}async focusItem(){var e;null===(e=this.rowEl)||void 0===e||e.focus()}componentWillLoad(){this.hasSubmenu=this.detectSubmenu()}disconnectedCallback(){this.cancelClose()}detectSubmenu(){for(const e of Array.from(this.el.children)){const t=e.tagName.toLowerCase();if("co-menu-item"===t||"co-menu-divider"===t)return!0}return!1}openSubmenu(){this.submenuOpen||this.closeSiblingSubmenus(),this.submenuPlacementValue=function(e){return"left"===e?"left-start":"right-start"}(function(e){var t;const i=null===(t=e.parentElement)||void 0===t?void 0:t.closest("co-menu-item"),o=null==i?void 0:i.getAttribute(a);return"left"===o||"right"===o?o:null}(this.el)),this.submenuOpen=!0}async closeSubmenu(){this.cancelClose(),this.submenuOpen=!1}closeSiblingSubmenus(){var e,t;const i=this.el.parentElement;if(i)for(const o of Array.from(i.children))o!==this.el&&"co-menu-item"===o.tagName.toLowerCase()&&(null===(t=(e=o).closeSubmenu)||void 0===t||t.call(e))}scheduleClose(){this.cancelClose(),this.closeTimer=window.setTimeout((()=>{this.submenuOpen=!1}),260)}render(){var e;const t=s("button",{ref:e=>this.rowEl=e,class:{"co-menu-item":!0,"co-menu-item--dense":this.dense,"co-menu-item--selected":this.selected,"co-menu-item--disabled":this.disabled,"co-menu-item--danger":"danger"===this.variant,"co-menu-item--submenu":this.hasSubmenu,"co-menu-item--submenu-open":this.hasSubmenu&&this.submenuOpen},type:"button",role:"menuitem","aria-haspopup":this.hasSubmenu?"menu":void 0,"aria-expanded":this.hasSubmenu?this.submenuOpen?"true":"false":void 0,disabled:this.disabled,onClick:this.handleClick,onKeyDown:this.handleKeydown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.icon&&s("span",{class:"co-menu-item__icon"},s("co-icon",{name:this.icon,size:null!==(e=this.iconSize)&&void 0!==e?e:16})),s("span",{class:{"co-menu-item__label":!0,"co-menu-item__label--stacked":!!this.caption}},s("span",{class:"co-menu-item__label-main"},this.label,s("slot",{name:"label"})),this.caption&&s("span",{class:"co-menu-item__caption"},this.caption)),this.trailingCheck&&s("span",{class:"co-menu-item__check"},s("co-icon",{name:"check",size:15})),s("span",{class:"co-menu-item__suffix"},s("slot",{name:"suffix"}),this.hasSubmenu&&s("co-icon",{name:"caret-right",size:14})));return this.hasSubmenu?s("div",{class:"co-menu-item__wrap co-menu-item__wrap--submenu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},s("co-popover",{placement:this.submenuPlacementValue,offset:4,open:this.submenuOpen,onCoOpen:()=>this.openSubmenu(),onCoClose:()=>{this.submenuOpen=!1},onCoPlacement:this.handlePlacement},s("div",{slot:"trigger",class:"co-menu-item__trigger-wrap"},t),s("div",{class:"co-menu-item__submenu",role:"menu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},s("slot",null)))):s("div",{class:"co-menu-item__wrap"},t)}get el(){return this}static get style(){return":host{display:block}.co-menu-item__wrap{display:block}.co-menu-item{width:100%;display:flex;align-items:center;gap:var(--co-menu-item-gap, var(--co-spacing-sm, 8px));padding:var(--co-menu-item-padding, var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px));background:transparent;border:0;border-radius:var(--co-border-radius-xs, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default);text-align:left;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:var(--co-menu-item-height, 36px);box-sizing:border-box}.co-menu-item--dense{padding:var(--co-spacing-xs, 4px) var(--co-spacing-md, 12px);min-height:32px}.co-menu-item--selected{background:var(--co-color-gray-100, #f6f6f6)}.co-menu-item:hover,.co-menu-item--submenu-open{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-menu-item:focus-visible{outline:2px solid var(--co-semantic-border-focus, #2563eb);outline-offset:-2px}.co-menu-item--disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.co-menu-item--danger{color:var(--co-color-status-error, #aa2e1b)}.co-menu-item--danger:hover{background:var(--co-color-status-bg-error, #ffefef)}.co-menu-item__icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-icon-color, currentColor)}.co-menu-item__check{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-semantic-text-default)}.co-menu-item__label{flex:1;display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-menu-item__label--stacked{flex-direction:column;align-items:flex-start;gap:1px}.co-menu-item__label-main{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px)}.co-menu-item__caption{font-size:var(--co-font-size-11, 11px);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap}.co-menu-item__suffix{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-menu-item--submenu-open .co-menu-item__suffix{color:var(--co-semantic-text-default)}.co-menu-item__trigger-wrap{display:block}.co-menu-item__wrap--submenu>co-popover{display:block;width:100%}.co-menu-item__submenu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:180px;display:flex;flex-direction:column;gap:2px;position:relative}.co-menu-item__submenu::before,.co-menu-item__submenu::after{content:'';position:absolute;top:0;bottom:0;width:6px;}.co-menu-item__submenu::before{left:-6px}.co-menu-item__submenu::after{right:-6px}"}},[257,"co-menu-item",{icon:[1],iconSize:[2,"icon-size"],label:[1],caption:[1],dense:[4],selected:[4],trailingCheck:[4,"trailing-check"],disabled:[4],variant:[1],hasSubmenu:[32],submenuOpen:[32],submenuPlacementValue:[32],focusItem:[64],closeSubmenu:[64]}]);function m(){"undefined"!=typeof customElements&&["co-menu-item","co-icon","co-popover"].forEach((t=>{switch(t){case"co-menu-item":customElements.get(e(t))||customElements.define(e(t),r);break;case"co-icon":customElements.get(e(t))||n();break;case"co-popover":customElements.get(e(t))||c()}}))}m();const u=r,l=m;export{u as CoMenuItem,l as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as t,H as o,c as s,h as n}from"./index.js";import{d as i}from"./p-DRP8D9ro.js";const c=t(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.placement="bottom-end",this.offset=4,this.autoClose=!0,this.open=!1,this.handleKeydown=e=>{if(this.open)switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),this.open=!1;break;case"ArrowDown":case"ArrowUp":e.preventDefault(),this.moveFocus("ArrowDown"===e.key?1:-1)}},this.handlePopoverOpen=()=>{this.open=!0,this.coOpen.emit()},this.handlePopoverClose=()=>{this.open=!1,this.coClose.emit()}}handleMenuSelect(){this.autoClose&&(this.open=!1)}onOpenChange(e){e?(document.addEventListener("keydown",this.handleKeydown,!0),requestAnimationFrame((()=>this.focusFirstItem()))):document.removeEventListener("keydown",this.handleKeydown,!0)}disconnectedCallback(){document.removeEventListener("keydown",this.handleKeydown,!0)}async focusFirstItem(){var e,t;null===(t=null===(e=this.getMenuItems()[0])||void 0===e?void 0:e.focusItem)||void 0===t||t.call(e)}getMenuItems(){return Array.from(this.el.querySelectorAll("co-menu-item"))}moveFocus(e){var t,o;const s=this.getMenuItems().filter((e=>!e.disabled));if(0===s.length)return;const n=document.activeElement;let i=s.findIndex((e=>e===n||e.contains(n)));-1===i&&(i=e>0?-1:s.length),null===(o=null===(t=s[(i+e+s.length)%s.length])||void 0===t?void 0:t.focusItem)||void 0===o||o.call(t)}render(){return n("co-popover",{key:"a386ccd371e9eb5627b6c70f43e66d6844df0b8a",placement:this.placement,offset:this.offset,open:this.open,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},n("slot",{key:"9115ac2e7689183d9d397bd602d1a8651dcf364d",name:"trigger",slot:"trigger"}),n("div",{key:"a56a14dfc5810144b93ca68ce54aceb7e5c2b85c",class:"co-menu",role:"menu",style:this.width?{width:this.width,minWidth:this.width}:void 0},n("slot",{key:"045510a7bbde56d841eee17d7561249a090e6de3"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}.co-menu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:200px;display:flex;flex-direction:column;gap:2px;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default)}"}},[257,"co-menu",{placement:[1],offset:[2],autoClose:[4,"auto-close"],open:[1540],width:[1],focusFirstItem:[64]},[[0,"coMenuSelect","handleMenuSelect"]],{open:[{onOpenChange:0}]}]);function a(){"undefined"!=typeof customElements&&["co-menu","co-popover"].forEach((t=>{switch(t){case"co-menu":customElements.get(e(t))||customElements.define(e(t),c);break;case"co-popover":customElements.get(e(t))||i()}}))}a();const r=c,d=a;export{r as CoMenu,d as defineCustomElement}
1
+ import{t as e,p as t,H as o,c as s,h as n}from"./index.js";import{d as i}from"./p-D9T7zKeL.js";const c=t(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.placement="bottom-end",this.offset=4,this.autoClose=!0,this.open=!1,this.handleKeydown=e=>{if(this.open)switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),this.open=!1;break;case"ArrowDown":case"ArrowUp":e.preventDefault(),this.moveFocus("ArrowDown"===e.key?1:-1)}},this.handlePopoverOpen=()=>{this.open=!0,this.coOpen.emit()},this.handlePopoverClose=()=>{this.open=!1,this.coClose.emit()}}handleMenuSelect(){this.autoClose&&(this.open=!1)}onOpenChange(e){e?(document.addEventListener("keydown",this.handleKeydown,!0),requestAnimationFrame((()=>this.focusFirstItem()))):document.removeEventListener("keydown",this.handleKeydown,!0)}disconnectedCallback(){document.removeEventListener("keydown",this.handleKeydown,!0)}async focusFirstItem(){var e,t;null===(t=null===(e=this.getMenuItems()[0])||void 0===e?void 0:e.focusItem)||void 0===t||t.call(e)}getMenuItems(){return Array.from(this.el.querySelectorAll("co-menu-item"))}moveFocus(e){var t,o;const s=this.getMenuItems().filter((e=>!e.disabled));if(0===s.length)return;const n=document.activeElement;let i=s.findIndex((e=>e===n||e.contains(n)));-1===i&&(i=e>0?-1:s.length),null===(o=null===(t=s[(i+e+s.length)%s.length])||void 0===t?void 0:t.focusItem)||void 0===o||o.call(t)}render(){return n("co-popover",{key:"a386ccd371e9eb5627b6c70f43e66d6844df0b8a",placement:this.placement,offset:this.offset,open:this.open,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},n("slot",{key:"9115ac2e7689183d9d397bd602d1a8651dcf364d",name:"trigger",slot:"trigger"}),n("div",{key:"a56a14dfc5810144b93ca68ce54aceb7e5c2b85c",class:"co-menu",role:"menu",style:this.width?{width:this.width,minWidth:this.width}:void 0},n("slot",{key:"045510a7bbde56d841eee17d7561249a090e6de3"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}.co-menu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:200px;display:flex;flex-direction:column;gap:2px;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default)}"}},[257,"co-menu",{placement:[1],offset:[2],autoClose:[4,"auto-close"],open:[1540],width:[1],focusFirstItem:[64]},[[0,"coMenuSelect","handleMenuSelect"]],{open:[{onOpenChange:0}]}]);function a(){"undefined"!=typeof customElements&&["co-menu","co-popover"].forEach((t=>{switch(t){case"co-menu":customElements.get(e(t))||customElements.define(e(t),c);break;case"co-popover":customElements.get(e(t))||i()}}))}a();const r=c,d=a;export{r as CoMenu,d as defineCustomElement}