@prolibu-suite/cobalt-core 0.11.7 → 0.11.9
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 +31 -31
- package/dist/cjs/co-calendar_3.cjs.entry.js +2 -1
- package/dist/cjs/co-kbd_2.cjs.entry.js +5 -4
- package/dist/cjs/co-lightbox.cjs.entry.js +7 -6
- package/dist/cjs/co-overlay.cjs.entry.js +4 -3
- package/dist/cjs/co-popover.cjs.entry.js +5 -4
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +29 -8
- package/dist/cjs/index-bHoidDwv.js +4 -4
- package/dist/cjs/popoverApi-D1ChCCdO.js +27 -0
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-2832ab99.entry.js +1 -0
- package/dist/cobalt/p-299c2425.entry.js +1 -0
- package/dist/cobalt/p-438cc876.entry.js +1 -0
- package/dist/cobalt/p-Dp1JT0dm.js +1 -0
- package/dist/cobalt/p-b723aa47.entry.js +1 -0
- package/dist/cobalt/p-eab59be5.entry.js +1 -0
- package/dist/cobalt/p-f562bd96.entry.js +1 -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-drawer/co-drawer.js +2 -1
- package/dist/collection/components/co-lightbox/co-lightbox.js +7 -6
- package/dist/collection/components/co-overlay/co-overlay.js +4 -3
- package/dist/collection/components/co-popover/co-popover.js +6 -5
- 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 +6 -190
- package/dist/collection/components/co-sidebar-nav/sidebar-icon-map.js +205 -0
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.js +5 -4
- 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/collection/utils/popoverApi.js +23 -0
- 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-color-picker.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-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.js +1 -1
- package/dist/components/co-document-editor.js +1 -1
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-popover.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/{p-_S5htX1i.js → p-BGNXvnDr.js} +1 -1
- package/dist/components/p-BMyWdiVO.js +1 -0
- package/dist/components/{p-CaFwCFgg.js → p-BRIf9NGv.js} +1 -1
- package/dist/components/p-Bd6H9_5D.js +1 -0
- package/dist/components/{p-upZqhFKo.js → p-BkyYV32T.js} +1 -1
- package/dist/components/p-DHIa14ep.js +1 -0
- package/dist/components/p-DRL-a5hO.js +1 -0
- package/dist/components/p-Dp1JT0dm.js +1 -0
- package/dist/components/p-xA7AfoIW.js +1 -0
- package/dist/esm/co-calendar_3.entry.js +2 -1
- package/dist/esm/co-kbd_2.entry.js +5 -4
- package/dist/esm/co-lightbox.entry.js +7 -6
- package/dist/esm/co-overlay.entry.js +4 -3
- package/dist/esm/co-popover.entry.js +5 -4
- package/dist/esm/co-sidebar-nav.entry.js +29 -8
- package/dist/esm/index-DJkaRtbb.js +4 -4
- package/dist/esm/popoverApi-Dp1JT0dm.js +25 -0
- package/dist/types/components/co-sidebar-nav/sidebar-icon-map.d.ts +6 -0
- package/dist/types/utils/popoverApi.d.ts +12 -0
- package/package.json +2 -2
- package/dist/cobalt/p-60ea3d33.entry.js +0 -1
- package/dist/cobalt/p-84256bde.entry.js +0 -1
- package/dist/cobalt/p-8c22bf4b.entry.js +0 -1
- package/dist/cobalt/p-99781b0b.entry.js +0 -1
- package/dist/cobalt/p-b2c49664.entry.js +0 -1
- package/dist/cobalt/p-cf675968.entry.js +0 -1
- package/dist/components/p-B5F93Ujt.js +0 -1
- package/dist/components/p-CMMv2RcH.js +0 -1
- package/dist/components/p-CX0bNXK3.js +0 -1
- package/dist/components/p-Co0eKIiO.js +0 -1
- package/dist/components/p-xtGT3YeI.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as o,p as a,H as t,c as e,h as i}from"./index.js";import{d as r,a as s}from"./p-CX0bNXK3.js";import{i as n,p as c,r as d}from"./p-hXbDUT3I.js";import{s as l}from"./p-CBX_oabB.js";import{d as h}from"./p-qMNHMnvI.js";function p(o,a,t){const e=Math.min(a,0),i=Math.max(t,0);return Math.min(Math.max(o,e),i)}const m=a(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coClose=e(this,"coClose",7),this.coAfterClose=e(this,"coAfterClose",3),this.coAfterOpen=e(this,"coAfterOpen",3),this.open=!1,this.heading="",this.closable=!0,this.closeOnOverlay=!0,this.closeOnEscape=!1,this.size="md",this.noDividers=!1,this.headerDivider=!0,this.appearance="default",this.backdrop="default",this.inline=!1,this.movable=!1,this.trapFocus=!1,this.hasFooter=!1,this.handleFooterSlotChange=o=>{this.hasFooter=l(o)},this.handleOverlayClick=()=>{this.closeOnOverlay&&this.coClose.emit()},this.handleCloseClick=()=>{this.coClose.emit()},this.stopPropagation=o=>{o.stopPropagation()},this.handleTransitionEnd=o=>{if(o.target!==this.modalEl)return;const a=s(o.propertyName,this.open,"transform");"after-open"===a?this.coAfterOpen.emit():"after-close"===a&&this.coAfterClose.emit()},this.dragging=!1,this.committedOffset={x:0,y:0},this.liveOffset={x:0,y:0},this.handleDragDown=o=>{var a;if(!this.movable||this.dragging||0!==o.button)return;if(function(o,a){const t="function"==typeof o.composedPath?o.composedPath():[o.target];for(const o of t){if(a&&o===a)return!1;if(o&&"function"==typeof o.matches&&o.matches('button, a[href], input, select, textarea, [role="button"], [role="checkbox"], [role="radio"], [role="switch"], [role="combobox"], [role="option"], [role="menuitem"], [role="slider"], [role="tab"], [role="separator"], [data-no-drag]'))return!0}return!1}(o,this.headerEl))return;const t=null===(a=this.modalEl)||void 0===a?void 0:a.getBoundingClientRect();t&&(o.preventDefault(),this.dragging=!0,this.dragPointerId=o.pointerId,this.dragStart={x:o.clientX,y:o.clientY},this.dragRect={left:t.left-this.committedOffset.x,top:t.top-this.committedOffset.y,width:t.width,height:t.height},this.dragViewport={width:window.innerWidth,height:window.innerHeight},this.capturePointer(o),window.addEventListener("blur",this.handleWindowBlur))},this.handleDragMove=o=>{if(!this.isActiveDragPointer(o))return;if(!this.dragStart||!this.dragRect||!this.dragViewport)return;const a=function(o,a,t){return{x:o.x+t.x-a.x,y:o.y+t.y-a.y}}(this.committedOffset,this.dragStart,{x:o.clientX,y:o.clientY});this.writeOffset(function(o,a,t,e=48){const i=Math.min(e,a.width),r=Math.min(e,a.height);return{x:p(o.x,i-a.left-a.width,t.width-i-a.left),y:p(o.y,-a.top,t.height-r-a.top)}}(a,this.dragRect,this.dragViewport))},this.handleDragUp=o=>{this.isActiveDragPointer(o)&&(this.committedOffset=this.liveOffset,this.releasePointer(o),this.endDrag())},this.handleDragCancel=o=>{this.isActiveDragPointer(o)&&(this.releasePointer(o),this.writeOffset(this.committedOffset),this.endDrag())},this.handleWindowBlur=()=>{this.dragging&&(this.writeOffset(this.committedOffset),this.endDrag())}}get usesOverlay(){return"none"!==this.backdrop&&!this.inline}handleKeydown(o){this.open&&this.closeOnEscape&&"Escape"===o.key&&n(this)&&this.coClose.emit()}async bringToFront(){var o,a,t;this.open&&c(this),await(null===(t=null===(a=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelector("co-overlay"))||void 0===a?void 0:a.bringToFront)||void 0===t?void 0:t.call(a))}trackEscapeLayer(o){o?c(this):d(this)}connectedCallback(){this.open&&c(this)}resetPositionOnOpen(o){this.endDrag(),o&&(this.committedOffset={x:0,y:0},this.writeOffset({x:0,y:0}))}disconnectedCallback(){d(this),window.removeEventListener("blur",this.handleWindowBlur)}endDrag(){window.removeEventListener("blur",this.handleWindowBlur),this.dragging=!1,this.dragPointerId=void 0,this.dragStart=void 0,this.dragRect=void 0,this.dragViewport=void 0}isActiveDragPointer(o){return this.dragging&&o.pointerId==this.dragPointerId}capturePointer(o){const a=this.headerEl;if(a&&"function"==typeof a.setPointerCapture&&null!=o.pointerId)try{a.setPointerCapture(o.pointerId)}catch(o){}}releasePointer(o){const a=this.headerEl;if(a&&"function"==typeof a.releasePointerCapture&&null!=o.pointerId)try{a.releasePointerCapture(o.pointerId)}catch(o){}}writeOffset(o){this.liveOffset=o;const a=this.modalEl;a&&(0===o.x&&0===o.y?a.style.removeProperty("--co-modal-translate"):a.style.setProperty("--co-modal-translate",`${o.x}px ${o.y}px`))}render(){const o="panel"!==this.appearance&&"dialog"!==this.appearance,a=o?20:18,t=i("div",{class:{"co-modal__frame":!0,"co-sq-elevation-fallback":o,"co-modal__frame--standalone":!this.usesOverlay}},i("div",{class:{"co-modal":!0,"co-sq-clip":o,"co-sq-elevation":o,"co-modal--open":this.open,"co-modal--xs":"xs"===this.size,"co-modal--sm":"sm"===this.size,"co-modal--lg":"lg"===this.size,"co-modal--full":"full"===this.size,"co-modal--no-dividers":this.noDividers,"co-modal--no-header-divider":!this.headerDivider,"co-modal--panel":"panel"===this.appearance,"co-modal--dialog":"dialog"===this.appearance,"co-modal--movable":this.movable},part:"modal",ref:o=>this.modalEl=o,role:"dialog","aria-modal":"true","aria-labelledby":this.heading?"modal-heading":void 0,onClick:this.usesOverlay?this.stopPropagation:void 0,onTransitionEnd:this.handleTransitionEnd},i("div",{class:{"co-modal__header":!0,"co-modal__header--movable":this.movable,"co-modal__header--dragging":this.dragging},part:"header",ref:o=>this.headerEl=o,onPointerDown:this.movable?this.handleDragDown:void 0,onPointerMove:this.movable?this.handleDragMove:void 0,onPointerUp:this.movable?this.handleDragUp:void 0,onPointerCancel:this.movable?this.handleDragCancel:void 0},i("slot",{name:"header-leading"}),i("div",{class:"co-modal__header-text",part:"header-text"},i("h2",{class:"co-modal__heading",part:"heading",id:"modal-heading"},this.heading),this.description&&i("p",{class:"co-modal__description",part:"description"},this.description)),i("slot",{name:"header-actions"}),this.closable&&i("button",{class:"co-modal__close",type:"button","aria-label":"Close",onClick:this.handleCloseClick},i("co-icon",{name:"x",size:a}))),!this.noDividers&&i("div",{class:"co-modal__body",part:"body"},i("slot",null)),i("div",{class:{"co-modal__footer":!0,"co-modal__footer--empty":!this.hasFooter},part:"footer"},i("slot",{name:"footer",onSlotchange:this.handleFooterSlotChange}))));return this.usesOverlay?i("co-overlay",{open:this.open,trapFocus:this.trapFocus,onCoClose:this.handleOverlayClick},t):t}get el(){return this}static get watchers(){return{open:[{trackEscapeLayer:0},{resetPositionOnOpen:0}]}}static get style(){return'.co-sq-elevation{border-radius:var(--co-sq-r);corner-shape:squircle;box-shadow:var(--co-sq-shadow)}.co-sq-clip{overflow:hidden;border-radius:var(--co-sq-r);corner-shape:squircle}@supports not (corner-shape: squircle){.co-sq-elevation{box-shadow:none}.co-sq-elevation-fallback{filter:var(--co-sq-drop-shadow)}.co-sq-clip{border-radius:0;--co-sq-tl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 0L95 0L92.5 0L90 0L87.5 0.01L85 0.01L82.5 0.02L80 0.04L77.5 0.06L75 0.1L72.5 0.14L70 0.2L67.5 0.28L65 0.38L62.5 0.5L60 0.65L57.5 0.83L55 1.04L52.5 1.3L50 1.6L47.5 1.96L45 2.37L42.5 2.85L40 3.41L37.5 4.05L35 4.8L32.5 5.65L30 6.63L27.5 7.77L25 9.07L22.5 10.58L20 12.34L17.5 14.41L15 16.85L12.5 19.79L10 23.42L7.5 28.06L5 34.37L2.5 44.29L0 100L100 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-tr:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 0L5 0L7.5 0L10 0L12.5 0.01L15 0.01L17.5 0.02L20 0.04L22.5 0.06L25 0.1L27.5 0.14L30 0.2L32.5 0.28L35 0.38L37.5 0.5L40 0.65L42.5 0.83L45 1.04L47.5 1.3L50 1.6L52.5 1.96L55 2.37L57.5 2.85L60 3.41L62.5 4.05L65 4.8L67.5 5.65L70 6.63L72.5 7.77L75 9.07L77.5 10.58L80 12.34L82.5 14.41L85 16.85L87.5 19.79L90 23.42L92.5 28.06L95 34.37L97.5 44.29L100 100L0 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-bl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 55.71L5 65.63L7.5 71.94L10 76.58L12.5 80.21L15 83.15L17.5 85.59L20 87.66L22.5 89.42L25 90.93L27.5 92.23L30 93.37L32.5 94.35L35 95.2L37.5 95.95L40 96.59L42.5 97.15L45 97.63L47.5 98.04L50 98.4L52.5 98.7L55 98.96L57.5 99.17L60 99.35L62.5 99.5L65 99.62L67.5 99.72L70 99.8L72.5 99.86L75 99.9L77.5 99.94L80 99.96L82.5 99.98L85 99.99L87.5 99.99L90 100L92.5 100L95 100L97.5 100L100 100L100 0Z%27 fill=%27%23fff%27/></svg>");--co-sq-br:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 55.71L95 65.63L92.5 71.94L90 76.58L87.5 80.21L85 83.15L82.5 85.59L80 87.66L77.5 89.42L75 90.93L72.5 92.23L70 93.37L67.5 94.35L65 95.2L62.5 95.95L60 96.59L57.5 97.15L55 97.63L52.5 98.04L50 98.4L47.5 98.7L45 98.96L42.5 99.17L40 99.35L37.5 99.5L35 99.62L32.5 99.72L30 99.8L27.5 99.86L25 99.9L22.5 99.94L20 99.96L17.5 99.98L15 99.99L12.5 99.99L10 100L7.5 100L5 100L2.5 100L0 100L0 0Z%27 fill=%27%23fff%27/></svg>");-webkit-mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat;mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat}}:host{display:contents;--co-overlay-blur:8px;--co-overlay-bg:rgba(31, 28, 27, 0.35)}.co-modal__frame{display:flex;contain:layout;--co-sq-drop-shadow:drop-shadow(0 1px 2px rgba(31, 28, 27, 0.06)) drop-shadow(0 14px 34px rgba(31, 28, 27, 0.16))}.co-modal{display:flex;flex-direction:column;background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);--co-modal-r:var(--co-border-radius-xl);--co-sq-r:var(--co-modal-r);--co-sq-shadow:0 1px 4px rgba(31, 28, 27, 0.06), 0 14px 68px rgba(31, 28, 27, 0.16);max-width:540px;width:90vw;max-height:80vh;font-family:var(--co-font-family-primary);transform:scale(0.96);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-in), opacity var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-modal--sm{max-width:400px}.co-modal--lg{max-width:680px}.co-modal--full{max-width:min(1400px, 95vw);width:95vw;height:92vh;max-height:92vh}.co-modal--full .co-modal__body{flex:1;min-height:0;padding:0;overflow:hidden}.co-modal--open{transform:scale(1);opacity:1;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-modal__header{display:flex;align-items:flex-start;gap:var(--co-spacing-md);padding:var(--co-spacing-xl) var(--co-spacing-xl) var(--co-spacing-md)}.co-modal__header-text{display:flex;flex-direction:column;gap:var(--co-spacing-sm);flex:1}.co-modal__heading{margin:0;font-size:var(--co-font-size-20);font-weight:700;color:var(--co-semantic-text-default);line-height:1.3}.co-modal__description{margin:0;font-size:var(--co-font-size-14);color:var(--co-semantic-text-secondary);line-height:1.5}.co-modal__close{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-sm);flex-shrink:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-modal__close:hover{background:var(--co-semantic-surface-hover)}.co-modal__body{padding:var(--co-spacing-lg) var(--co-spacing-xl);overflow-y:auto;overscroll-behavior:contain;font-size:var(--co-font-size-14);color:var(--co-semantic-text-secondary);line-height:1.6;border-top:1px solid var(--co-semantic-border-default)}.co-modal__body:empty{display:none}.co-modal__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-md);padding:var(--co-spacing-lg) var(--co-spacing-xl) var(--co-spacing-xl);border-top:1px solid var(--co-semantic-border-default);--co-button-radius:var(--co-border-radius-xs)}.co-modal__footer--empty{display:none}.co-modal--no-dividers .co-modal__footer{border-top:none}.co-modal--no-header-divider .co-modal__body{border-top:none;padding-top:0}.co-modal--xs{width:var(--co-modal-width, 369px);max-width:var(--co-modal-width, 369px)}.co-modal--panel{border-radius:var(--co-border-radius-sm);border:1px solid var(--co-semantic-border-subtle);box-shadow:var(--co-shadow-lg)}.co-modal--panel .co-modal__header{padding:16px 20px 16px 24px;align-items:center;border-bottom:1px solid var(--co-semantic-border-subtle)}.co-modal--panel .co-modal__heading{font-size:var(--co-font-size-20);font-weight:500;line-height:1.25;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--panel .co-modal__close{width:32px;height:32px;padding:0;border-radius:var(--co-border-radius-full);color:var(--co-semantic-text-default)}.co-modal--panel .co-modal__body{padding:24px;border-top:none}.co-modal--panel .co-modal__footer{padding:12px 24px;gap:12px;border-top:1px solid var(--co-semantic-border-subtle)}.co-modal__frame--standalone{position:fixed;inset:0;z-index:var(--co-modal-z-index, 1000);display:flex;align-items:center;justify-content:center;pointer-events:none}.co-modal__frame--standalone .co-modal--open{pointer-events:auto}.co-modal__frame--standalone .co-modal:not(.co-modal--open){visibility:hidden;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-in), opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), visibility 0s linear var(--co-motion-duration-fast)}.co-modal--dialog{border-radius:var(--co-border-radius-lg)}.co-modal--dialog .co-modal__header{padding:var(--co-spacing-3xl) var(--co-spacing-3xl) 0;align-items:flex-start;gap:var(--co-spacing-lg)}.co-modal--dialog .co-modal__header-text{gap:var(--co-spacing-lg)}.co-modal--dialog .co-modal__heading{font-size:var(--co-font-size-22);font-weight:500;line-height:1.25;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog .co-modal__description{font-size:var(--co-font-size-16);line-height:1.5;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog .co-modal__close{width:32px;height:32px;padding:0;margin:-3px -6px 0 0;border-radius:var(--co-border-radius-full);color:var(--co-semantic-text-default)}.co-modal--dialog .co-modal__body{padding:var(--co-spacing-lg) var(--co-spacing-3xl) var(--co-spacing-3xl);border-top:none;font-size:var(--co-font-size-16);line-height:1.5;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog.co-modal--full .co-modal__body{padding:0}.co-modal--dialog .co-modal__footer{padding:var(--co-spacing-lg) var(--co-spacing-2xl);gap:var(--co-spacing-md);border-top-color:var(--co-semantic-border-subtle);--co-button-radius:var(--co-border-radius-sm)}.co-modal--movable{translate:var(--co-modal-translate, none)}.co-modal__header--movable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.co-modal__header--movable .co-modal__close{cursor:pointer}.co-modal__header--dragging{cursor:grabbing}'}},[257,"co-modal",{open:[1540],heading:[1],description:[1],closable:[4],closeOnOverlay:[4,"close-on-overlay"],closeOnEscape:[4,"close-on-escape"],size:[513],noDividers:[516,"no-dividers"],headerDivider:[4,"header-divider"],appearance:[513],backdrop:[513],inline:[516],movable:[516],trapFocus:[516,"trap-focus"],hasFooter:[32],dragging:[32],bringToFront:[64]},[[4,"keydown","handleKeydown"]],{open:[{trackEscapeLayer:0},{resetPositionOnOpen:0}]}]);function v(){"undefined"!=typeof customElements&&["co-modal","co-icon","co-overlay"].forEach((a=>{switch(a){case"co-modal":customElements.get(o(a))||customElements.define(o(a),m);break;case"co-icon":customElements.get(o(a))||h();break;case"co-overlay":customElements.get(o(a))||r()}}))}v();const g=m,f=v;export{g as CoModal,f as defineCustomElement}
|
|
1
|
+
import{t as o,p as a,H as t,c as e,h as i}from"./index.js";import{d as r,a as s}from"./p-Bd6H9_5D.js";import{i as n,p as c,r as d}from"./p-hXbDUT3I.js";import{s as l}from"./p-CBX_oabB.js";import{d as h}from"./p-qMNHMnvI.js";function p(o,a,t){const e=Math.min(a,0),i=Math.max(t,0);return Math.min(Math.max(o,e),i)}const m=a(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coClose=e(this,"coClose",7),this.coAfterClose=e(this,"coAfterClose",3),this.coAfterOpen=e(this,"coAfterOpen",3),this.open=!1,this.heading="",this.closable=!0,this.closeOnOverlay=!0,this.closeOnEscape=!1,this.size="md",this.noDividers=!1,this.headerDivider=!0,this.appearance="default",this.backdrop="default",this.inline=!1,this.movable=!1,this.trapFocus=!1,this.hasFooter=!1,this.handleFooterSlotChange=o=>{this.hasFooter=l(o)},this.handleOverlayClick=()=>{this.closeOnOverlay&&this.coClose.emit()},this.handleCloseClick=()=>{this.coClose.emit()},this.stopPropagation=o=>{o.stopPropagation()},this.handleTransitionEnd=o=>{if(o.target!==this.modalEl)return;const a=s(o.propertyName,this.open,"transform");"after-open"===a?this.coAfterOpen.emit():"after-close"===a&&this.coAfterClose.emit()},this.dragging=!1,this.committedOffset={x:0,y:0},this.liveOffset={x:0,y:0},this.handleDragDown=o=>{var a;if(!this.movable||this.dragging||0!==o.button)return;if(function(o,a){const t="function"==typeof o.composedPath?o.composedPath():[o.target];for(const o of t){if(a&&o===a)return!1;if(o&&"function"==typeof o.matches&&o.matches('button, a[href], input, select, textarea, [role="button"], [role="checkbox"], [role="radio"], [role="switch"], [role="combobox"], [role="option"], [role="menuitem"], [role="slider"], [role="tab"], [role="separator"], [data-no-drag]'))return!0}return!1}(o,this.headerEl))return;const t=null===(a=this.modalEl)||void 0===a?void 0:a.getBoundingClientRect();t&&(o.preventDefault(),this.dragging=!0,this.dragPointerId=o.pointerId,this.dragStart={x:o.clientX,y:o.clientY},this.dragRect={left:t.left-this.committedOffset.x,top:t.top-this.committedOffset.y,width:t.width,height:t.height},this.dragViewport={width:window.innerWidth,height:window.innerHeight},this.capturePointer(o),window.addEventListener("blur",this.handleWindowBlur))},this.handleDragMove=o=>{if(!this.isActiveDragPointer(o))return;if(!this.dragStart||!this.dragRect||!this.dragViewport)return;const a=function(o,a,t){return{x:o.x+t.x-a.x,y:o.y+t.y-a.y}}(this.committedOffset,this.dragStart,{x:o.clientX,y:o.clientY});this.writeOffset(function(o,a,t,e=48){const i=Math.min(e,a.width),r=Math.min(e,a.height);return{x:p(o.x,i-a.left-a.width,t.width-i-a.left),y:p(o.y,-a.top,t.height-r-a.top)}}(a,this.dragRect,this.dragViewport))},this.handleDragUp=o=>{this.isActiveDragPointer(o)&&(this.committedOffset=this.liveOffset,this.releasePointer(o),this.endDrag())},this.handleDragCancel=o=>{this.isActiveDragPointer(o)&&(this.releasePointer(o),this.writeOffset(this.committedOffset),this.endDrag())},this.handleWindowBlur=()=>{this.dragging&&(this.writeOffset(this.committedOffset),this.endDrag())}}get usesOverlay(){return"none"!==this.backdrop&&!this.inline}handleKeydown(o){this.open&&this.closeOnEscape&&"Escape"===o.key&&n(this)&&this.coClose.emit()}async bringToFront(){var o,a,t;this.open&&c(this),await(null===(t=null===(a=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelector("co-overlay"))||void 0===a?void 0:a.bringToFront)||void 0===t?void 0:t.call(a))}trackEscapeLayer(o){o?c(this):d(this)}connectedCallback(){this.open&&c(this)}resetPositionOnOpen(o){this.endDrag(),o&&(this.committedOffset={x:0,y:0},this.writeOffset({x:0,y:0}))}disconnectedCallback(){d(this),window.removeEventListener("blur",this.handleWindowBlur)}endDrag(){window.removeEventListener("blur",this.handleWindowBlur),this.dragging=!1,this.dragPointerId=void 0,this.dragStart=void 0,this.dragRect=void 0,this.dragViewport=void 0}isActiveDragPointer(o){return this.dragging&&o.pointerId==this.dragPointerId}capturePointer(o){const a=this.headerEl;if(a&&"function"==typeof a.setPointerCapture&&null!=o.pointerId)try{a.setPointerCapture(o.pointerId)}catch(o){}}releasePointer(o){const a=this.headerEl;if(a&&"function"==typeof a.releasePointerCapture&&null!=o.pointerId)try{a.releasePointerCapture(o.pointerId)}catch(o){}}writeOffset(o){this.liveOffset=o;const a=this.modalEl;a&&(0===o.x&&0===o.y?a.style.removeProperty("--co-modal-translate"):a.style.setProperty("--co-modal-translate",`${o.x}px ${o.y}px`))}render(){const o="panel"!==this.appearance&&"dialog"!==this.appearance,a=o?20:18,t=i("div",{class:{"co-modal__frame":!0,"co-sq-elevation-fallback":o,"co-modal__frame--standalone":!this.usesOverlay}},i("div",{class:{"co-modal":!0,"co-sq-clip":o,"co-sq-elevation":o,"co-modal--open":this.open,"co-modal--xs":"xs"===this.size,"co-modal--sm":"sm"===this.size,"co-modal--lg":"lg"===this.size,"co-modal--full":"full"===this.size,"co-modal--no-dividers":this.noDividers,"co-modal--no-header-divider":!this.headerDivider,"co-modal--panel":"panel"===this.appearance,"co-modal--dialog":"dialog"===this.appearance,"co-modal--movable":this.movable},part:"modal",ref:o=>this.modalEl=o,role:"dialog","aria-modal":"true","aria-labelledby":this.heading?"modal-heading":void 0,onClick:this.usesOverlay?this.stopPropagation:void 0,onTransitionEnd:this.handleTransitionEnd},i("div",{class:{"co-modal__header":!0,"co-modal__header--movable":this.movable,"co-modal__header--dragging":this.dragging},part:"header",ref:o=>this.headerEl=o,onPointerDown:this.movable?this.handleDragDown:void 0,onPointerMove:this.movable?this.handleDragMove:void 0,onPointerUp:this.movable?this.handleDragUp:void 0,onPointerCancel:this.movable?this.handleDragCancel:void 0},i("slot",{name:"header-leading"}),i("div",{class:"co-modal__header-text",part:"header-text"},i("h2",{class:"co-modal__heading",part:"heading",id:"modal-heading"},this.heading),this.description&&i("p",{class:"co-modal__description",part:"description"},this.description)),i("slot",{name:"header-actions"}),this.closable&&i("button",{class:"co-modal__close",type:"button","aria-label":"Close",onClick:this.handleCloseClick},i("co-icon",{name:"x",size:a}))),!this.noDividers&&i("div",{class:"co-modal__body",part:"body"},i("slot",null)),i("div",{class:{"co-modal__footer":!0,"co-modal__footer--empty":!this.hasFooter},part:"footer"},i("slot",{name:"footer",onSlotchange:this.handleFooterSlotChange}))));return this.usesOverlay?i("co-overlay",{open:this.open,trapFocus:this.trapFocus,onCoClose:this.handleOverlayClick},t):t}get el(){return this}static get watchers(){return{open:[{trackEscapeLayer:0},{resetPositionOnOpen:0}]}}static get style(){return'.co-sq-elevation{border-radius:var(--co-sq-r);corner-shape:squircle;box-shadow:var(--co-sq-shadow)}.co-sq-clip{overflow:hidden;border-radius:var(--co-sq-r);corner-shape:squircle}@supports not (corner-shape: squircle){.co-sq-elevation{box-shadow:none}.co-sq-elevation-fallback{filter:var(--co-sq-drop-shadow)}.co-sq-clip{border-radius:0;--co-sq-tl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 0L95 0L92.5 0L90 0L87.5 0.01L85 0.01L82.5 0.02L80 0.04L77.5 0.06L75 0.1L72.5 0.14L70 0.2L67.5 0.28L65 0.38L62.5 0.5L60 0.65L57.5 0.83L55 1.04L52.5 1.3L50 1.6L47.5 1.96L45 2.37L42.5 2.85L40 3.41L37.5 4.05L35 4.8L32.5 5.65L30 6.63L27.5 7.77L25 9.07L22.5 10.58L20 12.34L17.5 14.41L15 16.85L12.5 19.79L10 23.42L7.5 28.06L5 34.37L2.5 44.29L0 100L100 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-tr:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 0L5 0L7.5 0L10 0L12.5 0.01L15 0.01L17.5 0.02L20 0.04L22.5 0.06L25 0.1L27.5 0.14L30 0.2L32.5 0.28L35 0.38L37.5 0.5L40 0.65L42.5 0.83L45 1.04L47.5 1.3L50 1.6L52.5 1.96L55 2.37L57.5 2.85L60 3.41L62.5 4.05L65 4.8L67.5 5.65L70 6.63L72.5 7.77L75 9.07L77.5 10.58L80 12.34L82.5 14.41L85 16.85L87.5 19.79L90 23.42L92.5 28.06L95 34.37L97.5 44.29L100 100L0 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-bl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 55.71L5 65.63L7.5 71.94L10 76.58L12.5 80.21L15 83.15L17.5 85.59L20 87.66L22.5 89.42L25 90.93L27.5 92.23L30 93.37L32.5 94.35L35 95.2L37.5 95.95L40 96.59L42.5 97.15L45 97.63L47.5 98.04L50 98.4L52.5 98.7L55 98.96L57.5 99.17L60 99.35L62.5 99.5L65 99.62L67.5 99.72L70 99.8L72.5 99.86L75 99.9L77.5 99.94L80 99.96L82.5 99.98L85 99.99L87.5 99.99L90 100L92.5 100L95 100L97.5 100L100 100L100 0Z%27 fill=%27%23fff%27/></svg>");--co-sq-br:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 55.71L95 65.63L92.5 71.94L90 76.58L87.5 80.21L85 83.15L82.5 85.59L80 87.66L77.5 89.42L75 90.93L72.5 92.23L70 93.37L67.5 94.35L65 95.2L62.5 95.95L60 96.59L57.5 97.15L55 97.63L52.5 98.04L50 98.4L47.5 98.7L45 98.96L42.5 99.17L40 99.35L37.5 99.5L35 99.62L32.5 99.72L30 99.8L27.5 99.86L25 99.9L22.5 99.94L20 99.96L17.5 99.98L15 99.99L12.5 99.99L10 100L7.5 100L5 100L2.5 100L0 100L0 0Z%27 fill=%27%23fff%27/></svg>");-webkit-mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat;mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat}}:host{display:contents;--co-overlay-blur:8px;--co-overlay-bg:rgba(31, 28, 27, 0.35)}.co-modal__frame{display:flex;contain:layout;--co-sq-drop-shadow:drop-shadow(0 1px 2px rgba(31, 28, 27, 0.06)) drop-shadow(0 14px 34px rgba(31, 28, 27, 0.16))}.co-modal{display:flex;flex-direction:column;background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);--co-modal-r:var(--co-border-radius-xl);--co-sq-r:var(--co-modal-r);--co-sq-shadow:0 1px 4px rgba(31, 28, 27, 0.06), 0 14px 68px rgba(31, 28, 27, 0.16);max-width:540px;width:90vw;max-height:80vh;font-family:var(--co-font-family-primary);transform:scale(0.96);opacity:0;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-in), opacity var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-modal--sm{max-width:400px}.co-modal--lg{max-width:680px}.co-modal--full{max-width:min(1400px, 95vw);width:95vw;height:92vh;max-height:92vh}.co-modal--full .co-modal__body{flex:1;min-height:0;padding:0;overflow:hidden}.co-modal--open{transform:scale(1);opacity:1;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-modal__header{display:flex;align-items:flex-start;gap:var(--co-spacing-md);padding:var(--co-spacing-xl) var(--co-spacing-xl) var(--co-spacing-md)}.co-modal__header-text{display:flex;flex-direction:column;gap:var(--co-spacing-sm);flex:1}.co-modal__heading{margin:0;font-size:var(--co-font-size-20);font-weight:700;color:var(--co-semantic-text-default);line-height:1.3}.co-modal__description{margin:0;font-size:var(--co-font-size-14);color:var(--co-semantic-text-secondary);line-height:1.5}.co-modal__close{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-sm);flex-shrink:0;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-modal__close:hover{background:var(--co-semantic-surface-hover)}.co-modal__body{padding:var(--co-spacing-lg) var(--co-spacing-xl);overflow-y:auto;overscroll-behavior:contain;font-size:var(--co-font-size-14);color:var(--co-semantic-text-secondary);line-height:1.6;border-top:1px solid var(--co-semantic-border-default)}.co-modal__body:empty{display:none}.co-modal__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-md);padding:var(--co-spacing-lg) var(--co-spacing-xl) var(--co-spacing-xl);border-top:1px solid var(--co-semantic-border-default);--co-button-radius:var(--co-border-radius-xs)}.co-modal__footer--empty{display:none}.co-modal--no-dividers .co-modal__footer{border-top:none}.co-modal--no-header-divider .co-modal__body{border-top:none;padding-top:0}.co-modal--xs{width:var(--co-modal-width, 369px);max-width:var(--co-modal-width, 369px)}.co-modal--panel{border-radius:var(--co-border-radius-sm);border:1px solid var(--co-semantic-border-subtle);box-shadow:var(--co-shadow-lg)}.co-modal--panel .co-modal__header{padding:16px 20px 16px 24px;align-items:center;border-bottom:1px solid var(--co-semantic-border-subtle)}.co-modal--panel .co-modal__heading{font-size:var(--co-font-size-20);font-weight:500;line-height:1.25;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--panel .co-modal__close{width:32px;height:32px;padding:0;border-radius:var(--co-border-radius-full);color:var(--co-semantic-text-default)}.co-modal--panel .co-modal__body{padding:24px;border-top:none}.co-modal--panel .co-modal__footer{padding:12px 24px;gap:12px;border-top:1px solid var(--co-semantic-border-subtle)}.co-modal__frame--standalone{position:fixed;inset:0;z-index:var(--co-modal-z-index, 1000);display:flex;align-items:center;justify-content:center;pointer-events:none}.co-modal__frame--standalone .co-modal--open{pointer-events:auto}.co-modal__frame--standalone .co-modal:not(.co-modal--open){visibility:hidden;transition:transform var(--co-motion-duration-fast) var(--co-motion-ease-in), opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), visibility 0s linear var(--co-motion-duration-fast)}.co-modal--dialog{border-radius:var(--co-border-radius-lg)}.co-modal--dialog .co-modal__header{padding:var(--co-spacing-3xl) var(--co-spacing-3xl) 0;align-items:flex-start;gap:var(--co-spacing-lg)}.co-modal--dialog .co-modal__header-text{gap:var(--co-spacing-lg)}.co-modal--dialog .co-modal__heading{font-size:var(--co-font-size-22);font-weight:500;line-height:1.25;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog .co-modal__description{font-size:var(--co-font-size-16);line-height:1.5;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog .co-modal__close{width:32px;height:32px;padding:0;margin:-3px -6px 0 0;border-radius:var(--co-border-radius-full);color:var(--co-semantic-text-default)}.co-modal--dialog .co-modal__body{padding:var(--co-spacing-lg) var(--co-spacing-3xl) var(--co-spacing-3xl);border-top:none;font-size:var(--co-font-size-16);line-height:1.5;letter-spacing:var(--co-font-letter-spacing-body)}.co-modal--dialog.co-modal--full .co-modal__body{padding:0}.co-modal--dialog .co-modal__footer{padding:var(--co-spacing-lg) var(--co-spacing-2xl);gap:var(--co-spacing-md);border-top-color:var(--co-semantic-border-subtle);--co-button-radius:var(--co-border-radius-sm)}.co-modal--movable{translate:var(--co-modal-translate, none)}.co-modal__header--movable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.co-modal__header--movable .co-modal__close{cursor:pointer}.co-modal__header--dragging{cursor:grabbing}'}},[257,"co-modal",{open:[1540],heading:[1],description:[1],closable:[4],closeOnOverlay:[4,"close-on-overlay"],closeOnEscape:[4,"close-on-escape"],size:[513],noDividers:[516,"no-dividers"],headerDivider:[4,"header-divider"],appearance:[513],backdrop:[513],inline:[516],movable:[516],trapFocus:[516,"trap-focus"],hasFooter:[32],dragging:[32],bringToFront:[64]},[[4,"keydown","handleKeydown"]],{open:[{trackEscapeLayer:0},{resetPositionOnOpen:0}]}]);function v(){"undefined"!=typeof customElements&&["co-modal","co-icon","co-overlay"].forEach((a=>{switch(a){case"co-modal":customElements.get(o(a))||customElements.define(o(a),m);break;case"co-icon":customElements.get(o(a))||h();break;case"co-overlay":customElements.get(o(a))||r()}}))}v();const g=m,f=v;export{g as CoModal,f as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o,d as
|
|
1
|
+
import{C as o,d as r}from"./p-BGNXvnDr.js";const s=o,p=r;export{s as CoOptionList,p as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p-
|
|
1
|
+
import{C as o,d as s}from"./p-Bd6H9_5D.js";const p=o,r=s;export{p as CoOverlay,r as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p-
|
|
1
|
+
import{C as o,d as s}from"./p-xA7AfoIW.js";const p=o,r=s;export{p as CoPopover,r as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,H as i,c as t,h as o,t as r}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{F as a}from"./p-CaAdnjC6.js";import{i as c}from"./p-BzxEh7sq.js";import{d as l}from"./p-CaFwCFgg.js";import{d as n}from"./p-qMNHMnvI.js";import{d}from"./p-DldA2IL3.js";import{d as f}from"./p-BH184F0X.js";import{d as h}from"./p-_S5htX1i.js";import{d as p}from"./p-xtGT3YeI.js";import{d as m}from"./p-B5F93Ujt.js";const g=e(class e extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coClear=t(this,"coClear",7),this.coSearch=t(this,"coSearch",7),this.coLoadMore=t(this,"coLoadMore",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coRemove=t(this,"coRemove",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.coPinToggle=t(this,"coPinToggle",7),this.coListReorder=t(this,"coListReorder",7),this.coEditSelected=t(this,"coEditSelected",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!0,this.editable=!1,this.editLabel="Edit",this.multiple=!1,this.status="default",this.layout="vertical",this.size="md",this.variant="default",this.value="",this.options="[]",this.selectedDisplay="[]",this.loading=!1,this.total=0,this.searchable=!0,this.searchPlaceholder="Search…",this.searchDebounce=350,this.emptyMessage="No results found",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New",this.maxChips=0,this.panelTheme="auto",this.colorMode="dot",this.triggerBadgeIcon="",this.triggerBadgeLabel="",this.inheritedLabel="",this.inheritedBadgeLabel="",this.avatarShape="circle",this.pinnable=!1,this.listReorderable=!1,this.inheritedTruncated=!1,this.isOpen=!1,this.overflowCount=0,this.lastChipsKey="\0",this.pendingFocus=!1,this.hasPanelSlot=!1,this.handlePopoverOpen=()=>{this.isOpen=!0},this.handlePopoverClose=()=>{this.isOpen=!1},this.measureInherited=()=>{const e=this.inheritedEl,i=!!e&&e.scrollWidth>e.clientWidth+1;i!==this.inheritedTruncated&&(this.inheritedTruncated=i)},this.setInheritedEl=e=>{var i,t;const o=e||void 0;o!==this.inheritedEl&&(this.inheritedEl&&(null===(i=this.inheritedResizeObserver)||void 0===i||i.unobserve(this.inheritedEl)),this.inheritedEl=o,o?null===(t=this.inheritedResizeObserver)||void 0===t||t.observe(o):this.inheritedTruncated&&(this.inheritedTruncated=!1))},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.isOpen=!0))},this.handleListChange=e=>{if(!this.multiple&&null===e.value)return this.value="",this.coClear.emit(),void(this.isOpen=!1);this.handleOptionClick(e.item)},this.handleOptionClick=e=>{if(this.multiple){const i=this.parsedValue;let t;t=i.indexOf(e._id)>=0?i.filter((i=>i!==e._id)):[...i,e._id],this.value=JSON.stringify(t),this.coChange.emit({value:t,item:e})}else this.value=e._id,this.coChange.emit({value:e._id,item:e}),this.isOpen=!1},this.handleReorder=e=>{this.value=JSON.stringify(e.value),this.coChange.emit({value:e.value,item:e.item})},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit()},this.handleEditClick=e=>{e.stopPropagation();const i=this.effectiveDisplayItems[0];i&&this.coEditSelected.emit(i._id)},this.handleEditChip=(e,i)=>{i.stopPropagation(),this.coEditSelected.emit(e)},this.handleRemoveChip=(e,i)=>{var t;i.stopPropagation();const o=null!==(t=this.effectiveDisplayItems.find((i=>i._id===e)))&&void 0!==t?t:{_id:e,label:e},r=this.parsedValue.filter((i=>i!==e));this.value=JSON.stringify(r),this.coRemove.emit(e),this.coChange.emit({value:r,item:o})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}get normalizedSize(){return"default"===this.size?"md":this.size}get parsedOptions(){try{const e="string"==typeof this.options?JSON.parse(this.options):this.options;return Array.isArray(e)?e:[]}catch(e){return[]}}get parsedSelectedDisplay(){try{const e="string"==typeof this.selectedDisplay?JSON.parse(this.selectedDisplay):this.selectedDisplay;return Array.isArray(e)?e:[]}catch(e){return[]}}get effectiveDisplayItems(){const e=this.parsedValue;if(0===e.length)return[];const i=new Map;for(const e of this.parsedSelectedDisplay)i.set(e._id,e);for(const e of this.parsedOptions)i.has(e._id)||i.set(e._id,{_id:e._id,label:e.label,description:e.description,color:e.color,avatar:e.avatar,image:e.image});return e.map((e=>i.get(e))).filter(Boolean)}get parsedValue(){if(!this.value)return[];try{const e=JSON.parse(this.value);return Array.isArray(e)?e:[this.value]}catch(e){return this.value?[this.value]:[]}}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>this.calcOverflow())),this.inheritedResizeObserver=new ResizeObserver((()=>this.measureInherited())),this.inheritedEl&&this.inheritedResizeObserver.observe(this.inheritedEl)}componentDidRender(){var e,i,t,o;this.chipsEl!==this.observedChipsEl&&(null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.chipsEl&&(null===(i=this.resizeObserver)||void 0===i||i.observe(this.chipsEl)),this.observedChipsEl=this.chipsEl);const r=null===(t=this.chipsEl)||void 0===t?void 0:t.querySelectorAll(".co-ref-field__chip"),s=r?Array.from(r,(e=>e.textContent)).join(""):"";s!==this.lastChipsKey&&(this.lastChipsKey=s,this.calcOverflow()),this.pendingFocus&&(null===(o=this.optionListEl)||void 0===o?void 0:o.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}disconnectedCallback(){var e,i;null===(e=this.resizeObserver)||void 0===e||e.disconnect(),null===(i=this.inheritedResizeObserver)||void 0===i||i.disconnect()}calcOverflow(){if(!this.multiple||this.maxChips>0||!this.chipsEl)return void(0!==this.overflowCount&&(this.overflowCount=0));const e=Array.from(this.chipsEl.querySelectorAll(".co-ref-field__chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const i=this.chipsEl.getBoundingClientRect().right;let t=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>i+1;o--)t++;t!==this.overflowCount&&(this.overflowCount=t)}onOpenChange(e){e?(this.hasPanelSlot=!!this.el.querySelector(':scope > [slot="panel"]'),this.coOpen.emit(),this.pendingFocus=!0):(this.coClose.emit(),this.restoreTriggerFocus())}onInheritedLabelChange(){requestAnimationFrame(this.measureInherited)}restoreTriggerFocus(){var e;const i=document.activeElement;(i===this.el||this.el.contains(i))&&(null===(e=this.triggerEl)||void 0===e||e.focus({preventScroll:!0}))}async selectOption(e){this.handleOptionClick(e)}async closePanel(){this.isOpen=!1}async openPanel(){this.disabled||(this.isOpen=!0)}renderTrigger(){const i=this.effectiveDisplayItems,t=i.length>0;return o("div",{class:{"co-ref-field__trigger":!0,"co-ref-field--open":this.isOpen,"co-ref-field--disabled":this.disabled,["co-ref-field--"+this.normalizedSize]:!0,["co-ref-field--"+this.status]:"default"!==this.status,"co-ref-field--flat":"flat"===this.variant},role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?e.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&o("span",{class:"co-ref-field__icon"},o("co-icon",{name:this.iconLeft,size:16})),o("div",{class:"co-ref-field__value"},!t&&this.inheritedLabel&&o("co-tooltip",{block:!0,class:"co-ref-field__inherited-tip",content:this.inheritedLabel,placement:"top",disabled:!this.inheritedTruncated},o("span",{class:"co-ref-field__inherited",part:"trigger-inherited",ref:this.setInheritedEl},this.inheritedLabel)),!t&&!this.inheritedLabel&&o("span",{class:"co-ref-field__placeholder",part:"trigger-placeholder"},this.placeholder),t&&!this.multiple&&this.renderSingleValue(i[0]),t&&this.multiple&&this.renderMultipleValue(i)),!t&&this.inheritedLabel&&this.inheritedBadgeLabel&&o("span",{class:"co-ref-field__inherited-badge",part:"trigger-inherited-badge"},this.inheritedBadgeLabel),t&&this.triggerBadgeIcon&&o("span",{class:"co-ref-field__trigger-badge",part:"trigger-badge",role:"img",title:this.triggerBadgeLabel||void 0,"aria-label":this.triggerBadgeLabel||void 0},o("co-icon",{name:this.triggerBadgeIcon,size:11,weight:"fill"})),t&&!this.multiple&&this.editable&&!this.disabled&&o("button",{class:"co-ref-field__edit",part:"trigger-edit",tabIndex:-1,onClick:this.handleEditClick,type:"button",title:this.editLabel||void 0,"aria-label":this.editLabel||void 0},o("co-icon",{name:"pencil-simple",size:14})),t&&this.clearable&&!this.disabled&&o("button",{class:"co-ref-field__clear",part:"trigger-clear",tabIndex:-1,onClick:this.handleClear,type:"button"},o("co-icon",{name:"x",size:14})),o("span",{class:"co-ref-field__caret",part:"trigger-chevron"},o("co-icon",{name:"caret-up-down",size:16})))}renderItemAvatar(e){return e.image||e.avatar?o("co-avatar",{class:"co-ref-field__avatar",type:e.image?"image":"text",src:e.image,text:e.avatar,color:e.color,size:"xxs",shape:this.avatarShape}):e.color?o("span",{class:"co-ref-field__color-dot",style:{backgroundColor:e.color}}):null}renderSingleValue(e){return o("div",{class:"co-ref-field__selected"},this.renderItemAvatar(e),o("span",{class:"co-ref-field__selected-label",part:"trigger-text"},e.label))}renderMultipleValue(e){const i=this.maxChips>0,t=Math.min(this.overflowCount,Math.max(0,e.length-1)),r=i?e.slice(0,this.maxChips):e,s=i?e.length-this.maxChips:t,l=e.length-(i?0:t);return o("div",{class:"co-ref-field__chips-row"},o("div",{class:"co-ref-field__chips",ref:e=>this.chipsEl=e},r.map(((e,t)=>{const r="fill"===this.colorMode&&!!e.color&&!(e.image||e.avatar);return o(a,{key:e._id,baseClass:"co-ref-field__chip",label:e.label,modifiers:{"co-ref-field__chip--avatar":!(!e.image&&!e.avatar),"co-ref-field__chip--fill":r,"co-ref-field__chip--fill-light":r&&c(e.color),"co-ref-field__chip--clipped":!i&&t>=l,["co-ref-field__chip--"+this.normalizedSize]:!0},style:r?{backgroundColor:e.color}:void 0,onRemove:i=>this.handleRemoveChip(e._id,i),onEdit:this.editable&&!this.disabled?i=>this.handleEditChip(e._id,i):void 0,editLabel:this.editLabel},e.image||e.avatar?this.renderItemAvatar(e):e.color&&!r?o("span",{class:"co-ref-field__chip-dot",style:{backgroundColor:e.color}}):null)}))),s>0&&o("span",{class:"co-ref-field__chip-overflow"},"+",s))}renderFooter(e){return this.showFooter?o("div",{class:"co-ref-field__footer",slot:e?"footer":void 0},this.footerSecondaryLabel&&o("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--secondary",type:"button",onClick:this.handleFooterSecondary},o("co-icon",{name:"plus",size:16}),o("span",null,this.footerSecondaryLabel)),o("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--primary",type:"button",onClick:this.handleFooterPrimary},o("co-icon",{name:"check",size:16}),o("span",null,this.footerPrimaryLabel))):null}renderPanel(){const i={"co-ref-field__panel":!0,"co-ref-field__panel--dark":"dark"===this.panelTheme,"co-ref-field__panel--light":"light"===this.panelTheme},t=this.panelWidth?{width:this.panelWidth}:void 0;return this.hasPanelSlot?o("div",{class:Object.assign(Object.assign({},i),{"co-ref-field__panel--custom":!0}),id:e.LIST_ID,style:t},o("slot",{name:"panel"}),this.renderFooter(!1)):o("div",{class:i,style:t},o("co-option-list",{id:e.LIST_ID,ref:e=>this.optionListEl=e,items:"string"==typeof this.options?this.options:JSON.stringify(this.options),value:this.value,selectedItems:"string"==typeof this.selectedDisplay?this.selectedDisplay:JSON.stringify(this.selectedDisplay),multiple:this.multiple,selectedFirst:this.multiple,reorderable:this.multiple,pinnable:this.pinnable,listReorderable:this.listReorderable,selectedAffordance:"deselect",searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:this.searchDebounce,loading:this.loading,total:this.total,emptyMessage:this.emptyMessage,avatarShape:this.avatarShape,onCoSearch:e=>this.coSearch.emit(e.detail),onCoChange:e=>this.handleListChange(e.detail),onCoReorder:e=>this.handleReorder(e.detail),onCoPinToggle:e=>this.coPinToggle.emit(e.detail),onCoListReorder:e=>this.coListReorder.emit(e.detail),onCoLoadMore:()=>this.coLoadMore.emit()},o("slot",{name:"panel-footer",slot:"footer"}),this.renderFooter(!0)))}render(){return o("div",{key:"fad34cd2f0ec9272285f3e6a9f97000b96d18e6d",class:"co-ref-field"},(this.label||this.secondaryLabel)&&o("div",{key:"9f58fb3ad9dbf3d367641ab8f6346a74b377d42a",class:"co-ref-field__labels"},this.label&&o("label",{key:"7960d2be8de225ef03283aac808c667c505884dd",class:"co-ref-field__label"},this.labelIcon&&o("co-icon",{key:"5171afeb59ca8cf75ccf4a18b0390d23972a73a9",class:"co-ref-field__label-icon",name:this.labelIcon,size:16}),this.label,o(s,{key:"88eb7972e30150185ef563eecce2fb57f97a1eb3",required:this.required})),this.secondaryLabel&&o("span",{key:"8751906f899790cead37c9e28d5015e1fa58a801",class:"co-ref-field__secondary-label"},this.secondaryLabel)),o("co-popover",{key:"b7953165b080b55ef0d95cad89849b30e2c27bfe",open:this.isOpen,placement:"bottom-start",matchWidth:!this.panelWidth,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},o("div",{key:"07d22fe2182afa3899abb14845fbf0069cbd8b6f",slot:"trigger"},this.renderTrigger()),this.isOpen&&this.renderPanel()),this.helperText&&o("div",{key:"8842f7aecf18c770ceee88c368f3b50803178a6a",class:"co-ref-field__helper co-ref-field__helper--"+this.status},"default"!==this.status&&o("co-icon",{key:"88925d75dad7a8853febedeeab60d5a83914396e",name:"error"===this.status?"warning-circle":"success"===this.status?"check-circle":"info",size:14}),o("span",{key:"14577358ff94a20cb6ba9d91ab64388e48501632"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],inheritedLabel:[{onInheritedLabelChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-ref-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-ref-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-ref-field__label{display:inline-flex;align-items:center;color:var(--co-ref-field-label-color, var(--co-semantic-text-secondary));font-family:var(--co-ref-field-label-font-family, var(--co-font-family-primary));font-size:var(--co-ref-field-label-font-size, var(--co-font-size-14));font-weight:var(--co-ref-field-label-font-weight, 400);line-height:1;white-space:nowrap;cursor:default;text-transform:var(--co-ref-field-label-text-transform, none);letter-spacing:var(--co-ref-field-label-letter-spacing, var(--co-font-letter-spacing-body))}.co-ref-field__secondary-label{color:var(--co-semantic-text-muted);font-family:var(--co-font-family-mono);font-size:var(--co-font-size-12);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-ref-field__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-ref-field-trigger-bg, var(--co-semantic-surface-page));border:1px solid var(--co-ref-field-trigger-border-color, var(--co-semantic-border-field));border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field--flat{background:transparent;border-color:transparent}.co-ref-field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-ref-field--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-ref-field__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-ref-field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-ref-field--error{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-ref-field--success{border-color:var(--co-semantic-status-success)}.co-ref-field--warning{border-color:var(--co-color-status-review)}.co-ref-field--s .co-ref-field__selected{--co-avatar-size:20px}.co-ref-field--sm .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--md .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--lg .co-ref-field__selected{--co-avatar-size:28px}.co-ref-field__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__label-icon{flex-shrink:0;margin-right:var(--co-spacing-xs);color:var(--co-semantic-text-secondary)}.co-ref-field__value{flex:1;min-width:0;display:flex;align-items:center}.co-ref-field__placeholder{color:var(--co-semantic-text-muted);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__inherited-tip{min-width:0;max-width:100%}.co-ref-field__inherited{display:block;color:var(--co-semantic-text-secondary);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__inherited-badge{flex-shrink:0;display:inline-flex;align-items:center;box-sizing:border-box;height:22px;padding:0 var(--co-spacing-sm2);border:1px solid var(--co-ref-field-inherited-badge-border, var(--co-semantic-border-default));border-radius:var(--co-border-radius-full);color:var(--co-ref-field-inherited-badge-color, var(--co-semantic-text-secondary));font-size:var(--co-font-size-12);font-weight:400;line-height:1;white-space:nowrap}.co-ref-field__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__trigger-badge{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px;border-radius:var(--co-border-radius-xxs);background:var(--co-ref-field-trigger-badge-bg, rgba(0, 0, 0, 0.22));color:var(--co-semantic-text-default)}.co-ref-field__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field__clear:hover{color:var(--co-semantic-text-default)}.co-ref-field__edit{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field__edit:hover{color:var(--co-semantic-text-default)}.co-ref-field__selected{display:flex;align-items:center;gap:var(--co-spacing-sm);min-width:0}.co-ref-field__color-dot{width:10px;height:10px;min-width:10px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__avatar{flex-shrink:0}.co-ref-field__selected-label{color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__chips-row{flex:1;min-width:0;display:flex;align-items:center;gap:var(--co-spacing-xs)}.co-ref-field__chips{flex:1;min-width:0;display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--co-spacing-xs);align-items:center}.co-ref-field__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-sm2);background:var(--co-semantic-surface-control);border-radius:var(--co-border-radius-full);line-height:1;max-width:min(160px, 100%);flex-shrink:0}.co-ref-field__chip--avatar{padding-left:var(--co-spacing-xxs)}.co-ref-field__chip--s{min-height:20px;--co-avatar-size:20px;font-size:var(--co-font-size-12)}.co-ref-field__chip--sm{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-12)}.co-ref-field__chip--md{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-14)}.co-ref-field__chip--lg{min-height:28px;--co-avatar-size:28px;font-size:var(--co-font-size-14)}.co-ref-field__chip--clipped{visibility:hidden}.co-ref-field__chip-dot{width:8px;height:8px;min-width:8px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__chip--fill{color:var(--co-color-base-blanco);border-radius:var(--co-spacing-sm)}.co-ref-field__chip--fill-light{color:var(--co-color-base-negro)}.co-ref-field__chip--fill .co-ref-field__chip-label,.co-ref-field__chip--fill .co-ref-field__chip-remove{color:inherit}.co-ref-field__chip--fill .co-ref-field__chip-remove{opacity:0.72}.co-ref-field__chip--fill .co-ref-field__chip-remove:hover{color:inherit;opacity:1}.co-ref-field__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.co-ref-field__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-ref-field__chip-remove:hover{color:var(--co-semantic-text-default)}.co-ref-field__chip-edit{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-ref-field__chip-edit:hover{color:var(--co-semantic-text-default)}.co-ref-field__chip--fill .co-ref-field__chip-edit{color:inherit;opacity:0.72}.co-ref-field__chip--fill .co-ref-field__chip-edit:hover{opacity:1}.co-ref-field__chip-overflow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs) var(--co-spacing-sm);background:var(--co-semantic-surface-hover);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:600;color:var(--co-semantic-text-secondary);line-height:1}.co-ref-field__panel{display:flex;flex-direction:column;border-radius:var(--co-border-radius-sm, 12px);overflow:hidden}.co-ref-field__panel--dark{--co-semantic-surface-page:#0A0A0A;--co-semantic-surface-primary:#0A0A0A;--co-semantic-surface-hover:rgba(255, 255, 255, 0.08);--co-semantic-surface-muted:rgba(255, 255, 255, 0.12);--co-semantic-text-default:#ffffff;--co-semantic-text-secondary:rgba(255, 255, 255, 0.8);--co-semantic-text-muted:rgba(255, 255, 255, 0.5);--co-semantic-border-subtle:rgba(255, 255, 255, 0.12);--co-semantic-border-default:rgba(255, 255, 255, 0.16);background:#0A0A0A;color:#ffffff}.co-ref-field__panel--light{--co-semantic-surface-page:#ffffff;--co-semantic-surface-primary:#ffffff;--co-semantic-surface-hover:var(--co-color-gray-100, #f5f5f5);--co-semantic-surface-muted:var(--co-color-gray-200, #e5e5e5);--co-semantic-text-default:var(--co-color-gray-700, #1F1C1B);--co-semantic-text-secondary:rgba(0, 0, 0, 0.6);--co-semantic-text-muted:rgba(0, 0, 0, 0.45);--co-semantic-border-subtle:var(--co-color-gray-200, #e5e5e5);--co-semantic-border-default:var(--co-color-gray-300, #d4d4d4);background:#ffffff;color:var(--co-color-gray-700, #1F1C1B)}.co-ref-field__footer{display:flex;gap:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);padding:var(--co-spacing-sm2)}.co-ref-field__footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:500;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;cursor:pointer;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:32px}.co-ref-field__footer-btn:hover{opacity:0.85}.co-ref-field__footer-btn--secondary{background:transparent;color:var(--co-semantic-text-default);border:1px solid var(--co-semantic-border-default)}.co-ref-field__footer-btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);border:none}.co-ref-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-muted)}.co-ref-field__helper--error{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-ref-field__helper--success{color:var(--co-semantic-text-success, var(--co-semantic-status-success))}.co-ref-field__helper--warning{color:var(--co-semantic-text-warning, var(--co-color-status-review))}:host([layout='horizontal']) .co-ref-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-ref-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-ref-field__label{white-space:normal}:host([layout='horizontal']) .co-ref-field>:not(.co-ref-field__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, 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)')}"}},[257,"co-ref-field",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],labelIcon:[513,"label-icon"],placeholder:[1],disabled:[4],clearable:[4],editable:[4],editLabel:[1,"edit-label"],multiple:[4],status:[1],helperText:[1,"helper-text"],iconLeft:[1,"icon-left"],layout:[513],size:[513],variant:[513],value:[1025],options:[1],selectedDisplay:[1,"selected-display"],loading:[4],total:[2],searchable:[4],searchPlaceholder:[1,"search-placeholder"],searchDebounce:[2,"search-debounce"],emptyMessage:[1,"empty-message"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],maxChips:[2,"max-chips"],panelTheme:[1,"panel-theme"],colorMode:[1,"color-mode"],triggerBadgeIcon:[1,"trigger-badge-icon"],triggerBadgeLabel:[1,"trigger-badge-label"],inheritedLabel:[1,"inherited-label"],inheritedBadgeLabel:[1,"inherited-badge-label"],panelWidth:[1,"panel-width"],avatarShape:[1,"avatar-shape"],pinnable:[4],listReorderable:[4,"list-reorderable"],inheritedTruncated:[32],isOpen:[32],overflowCount:[32],selectOption:[64],closePanel:[64],openPanel:[64]},void 0,{isOpen:[{onOpenChange:0}],inheritedLabel:[{onInheritedLabelChange:0}]}]);function v(){"undefined"!=typeof customElements&&["co-ref-field","co-avatar","co-icon","co-kbd","co-loader","co-option-list","co-popover","co-tooltip"].forEach((e=>{switch(e){case"co-ref-field":customElements.get(r(e))||customElements.define(r(e),g);break;case"co-avatar":customElements.get(r(e))||l();break;case"co-icon":customElements.get(r(e))||n();break;case"co-kbd":customElements.get(r(e))||d();break;case"co-loader":customElements.get(r(e))||f();break;case"co-option-list":customElements.get(r(e))||h();break;case"co-popover":customElements.get(r(e))||p();break;case"co-tooltip":customElements.get(r(e))||m()}}))}g.LIST_ID="co-ref-field-list",v();const b=g,u=v;export{b as CoRefField,u as defineCustomElement}
|
|
1
|
+
import{p as e,H as i,c as t,h as o,t as r}from"./index.js";import{R as s}from"./p-CWneqh4n.js";import{F as a}from"./p-CaAdnjC6.js";import{i as c}from"./p-BzxEh7sq.js";import{d as l}from"./p-BRIf9NGv.js";import{d as n}from"./p-qMNHMnvI.js";import{d}from"./p-DldA2IL3.js";import{d as f}from"./p-BH184F0X.js";import{d as h}from"./p-BGNXvnDr.js";import{d as p}from"./p-xA7AfoIW.js";import{d as m}from"./p-DRL-a5hO.js";const g=e(class e extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coClear=t(this,"coClear",7),this.coSearch=t(this,"coSearch",7),this.coLoadMore=t(this,"coLoadMore",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.coRemove=t(this,"coRemove",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.coFooterSecondary=t(this,"coFooterSecondary",7),this.coPinToggle=t(this,"coPinToggle",7),this.coListReorder=t(this,"coListReorder",7),this.coEditSelected=t(this,"coEditSelected",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!0,this.editable=!1,this.editLabel="Edit",this.multiple=!1,this.status="default",this.layout="vertical",this.size="md",this.variant="default",this.value="",this.options="[]",this.selectedDisplay="[]",this.loading=!1,this.total=0,this.searchable=!0,this.searchPlaceholder="Search…",this.searchDebounce=350,this.emptyMessage="No results found",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New",this.maxChips=0,this.panelTheme="auto",this.colorMode="dot",this.triggerBadgeIcon="",this.triggerBadgeLabel="",this.inheritedLabel="",this.inheritedBadgeLabel="",this.avatarShape="circle",this.pinnable=!1,this.listReorderable=!1,this.inheritedTruncated=!1,this.isOpen=!1,this.overflowCount=0,this.lastChipsKey="\0",this.pendingFocus=!1,this.hasPanelSlot=!1,this.handlePopoverOpen=()=>{this.isOpen=!0},this.handlePopoverClose=()=>{this.isOpen=!1},this.measureInherited=()=>{const e=this.inheritedEl,i=!!e&&e.scrollWidth>e.clientWidth+1;i!==this.inheritedTruncated&&(this.inheritedTruncated=i)},this.setInheritedEl=e=>{var i,t;const o=e||void 0;o!==this.inheritedEl&&(this.inheritedEl&&(null===(i=this.inheritedResizeObserver)||void 0===i||i.unobserve(this.inheritedEl)),this.inheritedEl=o,o?null===(t=this.inheritedResizeObserver)||void 0===t||t.observe(o):this.inheritedTruncated&&(this.inheritedTruncated=!1))},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.isOpen=!0))},this.handleListChange=e=>{if(!this.multiple&&null===e.value)return this.value="",this.coClear.emit(),void(this.isOpen=!1);this.handleOptionClick(e.item)},this.handleOptionClick=e=>{if(this.multiple){const i=this.parsedValue;let t;t=i.indexOf(e._id)>=0?i.filter((i=>i!==e._id)):[...i,e._id],this.value=JSON.stringify(t),this.coChange.emit({value:t,item:e})}else this.value=e._id,this.coChange.emit({value:e._id,item:e}),this.isOpen=!1},this.handleReorder=e=>{this.value=JSON.stringify(e.value),this.coChange.emit({value:e.value,item:e.item})},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit()},this.handleEditClick=e=>{e.stopPropagation();const i=this.effectiveDisplayItems[0];i&&this.coEditSelected.emit(i._id)},this.handleEditChip=(e,i)=>{i.stopPropagation(),this.coEditSelected.emit(e)},this.handleRemoveChip=(e,i)=>{var t;i.stopPropagation();const o=null!==(t=this.effectiveDisplayItems.find((i=>i._id===e)))&&void 0!==t?t:{_id:e,label:e},r=this.parsedValue.filter((i=>i!==e));this.value=JSON.stringify(r),this.coRemove.emit(e),this.coChange.emit({value:r,item:o})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}get normalizedSize(){return"default"===this.size?"md":this.size}get parsedOptions(){try{const e="string"==typeof this.options?JSON.parse(this.options):this.options;return Array.isArray(e)?e:[]}catch(e){return[]}}get parsedSelectedDisplay(){try{const e="string"==typeof this.selectedDisplay?JSON.parse(this.selectedDisplay):this.selectedDisplay;return Array.isArray(e)?e:[]}catch(e){return[]}}get effectiveDisplayItems(){const e=this.parsedValue;if(0===e.length)return[];const i=new Map;for(const e of this.parsedSelectedDisplay)i.set(e._id,e);for(const e of this.parsedOptions)i.has(e._id)||i.set(e._id,{_id:e._id,label:e.label,description:e.description,color:e.color,avatar:e.avatar,image:e.image});return e.map((e=>i.get(e))).filter(Boolean)}get parsedValue(){if(!this.value)return[];try{const e=JSON.parse(this.value);return Array.isArray(e)?e:[this.value]}catch(e){return this.value?[this.value]:[]}}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>this.calcOverflow())),this.inheritedResizeObserver=new ResizeObserver((()=>this.measureInherited())),this.inheritedEl&&this.inheritedResizeObserver.observe(this.inheritedEl)}componentDidRender(){var e,i,t,o;this.chipsEl!==this.observedChipsEl&&(null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.chipsEl&&(null===(i=this.resizeObserver)||void 0===i||i.observe(this.chipsEl)),this.observedChipsEl=this.chipsEl);const r=null===(t=this.chipsEl)||void 0===t?void 0:t.querySelectorAll(".co-ref-field__chip"),s=r?Array.from(r,(e=>e.textContent)).join(""):"";s!==this.lastChipsKey&&(this.lastChipsKey=s,this.calcOverflow()),this.pendingFocus&&(null===(o=this.optionListEl)||void 0===o?void 0:o.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}disconnectedCallback(){var e,i;null===(e=this.resizeObserver)||void 0===e||e.disconnect(),null===(i=this.inheritedResizeObserver)||void 0===i||i.disconnect()}calcOverflow(){if(!this.multiple||this.maxChips>0||!this.chipsEl)return void(0!==this.overflowCount&&(this.overflowCount=0));const e=Array.from(this.chipsEl.querySelectorAll(".co-ref-field__chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const i=this.chipsEl.getBoundingClientRect().right;let t=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>i+1;o--)t++;t!==this.overflowCount&&(this.overflowCount=t)}onOpenChange(e){e?(this.hasPanelSlot=!!this.el.querySelector(':scope > [slot="panel"]'),this.coOpen.emit(),this.pendingFocus=!0):(this.coClose.emit(),this.restoreTriggerFocus())}onInheritedLabelChange(){requestAnimationFrame(this.measureInherited)}restoreTriggerFocus(){var e;const i=document.activeElement;(i===this.el||this.el.contains(i))&&(null===(e=this.triggerEl)||void 0===e||e.focus({preventScroll:!0}))}async selectOption(e){this.handleOptionClick(e)}async closePanel(){this.isOpen=!1}async openPanel(){this.disabled||(this.isOpen=!0)}renderTrigger(){const i=this.effectiveDisplayItems,t=i.length>0;return o("div",{class:{"co-ref-field__trigger":!0,"co-ref-field--open":this.isOpen,"co-ref-field--disabled":this.disabled,["co-ref-field--"+this.normalizedSize]:!0,["co-ref-field--"+this.status]:"default"!==this.status,"co-ref-field--flat":"flat"===this.variant},role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?e.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&o("span",{class:"co-ref-field__icon"},o("co-icon",{name:this.iconLeft,size:16})),o("div",{class:"co-ref-field__value"},!t&&this.inheritedLabel&&o("co-tooltip",{block:!0,class:"co-ref-field__inherited-tip",content:this.inheritedLabel,placement:"top",disabled:!this.inheritedTruncated},o("span",{class:"co-ref-field__inherited",part:"trigger-inherited",ref:this.setInheritedEl},this.inheritedLabel)),!t&&!this.inheritedLabel&&o("span",{class:"co-ref-field__placeholder",part:"trigger-placeholder"},this.placeholder),t&&!this.multiple&&this.renderSingleValue(i[0]),t&&this.multiple&&this.renderMultipleValue(i)),!t&&this.inheritedLabel&&this.inheritedBadgeLabel&&o("span",{class:"co-ref-field__inherited-badge",part:"trigger-inherited-badge"},this.inheritedBadgeLabel),t&&this.triggerBadgeIcon&&o("span",{class:"co-ref-field__trigger-badge",part:"trigger-badge",role:"img",title:this.triggerBadgeLabel||void 0,"aria-label":this.triggerBadgeLabel||void 0},o("co-icon",{name:this.triggerBadgeIcon,size:11,weight:"fill"})),t&&!this.multiple&&this.editable&&!this.disabled&&o("button",{class:"co-ref-field__edit",part:"trigger-edit",tabIndex:-1,onClick:this.handleEditClick,type:"button",title:this.editLabel||void 0,"aria-label":this.editLabel||void 0},o("co-icon",{name:"pencil-simple",size:14})),t&&this.clearable&&!this.disabled&&o("button",{class:"co-ref-field__clear",part:"trigger-clear",tabIndex:-1,onClick:this.handleClear,type:"button"},o("co-icon",{name:"x",size:14})),o("span",{class:"co-ref-field__caret",part:"trigger-chevron"},o("co-icon",{name:"caret-up-down",size:16})))}renderItemAvatar(e){return e.image||e.avatar?o("co-avatar",{class:"co-ref-field__avatar",type:e.image?"image":"text",src:e.image,text:e.avatar,color:e.color,size:"xxs",shape:this.avatarShape}):e.color?o("span",{class:"co-ref-field__color-dot",style:{backgroundColor:e.color}}):null}renderSingleValue(e){return o("div",{class:"co-ref-field__selected"},this.renderItemAvatar(e),o("span",{class:"co-ref-field__selected-label",part:"trigger-text"},e.label))}renderMultipleValue(e){const i=this.maxChips>0,t=Math.min(this.overflowCount,Math.max(0,e.length-1)),r=i?e.slice(0,this.maxChips):e,s=i?e.length-this.maxChips:t,l=e.length-(i?0:t);return o("div",{class:"co-ref-field__chips-row"},o("div",{class:"co-ref-field__chips",ref:e=>this.chipsEl=e},r.map(((e,t)=>{const r="fill"===this.colorMode&&!!e.color&&!(e.image||e.avatar);return o(a,{key:e._id,baseClass:"co-ref-field__chip",label:e.label,modifiers:{"co-ref-field__chip--avatar":!(!e.image&&!e.avatar),"co-ref-field__chip--fill":r,"co-ref-field__chip--fill-light":r&&c(e.color),"co-ref-field__chip--clipped":!i&&t>=l,["co-ref-field__chip--"+this.normalizedSize]:!0},style:r?{backgroundColor:e.color}:void 0,onRemove:i=>this.handleRemoveChip(e._id,i),onEdit:this.editable&&!this.disabled?i=>this.handleEditChip(e._id,i):void 0,editLabel:this.editLabel},e.image||e.avatar?this.renderItemAvatar(e):e.color&&!r?o("span",{class:"co-ref-field__chip-dot",style:{backgroundColor:e.color}}):null)}))),s>0&&o("span",{class:"co-ref-field__chip-overflow"},"+",s))}renderFooter(e){return this.showFooter?o("div",{class:"co-ref-field__footer",slot:e?"footer":void 0},this.footerSecondaryLabel&&o("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--secondary",type:"button",onClick:this.handleFooterSecondary},o("co-icon",{name:"plus",size:16}),o("span",null,this.footerSecondaryLabel)),o("button",{class:"co-ref-field__footer-btn co-ref-field__footer-btn--primary",type:"button",onClick:this.handleFooterPrimary},o("co-icon",{name:"check",size:16}),o("span",null,this.footerPrimaryLabel))):null}renderPanel(){const i={"co-ref-field__panel":!0,"co-ref-field__panel--dark":"dark"===this.panelTheme,"co-ref-field__panel--light":"light"===this.panelTheme},t=this.panelWidth?{width:this.panelWidth}:void 0;return this.hasPanelSlot?o("div",{class:Object.assign(Object.assign({},i),{"co-ref-field__panel--custom":!0}),id:e.LIST_ID,style:t},o("slot",{name:"panel"}),this.renderFooter(!1)):o("div",{class:i,style:t},o("co-option-list",{id:e.LIST_ID,ref:e=>this.optionListEl=e,items:"string"==typeof this.options?this.options:JSON.stringify(this.options),value:this.value,selectedItems:"string"==typeof this.selectedDisplay?this.selectedDisplay:JSON.stringify(this.selectedDisplay),multiple:this.multiple,selectedFirst:this.multiple,reorderable:this.multiple,pinnable:this.pinnable,listReorderable:this.listReorderable,selectedAffordance:"deselect",searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:this.searchDebounce,loading:this.loading,total:this.total,emptyMessage:this.emptyMessage,avatarShape:this.avatarShape,onCoSearch:e=>this.coSearch.emit(e.detail),onCoChange:e=>this.handleListChange(e.detail),onCoReorder:e=>this.handleReorder(e.detail),onCoPinToggle:e=>this.coPinToggle.emit(e.detail),onCoListReorder:e=>this.coListReorder.emit(e.detail),onCoLoadMore:()=>this.coLoadMore.emit()},o("slot",{name:"panel-footer",slot:"footer"}),this.renderFooter(!0)))}render(){return o("div",{key:"fad34cd2f0ec9272285f3e6a9f97000b96d18e6d",class:"co-ref-field"},(this.label||this.secondaryLabel)&&o("div",{key:"9f58fb3ad9dbf3d367641ab8f6346a74b377d42a",class:"co-ref-field__labels"},this.label&&o("label",{key:"7960d2be8de225ef03283aac808c667c505884dd",class:"co-ref-field__label"},this.labelIcon&&o("co-icon",{key:"5171afeb59ca8cf75ccf4a18b0390d23972a73a9",class:"co-ref-field__label-icon",name:this.labelIcon,size:16}),this.label,o(s,{key:"88eb7972e30150185ef563eecce2fb57f97a1eb3",required:this.required})),this.secondaryLabel&&o("span",{key:"8751906f899790cead37c9e28d5015e1fa58a801",class:"co-ref-field__secondary-label"},this.secondaryLabel)),o("co-popover",{key:"b7953165b080b55ef0d95cad89849b30e2c27bfe",open:this.isOpen,placement:"bottom-start",matchWidth:!this.panelWidth,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},o("div",{key:"07d22fe2182afa3899abb14845fbf0069cbd8b6f",slot:"trigger"},this.renderTrigger()),this.isOpen&&this.renderPanel()),this.helperText&&o("div",{key:"8842f7aecf18c770ceee88c368f3b50803178a6a",class:"co-ref-field__helper co-ref-field__helper--"+this.status},"default"!==this.status&&o("co-icon",{key:"88925d75dad7a8853febedeeab60d5a83914396e",name:"error"===this.status?"warning-circle":"success"===this.status?"check-circle":"info",size:14}),o("span",{key:"14577358ff94a20cb6ba9d91ab64388e48501632"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}],inheritedLabel:[{onInheritedLabelChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-ref-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-ref-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-ref-field__label{display:inline-flex;align-items:center;color:var(--co-ref-field-label-color, var(--co-semantic-text-secondary));font-family:var(--co-ref-field-label-font-family, var(--co-font-family-primary));font-size:var(--co-ref-field-label-font-size, var(--co-font-size-14));font-weight:var(--co-ref-field-label-font-weight, 400);line-height:1;white-space:nowrap;cursor:default;text-transform:var(--co-ref-field-label-text-transform, none);letter-spacing:var(--co-ref-field-label-letter-spacing, var(--co-font-letter-spacing-body))}.co-ref-field__secondary-label{color:var(--co-semantic-text-muted);font-family:var(--co-font-family-mono);font-size:var(--co-font-size-12);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-ref-field__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-ref-field-trigger-bg, var(--co-semantic-surface-page));border:1px solid var(--co-ref-field-trigger-border-color, var(--co-semantic-border-field));border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field--flat{background:transparent;border-color:transparent}.co-ref-field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-ref-field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-ref-field--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-ref-field__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-ref-field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-ref-field--error{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-ref-field--success{border-color:var(--co-semantic-status-success)}.co-ref-field--warning{border-color:var(--co-color-status-review)}.co-ref-field--s .co-ref-field__selected{--co-avatar-size:20px}.co-ref-field--sm .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--md .co-ref-field__selected{--co-avatar-size:22px}.co-ref-field--lg .co-ref-field__selected{--co-avatar-size:28px}.co-ref-field__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__label-icon{flex-shrink:0;margin-right:var(--co-spacing-xs);color:var(--co-semantic-text-secondary)}.co-ref-field__value{flex:1;min-width:0;display:flex;align-items:center}.co-ref-field__placeholder{color:var(--co-semantic-text-muted);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__inherited-tip{min-width:0;max-width:100%}.co-ref-field__inherited{display:block;color:var(--co-semantic-text-secondary);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__inherited-badge{flex-shrink:0;display:inline-flex;align-items:center;box-sizing:border-box;height:22px;padding:0 var(--co-spacing-sm2);border:1px solid var(--co-ref-field-inherited-badge-border, var(--co-semantic-border-default));border-radius:var(--co-border-radius-full);color:var(--co-ref-field-inherited-badge-color, var(--co-semantic-text-secondary));font-size:var(--co-font-size-12);font-weight:400;line-height:1;white-space:nowrap}.co-ref-field__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-ref-field__trigger-badge{flex-shrink:0;display:grid;place-items:center;width:18px;height:18px;border-radius:var(--co-border-radius-xxs);background:var(--co-ref-field-trigger-badge-bg, rgba(0, 0, 0, 0.22));color:var(--co-semantic-text-default)}.co-ref-field__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field__clear:hover{color:var(--co-semantic-text-default)}.co-ref-field__edit{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-ref-field__edit:hover{color:var(--co-semantic-text-default)}.co-ref-field__selected{display:flex;align-items:center;gap:var(--co-spacing-sm);min-width:0}.co-ref-field__color-dot{width:10px;height:10px;min-width:10px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__avatar{flex-shrink:0}.co-ref-field__selected-label{color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-ref-field__chips-row{flex:1;min-width:0;display:flex;align-items:center;gap:var(--co-spacing-xs)}.co-ref-field__chips{flex:1;min-width:0;display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--co-spacing-xs);align-items:center}.co-ref-field__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-sm2);background:var(--co-semantic-surface-control);border-radius:var(--co-border-radius-full);line-height:1;max-width:min(160px, 100%);flex-shrink:0}.co-ref-field__chip--avatar{padding-left:var(--co-spacing-xxs)}.co-ref-field__chip--s{min-height:20px;--co-avatar-size:20px;font-size:var(--co-font-size-12)}.co-ref-field__chip--sm{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-12)}.co-ref-field__chip--md{min-height:22px;--co-avatar-size:22px;font-size:var(--co-font-size-14)}.co-ref-field__chip--lg{min-height:28px;--co-avatar-size:28px;font-size:var(--co-font-size-14)}.co-ref-field__chip--clipped{visibility:hidden}.co-ref-field__chip-dot{width:8px;height:8px;min-width:8px;border-radius:var(--co-border-radius-full);flex-shrink:0}.co-ref-field__chip--fill{color:var(--co-color-base-blanco);border-radius:var(--co-spacing-sm)}.co-ref-field__chip--fill-light{color:var(--co-color-base-negro)}.co-ref-field__chip--fill .co-ref-field__chip-label,.co-ref-field__chip--fill .co-ref-field__chip-remove{color:inherit}.co-ref-field__chip--fill .co-ref-field__chip-remove{opacity:0.72}.co-ref-field__chip--fill .co-ref-field__chip-remove:hover{color:inherit;opacity:1}.co-ref-field__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.co-ref-field__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-ref-field__chip-remove:hover{color:var(--co-semantic-text-default)}.co-ref-field__chip-edit{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-ref-field__chip-edit:hover{color:var(--co-semantic-text-default)}.co-ref-field__chip--fill .co-ref-field__chip-edit{color:inherit;opacity:0.72}.co-ref-field__chip--fill .co-ref-field__chip-edit:hover{opacity:1}.co-ref-field__chip-overflow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs) var(--co-spacing-sm);background:var(--co-semantic-surface-hover);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-12);font-weight:600;color:var(--co-semantic-text-secondary);line-height:1}.co-ref-field__panel{display:flex;flex-direction:column;border-radius:var(--co-border-radius-sm, 12px);overflow:hidden}.co-ref-field__panel--dark{--co-semantic-surface-page:#0A0A0A;--co-semantic-surface-primary:#0A0A0A;--co-semantic-surface-hover:rgba(255, 255, 255, 0.08);--co-semantic-surface-muted:rgba(255, 255, 255, 0.12);--co-semantic-text-default:#ffffff;--co-semantic-text-secondary:rgba(255, 255, 255, 0.8);--co-semantic-text-muted:rgba(255, 255, 255, 0.5);--co-semantic-border-subtle:rgba(255, 255, 255, 0.12);--co-semantic-border-default:rgba(255, 255, 255, 0.16);background:#0A0A0A;color:#ffffff}.co-ref-field__panel--light{--co-semantic-surface-page:#ffffff;--co-semantic-surface-primary:#ffffff;--co-semantic-surface-hover:var(--co-color-gray-100, #f5f5f5);--co-semantic-surface-muted:var(--co-color-gray-200, #e5e5e5);--co-semantic-text-default:var(--co-color-gray-700, #1F1C1B);--co-semantic-text-secondary:rgba(0, 0, 0, 0.6);--co-semantic-text-muted:rgba(0, 0, 0, 0.45);--co-semantic-border-subtle:var(--co-color-gray-200, #e5e5e5);--co-semantic-border-default:var(--co-color-gray-300, #d4d4d4);background:#ffffff;color:var(--co-color-gray-700, #1F1C1B)}.co-ref-field__footer{display:flex;gap:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);padding:var(--co-spacing-sm2)}.co-ref-field__footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:500;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;cursor:pointer;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:32px}.co-ref-field__footer-btn:hover{opacity:0.85}.co-ref-field__footer-btn--secondary{background:transparent;color:var(--co-semantic-text-default);border:1px solid var(--co-semantic-border-default)}.co-ref-field__footer-btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);border:none}.co-ref-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-muted)}.co-ref-field__helper--error{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-ref-field__helper--success{color:var(--co-semantic-text-success, var(--co-semantic-status-success))}.co-ref-field__helper--warning{color:var(--co-semantic-text-warning, var(--co-color-status-review))}:host([layout='horizontal']) .co-ref-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-ref-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-ref-field__label{white-space:normal}:host([layout='horizontal']) .co-ref-field>:not(.co-ref-field__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, 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)')}"}},[257,"co-ref-field",{label:[1],required:[4],secondaryLabel:[1,"secondary-label"],labelIcon:[513,"label-icon"],placeholder:[1],disabled:[4],clearable:[4],editable:[4],editLabel:[1,"edit-label"],multiple:[4],status:[1],helperText:[1,"helper-text"],iconLeft:[1,"icon-left"],layout:[513],size:[513],variant:[513],value:[1025],options:[1],selectedDisplay:[1,"selected-display"],loading:[4],total:[2],searchable:[4],searchPlaceholder:[1,"search-placeholder"],searchDebounce:[2,"search-debounce"],emptyMessage:[1,"empty-message"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],footerSecondaryLabel:[1,"footer-secondary-label"],maxChips:[2,"max-chips"],panelTheme:[1,"panel-theme"],colorMode:[1,"color-mode"],triggerBadgeIcon:[1,"trigger-badge-icon"],triggerBadgeLabel:[1,"trigger-badge-label"],inheritedLabel:[1,"inherited-label"],inheritedBadgeLabel:[1,"inherited-badge-label"],panelWidth:[1,"panel-width"],avatarShape:[1,"avatar-shape"],pinnable:[4],listReorderable:[4,"list-reorderable"],inheritedTruncated:[32],isOpen:[32],overflowCount:[32],selectOption:[64],closePanel:[64],openPanel:[64]},void 0,{isOpen:[{onOpenChange:0}],inheritedLabel:[{onInheritedLabelChange:0}]}]);function v(){"undefined"!=typeof customElements&&["co-ref-field","co-avatar","co-icon","co-kbd","co-loader","co-option-list","co-popover","co-tooltip"].forEach((e=>{switch(e){case"co-ref-field":customElements.get(r(e))||customElements.define(r(e),g);break;case"co-avatar":customElements.get(r(e))||l();break;case"co-icon":customElements.get(r(e))||n();break;case"co-kbd":customElements.get(r(e))||d();break;case"co-loader":customElements.get(r(e))||f();break;case"co-option-list":customElements.get(r(e))||h();break;case"co-popover":customElements.get(r(e))||p();break;case"co-tooltip":customElements.get(r(e))||m()}}))}g.LIST_ID="co-ref-field-list",v();const b=g,u=v;export{b as CoRefField,u as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,H as o,c as t,h as r,t as s}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{O as i}from"./p-ox7HzCZn.js";import{r as l,h as c}from"./p-Ba_v-MzM.js";import{d as n}from"./p-qMNHMnvI.js";import{d}from"./p-CXi0fhTi.js";import{d as h}from"./p-xtGT3YeI.js";const p=Object.freeze({rowHeight:34,gap:0}),b=e=>e.rowHeight+e.gap;function v(e,o){return e>0?e*o.rowHeight+(e-1)*o.gap:0}const g=e(class e extends o{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!1,this.layout="vertical",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.size="md",this.variant="default",this.labelStyle="default",this.menuSurface="light",this.searchable=!1,this.searchPlaceholder="Search…",this.emptyText="No results",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.isOpen=!1,this.scrollTop=0,this.searchText="",this.sortSnapshot=new Set,this.activeIndex=-1,this.rowMetrics=p,this.pendingActiveScroll=!1,this.activeScrollFrames=0,this.lastParsedOptions=[],this.lastRankSearch="",this.lastRanked=[],this.readCssLengthPx=e=>{if("function"!=typeof getComputedStyle)return null;const o=getComputedStyle(this.el).getPropertyValue(e).trim();if(!o)return null;const t=/^(-?\d*\.?\d+)px$/.exec(o);if(t)return parseFloat(t[1]);const r=this.el.shadowRoot;if(!r)return null;const s=document.createElement("div");s.style.display="none",s.style.setProperty("height",`var(${e})`),r.appendChild(s);const a=getComputedStyle(s).height;return s.remove(),/px$/.test(a)?parseFloat(a):null},this.handleSearchInput=e=>{this.searchText=e.target.value,this.scrollTop=0,this.activeIndex=this.filteredOptions.length?0:-1},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&(this.handleNavKeyDown(e)||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen?this.isOpen=!1:this.openPanel()):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.openPanel())))},this.handleNavKeyDown=e=>{if(this.disabled||!this.isOpen)return!1;const o=this.filteredOptions.length,t=o-1,r=this.activeIndex>=0?this.activeIndex:-1;switch(e.key){case"ArrowDown":o&&this.setActiveIndex(r>=t?0:r+1);break;case"ArrowUp":o&&this.setActiveIndex(r<=0?t:r-1);break;case"Home":o&&this.setActiveIndex(0);break;case"End":o&&this.setActiveIndex(t);break;case" ":if(e.target===this.searchInputEl)return!1;this.activateActiveOption();break;case"Enter":this.activateActiveOption();break;default:return!1}return e.preventDefault(),!0},this.handleOptionPointerMove=(e,o)=>{"touch"!==e.pointerType&&this.activeIndex!==o&&(this.activeIndex=o)},this.flushActiveScroll=()=>{var o,t,r,s,a;if(!this.pendingActiveScroll)return;if(!this.isOpen)return void(this.pendingActiveScroll=!1);const i=this.scrollTop||0,l=null!==(t=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==t?t:this.optionsContainerEl;return l&&(l.scrollTop=i,Math.abs(l.scrollTop-i)<=1)?(this.pendingActiveScroll=!1,this.activeScrollFrames=0,void(null===(a=null===(s=null===(r=this.el.shadowRoot)||void 0===r?void 0:r.getElementById(this.optionId(this.activeIndex)))||void 0===s?void 0:s.scrollIntoView)||void 0===a||a.call(s,{block:"nearest"}))):++this.activeScrollFrames>e.ACTIVE_SCROLL_MAX_FRAMES?(this.pendingActiveScroll=!1,void(this.activeScrollFrames=0)):void requestAnimationFrame(this.flushActiveScroll)},this.handlePopoverOpen=()=>{this.isOpen||(this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0)},this.handlePopoverClose=()=>{this.isOpen=!1},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit(),this.coChange.emit(this.multiple?[]:"")},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleOptionClick=e=>{if(this.multiple){const o=[...this.selectedValues],t=o.indexOf(e);t>=0?o.splice(t,1):o.push(e),this.value=JSON.stringify(o),this.coChange.emit(o)}else this.value=e,this.isOpen=!1,this.coChange.emit(e)}}get parsedOptions(){const e=this.options;if(e===this.lastOptionsRaw)return this.lastParsedOptions;let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){o=[]}const t=Array.isArray(o)?o.map((e=>"string"==typeof e?{label:e,value:e}:e)):[];return this.lastOptionsRaw=e,this.lastParsedOptions=t,t}get filteredOptions(){const e=this.parsedOptions;let o;return this.searchable&&this.searchText.trim()?e===this.lastRankInput&&this.searchText===this.lastRankSearch?o=this.lastRanked:(o=l(e,this.searchText,(e=>e.label)),this.lastRankInput=e,this.lastRankSearch=this.searchText,this.lastRanked=o):o=e,this.multiple&&0!==this.sortSnapshot.size?[...o.filter((e=>this.sortSnapshot.has(e.value))),...o.filter((e=>!this.sortSnapshot.has(e.value)))]:o}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get selectedOption(){if(this.multiple)return;const e=this.selectedValues[0];return e?this.parsedOptions.find((o=>o.value===e)):void 0}get displayText(){const e=this.selectedValues;if(0===e.length)return"";if(!this.multiple){const o=this.parsedOptions.find((o=>o.value===e[0]));return o?o.label:e[0]}return e.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return o?o.label:e})).join(", ")}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}optionId(e){return"co-select-option-"+e}resetActiveIndex(){const e=this.filteredOptions;if(0===e.length)return void(this.activeIndex=-1);const o=this.selectedValues,t=o.length?e.findIndex((e=>o.includes(e.value))):-1;this.activeIndex=t>=0?t:0,this.scrollActiveIntoView()}onOpenChange(e){e?(this.scrollTop=0,this.rowMetrics=function(e){const o=e("--co-select-option-height"),t=e("--co-select-menu-gap");return{rowHeight:null!=o&&o>0?o:p.rowHeight,gap:null!=t&&t>=0?t:p.gap}}(this.readCssLengthPx),this.resetActiveIndex(),this.searchable&&this.focusSearchWhenVisible()):(this.searchText="",this.activeIndex=-1,this.restoreTriggerFocus())}openPanel(){this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0}setActiveIndex(e){this.activeIndex=e,this.scrollActiveIntoView()}activateActiveOption(){const e=this.filteredOptions[this.activeIndex];e&&!e.disabled&&this.handleOptionClick(e.value)}scrollActiveIntoView(){const o=this.activeIndex;if(!(o>=0))return;const t=this.scrollTop||0,r=function(e,o,t,r){const s=e*b(t),a=s+t.rowHeight,i=v(r,t);return s<o?s:a>o+i?a-i:o}(o,t,this.metrics,e.VIEWPORT_ITEMS);r!==t&&(this.scrollTop=r),this.pendingActiveScroll=!0,this.activeScrollFrames=0}focusSearchWhenVisible(e=0){var o,t;this.isOpen&&this.searchable&&(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(t=this.el.shadowRoot)||void 0===t?void 0:t.activeElement)===this.searchInputEl||e>=20||requestAnimationFrame((()=>this.focusSearchWhenVisible(e+1))))}restoreTriggerFocus(){var e;const o=document.activeElement;(o===this.el||this.el.contains(o))&&(null===(e=this.triggerEl)||void 0===e||e.focus({preventScroll:!0}))}syncOverlayScrollbars(){const e=this.isOpen&&!!this.optionsContainerEl;e&&!this.osInstance?this.osInstance=i(this.optionsContainerEl,{scrollbars:{theme:"os-theme-co",autoHide:"leave",autoHideDelay:300}},{scroll:e=>{this.scrollTop=e.elements().viewport.scrollTop}}):!e&&this.osInstance&&(this.osInstance.destroy(),this.osInstance=void 0)}componentDidRender(){this.syncOverlayScrollbars(),this.flushActiveScroll()}componentWillLoad(){this.searchText=this.searchText||""}disconnectedCallback(){var e;null===(e=this.osInstance)||void 0===e||e.destroy(),this.osInstance=void 0,this.pendingActiveScroll=!1,this.activeScrollFrames=0}renderLabel(e){const o=this.searchable&&this.searchText?c(e,this.searchText):null;return o?o.map((e=>e.match?r("span",{class:"co-select__match"},e.text):e.text)):e}get metrics(){var e;return null!==(e=this.rowMetrics)&&void 0!==e?e:p}getVirtualSlice(o){return function(e,o,t,r,s){const a=b(t),i=Math.max(0,Math.floor(o/a)-s),l=Math.min(e,i+r+2*s);return{totalHeight:v(e,t),startIdx:i,endIdx:l,offsetY:i*a}}(o.length,this.scrollTop||0,this.metrics,e.VIEWPORT_ITEMS,e.OVERSCAN)}render(){var o,t;const s=this.selectedValues,i=this.filteredOptions,l=this.isOpen&&this.activeIndex>=0&&this.activeIndex<i.length?this.optionId(this.activeIndex):void 0;return r("div",{key:"d121ba9ec0b29e6e70702185d055f9f2590fcf60",class:{"co-select":!0,"co-select--open":this.isOpen,"co-select--disabled":this.disabled,["co-select--"+this.size]:!0,["co-select--"+this.status]:"default"!==this.status,"co-select--flat":"flat"===this.variant,"co-select--soft":"soft"===this.variant,"co-select--inline-help":"inline-help"===this.labelStyle}},(this.label||this.secondaryLabel)&&r("div",{key:"b5ba06d1b361ba3f0488b3835e2ae9fbc723ee3f",class:"co-select__labels"},this.label&&r("label",{key:"8131f52d757b71d694ddbb5fe2e83e0762237627",class:"co-select__label"},this.label,r(a,{key:"31de4113e6cc17e7be6ecf82cf4d9108878cad67",required:this.required})),this.secondaryLabel&&r("span",{key:"d499ef261e4c8b375e6058eae2b18fa9e755008b",class:"co-select__secondary-label"},this.secondaryLabel)),r("co-popover",{key:"2cb6fc46ec1ecab4e1ccdae6a44d9394201fb339",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,bare:"dark"===this.menuSurface,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},r("div",{key:"4e85e1c3256c40b93336fc282afaf5cb684f3af0",slot:"trigger",class:"co-select__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||this.ariaLabelText||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":l,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&r("co-icon",{key:"b70cb41a5da6e4b0fb5c70d88658d9a15b8ff730",name:this.iconLeft,size:null!==(o=this.iconSize)&&void 0!==o?o:16,class:"co-select__icon"}),(null===(t=this.selectedOption)||void 0===t?void 0:t.image)&&r("img",{key:"e594304493fc463f48c35a8a7526488664d7300e",class:"co-select__flag",src:this.selectedOption.image,alt:""}),this.multiple&&this.hasValue?r("div",{class:"co-select__chips"},this.selectedValues.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return r("span",{class:"co-select__chip",key:e},r("span",{class:"co-select__chip-label"},o?o.label:e),r("button",{class:"co-select__chip-remove",type:"button",tabIndex:-1,"aria-label":"Remove",onClick:o=>{o.stopPropagation(),this.handleOptionClick(e)}},r("co-icon",{name:"x",size:12})))}))):r("span",{class:{"co-select__text":!0,"co-select__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder),this.clearable&&this.hasValue&&!this.disabled&&r("button",{key:"73a50ae2aa6c1a9f449a5abb9851fdef231e7ffc",class:"co-select__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},r("co-icon",{key:"ade7609dc136ec20a0412fd7e460a95e50d516e4",name:"x-circle",size:16,weight:"fill"})),r("co-icon",{key:"7b5bba8fb8fca31613879ab8743f884b1bd71802",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-select__caret"})),r("div",{key:"2e6bd8187439a7920fe6ad151886da76f79426fc",class:{"co-select__dropdown":!0,"co-select__dropdown--dark":"dark"===this.menuSurface}},this.isOpen&&this.searchable&&r("div",{key:"75b3f339a256945a1c5153453033ab3ad0b5902e",class:"co-select__search"},r("co-icon",{key:"95f2a28646ffba6416fe7582a360b7c6b4ce58a9",name:"magnifying-glass",size:16,class:"co-select__search-icon"}),r("input",{key:"8e539a698da9d3ff68e3cce544cac9da4c285afa",class:"co-select__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.searchText,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":l,onInput:this.handleSearchInput,onKeyDown:this.handleNavKeyDown,ref:e=>this.searchInputEl=e})),this.isOpen&&this.searchable&&0===i.length&&r("div",{key:"b0ed2db9c7e397dae2f59cf3f11d9a2ccdf27ab8",class:"co-select__empty"},this.emptyText),r("div",{key:"ec2381d0de5d9a928510d0e15b7ca78b449844b1",class:"co-select__options",id:e.LISTBOX_ID,role:"listbox","aria-multiselectable":this.multiple?"true":void 0,ref:e=>this.optionsContainerEl=e},this.isOpen&&(()=>{const{totalHeight:e,startIdx:o,endIdx:t,offsetY:a}=this.getVirtualSlice(i);return r("div",{role:"presentation",class:"co-select__virtual-spacer",style:{height:e+"px",position:"relative"}},r("div",{role:"presentation",class:"co-select__virtual-window",style:{position:"absolute",top:a+"px",left:"0",right:"0"}},i.slice(o,t).map(((e,t)=>{const a=o+t,l=s.includes(e.value),c=!!e.disabled;return r("div",{id:this.optionId(a),role:"option","aria-selected":l?"true":"false","aria-disabled":c?"true":void 0,"aria-setsize":i.length,"aria-posinset":a+1,class:{"co-select__option":!0,"co-select__option--selected":l,"co-select__option--disabled":c,"co-select__option--active":a===this.activeIndex},onClick:()=>!c&&this.handleOptionClick(e.value),onPointerMove:e=>this.handleOptionPointerMove(e,a)},"dark"===this.menuSurface&&r("span",{class:"co-select__option-check-slot"},l&&r("co-icon",{name:"check",size:12,class:"co-select__option-check co-select__option-check--leading"})),e.image?r("img",{class:"co-select__option-flag",src:e.image,alt:"",loading:"lazy"}):e.icon?r("co-icon",{name:e.icon,size:20,class:"co-select__option-icon"}):null,r("span",{class:"co-select__option-label"},this.renderLabel(e.label)),l&&"dark"!==this.menuSurface&&r("co-icon",{name:"check",size:16,class:"co-select__option-check"}))}))))})()),this.isOpen&&this.showFooter&&r("co-list-footer",{key:"e46141c876fdd0e8f05a14318f969ed370c2e201",class:"co-select__footer",primaryLabel:this.footerPrimaryLabel,primaryIcon:"check",onCoPrimary:this.handleFooterPrimary}))),this.helperText&&r("div",{key:"13b7b84f7241bed5afdfd70c1867045ae4fcd820",class:"co-select__helper co-select__helper--"+this.status},this.statusIcon&&r("co-icon",{key:"0f4a854f367a34b7a314ba0a768d02a35b03df07",name:this.statusIcon,size:14,class:"co-select__helper-icon"}),r("span",{key:"965b58e53ac2bfd55c4d416e07062067c9f686b7",class:"co-select__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}]}}static get style(){return'.os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:"";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select--flat .co-select__trigger{background:transparent;border-color:transparent}.co-select--soft .co-select__trigger{background:var(--co-semantic-surface-control);border-color:transparent;color:var(--co-semantic-text-default)}.co-select--inline-help .co-select__trigger{border-color:var(--co-semantic-border-default);gap:var(--co-spacing-sm)}.co-select__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) 0}.co-select__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-sm2);background:var(--co-semantic-surface-control);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-14);line-height:1;max-width:200px}.co-select__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-select__chip-remove:hover{color:var(--co-semantic-text-default)}.co-select--s .co-select__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-select--sm .co-select__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-select--lg .co-select__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;box-shadow:none;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__flag,.co-select__option-flag{flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--co-semantic-border-subtle)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-select-menu-padding, var(--co-spacing-sm2))}.co-select__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-sm2);margin-bottom:var(--co-spacing-sm2);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);height:32px;box-sizing:border-box;color:var(--co-semantic-text-muted)}.co-select__search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--co-font-size-14, 14px);line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-select__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-select__match{font-weight:700;color:var(--co-semantic-text-default)}.co-select__empty{padding:var(--co-spacing-md);text-align:center;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14, 14px)}.co-select__options{max-height:calc(var(--co-select-option-height, 34px) * 8 + var(--co-select-menu-gap, 0px) * 7);overflow-y:auto}.co-select__virtual-window{display:flex;flex-direction:column;gap:var(--co-select-menu-gap, 0px)}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full);--os-handle-bg:var(--co-semantic-border-default);--os-handle-bg-hover:var(--co-semantic-border-field);--os-handle-bg-active:var(--co-semantic-border-strong);--os-handle-min-size:24px}.co-select__option{display:flex;align-items:center;gap:var(--co-select-option-gap, var(--co-spacing-sm2));padding:var(--co-select-option-padding, var(--co-spacing-sm2) var(--co-spacing-md));border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);height:var(--co-select-option-height, auto);min-height:var(--co-select-option-height, 32px);box-sizing:border-box}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--active{background:var(--co-semantic-surface-hover)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-select-option-font-size, var(--co-font-size-14));font-weight:var(--co-select-option-font-weight, 400);line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-text-success, var(--co-semantic-status-success))}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-semantic-text-warning, var(--co-color-status-review))}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-text-info, var(--co-semantic-status-info))}:host([layout=\'horizontal\']) .co-select{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout=\'horizontal\']) .co-select__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout=\'horizontal\']) .co-select__label{white-space:normal}:host([layout=\'horizontal\']) .co-select>:not(.co-select__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, 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-select--xs .co-select__trigger{min-height:24px;padding:0 var(--co-spacing-sm);font-size:var(--co-font-size-12);border-radius:var(--co-border-radius-xxs)}.co-select__caret{width:var(--co-select-caret-size, 16px) !important;height:var(--co-select-caret-size, 16px) !important;color:var(--co-select-caret-color, var(--co-semantic-text-muted))}.co-select--inline-help .co-select__labels{align-items:baseline}.co-select--inline-help .co-select__label{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14)}.co-select--inline-help .co-select__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12)}.co-select--inline-help .co-select__caret{color:var(--co-semantic-text-secondary);}.co-select__dropdown--dark{background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);border-radius:var(--co-border-radius-xs, 8px)}.co-select__dropdown--dark .co-select__option-label{color:var(--co-semantic-text-inverse)}.co-select__dropdown--dark .co-select__option--selected{background:transparent}.co-select__dropdown--dark .co-select__option--active{background:var(--co-color-opacity-blanco-16)}.co-select__option-check-slot{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:12px}.co-select__option-check--leading{color:inherit}'}},[1,"co-select",{label:[1],ariaLabelText:[1,"aria-label-text"],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],iconSize:[2,"icon-size"],clearable:[4],helperText:[1,"helper-text"],layout:[513],status:[1],options:[1],value:[1025],multiple:[4],size:[513],variant:[513],labelStyle:[513,"label-style"],menuSurface:[513,"menu-surface"],searchable:[516],searchPlaceholder:[1,"search-placeholder"],emptyText:[1,"empty-text"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],isOpen:[32],scrollTop:[32],searchText:[32],sortSnapshot:[32],activeIndex:[32]},void 0,{isOpen:[{onOpenChange:0}]}]);function f(){"undefined"!=typeof customElements&&["co-select","co-icon","co-list-footer","co-popover"].forEach((e=>{switch(e){case"co-select":customElements.get(s(e))||customElements.define(s(e),g);break;case"co-icon":customElements.get(s(e))||n();break;case"co-list-footer":customElements.get(s(e))||d();break;case"co-popover":customElements.get(s(e))||h()}}))}g.VIEWPORT_ITEMS=8,g.OVERSCAN=3,g.LISTBOX_ID="co-select-listbox",g.ACTIVE_SCROLL_MAX_FRAMES=48,f();const m=g,u=f;export{m as CoSelect,u as defineCustomElement}
|
|
1
|
+
import{p as e,H as o,c as t,h as r,t as s}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{O as i}from"./p-ox7HzCZn.js";import{r as l,h as c}from"./p-Ba_v-MzM.js";import{d as n}from"./p-qMNHMnvI.js";import{d}from"./p-CXi0fhTi.js";import{d as h}from"./p-xA7AfoIW.js";const p=Object.freeze({rowHeight:34,gap:0}),b=e=>e.rowHeight+e.gap;function v(e,o){return e>0?e*o.rowHeight+(e-1)*o.gap:0}const g=e(class e extends o{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.coChange=t(this,"coChange",7),this.coClear=t(this,"coClear",7),this.coFooterPrimary=t(this,"coFooterPrimary",7),this.required=!1,this.placeholder="Select…",this.disabled=!1,this.clearable=!1,this.layout="vertical",this.status="default",this.options="[]",this.value="",this.multiple=!1,this.size="md",this.variant="default",this.labelStyle="default",this.menuSurface="light",this.searchable=!1,this.searchPlaceholder="Search…",this.emptyText="No results",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.isOpen=!1,this.scrollTop=0,this.searchText="",this.sortSnapshot=new Set,this.activeIndex=-1,this.rowMetrics=p,this.pendingActiveScroll=!1,this.activeScrollFrames=0,this.lastParsedOptions=[],this.lastRankSearch="",this.lastRanked=[],this.readCssLengthPx=e=>{if("function"!=typeof getComputedStyle)return null;const o=getComputedStyle(this.el).getPropertyValue(e).trim();if(!o)return null;const t=/^(-?\d*\.?\d+)px$/.exec(o);if(t)return parseFloat(t[1]);const r=this.el.shadowRoot;if(!r)return null;const s=document.createElement("div");s.style.display="none",s.style.setProperty("height",`var(${e})`),r.appendChild(s);const a=getComputedStyle(s).height;return s.remove(),/px$/.test(a)?parseFloat(a):null},this.handleSearchInput=e=>{this.searchText=e.target.value,this.scrollTop=0,this.activeIndex=this.filteredOptions.length?0:-1},this.handleTriggerClick=e=>{this.disabled&&e.stopPropagation()},this.handleTriggerKeyDown=e=>{this.disabled||e.target===this.triggerEl&&(this.handleNavKeyDown(e)||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.isOpen?this.isOpen=!1:this.openPanel()):"ArrowDown"!==e.key||this.isOpen||(e.preventDefault(),this.openPanel())))},this.handleNavKeyDown=e=>{if(this.disabled||!this.isOpen)return!1;const o=this.filteredOptions.length,t=o-1,r=this.activeIndex>=0?this.activeIndex:-1;switch(e.key){case"ArrowDown":o&&this.setActiveIndex(r>=t?0:r+1);break;case"ArrowUp":o&&this.setActiveIndex(r<=0?t:r-1);break;case"Home":o&&this.setActiveIndex(0);break;case"End":o&&this.setActiveIndex(t);break;case" ":if(e.target===this.searchInputEl)return!1;this.activateActiveOption();break;case"Enter":this.activateActiveOption();break;default:return!1}return e.preventDefault(),!0},this.handleOptionPointerMove=(e,o)=>{"touch"!==e.pointerType&&this.activeIndex!==o&&(this.activeIndex=o)},this.flushActiveScroll=()=>{var o,t,r,s,a;if(!this.pendingActiveScroll)return;if(!this.isOpen)return void(this.pendingActiveScroll=!1);const i=this.scrollTop||0,l=null!==(t=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==t?t:this.optionsContainerEl;return l&&(l.scrollTop=i,Math.abs(l.scrollTop-i)<=1)?(this.pendingActiveScroll=!1,this.activeScrollFrames=0,void(null===(a=null===(s=null===(r=this.el.shadowRoot)||void 0===r?void 0:r.getElementById(this.optionId(this.activeIndex)))||void 0===s?void 0:s.scrollIntoView)||void 0===a||a.call(s,{block:"nearest"}))):++this.activeScrollFrames>e.ACTIVE_SCROLL_MAX_FRAMES?(this.pendingActiveScroll=!1,void(this.activeScrollFrames=0)):void requestAnimationFrame(this.flushActiveScroll)},this.handlePopoverOpen=()=>{this.isOpen||(this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0)},this.handlePopoverClose=()=>{this.isOpen=!1},this.handleClear=e=>{e.stopPropagation(),this.value=this.multiple?"[]":"",this.coClear.emit(),this.coChange.emit(this.multiple?[]:"")},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleOptionClick=e=>{if(this.multiple){const o=[...this.selectedValues],t=o.indexOf(e);t>=0?o.splice(t,1):o.push(e),this.value=JSON.stringify(o),this.coChange.emit(o)}else this.value=e,this.isOpen=!1,this.coChange.emit(e)}}get parsedOptions(){const e=this.options;if(e===this.lastOptionsRaw)return this.lastParsedOptions;let o=e;if("string"==typeof o)try{o=JSON.parse(o)}catch(e){o=[]}const t=Array.isArray(o)?o.map((e=>"string"==typeof e?{label:e,value:e}:e)):[];return this.lastOptionsRaw=e,this.lastParsedOptions=t,t}get filteredOptions(){const e=this.parsedOptions;let o;return this.searchable&&this.searchText.trim()?e===this.lastRankInput&&this.searchText===this.lastRankSearch?o=this.lastRanked:(o=l(e,this.searchText,(e=>e.label)),this.lastRankInput=e,this.lastRankSearch=this.searchText,this.lastRanked=o):o=e,this.multiple&&0!==this.sortSnapshot.size?[...o.filter((e=>this.sortSnapshot.has(e.value))),...o.filter((e=>!this.sortSnapshot.has(e.value)))]:o}get selectedValues(){if(this.multiple){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(e){return this.value?[this.value]:[]}return this.value}return"string"==typeof this.value&&this.value?[this.value]:[]}get hasValue(){return this.selectedValues.length>0}get selectedOption(){if(this.multiple)return;const e=this.selectedValues[0];return e?this.parsedOptions.find((o=>o.value===e)):void 0}get displayText(){const e=this.selectedValues;if(0===e.length)return"";if(!this.multiple){const o=this.parsedOptions.find((o=>o.value===e[0]));return o?o.label:e[0]}return e.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return o?o.label:e})).join(", ")}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}optionId(e){return"co-select-option-"+e}resetActiveIndex(){const e=this.filteredOptions;if(0===e.length)return void(this.activeIndex=-1);const o=this.selectedValues,t=o.length?e.findIndex((e=>o.includes(e.value))):-1;this.activeIndex=t>=0?t:0,this.scrollActiveIntoView()}onOpenChange(e){e?(this.scrollTop=0,this.rowMetrics=function(e){const o=e("--co-select-option-height"),t=e("--co-select-menu-gap");return{rowHeight:null!=o&&o>0?o:p.rowHeight,gap:null!=t&&t>=0?t:p.gap}}(this.readCssLengthPx),this.resetActiveIndex(),this.searchable&&this.focusSearchWhenVisible()):(this.searchText="",this.activeIndex=-1,this.restoreTriggerFocus())}openPanel(){this.sortSnapshot=new Set(this.selectedValues),this.isOpen=!0}setActiveIndex(e){this.activeIndex=e,this.scrollActiveIntoView()}activateActiveOption(){const e=this.filteredOptions[this.activeIndex];e&&!e.disabled&&this.handleOptionClick(e.value)}scrollActiveIntoView(){const o=this.activeIndex;if(!(o>=0))return;const t=this.scrollTop||0,r=function(e,o,t,r){const s=e*b(t),a=s+t.rowHeight,i=v(r,t);return s<o?s:a>o+i?a-i:o}(o,t,this.metrics,e.VIEWPORT_ITEMS);r!==t&&(this.scrollTop=r),this.pendingActiveScroll=!0,this.activeScrollFrames=0}focusSearchWhenVisible(e=0){var o,t;this.isOpen&&this.searchable&&(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(t=this.el.shadowRoot)||void 0===t?void 0:t.activeElement)===this.searchInputEl||e>=20||requestAnimationFrame((()=>this.focusSearchWhenVisible(e+1))))}restoreTriggerFocus(){var e;const o=document.activeElement;(o===this.el||this.el.contains(o))&&(null===(e=this.triggerEl)||void 0===e||e.focus({preventScroll:!0}))}syncOverlayScrollbars(){const e=this.isOpen&&!!this.optionsContainerEl;e&&!this.osInstance?this.osInstance=i(this.optionsContainerEl,{scrollbars:{theme:"os-theme-co",autoHide:"leave",autoHideDelay:300}},{scroll:e=>{this.scrollTop=e.elements().viewport.scrollTop}}):!e&&this.osInstance&&(this.osInstance.destroy(),this.osInstance=void 0)}componentDidRender(){this.syncOverlayScrollbars(),this.flushActiveScroll()}componentWillLoad(){this.searchText=this.searchText||""}disconnectedCallback(){var e;null===(e=this.osInstance)||void 0===e||e.destroy(),this.osInstance=void 0,this.pendingActiveScroll=!1,this.activeScrollFrames=0}renderLabel(e){const o=this.searchable&&this.searchText?c(e,this.searchText):null;return o?o.map((e=>e.match?r("span",{class:"co-select__match"},e.text):e.text)):e}get metrics(){var e;return null!==(e=this.rowMetrics)&&void 0!==e?e:p}getVirtualSlice(o){return function(e,o,t,r,s){const a=b(t),i=Math.max(0,Math.floor(o/a)-s),l=Math.min(e,i+r+2*s);return{totalHeight:v(e,t),startIdx:i,endIdx:l,offsetY:i*a}}(o.length,this.scrollTop||0,this.metrics,e.VIEWPORT_ITEMS,e.OVERSCAN)}render(){var o,t;const s=this.selectedValues,i=this.filteredOptions,l=this.isOpen&&this.activeIndex>=0&&this.activeIndex<i.length?this.optionId(this.activeIndex):void 0;return r("div",{key:"d121ba9ec0b29e6e70702185d055f9f2590fcf60",class:{"co-select":!0,"co-select--open":this.isOpen,"co-select--disabled":this.disabled,["co-select--"+this.size]:!0,["co-select--"+this.status]:"default"!==this.status,"co-select--flat":"flat"===this.variant,"co-select--soft":"soft"===this.variant,"co-select--inline-help":"inline-help"===this.labelStyle}},(this.label||this.secondaryLabel)&&r("div",{key:"b5ba06d1b361ba3f0488b3835e2ae9fbc723ee3f",class:"co-select__labels"},this.label&&r("label",{key:"8131f52d757b71d694ddbb5fe2e83e0762237627",class:"co-select__label"},this.label,r(a,{key:"31de4113e6cc17e7be6ecf82cf4d9108878cad67",required:this.required})),this.secondaryLabel&&r("span",{key:"d499ef261e4c8b375e6058eae2b18fa9e755008b",class:"co-select__secondary-label"},this.secondaryLabel)),r("co-popover",{key:"2cb6fc46ec1ecab4e1ccdae6a44d9394201fb339",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,bare:"dark"===this.menuSurface,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},r("div",{key:"4e85e1c3256c40b93336fc282afaf5cb684f3af0",slot:"trigger",class:"co-select__trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||this.ariaLabelText||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":l,tabIndex:this.disabled?-1:0,ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&r("co-icon",{key:"b70cb41a5da6e4b0fb5c70d88658d9a15b8ff730",name:this.iconLeft,size:null!==(o=this.iconSize)&&void 0!==o?o:16,class:"co-select__icon"}),(null===(t=this.selectedOption)||void 0===t?void 0:t.image)&&r("img",{key:"e594304493fc463f48c35a8a7526488664d7300e",class:"co-select__flag",src:this.selectedOption.image,alt:""}),this.multiple&&this.hasValue?r("div",{class:"co-select__chips"},this.selectedValues.map((e=>{const o=this.parsedOptions.find((o=>o.value===e));return r("span",{class:"co-select__chip",key:e},r("span",{class:"co-select__chip-label"},o?o.label:e),r("button",{class:"co-select__chip-remove",type:"button",tabIndex:-1,"aria-label":"Remove",onClick:o=>{o.stopPropagation(),this.handleOptionClick(e)}},r("co-icon",{name:"x",size:12})))}))):r("span",{class:{"co-select__text":!0,"co-select__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder),this.clearable&&this.hasValue&&!this.disabled&&r("button",{key:"73a50ae2aa6c1a9f449a5abb9851fdef231e7ffc",class:"co-select__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear"},r("co-icon",{key:"ade7609dc136ec20a0412fd7e460a95e50d516e4",name:"x-circle",size:16,weight:"fill"})),r("co-icon",{key:"7b5bba8fb8fca31613879ab8743f884b1bd71802",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-select__caret"})),r("div",{key:"2e6bd8187439a7920fe6ad151886da76f79426fc",class:{"co-select__dropdown":!0,"co-select__dropdown--dark":"dark"===this.menuSurface}},this.isOpen&&this.searchable&&r("div",{key:"75b3f339a256945a1c5153453033ab3ad0b5902e",class:"co-select__search"},r("co-icon",{key:"95f2a28646ffba6416fe7582a360b7c6b4ce58a9",name:"magnifying-glass",size:16,class:"co-select__search-icon"}),r("input",{key:"8e539a698da9d3ff68e3cce544cac9da4c285afa",class:"co-select__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.searchText,"aria-controls":e.LISTBOX_ID,"aria-activedescendant":l,onInput:this.handleSearchInput,onKeyDown:this.handleNavKeyDown,ref:e=>this.searchInputEl=e})),this.isOpen&&this.searchable&&0===i.length&&r("div",{key:"b0ed2db9c7e397dae2f59cf3f11d9a2ccdf27ab8",class:"co-select__empty"},this.emptyText),r("div",{key:"ec2381d0de5d9a928510d0e15b7ca78b449844b1",class:"co-select__options",id:e.LISTBOX_ID,role:"listbox","aria-multiselectable":this.multiple?"true":void 0,ref:e=>this.optionsContainerEl=e},this.isOpen&&(()=>{const{totalHeight:e,startIdx:o,endIdx:t,offsetY:a}=this.getVirtualSlice(i);return r("div",{role:"presentation",class:"co-select__virtual-spacer",style:{height:e+"px",position:"relative"}},r("div",{role:"presentation",class:"co-select__virtual-window",style:{position:"absolute",top:a+"px",left:"0",right:"0"}},i.slice(o,t).map(((e,t)=>{const a=o+t,l=s.includes(e.value),c=!!e.disabled;return r("div",{id:this.optionId(a),role:"option","aria-selected":l?"true":"false","aria-disabled":c?"true":void 0,"aria-setsize":i.length,"aria-posinset":a+1,class:{"co-select__option":!0,"co-select__option--selected":l,"co-select__option--disabled":c,"co-select__option--active":a===this.activeIndex},onClick:()=>!c&&this.handleOptionClick(e.value),onPointerMove:e=>this.handleOptionPointerMove(e,a)},"dark"===this.menuSurface&&r("span",{class:"co-select__option-check-slot"},l&&r("co-icon",{name:"check",size:12,class:"co-select__option-check co-select__option-check--leading"})),e.image?r("img",{class:"co-select__option-flag",src:e.image,alt:"",loading:"lazy"}):e.icon?r("co-icon",{name:e.icon,size:20,class:"co-select__option-icon"}):null,r("span",{class:"co-select__option-label"},this.renderLabel(e.label)),l&&"dark"!==this.menuSurface&&r("co-icon",{name:"check",size:16,class:"co-select__option-check"}))}))))})()),this.isOpen&&this.showFooter&&r("co-list-footer",{key:"e46141c876fdd0e8f05a14318f969ed370c2e201",class:"co-select__footer",primaryLabel:this.footerPrimaryLabel,primaryIcon:"check",onCoPrimary:this.handleFooterPrimary}))),this.helperText&&r("div",{key:"13b7b84f7241bed5afdfd70c1867045ae4fcd820",class:"co-select__helper co-select__helper--"+this.status},this.statusIcon&&r("co-icon",{key:"0f4a854f367a34b7a314ba0a768d02a35b03df07",name:this.statusIcon,size:14,class:"co-select__helper-icon"}),r("span",{key:"965b58e53ac2bfd55c4d416e07062067c9f686b7",class:"co-select__helper-text"},this.helperText)))}get el(){return this}static get watchers(){return{isOpen:[{onOpenChange:0}]}}static get style(){return'.os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:"";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select--flat .co-select__trigger{background:transparent;border-color:transparent}.co-select--soft .co-select__trigger{background:var(--co-semantic-surface-control);border-color:transparent;color:var(--co-semantic-text-default)}.co-select--inline-help .co-select__trigger{border-color:var(--co-semantic-border-default);gap:var(--co-spacing-sm)}.co-select__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) 0}.co-select__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-sm2);background:var(--co-semantic-surface-control);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-14);line-height:1;max-width:200px}.co-select__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-select__chip-remove:hover{color:var(--co-semantic-text-default)}.co-select--s .co-select__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-select--sm .co-select__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-select--lg .co-select__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;box-shadow:none;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__flag,.co-select__option-flag{flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--co-semantic-border-subtle)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-select-menu-padding, var(--co-spacing-sm2))}.co-select__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-sm2);margin-bottom:var(--co-spacing-sm2);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);height:32px;box-sizing:border-box;color:var(--co-semantic-text-muted)}.co-select__search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--co-font-size-14, 14px);line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-select__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-select__match{font-weight:700;color:var(--co-semantic-text-default)}.co-select__empty{padding:var(--co-spacing-md);text-align:center;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14, 14px)}.co-select__options{max-height:calc(var(--co-select-option-height, 34px) * 8 + var(--co-select-menu-gap, 0px) * 7);overflow-y:auto}.co-select__virtual-window{display:flex;flex-direction:column;gap:var(--co-select-menu-gap, 0px)}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full);--os-handle-bg:var(--co-semantic-border-default);--os-handle-bg-hover:var(--co-semantic-border-field);--os-handle-bg-active:var(--co-semantic-border-strong);--os-handle-min-size:24px}.co-select__option{display:flex;align-items:center;gap:var(--co-select-option-gap, var(--co-spacing-sm2));padding:var(--co-select-option-padding, var(--co-spacing-sm2) var(--co-spacing-md));border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);height:var(--co-select-option-height, auto);min-height:var(--co-select-option-height, 32px);box-sizing:border-box}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--active{background:var(--co-semantic-surface-hover)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-select-option-font-size, var(--co-font-size-14));font-weight:var(--co-select-option-font-weight, 400);line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-text-success, var(--co-semantic-status-success))}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-semantic-text-warning, var(--co-color-status-review))}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-text-info, var(--co-semantic-status-info))}:host([layout=\'horizontal\']) .co-select{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout=\'horizontal\']) .co-select__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout=\'horizontal\']) .co-select__label{white-space:normal}:host([layout=\'horizontal\']) .co-select>:not(.co-select__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, 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-select--xs .co-select__trigger{min-height:24px;padding:0 var(--co-spacing-sm);font-size:var(--co-font-size-12);border-radius:var(--co-border-radius-xxs)}.co-select__caret{width:var(--co-select-caret-size, 16px) !important;height:var(--co-select-caret-size, 16px) !important;color:var(--co-select-caret-color, var(--co-semantic-text-muted))}.co-select--inline-help .co-select__labels{align-items:baseline}.co-select--inline-help .co-select__label{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14)}.co-select--inline-help .co-select__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12)}.co-select--inline-help .co-select__caret{color:var(--co-semantic-text-secondary);}.co-select__dropdown--dark{background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);border-radius:var(--co-border-radius-xs, 8px)}.co-select__dropdown--dark .co-select__option-label{color:var(--co-semantic-text-inverse)}.co-select__dropdown--dark .co-select__option--selected{background:transparent}.co-select__dropdown--dark .co-select__option--active{background:var(--co-color-opacity-blanco-16)}.co-select__option-check-slot{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:12px}.co-select__option-check--leading{color:inherit}'}},[1,"co-select",{label:[1],ariaLabelText:[1,"aria-label-text"],required:[4],secondaryLabel:[1,"secondary-label"],placeholder:[1],disabled:[4],iconLeft:[1,"icon-left"],iconSize:[2,"icon-size"],clearable:[4],helperText:[1,"helper-text"],layout:[513],status:[1],options:[1],value:[1025],multiple:[4],size:[513],variant:[513],labelStyle:[513,"label-style"],menuSurface:[513,"menu-surface"],searchable:[516],searchPlaceholder:[1,"search-placeholder"],emptyText:[1,"empty-text"],showFooter:[4,"show-footer"],footerPrimaryLabel:[1,"footer-primary-label"],isOpen:[32],scrollTop:[32],searchText:[32],sortSnapshot:[32],activeIndex:[32]},void 0,{isOpen:[{onOpenChange:0}]}]);function f(){"undefined"!=typeof customElements&&["co-select","co-icon","co-list-footer","co-popover"].forEach((e=>{switch(e){case"co-select":customElements.get(s(e))||customElements.define(s(e),g);break;case"co-icon":customElements.get(s(e))||n();break;case"co-list-footer":customElements.get(s(e))||d();break;case"co-popover":customElements.get(s(e))||h()}}))}g.VIEWPORT_ITEMS=8,g.OVERSCAN=3,g.LISTBOX_ID="co-select-listbox",g.ACTIVE_SCROLL_MAX_FRAMES=48,f();const m=g,u=f;export{m as CoSelect,u as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e,p as a,H as o,c as t,h as i,a as s}from"./index.js";import{n as r}from"./p-Ba_v-MzM.js";import{d as n}from"./p-qMNHMnvI.js";import{d as c}from"./p-DldA2IL3.js";import{d as l}from"./p-B5F93Ujt.js";const d={Home:"house",Contacts:"address-book",Companies:"buildings",Presentations:"presentation-chart",Deals:"handshake",Invoices:"receipt",Payments:"credit-card",Conversations:"chat-circle",Channels:"broadcast",ChannelProviders:"plugs-connected",ConversationFlows:"flow-arrow",PhoneNumbers:"phone",Tasks:"check-square",TaskGroups:"squares-four",WorkOrders:"clipboard-text",Tickets:"ticket",CaseTypes:"tag",EmailHubs:"at",RoutingRules:"path",Contracts:"file-text",Notes:"note",Meetings:"video-camera",Calls:"phone-call",CloudDrive:"cloud",Quotes:"quotes",ContentTemplates:"article",MessageTemplates:"chat-text",Skills:"brain",AiAgentProfiles:"robot",Insights:"chart-line",Dashboards:"gauge",Reports:"chart-bar",Emails:"envelope",ContactLists:"users-three",EmailCampaigns:"megaphone",VirtualTours:"cube",Scenes:"image",Spots:"map-pin",FloorPlans:"blueprint",Users:"user",UserTeams:"users",UserGroups:"user-circle-gear",Roles:"shield",Workspaces:"stack",AuthenticationRules:"lock-key",OauthApps:"key",ServiceCredentials:"certificate",Calendars:"calendar",CalendarPolicies:"calendar-check",CalendarGroups:"calendar-dots",CalendarEvents:"calendar-plus",ProposalWizards:"magic-wand",WizardGroups:"folders",AdHubs:"storefront",AdCampaigns:"flag-banner",Pricebooks:"book-open",PricebookEntries:"list-numbers",Products:"package",Taxes:"percent",ProductGroups:"stack",ProductFamilies:"tree-structure",ProductCategories:"tag",ProductRules:"gear-six",DiscountSchedules:"piggy-bank",LiveStreams:"broadcast",EventSubscriptions:"bell-ringing",Stages:"steps",ContactFlows:"flow-arrow",Categories:"folder-simple",CustomFilters:"funnel",Logs:"list-bullets",Devices:"cpu",Scripts:"code",Webhooks:"webhooks-logo",Endpoints:"plug",Sites:"globe",HealthChecks:"heartbeat",Plugins:"puzzle-piece",Cobs:"cube",CustomFields:"textbox",CustomUis:"layout",Documentation:"book-open-text",Sections:"article",Articles:"newspaper",Directory:"address-book",Sales:"currency-dollar",Communications:"chat-teardrop-text",Operations:"gear",Support:"lifebuoy",Tools:"wrench",Configuration:"sliders",Analytics:"chart-pie",Mailing:"envelope-simple",Billing:"money",Libraries:"books",Scheduling:"timer",Pricing:"tag",Development:"terminal",AccessControl:"shield-check",Notifications:"bell",System:"database",Iot:"wifi-high",Advertising:"megaphone",Wizards:"magic-wand",TourStudio:"cube",Docs:"file-text",Setup:"gear-six",Learning:"graduation-cap",Programs:"path",Courses:"chalkboard-teacher",Enrollments:"student",Certificates:"certificate",Assessments:"exam",Recruitment:"user-plus",Vacancies:"briefcase",Candidates:"user-list",JobApplications:"read-cv-logo",Interviews:"chats-circle",AssetManagement:"package",Assets:"devices",AssetAssignments:"user-switch",Recognition:"hands-clapping",Achievements:"trophy",Rewards:"gift",Badges:"medal",BadgeNominations:"star",Prizes:"trophy",RewardsBudgets:"wallet",RedeemedPrizes:"crown",PaymentReceipts:"hand-coins",Coupons:"seal-percent",EventManager:"calendar-star",EventProspects:"users-four",BusinessEvents:"briefcase",EventExpense:"coins",Content:"folder-open",Portals:"app-window",CommunicationCenter:"headset",Integrations:"plugs-connected",Mcp:"plug",LifecycleHooks:"arrows-clockwise",PaymentProviders:"credit-card",Stripe:"credit-card",ThirdParty:"plugs-connected",Sendgrid:"paper-plane-tilt",Apollo:"rocket-launch",Kaspr:"identification-card",OpenAi:"robot",Ultramsg:"whatsapp-logo",Slack:"slack-logo",Telegram:"telegram-logo",Discord:"discord-logo"},v=a(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coNavigate=t(this,"coNavigate",7),this.coSearch=t(this,"coSearch",7),this.items="{}",this.activeKey="",this.mode="full",this.searchable=!1,this.searchPlaceholder="Search",this.search="",this.iconMap="{}",this.translations="{}",this.searchText="",this.expandedKeys=new Set,this.flyoutKey=null,this.flyoutPosition={top:0,bottom:null,left:0},this.parsedIconMap={},this.parsedTranslations={},this.flyoutTimeout=null,this.handleSearchInput=e=>{this.searchText=e.target.value,this.coSearch.emit(this.searchText)}}onIconMapChange(){this.parseIconMap()}onTranslationsChange(){this.parseTranslations()}onSearchChange(){this.searchText=this.search}onActiveKeyChange(){this.autoExpandForActiveKey()}onItemsChange(){this.autoExpandForActiveKey()}componentWillLoad(){this.parseIconMap(),this.parseTranslations(),this.autoExpandForActiveKey()}componentDidLoad(){}parseIconMap(){try{this.parsedIconMap=Object.assign(Object.assign({},d),JSON.parse(this.iconMap))}catch(e){this.parsedIconMap=Object.assign({},d)}}parseTranslations(){try{this.parsedTranslations=JSON.parse(this.translations)}catch(e){this.parsedTranslations={}}}get parsedItems(){try{const e=JSON.parse(this.items);return Array.isArray(e)?e:this.transformMenuData(e,0)}catch(e){return[]}}transformMenuData(e,a){return Object.keys(e).map((o=>{const t=e[o],i=t.modelName||"object"==typeof t&&!Object.keys(t).some((e=>"object"==typeof t[e]&&"modelName"!==e));return{key:o,label:o,url:t.url,target:t.target,modelName:i?t.modelName:void 0,customIcon:t.customIcon,children:i?void 0:this.transformMenuData(t,a+1),level:a}}))}get filteredItems(){return this.searchText?this.filterRecursive(this.parsedItems,r(this.searchText)):this.parsedItems}filterRecursive(e,a){const o=[];for(const t of e)if(r(this.getLabel(t.key)).includes(a))o.push(t);else if(t.children){const e=this.filterRecursive(t.children,a);e.length>0&&o.push(Object.assign(Object.assign({},t),{children:e}))}return o}autoExpandForActiveKey(){if(!this.activeKey)return;const e=new Set(this.expandedKeys);this.findAndExpandParents(this.parsedItems,this.activeKey,e),this.expandedKeys=e}findAndExpandParents(e,a,o){for(const t of e){if(t.key===a)return!0;if(t.children&&this.findAndExpandParents(t.children,a,o))return o.add(t.key),!0}return!1}getLabel(e){return this.parsedTranslations[e]?this.parsedTranslations[e]:e.replace(/([a-z])([A-Z])/g,"$1 $2")}getIcon(e){return this.parsedIconMap[e]||"circle"}isLeaf(e){return!e.children||0===e.children.length}hasActiveDescendant(e){return e.key===this.activeKey||!!e.children&&e.children.some((e=>this.hasActiveDescendant(e)))}toggleExpand(e){const a=new Set(this.expandedKeys);a.has(e)?a.delete(e):a.add(e),this.expandedKeys=a}handleLeafClick(e){this.flyoutKey=null,this.coNavigate.emit({key:e.key,modelName:e.modelName,url:e.url,target:e.target,customIcon:e.customIcon})}renderSearch(){return this.searchable&&"min"!==this.mode?i("div",{class:"co-sidebar-nav__search"},i("co-icon",{name:"magnifying-glass",size:16}),i("input",{type:"text",class:"co-sidebar-nav__search-input",placeholder:this.searchPlaceholder,value:this.searchText,onInput:this.handleSearchInput}),this.searchText&&i("button",{class:"co-sidebar-nav__search-clear",onClick:()=>{this.searchText="",this.coSearch.emit("")}},i("co-icon",{name:"x",size:14}))):null}renderIcon(e,a=16){if(e.customIcon)return i("img",{class:"co-sidebar-nav__custom-icon",src:e.customIcon,alt:""});const o=e.icon||this.getIcon(e.key);return i("co-icon",{name:o,size:a})}renderHighlightedLabel(e){const a=this.getLabel(e);if(!this.searchText)return a;const o=this.searchText.toLowerCase(),t=a.toLowerCase().indexOf(o);if(-1===t)return a;const s=a.slice(0,t),r=a.slice(t,t+o.length),n=a.slice(t+o.length);return[s,i("mark",{class:"co-sidebar-nav__highlight"},r),n]}renderLeafItem(e,a=!1){const o=e.key===this.activeKey,t=this.getLabel(e.key),s="full"===this.mode||a,r=i("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":o},onClick:()=>this.handleLeafClick(e),"aria-label":s?void 0:t},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e,s?16:18)),s&&i("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(e.key)));return"min"!==this.mode||a?r:i("co-tooltip",{content:t,placement:"right",offset:12},r)}openFlyout(e,a,o=0){if(clearTimeout(this.flyoutTimeout),a){const e=a.getBoundingClientRect(),t=e.right+8,i=window.innerHeight;this.flyoutPosition=e.top+(28+32*o+24)>i-16?{top:null,bottom:i-e.bottom,left:t}:{top:e.top,bottom:null,left:t}}this.flyoutKey=e}closeFlyout(){this.flyoutTimeout=setTimeout((()=>{this.flyoutKey=null}),150)}renderExpansion(e){const a=this.expandedKeys.has(e.key)||this.searchText.length>0,o=this.hasActiveDescendant(e);if("min"===this.mode){const a=this.flyoutKey===e.key;return i("div",{class:"co-sidebar-nav__flyout-anchor",onMouseEnter:a=>{var o;return this.openFlyout(e.key,a.currentTarget,(null===(o=e.children)||void 0===o?void 0:o.length)||0)},onMouseLeave:()=>this.closeFlyout()},i("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":o||a},title:this.getLabel(e.key),onClick:a=>{var o;a.stopPropagation();const t=a.currentTarget.closest(".co-sidebar-nav__flyout-anchor");this.flyoutKey===e.key?this.flyoutKey=null:this.openFlyout(e.key,t||void 0,(null===(o=e.children)||void 0===o?void 0:o.length)||0)}},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e,18))),a&&i("div",{class:"co-sidebar-nav__flyout",style:Object.assign(Object.assign(Object.assign({},null!==this.flyoutPosition.top?{top:this.flyoutPosition.top+"px"}:{}),null!==this.flyoutPosition.bottom?{bottom:this.flyoutPosition.bottom+"px"}:{}),{left:this.flyoutPosition.left+"px"}),onMouseEnter:()=>clearTimeout(this.flyoutTimeout),onMouseLeave:()=>this.closeFlyout()},i("span",{class:"co-sidebar-nav__flyout-title"},this.renderHighlightedLabel(e.key)),e.children.map((e=>this.renderLeafItem(e,!0)))))}return i("div",{class:{"co-sidebar-nav__expansion":!0,"co-sidebar-nav__expansion--expanded":a,"co-sidebar-nav__expansion--active":o}},i("button",{class:"co-sidebar-nav__expansion-header",onClick:()=>this.toggleExpand(e.key)},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e)),i("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(e.key)),i("co-icon",{name:"caret-right",size:14,class:"co-sidebar-nav__expansion-caret"})),i("div",{class:"co-sidebar-nav__expansion-body"},e.children.map((e=>this.renderItem(e)))))}renderCategory(e){return"min"===this.mode?i("div",{class:"co-sidebar-nav__category--min"},i("span",{class:"co-sidebar-nav__category-label co-sidebar-nav__category-spacer","aria-hidden":"true"}," "),e.children.map((e=>this.renderItem(e)))):i("div",{class:"co-sidebar-nav__category"},i("span",{class:"co-sidebar-nav__category-label"},this.renderHighlightedLabel(e.key)),i("div",{class:"co-sidebar-nav__category-items"},e.children.map((e=>this.renderItem(e)))))}renderItem(e){return this.isLeaf(e)?this.renderLeafItem(e):0!==e.level&&void 0!==e.level||e.modelName?this.renderExpansion(e):this.renderCategory(e)}render(){const e=this.filteredItems;return i(s,{key:"7e9637d98b9a2a698f6b82050b0f9cdadda66798",class:{"flyout-open":!!this.flyoutKey}},i("nav",{key:"c3ad14a4e294be4c2b803c93a4ddbf42daae5dd0",class:{"co-sidebar-nav":!0,"co-sidebar-nav--min":"min"===this.mode}},this.renderSearch(),i("div",{key:"2b2f5c39b6a529e1993695f4cda5ba5c5965c17e",class:"co-sidebar-nav__items"},e.map((e=>this.renderItem(e))))))}get el(){return this}static get watchers(){return{iconMap:[{onIconMapChange:0}],translations:[{onTranslationsChange:0}],search:[{onSearchChange:0}],activeKey:[{onActiveKeyChange:0}],items:[{onItemsChange:0}]}}static get style(){return'@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-spacer{visibility:hidden;white-space:nowrap;padding-left:0;padding-right:0}.co-sidebar-nav__category--min>:not(.co-sidebar-nav__category-spacer)+*{margin-top:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)));backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)))}.co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover)));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min co-tooltip{line-height:0}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:28px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-semantic-text-default);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-semantic-surface-control)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-semantic-text-default)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out);color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--co-motion-duration-slow) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out), padding var(--co-motion-duration-base) var(--co-motion-ease-out);padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}'}},[1,"co-sidebar-nav",{items:[1],activeKey:[513,"active-key"],mode:[513],searchable:[4],searchPlaceholder:[1,"search-placeholder"],search:[1],iconMap:[1,"icon-map"],translations:[1],searchText:[32],expandedKeys:[32],flyoutKey:[32],flyoutPosition:[32]},void 0,{iconMap:[{onIconMapChange:0}],translations:[{onTranslationsChange:0}],search:[{onSearchChange:0}],activeKey:[{onActiveKeyChange:0}],items:[{onItemsChange:0}]}]);function h(){"undefined"!=typeof customElements&&["co-sidebar-nav","co-icon","co-kbd","co-tooltip"].forEach((a=>{switch(a){case"co-sidebar-nav":customElements.get(e(a))||customElements.define(e(a),v);break;case"co-icon":customElements.get(e(a))||n();break;case"co-kbd":customElements.get(e(a))||c();break;case"co-tooltip":customElements.get(e(a))||l()}}))}h();const p=v,m=h;export{p as CoSidebarNav,m as defineCustomElement}
|
|
1
|
+
import{t as e,p as a,H as o,c as t,h as i,a as s}from"./index.js";import{n as r}from"./p-Ba_v-MzM.js";import{d as n}from"./p-qMNHMnvI.js";import{d as c}from"./p-DldA2IL3.js";import{d as l}from"./p-DRL-a5hO.js";const d={Home:"house",Contacts:"address-book",Companies:"buildings",Leads:"user-focus",Presentations:"presentation-chart",Deals:"handshake",TestDrive:"steering-wheel",Invoices:"receipt",Payments:"credit-card",Conversations:"chat-circle",Channels:"broadcast",ChannelProviders:"plugs-connected",ConversationFlows:"flow-arrow",PhoneNumbers:"phone",Tasks:"check-square",TaskGroups:"squares-four",WorkOrders:"clipboard-text",Tickets:"ticket",CaseTypes:"tag",EmailHubs:"at",RoutingRules:"path",Contracts:"file-text",Notes:"note",Meetings:"video-camera",Calls:"phone-call",CloudDrive:"cloud",Forms:"note-pencil",Quotes:"quotes",ContentTemplates:"article",MessageTemplates:"chat-text",Skills:"brain",AiAgentProfiles:"robot",Insights:"chart-line",Dashboards:"gauge",Reports:"chart-bar",Emails:"envelope",ContactLists:"users-three",EmailCampaigns:"megaphone",VirtualTours:"cube",Scenes:"image",Spots:"map-pin",FloorPlans:"blueprint",Users:"user",UserTeams:"users",Teams:"users",UserGroups:"user-circle-gear",Roles:"shield",Workspaces:"stack",AuthenticationRules:"lock-key",OauthApps:"key",ServiceCredentials:"certificate",Calendars:"calendar",CalendarPolicies:"calendar-check",CalendarGroups:"calendar-dots",CalendarEvents:"calendar-plus",ProposalWizards:"magic-wand",WizardGroups:"folders",ProposalWizardGroup:"folders",AdHubs:"storefront",AdCampaigns:"flag-banner",Pricebooks:"book-open",PricebookEntries:"list-numbers",Products:"package",Taxes:"percent",ProductGroups:"stack",ProductFamilies:"tree-structure",ProductCategories:"tag",ProductRules:"gear-six",DiscountSchedules:"piggy-bank",LiveStreams:"broadcast",EventSubscriptions:"bell-ringing",Stages:"steps",ContactFlows:"flow-arrow",Categories:"folder-simple",CustomFilters:"funnel",Logs:"list-bullets",ContactProtocols:"list-checks",Scorings:"chart-line-up",Devices:"cpu",Scripts:"code",Webhooks:"webhooks-logo",Endpoints:"plug",Sites:"globe",HealthChecks:"heartbeat",Plugins:"puzzle-piece",Cobs:"cube",CustomFields:"textbox",CustomUis:"layout",Documentation:"book-open-text",Sections:"article",Articles:"newspaper",Directory:"address-book",Sales:"currency-dollar",Communications:"chat-teardrop-text",Operations:"gear",Support:"lifebuoy",Tools:"wrench",Configuration:"sliders",Analytics:"chart-pie",Mailing:"envelope-simple",Billing:"money",Libraries:"books",Scheduling:"timer",Pricing:"tag",Development:"terminal",AccessControl:"shield-check",Notifications:"bell",System:"database",Iot:"wifi-high",Advertising:"megaphone",Wizards:"magic-wand",TourStudio:"cube",Docs:"file-text",Setup:"gear-six",SalesAndMarketing:"trend-up",CustomerService:"lifebuoy",HumanResources:"identification-badge",TicketsSetup:"ticket",CommunicationCenterSetup:"headset",Inventory:"warehouse",Branches:"building-office",ItemStock:"barcode",Learning:"graduation-cap",Programs:"path",Courses:"chalkboard-teacher",Enrollments:"student",Certificates:"certificate",Assessments:"exam",Recruitment:"user-plus",Vacancies:"briefcase",Candidates:"user-list",JobApplications:"read-cv-logo",Interviews:"chats-circle",AssetManagement:"package",Assets:"devices",AssetAssignments:"user-switch",Recognition:"hands-clapping",Achievements:"trophy",Rewards:"gift",Badges:"medal",BadgeNominations:"star",Prizes:"trophy",RewardsBudgets:"wallet",RedeemedPrizes:"crown",PaymentReceipts:"hand-coins",Coupons:"seal-percent",EventManager:"calendar-star",EventProspects:"users-four",BusinessEvents:"briefcase",EventExpense:"coins",Content:"folder-open",Portals:"app-window",CommunicationCenter:"headset",Integrations:"plugs-connected",Mcp:"plug",LifecycleHooks:"arrows-clockwise",PaymentProviders:"credit-card",Stripe:"credit-card",ThirdParty:"plugs-connected",Sendgrid:"paper-plane-tilt",Apollo:"rocket-launch",Kaspr:"identification-card",OpenAi:"robot",Ultramsg:"whatsapp-logo",Slack:"slack-logo",Telegram:"telegram-logo",Discord:"discord-logo"},v=a(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coNavigate=t(this,"coNavigate",7),this.coSearch=t(this,"coSearch",7),this.items="{}",this.activeKey="",this.mode="full",this.searchable=!1,this.searchPlaceholder="Search",this.search="",this.iconMap="{}",this.translations="{}",this.searchText="",this.expandedKeys=new Set,this.flyoutKey=null,this.flyoutPosition={top:0,bottom:null,left:0},this.parsedIconMap={},this.parsedTranslations={},this.flyoutTimeout=null,this.handleSearchInput=e=>{this.searchText=e.target.value,this.coSearch.emit(this.searchText)}}onIconMapChange(){this.parseIconMap()}onTranslationsChange(){this.parseTranslations()}onSearchChange(){this.searchText=this.search}onActiveKeyChange(){this.autoExpandForActiveKey()}onItemsChange(){this.autoExpandForActiveKey()}componentWillLoad(){this.parseIconMap(),this.parseTranslations(),this.autoExpandForActiveKey()}componentDidLoad(){}parseIconMap(){try{this.parsedIconMap=Object.assign(Object.assign({},d),JSON.parse(this.iconMap))}catch(e){this.parsedIconMap=Object.assign({},d)}}parseTranslations(){try{this.parsedTranslations=JSON.parse(this.translations)}catch(e){this.parsedTranslations={}}}get parsedItems(){try{const e=JSON.parse(this.items);return Array.isArray(e)?e:this.transformMenuData(e,0)}catch(e){return[]}}transformMenuData(e,a){return Object.keys(e).map((o=>{const t=e[o],i=t.modelName||"object"==typeof t&&!Object.keys(t).some((e=>"object"==typeof t[e]&&"modelName"!==e));return{key:o,label:o,url:t.url,target:t.target,modelName:i?t.modelName:void 0,customIcon:t.customIcon,children:i?void 0:this.transformMenuData(t,a+1),level:a}}))}get filteredItems(){return this.searchText?this.filterRecursive(this.parsedItems,r(this.searchText)):this.parsedItems}filterRecursive(e,a){const o=[];for(const t of e)if(r(this.getLabel(t.key)).includes(a))o.push(t);else if(t.children){const e=this.filterRecursive(t.children,a);e.length>0&&o.push(Object.assign(Object.assign({},t),{children:e}))}return o}autoExpandForActiveKey(){if(!this.activeKey)return;const e=new Set(this.expandedKeys);this.findAndExpandParents(this.parsedItems,this.activeKey,e),this.expandedKeys=e}findAndExpandParents(e,a,o){for(const t of e){if(t.key===a)return!0;if(t.children&&this.findAndExpandParents(t.children,a,o))return o.add(t.key),!0}return!1}getLabel(e){return this.parsedTranslations[e]?this.parsedTranslations[e]:e.replace(/([a-z])([A-Z])/g,"$1 $2")}getIcon(e){return this.parsedIconMap[e]||"circle"}isLeaf(e){return!e.children||0===e.children.length}hasActiveDescendant(e){return e.key===this.activeKey||!!e.children&&e.children.some((e=>this.hasActiveDescendant(e)))}toggleExpand(e){const a=new Set(this.expandedKeys);a.has(e)?a.delete(e):a.add(e),this.expandedKeys=a}handleLeafClick(e){this.flyoutKey=null,this.coNavigate.emit({key:e.key,modelName:e.modelName,url:e.url,target:e.target,customIcon:e.customIcon})}renderSearch(){return this.searchable&&"min"!==this.mode?i("div",{class:"co-sidebar-nav__search"},i("co-icon",{name:"magnifying-glass",size:16}),i("input",{type:"text",class:"co-sidebar-nav__search-input",placeholder:this.searchPlaceholder,value:this.searchText,onInput:this.handleSearchInput}),this.searchText&&i("button",{class:"co-sidebar-nav__search-clear",onClick:()=>{this.searchText="",this.coSearch.emit("")}},i("co-icon",{name:"x",size:14}))):null}renderIcon(e,a=16){if(e.customIcon)return i("img",{class:"co-sidebar-nav__custom-icon",src:e.customIcon,alt:""});const o=e.icon||this.getIcon(e.key);return i("co-icon",{name:o,size:a})}renderHighlightedLabel(e){const a=this.getLabel(e);if(!this.searchText)return a;const o=this.searchText.toLowerCase(),t=a.toLowerCase().indexOf(o);if(-1===t)return a;const s=a.slice(0,t),r=a.slice(t,t+o.length),n=a.slice(t+o.length);return[s,i("mark",{class:"co-sidebar-nav__highlight"},r),n]}renderLeafItem(e,a=!1){const o=e.key===this.activeKey,t=this.getLabel(e.key),s="full"===this.mode||a,r=i("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":o},onClick:()=>this.handleLeafClick(e),"aria-label":s?void 0:t},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e,s?16:18)),s&&i("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(e.key)));return"min"!==this.mode||a?r:i("co-tooltip",{content:t,placement:"right",offset:12},r)}openFlyout(e,a,o=0){if(clearTimeout(this.flyoutTimeout),a){const e=a.getBoundingClientRect(),t=e.right+8,i=window.innerHeight;this.flyoutPosition=e.top+(28+32*o+24)>i-16?{top:null,bottom:i-e.bottom,left:t}:{top:e.top,bottom:null,left:t}}this.flyoutKey=e}closeFlyout(){this.flyoutTimeout=setTimeout((()=>{this.flyoutKey=null}),150)}renderExpansion(e){const a=this.expandedKeys.has(e.key)||this.searchText.length>0,o=this.hasActiveDescendant(e);if("min"===this.mode){const a=this.flyoutKey===e.key;return i("div",{class:"co-sidebar-nav__flyout-anchor",onMouseEnter:a=>{var o;return this.openFlyout(e.key,a.currentTarget,(null===(o=e.children)||void 0===o?void 0:o.length)||0)},onMouseLeave:()=>this.closeFlyout()},i("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":o||a},title:this.getLabel(e.key),onClick:a=>{var o;a.stopPropagation();const t=a.currentTarget.closest(".co-sidebar-nav__flyout-anchor");this.flyoutKey===e.key?this.flyoutKey=null:this.openFlyout(e.key,t||void 0,(null===(o=e.children)||void 0===o?void 0:o.length)||0)}},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e,18))),a&&i("div",{class:"co-sidebar-nav__flyout",style:Object.assign(Object.assign(Object.assign({},null!==this.flyoutPosition.top?{top:this.flyoutPosition.top+"px"}:{}),null!==this.flyoutPosition.bottom?{bottom:this.flyoutPosition.bottom+"px"}:{}),{left:this.flyoutPosition.left+"px"}),onMouseEnter:()=>clearTimeout(this.flyoutTimeout),onMouseLeave:()=>this.closeFlyout()},i("span",{class:"co-sidebar-nav__flyout-title"},this.renderHighlightedLabel(e.key)),e.children.map((e=>this.renderLeafItem(e,!0)))))}return i("div",{class:{"co-sidebar-nav__expansion":!0,"co-sidebar-nav__expansion--expanded":a,"co-sidebar-nav__expansion--active":o}},i("button",{class:"co-sidebar-nav__expansion-header",onClick:()=>this.toggleExpand(e.key)},i("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(e)),i("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(e.key)),i("co-icon",{name:"caret-right",size:14,class:"co-sidebar-nav__expansion-caret"})),i("div",{class:"co-sidebar-nav__expansion-body"},e.children.map((e=>this.renderItem(e)))))}renderCategory(e){return"min"===this.mode?i("div",{class:"co-sidebar-nav__category--min"},i("span",{class:"co-sidebar-nav__category-label co-sidebar-nav__category-spacer","aria-hidden":"true"}," "),e.children.map((e=>this.renderItem(e)))):i("div",{class:"co-sidebar-nav__category"},i("span",{class:"co-sidebar-nav__category-label"},this.renderHighlightedLabel(e.key)),i("div",{class:"co-sidebar-nav__category-items"},e.children.map((e=>this.renderItem(e)))))}renderItem(e){return this.isLeaf(e)?this.renderLeafItem(e):0!==e.level&&void 0!==e.level||e.modelName?this.renderExpansion(e):this.renderCategory(e)}render(){const e=this.filteredItems;return i(s,{key:"a7c5661ad2613a6f2c45c37e6def2e4c8d7e9801",class:{"flyout-open":!!this.flyoutKey}},i("nav",{key:"597d59612958ab2014a7db0ad561abd1db15524f",class:{"co-sidebar-nav":!0,"co-sidebar-nav--min":"min"===this.mode}},this.renderSearch(),i("div",{key:"55a5bb260444a26e3e2228fb08c30c15746994a9",class:"co-sidebar-nav__items"},e.map((e=>this.renderItem(e))))))}get el(){return this}static get watchers(){return{iconMap:[{onIconMapChange:0}],translations:[{onTranslationsChange:0}],search:[{onSearchChange:0}],activeKey:[{onActiveKeyChange:0}],items:[{onItemsChange:0}]}}static get style(){return'@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-spacer{visibility:hidden;white-space:nowrap;padding-left:0;padding-right:0}.co-sidebar-nav__category--min>:not(.co-sidebar-nav__category-spacer)+*{margin-top:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)));backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)))}.co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover)));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min co-tooltip{line-height:0}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:28px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-semantic-text-default);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-semantic-surface-control)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-semantic-text-default)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out);color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--co-motion-duration-slow) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out), padding var(--co-motion-duration-base) var(--co-motion-ease-out);padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}'}},[1,"co-sidebar-nav",{items:[1],activeKey:[513,"active-key"],mode:[513],searchable:[4],searchPlaceholder:[1,"search-placeholder"],search:[1],iconMap:[1,"icon-map"],translations:[1],searchText:[32],expandedKeys:[32],flyoutKey:[32],flyoutPosition:[32]},void 0,{iconMap:[{onIconMapChange:0}],translations:[{onTranslationsChange:0}],search:[{onSearchChange:0}],activeKey:[{onActiveKeyChange:0}],items:[{onItemsChange:0}]}]);function h(){"undefined"!=typeof customElements&&["co-sidebar-nav","co-icon","co-kbd","co-tooltip"].forEach((a=>{switch(a){case"co-sidebar-nav":customElements.get(e(a))||customElements.define(e(a),v);break;case"co-icon":customElements.get(e(a))||n();break;case"co-kbd":customElements.get(e(a))||c();break;case"co-tooltip":customElements.get(e(a))||l()}}))}h();const p=v,m=h;export{p as CoSidebarNav,m as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p-
|
|
1
|
+
import{C as o,d as s}from"./p-DRL-a5hO.js";const a=o,p=s;export{a as CoTooltip,p as defineCustomElement}
|