@prolibu-suite/cobalt-core 0.9.5 → 0.9.6

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 (36) hide show
  1. package/custom-elements.json +20 -20
  2. package/dist/cjs/co-avatar_2.cjs.entry.js +1 -1
  3. package/dist/cobalt/cobalt.esm.js +1 -1
  4. package/dist/cobalt/{p-8b4b3589.entry.js → p-7532c739.entry.js} +1 -1
  5. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  6. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  7. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  8. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  9. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  10. package/dist/collection/components/co-data-table/co-data-table.js +1 -1
  11. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  12. package/dist/collection/components/co-popover/co-popover.js +1 -1
  13. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  14. package/dist/collection/components/co-ref-field/co-ref-field.js +3 -3
  15. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  16. package/dist/collection/components/co-select/co-select.js +1 -1
  17. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  18. package/dist/collection/components/co-toast/co-toast.js +2 -2
  19. package/dist/collection/components/co-tooltip/co-tooltip.css +6 -0
  20. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  21. package/dist/components/co-autocomplete.js +1 -1
  22. package/dist/components/co-avatar-group.js +1 -1
  23. package/dist/components/co-avatar.js +1 -1
  24. package/dist/components/co-combobox.js +1 -1
  25. package/dist/components/co-command-search.js +1 -1
  26. package/dist/components/co-file-field.js +1 -1
  27. package/dist/components/co-list-item.js +1 -1
  28. package/dist/components/co-option-list.js +1 -1
  29. package/dist/components/co-ref-field.js +1 -1
  30. package/dist/components/co-sidebar-nav.js +1 -1
  31. package/dist/components/co-tooltip.js +1 -1
  32. package/dist/components/{p-gI62K3Be.js → p-Bz0QZqnB.js} +1 -1
  33. package/dist/components/{p-C1Kv3zYZ.js → p-DI1ek0EB.js} +1 -1
  34. package/dist/components/{p-BZIB4JDs.js → p-D_9BRkj6.js} +1 -1
  35. package/dist/esm/co-avatar_2.entry.js +1 -1
  36. package/package.json +4 -4
@@ -1192,7 +1192,7 @@ export class CoRefField {
1192
1192
  "references": {
1193
1193
  "RefFieldOption": {
1194
1194
  "location": "local",
1195
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1195
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1196
1196
  "id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
1197
1197
  }
1198
1198
  }
@@ -1333,7 +1333,7 @@ export class CoRefField {
1333
1333
  "references": {
1334
1334
  "RefFieldOption": {
1335
1335
  "location": "local",
1336
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1336
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1337
1337
  "id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
1338
1338
  }
1339
1339
  }
@@ -1354,7 +1354,7 @@ export class CoRefField {
1354
1354
  "references": {
1355
1355
  "RefFieldOption": {
1356
1356
  "location": "local",
1357
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1357
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
1358
1358
  "id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
1359
1359
  }
1360
1360
  }
@@ -154,7 +154,7 @@ export class CoSegmentedBar {
154
154
  "references": {
155
155
  "CoSegment": {
156
156
  "location": "local",
157
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
157
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
158
158
  "id": "src/components/co-segmented-bar/co-segmented-bar.tsx::CoSegment"
159
159
  }
160
160
  }
@@ -718,7 +718,7 @@ export class CoSelect {
718
718
  "references": {
719
719
  "SelectOption": {
720
720
  "location": "local",
721
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-select/co-select.tsx",
721
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-select/co-select.tsx",
722
722
  "id": "src/components/co-select/co-select.tsx::SelectOption"
723
723
  }
724
724
  }
@@ -702,7 +702,7 @@ export class CoSidebarNav {
702
702
  "references": {
703
703
  "NavigateDetail": {
704
704
  "location": "local",
705
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-sidebar-nav/co-sidebar-nav.tsx",
705
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-sidebar-nav/co-sidebar-nav.tsx",
706
706
  "id": "src/components/co-sidebar-nav/co-sidebar-nav.tsx::NavigateDetail"
707
707
  }
708
708
  }
@@ -180,7 +180,7 @@ export class CoToast {
180
180
  "references": {
181
181
  "CoToastActionsLayout": {
182
182
  "location": "local",
183
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-toast/co-toast.tsx",
183
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-toast/co-toast.tsx",
184
184
  "id": "src/components/co-toast/co-toast.tsx::CoToastActionsLayout"
185
185
  }
186
186
  }
@@ -206,7 +206,7 @@ export class CoToast {
206
206
  "references": {
207
207
  "CoToastVariant": {
208
208
  "location": "local",
209
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-toast/co-toast.tsx",
209
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-toast/co-toast.tsx",
210
210
  "id": "src/components/co-toast/co-toast.tsx::CoToastVariant"
211
211
  }
212
212
  }
@@ -54,6 +54,12 @@
54
54
  font-size: var(--co-font-size-12, 12px);
55
55
  line-height: 1.4;
56
56
  font-weight: 400;
57
+ /* El panel NO hereda la tipografía del contexto donde se usa. Sin esto, un
58
+ tooltip dentro de un encabezado en versalitas (text-transform: uppercase +
59
+ letter-spacing) sale GRITADO y espaciado: el resto de la tipografía ya se
60
+ fija arriba, faltaban estas dos, que también son heredables. */
61
+ text-transform: none;
62
+ letter-spacing: var(--co-font-letter-spacing-body, normal);
57
63
 
58
64
  padding: var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);
59
65
  border-radius: var(--co-border-radius-xxs, 4px);
@@ -205,7 +205,7 @@ export class CoTransferList {
205
205
  "references": {
206
206
  "TransferOption": {
207
207
  "location": "local",
208
- "path": "/Users/agox/worktrees/cobalt-rel-095/packages/core/src/components/co-transfer-list/co-transfer-list.tsx",
208
+ "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-transfer-list/co-transfer-list.tsx",
209
209
  "id": "src/components/co-transfer-list/co-transfer-list.tsx::TransferOption"
210
210
  }
211
211
  }
@@ -1 +1 @@
1
- import{t as e,p as t,H as o,c,h as a}from"./index.js";import{R as i}from"./p-CWneqh4n.js";import{d as s}from"./p-BZIB4JDs.js";import{d as r}from"./p-Bxk96Zgc.js";import{d as l}from"./p-Dj1EZ5qD.js";import{d as n}from"./p-BH184F0X.js";import{d as p}from"./p-C1Kv3zYZ.js";import{d as h}from"./p-gI62K3Be.js";const d=t(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSearch=c(this,"coSearch",7),this.coChange=c(this,"coChange",7),this.coClear=c(this,"coClear",7),this.required=!1,this.placeholder="Search…",this.disabled=!1,this.clearable=!0,this.layout="vertical",this.size="md",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.loading=!1,this.minChars=1,this.searchDebounce=300,this.emptyMessage="No results",this.isOpen=!1,this.query="",this.focused=!1,this.handleInput=e=>{const t=e.target.value;this.query=t,this.debounceTimer&&clearTimeout(this.debounceTimer),t.length>=this.minChars?(this.debounceTimer=setTimeout((()=>this.coSearch.emit(t)),this.searchDebounce),this.isOpen=!0):this.isOpen=!1},this.handleFocus=()=>{this.focused=!0,this.query.length>=this.minChars&&this.parsedOptions.length>0&&(this.isOpen=!0)},this.handleClear=e=>{var t;e.stopPropagation(),this.query="",this.value=this.multiple?"[]":"",this.isOpen=!1,this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null}),null===(t=this.inputEl)||void 0===t||t.focus()},this.handleChipRemove=e=>{const t=this.selectedValues.filter((t=>t!==e));this.value=JSON.stringify(t),this.coChange.emit({value:t,item:{_id:e,label:e}})},this.handleListChange=e=>{if(null==e.value)return this.value=this.multiple?"[]":"",this.query="",this.isOpen=!1,void this.coChange.emit({value:null,item:null});this.multiple?(this.value=JSON.stringify(e.value),this.coChange.emit({value:e.value,item:e.item})):(this.value=e.value,this.query=e.item.label,this.isOpen=!1,this.coChange.emit({value:e.value,item:e.item}))},this.handleInputKeyDown=async e=>{"Escape"!==e.key?this.isOpen&&this.optionListEl&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Enter"!==e.key||(e.preventDefault(),await this.optionListEl.handleKey(e))):this.isOpen=!1}}get parsedOptions(){let e=this.options;if("string"==typeof e)try{e=JSON.parse(e)}catch(e){return[]}return Array.isArray(e)?e.map((e=>"string"==typeof e?{label:e,value:e}:e)):[]}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}componentWillLoad(){this.syncQueryFromValue()}onOptionsChange(){this.query.length>=this.minChars&&(this.isOpen=!0),this.focused||this.syncQueryFromValue()}onValueChange(){this.syncQueryFromValue()}syncQueryFromValue(){if(!this.multiple&&"string"==typeof this.value&&this.value){const e=this.parsedOptions.find((e=>e.value===this.value));this.query=e?e.label:this.value}else this.multiple||this.value||(this.query="")}handleDocumentClick(e){this.el.contains(e.target)||(this.isOpen=!1,this.focused=!1)}render(){const e=this.parsedOptions,t=this.selectedValues;return a("div",{key:"0fad340e2daa5ee4b56e28325d5eaec4d60d7188",class:{"co-autocomplete":!0,"co-autocomplete--disabled":this.disabled,"co-autocomplete--focused":this.focused,["co-autocomplete--"+this.size]:!0,["co-autocomplete--"+this.status]:"default"!==this.status}},(this.label||this.secondaryLabel)&&a("div",{key:"a724b6267fd6dbe267725f3619677e043843c96c",class:"co-autocomplete__labels"},this.label&&a("label",{key:"45c176c82f0967c6ff0f1f323d36834d247f8ac6",class:"co-autocomplete__label"},this.label,a(i,{key:"52940ac88fa7ba5f2b662990a66b0ad84d728ecc",required:this.required})),this.secondaryLabel&&a("span",{key:"5eac2ccf44d59067f7ca070561c18c9b45b4cfc1",class:"co-autocomplete__secondary-label"},this.secondaryLabel)),a("div",{key:"4837e011ac491a34efdfb84bd80f2baa52c4f451",class:"co-autocomplete__field"},this.iconLeft&&a("co-icon",{key:"1a46dba433dec3b8dec82b6d2e93cee0575f5673",name:this.iconLeft,size:16,class:"co-autocomplete__icon"}),this.multiple&&t.length>0&&a("div",{key:"95054c8e5ec371ba04f6fa5938d74babffef473f",class:"co-autocomplete__chips"},t.map((e=>{const t=this.parsedOptions.find((t=>t.value===e));return a("co-chip",{label:t?t.label:e,size:"small",removable:!0,onCoRemove:()=>this.handleChipRemove(e)})}))),a("input",{key:"016887bf4fa1872bafd1ba60a7fb960ca89e8b76",ref:e=>this.inputEl=e,class:"co-autocomplete__input",type:"text",value:this.query,placeholder:this.placeholder,disabled:this.disabled,onInput:this.handleInput,onFocus:this.handleFocus,onKeyDown:this.handleInputKeyDown}),this.loading&&a("div",{key:"eac7e752a8d8f18b866c5fe4283707e851355328",class:"co-autocomplete__spinner"}),this.clearable&&(this.hasValue||this.query)&&!this.disabled&&a("button",{key:"aac8dcfced13e8abf3bb6beb0fa56124814804ea",class:"co-autocomplete__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},a("co-icon",{key:"8a5605cfe09eb17ca65c9fd97662ceec893431b7",name:"x-circle",size:16,weight:"fill"}))),this.isOpen&&a("div",{key:"7263c42e73656db3ee8d1c1c2f5f5cd941b0e40b",class:"co-autocomplete__dropdown"},a("co-option-list",{key:"32071562943c992b0013451c8b89da20590554cf",ref:e=>this.optionListEl=e,items:JSON.stringify(e.map((e=>({_id:e.value,label:e.label,icon:e.icon,disabled:e.disabled})))),value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",virtual:!0,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:e=>this.handleListChange(e.detail)})),this.helperText&&a("div",{key:"47ba4956d829c700700a7509e8fd2fc58dd6e4d9",class:"co-autocomplete__helper co-autocomplete__helper--"+this.status},this.statusIcon&&a("co-icon",{key:"b4363e83a7258241d23f4911c1f6fb352330c19d",name:this.statusIcon,size:14,weight:"fill",class:"co-autocomplete__helper-icon"}),a("span",{key:"952777047bd27a6604daea9531f26ce5aab0c475",class:"co-autocomplete__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{options:[{onOptionsChange: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-autocomplete{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-autocomplete__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-autocomplete__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-autocomplete__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-autocomplete--disabled .co-autocomplete__label,.co-autocomplete--disabled .co-autocomplete__secondary-label{color:var(--co-semantic-text-disabled)}.co-autocomplete__field{display:flex;align-items:center;flex-wrap:wrap;gap:var(--co-spacing-xs);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;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-autocomplete--s .co-autocomplete__field{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-autocomplete--sm .co-autocomplete__field{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-autocomplete--lg .co-autocomplete__field{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-autocomplete--focused .co-autocomplete__field{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-autocomplete--disabled .co-autocomplete__field{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-autocomplete--error .co-autocomplete__field{border-color:var(--co-semantic-status-error)}.co-autocomplete--success .co-autocomplete__field{border-color:var(--co-semantic-status-success)}.co-autocomplete--warning .co-autocomplete__field{border-color:var(--co-color-status-review)}.co-autocomplete--info .co-autocomplete__field{border-color:var(--co-semantic-status-info)}.co-autocomplete__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-autocomplete__chips{display:flex;flex-wrap:wrap;gap:var(--co-spacing-xs)}.co-autocomplete__input{flex:1;min-width:80px;border:none;background:transparent;color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;line-height:1;padding:0;outline:none}.co-autocomplete__input::placeholder{color:var(--co-semantic-text-muted)}.co-autocomplete--disabled .co-autocomplete__input{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-autocomplete__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-autocomplete__clear:hover{color:var(--co-semantic-text-default)}.co-autocomplete__spinner{width:16px;height:16px;border:2px solid var(--co-semantic-border-subtle);border-top-color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-full);animation:co-spin 0.6s linear infinite;flex-shrink:0}@keyframes co-spin{to{transform:rotate(360deg)}}.co-autocomplete__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px rgba(31, 28, 27, 0.08);overflow:hidden;}.co-autocomplete__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-autocomplete__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-autocomplete__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-autocomplete__helper--error .co-autocomplete__helper-icon,.co-autocomplete__helper--error .co-autocomplete__helper-text{color:var(--co-semantic-status-error)}.co-autocomplete__helper--success .co-autocomplete__helper-icon,.co-autocomplete__helper--success .co-autocomplete__helper-text{color:var(--co-semantic-status-success)}.co-autocomplete__helper--warning .co-autocomplete__helper-icon,.co-autocomplete__helper--warning .co-autocomplete__helper-text{color:var(--co-color-status-review)}.co-autocomplete__helper--info .co-autocomplete__helper-icon,.co-autocomplete__helper--info .co-autocomplete__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-autocomplete{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-autocomplete__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-autocomplete__label{white-space:normal}:host([layout='horizontal']) .co-autocomplete>:not(.co-autocomplete__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-autocomplete",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],helperText:[1,"helper-text"],layout:[513],size:[513],status:[1],options:[1],value:[1025],multiple:[4],loading:[4],minChars:[2,"min-chars"],searchDebounce:[2,"search-debounce"],emptyMessage:[1,"empty-message"],isOpen:[32],query:[32],focused:[32]},[[4,"click","handleDocumentClick"]],{options:[{onOptionsChange:0}],value:[{onValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["co-autocomplete","co-avatar","co-chip","co-icon","co-loader","co-option-list","co-tooltip"].forEach((t=>{switch(t){case"co-autocomplete":customElements.get(e(t))||customElements.define(e(t),d);break;case"co-avatar":customElements.get(e(t))||s();break;case"co-chip":customElements.get(e(t))||r();break;case"co-icon":customElements.get(e(t))||l();break;case"co-loader":customElements.get(e(t))||n();break;case"co-option-list":customElements.get(e(t))||p();break;case"co-tooltip":customElements.get(e(t))||h()}}))}u();const m=d,f=u;export{m as CoAutocomplete,f as defineCustomElement}
1
+ import{t as e,p as t,H as o,c,h as a}from"./index.js";import{R as i}from"./p-CWneqh4n.js";import{d as s}from"./p-D_9BRkj6.js";import{d as r}from"./p-Bxk96Zgc.js";import{d as l}from"./p-Dj1EZ5qD.js";import{d as n}from"./p-BH184F0X.js";import{d as p}from"./p-DI1ek0EB.js";import{d as h}from"./p-Bz0QZqnB.js";const d=t(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSearch=c(this,"coSearch",7),this.coChange=c(this,"coChange",7),this.coClear=c(this,"coClear",7),this.required=!1,this.placeholder="Search…",this.disabled=!1,this.clearable=!0,this.layout="vertical",this.size="md",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.loading=!1,this.minChars=1,this.searchDebounce=300,this.emptyMessage="No results",this.isOpen=!1,this.query="",this.focused=!1,this.handleInput=e=>{const t=e.target.value;this.query=t,this.debounceTimer&&clearTimeout(this.debounceTimer),t.length>=this.minChars?(this.debounceTimer=setTimeout((()=>this.coSearch.emit(t)),this.searchDebounce),this.isOpen=!0):this.isOpen=!1},this.handleFocus=()=>{this.focused=!0,this.query.length>=this.minChars&&this.parsedOptions.length>0&&(this.isOpen=!0)},this.handleClear=e=>{var t;e.stopPropagation(),this.query="",this.value=this.multiple?"[]":"",this.isOpen=!1,this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null}),null===(t=this.inputEl)||void 0===t||t.focus()},this.handleChipRemove=e=>{const t=this.selectedValues.filter((t=>t!==e));this.value=JSON.stringify(t),this.coChange.emit({value:t,item:{_id:e,label:e}})},this.handleListChange=e=>{if(null==e.value)return this.value=this.multiple?"[]":"",this.query="",this.isOpen=!1,void this.coChange.emit({value:null,item:null});this.multiple?(this.value=JSON.stringify(e.value),this.coChange.emit({value:e.value,item:e.item})):(this.value=e.value,this.query=e.item.label,this.isOpen=!1,this.coChange.emit({value:e.value,item:e.item}))},this.handleInputKeyDown=async e=>{"Escape"!==e.key?this.isOpen&&this.optionListEl&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Enter"!==e.key||(e.preventDefault(),await this.optionListEl.handleKey(e))):this.isOpen=!1}}get parsedOptions(){let e=this.options;if("string"==typeof e)try{e=JSON.parse(e)}catch(e){return[]}return Array.isArray(e)?e.map((e=>"string"==typeof e?{label:e,value:e}:e)):[]}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}componentWillLoad(){this.syncQueryFromValue()}onOptionsChange(){this.query.length>=this.minChars&&(this.isOpen=!0),this.focused||this.syncQueryFromValue()}onValueChange(){this.syncQueryFromValue()}syncQueryFromValue(){if(!this.multiple&&"string"==typeof this.value&&this.value){const e=this.parsedOptions.find((e=>e.value===this.value));this.query=e?e.label:this.value}else this.multiple||this.value||(this.query="")}handleDocumentClick(e){this.el.contains(e.target)||(this.isOpen=!1,this.focused=!1)}render(){const e=this.parsedOptions,t=this.selectedValues;return a("div",{key:"0fad340e2daa5ee4b56e28325d5eaec4d60d7188",class:{"co-autocomplete":!0,"co-autocomplete--disabled":this.disabled,"co-autocomplete--focused":this.focused,["co-autocomplete--"+this.size]:!0,["co-autocomplete--"+this.status]:"default"!==this.status}},(this.label||this.secondaryLabel)&&a("div",{key:"a724b6267fd6dbe267725f3619677e043843c96c",class:"co-autocomplete__labels"},this.label&&a("label",{key:"45c176c82f0967c6ff0f1f323d36834d247f8ac6",class:"co-autocomplete__label"},this.label,a(i,{key:"52940ac88fa7ba5f2b662990a66b0ad84d728ecc",required:this.required})),this.secondaryLabel&&a("span",{key:"5eac2ccf44d59067f7ca070561c18c9b45b4cfc1",class:"co-autocomplete__secondary-label"},this.secondaryLabel)),a("div",{key:"4837e011ac491a34efdfb84bd80f2baa52c4f451",class:"co-autocomplete__field"},this.iconLeft&&a("co-icon",{key:"1a46dba433dec3b8dec82b6d2e93cee0575f5673",name:this.iconLeft,size:16,class:"co-autocomplete__icon"}),this.multiple&&t.length>0&&a("div",{key:"95054c8e5ec371ba04f6fa5938d74babffef473f",class:"co-autocomplete__chips"},t.map((e=>{const t=this.parsedOptions.find((t=>t.value===e));return a("co-chip",{label:t?t.label:e,size:"small",removable:!0,onCoRemove:()=>this.handleChipRemove(e)})}))),a("input",{key:"016887bf4fa1872bafd1ba60a7fb960ca89e8b76",ref:e=>this.inputEl=e,class:"co-autocomplete__input",type:"text",value:this.query,placeholder:this.placeholder,disabled:this.disabled,onInput:this.handleInput,onFocus:this.handleFocus,onKeyDown:this.handleInputKeyDown}),this.loading&&a("div",{key:"eac7e752a8d8f18b866c5fe4283707e851355328",class:"co-autocomplete__spinner"}),this.clearable&&(this.hasValue||this.query)&&!this.disabled&&a("button",{key:"aac8dcfced13e8abf3bb6beb0fa56124814804ea",class:"co-autocomplete__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},a("co-icon",{key:"8a5605cfe09eb17ca65c9fd97662ceec893431b7",name:"x-circle",size:16,weight:"fill"}))),this.isOpen&&a("div",{key:"7263c42e73656db3ee8d1c1c2f5f5cd941b0e40b",class:"co-autocomplete__dropdown"},a("co-option-list",{key:"32071562943c992b0013451c8b89da20590554cf",ref:e=>this.optionListEl=e,items:JSON.stringify(e.map((e=>({_id:e.value,label:e.label,icon:e.icon,disabled:e.disabled})))),value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",virtual:!0,loading:this.loading,emptyMessage:this.emptyMessage,onCoChange:e=>this.handleListChange(e.detail)})),this.helperText&&a("div",{key:"47ba4956d829c700700a7509e8fd2fc58dd6e4d9",class:"co-autocomplete__helper co-autocomplete__helper--"+this.status},this.statusIcon&&a("co-icon",{key:"b4363e83a7258241d23f4911c1f6fb352330c19d",name:this.statusIcon,size:14,weight:"fill",class:"co-autocomplete__helper-icon"}),a("span",{key:"952777047bd27a6604daea9531f26ce5aab0c475",class:"co-autocomplete__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{options:[{onOptionsChange: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-autocomplete{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-autocomplete__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-autocomplete__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-autocomplete__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-autocomplete--disabled .co-autocomplete__label,.co-autocomplete--disabled .co-autocomplete__secondary-label{color:var(--co-semantic-text-disabled)}.co-autocomplete__field{display:flex;align-items:center;flex-wrap:wrap;gap:var(--co-spacing-xs);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;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-autocomplete--s .co-autocomplete__field{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-autocomplete--sm .co-autocomplete__field{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-autocomplete--lg .co-autocomplete__field{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-autocomplete--focused .co-autocomplete__field{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-autocomplete--disabled .co-autocomplete__field{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-autocomplete--error .co-autocomplete__field{border-color:var(--co-semantic-status-error)}.co-autocomplete--success .co-autocomplete__field{border-color:var(--co-semantic-status-success)}.co-autocomplete--warning .co-autocomplete__field{border-color:var(--co-color-status-review)}.co-autocomplete--info .co-autocomplete__field{border-color:var(--co-semantic-status-info)}.co-autocomplete__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-autocomplete__chips{display:flex;flex-wrap:wrap;gap:var(--co-spacing-xs)}.co-autocomplete__input{flex:1;min-width:80px;border:none;background:transparent;color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;line-height:1;padding:0;outline:none}.co-autocomplete__input::placeholder{color:var(--co-semantic-text-muted)}.co-autocomplete--disabled .co-autocomplete__input{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-autocomplete__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-autocomplete__clear:hover{color:var(--co-semantic-text-default)}.co-autocomplete__spinner{width:16px;height:16px;border:2px solid var(--co-semantic-border-subtle);border-top-color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-full);animation:co-spin 0.6s linear infinite;flex-shrink:0}@keyframes co-spin{to{transform:rotate(360deg)}}.co-autocomplete__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;margin-top:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-sm, 12px);box-shadow:0 4px 16px rgba(31, 28, 27, 0.08);overflow:hidden;}.co-autocomplete__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-autocomplete__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-autocomplete__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-autocomplete__helper--error .co-autocomplete__helper-icon,.co-autocomplete__helper--error .co-autocomplete__helper-text{color:var(--co-semantic-status-error)}.co-autocomplete__helper--success .co-autocomplete__helper-icon,.co-autocomplete__helper--success .co-autocomplete__helper-text{color:var(--co-semantic-status-success)}.co-autocomplete__helper--warning .co-autocomplete__helper-icon,.co-autocomplete__helper--warning .co-autocomplete__helper-text{color:var(--co-color-status-review)}.co-autocomplete__helper--info .co-autocomplete__helper-icon,.co-autocomplete__helper--info .co-autocomplete__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-autocomplete{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-autocomplete__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-autocomplete__label{white-space:normal}:host([layout='horizontal']) .co-autocomplete>:not(.co-autocomplete__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-autocomplete",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],clearable:[4],helperText:[1,"helper-text"],layout:[513],size:[513],status:[1],options:[1],value:[1025],multiple:[4],loading:[4],minChars:[2,"min-chars"],searchDebounce:[2,"search-debounce"],emptyMessage:[1,"empty-message"],isOpen:[32],query:[32],focused:[32]},[[4,"click","handleDocumentClick"]],{options:[{onOptionsChange:0}],value:[{onValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["co-autocomplete","co-avatar","co-chip","co-icon","co-loader","co-option-list","co-tooltip"].forEach((t=>{switch(t){case"co-autocomplete":customElements.get(e(t))||customElements.define(e(t),d);break;case"co-avatar":customElements.get(e(t))||s();break;case"co-chip":customElements.get(e(t))||r();break;case"co-icon":customElements.get(e(t))||l();break;case"co-loader":customElements.get(e(t))||n();break;case"co-option-list":customElements.get(e(t))||p();break;case"co-tooltip":customElements.get(e(t))||h()}}))}u();const m=d,f=u;export{m as CoAutocomplete,f as defineCustomElement}
@@ -1 +1 @@
1
- import{t as a,p as o,H as t,c as e,h as r}from"./index.js";import{d as i}from"./p-BZIB4JDs.js";import{d as s}from"./p-Dj1EZ5qD.js";import{d as c}from"./p-gI62K3Be.js";const n={xl:80,lg:64,md:56,sm:48,xs:32,xxs:24},l={xl:"var(--co-font-size-26)",lg:"var(--co-font-size-22)",md:"var(--co-font-size-18)",sm:"var(--co-font-size-16)",xs:"var(--co-font-size-12)",xxs:"var(--co-font-size-10)"},v=o(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coClick=e(this,"coClick",3),this.items=[],this.max=4,this.size="xs",this.shape="circle",this.interactive=!1,this.activate=()=>{this.coClick.emit()}}accessibleLabel(a){return this.label?this.label:a.map((a=>a.name||a.text)).filter(Boolean).join(", ")}render(){var a,o;const t=Array.isArray(this.items)?this.items:[],e=this.max>0?this.max:t.length,i=t.slice(0,e),s=Math.max(0,t.length-e),c=null!==(a=n[this.size])&&void 0!==a?a:n.xs,v=null!==(o=l[this.size])&&void 0!==o?o:l.xs,p=t.slice(e).map((a=>a.name||a.text)).filter(Boolean).join(", "),u=this.interactive?"button":"div",d=this.interactive?{type:"button","aria-label":this.accessibleLabel(t),onClick:this.activate}:{role:"group"};return r(u,Object.assign({key:"efe3aa5c3a13c33d220caf93f8ce7dfc929f9833",class:{"co-avatar-group":!0,"co-avatar-group--interactive":this.interactive}},d),i.map(((a,o)=>{var t,e,i;return r("co-avatar",{key:o,class:"co-avatar-group__avatar",type:null!==(t=a.type)&&void 0!==t?t:a.src?"image":a.icon?"icon":"text",size:this.size,shape:null!==(e=a.shape)&&void 0!==e?e:this.shape,text:a.text,src:a.src,icon:null!==(i=a.icon)&&void 0!==i?i:"user",color:a.color,"ring-color":a.ringColor,name:a.name||a.text||""})})),s>0&&r("co-tooltip",{key:"b6dffe856f5984d2e2731e84d9d4a46cfcfa0c7b",class:"co-avatar-group__slot",content:p,placement:"bottom"},r("div",{key:"b7fe90ee1800ede2bdc3b8674d6ab0dcdfa4ac48",class:"co-avatar-group__overflow",style:{width:c+"px",height:c+"px",fontSize:v},role:"img","aria-label":"+"+s},"+",s)))}static get style(){return":host{display:inline-flex}.co-avatar-group{display:inline-flex;align-items:center}.co-avatar-group--interactive{appearance:none;-webkit-appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--co-border-radius-full);outline:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-avatar-group--interactive:hover{opacity:0.88}.co-avatar-group--interactive:focus-visible{box-shadow:0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-avatar-group__slot{display:inline-flex;align-items:center;line-height:0}.co-avatar-group>*:not(:first-child){margin-left:calc(-1 * var(--co-avatar-group-overlap, var(--co-spacing-sm)))}.co-avatar-group__avatar::part(avatar),.co-avatar-group__overflow{box-shadow:0 0 0 var(--co-avatar-group-ring-width, 2px) var(--co-semantic-surface-page)}.co-avatar-group__avatar,.co-avatar-group__overflow{vertical-align:middle}.co-avatar-group__overflow{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);font-family:var(--co-font-family-primary);font-weight:600;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);flex-shrink:0;user-select:none;-webkit-font-smoothing:antialiased}"}},[1,"co-avatar-group",{items:[16],max:[2],size:[1],shape:[1],interactive:[4],label:[1]}]);function p(){"undefined"!=typeof customElements&&["co-avatar-group","co-avatar","co-icon","co-tooltip"].forEach((o=>{switch(o){case"co-avatar-group":customElements.get(a(o))||customElements.define(a(o),v);break;case"co-avatar":customElements.get(a(o))||i();break;case"co-icon":customElements.get(a(o))||s();break;case"co-tooltip":customElements.get(a(o))||c()}}))}p();const u=v,d=p;export{u as CoAvatarGroup,d as defineCustomElement}
1
+ import{t as a,p as o,H as t,c as e,h as r}from"./index.js";import{d as i}from"./p-D_9BRkj6.js";import{d as s}from"./p-Dj1EZ5qD.js";import{d as c}from"./p-Bz0QZqnB.js";const n={xl:80,lg:64,md:56,sm:48,xs:32,xxs:24},l={xl:"var(--co-font-size-26)",lg:"var(--co-font-size-22)",md:"var(--co-font-size-18)",sm:"var(--co-font-size-16)",xs:"var(--co-font-size-12)",xxs:"var(--co-font-size-10)"},v=o(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.coClick=e(this,"coClick",3),this.items=[],this.max=4,this.size="xs",this.shape="circle",this.interactive=!1,this.activate=()=>{this.coClick.emit()}}accessibleLabel(a){return this.label?this.label:a.map((a=>a.name||a.text)).filter(Boolean).join(", ")}render(){var a,o;const t=Array.isArray(this.items)?this.items:[],e=this.max>0?this.max:t.length,i=t.slice(0,e),s=Math.max(0,t.length-e),c=null!==(a=n[this.size])&&void 0!==a?a:n.xs,v=null!==(o=l[this.size])&&void 0!==o?o:l.xs,p=t.slice(e).map((a=>a.name||a.text)).filter(Boolean).join(", "),u=this.interactive?"button":"div",d=this.interactive?{type:"button","aria-label":this.accessibleLabel(t),onClick:this.activate}:{role:"group"};return r(u,Object.assign({key:"efe3aa5c3a13c33d220caf93f8ce7dfc929f9833",class:{"co-avatar-group":!0,"co-avatar-group--interactive":this.interactive}},d),i.map(((a,o)=>{var t,e,i;return r("co-avatar",{key:o,class:"co-avatar-group__avatar",type:null!==(t=a.type)&&void 0!==t?t:a.src?"image":a.icon?"icon":"text",size:this.size,shape:null!==(e=a.shape)&&void 0!==e?e:this.shape,text:a.text,src:a.src,icon:null!==(i=a.icon)&&void 0!==i?i:"user",color:a.color,"ring-color":a.ringColor,name:a.name||a.text||""})})),s>0&&r("co-tooltip",{key:"b6dffe856f5984d2e2731e84d9d4a46cfcfa0c7b",class:"co-avatar-group__slot",content:p,placement:"bottom"},r("div",{key:"b7fe90ee1800ede2bdc3b8674d6ab0dcdfa4ac48",class:"co-avatar-group__overflow",style:{width:c+"px",height:c+"px",fontSize:v},role:"img","aria-label":"+"+s},"+",s)))}static get style(){return":host{display:inline-flex}.co-avatar-group{display:inline-flex;align-items:center}.co-avatar-group--interactive{appearance:none;-webkit-appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;border-radius:var(--co-border-radius-full);outline:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-avatar-group--interactive:hover{opacity:0.88}.co-avatar-group--interactive:focus-visible{box-shadow:0 0 0 2px var(--co-semantic-surface-page), 0 0 0 4px var(--co-semantic-border-focus)}.co-avatar-group__slot{display:inline-flex;align-items:center;line-height:0}.co-avatar-group>*:not(:first-child){margin-left:calc(-1 * var(--co-avatar-group-overlap, var(--co-spacing-sm)))}.co-avatar-group__avatar::part(avatar),.co-avatar-group__overflow{box-shadow:0 0 0 var(--co-avatar-group-ring-width, 2px) var(--co-semantic-surface-page)}.co-avatar-group__avatar,.co-avatar-group__overflow{vertical-align:middle}.co-avatar-group__overflow{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);font-family:var(--co-font-family-primary);font-weight:600;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);flex-shrink:0;user-select:none;-webkit-font-smoothing:antialiased}"}},[1,"co-avatar-group",{items:[16],max:[2],size:[1],shape:[1],interactive:[4],label:[1]}]);function p(){"undefined"!=typeof customElements&&["co-avatar-group","co-avatar","co-icon","co-tooltip"].forEach((o=>{switch(o){case"co-avatar-group":customElements.get(a(o))||customElements.define(a(o),v);break;case"co-avatar":customElements.get(a(o))||i();break;case"co-icon":customElements.get(a(o))||s();break;case"co-tooltip":customElements.get(a(o))||c()}}))}p();const u=v,d=p;export{u as CoAvatarGroup,d as defineCustomElement}
@@ -1 +1 @@
1
- import{C as s,d as o}from"./p-BZIB4JDs.js";const p=s,r=o;export{p as CoAvatar,r as defineCustomElement}
1
+ import{C as o,d as s}from"./p-D_9BRkj6.js";const p=o,r=s;export{p as CoAvatar,r 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-CQY6Ul7q.js";import{d as r}from"./p-BZIB4JDs.js";import{d as n}from"./p-Bxk96Zgc.js";import{d as l}from"./p-Dj1EZ5qD.js";import{d as h}from"./p-CA_JAK9s.js";import{d as b}from"./p-BH184F0X.js";import{d}from"./p-C1Kv3zYZ.js";import{d as m}from"./p-DP0bbhfN.js";import{d as p}from"./p-gI62K3Be.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-CQY6Ul7q.js";import{d as r}from"./p-D_9BRkj6.js";import{d as n}from"./p-Bxk96Zgc.js";import{d as l}from"./p-Dj1EZ5qD.js";import{d as h}from"./p-CA_JAK9s.js";import{d as b}from"./p-BH184F0X.js";import{d}from"./p-DI1ek0EB.js";import{d as m}from"./p-DP0bbhfN.js";import{d as p}from"./p-Bz0QZqnB.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-CQY6Ul7q.js";import{d as r}from"./p-BZIB4JDs.js";import{d as i}from"./p-Bxk96Zgc.js";import{d as n}from"./p-Dj1EZ5qD.js";import{d}from"./p-BH184F0X.js";import{d as h}from"./p-C1Kv3zYZ.js";import{d as l}from"./p-D6OUW6oW.js";import{d as m}from"./p-gI62K3Be.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-CQY6Ul7q.js";import{d as r}from"./p-D_9BRkj6.js";import{d as i}from"./p-Bxk96Zgc.js";import{d as n}from"./p-Dj1EZ5qD.js";import{d}from"./p-BH184F0X.js";import{d as h}from"./p-DI1ek0EB.js";import{d as l}from"./p-D6OUW6oW.js";import{d as m}from"./p-Bz0QZqnB.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 as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{d as s}from"./p-Dj1EZ5qD.js";import{d as l}from"./p-BTQEg3UO.js";import{d as c}from"./p-gI62K3Be.js";const n={es:{uploadButton:"Cargar archivo",dropHint:"Arrastra y suelta archivos aquí",helperBoth:"Puedes subir hasta {n} archivos, cada uno hasta {x}",helperFiles:"Puedes subir hasta {n} archivos",helperBytes:"Cada archivo hasta {x}",uploadedTitle:"Archivos subidos",removeFile:"Eliminar archivo",copyUrl:"Copiar enlace",downloadFile:"Descargar",copied:"Copiado",dragToReorder:"Arrastra para reordenar",openPreview:"Abrir vista previa",errInvalidFormat:"Formato no permitido: .{x}",errTooLarge:"Archivo demasiado grande: {x}",errMaxFiles:"Puedes subir hasta {n} archivos"},en:{uploadButton:"Upload file",dropHint:"Drag and drop files here",helperBoth:"You can upload up to {n} files, each up to {x}",helperFiles:"You can upload up to {n} files",helperBytes:"Each file up to {x}",uploadedTitle:"Uploaded files",removeFile:"Remove file",copyUrl:"Copy link",downloadFile:"Download",copied:"Copied",dragToReorder:"Drag to reorder",openPreview:"Open preview",errInvalidFormat:"Invalid format: .{x}",errTooLarge:"File too large: {x}",errMaxFiles:"You can upload up to {n} files"},pt:{uploadButton:"Carregar arquivo",dropHint:"Arraste e solte arquivos aqui",helperBoth:"Você pode enviar até {n} arquivos, cada um até {x}",helperFiles:"Você pode enviar até {n} arquivos",helperBytes:"Cada arquivo até {x}",uploadedTitle:"Arquivos enviados",removeFile:"Remover arquivo",copyUrl:"Copiar link",downloadFile:"Baixar",copied:"Copiado",dragToReorder:"Arraste para reordenar",openPreview:"Abrir pré-visualização",errInvalidFormat:"Formato inválido: .{x}",errTooLarge:"Arquivo muito grande: {x}",errMaxFiles:"Você pode enviar até {n} arquivos"}};function d(e,i){var o,t;return e.replace("{n}",(null!==(o=i.n)&&void 0!==o?o:"")+"").replace("{x}",null!==(t=i.x)&&void 0!==t?t:"")}function f(e){if(null==e||isNaN(e))return"";if(e<1024)return e+" B";const i=e=>e.toFixed(2).replace(/\.?0+$/,"");return e<1048576?i(e/1024)+" KB":i(e/1048576)+" MB"}const h=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]);function p(e){const i=(e.name||e.url||"").split("?")[0],o=i.lastIndexOf(".");return o>=0&&h.has(i.slice(o+1).toLowerCase())}function u(e){return"done"===e.status&&(!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||p(e)))}function v(e){return p(e)?e.url||e.thumbnail:e.thumbnail||e.url}const m=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){window.removeEventListener("mouseup",this.disarmDrag),clearTimeout(this.copiedTimer),this.closeLightbox()}get parsedFiles(){const e=this.files;if("string"!=typeof e||!e.trim())return[];if(e===this.lastFilesStr)return this.lastParsed;let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o)}catch(e){}return this.lastFilesStr=e,this.lastParsed=i,i}get strings(){return function(e){return n[function(e){const i=(e||"").toLowerCase();return i.startsWith("es")?"es":i.startsWith("pt")?"pt":"en"}(e)]}(this.locale)}get acceptList(){const e=this.accept;if(!e)return[];let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o.map(String))}catch(o){i=e.split(",")}return i.map((e=>e.trim().toLowerCase().replace(/^\./,""))).filter((e=>e&&"*"!==e))}get isInvalid(){return"error"===this.status||!!this.localError}get inputAccept(){const e=this.acceptList;if(e.length)return e.map((e=>e.includes("/")?e:"."+e)).join(",")}extOf(e){const i=e.lastIndexOf(".");return i>=0?e.slice(i+1).toLowerCase():""}validate(e){const i=this.acceptList;if(i.length){const o=this.extOf(e.name),t=i.includes(o),r=i.some((i=>i.includes("/")&&e.type===i));if(!t&&!r)return d(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?d(this.strings.errTooLarge,{x:f(e.size)}):null}handleFiles(e){if(this.disabled||this.readonly)return;this.localError="";const i=Array.from(e);if(!i.length)return;const o=this.multiple?i:i.slice(0,1);if(this.multiple){const e=this.maxFiles-this.parsedFiles.length;if(e<=0)return void(this.localError=d(this.strings.errMaxFiles,{n:this.maxFiles}));o.length>e&&(o.length=e)}const t=[],r=[];for(const e of o){const i=this.validate(e);i?this.localError=i:(t.push(e),r.push(`tmp-${Date.now()}-${this.tempSeq++}`))}t.length&&this.coFilesSelected.emit({files:t,tempIds:r})}fromActionsSlot(e){return e.composedPath().some((e=>{var i,o;return"actions"===(null===(o=(i=e).getAttribute)||void 0===o?void 0:o.call(i,"slot"))}))}keyFor(e){var i;return e.id||e.tempId||`${e.name}:${null!==(i=e.size)&&void 0!==i?i:""}`}handleCopy(e){var i;const o=e.url||"";if(!o)return;const t=this.keyFor(e);this.coCopy.emit({id:t,url:o}),(null===(i=navigator.clipboard)||void 0===i?void 0:i.writeText)&&navigator.clipboard.writeText(o).then((()=>{this.copiedKey=t,clearTimeout(this.copiedTimer),this.copiedTimer=setTimeout((()=>this.copiedKey=""),1500)})).catch((()=>{}))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.parsedFiles.filter((e=>u(e)&&!this.failedPreviews.has(this.keyFor(e)))),t=o.map((e=>({src:v(e),thumbnail:e.thumbnail,alt:e.name}))),r=Math.max(0,o.findIndex((i=>this.keyFor(i)===this.keyFor(e))));this.closeLightbox();const a=document.createElement("co-lightbox");a.images=JSON.stringify(t),a.startIndex=r,this.locale&&(a.locale=this.locale),a.addEventListener("coClose",(()=>this.closeLightbox())),document.body.appendChild(a),this.lightboxEl=a,requestAnimationFrame((()=>{a.open=!0}))}closeLightbox(){const e=this.lightboxEl;this.lightboxEl=void 0,e&&(e.open=!1,setTimeout((()=>e.remove()),220))}handlePreviewError(e){this.failedPreviews=new Set([...this.failedPreviews,this.keyFor(e)])}handleRowDragStart(e,i){this.armedKey===i?(this.dragKey=i,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",i))):e.preventDefault()}handleRowDragOver(e,i){this.dragKey&&this.dragKey!==i&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.overKey=i)}handleRowDrop(e,i){e.preventDefault(),e.stopPropagation();const o=this.parsedFiles.map((e=>this.keyFor(e))),t=o.indexOf(this.dragKey),r=o.indexOf(i);this.resetDragState(),t<0||r<0||t===r||(o.splice(r,0,...o.splice(t,1)),this.coReorder.emit(o))}resetDragState(){this.armedKey="",this.dragKey="",this.overKey=""}capacityHint(e){const i=this.maxBytes?f(this.maxBytes):"";return this.multiple&&this.maxBytes?d(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?d(e.helperFiles,{n:this.maxFiles}):this.maxBytes?d(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",l=i.filter((e=>u(e)&&!this.failedPreviews.has(this.keyFor(e)))),c=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,n=this.capacityHint(e);return r("div",{key:"615291bd9c075d4f26f264602da03427e13bf35b",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"0c4fbdb6c5824824bbe39a96c568f06f442955ef",class:"co-file-field__labels"},r("label",{key:"4f8767b17adcd04d553c2cf6668c60c30a780783",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"82fb4a69b136fcdcdd3b3e81ea8d2deb8ca64e10",required:this.required}))),t&&r("div",{key:"bce9efbedf17d917ae4bf00ae839409f63e4cccd",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"82c82cf57f9692bc560d4c82e0bc22a539e25e08",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"e2dc567ce78647717c894c877334e2eecab6b80e",name:"file-arrow-up",size:18}),r("span",{key:"9c0082e62f13a53d5d598623e35678db84df52b3"},this.uploadButtonText||e.uploadButton)),r("span",{key:"3f43f21c3fb54f1d21143aa7cdf9a485ee89cf69",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),n&&r("span",{key:"d4b2a12ffde1a17c5f1cdded7fb50f035ffb6f0c",class:"co-file-field__dropzone-hint"},n),r("div",{key:"38e36894d82bb094d4dbd37fb10b915607bf3f13",class:"co-file-field__actions",part:"actions"},r("slot",{key:"993f64d18baed0474f29e50418bd5883ac6bc90c",name:"actions"})),r("input",{key:"33dcec562a9c266ca3920537297ddbff2688a0a3",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"a78a747ee890c15d082c99770c0a8487405301ee",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"08336c691f85e1c39216779a850e1c4eb4ad92eb",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),l.length>0&&r("div",{key:"374c52cbaf91ab19d1781c6f4faaed809146aea5",class:"co-file-field__previews",part:"previews"},l.map((i=>r("button",{class:"co-file-field__preview",part:"preview",type:"button",key:"prev-"+this.keyFor(i),title:i.name,"aria-label":e.openPreview,onClick:()=>this.handlePreviewOpen(i)},r("img",{src:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}))))),r("ul",{key:"93ab31f0a3567287db8de9b5b00f4e3772988c82",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=c&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},f(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"d05514a8115362aa08a872baaf1293a55048ad79",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"0e5f2c0feb7dff2da1d549b498ed1e7ae6051448",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"716ea5cc929a44f1da1984952da2bb5a9ce0a791",class:"co-file-field__helper-text"},o)))}get el(){return this}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-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-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-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));border:1px dashed var(--co-semantic-border-field);border-radius:var(--co-border-radius-sm);cursor:pointer;text-align:center;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__dropzone:hover{border-color:var(--co-semantic-border-focus)}.co-file-field__dropzone--drag{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__upload-btn{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-md) var(--co-spacing-xl);margin-bottom:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);border:none;border-radius:var(--co-border-radius-full);box-shadow:var(--co-shadow-lg);font-family:inherit;font-size:var(--co-font-size-16);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;cursor:pointer;transition:box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out), transform var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__upload-btn:hover{box-shadow:var(--co-shadow-xl, var(--co-shadow-lg));transform:translateY(-1px)}.co-file-field__upload-btn co-icon{display:inline-flex;flex-shrink:0}.co-file-field__dropzone-text{color:var(--co-semantic-text-default);font-size:var(--co-font-size-18);line-height:1.25}.co-file-field__dropzone-hint{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);line-height:1.25}.co-file-field__actions{display:contents}.co-file-field__input{display:none}.co-file-field__uploaded{display:flex;flex-direction:column;gap:var(--co-spacing-lg);margin-top:var(--co-spacing-sm2)}.co-file-field__uploaded-title{color:var(--co-semantic-text-default);font-size:var(--co-font-size-22);font-weight:500;letter-spacing:-0.03em;line-height:1.25}.co-file-field__previews{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 180px));gap:var(--co-spacing-md)}.co-file-field__preview{padding:0;border:none;border-radius:var(--co-border-radius-sm);overflow:hidden;aspect-ratio:3 / 2;background:var(--co-semantic-surface-hover);cursor:pointer}.co-file-field__preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview:hover img{transform:scale(1.02)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-status-error)}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-status-error)}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-status-error);font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-status-error)}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-file-field{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-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function g(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-lightbox","co-tooltip"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),m);break;case"co-icon":customElements.get(e(i))||s();break;case"co-lightbox":customElements.get(e(i))||l();break;case"co-tooltip":customElements.get(e(i))||c()}}))}g();const b=m,_=g;export{b as CoFileField,_ as defineCustomElement}
1
+ import{t as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{d as s}from"./p-Dj1EZ5qD.js";import{d as l}from"./p-BTQEg3UO.js";import{d as c}from"./p-Bz0QZqnB.js";const n={es:{uploadButton:"Cargar archivo",dropHint:"Arrastra y suelta archivos aquí",helperBoth:"Puedes subir hasta {n} archivos, cada uno hasta {x}",helperFiles:"Puedes subir hasta {n} archivos",helperBytes:"Cada archivo hasta {x}",uploadedTitle:"Archivos subidos",removeFile:"Eliminar archivo",copyUrl:"Copiar enlace",downloadFile:"Descargar",copied:"Copiado",dragToReorder:"Arrastra para reordenar",openPreview:"Abrir vista previa",errInvalidFormat:"Formato no permitido: .{x}",errTooLarge:"Archivo demasiado grande: {x}",errMaxFiles:"Puedes subir hasta {n} archivos"},en:{uploadButton:"Upload file",dropHint:"Drag and drop files here",helperBoth:"You can upload up to {n} files, each up to {x}",helperFiles:"You can upload up to {n} files",helperBytes:"Each file up to {x}",uploadedTitle:"Uploaded files",removeFile:"Remove file",copyUrl:"Copy link",downloadFile:"Download",copied:"Copied",dragToReorder:"Drag to reorder",openPreview:"Open preview",errInvalidFormat:"Invalid format: .{x}",errTooLarge:"File too large: {x}",errMaxFiles:"You can upload up to {n} files"},pt:{uploadButton:"Carregar arquivo",dropHint:"Arraste e solte arquivos aqui",helperBoth:"Você pode enviar até {n} arquivos, cada um até {x}",helperFiles:"Você pode enviar até {n} arquivos",helperBytes:"Cada arquivo até {x}",uploadedTitle:"Arquivos enviados",removeFile:"Remover arquivo",copyUrl:"Copiar link",downloadFile:"Baixar",copied:"Copiado",dragToReorder:"Arraste para reordenar",openPreview:"Abrir pré-visualização",errInvalidFormat:"Formato inválido: .{x}",errTooLarge:"Arquivo muito grande: {x}",errMaxFiles:"Você pode enviar até {n} arquivos"}};function d(e,i){var o,t;return e.replace("{n}",(null!==(o=i.n)&&void 0!==o?o:"")+"").replace("{x}",null!==(t=i.x)&&void 0!==t?t:"")}function f(e){if(null==e||isNaN(e))return"";if(e<1024)return e+" B";const i=e=>e.toFixed(2).replace(/\.?0+$/,"");return e<1048576?i(e/1024)+" KB":i(e/1048576)+" MB"}const h=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]);function p(e){const i=(e.name||e.url||"").split("?")[0],o=i.lastIndexOf(".");return o>=0&&h.has(i.slice(o+1).toLowerCase())}function u(e){return"done"===e.status&&(!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||p(e)))}function v(e){return p(e)?e.url||e.thumbnail:e.thumbnail||e.url}const m=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){window.removeEventListener("mouseup",this.disarmDrag),clearTimeout(this.copiedTimer),this.closeLightbox()}get parsedFiles(){const e=this.files;if("string"!=typeof e||!e.trim())return[];if(e===this.lastFilesStr)return this.lastParsed;let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o)}catch(e){}return this.lastFilesStr=e,this.lastParsed=i,i}get strings(){return function(e){return n[function(e){const i=(e||"").toLowerCase();return i.startsWith("es")?"es":i.startsWith("pt")?"pt":"en"}(e)]}(this.locale)}get acceptList(){const e=this.accept;if(!e)return[];let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o.map(String))}catch(o){i=e.split(",")}return i.map((e=>e.trim().toLowerCase().replace(/^\./,""))).filter((e=>e&&"*"!==e))}get isInvalid(){return"error"===this.status||!!this.localError}get inputAccept(){const e=this.acceptList;if(e.length)return e.map((e=>e.includes("/")?e:"."+e)).join(",")}extOf(e){const i=e.lastIndexOf(".");return i>=0?e.slice(i+1).toLowerCase():""}validate(e){const i=this.acceptList;if(i.length){const o=this.extOf(e.name),t=i.includes(o),r=i.some((i=>i.includes("/")&&e.type===i));if(!t&&!r)return d(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?d(this.strings.errTooLarge,{x:f(e.size)}):null}handleFiles(e){if(this.disabled||this.readonly)return;this.localError="";const i=Array.from(e);if(!i.length)return;const o=this.multiple?i:i.slice(0,1);if(this.multiple){const e=this.maxFiles-this.parsedFiles.length;if(e<=0)return void(this.localError=d(this.strings.errMaxFiles,{n:this.maxFiles}));o.length>e&&(o.length=e)}const t=[],r=[];for(const e of o){const i=this.validate(e);i?this.localError=i:(t.push(e),r.push(`tmp-${Date.now()}-${this.tempSeq++}`))}t.length&&this.coFilesSelected.emit({files:t,tempIds:r})}fromActionsSlot(e){return e.composedPath().some((e=>{var i,o;return"actions"===(null===(o=(i=e).getAttribute)||void 0===o?void 0:o.call(i,"slot"))}))}keyFor(e){var i;return e.id||e.tempId||`${e.name}:${null!==(i=e.size)&&void 0!==i?i:""}`}handleCopy(e){var i;const o=e.url||"";if(!o)return;const t=this.keyFor(e);this.coCopy.emit({id:t,url:o}),(null===(i=navigator.clipboard)||void 0===i?void 0:i.writeText)&&navigator.clipboard.writeText(o).then((()=>{this.copiedKey=t,clearTimeout(this.copiedTimer),this.copiedTimer=setTimeout((()=>this.copiedKey=""),1500)})).catch((()=>{}))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.parsedFiles.filter((e=>u(e)&&!this.failedPreviews.has(this.keyFor(e)))),t=o.map((e=>({src:v(e),thumbnail:e.thumbnail,alt:e.name}))),r=Math.max(0,o.findIndex((i=>this.keyFor(i)===this.keyFor(e))));this.closeLightbox();const a=document.createElement("co-lightbox");a.images=JSON.stringify(t),a.startIndex=r,this.locale&&(a.locale=this.locale),a.addEventListener("coClose",(()=>this.closeLightbox())),document.body.appendChild(a),this.lightboxEl=a,requestAnimationFrame((()=>{a.open=!0}))}closeLightbox(){const e=this.lightboxEl;this.lightboxEl=void 0,e&&(e.open=!1,setTimeout((()=>e.remove()),220))}handlePreviewError(e){this.failedPreviews=new Set([...this.failedPreviews,this.keyFor(e)])}handleRowDragStart(e,i){this.armedKey===i?(this.dragKey=i,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",i))):e.preventDefault()}handleRowDragOver(e,i){this.dragKey&&this.dragKey!==i&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.overKey=i)}handleRowDrop(e,i){e.preventDefault(),e.stopPropagation();const o=this.parsedFiles.map((e=>this.keyFor(e))),t=o.indexOf(this.dragKey),r=o.indexOf(i);this.resetDragState(),t<0||r<0||t===r||(o.splice(r,0,...o.splice(t,1)),this.coReorder.emit(o))}resetDragState(){this.armedKey="",this.dragKey="",this.overKey=""}capacityHint(e){const i=this.maxBytes?f(this.maxBytes):"";return this.multiple&&this.maxBytes?d(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?d(e.helperFiles,{n:this.maxFiles}):this.maxBytes?d(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",l=i.filter((e=>u(e)&&!this.failedPreviews.has(this.keyFor(e)))),c=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,n=this.capacityHint(e);return r("div",{key:"615291bd9c075d4f26f264602da03427e13bf35b",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"0c4fbdb6c5824824bbe39a96c568f06f442955ef",class:"co-file-field__labels"},r("label",{key:"4f8767b17adcd04d553c2cf6668c60c30a780783",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"82fb4a69b136fcdcdd3b3e81ea8d2deb8ca64e10",required:this.required}))),t&&r("div",{key:"bce9efbedf17d917ae4bf00ae839409f63e4cccd",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"82c82cf57f9692bc560d4c82e0bc22a539e25e08",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"e2dc567ce78647717c894c877334e2eecab6b80e",name:"file-arrow-up",size:18}),r("span",{key:"9c0082e62f13a53d5d598623e35678db84df52b3"},this.uploadButtonText||e.uploadButton)),r("span",{key:"3f43f21c3fb54f1d21143aa7cdf9a485ee89cf69",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),n&&r("span",{key:"d4b2a12ffde1a17c5f1cdded7fb50f035ffb6f0c",class:"co-file-field__dropzone-hint"},n),r("div",{key:"38e36894d82bb094d4dbd37fb10b915607bf3f13",class:"co-file-field__actions",part:"actions"},r("slot",{key:"993f64d18baed0474f29e50418bd5883ac6bc90c",name:"actions"})),r("input",{key:"33dcec562a9c266ca3920537297ddbff2688a0a3",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"a78a747ee890c15d082c99770c0a8487405301ee",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"08336c691f85e1c39216779a850e1c4eb4ad92eb",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),l.length>0&&r("div",{key:"374c52cbaf91ab19d1781c6f4faaed809146aea5",class:"co-file-field__previews",part:"previews"},l.map((i=>r("button",{class:"co-file-field__preview",part:"preview",type:"button",key:"prev-"+this.keyFor(i),title:i.name,"aria-label":e.openPreview,onClick:()=>this.handlePreviewOpen(i)},r("img",{src:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}))))),r("ul",{key:"93ab31f0a3567287db8de9b5b00f4e3772988c82",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=c&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},f(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"d05514a8115362aa08a872baaf1293a55048ad79",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"0e5f2c0feb7dff2da1d549b498ed1e7ae6051448",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"716ea5cc929a44f1da1984952da2bb5a9ce0a791",class:"co-file-field__helper-text"},o)))}get el(){return this}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-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-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-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));border:1px dashed var(--co-semantic-border-field);border-radius:var(--co-border-radius-sm);cursor:pointer;text-align:center;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__dropzone:hover{border-color:var(--co-semantic-border-focus)}.co-file-field__dropzone--drag{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__upload-btn{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-md) var(--co-spacing-xl);margin-bottom:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);border:none;border-radius:var(--co-border-radius-full);box-shadow:var(--co-shadow-lg);font-family:inherit;font-size:var(--co-font-size-16);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;cursor:pointer;transition:box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out), transform var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__upload-btn:hover{box-shadow:var(--co-shadow-xl, var(--co-shadow-lg));transform:translateY(-1px)}.co-file-field__upload-btn co-icon{display:inline-flex;flex-shrink:0}.co-file-field__dropzone-text{color:var(--co-semantic-text-default);font-size:var(--co-font-size-18);line-height:1.25}.co-file-field__dropzone-hint{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);line-height:1.25}.co-file-field__actions{display:contents}.co-file-field__input{display:none}.co-file-field__uploaded{display:flex;flex-direction:column;gap:var(--co-spacing-lg);margin-top:var(--co-spacing-sm2)}.co-file-field__uploaded-title{color:var(--co-semantic-text-default);font-size:var(--co-font-size-22);font-weight:500;letter-spacing:-0.03em;line-height:1.25}.co-file-field__previews{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 180px));gap:var(--co-spacing-md)}.co-file-field__preview{padding:0;border:none;border-radius:var(--co-border-radius-sm);overflow:hidden;aspect-ratio:3 / 2;background:var(--co-semantic-surface-hover);cursor:pointer}.co-file-field__preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview:hover img{transform:scale(1.02)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-status-error)}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-status-error)}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-status-error);font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-status-error)}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-file-field{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-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function g(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-lightbox","co-tooltip"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),m);break;case"co-icon":customElements.get(e(i))||s();break;case"co-lightbox":customElements.get(e(i))||l();break;case"co-tooltip":customElements.get(e(i))||c()}}))}g();const b=m,_=g;export{b as CoFileField,_ as defineCustomElement}
@@ -1 +1 @@
1
- import{t,p as e,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-Dj1EZ5qD.js";import{d as a}from"./p-gI62K3Be.js";const n=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coSelect=s(this,"coSelect",7),this.selected=!1,this.disabled=!1,this.dense=!1,this.labelTruncated=!1,this.descTruncated=!1,this.measureTruncation=()=>{const t=!!this.labelEl&&this.labelEl.scrollWidth>this.labelEl.clientWidth+1,e=!!this.descEl&&this.descEl.scrollWidth>this.descEl.clientWidth+1;t!==this.labelTruncated&&(this.labelTruncated=t),e!==this.descTruncated&&(this.descTruncated=e)},this.handleClick=()=>{this.disabled||this.coSelect.emit()},this.handleKeyDown=t=>{this.disabled||"Enter"!==t.key&&" "!==t.key&&"Spacebar"!==t.key||(t.preventDefault(),this.coSelect.emit())}}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.ro=new ResizeObserver((()=>this.measureTruncation())),this.labelEl&&this.ro.observe(this.labelEl),this.descEl&&this.ro.observe(this.descEl)),this.measureTruncation()}disconnectedCallback(){var t;null===(t=this.ro)||void 0===t||t.disconnect(),this.ro=void 0}onTextChange(){requestAnimationFrame(this.measureTruncation)}render(){return o("div",{key:"4f75f2a1f42dea993a9b6fa7fe922bed8cbac7e5",class:{"co-list-item":!0,"co-list-item--selected":this.selected,"co-list-item--disabled":this.disabled,"co-list-item--dense":this.dense,"co-list-item--has-description":!!this.description},part:"item",role:"option",tabindex:this.disabled?-1:0,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"f4da4a9cfc3685cd3124c95308857353729fe71e",class:"co-list-item__prefix"},this.icon&&o("co-icon",{key:"640630cb8639d9b897734ceb4fa91b6eddd2a432",name:this.icon,size:18}),o("slot",{key:"300cfc7354b11bce7c94a349d2ec0c6d58bc00da",name:"prefix"})),o("div",{key:"7278c5c18ce4f390e31fc2af8f360de91c2ca644",class:"co-list-item__content"},this.label&&o("co-tooltip",{key:"fb1a48e2364bd34d1940cddda3402c8a114720cc",block:!0,class:"co-list-item__tip",content:this.label,placement:"top",disabled:!this.labelTruncated},o("span",{key:"4079eb57702d8faa93f6dab67ddf3024ba2fea15",class:"co-list-item__label",ref:t=>{this.labelEl=t,t&&this.ro&&this.ro.observe(t)}},this.label)),this.description&&o("co-tooltip",{key:"b40df7e5bec902fad45f79e2984b226302b68d5f",block:!0,class:"co-list-item__tip",content:this.description,placement:"top",disabled:!this.descTruncated},o("span",{key:"2af014c92bbf2d596f7fd78d73309f6cb7813047",class:"co-list-item__description",ref:t=>{this.descEl=t,t&&this.ro&&this.ro.observe(t)}},this.description)),o("slot",{key:"1066c2e56c9855d77e28d891b77602988e70aba4"})),o("span",{key:"c6413614311416a7d06681c7d381a004dfd9891b",class:"co-list-item__suffix"},o("slot",{key:"aff9146f80c9b61c42e1da3926b7b6b8a7eaf1f7",name:"suffix"})))}get el(){return this}static get watchers(){return{label:[{onTextChange:0}],description:[{onTextChange:0}]}}static get style(){return":host{display:block}.co-list-item{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-md) var(--co-spacing-lg);font-family:var(--co-font-family-primary);cursor:pointer;border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:40px}.co-list-item--dense{gap:var(--co-spacing-sm);padding:6px var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);min-height:32px}.co-list-item--dense .co-list-item__label{font-size:var(--co-font-size-14)}.co-list-item:hover:not(.co-list-item--disabled){background:var(--co-semantic-surface-hover)}.co-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus)}.co-list-item--selected{background:var(--co-semantic-surface-muted)}.co-list-item--disabled{opacity:0.4;cursor:not-allowed}.co-list-item__prefix,.co-list-item__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-list-item__prefix:empty,.co-list-item__suffix:empty{display:none}.co-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.co-list-item__content>.co-list-item__tip{min-width:0;max-width:100%}.co-list-item__label{display:block;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-list-item__description{display:block;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"}},[257,"co-list-item",{label:[1],description:[1],icon:[1],selected:[516],disabled:[4],dense:[516],labelTruncated:[32],descTruncated:[32]},void 0,{label:[{onTextChange:0}],description:[{onTextChange:0}]}]);function l(){"undefined"!=typeof customElements&&["co-list-item","co-icon","co-tooltip"].forEach((e=>{switch(e){case"co-list-item":customElements.get(t(e))||customElements.define(t(e),n);break;case"co-icon":customElements.get(t(e))||c();break;case"co-tooltip":customElements.get(t(e))||a()}}))}l();const d=n,r=l;export{d as CoListItem,r as defineCustomElement}
1
+ import{t,p as e,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-Dj1EZ5qD.js";import{d as a}from"./p-Bz0QZqnB.js";const n=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.coSelect=s(this,"coSelect",7),this.selected=!1,this.disabled=!1,this.dense=!1,this.labelTruncated=!1,this.descTruncated=!1,this.measureTruncation=()=>{const t=!!this.labelEl&&this.labelEl.scrollWidth>this.labelEl.clientWidth+1,e=!!this.descEl&&this.descEl.scrollWidth>this.descEl.clientWidth+1;t!==this.labelTruncated&&(this.labelTruncated=t),e!==this.descTruncated&&(this.descTruncated=e)},this.handleClick=()=>{this.disabled||this.coSelect.emit()},this.handleKeyDown=t=>{this.disabled||"Enter"!==t.key&&" "!==t.key&&"Spacebar"!==t.key||(t.preventDefault(),this.coSelect.emit())}}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.ro=new ResizeObserver((()=>this.measureTruncation())),this.labelEl&&this.ro.observe(this.labelEl),this.descEl&&this.ro.observe(this.descEl)),this.measureTruncation()}disconnectedCallback(){var t;null===(t=this.ro)||void 0===t||t.disconnect(),this.ro=void 0}onTextChange(){requestAnimationFrame(this.measureTruncation)}render(){return o("div",{key:"4f75f2a1f42dea993a9b6fa7fe922bed8cbac7e5",class:{"co-list-item":!0,"co-list-item--selected":this.selected,"co-list-item--disabled":this.disabled,"co-list-item--dense":this.dense,"co-list-item--has-description":!!this.description},part:"item",role:"option",tabindex:this.disabled?-1:0,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"f4da4a9cfc3685cd3124c95308857353729fe71e",class:"co-list-item__prefix"},this.icon&&o("co-icon",{key:"640630cb8639d9b897734ceb4fa91b6eddd2a432",name:this.icon,size:18}),o("slot",{key:"300cfc7354b11bce7c94a349d2ec0c6d58bc00da",name:"prefix"})),o("div",{key:"7278c5c18ce4f390e31fc2af8f360de91c2ca644",class:"co-list-item__content"},this.label&&o("co-tooltip",{key:"fb1a48e2364bd34d1940cddda3402c8a114720cc",block:!0,class:"co-list-item__tip",content:this.label,placement:"top",disabled:!this.labelTruncated},o("span",{key:"4079eb57702d8faa93f6dab67ddf3024ba2fea15",class:"co-list-item__label",ref:t=>{this.labelEl=t,t&&this.ro&&this.ro.observe(t)}},this.label)),this.description&&o("co-tooltip",{key:"b40df7e5bec902fad45f79e2984b226302b68d5f",block:!0,class:"co-list-item__tip",content:this.description,placement:"top",disabled:!this.descTruncated},o("span",{key:"2af014c92bbf2d596f7fd78d73309f6cb7813047",class:"co-list-item__description",ref:t=>{this.descEl=t,t&&this.ro&&this.ro.observe(t)}},this.description)),o("slot",{key:"1066c2e56c9855d77e28d891b77602988e70aba4"})),o("span",{key:"c6413614311416a7d06681c7d381a004dfd9891b",class:"co-list-item__suffix"},o("slot",{key:"aff9146f80c9b61c42e1da3926b7b6b8a7eaf1f7",name:"suffix"})))}get el(){return this}static get watchers(){return{label:[{onTextChange:0}],description:[{onTextChange:0}]}}static get style(){return":host{display:block}.co-list-item{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-md) var(--co-spacing-lg);font-family:var(--co-font-family-primary);cursor:pointer;border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:40px}.co-list-item--dense{gap:var(--co-spacing-sm);padding:6px var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);min-height:32px}.co-list-item--dense .co-list-item__label{font-size:var(--co-font-size-14)}.co-list-item:hover:not(.co-list-item--disabled){background:var(--co-semantic-surface-hover)}.co-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus)}.co-list-item--selected{background:var(--co-semantic-surface-muted)}.co-list-item--disabled{opacity:0.4;cursor:not-allowed}.co-list-item__prefix,.co-list-item__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-list-item__prefix:empty,.co-list-item__suffix:empty{display:none}.co-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.co-list-item__content>.co-list-item__tip{min-width:0;max-width:100%}.co-list-item__label{display:block;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-list-item__description{display:block;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"}},[257,"co-list-item",{label:[1],description:[1],icon:[1],selected:[516],disabled:[4],dense:[516],labelTruncated:[32],descTruncated:[32]},void 0,{label:[{onTextChange:0}],description:[{onTextChange:0}]}]);function l(){"undefined"!=typeof customElements&&["co-list-item","co-icon","co-tooltip"].forEach((e=>{switch(e){case"co-list-item":customElements.get(t(e))||customElements.define(t(e),n);break;case"co-icon":customElements.get(t(e))||c();break;case"co-tooltip":customElements.get(t(e))||a()}}))}l();const d=n,r=l;export{d as CoListItem,r as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as s}from"./p-C1Kv3zYZ.js";const p=o,r=s;export{p as CoOptionList,r as defineCustomElement}
1
+ import{C as o,d as s}from"./p-DI1ek0EB.js";const p=o,r=s;export{p as CoOptionList,r as defineCustomElement}