@prolibu-suite/cobalt-core 0.11.4 → 0.11.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 +65 -31
- package/dist/cjs/co-audio-player.cjs.entry.js +198 -46
- package/dist/cjs/co-kbd_2.cjs.entry.js +10 -3
- package/dist/cjs/cobalt.cjs.js +1 -1
- package/dist/cjs/index-bHoidDwv.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-4a7fd0b4.entry.js +1 -0
- package/dist/cobalt/p-868d1a18.entry.js +1 -0
- package/dist/collection/components/co-audio-player/co-audio-player.js +40 -47
- package/dist/collection/components/co-audio-player/co-audio-player.peaks-cache.js +104 -0
- package/dist/collection/components/co-audio-player/co-audio-player.utils.js +61 -0
- 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-color-area/co-color-area.js +2 -2
- package/dist/collection/components/co-color-slider/co-color-slider.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-document-editor/co-document-editor.js +5 -5
- 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 +4 -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 +14 -5
- package/dist/collection/components/co-tooltip/co-tooltip.js +29 -2
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
- package/dist/components/co-audio-player.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-data-table.js +1 -1
- package/dist/components/co-document-editor.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-BqFBZ1PT.js → p-BW10Sgiy.js} +1 -1
- package/dist/components/{p-VcrjNCew.js → p-BzNBPHen.js} +1 -1
- package/dist/components/p-V7HYy0VO.js +1 -0
- package/dist/esm/co-audio-player.entry.js +198 -46
- package/dist/esm/co-kbd_2.entry.js +10 -3
- package/dist/esm/cobalt.js +1 -1
- package/dist/esm/index-DJkaRtbb.js +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/co-audio-player/co-audio-player.d.ts +8 -1
- package/dist/types/components/co-audio-player/co-audio-player.peaks-cache.d.ts +58 -0
- package/dist/types/components/co-audio-player/co-audio-player.utils.d.ts +33 -0
- package/dist/types/components/co-tooltip/co-tooltip.d.ts +6 -0
- package/dist/types/components.d.ts +11 -0
- package/package.json +4 -4
- package/dist/cobalt/p-358a6c2a.entry.js +0 -1
- package/dist/cobalt/p-db623519.entry.js +0 -1
- package/dist/components/p-9VoFSbIH.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t,p as e,H as a,c as o,h as i}from"./index.js";import{d as s}from"./p-DhPxNA2f.js";import{d as c}from"./p-BRZci8B3.js";import{d as r}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d as l}from"./p-9VoFSbIH.js";const d=e(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.coSort=o(this,"coSort",7),this.coRowSelect=o(this,"coRowSelect",7),this.coSelectAll=o(this,"coSelectAll",7),this.coColumnResize=o(this,"coColumnResize",7),this.coColumnPin=o(this,"coColumnPin",7),this.coHeaderFilter=o(this,"coHeaderFilter",7),this.coRowDblClick=o(this,"coRowDblClick",7),this.coRowClick=o(this,"coRowClick",7),this.coEmptyAction=o(this,"coEmptyAction",7),this.columns="[]",this.rows="[]",this.rowKey="_id",this.loading=!1,this.skeletonRows=10,this.emptyTitle="",this.emptyMessage="No records found",this.emptyIcon="magnifying-glass",this.emptyActionVariant="stroke",this.sortField="",this.sortOrder="",this.filteredFields="[]",this.indirectFilteredFields="[]",this.selectable=!1,this.selectedKeys="[]",this.resizable=!0,this.parsedColumns=[],this.parsedRows=[],this.parsedSelectedKeys=new Set,this.parsedFilteredFields=[],this.parsedIndirectFields=[],this.columnWidths=new Map,this.headerMeasurePending=!1,this.resizingColumn=null,this.resizeStartX=0,this.resizeStartWidth=0,this.resizeEdgeExtra=0,this.resizeLastClientX=0,this.resizeAutoScrollRaf=0,this.resizePendingScroll=0,this.suppressNextSort=!1}parseColumns(){this.headerMeasurePending=!0;try{const t="string"==typeof this.columns?JSON.parse(this.columns):this.columns;this.parsedColumns=t,t.forEach((t=>{t.width&&!this.columnWidths.has(t.field)&&this.columnWidths.set(t.field,t.width)}))}catch(t){this.parsedColumns=[]}}parseRows(){try{this.parsedRows="string"==typeof this.rows?JSON.parse(this.rows):this.rows}catch(t){this.parsedRows=[]}}parseSelectedKeys(){try{const t="string"==typeof this.selectedKeys?JSON.parse(this.selectedKeys):this.selectedKeys;this.parsedSelectedKeys=new Set(t)}catch(t){this.parsedSelectedKeys=new Set}}parseFilteredFields(){try{this.parsedFilteredFields="string"==typeof this.filteredFields?JSON.parse(this.filteredFields):this.filteredFields||[]}catch(t){this.parsedFilteredFields=[]}}parseIndirectFields(){try{this.parsedIndirectFields="string"==typeof this.indirectFilteredFields?JSON.parse(this.indirectFilteredFields):this.indirectFilteredFields||[]}catch(t){this.parsedIndirectFields=[]}}componentWillLoad(){this.headerLabelEls=new Map,this.truncatedHeaders={},this.parseColumns(),this.parseRows(),this.parseSelectedKeys(),this.parseFilteredFields(),this.parseIndirectFields()}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.headerResizeObserver=new ResizeObserver((()=>this.measureHeaderTruncation())),this.headerLabelEls.forEach((t=>this.headerResizeObserver.observe(t)))),this.measureHeaderTruncation()}disconnectedCallback(){var t;null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0}componentDidRender(){if(this.headerMeasurePending&&(this.headerMeasurePending=!1,this.measureHeaderTruncation()),this.resizePendingScroll){const t=this.el.querySelector(".co-data-table__scroll");t&&(t.scrollLeft+=this.resizePendingScroll),this.resizePendingScroll=0}}handleSort(t){if(this.suppressNextSort)return void(this.suppressNextSort=!1);let e;e=this.sortField===t?"asc"===this.sortOrder?"desc":"desc"===this.sortOrder?"":"asc":"asc",this.sortField=""===e?"":t,this.sortOrder=e,this.coSort.emit({field:t,order:e})}isAllSelected(){return 0!==this.parsedRows.length&&this.parsedRows.every((t=>this.parsedSelectedKeys.has(t[this.rowKey]+"")))}isSomeSelected(){if(0===this.parsedRows.length)return!1;const t=this.parsedRows.filter((t=>this.parsedSelectedKeys.has(t[this.rowKey]+""))).length;return t>0&&t<this.parsedRows.length}handleSelectAll(){const t=!this.isAllSelected()&&!this.isSomeSelected();this.coSelectAll.emit({selected:!this.isAllSelected()||t})}handleRowSelect(t){const e=t[this.rowKey]+"",a=!this.parsedSelectedKeys.has(e);this.coRowSelect.emit({key:e,selected:a})}handleResizeStart(t,e){e.preventDefault(),e.stopPropagation(),this.resizingColumn=t,this.resizeStartX=e.clientX,this.resizeStartWidth=this.columnWidths.get(t)||150,this.resizeEdgeExtra=0,this.resizeLastClientX=e.clientX;const a=this.el.querySelector(".co-data-table__scroll"),o=()=>{var t;return(null===(t=this.parsedColumns.find((t=>t.field===this.resizingColumn)))||void 0===t?void 0:t.minWidth)||80},i=()=>{const t=this.resizingColumn;if(!t)return 0;const e=function({startWidth:t,minWidth:e,pointerDelta:a,autoScrollExtra:o}){return Math.max(e,t+a+o)}({startWidth:this.resizeStartWidth,minWidth:o(),pointerDelta:this.resizeLastClientX-this.resizeStartX,autoScrollExtra:this.resizeEdgeExtra});return this.columnWidths=new Map(this.columnWidths.set(t,e)),e},s=()=>{this.resizeAutoScrollRaf=0;const t=this.resizingColumn;if(!t||!a)return;const e=a.getBoundingClientRect(),c=function({pointerX:t,containerLeft:e,containerRight:a,edgeZone:o=72,maxSpeed:i=24}){const s=a-e;if(s<=0)return 0;const c=Math.min(o,s/3),r=a-c;if(t>r)return Math.min(i,(t-r)/c*i);const n=e+c;return t<n?-Math.min(i,(n-t)/c*i):0}({pointerX:this.resizeLastClientX,containerLeft:e.left,containerRight:e.right});c&&(c<0&&(this.columnWidths.get(t)||this.resizeStartWidth)<=o()||(this.resizeEdgeExtra+=c,this.resizePendingScroll+=c,i(),this.resizeAutoScrollRaf=requestAnimationFrame(s)))},c=t=>{this.resizingColumn&&(this.resizeLastClientX=t.clientX,i(),this.resizeAutoScrollRaf||(this.resizeAutoScrollRaf=requestAnimationFrame(s)))},r=()=>{if(this.resizeAutoScrollRaf&&(cancelAnimationFrame(this.resizeAutoScrollRaf),this.resizeAutoScrollRaf=0),this.resizingColumn){const t=this.columnWidths.get(this.resizingColumn)||150;this.coColumnResize.emit({field:this.resizingColumn,width:t}),this.suppressNextSort=!0}this.resizingColumn=null,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",r)}handleRowClick(t,e){this.coRowClick.emit({row:t,index:e})}handleRowDblClick(t,e){this.coRowDblClick.emit({row:t,index:e})}measureHeaderTruncation(){const t=function(t,e){let a=Object.keys(t).some((t=>!e.has(t)));const o={};return e.forEach(((e,i)=>{const s=function(t){return!!t&&t.scrollWidth>t.clientWidth+1}(e);o[i]=s,!!t[i]!==s&&(a=!0)})),a?o:t}(this.truncatedHeaders,this.headerLabelEls);t!==this.truncatedHeaders&&(this.truncatedHeaders=t)}registerHeaderLabel(t,e){var a,o,i;const s=this.headerLabelEls.get(t);if(e){if(s===e)return;s&&(null===(a=this.headerResizeObserver)||void 0===a||a.unobserve(s)),this.headerLabelEls.set(t,e),null===(o=this.headerResizeObserver)||void 0===o||o.observe(e)}else s&&(null===(i=this.headerResizeObserver)||void 0===i||i.unobserve(s),this.headerLabelEls.delete(t))}handleColumnPin(t,e){e.stopPropagation(),this.coColumnPin.emit({field:t})}handleColumnFilter(t,e){e.stopPropagation();const a=e.currentTarget.getBoundingClientRect();this.coHeaderFilter.emit({field:t,rect:{top:a.top,left:a.left,bottom:a.bottom,right:a.right,width:a.width,height:a.height}})}formatCellValue(t){if(null==t)return"";if("boolean"==typeof t)return t?"Yes":"No";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))try{const e=new Date(t);if(!isNaN(e.getTime()))return e.toLocaleDateString("es",{year:"numeric",month:"short",day:"numeric"})+" "+e.toLocaleTimeString("es",{hour:"2-digit",minute:"2-digit"})}catch(t){}return t}return"number"==typeof t?t+"":Array.isArray(t)?t.map((t=>this.formatCellValue(t))).join(", "):"object"==typeof t?t.firstName||t.lastName?[t.firstName,t.lastName].filter(Boolean).join(" "):t.name?t.name+"":t.title?t.title+"":t.label?t.label+"":t.stageName?t.stageName+"":t.companyName?t.companyName+"":t.dealName?t.dealName+"":t._id&&Object.keys(t).length<=3?t._id+"":JSON.stringify(t):t+""}getColumnStyle(t){return Object.assign({},t.sticky?{left:this.selectable?"48px":"0px"}:{})}getColumnWidth(t){return this.columnWidths.get(t.field)||t.width||t.minWidth||150}getTableWidth(){let t=this.selectable?48:0;for(const e of this.parsedColumns)t+=this.getColumnWidth(e);return t}renderColgroup(){return i("colgroup",null,this.selectable&&i("col",{style:{width:"48px"}}),this.parsedColumns.map((t=>i("col",{style:{width:this.getColumnWidth(t)+"px",minWidth:(t.minWidth||80)+"px"}}))))}renderSortIcon(t){if(!t.sortable)return null;const e=this.sortField===t.field&&""!==this.sortOrder;return i("span",{class:{"co-data-table__sort-icon":!0,"co-data-table__sort-icon--active":e}},i("co-icon",{name:e?"asc"===this.sortOrder?"caret-up":"caret-down":"caret-up-down",size:16,weight:e?"fill":"regular"}))}renderHeader(){return i("thead",{class:"co-data-table__head"},i("tr",{class:"co-data-table__header-row"},this.selectable&&i("th",{class:"co-data-table__th co-data-table__th--checkbox co-data-table__th--sticky",style:{left:"0px"}},i("co-checkbox",{size:"small",checked:this.isAllSelected(),indeterminate:this.isSomeSelected(),onCoChange:()=>this.handleSelectAll()})),this.parsedColumns.map(((t,e)=>i("th",{class:{"co-data-table__th":!0,"co-data-table__th--sticky":!!t.sticky,"co-data-table__th--sortable":!!t.sortable,"co-data-table__th--sorted":this.sortField===t.field,["co-data-table__th--align-"+(t.align||"left")]:!0},style:this.getColumnStyle(t),"aria-sort":t.sortable&&this.sortField===t.field&&""!==this.sortOrder?"asc"===this.sortOrder?"ascending":"descending":void 0},i("span",{class:"co-data-table__th-content"},i("span",{class:{"co-data-table__pin-icon":!0,"co-data-table__pin-icon--active":!!t.sticky},title:t.sticky?"Unpin column":"Pin column",onClick:e=>this.handleColumnPin(t.field,e)},i("co-icon",{name:"push-pin",size:14,weight:t.sticky?"fill":"regular"})),t.sortable?i("button",{type:"button",class:"co-data-table__sort-button","aria-label":"Sort by "+t.label,onClick:()=>this.handleSort(t.field)},i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),this.renderSortIcon(t)):i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),t.filterable&&i("span",{class:{"co-data-table__filter-icon":!0,"co-data-table__filter-icon--active":this.parsedFilteredFields.includes(t.field),"co-data-table__filter-icon--indirect":!this.parsedFilteredFields.includes(t.field)&&this.parsedIndirectFields.includes(t.field)},title:this.parsedFilteredFields.includes(t.field)?"Edit column filter":this.parsedIndirectFields.includes(t.field)?"Filtered by other filters":"Filter column",onClick:e=>this.handleColumnFilter(t.field,e)},i("co-icon",{name:"funnel",size:14,weight:this.parsedFilteredFields.includes(t.field)?"fill":"regular"}))),this.resizable&&e<this.parsedColumns.length-1&&i("span",{class:{"co-data-table__resize-handle":!0,"co-data-table__resize-handle--active":this.resizingColumn===t.field},onMouseDown:e=>this.handleResizeStart(t.field,e),onClick:t=>t.stopPropagation()}))))))}renderSkeletonBody(){return i("tbody",{class:"co-data-table__body co-data-table__body--skeleton","aria-hidden":"true"},Array.from({length:this.skeletonRows}).map(((t,e)=>i("tr",{class:"co-data-table__row co-data-table__row--skeleton",key:"skeleton-"+e},this.selectable&&i("td",{class:"co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky",style:{left:"0px"}},i("div",{class:"co-data-table__skeleton co-data-table__skeleton--checkbox"})),this.parsedColumns.map((t=>i("td",{class:{"co-data-table__td":!0,"co-data-table__td--sticky":!!t.sticky},style:Object.assign({},this.getColumnStyle(t))},i("div",{class:"co-data-table__skeleton"}))))))))}renderEmpty(){return this.loading||this.parsedRows.length>0?null:i("div",{class:"co-data-table__empty",part:"empty"},i("div",{class:"co-data-table__empty-icon"},i("co-icon",{name:this.emptyIcon,size:32,weight:"regular"})),this.emptyTitle&&i("h3",{class:"co-data-table__empty-title"},this.emptyTitle),this.emptyMessage&&i("p",{class:"co-data-table__empty-message"},this.emptyMessage),i("div",{class:"co-data-table__empty-action"},this.emptyActionLabel?i("co-button",{variant:this.emptyActionVariant,size:"m",label:this.emptyActionLabel,iconLeft:this.emptyActionIcon,onClick:()=>this.coEmptyAction.emit()}):i("slot",{name:"empty-action"})))}render(){return i("div",{key:"db627f32da540ce37e30ef6411c29ffc7be6b7fb",class:{"co-data-table":!0,"co-data-table--resizing":null!==this.resizingColumn,"co-data-table--loading":this.loading,"co-data-table--empty":!this.loading&&0===this.parsedRows.length}},i("div",{key:"03c1c7eb194c077716535a73b753db1b1c7ea49f",class:"co-data-table__scroll"},i("table",{key:"6401d8f51d991e434b6798ffa800ec05521408bd",class:"co-data-table__table",style:{width:this.getTableWidth()+"px",minWidth:"100%"}},this.renderColgroup(),this.renderHeader(),i("slot",{key:"ddc92d612b45877c558d2ad8dd567c1ea12d76ef"}),this.loading?this.renderSkeletonBody():null)),this.renderEmpty())}get el(){return this}static get watchers(){return{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}}static get style(){return"co-data-table{display:block;flex:1;min-height:0;overflow:hidden;contain:layout}.co-data-table{position:relative;font-family:var(--co-font-family-primary);background:var(--co-color-base-blanco);display:flex;flex-direction:column;height:100%}.co-data-table--resizing{cursor:col-resize;user-select:none}.co-data-table__scroll{flex:1;overflow-x:auto;overflow-y:auto;min-height:0}.co-data-table__table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.co-data-table__head{position:sticky;top:0;z-index:2}.co-data-table__header-row{height:40px}.co-data-table__th{position:relative;height:40px;padding:0 var(--co-spacing-md);background:var(--co-color-base-blanco);border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);text-align:left;vertical-align:middle;font-size:var(--co-font-size-14);font-weight:500;color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;overflow:hidden;box-sizing:border-box}.co-data-table__th:last-child{border-right:none}.co-data-table__th--sortable{cursor:pointer}.co-data-table__th--sortable:hover{background-image:linear-gradient(var(--co-semantic-surface-hover), var(--co-semantic-surface-hover))}.co-data-table__th-content{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm)}.co-data-table__pin-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__pin-icon--active{opacity:1;color:var(--co-semantic-text-default)}.co-data-table__th:hover .co-data-table__pin-icon{opacity:1}.co-data-table__pin-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__th:hover .co-data-table__filter-icon{opacity:1}.co-data-table__filter-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon--active{opacity:1;color:var(--co-color-primary-azul)}.co-data-table__filter-icon--indirect{opacity:0.45;color:var(--co-semantic-text-muted)}.co-data-table__th-tip{flex:1;min-width:0}.co-data-table__th-label{display:block;overflow:hidden;text-overflow:ellipsis}.co-data-table__sort-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-400);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__sort-icon--active{color:var(--co-semantic-text-default)}.co-data-table__sort-button{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.co-data-table__sort-button:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-primary-azul));outline-offset:-2px;border-radius:var(--co-border-radius-xxs)}.co-data-table__th--checkbox,.co-data-table__td--checkbox{width:48px;min-width:48px;max-width:48px;padding:0 var(--co-spacing-md);text-align:center;line-height:0;}.co-data-table__th.co-data-table__th--checkbox,.co-data-table__td.co-data-table__td--checkbox{border-right:none}.co-data-table__th--sticky,.co-data-table__td--sticky{position:sticky;z-index:1;background:var(--co-color-base-blanco)}.co-data-table__th--sticky{z-index:3}.co-data-table__th.co-data-table__th--sticky,.co-data-table__td.co-data-table__td--sticky{overflow:visible}.co-data-table__td--sticky::after,.co-data-table__th--sticky::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;pointer-events:none;opacity:0;background:linear-gradient(to right, var(--co-color-opacity-negro-8), transparent);transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__td--sticky::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--co-semantic-surface-hover);opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__row:hover .co-data-table__td--sticky::before{opacity:1}.co-data-table__row--selected .co-data-table__td--sticky::before{opacity:1;background-color:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover .co-data-table__td--sticky::before{background-color:var(--co-color-opacity-negro-8)}.co-data-table__resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:1}.co-data-table__resize-handle:hover{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__resize-handle--active{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__row{height:48px;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out);content-visibility:auto;contain-intrinsic-size:auto 48px}.co-data-table__row:hover{background:var(--co-semantic-surface-hover)}.co-data-table__row--selected{background:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover{background:var(--co-color-opacity-negro-8)}.co-data-table__td{height:48px;padding:0 var(--co-spacing-md);background:transparent;border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);vertical-align:middle;font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.co-data-table__td:last-child{border-right:none}.co-data-table__th--align-center,.co-data-table__td--align-center{text-align:center}.co-data-table__th--align-right,.co-data-table__td--align-right{text-align:right}.co-data-table__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.co-data-table--empty .co-data-table__scroll{flex:0 0 auto;overflow:hidden}.co-data-table__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:280px;padding:var(--co-spacing-3xl) var(--co-spacing-lg);gap:var(--co-spacing-lg) }.co-data-table__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);margin-bottom:var(--co-spacing-sm)}.co-data-table__empty-title{font-size:var(--co-font-size-24);font-weight:var(--co-font-weight-medium, 500);line-height:1.25;color:var(--co-semantic-text-default);letter-spacing:-0.03em}.co-data-table__empty-message{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);margin:0;max-width:538px ;line-height:1.25}.co-data-table__empty-action{margin-top:var(--co-spacing-md);display:inline-flex}.co-data-table__empty-action:empty{display:none}.co-data-table__skeleton{height:14px;border-radius:var(--co-border-radius-xxs);background:linear-gradient( 90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100% );background-size:200% 100%;animation:co-dt-shimmer 1.2s ease-in-out infinite;width:70%}.co-data-table__skeleton--checkbox{width:16px;height:16px;margin:0 auto}@keyframes co-dt-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.co-data-table__skeleton{animation:none}}.co-data-table__row--skeleton{pointer-events:none;content-visibility:visible}.co-data-table__row--flash-create{animation:co-dt-flash-create 1s ease-out}.co-data-table__row--flash-update{animation:co-dt-flash-update 1s ease-out}.co-data-table__row--flash-delete{animation:co-dt-flash-delete 0.5s ease-out forwards}@keyframes co-dt-flash-create{0%{background-color:rgba(2, 162, 112, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-update{0%{background-color:rgba(37, 99, 235, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-delete{0%{opacity:1;background-color:rgba(170, 46, 27, 0.1)}100%{opacity:0;height:0;padding:0;overflow:hidden}}"}},[260,"co-data-table",{columns:[1],rows:[1],rowKey:[1,"row-key"],loading:[4],skeletonRows:[2,"skeleton-rows"],emptyTitle:[1,"empty-title"],emptyMessage:[1,"empty-message"],emptyIcon:[1,"empty-icon"],emptyActionLabel:[1,"empty-action-label"],emptyActionVariant:[1,"empty-action-variant"],emptyActionIcon:[1,"empty-action-icon"],sortField:[1537,"sort-field"],sortOrder:[1537,"sort-order"],filteredFields:[513,"filtered-fields"],indirectFilteredFields:[513,"indirect-filtered-fields"],selectable:[4],selectedKeys:[1025,"selected-keys"],resizable:[4],parsedColumns:[32],parsedRows:[32],parsedSelectedKeys:[32],parsedFilteredFields:[32],parsedIndirectFields:[32],columnWidths:[32],truncatedHeaders:[32],resizingColumn:[32],resizeStartX:[32],resizeStartWidth:[32]},void 0,{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}]);function h(){"undefined"!=typeof customElements&&["co-data-table","co-button","co-checkbox","co-icon","co-kbd","co-tooltip"].forEach((e=>{switch(e){case"co-data-table":customElements.get(t(e))||customElements.define(t(e),d);break;case"co-button":customElements.get(t(e))||s();break;case"co-checkbox":customElements.get(t(e))||c();break;case"co-icon":customElements.get(t(e))||r();break;case"co-kbd":customElements.get(t(e))||n();break;case"co-tooltip":customElements.get(t(e))||l()}}))}h();const b=d,p=h;export{b as CoDataTable,p as defineCustomElement}
|
|
1
|
+
import{t,p as e,H as a,c as o,h as i}from"./index.js";import{d as s}from"./p-DhPxNA2f.js";import{d as c}from"./p-BRZci8B3.js";import{d as r}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d as l}from"./p-V7HYy0VO.js";const d=e(class extends a{constructor(t){super(),!1!==t&&this.__registerHost(),this.coSort=o(this,"coSort",7),this.coRowSelect=o(this,"coRowSelect",7),this.coSelectAll=o(this,"coSelectAll",7),this.coColumnResize=o(this,"coColumnResize",7),this.coColumnPin=o(this,"coColumnPin",7),this.coHeaderFilter=o(this,"coHeaderFilter",7),this.coRowDblClick=o(this,"coRowDblClick",7),this.coRowClick=o(this,"coRowClick",7),this.coEmptyAction=o(this,"coEmptyAction",7),this.columns="[]",this.rows="[]",this.rowKey="_id",this.loading=!1,this.skeletonRows=10,this.emptyTitle="",this.emptyMessage="No records found",this.emptyIcon="magnifying-glass",this.emptyActionVariant="stroke",this.sortField="",this.sortOrder="",this.filteredFields="[]",this.indirectFilteredFields="[]",this.selectable=!1,this.selectedKeys="[]",this.resizable=!0,this.parsedColumns=[],this.parsedRows=[],this.parsedSelectedKeys=new Set,this.parsedFilteredFields=[],this.parsedIndirectFields=[],this.columnWidths=new Map,this.headerMeasurePending=!1,this.resizingColumn=null,this.resizeStartX=0,this.resizeStartWidth=0,this.resizeEdgeExtra=0,this.resizeLastClientX=0,this.resizeAutoScrollRaf=0,this.resizePendingScroll=0,this.suppressNextSort=!1}parseColumns(){this.headerMeasurePending=!0;try{const t="string"==typeof this.columns?JSON.parse(this.columns):this.columns;this.parsedColumns=t,t.forEach((t=>{t.width&&!this.columnWidths.has(t.field)&&this.columnWidths.set(t.field,t.width)}))}catch(t){this.parsedColumns=[]}}parseRows(){try{this.parsedRows="string"==typeof this.rows?JSON.parse(this.rows):this.rows}catch(t){this.parsedRows=[]}}parseSelectedKeys(){try{const t="string"==typeof this.selectedKeys?JSON.parse(this.selectedKeys):this.selectedKeys;this.parsedSelectedKeys=new Set(t)}catch(t){this.parsedSelectedKeys=new Set}}parseFilteredFields(){try{this.parsedFilteredFields="string"==typeof this.filteredFields?JSON.parse(this.filteredFields):this.filteredFields||[]}catch(t){this.parsedFilteredFields=[]}}parseIndirectFields(){try{this.parsedIndirectFields="string"==typeof this.indirectFilteredFields?JSON.parse(this.indirectFilteredFields):this.indirectFilteredFields||[]}catch(t){this.parsedIndirectFields=[]}}componentWillLoad(){this.headerLabelEls=new Map,this.truncatedHeaders={},this.parseColumns(),this.parseRows(),this.parseSelectedKeys(),this.parseFilteredFields(),this.parseIndirectFields()}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.headerResizeObserver=new ResizeObserver((()=>this.measureHeaderTruncation())),this.headerLabelEls.forEach((t=>this.headerResizeObserver.observe(t)))),this.measureHeaderTruncation()}disconnectedCallback(){var t;null===(t=this.headerResizeObserver)||void 0===t||t.disconnect(),this.headerResizeObserver=void 0}componentDidRender(){if(this.headerMeasurePending&&(this.headerMeasurePending=!1,this.measureHeaderTruncation()),this.resizePendingScroll){const t=this.el.querySelector(".co-data-table__scroll");t&&(t.scrollLeft+=this.resizePendingScroll),this.resizePendingScroll=0}}handleSort(t){if(this.suppressNextSort)return void(this.suppressNextSort=!1);let e;e=this.sortField===t?"asc"===this.sortOrder?"desc":"desc"===this.sortOrder?"":"asc":"asc",this.sortField=""===e?"":t,this.sortOrder=e,this.coSort.emit({field:t,order:e})}isAllSelected(){return 0!==this.parsedRows.length&&this.parsedRows.every((t=>this.parsedSelectedKeys.has(t[this.rowKey]+"")))}isSomeSelected(){if(0===this.parsedRows.length)return!1;const t=this.parsedRows.filter((t=>this.parsedSelectedKeys.has(t[this.rowKey]+""))).length;return t>0&&t<this.parsedRows.length}handleSelectAll(){const t=!this.isAllSelected()&&!this.isSomeSelected();this.coSelectAll.emit({selected:!this.isAllSelected()||t})}handleRowSelect(t){const e=t[this.rowKey]+"",a=!this.parsedSelectedKeys.has(e);this.coRowSelect.emit({key:e,selected:a})}handleResizeStart(t,e){e.preventDefault(),e.stopPropagation(),this.resizingColumn=t,this.resizeStartX=e.clientX,this.resizeStartWidth=this.columnWidths.get(t)||150,this.resizeEdgeExtra=0,this.resizeLastClientX=e.clientX;const a=this.el.querySelector(".co-data-table__scroll"),o=()=>{var t;return(null===(t=this.parsedColumns.find((t=>t.field===this.resizingColumn)))||void 0===t?void 0:t.minWidth)||80},i=()=>{const t=this.resizingColumn;if(!t)return 0;const e=function({startWidth:t,minWidth:e,pointerDelta:a,autoScrollExtra:o}){return Math.max(e,t+a+o)}({startWidth:this.resizeStartWidth,minWidth:o(),pointerDelta:this.resizeLastClientX-this.resizeStartX,autoScrollExtra:this.resizeEdgeExtra});return this.columnWidths=new Map(this.columnWidths.set(t,e)),e},s=()=>{this.resizeAutoScrollRaf=0;const t=this.resizingColumn;if(!t||!a)return;const e=a.getBoundingClientRect(),c=function({pointerX:t,containerLeft:e,containerRight:a,edgeZone:o=72,maxSpeed:i=24}){const s=a-e;if(s<=0)return 0;const c=Math.min(o,s/3),r=a-c;if(t>r)return Math.min(i,(t-r)/c*i);const n=e+c;return t<n?-Math.min(i,(n-t)/c*i):0}({pointerX:this.resizeLastClientX,containerLeft:e.left,containerRight:e.right});c&&(c<0&&(this.columnWidths.get(t)||this.resizeStartWidth)<=o()||(this.resizeEdgeExtra+=c,this.resizePendingScroll+=c,i(),this.resizeAutoScrollRaf=requestAnimationFrame(s)))},c=t=>{this.resizingColumn&&(this.resizeLastClientX=t.clientX,i(),this.resizeAutoScrollRaf||(this.resizeAutoScrollRaf=requestAnimationFrame(s)))},r=()=>{if(this.resizeAutoScrollRaf&&(cancelAnimationFrame(this.resizeAutoScrollRaf),this.resizeAutoScrollRaf=0),this.resizingColumn){const t=this.columnWidths.get(this.resizingColumn)||150;this.coColumnResize.emit({field:this.resizingColumn,width:t}),this.suppressNextSort=!0}this.resizingColumn=null,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",r)}handleRowClick(t,e){this.coRowClick.emit({row:t,index:e})}handleRowDblClick(t,e){this.coRowDblClick.emit({row:t,index:e})}measureHeaderTruncation(){const t=function(t,e){let a=Object.keys(t).some((t=>!e.has(t)));const o={};return e.forEach(((e,i)=>{const s=function(t){return!!t&&t.scrollWidth>t.clientWidth+1}(e);o[i]=s,!!t[i]!==s&&(a=!0)})),a?o:t}(this.truncatedHeaders,this.headerLabelEls);t!==this.truncatedHeaders&&(this.truncatedHeaders=t)}registerHeaderLabel(t,e){var a,o,i;const s=this.headerLabelEls.get(t);if(e){if(s===e)return;s&&(null===(a=this.headerResizeObserver)||void 0===a||a.unobserve(s)),this.headerLabelEls.set(t,e),null===(o=this.headerResizeObserver)||void 0===o||o.observe(e)}else s&&(null===(i=this.headerResizeObserver)||void 0===i||i.unobserve(s),this.headerLabelEls.delete(t))}handleColumnPin(t,e){e.stopPropagation(),this.coColumnPin.emit({field:t})}handleColumnFilter(t,e){e.stopPropagation();const a=e.currentTarget.getBoundingClientRect();this.coHeaderFilter.emit({field:t,rect:{top:a.top,left:a.left,bottom:a.bottom,right:a.right,width:a.width,height:a.height}})}formatCellValue(t){if(null==t)return"";if("boolean"==typeof t)return t?"Yes":"No";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))try{const e=new Date(t);if(!isNaN(e.getTime()))return e.toLocaleDateString("es",{year:"numeric",month:"short",day:"numeric"})+" "+e.toLocaleTimeString("es",{hour:"2-digit",minute:"2-digit"})}catch(t){}return t}return"number"==typeof t?t+"":Array.isArray(t)?t.map((t=>this.formatCellValue(t))).join(", "):"object"==typeof t?t.firstName||t.lastName?[t.firstName,t.lastName].filter(Boolean).join(" "):t.name?t.name+"":t.title?t.title+"":t.label?t.label+"":t.stageName?t.stageName+"":t.companyName?t.companyName+"":t.dealName?t.dealName+"":t._id&&Object.keys(t).length<=3?t._id+"":JSON.stringify(t):t+""}getColumnStyle(t){return Object.assign({},t.sticky?{left:this.selectable?"48px":"0px"}:{})}getColumnWidth(t){return this.columnWidths.get(t.field)||t.width||t.minWidth||150}getTableWidth(){let t=this.selectable?48:0;for(const e of this.parsedColumns)t+=this.getColumnWidth(e);return t}renderColgroup(){return i("colgroup",null,this.selectable&&i("col",{style:{width:"48px"}}),this.parsedColumns.map((t=>i("col",{style:{width:this.getColumnWidth(t)+"px",minWidth:(t.minWidth||80)+"px"}}))))}renderSortIcon(t){if(!t.sortable)return null;const e=this.sortField===t.field&&""!==this.sortOrder;return i("span",{class:{"co-data-table__sort-icon":!0,"co-data-table__sort-icon--active":e}},i("co-icon",{name:e?"asc"===this.sortOrder?"caret-up":"caret-down":"caret-up-down",size:16,weight:e?"fill":"regular"}))}renderHeader(){return i("thead",{class:"co-data-table__head"},i("tr",{class:"co-data-table__header-row"},this.selectable&&i("th",{class:"co-data-table__th co-data-table__th--checkbox co-data-table__th--sticky",style:{left:"0px"}},i("co-checkbox",{size:"small",checked:this.isAllSelected(),indeterminate:this.isSomeSelected(),onCoChange:()=>this.handleSelectAll()})),this.parsedColumns.map(((t,e)=>i("th",{class:{"co-data-table__th":!0,"co-data-table__th--sticky":!!t.sticky,"co-data-table__th--sortable":!!t.sortable,"co-data-table__th--sorted":this.sortField===t.field,["co-data-table__th--align-"+(t.align||"left")]:!0},style:this.getColumnStyle(t),"aria-sort":t.sortable&&this.sortField===t.field&&""!==this.sortOrder?"asc"===this.sortOrder?"ascending":"descending":void 0},i("span",{class:"co-data-table__th-content"},i("span",{class:{"co-data-table__pin-icon":!0,"co-data-table__pin-icon--active":!!t.sticky},title:t.sticky?"Unpin column":"Pin column",onClick:e=>this.handleColumnPin(t.field,e)},i("co-icon",{name:"push-pin",size:14,weight:t.sticky?"fill":"regular"})),t.sortable?i("button",{type:"button",class:"co-data-table__sort-button","aria-label":"Sort by "+t.label,onClick:()=>this.handleSort(t.field)},i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),this.renderSortIcon(t)):i("co-tooltip",{block:!0,class:"co-data-table__th-tip",content:t.label,placement:"top",disabled:!this.truncatedHeaders[t.field]},i("span",{class:"co-data-table__th-label",ref:e=>this.registerHeaderLabel(t.field,e)},t.label)),t.filterable&&i("span",{class:{"co-data-table__filter-icon":!0,"co-data-table__filter-icon--active":this.parsedFilteredFields.includes(t.field),"co-data-table__filter-icon--indirect":!this.parsedFilteredFields.includes(t.field)&&this.parsedIndirectFields.includes(t.field)},title:this.parsedFilteredFields.includes(t.field)?"Edit column filter":this.parsedIndirectFields.includes(t.field)?"Filtered by other filters":"Filter column",onClick:e=>this.handleColumnFilter(t.field,e)},i("co-icon",{name:"funnel",size:14,weight:this.parsedFilteredFields.includes(t.field)?"fill":"regular"}))),this.resizable&&e<this.parsedColumns.length-1&&i("span",{class:{"co-data-table__resize-handle":!0,"co-data-table__resize-handle--active":this.resizingColumn===t.field},onMouseDown:e=>this.handleResizeStart(t.field,e),onClick:t=>t.stopPropagation()}))))))}renderSkeletonBody(){return i("tbody",{class:"co-data-table__body co-data-table__body--skeleton","aria-hidden":"true"},Array.from({length:this.skeletonRows}).map(((t,e)=>i("tr",{class:"co-data-table__row co-data-table__row--skeleton",key:"skeleton-"+e},this.selectable&&i("td",{class:"co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky",style:{left:"0px"}},i("div",{class:"co-data-table__skeleton co-data-table__skeleton--checkbox"})),this.parsedColumns.map((t=>i("td",{class:{"co-data-table__td":!0,"co-data-table__td--sticky":!!t.sticky},style:Object.assign({},this.getColumnStyle(t))},i("div",{class:"co-data-table__skeleton"}))))))))}renderEmpty(){return this.loading||this.parsedRows.length>0?null:i("div",{class:"co-data-table__empty",part:"empty"},i("div",{class:"co-data-table__empty-icon"},i("co-icon",{name:this.emptyIcon,size:32,weight:"regular"})),this.emptyTitle&&i("h3",{class:"co-data-table__empty-title"},this.emptyTitle),this.emptyMessage&&i("p",{class:"co-data-table__empty-message"},this.emptyMessage),i("div",{class:"co-data-table__empty-action"},this.emptyActionLabel?i("co-button",{variant:this.emptyActionVariant,size:"m",label:this.emptyActionLabel,iconLeft:this.emptyActionIcon,onClick:()=>this.coEmptyAction.emit()}):i("slot",{name:"empty-action"})))}render(){return i("div",{key:"db627f32da540ce37e30ef6411c29ffc7be6b7fb",class:{"co-data-table":!0,"co-data-table--resizing":null!==this.resizingColumn,"co-data-table--loading":this.loading,"co-data-table--empty":!this.loading&&0===this.parsedRows.length}},i("div",{key:"03c1c7eb194c077716535a73b753db1b1c7ea49f",class:"co-data-table__scroll"},i("table",{key:"6401d8f51d991e434b6798ffa800ec05521408bd",class:"co-data-table__table",style:{width:this.getTableWidth()+"px",minWidth:"100%"}},this.renderColgroup(),this.renderHeader(),i("slot",{key:"ddc92d612b45877c558d2ad8dd567c1ea12d76ef"}),this.loading?this.renderSkeletonBody():null)),this.renderEmpty())}get el(){return this}static get watchers(){return{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}}static get style(){return"co-data-table{display:block;flex:1;min-height:0;overflow:hidden;contain:layout}.co-data-table{position:relative;font-family:var(--co-font-family-primary);background:var(--co-color-base-blanco);display:flex;flex-direction:column;height:100%}.co-data-table--resizing{cursor:col-resize;user-select:none}.co-data-table__scroll{flex:1;overflow-x:auto;overflow-y:auto;min-height:0}.co-data-table__table{min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.co-data-table__head{position:sticky;top:0;z-index:2}.co-data-table__header-row{height:40px}.co-data-table__th{position:relative;height:40px;padding:0 var(--co-spacing-md);background:var(--co-color-base-blanco);border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);text-align:left;vertical-align:middle;font-size:var(--co-font-size-14);font-weight:500;color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;overflow:hidden;box-sizing:border-box}.co-data-table__th:last-child{border-right:none}.co-data-table__th--sortable{cursor:pointer}.co-data-table__th--sortable:hover{background-image:linear-gradient(var(--co-semantic-surface-hover), var(--co-semantic-surface-hover))}.co-data-table__th-content{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm)}.co-data-table__pin-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__pin-icon--active{opacity:1;color:var(--co-semantic-text-default)}.co-data-table__th:hover .co-data-table__pin-icon{opacity:1}.co-data-table__pin-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-300);cursor:pointer;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__th:hover .co-data-table__filter-icon{opacity:1}.co-data-table__filter-icon:hover{color:var(--co-semantic-text-default)}.co-data-table__filter-icon--active{opacity:1;color:var(--co-color-primary-azul)}.co-data-table__filter-icon--indirect{opacity:0.45;color:var(--co-semantic-text-muted)}.co-data-table__th-tip{flex:1;min-width:0}.co-data-table__th-label{display:block;overflow:hidden;text-overflow:ellipsis}.co-data-table__sort-icon{display:flex;align-items:center;flex-shrink:0;color:var(--co-color-gray-400);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__sort-icon--active{color:var(--co-semantic-text-default)}.co-data-table__sort-button{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.co-data-table__sort-button:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-primary-azul));outline-offset:-2px;border-radius:var(--co-border-radius-xxs)}.co-data-table__th--checkbox,.co-data-table__td--checkbox{width:48px;min-width:48px;max-width:48px;padding:0 var(--co-spacing-md);text-align:center;line-height:0;}.co-data-table__th.co-data-table__th--checkbox,.co-data-table__td.co-data-table__td--checkbox{border-right:none}.co-data-table__th--sticky,.co-data-table__td--sticky{position:sticky;z-index:1;background:var(--co-color-base-blanco)}.co-data-table__th--sticky{z-index:3}.co-data-table__th.co-data-table__th--sticky,.co-data-table__td.co-data-table__td--sticky{overflow:visible}.co-data-table__td--sticky::after,.co-data-table__th--sticky::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;pointer-events:none;opacity:0;background:linear-gradient(to right, var(--co-color-opacity-negro-8), transparent);transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__td--sticky::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:var(--co-semantic-surface-hover);opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), background-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-data-table__row:hover .co-data-table__td--sticky::before{opacity:1}.co-data-table__row--selected .co-data-table__td--sticky::before{opacity:1;background-color:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover .co-data-table__td--sticky::before{background-color:var(--co-color-opacity-negro-8)}.co-data-table__resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:1}.co-data-table__resize-handle:hover{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__resize-handle--active{background:var(--co-color-primary-azul);opacity:0.3}.co-data-table__row{height:48px;transition:background-color var(--co-motion-duration-fast) var(--co-motion-ease-out);content-visibility:auto;contain-intrinsic-size:auto 48px}.co-data-table__row:hover{background:var(--co-semantic-surface-hover)}.co-data-table__row--selected{background:var(--co-color-opacity-negro-4)}.co-data-table__row--selected:hover{background:var(--co-color-opacity-negro-8)}.co-data-table__td{height:48px;padding:0 var(--co-spacing-md);background:transparent;border-bottom:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);border-right:1px solid color-mix(in srgb, var(--co-semantic-border-default) 75%, transparent);vertical-align:middle;font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);color:var(--co-semantic-text-default);letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.co-data-table__td:last-child{border-right:none}.co-data-table__th--align-center,.co-data-table__td--align-center{text-align:center}.co-data-table__th--align-right,.co-data-table__td--align-right{text-align:right}.co-data-table__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.co-data-table--empty .co-data-table__scroll{flex:0 0 auto;overflow:hidden}.co-data-table__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;min-height:280px;padding:var(--co-spacing-3xl) var(--co-spacing-lg);gap:var(--co-spacing-lg) }.co-data-table__empty-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-muted);color:var(--co-semantic-text-secondary);margin-bottom:var(--co-spacing-sm)}.co-data-table__empty-title{font-size:var(--co-font-size-24);font-weight:var(--co-font-weight-medium, 500);line-height:1.25;color:var(--co-semantic-text-default);letter-spacing:-0.03em}.co-data-table__empty-message{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);margin:0;max-width:538px ;line-height:1.25}.co-data-table__empty-action{margin-top:var(--co-spacing-md);display:inline-flex}.co-data-table__empty-action:empty{display:none}.co-data-table__skeleton{height:14px;border-radius:var(--co-border-radius-xxs);background:linear-gradient( 90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100% );background-size:200% 100%;animation:co-dt-shimmer 1.2s ease-in-out infinite;width:70%}.co-data-table__skeleton--checkbox{width:16px;height:16px;margin:0 auto}@keyframes co-dt-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.co-data-table__skeleton{animation:none}}.co-data-table__row--skeleton{pointer-events:none;content-visibility:visible}.co-data-table__row--flash-create{animation:co-dt-flash-create 1s ease-out}.co-data-table__row--flash-update{animation:co-dt-flash-update 1s ease-out}.co-data-table__row--flash-delete{animation:co-dt-flash-delete 0.5s ease-out forwards}@keyframes co-dt-flash-create{0%{background-color:rgba(2, 162, 112, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-update{0%{background-color:rgba(37, 99, 235, 0.15)}100%{background-color:transparent}}@keyframes co-dt-flash-delete{0%{opacity:1;background-color:rgba(170, 46, 27, 0.1)}100%{opacity:0;height:0;padding:0;overflow:hidden}}"}},[260,"co-data-table",{columns:[1],rows:[1],rowKey:[1,"row-key"],loading:[4],skeletonRows:[2,"skeleton-rows"],emptyTitle:[1,"empty-title"],emptyMessage:[1,"empty-message"],emptyIcon:[1,"empty-icon"],emptyActionLabel:[1,"empty-action-label"],emptyActionVariant:[1,"empty-action-variant"],emptyActionIcon:[1,"empty-action-icon"],sortField:[1537,"sort-field"],sortOrder:[1537,"sort-order"],filteredFields:[513,"filtered-fields"],indirectFilteredFields:[513,"indirect-filtered-fields"],selectable:[4],selectedKeys:[1025,"selected-keys"],resizable:[4],parsedColumns:[32],parsedRows:[32],parsedSelectedKeys:[32],parsedFilteredFields:[32],parsedIndirectFields:[32],columnWidths:[32],truncatedHeaders:[32],resizingColumn:[32],resizeStartX:[32],resizeStartWidth:[32]},void 0,{columns:[{parseColumns:0}],rows:[{parseRows:0}],selectedKeys:[{parseSelectedKeys:0}],filteredFields:[{parseFilteredFields:0}],indirectFilteredFields:[{parseIndirectFields:0}]}]);function h(){"undefined"!=typeof customElements&&["co-data-table","co-button","co-checkbox","co-icon","co-kbd","co-tooltip"].forEach((e=>{switch(e){case"co-data-table":customElements.get(t(e))||customElements.define(t(e),d);break;case"co-button":customElements.get(t(e))||s();break;case"co-checkbox":customElements.get(t(e))||c();break;case"co-icon":customElements.get(t(e))||r();break;case"co-kbd":customElements.get(t(e))||n();break;case"co-tooltip":customElements.get(t(e))||l()}}))}h();const b=d,p=h;export{b as CoDataTable,p as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t,p as e,H as o,c as i,f as s,h as r,a}from"./index.js";import{d as c,g as n}from"./p-B9wdMd_0.js";import{b as d,s as h}from"./p-BmdKHBZP.js";import{d as l}from"./p-KK2vAKs-.js";import{d as g}from"./p-DsuFNmTI.js";import{d as u}from"./p-8XzG8pzY.js";import{d as p}from"./p-BdmzslA5.js";import{d as m}from"./p-9VoFSbIH.js";import{B as b,F as f,E as v,w as y,r as _,Q as x,s as w,q as k,x as z,z as C,W as P,I as H,P as S,G as E}from"./p-Ch-Tygdb.js";const M={top:38,right:38,bottom:38,left:38},N=new Set(["letter","a4","legal"]);function $(t){if("string"==typeof t){if(N.has(t))return t;try{return $(JSON.parse(t))}catch(t){return"letter"}}if(t&&"object"==typeof t){const{width:e,height:o}=t;if(Number(e)>0&&Number(o)>0)return{width:Number(e),height:Number(o)}}return"letter"}const j=/@(import|charset|namespace)[^;]*;/gi;function I(t,e){return t?F(t.replace(/\/\*[\s\S]*?\*\//g,"").replace(j,""),e).trim():""}function O(t,e){let o=0,i=null;for(let s=e;s<t.length;s+=1){const e=t[s];if(i)e===i&&"\\"!==t[s-1]&&(i=null);else if('"'===e||"'"===e)i=e;else if("{"===e)o+=1;else if("}"===e&&(o-=1,0===o))return s}return-1}function L(t,e){const o=t.trim();if(!o)return"";const i=`:where(${e})`;if("*"===o)return`${i}, ${i} *, ${i} :is(pre, code)`;const s=o.replace(/^(?:(?:html|body|:root)(?=$|[\s>+~.#:[])\s*)+/i,"").trim();return s?`${i} ${s}`:i}function F(t,e){let o="",i=0;for(;i<t.length;){const s=t.indexOf("{",i);if(-1===s)break;const r=O(t,s);if(-1===r)break;const a=t.slice(i,s).trim(),c=t.slice(s+1,r);if(i=r+1,!a)continue;if(a.startsWith("@")){const t=a.slice(1).split(/[\s(]/)[0].toLowerCase();"media"===t||"supports"===t?o+=`${a}{${F(c,e)}}`:t.endsWith("keyframes")&&(o+=`${a}{${c}}`);continue}const n=a.split(",").map((t=>L(t,e))).filter(Boolean);n.length&&(o+=`${n.join(", ")}{${c}}`)}return o}function B(t){return Number.isFinite(t)?Math.round(1e3*Math.min(3,Math.max(.25,t)))/1e3:1}function G(t,e,o){return o>0?(t-e)/o:0}function T(t,e,o,i){return t+e*o-i}const A={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",break:"rows"},R={width:124,height:34};function J(t,e){let o=0,i=t;for(;i&&i!==e;)o+=i.offsetLeft,i=i.offsetParent;return o}let V=0;const D=e(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.coChange=i(this,"coChange",3),this.coFieldsChange=i(this,"coFieldsChange",3),this.coHeaderChange=i(this,"coHeaderChange",3),this.coPagesChange=i(this,"coPagesChange",3),this.coAction=i(this,"coAction",3),this.coReady=i(this,"coReady",3),this.value=null,this.headerHtml="",this.showPageNumber=!1,this.pageSize="letter",this.headerHeight=45,this.pageStyles="",this.readonly=!1,this.locale="en",this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.currentHeaderHtml="",this.currentShowPageNumber=!1,this.headerDoc=null,this.instanceId=++V+"",this.applyingExternal=!1,this.lastAppliedValue=null,this.userDirty=!1,this.lastFieldsKey="",this.pendingImageSrcs=new Set,this.changeThrottle=function(t,e){let o=null;return{run(){o||(o=setTimeout((()=>{o=null,e()}),250))},flush(){o&&(clearTimeout(o),o=null,e())},cancel(){o&&clearTimeout(o),o=null},get pending(){return null!==o}}}(0,(()=>this.emitPendingChange())),this.updateImageBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"image"!==o.type.name)return void(this.imageBar&&(this.imageBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.imageBar&&(this.imageBar=null));const r=E(i,s),a=function(t,e,o=R,i=4){const s=t.top+t.height+i,r=t.top-i-o.height;let a=s,c="below";e.height>0&&s+o.height>e.height&&(r>=0?(a=r,c="above"):(a=Math.max(0,Math.min(t.top+t.height-i-o.height,e.height-o.height)),c="inside"));let n=t.left;return e.width>0&&(n=Math.max(0,Math.min(n,e.width-o.width))),{top:a,left:n,placement:c}}({top:r.top,height:r.height,left:J(i,s)},{width:s.offsetWidth,height:s.offsetHeight}),c=b({wrapperStyle:o.attrs.wrapperStyle,containerStyle:o.attrs.containerStyle}),n=this.imageBar;n&&n.mode===c&&n.top===a.top&&n.left===a.left||(this.imageBar={mode:c,top:a.top,left:a.left})},this.onBodyImageLoad=t=>{const e=t.target,o=this.editor;if(!o||!e||"IMG"!==e.tagName)return;const i=e.getAttribute("src")||"";if(!this.pendingImageSrcs.has(i))return;let s=-1;o.state.doc.descendants(((t,e)=>!(s>=0||("image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(s=e),0))));const r=s>=0?o.state.doc.nodeAt(s):null;if(!r)return;const a=this.marginsPx,c=function(t,e){const o=t>0?t:0,i=e>0?e:0,s=o&&i?Math.min(o,i):o||i;return s?Math.max(1,Math.round(s)):null}(e.naturalWidth,this.pageSizePx.width-a.left-a.right);if(!c)return;let n=!1;o.state.doc.descendants(((t,e)=>(e===s||"image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(n=!0),!n))),n||this.pendingImageSrcs.delete(i);const d=o.state.selection.node&&o.state.selection.from===s;o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:c}))),d&&o.commands.setNodeSelection(s)},this.onEditorBlur=()=>{this.changeThrottle.flush()},this.onHostKeydown=t=>{"Escape"===t.key&&this.changeThrottle.flush()},this.onTransaction=({transaction:t})=>{t.docChanged&&(this.applyingExternal||!!t.getMeta(f)||(this.userDirty=!0,this.trackInsertedImages(t)),this.changeThrottle.run())},this.handleToolbarAction=t=>{t.stopPropagation();const{action:e,payload:o}=t.detail||{};o&&!0===o.extra?this.coAction.emit({action:e,payload:{extra:!0}}):"documentHeader"===e&&this.startHeaderEdit()},this.startHeaderEdit=()=>{this.readonly||this.headerEditing||!this.editor||(this.draftShowPageNumber=this.currentShowPageNumber,this.headerEditing=!0,this.refreshPagination())},this.onHeaderTransaction=({transaction:t})=>{t.docChanged&&this.changeThrottle.run()},this.onHeaderImageLoad=t=>{const e=t.target,o=this.headerEditor;if(!o||!e||"IMG"!==e.tagName)return;const i=v({w:e.naturalWidth,h:e.naturalHeight});if(!i)return;let s=-1;try{const t=o.view.posAtDOM(e,0),i=o.state.doc.nodeAt(t);i&&"image"===i.type.name&&(s=t)}catch(t){}if(s<0){const t=e.getAttribute("src");o.state.doc.descendants(((e,o)=>!(s>=0||("image"!==e.type.name||e.attrs.width||e.attrs.src!==t||(s=o),0))))}const r=s>=0?o.state.doc.nodeAt(s):null;r&&!r.attrs.width&&o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:i})))},this.onDocumentPointer=t=>{const e=t.composedPath();this.headerBandEl&&e.includes(this.headerBandEl)||this.toolbarEl&&e.includes(this.toolbarEl)||this.commitHeader()},this.onHeaderKeydown=t=>{var e;if("Escape"!==t.key||t.isComposing)return;const o=this.toolbarEl;o&&t.currentTarget===o&&(null===(e=o.shadowRoot)||void 0===e?void 0:e.querySelector('[aria-expanded="true"]'))||(t.preventDefault(),t.stopPropagation(),this.cancelHeader(!0))},this.commitHeader=(t=!1)=>{var e;const o=this.headerEditor;if(!o)return;const i=t&&this.focusIsInBandOrLost(),s=o.isEmpty?"":y(o.state.doc,"print-header",this.resolvedFeatures),r=this.draftShowPageNumber;this.teardownHeaderEditor(),this.currentHeaderHtml=s,this.currentShowPageNumber=r,this.headerDoc=s?_(s,"print-header",this.resolvedFeatures):null,this.headerEditing=!1,this.refreshPagination(),this.coHeaderChange.emit({html:s,showPageNumber:r}),this.emitFieldsIfChanged(),i&&(null===(e=this.editor)||void 0===e||e.commands.focus())},this.cancelHeader=(t=!1)=>{var e;this.headerEditing&&(this.teardownHeaderEditor(),this.headerEditing=!1,this.refreshPagination(),this.emitFieldsIfChanged(),t&&(null===(e=this.editor)||void 0===e||e.commands.focus()))},this.renderedScale=1,this.onCanvasWheel=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),this.zoomTo(function(t,e){return Number.isFinite(e)?B(t*Math.exp(.01*-e)):t}(this.scale,1===t.deltaMode?16*t.deltaY:t.deltaY),t.clientX,t.clientY))},this.gestureBase=1,this.onGestureStart=t=>{t.preventDefault(),this.gestureBase=this.scale},this.onGestureChange=t=>{var e,o,i,s;t.preventDefault();const r=null===(e=this.canvasEl)||void 0===e?void 0:e.getBoundingClientRect(),a=null!==(o=t.clientX)&&void 0!==o?o:r?r.left+r.width/2:0,c=null!==(i=t.clientY)&&void 0!==i?i:r?r.top+r.height/2:0;this.zoomTo(B(this.gestureBase*(null!==(s=t.scale)&&void 0!==s?s:1)),a,c)}}get s(){return n(this.locale)}get resolvedFeatures(){var t;return null!==(t=d(this.features))&&void 0!==t?t:{}}get parsedExtraItems(){const t=d(this.extraItems);return Array.isArray(t)?t:[]}get pageSizePx(){return x($(this.pageSize))}get marginsPx(){return function(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){return Object.assign({},M)}if(!e||"object"!=typeof e)return Object.assign({},M);const o=e,i=t=>Number.isFinite(Number(o[t]))&&void 0!==o[t]?Number(o[t]):M[t];return{top:i("top"),right:i("right"),bottom:i("bottom"),left:i("left")}}(this.margins)}get hasHeader(){return!!this.currentHeaderHtml||this.headerEditing}get sanitizedHeaderHtml(){return w(this.currentHeaderHtml,"print-header")}get pageScope(){return`.co-doc-editor__sheet[data-co-doc="${this.instanceId}"]`}get activeEditor(){var t;return null!==(t=this.headerEditor)&&void 0!==t?t:this.editor}get documentHeaderEnabled(){return!this.readonly&&!this.headerEditing}buildCustomExtensions(){return[k.configure({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0},footer:{height:0},renderHeader:(t,e)=>this.buildHeaderClone(t,e),onPagesChange:t=>{this.pageCount=t,this.coPagesChange.emit(t)}})]}collectAllFields(){if(!this.editor)return[];const t=z(this.editor.state.doc),e=this.headerEditor?this.headerEditor.state.doc:this.headerDoc;return e&&z(e,t),t}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeydown,!0)}componentWillLoad(){this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null}componentDidLoad(){var t,e,o;this.contentEl&&(this.syncHeaderFromProps(),this.editor=C({preset:"print",element:this.contentEl,content:this.value?this.parseBody(this.value):null,editable:!this.readonly,features:this.resolvedFeatures,labels:{signature:t=>`${this.s.signature} ${t}`,fieldName:this.s.fieldNamePlaceholder},customExtensions:this.buildCustomExtensions(),imageUpload:this.imageUpload}),this.lastAppliedValue=this.value,this.wireEditor(this.editor),this.applyPageStyles(),"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updateScale())),this.canvasEl&&this.resizeObserver.observe(this.canvasEl),this.stageEl&&this.resizeObserver.observe(this.stageEl)),null===(t=this.canvasEl)||void 0===t||t.addEventListener("wheel",this.onCanvasWheel,{passive:!1}),null===(e=this.canvasEl)||void 0===e||e.addEventListener("gesturestart",this.onGestureStart),null===(o=this.canvasEl)||void 0===o||o.addEventListener("gesturechange",this.onGestureChange),this.updateScale(),this.syncToolbar(),this.ready=!0,this.emitFieldsIfChanged(),this.coReady.emit())}componentDidRender(){this.applyPendingAnchor(),this.headerEditing&&!this.headerEditor&&this.headerMountEl&&this.mountHeaderEditor(),this.syncToolbar()}disconnectedCallback(){var t,e,o,i;this.el.removeEventListener("keydown",this.onHostKeydown,!0),this.changeThrottle.cancel(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0,null===(e=this.canvasEl)||void 0===e||e.removeEventListener("wheel",this.onCanvasWheel),null===(o=this.canvasEl)||void 0===o||o.removeEventListener("gesturestart",this.onGestureStart),null===(i=this.canvasEl)||void 0===i||i.removeEventListener("gesturechange",this.onGestureChange),this.toolbarEl&&(this.toolbarEl.editor=void 0),this.teardownHeaderEditor(!1),this.headerEditing=!1,this.editor&&(this.editor.off("transaction",this.onTransaction),this.editor.off("blur",this.onEditorBlur),this.editor.off("transaction",this.updateImageBar),this.editor.view.dom.removeEventListener("load",this.onBodyImageLoad,!0),this.editor.destroy()),this.editor=void 0,this.pendingImageSrcs.clear(),this.imageBar=null}onValueChange(t){t!==this.lastAppliedValue&&(this.editor&&t&&t===y(this.editor.state.doc,"print",this.resolvedFeatures)?this.lastAppliedValue=t:this.applyBody(t))}onReadonlyChange(){var t;null===(t=this.editor)||void 0===t||t.setEditable(!this.readonly),this.readonly&&this.headerEditing&&this.cancelHeader(),this.updateImageBar()}onPageGeometryChange(){this.refreshPagination(),this.updateScale()}onHeaderPropsChange(){this.headerEditing||(this.syncHeaderFromProps(),this.refreshPagination(),this.emitFieldsIfChanged())}onPageStylesChange(){this.applyPageStyles()}onLabelChange(){this.editor&&this.editor.view.dom.setAttribute("aria-label",this.label||this.s.documentEditor)}onLocaleChange(){this.currentShowPageNumber&&this.refreshPagination()}async getPrintHtml(){return this.editor?y(this.editor.state.doc,"print",this.resolvedFeatures):""}async getHeaderHtml(){return this.currentHeaderHtml}async getJSON(){return this.editor?this.editor.getJSON():null}async flushChange(){this.changeThrottle.flush()}async isEmpty(){return!this.editor||this.editor.isEmpty}async setContent(t){this.applyBody(t)}async setFieldValues(t){var e,o;if(null===(e=this.editor)||void 0===e||e.commands.setFieldValues(t),null===(o=this.headerEditor)||void 0===o||o.commands.setFieldValues(t),!this.currentHeaderHtml)return;const i=P(this.currentHeaderHtml,t,"print-header",this.resolvedFeatures);i!==this.currentHeaderHtml&&(this.currentHeaderHtml=i,this.headerDoc=_(i,"print-header",this.resolvedFeatures),this.headerEditing||(this.refreshPagination(),s(this)))}async insertField(t,e){var o;null===(o=this.editor)||void 0===o||o.chain().focus().insertField(t,e).run()}async insertSignatureSlot(){var t;null===(t=this.editor)||void 0===t||t.chain().focus().insertSignatureSlot().run()}async focusEditor(){var t;null===(t=this.editor)||void 0===t||t.commands.focus()}async getEditorInstance(){var t;return null!==(t=this.editor)&&void 0!==t?t:null}wireEditor(t){const e=t.view.dom;e.classList.add("tiptap"),e.setAttribute("aria-label",this.label||this.s.documentEditor),e.setAttribute("aria-multiline","true"),t.on("transaction",this.onTransaction),t.on("transaction",this.updateImageBar),t.on("blur",this.onEditorBlur),e.addEventListener("load",this.onBodyImageLoad,!0)}imageModeLabel(t){const e=this.s;return{inline:e.imageLayoutInline,"wrap-left":e.imageLayoutWrapLeft,"wrap-right":e.imageLayoutWrapRight,break:e.imageLayoutBreak}[t]}setImageMode(t){var e;null===(e=this.editor)||void 0===e||e.commands.setImageLayoutMode(t),this.updateImageBar()}trackInsertedImages(t){var e,o,i;if(t.getMeta("history$"))return;const s=[];for(const r of t.steps)null===(i=null===(o=null===(e=r.slice)||void 0===e?void 0:e.content)||void 0===o?void 0:o.descendants)||void 0===i||i.call(o,(t=>{"image"===t.type.name&&!t.attrs.width&&t.attrs.src&&s.push(t.attrs.src)}));if(!s.length)return;const r=new Set;t.before.descendants((t=>{"image"!==t.type.name||t.attrs.width||r.add(t.attrs.src)})),s.forEach((t=>{r.has(t)||this.pendingImageSrcs.add(t)}))}parseBody(t){const e=t.trim();if(e.startsWith("{"))try{return JSON.parse(e)}catch(t){}return _(t,"print",this.resolvedFeatures)}applyBody(t){if(this.editor){this.pendingImageSrcs.clear(),this.applyingExternal=!0;try{t?this.editor.commands.setContent(this.parseBody(t),{emitUpdate:!1}):this.editor.commands.clearContent(!1)}finally{this.applyingExternal=!1,this.lastAppliedValue=t}}}emitPendingChange(){this.editor&&(this.emitFieldsIfChanged(),this.userDirty&&(this.userDirty=!1,this.coChange.emit()))}emitFieldsIfChanged(){const t=this.collectAllFields(),e=JSON.stringify(t);e!==this.lastFieldsKey&&(this.lastFieldsKey=e,this.coFieldsChange.emit(t))}syncToolbar(){h(this.toolbarEl,this.activeEditor,this.imageUpload)}syncHeaderFromProps(){this.currentHeaderHtml=this.headerHtml||"",this.currentShowPageNumber=function(t){return!0===t||"true"===t}(this.showPageNumber),this.headerDoc=this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null}mountHeaderEditor(){var t,e;const o=C({preset:"print-header",element:this.headerMountEl,content:this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null,editable:!0,features:{fields:this.resolvedFeatures.fields},labels:{fieldName:this.s.fieldNamePlaceholder},imageUpload:this.imageUpload});this.headerEditor=o;const i=o.view.dom;i.classList.add("tiptap"),i.setAttribute("aria-label",this.s.documentHeader),o.on("transaction",this.onHeaderTransaction),i.addEventListener("load",this.onHeaderImageLoad,!0),document.addEventListener("mousedown",this.onDocumentPointer,!0),null===(t=this.headerBandEl)||void 0===t||t.addEventListener("keydown",this.onHeaderKeydown,!0),null===(e=this.toolbarEl)||void 0===e||e.addEventListener("keydown",this.onHeaderKeydown,!0),o.commands.focus("end"),this.syncToolbar()}teardownHeaderEditor(t=!0){var e,o;document.removeEventListener("mousedown",this.onDocumentPointer,!0),null===(e=this.headerBandEl)||void 0===e||e.removeEventListener("keydown",this.onHeaderKeydown,!0),null===(o=this.toolbarEl)||void 0===o||o.removeEventListener("keydown",this.onHeaderKeydown,!0);const i=this.headerEditor;this.headerEditor=void 0,t?this.syncToolbar():this.toolbarEl&&i&&this.toolbarEl.editor===i&&(this.toolbarEl.editor=void 0),i&&(i.off("transaction",this.onHeaderTransaction),i.view.dom.removeEventListener("load",this.onHeaderImageLoad,!0),i.destroy())}focusIsInBandOrLost(){const t=document.activeElement;return!t||t===document.body||!(!this.headerBandEl||!this.headerBandEl.contains(t))}refreshPagination(){var t;null===(t=this.editor)||void 0===t||t.commands.setPaginationOptions({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0}})}applyPageStyles(){this.styleEl&&(this.styleEl.textContent=I(this.pageStyles,this.pageScope))}buildHeaderClone(t,e){if(!this.currentHeaderHtml)return null;const o=document.createElement("div");o.className="co-doc-editor__header-static",o.style.height=this.headerHeight+"px";const i=document.createElement("div");if(i.className="co-doc-editor__header-html",i.innerHTML=this.sanitizedHeaderHtml,o.appendChild(i),this.currentShowPageNumber){const i=document.createElement("span");i.className="co-doc-editor__page-number",i.textContent=`${this.s.page} ${t} / ${e}`,o.appendChild(i)}return o}updateScale(){var t,e,o,i;if("custom"!==this.zoomMode){const o="actual"===this.zoomMode?1:function(t,e){return t>0&&e>0?Math.round(1e3*Math.min(1,Math.max(.25,t/e)))/1e3:1}((null!==(e=null===(t=this.canvasEl)||void 0===t?void 0:t.clientWidth)&&void 0!==e?e:0)-32,this.pageSizePx.width);o!==this.scale&&(this.scale=o)}const s=null!==(i=null===(o=this.stageEl)||void 0===o?void 0:o.offsetHeight)&&void 0!==i?i:0;s!==this.stageHeight&&(this.stageHeight=s)}zoomTo(t,e,o){if(this.canvasEl&&this.stageEl&&t!==this.scale){if(this.pendingAnchor)this.pendingAnchor.cx=e,this.pendingAnchor.cy=o;else{const t=this.stageEl.getBoundingClientRect();this.pendingAnchor={px:G(e,t.left,this.renderedScale),py:G(o,t.top,this.renderedScale),cx:e,cy:o}}this.zoomMode="custom",this.scale=t}}applyPendingAnchor(){const t=this.pendingAnchor,e=this.canvasEl;if(this.renderedScale=this.scale,!t||!e||!this.stageEl)return;this.pendingAnchor=void 0;const o=this.stageEl.getBoundingClientRect();e.scrollLeft+=T(o.left,t.px,this.scale,t.cx),e.scrollTop+=T(o.top,t.py,this.scale,t.cy)}setZoom(t){this.zoomMode=t,this.updateScale()}renderHeaderBand(){const t=this.s;return r("div",{key:"header-band",class:{"co-doc-editor__header-band":!0,"co-doc-editor__header-band--editing":this.headerEditing},part:"header-band",hidden:!this.hasHeader,ref:t=>this.headerBandEl=t,onDblClick:()=>this.startHeaderEdit()},this.headerEditing?r("div",{key:"header-editing",class:"co-doc-editor__header-editing"},r("div",{class:"co-doc-editor__header-editor",ref:t=>this.headerMountEl=t}),r("div",{class:"co-doc-editor__header-tools"},r("co-switch",{checked:this.draftShowPageNumber,label:t.pageNumber,disabled:!1,required:!1,status:"default",onCoChange:t=>{t.stopPropagation(),this.draftShowPageNumber=!!t.detail}}),r("co-tooltip",{content:t.confirmHeader},r("co-icon-button",{icon:"check",variant:"ghost",size:"xs",boxSize:28,iconSize:16,label:t.confirmHeader,onClick:()=>this.commitHeader(!0)})))):r("div",{key:"header-static",class:"co-doc-editor__header-static"},r("div",{class:"co-doc-editor__header-html",innerHTML:this.sanitizedHeaderHtml}),this.currentShowPageNumber&&r("span",{class:"co-doc-editor__page-number"},`${t.page} 1 / ${this.pageCount}`)))}renderOverlays(){const t=this.imageBar;return!t||this.readonly||this.headerEditing?null:r("div",{key:"image-bar",class:"co-doc-editor__image-bar",role:"toolbar","aria-label":this.s.imageLayoutLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},H.map((e=>{const o=this.imageModeLabel(e),i=t.mode===e;return r("co-tooltip",{key:e,content:o},r("button",{type:"button",class:{"co-doc-editor__image-mode":!0,"co-doc-editor__image-mode--active":i},"data-mode":e,"aria-label":o,"aria-pressed":i+"",onClick:()=>this.setImageMode(e)},r("co-icon",{name:A[e],size:16,"aria-hidden":"true"})))})))}render(){const t=this.s,e=this.pageSizePx,o=this.marginsPx,i={"--co-doc-page-w":e.width+"px","--co-doc-page-h":e.height+"px","--co-doc-margin-top":o.top+"px","--co-doc-margin-right":o.right+"px","--co-doc-margin-bottom":o.bottom+"px","--co-doc-margin-left":o.left+"px","--co-doc-header-h":(this.hasHeader?this.headerHeight:0)+"px","--co-doc-pages":this.pageCount+"","--co-doc-gap":S+"px"},s={width:e.width*this.scale+"px",height:this.stageHeight?this.stageHeight*this.scale+"px":"auto"},c=(t,e)=>r("button",{key:"da1c68e89c973899e18720d3cf25b861d158f7c1",type:"button",class:{"co-doc-editor__zoom-btn":!0,"co-doc-editor__zoom-btn--active":this.zoomMode===t},"aria-pressed":(this.zoomMode===t)+"",onClick:()=>this.setZoom(t)},e);return r(a,{key:"254d9df102441f867dc46eb71039df92d99ad102"},r("div",{key:"29723bbee5dd3eae004c6df4c330e8589388636d",class:{"co-doc-editor":!0,"co-doc-editor--readonly":this.readonly,"co-doc-editor--loading":!this.ready},part:"wrapper"},r("div",{key:"9257d370d8547f08402fbaaed2d4a6aa30d94e70",class:"co-doc-editor__bar",part:"bar"},!this.readonly&&r("co-rich-text-toolbar",{key:"8fff97e80464889cb0e6e60d8d9f69308f987e9f",class:"co-doc-editor__toolbar",part:"toolbar",variant:"document",position:"top",disabled:!1,locale:this.locale,attachmentsEnabled:!1,documentHeaderEnabled:this.documentHeaderEnabled,extraItems:this.parsedExtraItems,onCoAction:this.handleToolbarAction,ref:t=>this.toolbarEl=t}),r("div",{key:"00ff09c93887815f84bbb9c68e9485fd64c3c0b6",class:"co-doc-editor__zoom",role:"group","aria-label":t.zoom},"custom"===this.zoomMode&&r("span",{key:"956f0fa4e803a0e27fa32a28116d1e397a2dc402",class:"co-doc-editor__zoom-level"},Math.round(100*this.scale)+" %"),c("fit",t.zoomFit),c("actual",t.zoomActual))),r("div",{key:"4a44bc41d6a641a5f4543422bd7263f2bd962f99",class:"co-doc-editor__body"},r("div",{key:"467491e684b9487d507861d54c37b06b752216f4",class:"co-doc-editor__canvas",part:"canvas",ref:t=>this.canvasEl=t},r("div",{key:"66653efbda8e0dffb7bc1fdb07d0be31b4f5c8a9",class:"co-doc-editor__zoom-frame",style:s},r("div",{key:"06407fc5177c21f4edc60b900a17a8c44ef193ab",class:"co-doc-editor__stage",style:{transform:`scale(${this.scale})`},ref:t=>this.stageEl=t},r("div",{key:"440f1ced158d76650618bc0f153c3201503550a1",class:"co-doc-editor__sheet",part:"sheet","data-co-doc":this.instanceId,style:i},r("style",{key:"page-styles","data-co-doc-page-styles":"",ref:t=>this.styleEl=t}),r("div",{key:"paper",class:"co-doc-editor__paper","data-theme":"light"},this.renderHeaderBand(),r("div",{key:"content",class:"co-doc-editor__content",ref:t=>this.contentEl=t}),this.renderOverlays()))))),r("slot",{key:"1478889436471ed2707db4e361d878faf7c56f2e",name:"aside"}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}}static get style(){return"co-document-editor{display:block;height:100%;min-height:0}.co-doc-editor{--co-doc-canvas:var(--co-semantic-surface-muted);--co-doc-sheet-shadow:0 1px 3px var(--co-color-opacity-negro-16), 0 0 0 1px var(--co-color-opacity-negro-8);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--co-doc-canvas);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary)}.co-doc-editor__bar{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-width:0;padding-inline:var(--co-spacing-md);background:var(--co-semantic-surface-page);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__toolbar{flex:1 1 auto;min-width:0}.co-doc-editor__body{flex:1 1 auto;display:flex;min-height:0}.co-doc-editor__body>[slot='aside']{flex:0 0 var(--co-doc-aside-width, 320px);width:var(--co-doc-aside-width, 320px);min-width:0;min-height:0;box-sizing:border-box;border-left:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__canvas{flex:1 1 auto;min-width:0;overflow:auto;box-sizing:border-box;padding:var(--co-spacing-2xl) var(--co-spacing-lg)}.co-doc-editor__content .ProseMirror{position:relative;outline:none}.co-doc-editor--loading .co-doc-editor__content{visibility:hidden}.co-doc-field{--co-doc-field-bg:var(--co-color-primary-amarillo);background:var(--co-doc-field-bg);box-shadow:0 0 0 2px var(--co-doc-field-bg);border-radius:var(--co-border-radius-xxs);color:var(--co-color-base-negro);cursor:pointer}.co-doc-field--empty{--co-doc-field-bg:color-mix(in srgb, var(--co-color-primary-amarillo) 55%, var(--co-color-base-blanco))}.co-doc-field--required.co-doc-field--empty{box-shadow:0 0 0 2px var(--co-doc-field-bg), inset 0 -2px 0 var(--co-color-status-error)}.co-doc-field__input{width:14ch;border:0;outline:1px solid var(--co-semantic-border-focus);background:var(--co-color-base-blanco);font:inherit}.co-doc-signature{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;box-sizing:border-box;outline:1px dashed var(--co-color-primary-azul);outline-offset:-1px;background:color-mix(in srgb, var(--co-color-primary-azul) 6%, transparent);color:var(--co-color-primary-azul);font-size:var(--co-font-size-12);user-select:none}.co-doc-hb{background:color-mix(in srgb, var(--co-color-primary-azul) 12%, transparent);border-radius:var(--co-border-radius-xxs)}.co-doc-editor__zoom{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--co-spacing-xxs);margin-inline-start:auto}.co-doc-editor__zoom-level{min-width:5ch;padding-inline:var(--co-spacing-xs);font-size:var(--co-font-size-13);font-variant-numeric:tabular-nums;text-align:end;color:var(--co-semantic-text-secondary)}.co-doc-editor__zoom-btn{padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;color:var(--co-semantic-text-secondary);font:inherit;font-size:var(--co-font-size-13);white-space:nowrap;cursor:pointer}.co-doc-editor__zoom-btn:hover{background:var(--co-semantic-surface-hover)}.co-doc-editor__zoom-btn--active{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-doc-editor__zoom-btn:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__zoom-frame{margin-inline:auto}.co-doc-editor__stage{width:var(--co-doc-page-w);transform-origin:top left}.co-doc-editor__sheet{--co-semantic-surface-page:var(--co-color-base-blanco);--co-semantic-surface-hover:var(--co-color-opacity-negro-8);--co-semantic-text-default:var(--co-color-base-negro);--co-semantic-text-secondary:var(--co-color-gray-600);--co-semantic-text-muted:var(--co-color-gray-500);--co-semantic-border-default:var(--co-color-opacity-negro-16);--co-semantic-border-subtle:var(--co-color-opacity-negro-8);--co-semantic-border-field:var(--co-color-opacity-negro-25);--co-semantic-border-focus:var(--co-color-opacity-negro-50);--co-semantic-border-focus-ring:var(--co-color-opacity-negro-8);position:relative;width:var(--co-doc-page-w);min-height:calc(var(--co-doc-pages, 1) * var(--co-doc-page-h) + (var(--co-doc-pages, 1) - 1) * var(--co-doc-gap));box-sizing:border-box;padding-top:calc(var(--co-doc-margin-top) + var(--co-doc-header-h, 0px));padding-right:var(--co-doc-margin-right);padding-bottom:var(--co-doc-margin-bottom);padding-left:var(--co-doc-margin-left);overflow:clip;background:var(--co-color-base-blanco);color:var(--co-color-base-negro);color-scheme:light;box-shadow:var(--co-doc-sheet-shadow)}.co-doc-editor__paper{display:contents;color:var(--co-semantic-text-default)}.co-doc-editor .co-doc-editor__sheet .co-doc-editor__content .ProseMirror.tiptap{padding:0 !important;min-height:1em}.co-doc-editor__header-band{position:absolute;top:var(--co-doc-margin-top);left:var(--co-doc-margin-left);right:var(--co-doc-margin-right);height:var(--co-doc-header-h);box-sizing:border-box}.co-doc-editor__header-band[hidden]{display:none}.co-doc-editor__header-band:hover{outline:1px dashed var(--co-color-opacity-negro-25)}.co-doc-editor__header-static{display:flex;align-items:center;justify-content:space-between;height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5;user-select:none}.co-doc-editor__header-html{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden}.co-doc-editor__page-number{flex-shrink:0;margin-inline-start:var(--co-spacing-sm2);white-space:nowrap;color:var(--co-color-gray-600)}.co-doc-page-gap,.co-doc-page-gap__foot,.co-doc-page-gap__between,.co-doc-page-gap__head{margin:0 !important;padding:0 !important;border-width:0 !important;box-sizing:border-box !important}.co-doc-editor__sheet .co-doc-page-gap{position:relative;margin-left:calc(-1 * var(--co-doc-margin-left)) !important;margin-right:calc(-1 * var(--co-doc-margin-right)) !important;user-select:none}.co-doc-page-gap__between{background:var(--co-doc-canvas);border-image:linear-gradient(var(--co-doc-canvas), var(--co-doc-canvas)) fill 0 / 0 / 0 100vmax;box-shadow:inset 0 1px 0 var(--co-color-opacity-negro-8), inset 0 4px 3px -3px var(--co-color-opacity-negro-16), inset 0 -1px 0 var(--co-color-opacity-negro-8)}:is(ul,ol)>.co-doc-page-gap{list-style:none}.co-doc-editor__sheet .co-doc-page-gap__head{padding-top:var(--co-doc-margin-top) !important;padding-left:var(--co-doc-margin-left) !important;padding-right:var(--co-doc-margin-right) !important}.co-doc-page-gap-row>td{padding:0 !important;border:0 !important;background:transparent !important}.co-doc-editor__header-band--editing,.co-doc-editor__header-band--editing:hover{outline:1px solid var(--co-semantic-border-focus);outline-offset:2px}.co-doc-editor__header-editing{display:flex;align-items:center;gap:var(--co-spacing-sm2);height:100%}.co-doc-editor__header-editor{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5}.co-doc-editor__header-editor .ProseMirror{outline:none}.co-doc-editor__header-tools{position:absolute;right:0;bottom:100%;display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-xs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs)}.co-doc-editor__image-bar{position:absolute;z-index:2;display:flex;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);user-select:none}.co-doc-editor__image-bar co-tooltip{display:inline-flex}.co-doc-editor__image-mode{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default);cursor:pointer}.co-doc-editor__image-mode:hover,.co-doc-editor__image-mode--active{background:var(--co-semantic-surface-hover)}.co-doc-editor__image-mode--active{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus)}.co-doc-editor__image-mode:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__image-mode--active:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus), 0 0 0 2px var(--co-semantic-border-focus-ring)}"}},[260,"co-document-editor",{value:[1],headerHtml:[1,"header-html"],showPageNumber:[8,"show-page-number"],pageSize:[1,"page-size"],margins:[1],headerHeight:[2,"header-height"],pageStyles:[1,"page-styles"],features:[1],imageUpload:[16],readonly:[4],locale:[1],extraItems:[1,"extra-items"],label:[1],ready:[32],pageCount:[32],zoomMode:[32],scale:[32],stageHeight:[32],headerEditing:[32],draftShowPageNumber:[32],imageBar:[32],getPrintHtml:[64],getHeaderHtml:[64],getJSON:[64],flushChange:[64],isEmpty:[64],setContent:[64],setFieldValues:[64],insertField:[64],insertSignatureSlot:[64],focusEditor:[64],getEditorInstance:[64]},void 0,{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}]);function q(){"undefined"!=typeof customElements&&["co-document-editor","co-icon","co-icon-button","co-kbd","co-rich-text-toolbar","co-switch","co-tooltip"].forEach((e=>{switch(e){case"co-document-editor":customElements.get(t(e))||customElements.define(t(e),D);break;case"co-icon":customElements.get(t(e))||l();break;case"co-icon-button":customElements.get(t(e))||g();break;case"co-kbd":customElements.get(t(e))||u();break;case"co-rich-text-toolbar":customElements.get(t(e))||c();break;case"co-switch":customElements.get(t(e))||p();break;case"co-tooltip":customElements.get(t(e))||m()}}))}q();const K=D,U=q;export{K as CoDocumentEditor,U as defineCustomElement}
|
|
1
|
+
import{t,p as e,H as o,c as i,f as s,h as r,a}from"./index.js";import{d as c,g as n}from"./p-B9wdMd_0.js";import{b as d,s as h}from"./p-BmdKHBZP.js";import{d as l}from"./p-KK2vAKs-.js";import{d as g}from"./p-DsuFNmTI.js";import{d as u}from"./p-8XzG8pzY.js";import{d as p}from"./p-BdmzslA5.js";import{d as m}from"./p-V7HYy0VO.js";import{B as b,F as f,E as v,w as y,r as _,Q as x,s as w,q as k,x as z,z as C,W as P,I as H,P as S,G as E}from"./p-Ch-Tygdb.js";const M={top:38,right:38,bottom:38,left:38},N=new Set(["letter","a4","legal"]);function $(t){if("string"==typeof t){if(N.has(t))return t;try{return $(JSON.parse(t))}catch(t){return"letter"}}if(t&&"object"==typeof t){const{width:e,height:o}=t;if(Number(e)>0&&Number(o)>0)return{width:Number(e),height:Number(o)}}return"letter"}const j=/@(import|charset|namespace)[^;]*;/gi;function O(t,e){return t?B(t.replace(/\/\*[\s\S]*?\*\//g,"").replace(j,""),e).trim():""}function I(t,e){let o=0,i=null;for(let s=e;s<t.length;s+=1){const e=t[s];if(i)e===i&&"\\"!==t[s-1]&&(i=null);else if('"'===e||"'"===e)i=e;else if("{"===e)o+=1;else if("}"===e&&(o-=1,0===o))return s}return-1}function L(t,e){const o=t.trim();if(!o)return"";const i=`:where(${e})`;if("*"===o)return`${i}, ${i} *, ${i} :is(pre, code)`;const s=o.replace(/^(?:(?:html|body|:root)(?=$|[\s>+~.#:[])\s*)+/i,"").trim();return s?`${i} ${s}`:i}function B(t,e){let o="",i=0;for(;i<t.length;){const s=t.indexOf("{",i);if(-1===s)break;const r=I(t,s);if(-1===r)break;const a=t.slice(i,s).trim(),c=t.slice(s+1,r);if(i=r+1,!a)continue;if(a.startsWith("@")){const t=a.slice(1).split(/[\s(]/)[0].toLowerCase();"media"===t||"supports"===t?o+=`${a}{${B(c,e)}}`:t.endsWith("keyframes")&&(o+=`${a}{${c}}`);continue}const n=a.split(",").map((t=>L(t,e))).filter(Boolean);n.length&&(o+=`${n.join(", ")}{${c}}`)}return o}function F(t){return Number.isFinite(t)?Math.round(1e3*Math.min(3,Math.max(.25,t)))/1e3:1}function G(t,e,o){return o>0?(t-e)/o:0}function T(t,e,o,i){return t+e*o-i}const A={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",break:"rows"},R={width:124,height:34};function V(t,e){let o=0,i=t;for(;i&&i!==e;)o+=i.offsetLeft,i=i.offsetParent;return o}let J=0;const D=e(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.coChange=i(this,"coChange",3),this.coFieldsChange=i(this,"coFieldsChange",3),this.coHeaderChange=i(this,"coHeaderChange",3),this.coPagesChange=i(this,"coPagesChange",3),this.coAction=i(this,"coAction",3),this.coReady=i(this,"coReady",3),this.value=null,this.headerHtml="",this.showPageNumber=!1,this.pageSize="letter",this.headerHeight=45,this.pageStyles="",this.readonly=!1,this.locale="en",this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.currentHeaderHtml="",this.currentShowPageNumber=!1,this.headerDoc=null,this.instanceId=++J+"",this.applyingExternal=!1,this.lastAppliedValue=null,this.userDirty=!1,this.lastFieldsKey="",this.pendingImageSrcs=new Set,this.changeThrottle=function(t,e){let o=null;return{run(){o||(o=setTimeout((()=>{o=null,e()}),250))},flush(){o&&(clearTimeout(o),o=null,e())},cancel(){o&&clearTimeout(o),o=null},get pending(){return null!==o}}}(0,(()=>this.emitPendingChange())),this.updateImageBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"image"!==o.type.name)return void(this.imageBar&&(this.imageBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.imageBar&&(this.imageBar=null));const r=E(i,s),a=function(t,e,o=R,i=4){const s=t.top+t.height+i,r=t.top-i-o.height;let a=s,c="below";e.height>0&&s+o.height>e.height&&(r>=0?(a=r,c="above"):(a=Math.max(0,Math.min(t.top+t.height-i-o.height,e.height-o.height)),c="inside"));let n=t.left;return e.width>0&&(n=Math.max(0,Math.min(n,e.width-o.width))),{top:a,left:n,placement:c}}({top:r.top,height:r.height,left:V(i,s)},{width:s.offsetWidth,height:s.offsetHeight}),c=b({wrapperStyle:o.attrs.wrapperStyle,containerStyle:o.attrs.containerStyle}),n=this.imageBar;n&&n.mode===c&&n.top===a.top&&n.left===a.left||(this.imageBar={mode:c,top:a.top,left:a.left})},this.onBodyImageLoad=t=>{const e=t.target,o=this.editor;if(!o||!e||"IMG"!==e.tagName)return;const i=e.getAttribute("src")||"";if(!this.pendingImageSrcs.has(i))return;let s=-1;o.state.doc.descendants(((t,e)=>!(s>=0||("image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(s=e),0))));const r=s>=0?o.state.doc.nodeAt(s):null;if(!r)return;const a=this.marginsPx,c=function(t,e){const o=t>0?t:0,i=e>0?e:0,s=o&&i?Math.min(o,i):o||i;return s?Math.max(1,Math.round(s)):null}(e.naturalWidth,this.pageSizePx.width-a.left-a.right);if(!c)return;let n=!1;o.state.doc.descendants(((t,e)=>(e===s||"image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(n=!0),!n))),n||this.pendingImageSrcs.delete(i);const d=o.state.selection.node&&o.state.selection.from===s;o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:c}))),d&&o.commands.setNodeSelection(s)},this.onEditorBlur=()=>{this.changeThrottle.flush()},this.onHostKeydown=t=>{"Escape"===t.key&&this.changeThrottle.flush()},this.onTransaction=({transaction:t})=>{t.docChanged&&(this.applyingExternal||!!t.getMeta(f)||(this.userDirty=!0,this.trackInsertedImages(t)),this.changeThrottle.run())},this.handleToolbarAction=t=>{t.stopPropagation();const{action:e,payload:o}=t.detail||{};o&&!0===o.extra?this.coAction.emit({action:e,payload:{extra:!0}}):"documentHeader"===e&&this.startHeaderEdit()},this.startHeaderEdit=()=>{this.readonly||this.headerEditing||!this.editor||(this.draftShowPageNumber=this.currentShowPageNumber,this.headerEditing=!0,this.refreshPagination())},this.onHeaderTransaction=({transaction:t})=>{t.docChanged&&this.changeThrottle.run()},this.onHeaderImageLoad=t=>{const e=t.target,o=this.headerEditor;if(!o||!e||"IMG"!==e.tagName)return;const i=v({w:e.naturalWidth,h:e.naturalHeight});if(!i)return;let s=-1;try{const t=o.view.posAtDOM(e,0),i=o.state.doc.nodeAt(t);i&&"image"===i.type.name&&(s=t)}catch(t){}if(s<0){const t=e.getAttribute("src");o.state.doc.descendants(((e,o)=>!(s>=0||("image"!==e.type.name||e.attrs.width||e.attrs.src!==t||(s=o),0))))}const r=s>=0?o.state.doc.nodeAt(s):null;r&&!r.attrs.width&&o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:i})))},this.onDocumentPointer=t=>{const e=t.composedPath();this.headerBandEl&&e.includes(this.headerBandEl)||this.toolbarEl&&e.includes(this.toolbarEl)||this.commitHeader()},this.onHeaderKeydown=t=>{var e;if("Escape"!==t.key||t.isComposing)return;const o=this.toolbarEl;o&&t.currentTarget===o&&(null===(e=o.shadowRoot)||void 0===e?void 0:e.querySelector('[aria-expanded="true"]'))||(t.preventDefault(),t.stopPropagation(),this.cancelHeader(!0))},this.commitHeader=(t=!1)=>{var e;const o=this.headerEditor;if(!o)return;const i=t&&this.focusIsInBandOrLost(),s=o.isEmpty?"":y(o.state.doc,"print-header",this.resolvedFeatures),r=this.draftShowPageNumber;this.teardownHeaderEditor(),this.currentHeaderHtml=s,this.currentShowPageNumber=r,this.headerDoc=s?_(s,"print-header",this.resolvedFeatures):null,this.headerEditing=!1,this.refreshPagination(),this.coHeaderChange.emit({html:s,showPageNumber:r}),this.emitFieldsIfChanged(),i&&(null===(e=this.editor)||void 0===e||e.commands.focus())},this.cancelHeader=(t=!1)=>{var e;this.headerEditing&&(this.teardownHeaderEditor(),this.headerEditing=!1,this.refreshPagination(),this.emitFieldsIfChanged(),t&&(null===(e=this.editor)||void 0===e||e.commands.focus()))},this.renderedScale=1,this.onCanvasWheel=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),this.zoomTo(function(t,e){return Number.isFinite(e)?F(t*Math.exp(.01*-e)):t}(this.scale,1===t.deltaMode?16*t.deltaY:t.deltaY),t.clientX,t.clientY))},this.gestureBase=1,this.onGestureStart=t=>{t.preventDefault(),this.gestureBase=this.scale},this.onGestureChange=t=>{var e,o,i,s;t.preventDefault();const r=null===(e=this.canvasEl)||void 0===e?void 0:e.getBoundingClientRect(),a=null!==(o=t.clientX)&&void 0!==o?o:r?r.left+r.width/2:0,c=null!==(i=t.clientY)&&void 0!==i?i:r?r.top+r.height/2:0;this.zoomTo(F(this.gestureBase*(null!==(s=t.scale)&&void 0!==s?s:1)),a,c)}}get s(){return n(this.locale)}get resolvedFeatures(){var t;return null!==(t=d(this.features))&&void 0!==t?t:{}}get parsedExtraItems(){const t=d(this.extraItems);return Array.isArray(t)?t:[]}get pageSizePx(){return x($(this.pageSize))}get marginsPx(){return function(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){return Object.assign({},M)}if(!e||"object"!=typeof e)return Object.assign({},M);const o=e,i=t=>Number.isFinite(Number(o[t]))&&void 0!==o[t]?Number(o[t]):M[t];return{top:i("top"),right:i("right"),bottom:i("bottom"),left:i("left")}}(this.margins)}get hasHeader(){return!!this.currentHeaderHtml||this.headerEditing}get sanitizedHeaderHtml(){return w(this.currentHeaderHtml,"print-header")}get pageScope(){return`.co-doc-editor__sheet[data-co-doc="${this.instanceId}"]`}get activeEditor(){var t;return null!==(t=this.headerEditor)&&void 0!==t?t:this.editor}get documentHeaderEnabled(){return!this.readonly&&!this.headerEditing}buildCustomExtensions(){return[k.configure({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0},footer:{height:0},renderHeader:(t,e)=>this.buildHeaderClone(t,e),onPagesChange:t=>{this.pageCount=t,this.coPagesChange.emit(t)}})]}collectAllFields(){if(!this.editor)return[];const t=z(this.editor.state.doc),e=this.headerEditor?this.headerEditor.state.doc:this.headerDoc;return e&&z(e,t),t}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeydown,!0)}componentWillLoad(){this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null}componentDidLoad(){var t,e,o;this.contentEl&&(this.syncHeaderFromProps(),this.editor=C({preset:"print",element:this.contentEl,content:this.value?this.parseBody(this.value):null,editable:!this.readonly,features:this.resolvedFeatures,labels:{signature:t=>`${this.s.signature} ${t}`,fieldName:this.s.fieldNamePlaceholder},customExtensions:this.buildCustomExtensions(),imageUpload:this.imageUpload}),this.lastAppliedValue=this.value,this.wireEditor(this.editor),this.applyPageStyles(),"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updateScale())),this.canvasEl&&this.resizeObserver.observe(this.canvasEl),this.stageEl&&this.resizeObserver.observe(this.stageEl)),null===(t=this.canvasEl)||void 0===t||t.addEventListener("wheel",this.onCanvasWheel,{passive:!1}),null===(e=this.canvasEl)||void 0===e||e.addEventListener("gesturestart",this.onGestureStart),null===(o=this.canvasEl)||void 0===o||o.addEventListener("gesturechange",this.onGestureChange),this.updateScale(),this.syncToolbar(),this.ready=!0,this.emitFieldsIfChanged(),this.coReady.emit())}componentDidRender(){this.applyPendingAnchor(),this.headerEditing&&!this.headerEditor&&this.headerMountEl&&this.mountHeaderEditor(),this.syncToolbar()}disconnectedCallback(){var t,e,o,i;this.el.removeEventListener("keydown",this.onHostKeydown,!0),this.changeThrottle.cancel(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0,null===(e=this.canvasEl)||void 0===e||e.removeEventListener("wheel",this.onCanvasWheel),null===(o=this.canvasEl)||void 0===o||o.removeEventListener("gesturestart",this.onGestureStart),null===(i=this.canvasEl)||void 0===i||i.removeEventListener("gesturechange",this.onGestureChange),this.toolbarEl&&(this.toolbarEl.editor=void 0),this.teardownHeaderEditor(!1),this.headerEditing=!1,this.editor&&(this.editor.off("transaction",this.onTransaction),this.editor.off("blur",this.onEditorBlur),this.editor.off("transaction",this.updateImageBar),this.editor.view.dom.removeEventListener("load",this.onBodyImageLoad,!0),this.editor.destroy()),this.editor=void 0,this.pendingImageSrcs.clear(),this.imageBar=null}onValueChange(t){t!==this.lastAppliedValue&&(this.editor&&t&&t===y(this.editor.state.doc,"print",this.resolvedFeatures)?this.lastAppliedValue=t:this.applyBody(t))}onReadonlyChange(){var t;null===(t=this.editor)||void 0===t||t.setEditable(!this.readonly),this.readonly&&this.headerEditing&&this.cancelHeader(),this.updateImageBar()}onPageGeometryChange(){this.refreshPagination(),this.updateScale()}onHeaderPropsChange(){this.headerEditing||(this.syncHeaderFromProps(),this.refreshPagination(),this.emitFieldsIfChanged())}onPageStylesChange(){this.applyPageStyles()}onLabelChange(){this.editor&&this.editor.view.dom.setAttribute("aria-label",this.label||this.s.documentEditor)}onLocaleChange(){this.currentShowPageNumber&&this.refreshPagination()}async getPrintHtml(){return this.editor?y(this.editor.state.doc,"print",this.resolvedFeatures):""}async getHeaderHtml(){return this.currentHeaderHtml}async getJSON(){return this.editor?this.editor.getJSON():null}async flushChange(){this.changeThrottle.flush()}async isEmpty(){return!this.editor||this.editor.isEmpty}async setContent(t){this.applyBody(t)}async setFieldValues(t){var e,o;if(null===(e=this.editor)||void 0===e||e.commands.setFieldValues(t),null===(o=this.headerEditor)||void 0===o||o.commands.setFieldValues(t),!this.currentHeaderHtml)return;const i=P(this.currentHeaderHtml,t,"print-header",this.resolvedFeatures);i!==this.currentHeaderHtml&&(this.currentHeaderHtml=i,this.headerDoc=_(i,"print-header",this.resolvedFeatures),this.headerEditing||(this.refreshPagination(),s(this)))}async insertField(t,e){var o;null===(o=this.editor)||void 0===o||o.chain().focus().insertField(t,e).run()}async insertSignatureSlot(){var t;null===(t=this.editor)||void 0===t||t.chain().focus().insertSignatureSlot().run()}async focusEditor(){var t;null===(t=this.editor)||void 0===t||t.commands.focus()}async getEditorInstance(){var t;return null!==(t=this.editor)&&void 0!==t?t:null}wireEditor(t){const e=t.view.dom;e.classList.add("tiptap"),e.setAttribute("aria-label",this.label||this.s.documentEditor),e.setAttribute("aria-multiline","true"),t.on("transaction",this.onTransaction),t.on("transaction",this.updateImageBar),t.on("blur",this.onEditorBlur),e.addEventListener("load",this.onBodyImageLoad,!0)}imageModeLabel(t){const e=this.s;return{inline:e.imageLayoutInline,"wrap-left":e.imageLayoutWrapLeft,"wrap-right":e.imageLayoutWrapRight,break:e.imageLayoutBreak}[t]}setImageMode(t){var e;null===(e=this.editor)||void 0===e||e.commands.setImageLayoutMode(t),this.updateImageBar()}trackInsertedImages(t){var e,o,i;if(t.getMeta("history$"))return;const s=[];for(const r of t.steps)null===(i=null===(o=null===(e=r.slice)||void 0===e?void 0:e.content)||void 0===o?void 0:o.descendants)||void 0===i||i.call(o,(t=>{"image"===t.type.name&&!t.attrs.width&&t.attrs.src&&s.push(t.attrs.src)}));if(!s.length)return;const r=new Set;t.before.descendants((t=>{"image"!==t.type.name||t.attrs.width||r.add(t.attrs.src)})),s.forEach((t=>{r.has(t)||this.pendingImageSrcs.add(t)}))}parseBody(t){const e=t.trim();if(e.startsWith("{"))try{return JSON.parse(e)}catch(t){}return _(t,"print",this.resolvedFeatures)}applyBody(t){if(this.editor){this.pendingImageSrcs.clear(),this.applyingExternal=!0;try{t?this.editor.commands.setContent(this.parseBody(t),{emitUpdate:!1}):this.editor.commands.clearContent(!1)}finally{this.applyingExternal=!1,this.lastAppliedValue=t}}}emitPendingChange(){this.editor&&(this.emitFieldsIfChanged(),this.userDirty&&(this.userDirty=!1,this.coChange.emit()))}emitFieldsIfChanged(){const t=this.collectAllFields(),e=JSON.stringify(t);e!==this.lastFieldsKey&&(this.lastFieldsKey=e,this.coFieldsChange.emit(t))}syncToolbar(){h(this.toolbarEl,this.activeEditor,this.imageUpload)}syncHeaderFromProps(){this.currentHeaderHtml=this.headerHtml||"",this.currentShowPageNumber=function(t){return!0===t||"true"===t}(this.showPageNumber),this.headerDoc=this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null}mountHeaderEditor(){var t,e;const o=C({preset:"print-header",element:this.headerMountEl,content:this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null,editable:!0,features:{fields:this.resolvedFeatures.fields},labels:{fieldName:this.s.fieldNamePlaceholder},imageUpload:this.imageUpload});this.headerEditor=o;const i=o.view.dom;i.classList.add("tiptap"),i.setAttribute("aria-label",this.s.documentHeader),o.on("transaction",this.onHeaderTransaction),i.addEventListener("load",this.onHeaderImageLoad,!0),document.addEventListener("mousedown",this.onDocumentPointer,!0),null===(t=this.headerBandEl)||void 0===t||t.addEventListener("keydown",this.onHeaderKeydown,!0),null===(e=this.toolbarEl)||void 0===e||e.addEventListener("keydown",this.onHeaderKeydown,!0),o.commands.focus("end"),this.syncToolbar()}teardownHeaderEditor(t=!0){var e,o;document.removeEventListener("mousedown",this.onDocumentPointer,!0),null===(e=this.headerBandEl)||void 0===e||e.removeEventListener("keydown",this.onHeaderKeydown,!0),null===(o=this.toolbarEl)||void 0===o||o.removeEventListener("keydown",this.onHeaderKeydown,!0);const i=this.headerEditor;this.headerEditor=void 0,t?this.syncToolbar():this.toolbarEl&&i&&this.toolbarEl.editor===i&&(this.toolbarEl.editor=void 0),i&&(i.off("transaction",this.onHeaderTransaction),i.view.dom.removeEventListener("load",this.onHeaderImageLoad,!0),i.destroy())}focusIsInBandOrLost(){const t=document.activeElement;return!t||t===document.body||!(!this.headerBandEl||!this.headerBandEl.contains(t))}refreshPagination(){var t;null===(t=this.editor)||void 0===t||t.commands.setPaginationOptions({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0}})}applyPageStyles(){this.styleEl&&(this.styleEl.textContent=O(this.pageStyles,this.pageScope))}buildHeaderClone(t,e){if(!this.currentHeaderHtml)return null;const o=document.createElement("div");o.className="co-doc-editor__header-static",o.style.height=this.headerHeight+"px";const i=document.createElement("div");if(i.className="co-doc-editor__header-html",i.innerHTML=this.sanitizedHeaderHtml,o.appendChild(i),this.currentShowPageNumber){const i=document.createElement("span");i.className="co-doc-editor__page-number",i.textContent=`${this.s.page} ${t} / ${e}`,o.appendChild(i)}return o}updateScale(){var t,e,o,i;if("custom"!==this.zoomMode){const o="actual"===this.zoomMode?1:function(t,e){return t>0&&e>0?Math.round(1e3*Math.min(1,Math.max(.25,t/e)))/1e3:1}((null!==(e=null===(t=this.canvasEl)||void 0===t?void 0:t.clientWidth)&&void 0!==e?e:0)-32,this.pageSizePx.width);o!==this.scale&&(this.scale=o)}const s=null!==(i=null===(o=this.stageEl)||void 0===o?void 0:o.offsetHeight)&&void 0!==i?i:0;s!==this.stageHeight&&(this.stageHeight=s)}zoomTo(t,e,o){if(this.canvasEl&&this.stageEl&&t!==this.scale){if(this.pendingAnchor)this.pendingAnchor.cx=e,this.pendingAnchor.cy=o;else{const t=this.stageEl.getBoundingClientRect();this.pendingAnchor={px:G(e,t.left,this.renderedScale),py:G(o,t.top,this.renderedScale),cx:e,cy:o}}this.zoomMode="custom",this.scale=t}}applyPendingAnchor(){const t=this.pendingAnchor,e=this.canvasEl;if(this.renderedScale=this.scale,!t||!e||!this.stageEl)return;this.pendingAnchor=void 0;const o=this.stageEl.getBoundingClientRect();e.scrollLeft+=T(o.left,t.px,this.scale,t.cx),e.scrollTop+=T(o.top,t.py,this.scale,t.cy)}setZoom(t){this.zoomMode=t,this.updateScale()}renderHeaderBand(){const t=this.s;return r("div",{key:"header-band",class:{"co-doc-editor__header-band":!0,"co-doc-editor__header-band--editing":this.headerEditing},part:"header-band",hidden:!this.hasHeader,ref:t=>this.headerBandEl=t,onDblClick:()=>this.startHeaderEdit()},this.headerEditing?r("div",{key:"header-editing",class:"co-doc-editor__header-editing"},r("div",{class:"co-doc-editor__header-editor",ref:t=>this.headerMountEl=t}),r("div",{class:"co-doc-editor__header-tools"},r("co-switch",{checked:this.draftShowPageNumber,label:t.pageNumber,disabled:!1,required:!1,status:"default",onCoChange:t=>{t.stopPropagation(),this.draftShowPageNumber=!!t.detail}}),r("co-tooltip",{content:t.confirmHeader},r("co-icon-button",{icon:"check",variant:"ghost",size:"xs",boxSize:28,iconSize:16,label:t.confirmHeader,onClick:()=>this.commitHeader(!0)})))):r("div",{key:"header-static",class:"co-doc-editor__header-static"},r("div",{class:"co-doc-editor__header-html",innerHTML:this.sanitizedHeaderHtml}),this.currentShowPageNumber&&r("span",{class:"co-doc-editor__page-number"},`${t.page} 1 / ${this.pageCount}`)))}renderOverlays(){const t=this.imageBar;return!t||this.readonly||this.headerEditing?null:r("div",{key:"image-bar",class:"co-doc-editor__image-bar",role:"toolbar","aria-label":this.s.imageLayoutLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},H.map((e=>{const o=this.imageModeLabel(e),i=t.mode===e;return r("co-tooltip",{key:e,content:o},r("button",{type:"button",class:{"co-doc-editor__image-mode":!0,"co-doc-editor__image-mode--active":i},"data-mode":e,"aria-label":o,"aria-pressed":i+"",onClick:()=>this.setImageMode(e)},r("co-icon",{name:A[e],size:16,"aria-hidden":"true"})))})))}render(){const t=this.s,e=this.pageSizePx,o=this.marginsPx,i={"--co-doc-page-w":e.width+"px","--co-doc-page-h":e.height+"px","--co-doc-margin-top":o.top+"px","--co-doc-margin-right":o.right+"px","--co-doc-margin-bottom":o.bottom+"px","--co-doc-margin-left":o.left+"px","--co-doc-header-h":(this.hasHeader?this.headerHeight:0)+"px","--co-doc-pages":this.pageCount+"","--co-doc-gap":S+"px"},s={width:e.width*this.scale+"px",height:this.stageHeight?this.stageHeight*this.scale+"px":"auto"},c=(t,e)=>r("button",{key:"da1c68e89c973899e18720d3cf25b861d158f7c1",type:"button",class:{"co-doc-editor__zoom-btn":!0,"co-doc-editor__zoom-btn--active":this.zoomMode===t},"aria-pressed":(this.zoomMode===t)+"",onClick:()=>this.setZoom(t)},e);return r(a,{key:"254d9df102441f867dc46eb71039df92d99ad102"},r("div",{key:"29723bbee5dd3eae004c6df4c330e8589388636d",class:{"co-doc-editor":!0,"co-doc-editor--readonly":this.readonly,"co-doc-editor--loading":!this.ready},part:"wrapper"},r("div",{key:"9257d370d8547f08402fbaaed2d4a6aa30d94e70",class:"co-doc-editor__bar",part:"bar"},!this.readonly&&r("co-rich-text-toolbar",{key:"8fff97e80464889cb0e6e60d8d9f69308f987e9f",class:"co-doc-editor__toolbar",part:"toolbar",variant:"document",position:"top",disabled:!1,locale:this.locale,attachmentsEnabled:!1,documentHeaderEnabled:this.documentHeaderEnabled,extraItems:this.parsedExtraItems,onCoAction:this.handleToolbarAction,ref:t=>this.toolbarEl=t}),r("div",{key:"00ff09c93887815f84bbb9c68e9485fd64c3c0b6",class:"co-doc-editor__zoom",role:"group","aria-label":t.zoom},"custom"===this.zoomMode&&r("span",{key:"956f0fa4e803a0e27fa32a28116d1e397a2dc402",class:"co-doc-editor__zoom-level"},Math.round(100*this.scale)+" %"),c("fit",t.zoomFit),c("actual",t.zoomActual))),r("div",{key:"4a44bc41d6a641a5f4543422bd7263f2bd962f99",class:"co-doc-editor__body"},r("div",{key:"467491e684b9487d507861d54c37b06b752216f4",class:"co-doc-editor__canvas",part:"canvas",ref:t=>this.canvasEl=t},r("div",{key:"66653efbda8e0dffb7bc1fdb07d0be31b4f5c8a9",class:"co-doc-editor__zoom-frame",style:s},r("div",{key:"06407fc5177c21f4edc60b900a17a8c44ef193ab",class:"co-doc-editor__stage",style:{transform:`scale(${this.scale})`},ref:t=>this.stageEl=t},r("div",{key:"440f1ced158d76650618bc0f153c3201503550a1",class:"co-doc-editor__sheet",part:"sheet","data-co-doc":this.instanceId,style:i},r("style",{key:"page-styles","data-co-doc-page-styles":"",ref:t=>this.styleEl=t}),r("div",{key:"paper",class:"co-doc-editor__paper","data-theme":"light"},this.renderHeaderBand(),r("div",{key:"content",class:"co-doc-editor__content",ref:t=>this.contentEl=t}),this.renderOverlays()))))),r("slot",{key:"1478889436471ed2707db4e361d878faf7c56f2e",name:"aside"}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}}static get style(){return"co-document-editor{display:block;height:100%;min-height:0}.co-doc-editor{--co-doc-canvas:var(--co-semantic-surface-muted);--co-doc-sheet-shadow:0 1px 3px var(--co-color-opacity-negro-16), 0 0 0 1px var(--co-color-opacity-negro-8);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--co-doc-canvas);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary)}.co-doc-editor__bar{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-width:0;padding-inline:var(--co-spacing-md);background:var(--co-semantic-surface-page);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__toolbar{flex:1 1 auto;min-width:0}.co-doc-editor__body{flex:1 1 auto;display:flex;min-height:0}.co-doc-editor__body>[slot='aside']{flex:0 0 var(--co-doc-aside-width, 320px);width:var(--co-doc-aside-width, 320px);min-width:0;min-height:0;box-sizing:border-box;border-left:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__canvas{flex:1 1 auto;min-width:0;overflow:auto;box-sizing:border-box;padding:var(--co-spacing-2xl) var(--co-spacing-lg)}.co-doc-editor__content .ProseMirror{position:relative;outline:none}.co-doc-editor--loading .co-doc-editor__content{visibility:hidden}.co-doc-field{--co-doc-field-bg:var(--co-color-primary-amarillo);background:var(--co-doc-field-bg);box-shadow:0 0 0 2px var(--co-doc-field-bg);border-radius:var(--co-border-radius-xxs);color:var(--co-color-base-negro);cursor:pointer}.co-doc-field--empty{--co-doc-field-bg:color-mix(in srgb, var(--co-color-primary-amarillo) 55%, var(--co-color-base-blanco))}.co-doc-field--required.co-doc-field--empty{box-shadow:0 0 0 2px var(--co-doc-field-bg), inset 0 -2px 0 var(--co-color-status-error)}.co-doc-field__input{width:14ch;border:0;outline:1px solid var(--co-semantic-border-focus);background:var(--co-color-base-blanco);font:inherit}.co-doc-signature{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;box-sizing:border-box;outline:1px dashed var(--co-color-primary-azul);outline-offset:-1px;background:color-mix(in srgb, var(--co-color-primary-azul) 6%, transparent);color:var(--co-color-primary-azul);font-size:var(--co-font-size-12);user-select:none}.co-doc-hb{background:color-mix(in srgb, var(--co-color-primary-azul) 12%, transparent);border-radius:var(--co-border-radius-xxs)}.co-doc-editor__zoom{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--co-spacing-xxs);margin-inline-start:auto}.co-doc-editor__zoom-level{min-width:5ch;padding-inline:var(--co-spacing-xs);font-size:var(--co-font-size-13);font-variant-numeric:tabular-nums;text-align:end;color:var(--co-semantic-text-secondary)}.co-doc-editor__zoom-btn{padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;color:var(--co-semantic-text-secondary);font:inherit;font-size:var(--co-font-size-13);white-space:nowrap;cursor:pointer}.co-doc-editor__zoom-btn:hover{background:var(--co-semantic-surface-hover)}.co-doc-editor__zoom-btn--active{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-doc-editor__zoom-btn:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__zoom-frame{margin-inline:auto}.co-doc-editor__stage{width:var(--co-doc-page-w);transform-origin:top left}.co-doc-editor__sheet{--co-semantic-surface-page:var(--co-color-base-blanco);--co-semantic-surface-hover:var(--co-color-opacity-negro-8);--co-semantic-text-default:var(--co-color-base-negro);--co-semantic-text-secondary:var(--co-color-gray-600);--co-semantic-text-muted:var(--co-color-gray-500);--co-semantic-border-default:var(--co-color-opacity-negro-16);--co-semantic-border-subtle:var(--co-color-opacity-negro-8);--co-semantic-border-field:var(--co-color-opacity-negro-25);--co-semantic-border-focus:var(--co-color-opacity-negro-50);--co-semantic-border-focus-ring:var(--co-color-opacity-negro-8);position:relative;width:var(--co-doc-page-w);min-height:calc(var(--co-doc-pages, 1) * var(--co-doc-page-h) + (var(--co-doc-pages, 1) - 1) * var(--co-doc-gap));box-sizing:border-box;padding-top:calc(var(--co-doc-margin-top) + var(--co-doc-header-h, 0px));padding-right:var(--co-doc-margin-right);padding-bottom:var(--co-doc-margin-bottom);padding-left:var(--co-doc-margin-left);overflow:clip;background:var(--co-color-base-blanco);color:var(--co-color-base-negro);color-scheme:light;box-shadow:var(--co-doc-sheet-shadow)}.co-doc-editor__paper{display:contents;color:var(--co-semantic-text-default)}.co-doc-editor .co-doc-editor__sheet .co-doc-editor__content .ProseMirror.tiptap{padding:0 !important;min-height:1em}.co-doc-editor__header-band{position:absolute;top:var(--co-doc-margin-top);left:var(--co-doc-margin-left);right:var(--co-doc-margin-right);height:var(--co-doc-header-h);box-sizing:border-box}.co-doc-editor__header-band[hidden]{display:none}.co-doc-editor__header-band:hover{outline:1px dashed var(--co-color-opacity-negro-25)}.co-doc-editor__header-static{display:flex;align-items:center;justify-content:space-between;height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5;user-select:none}.co-doc-editor__header-html{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden}.co-doc-editor__page-number{flex-shrink:0;margin-inline-start:var(--co-spacing-sm2);white-space:nowrap;color:var(--co-color-gray-600)}.co-doc-page-gap,.co-doc-page-gap__foot,.co-doc-page-gap__between,.co-doc-page-gap__head{margin:0 !important;padding:0 !important;border-width:0 !important;box-sizing:border-box !important}.co-doc-editor__sheet .co-doc-page-gap{position:relative;margin-left:calc(-1 * var(--co-doc-margin-left)) !important;margin-right:calc(-1 * var(--co-doc-margin-right)) !important;user-select:none}.co-doc-page-gap__between{background:var(--co-doc-canvas);border-image:linear-gradient(var(--co-doc-canvas), var(--co-doc-canvas)) fill 0 / 0 / 0 100vmax;box-shadow:inset 0 1px 0 var(--co-color-opacity-negro-8), inset 0 4px 3px -3px var(--co-color-opacity-negro-16), inset 0 -1px 0 var(--co-color-opacity-negro-8)}:is(ul,ol)>.co-doc-page-gap{list-style:none}.co-doc-editor__sheet .co-doc-page-gap__head{padding-top:var(--co-doc-margin-top) !important;padding-left:var(--co-doc-margin-left) !important;padding-right:var(--co-doc-margin-right) !important}.co-doc-page-gap-row>td{padding:0 !important;border:0 !important;background:transparent !important}.co-doc-editor__header-band--editing,.co-doc-editor__header-band--editing:hover{outline:1px solid var(--co-semantic-border-focus);outline-offset:2px}.co-doc-editor__header-editing{display:flex;align-items:center;gap:var(--co-spacing-sm2);height:100%}.co-doc-editor__header-editor{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5}.co-doc-editor__header-editor .ProseMirror{outline:none}.co-doc-editor__header-tools{position:absolute;right:0;bottom:100%;display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-xs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs)}.co-doc-editor__image-bar{position:absolute;z-index:2;display:flex;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);user-select:none}.co-doc-editor__image-bar co-tooltip{display:inline-flex}.co-doc-editor__image-mode{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default);cursor:pointer}.co-doc-editor__image-mode:hover,.co-doc-editor__image-mode--active{background:var(--co-semantic-surface-hover)}.co-doc-editor__image-mode--active{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus)}.co-doc-editor__image-mode:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__image-mode--active:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus), 0 0 0 2px var(--co-semantic-border-focus-ring)}"}},[260,"co-document-editor",{value:[1],headerHtml:[1,"header-html"],showPageNumber:[8,"show-page-number"],pageSize:[1,"page-size"],margins:[1],headerHeight:[2,"header-height"],pageStyles:[1,"page-styles"],features:[1],imageUpload:[16],readonly:[4],locale:[1],extraItems:[1,"extra-items"],label:[1],ready:[32],pageCount:[32],zoomMode:[32],scale:[32],stageHeight:[32],headerEditing:[32],draftShowPageNumber:[32],imageBar:[32],getPrintHtml:[64],getHeaderHtml:[64],getJSON:[64],flushChange:[64],isEmpty:[64],setContent:[64],setFieldValues:[64],insertField:[64],insertSignatureSlot:[64],focusEditor:[64],getEditorInstance:[64]},void 0,{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}]);function q(){"undefined"!=typeof customElements&&["co-document-editor","co-icon","co-icon-button","co-kbd","co-rich-text-toolbar","co-switch","co-tooltip"].forEach((e=>{switch(e){case"co-document-editor":customElements.get(t(e))||customElements.define(t(e),D);break;case"co-icon":customElements.get(t(e))||l();break;case"co-icon-button":customElements.get(t(e))||g();break;case"co-kbd":customElements.get(t(e))||u();break;case"co-rich-text-toolbar":customElements.get(t(e))||c();break;case"co-switch":customElements.get(t(e))||p();break;case"co-tooltip":customElements.get(t(e))||m()}}))}q();const K=D,U=q;export{K as CoDocumentEditor,U as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as s,f as c}from"./p-gKnOhsd2.js";import{d as l}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d}from"./p-B3Egz082.js";import{d as f}from"./p-9VoFSbIH.js";import{d as h}from"./p-DymSqdlK.js";function p(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 u=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]),v=new Set(["mp4","mov","webm","m4v","ogv"]);function m(e){const i=(e||"").split("?")[0],o=i.lastIndexOf(".");return o>=0?i.slice(o+1).toLowerCase():""}function _(e){return m(e.name)||m(e.url)}function g(e){return u.has(_(e))}function b(e){return v.has(_(e))}function y(e){return"done"===e.status&&!!e.url&&b(e)}function x(e){return b(e)||g(e)?e.url||e.thumbnail:e.thumbnail||e.url}const w=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}componentWillLoad(){this.failedPreviews||(this.failedPreviews=new Set)}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 s(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 c(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?c(this.strings.errTooLarge,{x:p(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=c(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((()=>{}))}previewItems(){return this.parsedFiles.filter((e=>function(e){return function(e){return"done"===e.status&&!y(e)&&!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||g(e))}(e)||y(e)}(e)&&(y(e)||!this.failedPreviews.has(this.keyFor(e)))))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.previewItems(),t=o.map((e=>y(e)?{src:x(e),thumbnail:e.thumbnail,alt:e.name,kind:"video",poster:e.thumbnail}:{src:x(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?p(this.maxBytes):"";return this.multiple&&this.maxBytes?c(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?c(e.helperFiles,{n:this.maxFiles}):this.maxBytes?c(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",c=this.previewItems(),l=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,n=this.capacityHint(e);return r("div",{key:"ee6fa70ea7fd466ec315eff1b6f3d044b1c6c6d9",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"48a181a0cb1e0c53da9d61a856f3d2cc5e97d079",class:"co-file-field__labels"},r("label",{key:"47f162d9fdad44d4c8c8f7756c901eea216b7627",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"4549d57f016e2874ea7b141d9dc83e09c38bdbf3",required:this.required}))),t&&r("div",{key:"3d16ff2e38de335e5fba78931cd6b1b009603a70",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"e9a2c51a238455e7887e8310c02ac739ebf89e4e",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"5a6fe016b2e26896a8b788bb1473c5434d71e85f",name:"file-arrow-up",size:18}),r("span",{key:"e69793c228fef62c5c0aec07f5f038aa3e931b3b"},this.uploadButtonText||e.uploadButton)),r("span",{key:"7343bd26d1132ac6b0b0ded57f1a2a32f228d0e8",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),n&&r("span",{key:"d7b68c8723c91b80b124298e29c9165c2489f59f",class:"co-file-field__dropzone-hint"},n),r("div",{key:"38318d6e86a90cc8faf6955ea480b39d242d8122",class:"co-file-field__actions",part:"actions"},r("slot",{key:"ad9f134cd0f01b1ed61d8d8966d5a7d40bda0812",name:"actions"})),r("input",{key:"8a3b769794a89213a1f02f0b82899e624a5578d6",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"8040d77615d29a691bc2087eddd7298b3922066c",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"e4660cdfe20c1b4669b57a4474234161bac4c812",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&r("div",{key:"636e3e35dcb8ad263361e1b652dca23b499e5354",class:"co-file-field__previews",part:"previews"},c.map((i=>{const o=this.keyFor(i),t=y(i),a=this.failedPreviews.has(o)?"":i.thumbnail;return r("button",{class:{"co-file-field__preview":!0,"co-file-field__preview--video":t},part:"preview",type:"button",key:"prev-"+o,title:i.name,"aria-label":`${t?e.playVideo:e.openPreview}: ${i.name}`,onClick:()=>this.handlePreviewOpen(i)},(!t||!!a)&&r("img",{src:t?a:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}),t&&r("span",{class:"co-file-field__preview-play","aria-hidden":"true"},r("span",{class:"co-file-field__preview-play-badge"},r("co-icon",{name:"play",size:20,weight:"fill"})),!a&&r("span",{class:"co-file-field__preview-ext"},_(i).toUpperCase())))}))),r("ul",{key:"b67b8c43f8c02c65e780b3fa644123bf0f29d69b",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=l&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},p(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"ff75602503a198d8598d2b35fd881c848a7b76d6",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"af79e0b999c781560c316023897aaa850b1d6ae0",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"b5af4dab0d3c7dc317265604159a95f3bf8d200d",class:"co-file-field__helper-text"},o)))}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}.co-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);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__preview--video{position:relative;background:var(--co-color-base-negro)}.co-file-field__preview-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-sm2);color:var(--co-color-base-blanco);pointer-events:none}.co-file-field__preview-play-badge{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--co-border-radius-full);background:var(--co-color-opacity-negro-80);box-shadow:inset 0 0 0 1px var(--co-color-opacity-blanco-25);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview--video:hover .co-file-field__preview-play-badge{transform:scale(1.08)}.co-file-field__preview-play-badge co-icon{transform:translateX(1px)}.co-file-field__preview-ext{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-overline);color:var(--co-color-opacity-blanco-80)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-status-error)}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-status-error)}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-status-error);font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-status-error)}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-file-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function k(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-kbd","co-lightbox","co-tooltip","co-video"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),w);break;case"co-icon":customElements.get(e(i))||l();break;case"co-kbd":customElements.get(e(i))||n();break;case"co-lightbox":customElements.get(e(i))||d();break;case"co-tooltip":customElements.get(e(i))||f();break;case"co-video":customElements.get(e(i))||h()}}))}k();const z=w,j=k;export{z as CoFileField,j as defineCustomElement}
|
|
1
|
+
import{t as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as s,f as c}from"./p-gKnOhsd2.js";import{d as l}from"./p-KK2vAKs-.js";import{d as n}from"./p-8XzG8pzY.js";import{d}from"./p-B3Egz082.js";import{d as f}from"./p-V7HYy0VO.js";import{d as h}from"./p-DymSqdlK.js";function p(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 u=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]),v=new Set(["mp4","mov","webm","m4v","ogv"]);function m(e){const i=(e||"").split("?")[0],o=i.lastIndexOf(".");return o>=0?i.slice(o+1).toLowerCase():""}function _(e){return m(e.name)||m(e.url)}function g(e){return u.has(_(e))}function b(e){return v.has(_(e))}function y(e){return"done"===e.status&&!!e.url&&b(e)}function x(e){return b(e)||g(e)?e.url||e.thumbnail:e.thumbnail||e.url}const w=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}componentWillLoad(){this.failedPreviews||(this.failedPreviews=new Set)}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 s(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 c(this.strings.errInvalidFormat,{x:o})}return this.maxBytes&&e.size>this.maxBytes?c(this.strings.errTooLarge,{x:p(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=c(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((()=>{}))}previewItems(){return this.parsedFiles.filter((e=>function(e){return function(e){return"done"===e.status&&!y(e)&&!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||g(e))}(e)||y(e)}(e)&&(y(e)||!this.failedPreviews.has(this.keyFor(e)))))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.previewItems(),t=o.map((e=>y(e)?{src:x(e),thumbnail:e.thumbnail,alt:e.name,kind:"video",poster:e.thumbnail}:{src:x(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?p(this.maxBytes):"";return this.multiple&&this.maxBytes?c(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?c(e.helperFiles,{n:this.maxFiles}):this.maxBytes?c(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",c=this.previewItems(),l=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,n=this.capacityHint(e);return r("div",{key:"ee6fa70ea7fd466ec315eff1b6f3d044b1c6c6d9",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"48a181a0cb1e0c53da9d61a856f3d2cc5e97d079",class:"co-file-field__labels"},r("label",{key:"47f162d9fdad44d4c8c8f7756c901eea216b7627",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"4549d57f016e2874ea7b141d9dc83e09c38bdbf3",required:this.required}))),t&&r("div",{key:"3d16ff2e38de335e5fba78931cd6b1b009603a70",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"e9a2c51a238455e7887e8310c02ac739ebf89e4e",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"5a6fe016b2e26896a8b788bb1473c5434d71e85f",name:"file-arrow-up",size:18}),r("span",{key:"e69793c228fef62c5c0aec07f5f038aa3e931b3b"},this.uploadButtonText||e.uploadButton)),r("span",{key:"7343bd26d1132ac6b0b0ded57f1a2a32f228d0e8",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),n&&r("span",{key:"d7b68c8723c91b80b124298e29c9165c2489f59f",class:"co-file-field__dropzone-hint"},n),r("div",{key:"38318d6e86a90cc8faf6955ea480b39d242d8122",class:"co-file-field__actions",part:"actions"},r("slot",{key:"ad9f134cd0f01b1ed61d8d8966d5a7d40bda0812",name:"actions"})),r("input",{key:"8a3b769794a89213a1f02f0b82899e624a5578d6",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"8040d77615d29a691bc2087eddd7298b3922066c",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"e4660cdfe20c1b4669b57a4474234161bac4c812",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&r("div",{key:"636e3e35dcb8ad263361e1b652dca23b499e5354",class:"co-file-field__previews",part:"previews"},c.map((i=>{const o=this.keyFor(i),t=y(i),a=this.failedPreviews.has(o)?"":i.thumbnail;return r("button",{class:{"co-file-field__preview":!0,"co-file-field__preview--video":t},part:"preview",type:"button",key:"prev-"+o,title:i.name,"aria-label":`${t?e.playVideo:e.openPreview}: ${i.name}`,onClick:()=>this.handlePreviewOpen(i)},(!t||!!a)&&r("img",{src:t?a:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}),t&&r("span",{class:"co-file-field__preview-play","aria-hidden":"true"},r("span",{class:"co-file-field__preview-play-badge"},r("co-icon",{name:"play",size:20,weight:"fill"})),!a&&r("span",{class:"co-file-field__preview-ext"},_(i).toUpperCase())))}))),r("ul",{key:"b67b8c43f8c02c65e780b3fa644123bf0f29d69b",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=l&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},p(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"ff75602503a198d8598d2b35fd881c848a7b76d6",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"af79e0b999c781560c316023897aaa850b1d6ae0",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"b5af4dab0d3c7dc317265604159a95f3bf8d200d",class:"co-file-field__helper-text"},o)))}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}.co-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);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__preview--video{position:relative;background:var(--co-color-base-negro)}.co-file-field__preview-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-sm2);color:var(--co-color-base-blanco);pointer-events:none}.co-file-field__preview-play-badge{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--co-border-radius-full);background:var(--co-color-opacity-negro-80);box-shadow:inset 0 0 0 1px var(--co-color-opacity-blanco-25);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview--video:hover .co-file-field__preview-play-badge{transform:scale(1.08)}.co-file-field__preview-play-badge co-icon{transform:translateX(1px)}.co-file-field__preview-ext{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-overline);color:var(--co-color-opacity-blanco-80)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-status-error)}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-status-error)}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-status-error);font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-status-error)}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-file-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function k(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-kbd","co-lightbox","co-tooltip","co-video"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),w);break;case"co-icon":customElements.get(e(i))||l();break;case"co-kbd":customElements.get(e(i))||n();break;case"co-lightbox":customElements.get(e(i))||d();break;case"co-tooltip":customElements.get(e(i))||f();break;case"co-video":customElements.get(e(i))||h()}}))}k();const z=w,j=k;export{z as CoFileField,j as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e,p as t,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-KK2vAKs-.js";import{d as a}from"./p-8XzG8pzY.js";import{d as n}from"./p-
|
|
1
|
+
import{t as e,p as t,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-KK2vAKs-.js";import{d as a}from"./p-8XzG8pzY.js";import{d as n}from"./p-V7HYy0VO.js";const l=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=s(this,"coSelect",7),this.selected=!1,this.disabled=!1,this.dense=!1,this.labelTruncated=!1,this.descTruncated=!1,this.measureTruncation=()=>{const e=!!this.labelEl&&this.labelEl.scrollWidth>this.labelEl.clientWidth+1,t=!!this.descEl&&this.descEl.scrollWidth>this.descEl.clientWidth+1;e!==this.labelTruncated&&(this.labelTruncated=e),t!==this.descTruncated&&(this.descTruncated=t)},this.handleClick=()=>{this.disabled||this.coSelect.emit()},this.handleKeyDown=e=>{this.disabled||"Enter"!==e.key&&" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),this.coSelect.emit())}}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.ro=new ResizeObserver((()=>this.measureTruncation())),this.labelEl&&this.ro.observe(this.labelEl),this.descEl&&this.ro.observe(this.descEl)),this.measureTruncation()}disconnectedCallback(){var e;null===(e=this.ro)||void 0===e||e.disconnect(),this.ro=void 0}onTextChange(){requestAnimationFrame(this.measureTruncation)}render(){return o("div",{key:"b00bba3c362b7fded6dbb54a3a77204fd6f12f06",class:{"co-list-item":!0,"co-list-item--selected":this.selected,"co-list-item--disabled":this.disabled,"co-list-item--dense":this.dense,"co-list-item--has-description":!!this.description},part:"item",role:"option",tabindex:this.disabled?-1:0,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"12df4e650ce79eb1a1081cbaa8d8a0df472bd60f",class:"co-list-item__prefix"},this.icon&&o("co-icon",{key:"6d0b024a833e411784c6c1aec18d2e170657bff5",name:this.icon,size:18}),o("slot",{key:"6d920565296d083b5ebd1683452b54cb18d7cc02",name:"prefix"})),o("div",{key:"9f1ee9f1a8d09ede38cdf56fe6f34bb389d3a008",class:"co-list-item__content"},this.label&&o("co-tooltip",{key:"320ce0919f79ed00a189c19c890cdd31ec8f4fad",block:!0,class:"co-list-item__tip",content:this.label,placement:"top",disabled:!this.labelTruncated},o("span",{key:"c735e984ef6b50d4b075829e496282123463b20a",class:"co-list-item__label",ref:e=>{this.labelEl=e,e&&this.ro&&this.ro.observe(e)}},this.label)),this.description&&o("co-tooltip",{key:"729e862dc61a4c342e850b4453916bc3c477bdd2",block:!0,class:"co-list-item__tip",content:this.description,placement:"top",disabled:!this.descTruncated},o("span",{key:"b593f33d3b0122ab535a94c7ce259add9069323c",class:"co-list-item__description",ref:e=>{this.descEl=e,e&&this.ro&&this.ro.observe(e)}},this.description)),o("slot",{key:"55c7bc86e9aea170a37862642531d01203071e0a"})),o("span",{key:"bef781667653254040abbfbdc518ce6086c17248",class:"co-list-item__suffix"},o("slot",{key:"349cde2b81c10eb9e9c425b96808ad6bcb86d527",name:"suffix"})))}get el(){return this}static get watchers(){return{label:[{onTextChange:0}],description:[{onTextChange:0}]}}static get style(){return":host{display:block}.co-list-item{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-md) var(--co-spacing-lg);font-family:var(--co-font-family-primary);cursor:pointer;border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:40px}.co-list-item--dense{gap:var(--co-spacing-sm);padding:6px var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);min-height:32px}.co-list-item--dense .co-list-item__label{font-size:var(--co-font-size-14)}.co-list-item:hover:not(.co-list-item--disabled){background:var(--co-semantic-surface-hover)}.co-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus)}.co-list-item--selected{background:var(--co-semantic-surface-muted)}.co-list-item--disabled{opacity:0.4;cursor:not-allowed}.co-list-item__prefix,.co-list-item__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-list-item__prefix:empty,.co-list-item__suffix:empty{display:none}.co-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.co-list-item__content>.co-list-item__tip{min-width:0;max-width:100%}.co-list-item__label{display:block;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-list-item__description{display:block;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"}},[257,"co-list-item",{label:[1],description:[1],icon:[1],selected:[516],disabled:[4],dense:[516],labelTruncated:[32],descTruncated:[32]},void 0,{label:[{onTextChange:0}],description:[{onTextChange:0}]}]);function d(){"undefined"!=typeof customElements&&["co-list-item","co-icon","co-kbd","co-tooltip"].forEach((t=>{switch(t){case"co-list-item":customElements.get(e(t))||customElements.define(e(t),l);break;case"co-icon":customElements.get(e(t))||c();break;case"co-kbd":customElements.get(e(t))||a();break;case"co-tooltip":customElements.get(e(t))||n()}}))}d();const r=l,h=d;export{r as CoListItem,h as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p-
|
|
1
|
+
import{C as o,d as s}from"./p-BW10Sgiy.js";const p=o,r=s;export{p as CoOptionList,r as defineCustomElement}
|