@prolibu-suite/cobalt-core 0.9.4 → 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.
- package/custom-elements.json +20 -20
- package/dist/cjs/co-avatar_2.cjs.entry.js +1 -1
- package/dist/cjs/co-file-field.cjs.entry.js +1 -1
- package/dist/cjs/co-ref-field.cjs.entry.js +13 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-8b4b3589.entry.js → p-7532c739.entry.js} +1 -1
- package/dist/cobalt/p-76420ac1.entry.js +1 -0
- package/dist/cobalt/{p-0caa059c.entry.js → p-e84eda2e.entry.js} +1 -1
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-combobox/co-combobox.js +1 -1
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-file-field/co-file-field.css +2 -0
- package/dist/collection/components/co-popover/co-popover.js +1 -1
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-ref-field/co-ref-field.js +16 -4
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +1 -1
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.css +6 -0
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.js +1 -1
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/{p-gI62K3Be.js → p-Bz0QZqnB.js} +1 -1
- package/dist/components/{p-C1Kv3zYZ.js → p-DI1ek0EB.js} +1 -1
- package/dist/components/{p-BZIB4JDs.js → p-D_9BRkj6.js} +1 -1
- package/dist/esm/co-avatar_2.entry.js +1 -1
- package/dist/esm/co-file-field.entry.js +1 -1
- package/dist/esm/co-ref-field.entry.js +13 -1
- package/package.json +3 -3
- package/dist/cobalt/p-f00be11f.entry.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,c as i,h as t,a as o}from"./p-CrtiywTB.js";import{R as r}from"./p-T4la7ly_.js";import{F as s}from"./p-mAGnZXRn.js";import{i as a}from"./p-BG4WRR22.js";const c=class{constructor(t){e(this,t),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coSearch=i(this,"coSearch",7),this.coLoadMore=i(this,"coLoadMore",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.coRemove=i(this,"coRemove",7),this.coFooterPrimary=i(this,"coFooterPrimary",7),this.coFooterSecondary=i(this,"coFooterSecondary",7),this.coPinToggle=i(this,"coPinToggle",7),this.coListReorder=i(this,"coListReorder",7),this.coEditSelected=i(this,"coEditSelected",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!0,this.editable=!1,this.editLabel="Edit",this.multiple=!1,this.status="default",this.layout="vertical",this.size="md",this.variant="default",this.value="",this.options="[]",this.selectedDisplay="[]",this.loading=!1,this.total=0,this.searchable=!0,this.searchPlaceholder="Search…",this.searchDebounce=350,this.emptyMessage="No results found",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New",this.maxChips=0,this.panelTheme="auto",this.colorMode="dot",this.triggerBadgeIcon="",this.triggerBadgeLabel="",this.avatarShape="circle",this.pinnable=!1,this.listReorderable=!1,this.isOpen=!1,this.overflowCount=0,this.lastChipsKey="\0",this.pendingFocus=!1,this.handlePopoverOpen=()=>{this.isOpen=!0},this.handlePopoverClose=()=>{this.isOpen=!1},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.isOpen=!0))},this.handleListChange=e=>{if(!this.multiple&&null===e.value)return this.value="",this.coClear.emit(),void(this.isOpen=!1);this.handleOptionClick(e.item)},this.handleOptionClick=e=>{if(this.multiple){const i=this.parsedValue;let t;t=i.indexOf(e._id)>=0?i.filter((i=>i!==e._id)):[...i,e._id],this.value=JSON.stringify(t),this.coChange.emit({value:t,item:e})}else this.value=e._id,this.coChange.emit({value:e._id,item:e}),this.isOpen=!1},this.handleReorder=e=>{this.value=JSON.stringify(e.value),this.coChange.emit({value:e.value,item:e.item})},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit()},this.handleEditClick=e=>{e.stopPropagation();const i=this.effectiveDisplayItems[0];i&&this.coEditSelected.emit(i._id)},this.handleRemoveChip=(e,i)=>{var t;i.stopPropagation();const o=null!==(t=this.effectiveDisplayItems.find((i=>i._id===e)))&&void 0!==t?t:{_id:e,label:e},r=this.parsedValue.filter((i=>i!==e));this.value=JSON.stringify(r),this.coRemove.emit(e),this.coChange.emit({value:r,item:o})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}get normalizedSize(){return"default"===this.size?"md":this.size}get parsedOptions(){try{const e="string"==typeof this.options?JSON.parse(this.options):this.options;return Array.isArray(e)?e:[]}catch(e){return[]}}get parsedSelectedDisplay(){try{const e="string"==typeof this.selectedDisplay?JSON.parse(this.selectedDisplay):this.selectedDisplay;return Array.isArray(e)?e:[]}catch(e){return[]}}get effectiveDisplayItems(){const e=this.parsedValue;if(0===e.length)return[];const i=new Map;for(const e of this.parsedSelectedDisplay)i.set(e._id,e);for(const e of this.parsedOptions)i.has(e._id)||i.set(e._id,{_id:e._id,label:e.label,description:e.description,color:e.color,avatar:e.avatar,image:e.image});return e.map((e=>i.get(e))).filter(Boolean)}get parsedValue(){if(!this.value)return[];try{const e=JSON.parse(this.value);return Array.isArray(e)?e:[this.value]}catch(e){return this.value?[this.value]:[]}}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>this.calcOverflow()))}componentDidRender(){var e,i,t,o;this.chipsEl!==this.observedChipsEl&&(null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.chipsEl&&(null===(i=this.resizeObserver)||void 0===i||i.observe(this.chipsEl)),this.observedChipsEl=this.chipsEl);const r=null===(t=this.chipsEl)||void 0===t?void 0:t.querySelectorAll(".co-ref-field__chip"),s=r?Array.from(r,(e=>e.textContent)).join(""):"";s!==this.lastChipsKey&&(this.lastChipsKey=s,this.calcOverflow()),this.pendingFocus&&(null===(o=this.optionListEl)||void 0===o?void 0:o.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}disconnectedCallback(){var e;null===(e=this.resizeObserver)||void 0===e||e.disconnect()}calcOverflow(){if(!this.multiple||this.maxChips>0||!this.chipsEl)return void(0!==this.overflowCount&&(this.overflowCount=0));const e=Array.from(this.chipsEl.querySelectorAll(".co-ref-field__chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const i=this.chipsEl.getBoundingClientRect().right;let t=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>i+1;o--)t++;t!==this.overflowCount&&(this.overflowCount=t)}onOpenChange(e){e?(this.coOpen.emit(),this.pendingFocus=!0):(this.coClose.emit(),this.restoreTriggerFocus())}restoreTriggerFocus(){var e;const i=document.activeElement;(i===this.el||this.el.contains(i))&&(null===(e=this.triggerEl)||void 0===e||e.focus())}renderTrigger(){const e=this.effectiveDisplayItems,i=e.length>0;return t("div",{class:{"co-ref-field__trigger":!0,"co-ref-field--open":this.isOpen,"co-ref-field--disabled":this.disabled,[`co-ref-field--${this.normalizedSize}`]:!0,[`co-ref-field--${this.status}`]:"default"!==this.status,"co-ref-field--flat":"flat"===this.variant},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?c.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&t("span",{class:"co-ref-field__icon"},t("co-icon",{name:this.iconLeft,size:16})),t("div",{class:"co-ref-field__value"},!i&&t("span",{class:"co-ref-field__placeholder",part:"trigger-placeholder"},this.placeholder),i&&!this.multiple&&this.renderSingleValue(e[0]),i&&this.multiple&&this.renderMultipleValue(e)),i&&this.triggerBadgeIcon&&t("span",{class:"co-ref-field__trigger-badge",part:"trigger-badge",role:"img",title:this.triggerBadgeLabel||void 0,"aria-label":this.triggerBadgeLabel||void 0},t("co-icon",{name:this.triggerBadgeIcon,size:11,weight:"fill"})),i&&!this.multiple&&this.editable&&!this.disabled&&t("button",{class:"co-ref-field__edit",part:"trigger-edit",tabIndex:-1,onClick:this.handleEditClick,type:"button",title:this.editLabel||void 0,"aria-label":this.editLabel||void 0},t("co-icon",{name:"pencil-simple",size:14})),i&&this.clearable&&!this.disabled&&t("button",{class:"co-ref-field__clear",part:"trigger-clear",tabIndex:-1,onClick:this.handleClear,type:"button"},t("co-icon",{name:"x",size:14})),t("span",{class:"co-ref-field__caret",part:"trigger-chevron"},t("co-icon",{name:"caret-up-down",size:16})))}renderItemAvatar(e){return e.image||e.avatar?t("co-avatar",{class:"co-ref-field__avatar",type:e.image?"image":"text",src:e.image,text:e.avatar,color:e.color,size:"xxs",shape:this.avatarShape}):e.color?t("span",{class:"co-ref-field__color-dot",style:{backgroundColor:e.color}}):null}renderSingleValue(e){return t("div",{class:"co-ref-field__selected"},this.renderItemAvatar(e),t("span",{class:"co-ref-field__selected-label",part:"trigger-text"},e.label))}renderMultipleValue(e){const i=this.maxChips>0,o=Math.min(this.overflowCount,Math.max(0,e.length-1)),r=i?e.slice(0,this.maxChips):e,c=i?e.length-this.maxChips:o,l=e.length-(i?0:o);return t("div",{class:"co-ref-field__chips-row"},t("div",{class:"co-ref-field__chips",ref:e=>this.chipsEl=e},r.map(((e,o)=>{const r="fill"===this.colorMode&&!!e.color&&!(e.image||e.avatar);return t(s,{key:e._id,baseClass:"co-ref-field__chip",label:e.label,modifiers:{"co-ref-field__chip--avatar":!(!e.image&&!e.avatar),"co-ref-field__chip--fill":r,"co-ref-field__chip--fill-light":r&&a(e.color),"co-ref-field__chip--clipped":!i&&o>=l,[`co-ref-field__chip--${this.normalizedSize}`]:!0},style:r?{backgroundColor:e.color}:void 0,onRemove:i=>this.handleRemoveChip(e._id,i)},e.image||e.avatar?this.renderItemAvatar(e):e.color&&!r?t("span",{class:"co-ref-field__chip-dot",style:{backgroundColor:e.color}}):null)}))),c>0&&t("span",{class:"co-ref-field__chip-overflow"},"+",c))}renderPanel(){return t("div",{class:{"co-ref-field__panel":!0,"co-ref-field__panel--dark":"dark"===this.panelTheme,"co-ref-field__panel--light":"light"===this.panelTheme},style:this.panelWidth?{width:this.panelWidth}:void 0},t("co-option-list",{id:c.LIST_ID,ref:e=>this.optionListEl=e,items:"string"==typeof this.options?this.options:JSON.stringify(this.options),value:this.value,selectedItems:"string"==typeof this.selectedDisplay?this.selectedDisplay:JSON.stringify(this.selectedDisplay),multiple:this.multiple,selectedFirst:this.multiple,reorderable:this.multiple,pinnable:this.pinnable,listReorderable:this.listReorderable,selectedAffordance:"deselect",searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:this.searchDebounce,loading:this.loading,total:this.total,emptyMessage:this.emptyMessage,avatarShape:this.avatarShape,onCoSearch:e=>this.coSearch.emit(e.detail),onCoChange:e=>this.handleListChange(e.detail),onCoReorder:e=>this.handleReorder(e.detail),onCoPinToggle:e=>this.coPinToggle.emit(e.detail),onCoListReorder:e=>this.coListReorder.emit(e.detail),onCoLoadMore:()=>this.coLoadMore.emit()},t("slot",{name:"panel-footer",slot:"footer"}),this.showFooter&&t("div",{class:"co-ref-field__footer",slot:"footer"},this.footerSecondaryLabel&&t("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--secondary",type:"button",onClick:this.handleFooterSecondary},t("co-icon",{name:"plus",size:16}),t("span",null,this.footerSecondaryLabel)),t("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--primary",type:"button",onClick:this.handleFooterPrimary},t("co-icon",{name:"check",size:16}),t("span",null,this.footerPrimaryLabel)))))}render(){return t("div",{key:"8904995ce46d0552556775029316fa42c0d1261e",class:"co-ref-field"},(this.label||this.secondaryLabel)&&t("div",{key:"a3b1d77f18f04b0233d5cf9c5b18c484b60d06e4",class:"co-ref-field__labels"},this.label&&t("label",{key:"837c1f52807a6b258874d4984fdd3aafd48737ed",class:"co-ref-field__label"},this.labelIcon&&t("co-icon",{key:"c9e74495eac50df1f9f074f3a25b3be7bcf36d1c",class:"co-ref-field__label-icon",name:this.labelIcon,size:16}),this.label,t(r,{key:"49a4366d6fc20c7ddbad31d020a1d45ea4134554",required:this.required})),this.secondaryLabel&&t("span",{key:"4f9dd9e68d79642cfafd16a71e51747599668f9e",class:"co-ref-field__secondary-label"},this.secondaryLabel)),t("co-popover",{key:"91ad529d27a62ccbcb8acac7f23cee7ac2ca33ce",open:this.isOpen,placement:"bottom-start",matchWidth:!this.panelWidth,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},t("div",{key:"809b6f7e0f64ffd7c6151c1fae340114f5887e72",slot:"trigger"},this.renderTrigger()),this.isOpen&&this.renderPanel()),this.helperText&&t("div",{key:"4089f6e3cd993ce620742d619282d12542e87057",class:`co-ref-field__helper co-ref-field__helper--${this.status}`},"default"!==this.status&&t("co-icon",{key:"3d9e658ba0cc04034778911930837f1268afeedd",name:"error"===this.status?"warning-circle":"success"===this.status?"check-circle":"info",size:14}),t("span",{key:"8c26be0575794b6f8b410f1fd0b71efd715d5324"},this.helperText)))}get el(){return o(this)}static get watchers(){return{isOpen:[{onOpenChange:0}]}}};c.LIST_ID="co-ref-field-list",c.style=":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-ref-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-ref-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-ref-field__label{display:inline-flex;align-items:center;color:var(--co-ref-field-label-color, var(--co-semantic-text-secondary));font-family:var(--co-ref-field-label-font-family, var(--co-font-family-primary));font-size:var(--co-ref-field-label-font-size, var(--co-font-size-14));font-weight:var(--co-ref-field-label-font-weight, 400);line-height:1;white-space:nowrap;cursor:default;text-transform:var(--co-ref-field-label-text-transform, none);letter-spacing:var(--co-ref-field-label-letter-spacing, var(--co-font-letter-spacing-body))}.co-ref-field__secondary-label{color:var(--co-semantic-text-muted);font-family:var(--co-font-family-mono);font-size:var(--co-font-size-12);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-ref-field__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-ref-field-trigger-bg, var(--co-semantic-surface-page));border:1px solid var(--co-ref-field-trigger-border-color, var(--co-semantic-border-field));border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field--flat{background:transparent;border-color:transparent}.co-ref-field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-ref-field--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-ref-field__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-ref-field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-ref-field--error{border-color:var(--co-semantic-status-error)}.co-ref-field--success{border-color:var(--co-semantic-status-success)}.co-ref-field--warning{border-color:var(--co-color-status-review)}.co-ref-field--s .co-ref-field__selected{--co-avatar-size:20px}.co-ref-field--sm .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--md .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--lg .co-ref-field__selected{--co-avatar-size:28px}.co-ref-field__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__label-icon{flex-shrink:0;margin-right:var(--co-spacing-xs);color:var(--co-semantic-text-secondary)}.co-ref-field__value{flex:1;min-width:0;display:flex;align-items:center}.co-ref-field__placeholder{color:var(--co-semantic-text-muted);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__trigger-badge{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px;border-radius:var(--co-border-radius-xxs);background:var(--co-ref-field-trigger-badge-bg, rgba(0, 0, 0, 0.22));color:var(--co-semantic-text-default)}.co-ref-field__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-ref-field__clear:hover{color:var(--co-semantic-text-default)}.co-ref-field__edit{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-ref-field__edit:hover{color:var(--co-semantic-text-default)}.co-ref-field__selected{display:flex;align-items:center;gap:var(--co-spacing-sm);min-width:0}.co-ref-field__color-dot{width:10px;height:10px;min-width:10px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__avatar{flex-shrink:0}.co-ref-field__selected-label{color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__chips-row{flex:1;min-width:0;display:flex;align-items:center;gap:var(--co-spacing-xs)}.co-ref-field__chips{flex:1;min-width:0;display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--co-spacing-xs);align-items:center}.co-ref-field__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-sm2);background:var(--co-color-gray-100);border-radius:var(--co-border-radius-full);line-height:1;max-width:min(160px, 100%);flex-shrink:0}.co-ref-field__chip--avatar{padding-left:var(--co-spacing-xxs)}.co-ref-field__chip--s{min-height:20px;--co-avatar-size:20px;font-size:var(--co-font-size-12)}.co-ref-field__chip--sm{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-12)}.co-ref-field__chip--md{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-14)}.co-ref-field__chip--lg{min-height:28px;--co-avatar-size:28px;font-size:var(--co-font-size-14)}.co-ref-field__chip--clipped{visibility:hidden}.co-ref-field__chip-dot{width:8px;height:8px;min-width:8px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__chip--fill{color:var(--co-color-base-blanco);border-radius:var(--co-spacing-sm)}.co-ref-field__chip--fill-light{color:var(--co-color-base-negro)}.co-ref-field__chip--fill .co-ref-field__chip-label,.co-ref-field__chip--fill .co-ref-field__chip-remove{color:inherit}.co-ref-field__chip--fill .co-ref-field__chip-remove{opacity:0.72}.co-ref-field__chip--fill .co-ref-field__chip-remove:hover{color:inherit;opacity:1}.co-ref-field__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.co-ref-field__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-color-gray-500);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-ref-field__chip-remove:hover{color:var(--co-semantic-text-default)}.co-ref-field__chip-overflow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs) var(--co-spacing-sm);background:var(--co-color-opacity-negro-8);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:600;color:var(--co-semantic-text-secondary);line-height:1}.co-ref-field__panel{display:flex;flex-direction:column;border-radius:var(--co-border-radius-sm, 12px);overflow:hidden}.co-ref-field__panel--dark{--co-semantic-surface-page:#0A0A0A;--co-semantic-surface-primary:#0A0A0A;--co-semantic-surface-hover:rgba(255, 255, 255, 0.08);--co-semantic-surface-muted:rgba(255, 255, 255, 0.12);--co-semantic-text-default:#ffffff;--co-semantic-text-secondary:rgba(255, 255, 255, 0.8);--co-semantic-text-muted:rgba(255, 255, 255, 0.5);--co-semantic-border-subtle:rgba(255, 255, 255, 0.12);--co-semantic-border-default:rgba(255, 255, 255, 0.16);background:#0A0A0A;color:#ffffff}.co-ref-field__panel--light{--co-semantic-surface-page:#ffffff;--co-semantic-surface-primary:#ffffff;--co-semantic-surface-hover:var(--co-color-gray-100, #f5f5f5);--co-semantic-surface-muted:var(--co-color-gray-200, #e5e5e5);--co-semantic-text-default:var(--co-color-gray-700, #1F1C1B);--co-semantic-text-secondary:rgba(0, 0, 0, 0.6);--co-semantic-text-muted:rgba(0, 0, 0, 0.45);--co-semantic-border-subtle:var(--co-color-gray-200, #e5e5e5);--co-semantic-border-default:var(--co-color-gray-300, #d4d4d4);background:#ffffff;color:var(--co-color-gray-700, #1F1C1B)}.co-ref-field__footer{display:flex;gap:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);padding:var(--co-spacing-sm2)}.co-ref-field__footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:500;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;cursor:pointer;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:32px}.co-ref-field__footer-btn:hover{opacity:0.85}.co-ref-field__footer-btn--secondary{background:transparent;color:var(--co-semantic-text-default);border:1px solid var(--co-semantic-border-default)}.co-ref-field__footer-btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);border:none}.co-ref-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-muted)}.co-ref-field__helper--error{color:var(--co-semantic-status-error)}.co-ref-field__helper--success{color:var(--co-semantic-status-success)}.co-ref-field__helper--warning{color:var(--co-color-status-review)}:host([layout='horizontal']) .co-ref-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-ref-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-ref-field__label{white-space:normal}:host([layout='horizontal']) .co-ref-field>:not(.co-ref-field__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)')}";export{c as co_ref_field}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as i,h as o,a as t}from"./p-CrtiywTB.js";import{R as r}from"./p-T4la7ly_.js";const a={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 s(e,i){var o,t;return e.replace("{n}",String(null!==(o=i.n)&&void 0!==o?o:"")).replace("{x}",null!==(t=i.x)&&void 0!==t?t:"")}function l(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 c=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]);function n(e){const i=(e.name||e.url||"").split("?")[0],o=i.lastIndexOf(".");return o>=0&&c.has(i.slice(o+1).toLowerCase())}function d(e){return"done"===e.status&&(!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||n(e)))}function f(e){return n(e)?e.url||e.thumbnail:e.thumbnail||e.url}const h=class{constructor(o){e(this,o),this.coFilesSelected=i(this,"coFilesSelected",3),this.coRemove=i(this,"coRemove",3),this.coClear=i(this,"coClear",3),this.coReorder=i(this,"coReorder",3),this.coCopy=i(this,"coCopy",3),this.coPreviewOpen=i(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 a[function(e){const i=(e||"").toLowerCase();return i.startsWith("es")?"es":i.startsWith("pt")?"pt":"en"}(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 s(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?s(this.strings.errTooLarge,{x:l(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=s(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=>d(e)&&!this.failedPreviews.has(this.keyFor(e)))),t=o.map((e=>({src:f(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?l(this.maxBytes):"";return this.multiple&&this.maxBytes?s(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?s(e.helperFiles,{n:this.maxFiles}):this.maxBytes?s(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,t=this.localError||this.helperText,a=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?`co-file-field--${this.status}`:"",c=i.filter((e=>d(e)&&!this.failedPreviews.has(this.keyFor(e)))),n=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,f=this.capacityHint(e);return o("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&&o("div",{key:"0c4fbdb6c5824824bbe39a96c568f06f442955ef",class:"co-file-field__labels"},o("label",{key:"4f8767b17adcd04d553c2cf6668c60c30a780783",class:"co-file-field__label",part:"label"},this.label,o(r,{key:"82fb4a69b136fcdcdd3b3e81ea8d2deb8ca64e10",required:this.required}))),a&&o("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},o("button",{key:"82c82cf57f9692bc560d4c82e0bc22a539e25e08",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},o("co-icon",{key:"e2dc567ce78647717c894c877334e2eecab6b80e",name:"file-arrow-up",size:18}),o("span",{key:"9c0082e62f13a53d5d598623e35678db84df52b3"},this.uploadButtonText||e.uploadButton)),o("span",{key:"3f43f21c3fb54f1d21143aa7cdf9a485ee89cf69",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),f&&o("span",{key:"d4b2a12ffde1a17c5f1cdded7fb50f035ffb6f0c",class:"co-file-field__dropzone-hint"},f),o("div",{key:"38e36894d82bb094d4dbd37fb10b915607bf3f13",class:"co-file-field__actions",part:"actions"},o("slot",{key:"993f64d18baed0474f29e50418bd5883ac6bc90c",name:"actions"})),o("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&&o("div",{key:"a78a747ee890c15d082c99770c0a8487405301ee",class:"co-file-field__uploaded"},this.multiple&&o("div",{key:"08336c691f85e1c39216779a850e1c4eb4ad92eb",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&o("div",{key:"374c52cbaf91ab19d1781c6f4faaed809146aea5",class:"co-file-field__previews",part:"previews"},c.map((i=>o("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)},o("img",{src:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}))))),o("ul",{key:"93ab31f0a3567287db8de9b5b00f4e3772988c82",class:"co-file-field__list",part:"list"},i.map((i=>{const t=this.keyFor(i),r=n&&"done"===i.status;return o("li",{class:{"co-file-field__row":!0,[`co-file-field__row--${i.status}`]:!0,"co-file-field__row--dragging":this.dragKey===t,"co-file-field__row--drop-target":this.overKey===t},part:"row",key:t,draggable:this.armedKey===t,onDragStart:e=>this.handleRowDragStart(e,t),onDragOver:e=>this.handleRowDragOver(e,t),onDrop:e=>this.handleRowDrop(e,t),onDragEnd:this.handleRowDragEnd},r?o("co-tooltip",{content:e.dragToReorder},o("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=t},o("co-icon",{name:"list",size:18}))):o("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}}),o("div",{class:"co-file-field__row-body"},o("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&&o("div",{class:"co-file-field__progress"},o("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:`${i.progress}%`}:void 0})),"error"===i.status&&i.error&&o("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&o("span",{class:"co-file-field__row-size"},l(i.size)),"done"===i.status&&!!i.url&&o("co-tooltip",{content:e.downloadFile},o("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},o("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&o("co-tooltip",{content:this.copiedKey===t?e.copied:e.copyUrl},o("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===t},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},o("co-icon",{name:this.copiedKey===t?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&o("co-tooltip",{content:e.removeFile},o("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(t)},o("co-icon",{name:"trash",size:18}))))})))),t&&o("div",{key:"d05514a8115362aa08a872baaf1293a55048ad79",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{key:"0e5f2c0feb7dff2da1d549b498ed1e7ae6051448",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),o("span",{key:"716ea5cc929a44f1da1984952da2bb5a9ce0a791",class:"co-file-field__helper-text"},t)))}get el(){return t(this)}};h.style=":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;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)}}";export{h as co_file_field}
|
|
1
|
+
import{r as e,c as i,h as o,a as t}from"./p-CrtiywTB.js";import{R as r}from"./p-T4la7ly_.js";const a={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 s(e,i){var o,t;return e.replace("{n}",String(null!==(o=i.n)&&void 0!==o?o:"")).replace("{x}",null!==(t=i.x)&&void 0!==t?t:"")}function l(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 c=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]);function n(e){const i=(e.name||e.url||"").split("?")[0],o=i.lastIndexOf(".");return o>=0&&c.has(i.slice(o+1).toLowerCase())}function d(e){return"done"===e.status&&(!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||n(e)))}function f(e){return n(e)?e.url||e.thumbnail:e.thumbnail||e.url}const h=class{constructor(o){e(this,o),this.coFilesSelected=i(this,"coFilesSelected",3),this.coRemove=i(this,"coRemove",3),this.coClear=i(this,"coClear",3),this.coReorder=i(this,"coReorder",3),this.coCopy=i(this,"coCopy",3),this.coPreviewOpen=i(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 a[function(e){const i=(e||"").toLowerCase();return i.startsWith("es")?"es":i.startsWith("pt")?"pt":"en"}(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 s(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?s(this.strings.errTooLarge,{x:l(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=s(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=>d(e)&&!this.failedPreviews.has(this.keyFor(e)))),t=o.map((e=>({src:f(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?l(this.maxBytes):"";return this.multiple&&this.maxBytes?s(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?s(e.helperFiles,{n:this.maxFiles}):this.maxBytes?s(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,t=this.localError||this.helperText,a=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?`co-file-field--${this.status}`:"",c=i.filter((e=>d(e)&&!this.failedPreviews.has(this.keyFor(e)))),n=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,f=this.capacityHint(e);return o("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&&o("div",{key:"0c4fbdb6c5824824bbe39a96c568f06f442955ef",class:"co-file-field__labels"},o("label",{key:"4f8767b17adcd04d553c2cf6668c60c30a780783",class:"co-file-field__label",part:"label"},this.label,o(r,{key:"82fb4a69b136fcdcdd3b3e81ea8d2deb8ca64e10",required:this.required}))),a&&o("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},o("button",{key:"82c82cf57f9692bc560d4c82e0bc22a539e25e08",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},o("co-icon",{key:"e2dc567ce78647717c894c877334e2eecab6b80e",name:"file-arrow-up",size:18}),o("span",{key:"9c0082e62f13a53d5d598623e35678db84df52b3"},this.uploadButtonText||e.uploadButton)),o("span",{key:"3f43f21c3fb54f1d21143aa7cdf9a485ee89cf69",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),f&&o("span",{key:"d4b2a12ffde1a17c5f1cdded7fb50f035ffb6f0c",class:"co-file-field__dropzone-hint"},f),o("div",{key:"38e36894d82bb094d4dbd37fb10b915607bf3f13",class:"co-file-field__actions",part:"actions"},o("slot",{key:"993f64d18baed0474f29e50418bd5883ac6bc90c",name:"actions"})),o("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&&o("div",{key:"a78a747ee890c15d082c99770c0a8487405301ee",class:"co-file-field__uploaded"},this.multiple&&o("div",{key:"08336c691f85e1c39216779a850e1c4eb4ad92eb",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&o("div",{key:"374c52cbaf91ab19d1781c6f4faaed809146aea5",class:"co-file-field__previews",part:"previews"},c.map((i=>o("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)},o("img",{src:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}))))),o("ul",{key:"93ab31f0a3567287db8de9b5b00f4e3772988c82",class:"co-file-field__list",part:"list"},i.map((i=>{const t=this.keyFor(i),r=n&&"done"===i.status;return o("li",{class:{"co-file-field__row":!0,[`co-file-field__row--${i.status}`]:!0,"co-file-field__row--dragging":this.dragKey===t,"co-file-field__row--drop-target":this.overKey===t},part:"row",key:t,draggable:this.armedKey===t,onDragStart:e=>this.handleRowDragStart(e,t),onDragOver:e=>this.handleRowDragOver(e,t),onDrop:e=>this.handleRowDrop(e,t),onDragEnd:this.handleRowDragEnd},r?o("co-tooltip",{content:e.dragToReorder},o("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=t},o("co-icon",{name:"list",size:18}))):o("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}}),o("div",{class:"co-file-field__row-body"},o("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&&o("div",{class:"co-file-field__progress"},o("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:`${i.progress}%`}:void 0})),"error"===i.status&&i.error&&o("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&o("span",{class:"co-file-field__row-size"},l(i.size)),"done"===i.status&&!!i.url&&o("co-tooltip",{content:e.downloadFile},o("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},o("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&o("co-tooltip",{content:this.copiedKey===t?e.copied:e.copyUrl},o("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===t},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},o("co-icon",{name:this.copiedKey===t?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&o("co-tooltip",{content:e.removeFile},o("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(t)},o("co-icon",{name:"trash",size:18}))))})))),t&&o("div",{key:"d05514a8115362aa08a872baaf1293a55048ad79",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{key:"0e5f2c0feb7dff2da1d549b498ed1e7ae6051448",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),o("span",{key:"716ea5cc929a44f1da1984952da2bb5a9ce0a791",class:"co-file-field__helper-text"},t)))}get el(){return t(this)}};h.style=":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)}}";export{h as co_file_field}
|
|
@@ -418,7 +418,7 @@ export class CoAutocomplete {
|
|
|
418
418
|
"references": {
|
|
419
419
|
"AutocompleteOption": {
|
|
420
420
|
"location": "local",
|
|
421
|
-
"path": "/Users/agox/
|
|
421
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-autocomplete/co-autocomplete.tsx",
|
|
422
422
|
"id": "src/components/co-autocomplete/co-autocomplete.tsx::AutocompleteOption"
|
|
423
423
|
}
|
|
424
424
|
}
|
|
@@ -87,7 +87,7 @@ export class CoAvatarGroup {
|
|
|
87
87
|
"references": {
|
|
88
88
|
"CoAvatarGroupItem": {
|
|
89
89
|
"location": "local",
|
|
90
|
-
"path": "/Users/agox/
|
|
90
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-avatar-group/co-avatar-group.tsx",
|
|
91
91
|
"id": "src/components/co-avatar-group/co-avatar-group.tsx::CoAvatarGroupItem"
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -231,7 +231,7 @@ export class CoCheckboxGroup {
|
|
|
231
231
|
"references": {
|
|
232
232
|
"CheckboxOption": {
|
|
233
233
|
"location": "local",
|
|
234
|
-
"path": "/Users/agox/
|
|
234
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-checkbox-group/co-checkbox-group.tsx",
|
|
235
235
|
"id": "src/components/co-checkbox-group/co-checkbox-group.tsx::CheckboxOption"
|
|
236
236
|
}
|
|
237
237
|
}
|
|
@@ -531,7 +531,7 @@ export class CoCombobox {
|
|
|
531
531
|
"references": {
|
|
532
532
|
"ComboboxOption": {
|
|
533
533
|
"location": "local",
|
|
534
|
-
"path": "/Users/agox/
|
|
534
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-combobox/co-combobox.tsx",
|
|
535
535
|
"id": "src/components/co-combobox/co-combobox.tsx::ComboboxOption"
|
|
536
536
|
}
|
|
537
537
|
}
|
|
@@ -246,7 +246,7 @@ export class CoCommandSearch {
|
|
|
246
246
|
"references": {
|
|
247
247
|
"CommandItem": {
|
|
248
248
|
"location": "local",
|
|
249
|
-
"path": "/Users/agox/
|
|
249
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-command-search/co-command-search.tsx",
|
|
250
250
|
"id": "src/components/co-command-search/co-command-search.tsx::CommandItem"
|
|
251
251
|
}
|
|
252
252
|
}
|
|
@@ -450,7 +450,7 @@ export class CoDataTable {
|
|
|
450
450
|
"references": {
|
|
451
451
|
"CoDataTableColumn": {
|
|
452
452
|
"location": "local",
|
|
453
|
-
"path": "/Users/agox/
|
|
453
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-data-table/co-data-table.tsx",
|
|
454
454
|
"id": "src/components/co-data-table/co-data-table.tsx::CoDataTableColumn"
|
|
455
455
|
}
|
|
456
456
|
}
|
|
@@ -1039,7 +1039,7 @@ export class CoDateRangePicker {
|
|
|
1039
1039
|
"references": {
|
|
1040
1040
|
"DateRangeValue": {
|
|
1041
1041
|
"location": "local",
|
|
1042
|
-
"path": "/Users/agox/
|
|
1042
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-date-range-picker/co-date-range-picker.tsx",
|
|
1043
1043
|
"id": "src/components/co-date-range-picker/co-date-range-picker.tsx::DateRangeValue"
|
|
1044
1044
|
}
|
|
1045
1045
|
}
|
|
@@ -1060,7 +1060,7 @@ export class CoDateRangePicker {
|
|
|
1060
1060
|
"references": {
|
|
1061
1061
|
"DateRangeValue": {
|
|
1062
1062
|
"location": "local",
|
|
1063
|
-
"path": "/Users/agox/
|
|
1063
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-date-range-picker/co-date-range-picker.tsx",
|
|
1064
1064
|
"id": "src/components/co-date-range-picker/co-date-range-picker.tsx::DateRangeValue"
|
|
1065
1065
|
}
|
|
1066
1066
|
}
|
|
@@ -317,6 +317,8 @@
|
|
|
317
317
|
border: none;
|
|
318
318
|
background: transparent;
|
|
319
319
|
cursor: pointer;
|
|
320
|
+
/* La acción de descargar es un <a>: sin subrayado ni color de link del UA. */
|
|
321
|
+
text-decoration: none;
|
|
320
322
|
color: var(--co-semantic-text-secondary);
|
|
321
323
|
transition: color var(--co-motion-duration-fast) var(--co-motion-ease-out);
|
|
322
324
|
}
|
|
@@ -322,7 +322,7 @@ export class CoPopover {
|
|
|
322
322
|
"references": {
|
|
323
323
|
"PopoverPlacement": {
|
|
324
324
|
"location": "local",
|
|
325
|
-
"path": "/Users/agox/
|
|
325
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-popover/co-popover.tsx",
|
|
326
326
|
"id": "src/components/co-popover/co-popover.tsx::PopoverPlacement"
|
|
327
327
|
}
|
|
328
328
|
}
|
|
@@ -219,7 +219,7 @@ export class CoRadioGroup {
|
|
|
219
219
|
"references": {
|
|
220
220
|
"RadioOption": {
|
|
221
221
|
"location": "local",
|
|
222
|
-
"path": "/Users/agox/
|
|
222
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-radio-group/co-radio-group.tsx",
|
|
223
223
|
"id": "src/components/co-radio-group/co-radio-group.tsx::RadioOption"
|
|
224
224
|
}
|
|
225
225
|
}
|
|
@@ -172,10 +172,22 @@ export class CoRefField {
|
|
|
172
172
|
this.coEditSelected.emit(selected._id);
|
|
173
173
|
};
|
|
174
174
|
this.handleRemoveChip = (id, e) => {
|
|
175
|
+
var _a;
|
|
175
176
|
e.stopPropagation();
|
|
177
|
+
// `?? {_id, label:id}`: el chip quitado SIEMPRE está en la lista que los
|
|
178
|
+
// pinta, pero `find` es `T | undefined` para el compilador — y un item
|
|
179
|
+
// con el id crudo es mejor payload que romper el tipo del evento.
|
|
180
|
+
const removed = (_a = this.effectiveDisplayItems.find((o) => o._id === id)) !== null && _a !== void 0 ? _a : { _id: id, label: id };
|
|
176
181
|
const newValue = this.parsedValue.filter((v) => v !== id);
|
|
177
182
|
this.value = JSON.stringify(newValue);
|
|
178
183
|
this.coRemove.emit(id);
|
|
184
|
+
// …y TAMBIÉN por el contrato normal de cambio. `coRemove` sólo lleva el id
|
|
185
|
+
// quitado, así que un host que escuche el evento estándar (lo natural: es
|
|
186
|
+
// el mismo cambio de selección que un deselect del panel, que sí emite
|
|
187
|
+
// coChange) no se enteraba: el chip desaparecía de la pantalla y el modelo
|
|
188
|
+
// del host quedaba intacto. Emitir ambos mantiene la compatibilidad de
|
|
189
|
+
// `coRemove` y quita la trampa.
|
|
190
|
+
this.coChange.emit({ value: newValue, item: removed });
|
|
179
191
|
};
|
|
180
192
|
this.handleFooterPrimary = () => {
|
|
181
193
|
this.coFooterPrimary.emit();
|
|
@@ -405,7 +417,7 @@ export class CoRefField {
|
|
|
405
417
|
}
|
|
406
418
|
// ── Main render ────────────────────────────────────────────
|
|
407
419
|
render() {
|
|
408
|
-
return (h("div", { key: '
|
|
420
|
+
return (h("div", { key: '8904995ce46d0552556775029316fa42c0d1261e', class: "co-ref-field" }, (this.label || this.secondaryLabel) && (h("div", { key: 'a3b1d77f18f04b0233d5cf9c5b18c484b60d06e4', class: "co-ref-field__labels" }, this.label && (h("label", { key: '837c1f52807a6b258874d4984fdd3aafd48737ed', class: "co-ref-field__label" }, this.labelIcon && (h("co-icon", { key: 'c9e74495eac50df1f9f074f3a25b3be7bcf36d1c', class: "co-ref-field__label-icon", name: this.labelIcon, size: 16 })), this.label, h(RequiredMark, { key: '49a4366d6fc20c7ddbad31d020a1d45ea4134554', required: this.required }))), this.secondaryLabel && (h("span", { key: '4f9dd9e68d79642cfafd16a71e51747599668f9e', class: "co-ref-field__secondary-label" }, this.secondaryLabel)))), h("co-popover", { key: '91ad529d27a62ccbcb8acac7f23cee7ac2ca33ce', open: this.isOpen, placement: "bottom-start", matchWidth: !this.panelWidth, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '809b6f7e0f64ffd7c6151c1fae340114f5887e72', slot: "trigger" }, this.renderTrigger()), this.isOpen && this.renderPanel()), this.helperText && (h("div", { key: '4089f6e3cd993ce620742d619282d12542e87057', class: `co-ref-field__helper co-ref-field__helper--${this.status}` }, this.status !== 'default' && (h("co-icon", { key: '3d9e658ba0cc04034778911930837f1268afeedd', name: this.status === 'error' ? 'warning-circle' : this.status === 'success' ? 'check-circle' : 'info', size: 14 })), h("span", { key: '8c26be0575794b6f8b410f1fd0b71efd715d5324' }, this.helperText)))));
|
|
409
421
|
}
|
|
410
422
|
static get is() { return "co-ref-field"; }
|
|
411
423
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1180,7 +1192,7 @@ export class CoRefField {
|
|
|
1180
1192
|
"references": {
|
|
1181
1193
|
"RefFieldOption": {
|
|
1182
1194
|
"location": "local",
|
|
1183
|
-
"path": "/Users/agox/
|
|
1195
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1184
1196
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1185
1197
|
}
|
|
1186
1198
|
}
|
|
@@ -1321,7 +1333,7 @@ export class CoRefField {
|
|
|
1321
1333
|
"references": {
|
|
1322
1334
|
"RefFieldOption": {
|
|
1323
1335
|
"location": "local",
|
|
1324
|
-
"path": "/Users/agox/
|
|
1336
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1325
1337
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1326
1338
|
}
|
|
1327
1339
|
}
|
|
@@ -1342,7 +1354,7 @@ export class CoRefField {
|
|
|
1342
1354
|
"references": {
|
|
1343
1355
|
"RefFieldOption": {
|
|
1344
1356
|
"location": "local",
|
|
1345
|
-
"path": "/Users/agox/
|
|
1357
|
+
"path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-ref-field/co-ref-field.tsx",
|
|
1346
1358
|
"id": "src/components/co-ref-field/co-ref-field.tsx::RefFieldOption"
|
|
1347
1359
|
}
|
|
1348
1360
|
}
|
|
@@ -154,7 +154,7 @@ export class CoSegmentedBar {
|
|
|
154
154
|
"references": {
|
|
155
155
|
"CoSegment": {
|
|
156
156
|
"location": "local",
|
|
157
|
-
"path": "/Users/agox/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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-
|
|
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
|
|
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}
|