@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.
Files changed (99) hide show
  1. package/custom-elements.json +31 -31
  2. package/dist/cjs/co-calendar_3.cjs.entry.js +2 -1
  3. package/dist/cjs/co-kbd_2.cjs.entry.js +5 -4
  4. package/dist/cjs/co-lightbox.cjs.entry.js +7 -6
  5. package/dist/cjs/co-overlay.cjs.entry.js +4 -3
  6. package/dist/cjs/co-popover.cjs.entry.js +5 -4
  7. package/dist/cjs/co-sidebar-nav.cjs.entry.js +29 -8
  8. package/dist/cjs/index-bHoidDwv.js +4 -4
  9. package/dist/cjs/popoverApi-D1ChCCdO.js +27 -0
  10. package/dist/cobalt/cobalt.esm.js +1 -1
  11. package/dist/cobalt/p-2832ab99.entry.js +1 -0
  12. package/dist/cobalt/p-299c2425.entry.js +1 -0
  13. package/dist/cobalt/p-438cc876.entry.js +1 -0
  14. package/dist/cobalt/p-Dp1JT0dm.js +1 -0
  15. package/dist/cobalt/p-b723aa47.entry.js +1 -0
  16. package/dist/cobalt/p-eab59be5.entry.js +1 -0
  17. package/dist/cobalt/p-f562bd96.entry.js +1 -0
  18. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  19. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  20. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  21. package/dist/collection/components/co-color-area/co-color-area.js +2 -2
  22. package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
  23. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  24. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  25. package/dist/collection/components/co-data-table/co-data-table.js +1 -1
  26. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  27. package/dist/collection/components/co-document-editor/co-document-editor.js +5 -5
  28. package/dist/collection/components/co-drawer/co-drawer.js +2 -1
  29. package/dist/collection/components/co-lightbox/co-lightbox.js +7 -6
  30. package/dist/collection/components/co-overlay/co-overlay.js +4 -3
  31. package/dist/collection/components/co-popover/co-popover.js +6 -5
  32. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  33. package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
  34. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  35. package/dist/collection/components/co-select/co-select.js +1 -1
  36. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +6 -190
  37. package/dist/collection/components/co-sidebar-nav/sidebar-icon-map.js +205 -0
  38. package/dist/collection/components/co-toast/co-toast.js +2 -2
  39. package/dist/collection/components/co-tooltip/co-tooltip.js +5 -4
  40. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  41. package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
  42. package/dist/collection/utils/popoverApi.js +23 -0
  43. package/dist/components/co-autocomplete.js +1 -1
  44. package/dist/components/co-avatar-group.js +1 -1
  45. package/dist/components/co-avatar.js +1 -1
  46. package/dist/components/co-color-picker.js +1 -1
  47. package/dist/components/co-combobox.js +1 -1
  48. package/dist/components/co-command-search.js +1 -1
  49. package/dist/components/co-data-table.js +1 -1
  50. package/dist/components/co-date-picker.js +1 -1
  51. package/dist/components/co-date-range-picker.js +1 -1
  52. package/dist/components/co-date-range.js +1 -1
  53. package/dist/components/co-date-time-picker.js +1 -1
  54. package/dist/components/co-document-editor.js +1 -1
  55. package/dist/components/co-drawer.js +1 -1
  56. package/dist/components/co-file-field.js +1 -1
  57. package/dist/components/co-lightbox.js +1 -1
  58. package/dist/components/co-list-item.js +1 -1
  59. package/dist/components/co-menu-item.js +1 -1
  60. package/dist/components/co-menu.js +1 -1
  61. package/dist/components/co-modal.js +1 -1
  62. package/dist/components/co-option-list.js +1 -1
  63. package/dist/components/co-overlay.js +1 -1
  64. package/dist/components/co-popover.js +1 -1
  65. package/dist/components/co-ref-field.js +1 -1
  66. package/dist/components/co-select.js +1 -1
  67. package/dist/components/co-sidebar-nav.js +1 -1
  68. package/dist/components/co-tooltip.js +1 -1
  69. package/dist/components/{p-_S5htX1i.js → p-BGNXvnDr.js} +1 -1
  70. package/dist/components/p-BMyWdiVO.js +1 -0
  71. package/dist/components/{p-CaFwCFgg.js → p-BRIf9NGv.js} +1 -1
  72. package/dist/components/p-Bd6H9_5D.js +1 -0
  73. package/dist/components/{p-upZqhFKo.js → p-BkyYV32T.js} +1 -1
  74. package/dist/components/p-DHIa14ep.js +1 -0
  75. package/dist/components/p-DRL-a5hO.js +1 -0
  76. package/dist/components/p-Dp1JT0dm.js +1 -0
  77. package/dist/components/p-xA7AfoIW.js +1 -0
  78. package/dist/esm/co-calendar_3.entry.js +2 -1
  79. package/dist/esm/co-kbd_2.entry.js +5 -4
  80. package/dist/esm/co-lightbox.entry.js +7 -6
  81. package/dist/esm/co-overlay.entry.js +4 -3
  82. package/dist/esm/co-popover.entry.js +5 -4
  83. package/dist/esm/co-sidebar-nav.entry.js +29 -8
  84. package/dist/esm/index-DJkaRtbb.js +4 -4
  85. package/dist/esm/popoverApi-Dp1JT0dm.js +25 -0
  86. package/dist/types/components/co-sidebar-nav/sidebar-icon-map.d.ts +6 -0
  87. package/dist/types/utils/popoverApi.d.ts +12 -0
  88. package/package.json +2 -2
  89. package/dist/cobalt/p-60ea3d33.entry.js +0 -1
  90. package/dist/cobalt/p-84256bde.entry.js +0 -1
  91. package/dist/cobalt/p-8c22bf4b.entry.js +0 -1
  92. package/dist/cobalt/p-99781b0b.entry.js +0 -1
  93. package/dist/cobalt/p-b2c49664.entry.js +0 -1
  94. package/dist/cobalt/p-cf675968.entry.js +0 -1
  95. package/dist/components/p-B5F93Ujt.js +0 -1
  96. package/dist/components/p-CMMv2RcH.js +0 -1
  97. package/dist/components/p-CX0bNXK3.js +0 -1
  98. package/dist/components/p-Co0eKIiO.js +0 -1
  99. package/dist/components/p-xtGT3YeI.js +0 -1
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as o,t as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-o5wUtH9g.js";import{d as n}from"./p-Co0eKIiO.js";import{d}from"./p-qMNHMnvI.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-CX0bNXK3.js";import{d as h}from"./p-xtGT3YeI.js";import{d as m}from"./p-CO12CK0t.js";import{z as u,b as f,a as _,w as v,t as g}from"./p-Ch837Ggl.js";import{f as k}from"./p-DJ468fPu.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler))}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,r]=e.split("-").map(Number);if(!i||!o||!r)return;const a=v({year:i,month:o,day:r,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=g(a);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",r=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!r},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,r;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(r=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==r?r:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(a,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"af86cbb11e2cdfb7c51332fcb7b862458fe5f7fa",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"91f3044a08ae34ed8ad50c26ae6319fefdac79d7",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error));box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-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)')}"}},[1,"co-date-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,r=y.get(o);if(void 0!==r)return r;let a=w.get(`${t}|${i?12:24}`);a||(a=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,a));const s=a.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(r(e))||customElements.define(r(e),x);break;case"co-calendar":customElements.get(r(e))||c();break;case"co-drawer":customElements.get(r(e))||n();break;case"co-icon":customElements.get(r(e))||d();break;case"co-loader":customElements.get(r(e))||l();break;case"co-overlay":customElements.get(r(e))||p();break;case"co-popover":customElements.get(r(e))||h();break;case"co-time-field":customElements.get(r(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}
1
+ import{p as e,H as t,c as i,h as o,t as a}from"./index.js";import{R as r}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-o5wUtH9g.js";import{d as n}from"./p-DHIa14ep.js";import{d}from"./p-qMNHMnvI.js";import{d as l}from"./p-BH184F0X.js";import{d as p}from"./p-Bd6H9_5D.js";import{d as h}from"./p-xA7AfoIW.js";import{d as m}from"./p-CO12CK0t.js";import{z as u,b as f,a as _,w as v,t as g}from"./p-Ch837Ggl.js";import{f as k}from"./p-DJ468fPu.js";const b=540,x=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coChange=i(this,"coChange",7),this.coClear=i(this,"coClear",7),this.coFocus=i(this,"coFocus",7),this.coBlur=i(this,"coBlur",7),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.value=null,this.stepMinutes=15,this.presetIds=["morning","noon","afternoon","endOfDay","now"],this.hour12=!0,this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.size="md",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.isMobile=!1,this.draftMinutes=b,this.pendingFocusGrid=!1,this.pendingFocusTrigger=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onTriggerKeyDown=e=>{"ArrowDown"===e.key&&(e.preventDefault(),this.disabled||this.readonly||(this.open||this.setOpen(!0),this.pendingFocusGrid=!0,this.calendarEl&&this.focusGridSoon()))},this.onClearClick=e=>{e.stopPropagation(),this.disabled||this.readonly||(this.value=null,this.coClear.emit(),this.coChange.emit(null))},this.onCalendarSelect=e=>{const t=e.detail;t&&this.commit(t,this.draftMinutes)},this.pickTime=e=>{var t,i;const o=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.dayKey)&&void 0!==i?i:u(Date.now(),this.zone);this.commit(o,e),this.draftMinutes=e,this.setOpen(!1),this.pendingFocusTrigger=!0},this.onTimeFieldInput=e=>{null!=e.detail&&(this.draftMinutes=e.detail)},this.onTimeFieldCommit=e=>{this.pickTime(e.detail)},this.onPopoverOpen=()=>{var e,t;this.disabled||this.readonly?null===(t=null===(e=this.popoverEl)||void 0===e?void 0:e.hide)||void 0===t||t.call(e):this.open||(this.open=!0,this.coOpen.emit())},this.closeApplyingDraft=()=>{this.open&&(this.parts&&this.draftMinutes!==this.parts.minutes&&this.commit(this.parts.dayKey,this.draftMinutes),this.setOpen(!1))},this.onPopoverClose=()=>{this.closeApplyingDraft()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.setOpen(!1),this.pendingFocusTrigger=!0)}}connectedCallback(){"function"==typeof window.matchMedia&&(this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler))}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}componentWillLoad(){var e,t;this.draftMinutes=null!==(t=null===(e=this.parts)||void 0===e?void 0:e.minutes)&&void 0!==t?t:b}onOpenChange(e){var t,i;e&&(this.draftMinutes=null!==(i=null===(t=this.parts)||void 0===t?void 0:t.minutes)&&void 0!==i?i:b)}get zone(){return this.timeZone||f()}get isInvalid(){return this.invalid}get parts(){const e=this.value;if(!e)return null;if(/^\d{4}-\d{2}-\d{2}$/.test(e))return{dayKey:e,minutes:b};try{return{dayKey:u(e,this.zone),minutes:_(e,this.zone)}}catch(e){return null}}dayBound(e){if(e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;try{return u(e,this.zone)}catch(e){return}}}setOpen(e){this.open!==e&&(this.open=e,e?this.coOpen.emit():this.coClose.emit())}commit(e,t){const[i,o,a]=e.split("-").map(Number);if(!i||!o||!a)return;const r=v({year:i,month:o,day:a,hour:Math.floor(t/60),minute:t%60,second:0},this.zone),s=g(r);this.value=s,this.coChange.emit(s)}get presets(){const t="string"==typeof this.presetIds?this.presetIds.split(",").map((e=>e.trim())).filter(Boolean):this.presetIds;return Array.from(new Set(null!=t?t:[])).filter((t=>t in e.PRESET_CATALOG)).map((t=>{const i=e.PRESET_CATALOG[t],o="now"===i.minutes?_(Date.now(),this.zone):i.minutes;return{id:t,icon:i.icon,minutes:o}}))}focusGridSoon(){requestAnimationFrame((()=>{var e,t;null===(t=null===(e=this.calendarEl)||void 0===e?void 0:e.focusGrid)||void 0===t||t.call(e)}))}componentDidRender(){var e;this.pendingFocusGrid&&this.open&&this.calendarEl&&(this.pendingFocusGrid=!1,this.focusGridSoon()),this.pendingFocusTrigger&&(this.pendingFocusTrigger=!1,null===(e=this.triggerBtn)||void 0===e||e.focus())}get step(){const e=Math.round(Number(this.stepMinutes));return Number.isFinite(e)&&e>0?Math.min(720,e):15}renderTrigger(e){const t=this.parts,i=t?`${k(t.dayKey,this.displayFormat,this.locale)}, ${z(t.minutes,this.locale,this.hour12)}`:"",a=this.clearable&&!!t&&!this.disabled&&!this.readonly;return o("div",{class:{"co-date-time-picker__field":!0,"co-date-time-picker__field--disabled":this.disabled,"co-date-time-picker__field--readonly":this.readonly,"co-date-time-picker__field--invalid":this.isInvalid,["co-date-time-picker__field--"+this.size]:!0},part:"field"},o("co-icon",{name:"calendar",size:16,class:"co-date-time-picker__icon"}),o("button",{ref:e=>this.triggerBtn=e,type:"button",class:"co-date-time-picker__display",disabled:this.disabled,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false","aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:e.dateLabel,onKeyDown:this.onTriggerKeyDown,onFocus:()=>this.coFocus.emit(),onBlur:()=>this.coBlur.emit(),part:"display"},i?o("span",{class:"co-date-time-picker__text"},i):o("span",{class:"co-date-time-picker__placeholder"},this.placeholder||e.setDateTime)),this.clearable&&o("button",{class:{"co-date-time-picker__clear":!0,"co-date-time-picker__clear--hidden":!a},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.onClearClick,"aria-label":e.clearDateTime,part:"clear"},o("co-icon",{name:"x-circle",size:16,weight:"fill"})))}renderPanel(e,t){var i,a;return o("div",{class:{"co-date-time-picker__panel":!0,"co-date-time-picker__panel--touch":t}},o("co-calendar",{ref:e=>this.calendarEl=e,class:"co-date-time-picker__calendar","data-touch":t?"":void 0,value:null!==(a=null===(i=this.parts)||void 0===i?void 0:i.dayKey)&&void 0!==a?a:null,min:this.dayBound(this.min),max:this.dayBound(this.max),disabledDates:this.disabledDates,disabledDaysOfWeek:this.disabledDaysOfWeek,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoSelect:this.onCalendarSelect}),o("div",{class:"co-date-time-picker__side"},o("div",{class:"co-date-time-picker__sect"},e.shortcuts),o("div",{class:"co-date-time-picker__presets"},this.presets.map((t=>o("button",{key:t.id,type:"button",class:"co-date-time-picker__preset",disabled:this.disabled||this.readonly,onClick:()=>{const e="now"===t.id?_(Date.now(),this.zone):t.minutes;this.pickTime(e)}},o("co-icon",{name:t.icon,size:16,class:"co-date-time-picker__preset-icon"}),o("span",{class:"co-date-time-picker__preset-label"},e[t.id]),o("span",{class:"co-date-time-picker__preset-hint"},z(t.minutes,this.locale,this.hour12)))))),o("div",{class:"co-date-time-picker__sect co-date-time-picker__sect--time"},e.timeExact),o("co-time-field",{"data-touch":t?"":void 0,value:this.draftMinutes,hour12:this.hour12,locale:this.locale,pageStep:this.step,disabled:this.disabled||this.readonly,onCoInput:this.onTimeFieldInput,onCoCommit:this.onTimeFieldCommit}),o("div",{class:"co-date-time-picker__footer"},o("button",{type:"button",class:"co-date-time-picker__btn co-date-time-picker__btn--primary",disabled:this.disabled||this.readonly,onClick:()=>this.pickTime(this.draftMinutes)},e.done))))}renderHelper(){const e=this.isInvalid?this.errorMessage:this.helperText;return e?o("div",{class:{"co-date-time-picker__helper":!0,"co-date-time-picker__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&o("co-icon",{name:"warning-circle",size:14}),o("span",null,e)):null}renderLabel(){return this.label?o("label",{class:"co-date-time-picker__label",part:"label"},this.label,o(r,{required:this.required})):null}render(){var e;const t=s(this.locale);return o("div",{key:"af86cbb11e2cdfb7c51332fcb7b862458fe5f7fa",class:"co-date-time-picker",onKeyDown:this.onRootKeyDown},this.renderLabel(),this.isMobile?[o("div",{class:"co-date-time-picker__trigger",onClick:()=>!this.disabled&&!this.readonly&&this.setOpen(!0)},this.renderTrigger(t)),o("co-drawer",{position:"bottom",open:this.open,heading:t.selectDateTime,onCoClose:this.closeApplyingDraft},o("div",{class:"co-date-time-picker__sheet"},this.renderPanel(t,!0)))]:o("co-popover",{ref:e=>this.popoverEl=e,open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},o("div",{slot:"trigger",class:"co-date-time-picker__trigger"},this.renderTrigger(t)),this.open&&this.renderPanel(t,!1)),this.name&&o("input",{key:"91f3044a08ae34ed8ad50c26ae6319fefdac79d7",type:"hidden",name:this.name,value:null!==(e=this.value)&&void 0!==e?e:""}),this.renderHelper())}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-time-picker__label{padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-time-picker co-popover{display:block;width:100%}.co-date-time-picker__trigger{display:block;width:100%}.co-date-time-picker__field{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:40px;box-sizing:border-box;overflow:hidden;min-width:0}.co-date-time-picker__field--s{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-time-picker__field--sm{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-time-picker__field--lg{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}:host([variant='flat']) .co-date-time-picker__field{background:transparent;border-color:transparent}.co-date-time-picker__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-time-picker__display{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;padding:0;margin:0;border:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);text-align:left;cursor:pointer;outline:none}.co-date-time-picker__text,.co-date-time-picker__placeholder{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__placeholder{color:var(--co-semantic-text-muted)}.co-date-time-picker__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__clear--hidden{visibility:hidden;pointer-events:none}.co-date-time-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-time-picker__field:focus-within{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-time-picker__field--disabled{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed;pointer-events:none}.co-date-time-picker__field--disabled .co-date-time-picker__display,.co-date-time-picker__field--disabled .co-date-time-picker__placeholder,.co-date-time-picker__field--disabled .co-date-time-picker__icon{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-time-picker__field--readonly .co-date-time-picker__display{cursor:default}.co-date-time-picker__field--invalid{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-date-time-picker__field--invalid:focus-within{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error));box-shadow:0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent)}.co-date-time-picker__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs);color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-time-picker__helper--error{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-date-time-picker__panel{display:flex;align-items:stretch;gap:var(--co-spacing-md);padding:var(--co-spacing-md)}.co-date-time-picker__calendar{flex:0 0 auto}.co-date-time-picker__side{width:12.5rem;display:flex;flex-direction:column;gap:var(--co-spacing-sm2);padding-left:var(--co-spacing-md);border-left:1px solid var(--co-semantic-border-default);box-sizing:border-box}.co-date-time-picker__sect{padding:var(--co-spacing-xxs) var(--co-spacing-sm2) 0;font-size:var(--co-font-size-11);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--co-semantic-text-muted)}.co-date-time-picker__sect--time{padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-time-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-date-time-picker__preset{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;font-family:inherit;font-size:var(--co-font-size-14);letter-spacing:inherit;color:var(--co-semantic-text-default);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-time-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-time-picker__preset:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-date-time-picker__preset-icon{color:var(--co-semantic-text-muted)}.co-date-time-picker__preset-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.co-date-time-picker__preset-hint{margin-left:auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted)}.co-date-time-picker__footer{margin-top:auto;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-subtle);display:flex;justify-content:flex-end}.co-date-time-picker__btn{border:0;border-radius:var(--co-border-radius-xs);height:28px;padding:0 var(--co-spacing-md);font-family:inherit;font-size:var(--co-font-size-13);font-weight:500;letter-spacing:inherit;cursor:pointer}.co-date-time-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-time-picker__btn--primary:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-date-time-picker__sheet{display:flex;justify-content:center;padding:var(--co-spacing-sm) 0 var(--co-spacing-lg)}.co-date-time-picker__panel--touch{flex-direction:column;align-items:center}.co-date-time-picker__panel--touch .co-date-time-picker__side{width:100%;max-width:20rem;padding-left:0;border-left:none;padding-top:var(--co-spacing-sm2);border-top:1px solid var(--co-semantic-border-default)}.co-date-time-picker__panel--touch .co-date-time-picker__sect{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__sect--time{display:none}.co-date-time-picker__panel--touch .co-date-time-picker__presets{flex-direction:row;gap:var(--co-spacing-sm);overflow-x:auto;scrollbar-width:none;padding-inline-end:var(--co-spacing-2xl);scroll-padding-inline-end:var(--co-spacing-2xl);-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent);mask-image:linear-gradient(90deg, #000 calc(100% - var(--co-spacing-2xl)), transparent)}.co-date-time-picker__panel--touch .co-date-time-picker__preset{flex:0 0 auto;min-height:44px;padding:0 var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-date-time-picker__panel--touch .co-date-time-picker__preset-hint{display:none;}.co-date-time-picker__panel--touch .co-date-time-picker__footer{margin-top:var(--co-spacing-sm2)}.co-date-time-picker__panel--touch .co-date-time-picker__btn--primary{width:100%;height:44px;font-size:var(--co-font-size-15, 15px);border-radius:var(--co-border-radius-sm)}:host([layout='horizontal']) .co-date-time-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-time-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0;white-space:normal}:host([layout='horizontal']) .co-date-time-picker>:not(.co-date-time-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-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)')}"}},[1,"co-date-time-picker",{value:[1025],timeZone:[1,"time-zone"],stepMinutes:[2,"step-minutes"],presetIds:[1,"preset-ids"],hour12:[4,"hour-1-2"],min:[1],max:[1],disabledDates:[1,"disabled-dates"],disabledDaysOfWeek:[1,"disabled-days-of-week"],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],label:[1],placeholder:[1],size:[513],variant:[513],name:[1],disabled:[4],readonly:[4],required:[4],clearable:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],layout:[513],placement:[1],open:[1540],mobileBreakpoint:[2,"mobile-breakpoint"],isMobile:[32],draftMinutes:[32]},void 0,{open:[{onOpenChange:0}]}]);x.PRESET_CATALOG={morning:{icon:"sun-horizon",minutes:540},noon:{icon:"sun",minutes:720},afternoon:{icon:"coffee",minutes:900},endOfDay:{icon:"moon",minutes:1080},now:{icon:"clock",minutes:"now"}};const y=new Map,w=new Map;function z(e,t,i){const o=`${t}|${i?12:24}|${e}`,a=y.get(o);if(void 0!==a)return a;let r=w.get(`${t}|${i?12:24}`);r||(r=new Intl.DateTimeFormat(t,Object.assign({hour:"numeric",minute:"2-digit"},i?{hour12:!0}:{hourCycle:"h23"})),w.set(`${t}|${i?12:24}`,r));const s=r.format(new Date(2e3,0,1,Math.floor(e/60),e%60));return y.size>2e3&&y.clear(),y.set(o,s),s}function C(){"undefined"!=typeof customElements&&["co-date-time-picker","co-calendar","co-drawer","co-icon","co-loader","co-overlay","co-popover","co-time-field"].forEach((e=>{switch(e){case"co-date-time-picker":customElements.get(a(e))||customElements.define(a(e),x);break;case"co-calendar":customElements.get(a(e))||c();break;case"co-drawer":customElements.get(a(e))||n();break;case"co-icon":customElements.get(a(e))||d();break;case"co-loader":customElements.get(a(e))||l();break;case"co-overlay":customElements.get(a(e))||p();break;case"co-popover":customElements.get(a(e))||h();break;case"co-time-field":customElements.get(a(e))||m()}}))}C();const D=x,j=C;export{D as CoDateTimePicker,j as defineCustomElement}
@@ -1 +1 @@
1
- import{t,p as e,H as o,c as i,f as s,h as r,a}from"./index.js";import{d as c,g as n}from"./p-DTWqwwXO.js";import{b as d,s as h}from"./p-BmdKHBZP.js";import{d as l}from"./p-qMNHMnvI.js";import{d as u}from"./p-B70R6xWE.js";import{d as g}from"./p-DldA2IL3.js";import{d as p}from"./p-R1W48hzW.js";import{d as m}from"./p-B5F93Ujt.js";import{B as b,F as v,E as f,w as x,r as _,Q as y,s as w,q as k,x as z,z as C,W as P,I as S,P as H,G as E}from"./p-CqQobidl.js";const M={top:38,right:38,bottom:38,left:38},$=new Set(["letter","a4","legal"]);function N(t){if("string"==typeof t){if($.has(t))return t;try{return N(JSON.parse(t))}catch(t){return"letter"}}if(t&&"object"==typeof t){const{width:e,height:o}=t;if(Number(e)>0&&Number(o)>0)return{width:Number(e),height:Number(o)}}return"letter"}const j=/@(import|charset|namespace)[^;]*;/gi;function I(t,e){return t?L(t.replace(/\/\*[\s\S]*?\*\//g,"").replace(j,""),e).trim():""}function O(t,e){let o=0,i=null;for(let s=e;s<t.length;s+=1){const e=t[s];if(i)e===i&&"\\"!==t[s-1]&&(i=null);else if('"'===e||"'"===e)i=e;else if("{"===e)o+=1;else if("}"===e&&(o-=1,0===o))return s}return-1}function B(t,e){const o=t.trim();if(!o)return"";const i=`:where(${e})`;if("*"===o)return`${i}, ${i} *, ${i} :is(pre, code)`;const s=o.replace(/^(?:(?:html|body|:root)(?=$|[\s>+~.#:[])\s*)+/i,"").trim();return s?`${i} ${s}`:i}function L(t,e){let o="",i=0;for(;i<t.length;){const s=t.indexOf("{",i);if(-1===s)break;const r=O(t,s);if(-1===r)break;const a=t.slice(i,s).trim(),c=t.slice(s+1,r);if(i=r+1,!a)continue;if(a.startsWith("@")){const t=a.slice(1).split(/[\s(]/)[0].toLowerCase();"media"===t||"supports"===t?o+=`${a}{${L(c,e)}}`:t.endsWith("keyframes")&&(o+=`${a}{${c}}`);continue}const n=a.split(",").map((t=>B(t,e))).filter(Boolean);n.length&&(o+=`${n.join(", ")}{${c}}`)}return o}function F(t){return Number.isFinite(t)?Math.round(1e3*Math.min(3,Math.max(.25,t)))/1e3:1}function G(t,e,o){return o>0?(t-e)/o:0}function R(t,e,o,i){return t+e*o-i}const q={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",break:"rows"},D={width:124,height:34};function T(t,e,o=D,i=4){const s=t.top+t.height+i,r=t.top-i-o.height;let a=s,c="below";e.height>0&&s+o.height>e.height&&(r>=0?(a=r,c="above"):(a=Math.max(0,Math.min(t.top+t.height-i-o.height,e.height-o.height)),c="inside"));let n=t.left;return e.width>0&&(n=Math.max(0,Math.min(n,e.width-o.width))),{top:a,left:n,placement:c}}function A(t,e){let o=0,i=t;for(;i&&i!==e;)o+=i.offsetLeft,i=i.offsetParent;return o}const J={width:255,height:34};let W=0;const U=e(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.coChange=i(this,"coChange",3),this.coFieldsChange=i(this,"coFieldsChange",3),this.coHeaderChange=i(this,"coHeaderChange",3),this.coPagesChange=i(this,"coPagesChange",3),this.coAction=i(this,"coAction",3),this.coReady=i(this,"coReady",3),this.value=null,this.headerHtml="",this.showPageNumber=!1,this.pageSize="letter",this.headerHeight=45,this.pageStyles="",this.readonly=!1,this.locale="en",this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.signatureBar=null,this.currentHeaderHtml="",this.currentShowPageNumber=!1,this.headerDoc=null,this.instanceId=++W+"",this.applyingExternal=!1,this.lastAppliedValue=null,this.userDirty=!1,this.lastFieldsKey="",this.pendingImageSrcs=new Set,this.changeThrottle=function(t,e){let o=null;return{run(){o||(o=setTimeout((()=>{o=null,e()}),250))},flush(){o&&(clearTimeout(o),o=null,e())},cancel(){o&&clearTimeout(o),o=null},get pending(){return null!==o}}}(0,(()=>this.emitPendingChange())),this.updateImageBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"image"!==o.type.name)return void(this.imageBar&&(this.imageBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.imageBar&&(this.imageBar=null));const r=E(i,s),a=T({top:r.top,height:r.height,left:A(i,s)},{width:s.offsetWidth,height:s.offsetHeight}),c=b({wrapperStyle:o.attrs.wrapperStyle,containerStyle:o.attrs.containerStyle}),n=this.imageBar;n&&n.mode===c&&n.top===a.top&&n.left===a.left||(this.imageBar={mode:c,top:a.top,left:a.left})},this.updateSignatureBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"signatureSlot"!==o.type.name)return void(this.signatureBar&&(this.signatureBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.signatureBar&&(this.signatureBar=null));const r=[];t.state.doc.descendants(((t,o)=>{"signatureSlot"===t.type.name&&o!==e.from&&r.push(t.attrs.slot)}));const{min:a,max:c}=function(t){let e=0;for(const o of t)o>e&&(e=o);return{min:1,max:e+1}}(r),n=E(i,s),d=T({top:n.top,height:n.height,left:A(i,s)},{width:s.offsetWidth,height:s.offsetHeight},J),h=o.attrs.slot,l=this.signatureBar;l&&l.slot===h&&l.min===a&&l.max===c&&l.top===d.top&&l.left===d.left||(this.signatureBar={slot:h,min:a,max:c,top:d.top,left:d.left})},this.onBodyImageLoad=t=>{const e=t.target,o=this.editor;if(!o||!e||"IMG"!==e.tagName)return;const i=e.getAttribute("src")||"";if(!this.pendingImageSrcs.has(i))return;let s=-1;o.state.doc.descendants(((t,e)=>!(s>=0||("image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(s=e),0))));const r=s>=0?o.state.doc.nodeAt(s):null;if(!r)return;const a=this.marginsPx,c=function(t,e){const o=t>0?t:0,i=e>0?e:0,s=o&&i?Math.min(o,i):o||i;return s?Math.max(1,Math.round(s)):null}(e.naturalWidth,this.pageSizePx.width-a.left-a.right);if(!c)return;let n=!1;o.state.doc.descendants(((t,e)=>(e===s||"image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(n=!0),!n))),n||this.pendingImageSrcs.delete(i);const d=o.state.selection.node&&o.state.selection.from===s;o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:c}))),d&&o.commands.setNodeSelection(s)},this.onEditorBlur=()=>{this.changeThrottle.flush()},this.onHostKeydown=t=>{"Escape"===t.key&&this.changeThrottle.flush()},this.onTransaction=({transaction:t})=>{t.docChanged&&(this.applyingExternal||!!t.getMeta(v)||(this.userDirty=!0,this.trackInsertedImages(t)),this.changeThrottle.run())},this.handleToolbarAction=t=>{t.stopPropagation();const{action:e,payload:o}=t.detail||{};o&&!0===o.extra?this.coAction.emit({action:e,payload:{extra:!0}}):"documentHeader"===e&&this.startHeaderEdit()},this.startHeaderEdit=()=>{this.readonly||this.headerEditing||!this.editor||(this.draftShowPageNumber=this.currentShowPageNumber,this.headerEditing=!0,this.refreshPagination())},this.onHeaderTransaction=({transaction:t})=>{t.docChanged&&this.changeThrottle.run()},this.onHeaderImageLoad=t=>{const e=t.target,o=this.headerEditor;if(!o||!e||"IMG"!==e.tagName)return;const i=f({w:e.naturalWidth,h:e.naturalHeight});if(!i)return;let s=-1;try{const t=o.view.posAtDOM(e,0),i=o.state.doc.nodeAt(t);i&&"image"===i.type.name&&(s=t)}catch(t){}if(s<0){const t=e.getAttribute("src");o.state.doc.descendants(((e,o)=>!(s>=0||("image"!==e.type.name||e.attrs.width||e.attrs.src!==t||(s=o),0))))}const r=s>=0?o.state.doc.nodeAt(s):null;r&&!r.attrs.width&&o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:i})))},this.onDocumentPointer=t=>{const e=t.composedPath();this.headerBandEl&&e.includes(this.headerBandEl)||this.toolbarEl&&e.includes(this.toolbarEl)||this.commitHeader()},this.onHeaderKeydown=t=>{var e;if("Escape"!==t.key||t.isComposing)return;const o=this.toolbarEl;o&&t.currentTarget===o&&(null===(e=o.shadowRoot)||void 0===e?void 0:e.querySelector('[aria-expanded="true"]'))||(t.preventDefault(),t.stopPropagation(),this.cancelHeader(!0))},this.commitHeader=(t=!1)=>{var e;const o=this.headerEditor;if(!o)return;const i=t&&this.focusIsInBandOrLost(),s=o.isEmpty?"":x(o.state.doc,"print-header",this.resolvedFeatures),r=this.draftShowPageNumber;this.teardownHeaderEditor(),this.currentHeaderHtml=s,this.currentShowPageNumber=r,this.headerDoc=s?_(s,"print-header",this.resolvedFeatures):null,this.headerEditing=!1,this.refreshPagination(),this.coHeaderChange.emit({html:s,showPageNumber:r}),this.emitFieldsIfChanged(),i&&(null===(e=this.editor)||void 0===e||e.commands.focus())},this.cancelHeader=(t=!1)=>{var e;this.headerEditing&&(this.teardownHeaderEditor(),this.headerEditing=!1,this.refreshPagination(),this.emitFieldsIfChanged(),t&&(null===(e=this.editor)||void 0===e||e.commands.focus()))},this.renderedScale=1,this.onCanvasWheel=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),this.zoomTo(function(t,e){return Number.isFinite(e)?F(t*Math.exp(.01*-e)):t}(this.scale,1===t.deltaMode?16*t.deltaY:t.deltaY),t.clientX,t.clientY))},this.gestureBase=1,this.onGestureStart=t=>{t.preventDefault(),this.gestureBase=this.scale},this.onGestureChange=t=>{var e,o,i,s;t.preventDefault();const r=null===(e=this.canvasEl)||void 0===e?void 0:e.getBoundingClientRect(),a=null!==(o=t.clientX)&&void 0!==o?o:r?r.left+r.width/2:0,c=null!==(i=t.clientY)&&void 0!==i?i:r?r.top+r.height/2:0;this.zoomTo(F(this.gestureBase*(null!==(s=t.scale)&&void 0!==s?s:1)),a,c)}}get s(){return n(this.locale)}get resolvedFeatures(){var t;return null!==(t=d(this.features))&&void 0!==t?t:{}}get parsedExtraItems(){const t=d(this.extraItems);return Array.isArray(t)?t:[]}get pageSizePx(){return y(N(this.pageSize))}get marginsPx(){return function(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){return Object.assign({},M)}if(!e||"object"!=typeof e)return Object.assign({},M);const o=e,i=t=>Number.isFinite(Number(o[t]))&&void 0!==o[t]?Number(o[t]):M[t];return{top:i("top"),right:i("right"),bottom:i("bottom"),left:i("left")}}(this.margins)}get hasHeader(){return!!this.currentHeaderHtml||this.headerEditing}get sanitizedHeaderHtml(){return w(this.currentHeaderHtml,"print-header")}get pageScope(){return`.co-doc-editor__sheet[data-co-doc="${this.instanceId}"]`}get activeEditor(){var t;return null!==(t=this.headerEditor)&&void 0!==t?t:this.editor}get documentHeaderEnabled(){return!this.readonly&&!this.headerEditing}buildCustomExtensions(){return[k.configure({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0},footer:{height:0},renderHeader:(t,e)=>this.buildHeaderClone(t,e),onPagesChange:t=>{this.pageCount=t,this.coPagesChange.emit(t)}})]}collectAllFields(){if(!this.editor)return[];const t=z(this.editor.state.doc),e=this.headerEditor?this.headerEditor.state.doc:this.headerDoc;return e&&z(e,t),t}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeydown,!0)}componentWillLoad(){this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.signatureBar=null}componentDidLoad(){var t,e,o;this.contentEl&&(this.syncHeaderFromProps(),this.editor=C({preset:"print",element:this.contentEl,content:this.value?this.parseBody(this.value):null,editable:!this.readonly,features:this.resolvedFeatures,labels:{signature:t=>`${this.s.signature} ${t}`,fieldName:this.s.fieldNamePlaceholder},customExtensions:this.buildCustomExtensions(),imageUpload:this.imageUpload}),this.lastAppliedValue=this.value,this.wireEditor(this.editor),this.applyPageStyles(),"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updateScale())),this.canvasEl&&this.resizeObserver.observe(this.canvasEl),this.stageEl&&this.resizeObserver.observe(this.stageEl)),null===(t=this.canvasEl)||void 0===t||t.addEventListener("wheel",this.onCanvasWheel,{passive:!1}),null===(e=this.canvasEl)||void 0===e||e.addEventListener("gesturestart",this.onGestureStart),null===(o=this.canvasEl)||void 0===o||o.addEventListener("gesturechange",this.onGestureChange),this.updateScale(),this.syncToolbar(),this.ready=!0,this.emitFieldsIfChanged(),this.coReady.emit())}componentDidRender(){this.applyPendingAnchor(),this.headerEditing&&!this.headerEditor&&this.headerMountEl&&this.mountHeaderEditor(),this.syncToolbar()}disconnectedCallback(){var t,e,o,i;this.el.removeEventListener("keydown",this.onHostKeydown,!0),this.changeThrottle.cancel(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0,null===(e=this.canvasEl)||void 0===e||e.removeEventListener("wheel",this.onCanvasWheel),null===(o=this.canvasEl)||void 0===o||o.removeEventListener("gesturestart",this.onGestureStart),null===(i=this.canvasEl)||void 0===i||i.removeEventListener("gesturechange",this.onGestureChange),this.toolbarEl&&(this.toolbarEl.editor=void 0),this.teardownHeaderEditor(!1),this.headerEditing=!1,this.editor&&(this.editor.off("transaction",this.onTransaction),this.editor.off("blur",this.onEditorBlur),this.editor.off("transaction",this.updateImageBar),this.editor.off("transaction",this.updateSignatureBar),this.editor.view.dom.removeEventListener("load",this.onBodyImageLoad,!0),this.editor.destroy()),this.editor=void 0,this.pendingImageSrcs.clear(),this.imageBar=null,this.signatureBar=null}onValueChange(t){t!==this.lastAppliedValue&&(this.editor&&t&&t===x(this.editor.state.doc,"print",this.resolvedFeatures)?this.lastAppliedValue=t:this.applyBody(t))}onReadonlyChange(){var t;null===(t=this.editor)||void 0===t||t.setEditable(!this.readonly),this.readonly&&this.headerEditing&&this.cancelHeader(),this.updateImageBar(),this.updateSignatureBar()}onPageGeometryChange(){this.refreshPagination(),this.updateScale()}onHeaderPropsChange(){this.headerEditing||(this.syncHeaderFromProps(),this.refreshPagination(),this.emitFieldsIfChanged())}onPageStylesChange(){this.applyPageStyles()}onLabelChange(){this.editor&&this.editor.view.dom.setAttribute("aria-label",this.label||this.s.documentEditor)}onLocaleChange(){this.currentShowPageNumber&&this.refreshPagination()}async getPrintHtml(){return this.editor?x(this.editor.state.doc,"print",this.resolvedFeatures):""}async getHeaderHtml(){return this.currentHeaderHtml}async getJSON(){return this.editor?this.editor.getJSON():null}async flushChange(){this.changeThrottle.flush()}async isEmpty(){return!this.editor||this.editor.isEmpty}async setContent(t){this.applyBody(t)}async setFieldValues(t){var e,o;if(null===(e=this.editor)||void 0===e||e.commands.setFieldValues(t),null===(o=this.headerEditor)||void 0===o||o.commands.setFieldValues(t),!this.currentHeaderHtml)return;const i=P(this.currentHeaderHtml,t,"print-header",this.resolvedFeatures);i!==this.currentHeaderHtml&&(this.currentHeaderHtml=i,this.headerDoc=_(i,"print-header",this.resolvedFeatures),this.headerEditing||(this.refreshPagination(),s(this)))}async insertField(t,e){var o;null===(o=this.editor)||void 0===o||o.chain().focus().insertField(t,e).run()}async insertSignatureSlot(){var t;null===(t=this.editor)||void 0===t||t.chain().focus().insertSignatureSlot().run()}async focusEditor(){var t;null===(t=this.editor)||void 0===t||t.commands.focus()}async getEditorInstance(){var t;return null!==(t=this.editor)&&void 0!==t?t:null}wireEditor(t){const e=t.view.dom;e.classList.add("tiptap"),e.setAttribute("aria-label",this.label||this.s.documentEditor),e.setAttribute("aria-multiline","true"),t.on("transaction",this.onTransaction),t.on("transaction",this.updateImageBar),t.on("transaction",this.updateSignatureBar),t.on("blur",this.onEditorBlur),e.addEventListener("load",this.onBodyImageLoad,!0)}imageModeLabel(t){const e=this.s;return{inline:e.imageLayoutInline,"wrap-left":e.imageLayoutWrapLeft,"wrap-right":e.imageLayoutWrapRight,break:e.imageLayoutBreak}[t]}setImageMode(t){var e;null===(e=this.editor)||void 0===e||e.commands.setImageLayoutMode(t),this.updateImageBar()}duplicateSignature(){var t;null===(t=this.editor)||void 0===t||t.commands.duplicateSignatureSlot(),this.updateSignatureBar()}stepSigner(t){var e;const o=this.signatureBar;if(!o)return;const i=o.slot+t;i<o.min||i>o.max||(null===(e=this.editor)||void 0===e||e.commands.setSignatureSlot(i),this.updateSignatureBar())}trackInsertedImages(t){var e,o,i;if(t.getMeta("history$"))return;const s=[];for(const r of t.steps)null===(i=null===(o=null===(e=r.slice)||void 0===e?void 0:e.content)||void 0===o?void 0:o.descendants)||void 0===i||i.call(o,(t=>{"image"===t.type.name&&!t.attrs.width&&t.attrs.src&&s.push(t.attrs.src)}));if(!s.length)return;const r=new Set;t.before.descendants((t=>{"image"!==t.type.name||t.attrs.width||r.add(t.attrs.src)})),s.forEach((t=>{r.has(t)||this.pendingImageSrcs.add(t)}))}parseBody(t){const e=t.trim();if(e.startsWith("{"))try{return JSON.parse(e)}catch(t){}return _(t,"print",this.resolvedFeatures)}applyBody(t){if(this.editor){this.pendingImageSrcs.clear(),this.applyingExternal=!0;try{t?this.editor.commands.setContent(this.parseBody(t),{emitUpdate:!1}):this.editor.commands.clearContent(!1)}finally{this.applyingExternal=!1,this.lastAppliedValue=t}}}emitPendingChange(){this.editor&&(this.emitFieldsIfChanged(),this.userDirty&&(this.userDirty=!1,this.coChange.emit()))}emitFieldsIfChanged(){const t=this.collectAllFields(),e=JSON.stringify(t);e!==this.lastFieldsKey&&(this.lastFieldsKey=e,this.coFieldsChange.emit(t))}syncToolbar(){h(this.toolbarEl,this.activeEditor,this.imageUpload)}syncHeaderFromProps(){this.currentHeaderHtml=this.headerHtml||"",this.currentShowPageNumber=function(t){return!0===t||"true"===t}(this.showPageNumber),this.headerDoc=this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null}mountHeaderEditor(){var t,e;const o=C({preset:"print-header",element:this.headerMountEl,content:this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null,editable:!0,features:{fields:this.resolvedFeatures.fields},labels:{fieldName:this.s.fieldNamePlaceholder},imageUpload:this.imageUpload});this.headerEditor=o;const i=o.view.dom;i.classList.add("tiptap"),i.setAttribute("aria-label",this.s.documentHeader),o.on("transaction",this.onHeaderTransaction),i.addEventListener("load",this.onHeaderImageLoad,!0),document.addEventListener("mousedown",this.onDocumentPointer,!0),null===(t=this.headerBandEl)||void 0===t||t.addEventListener("keydown",this.onHeaderKeydown,!0),null===(e=this.toolbarEl)||void 0===e||e.addEventListener("keydown",this.onHeaderKeydown,!0),o.commands.focus("end"),this.syncToolbar()}teardownHeaderEditor(t=!0){var e,o;document.removeEventListener("mousedown",this.onDocumentPointer,!0),null===(e=this.headerBandEl)||void 0===e||e.removeEventListener("keydown",this.onHeaderKeydown,!0),null===(o=this.toolbarEl)||void 0===o||o.removeEventListener("keydown",this.onHeaderKeydown,!0);const i=this.headerEditor;this.headerEditor=void 0,t?this.syncToolbar():this.toolbarEl&&i&&this.toolbarEl.editor===i&&(this.toolbarEl.editor=void 0),i&&(i.off("transaction",this.onHeaderTransaction),i.view.dom.removeEventListener("load",this.onHeaderImageLoad,!0),i.destroy())}focusIsInBandOrLost(){const t=document.activeElement;return!t||t===document.body||!(!this.headerBandEl||!this.headerBandEl.contains(t))}refreshPagination(){var t;null===(t=this.editor)||void 0===t||t.commands.setPaginationOptions({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0}})}applyPageStyles(){this.styleEl&&(this.styleEl.textContent=I(this.pageStyles,this.pageScope))}buildHeaderClone(t,e){if(!this.currentHeaderHtml)return null;const o=document.createElement("div");o.className="co-doc-editor__header-static",o.style.height=this.headerHeight+"px";const i=document.createElement("div");if(i.className="co-doc-editor__header-html",i.innerHTML=this.sanitizedHeaderHtml,o.appendChild(i),this.currentShowPageNumber){const i=document.createElement("span");i.className="co-doc-editor__page-number",i.textContent=`${this.s.page} ${t} / ${e}`,o.appendChild(i)}return o}updateScale(){var t,e,o,i;if("custom"!==this.zoomMode){const o="actual"===this.zoomMode?1:function(t,e){return t>0&&e>0?Math.round(1e3*Math.min(1,Math.max(.25,t/e)))/1e3:1}((null!==(e=null===(t=this.canvasEl)||void 0===t?void 0:t.clientWidth)&&void 0!==e?e:0)-32,this.pageSizePx.width);o!==this.scale&&(this.scale=o)}const s=null!==(i=null===(o=this.stageEl)||void 0===o?void 0:o.offsetHeight)&&void 0!==i?i:0;s!==this.stageHeight&&(this.stageHeight=s)}zoomTo(t,e,o){if(this.canvasEl&&this.stageEl&&t!==this.scale){if(this.pendingAnchor)this.pendingAnchor.cx=e,this.pendingAnchor.cy=o;else{const t=this.stageEl.getBoundingClientRect();this.pendingAnchor={px:G(e,t.left,this.renderedScale),py:G(o,t.top,this.renderedScale),cx:e,cy:o}}this.zoomMode="custom",this.scale=t}}applyPendingAnchor(){const t=this.pendingAnchor,e=this.canvasEl;if(this.renderedScale=this.scale,!t||!e||!this.stageEl)return;this.pendingAnchor=void 0;const o=this.stageEl.getBoundingClientRect();e.scrollLeft+=R(o.left,t.px,this.scale,t.cx),e.scrollTop+=R(o.top,t.py,this.scale,t.cy)}setZoom(t){this.zoomMode=t,this.updateScale()}renderHeaderBand(){const t=this.s;return r("div",{key:"header-band",class:{"co-doc-editor__header-band":!0,"co-doc-editor__header-band--editing":this.headerEditing},part:"header-band",hidden:!this.hasHeader,ref:t=>this.headerBandEl=t,onDblClick:()=>this.startHeaderEdit()},this.headerEditing?r("div",{key:"header-editing",class:"co-doc-editor__header-editing"},r("div",{class:"co-doc-editor__header-editor",ref:t=>this.headerMountEl=t}),r("div",{class:"co-doc-editor__header-tools"},r("co-switch",{checked:this.draftShowPageNumber,label:t.pageNumber,disabled:!1,required:!1,status:"default",onCoChange:t=>{t.stopPropagation(),this.draftShowPageNumber=!!t.detail}}),r("co-tooltip",{content:t.confirmHeader},r("co-icon-button",{icon:"check",variant:"ghost",size:"xs",boxSize:28,iconSize:16,label:t.confirmHeader,onClick:()=>this.commitHeader(!0)})))):r("div",{key:"header-static",class:"co-doc-editor__header-static"},r("div",{class:"co-doc-editor__header-html",innerHTML:this.sanitizedHeaderHtml}),this.currentShowPageNumber&&r("span",{class:"co-doc-editor__page-number"},`${t.page} 1 / ${this.pageCount}`)))}renderOverlays(){return this.readonly||this.headerEditing?null:[this.renderImageBar(),this.renderSignatureBar()]}renderSignatureBar(){const t=this.signatureBar;if(!t)return null;const e=this.s,o=(t,e,o,i,s)=>r("co-tooltip",{key:t,content:e},r("button",{type:"button",class:"co-doc-editor__sig-step","data-dir":t,"aria-label":e,disabled:s,onClick:()=>this.stepSigner(i)},r("co-icon",{name:o,size:16,"aria-hidden":"true"})));return r("div",{key:"signature-bar",class:"co-doc-editor__sig-bar",role:"toolbar","aria-label":e.signatureToolsLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},r("button",{key:"duplicate",type:"button",class:"co-doc-editor__sig-duplicate",onClick:()=>this.duplicateSignature()},r("co-icon",{name:"copy",size:16,"aria-hidden":"true"}),r("span",{class:"co-doc-editor__sig-duplicate-text"},e.signatureDuplicate)),r("span",{key:"sep",class:"co-doc-editor__sig-sep","aria-hidden":"true"}),o("prev",e.signaturePrevSigner,"caret-left",-1,t.slot<=t.min),r("span",{key:"label",class:"co-doc-editor__sig-label","aria-live":"polite"},`${e.signature} ${t.slot}`),o("next",e.signatureNextSigner,"caret-right",1,t.slot>=t.max))}renderImageBar(){const t=this.imageBar;return t?r("div",{key:"image-bar",class:"co-doc-editor__image-bar",role:"toolbar","aria-label":this.s.imageLayoutLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},S.map((e=>{const o=this.imageModeLabel(e),i=t.mode===e;return r("co-tooltip",{key:e,content:o},r("button",{type:"button",class:{"co-doc-editor__image-mode":!0,"co-doc-editor__image-mode--active":i},"data-mode":e,"aria-label":o,"aria-pressed":i+"",onClick:()=>this.setImageMode(e)},r("co-icon",{name:q[e],size:16,"aria-hidden":"true"})))}))):null}render(){const t=this.s,e=this.pageSizePx,o=this.marginsPx,i={"--co-doc-page-w":e.width+"px","--co-doc-page-h":e.height+"px","--co-doc-margin-top":o.top+"px","--co-doc-margin-right":o.right+"px","--co-doc-margin-bottom":o.bottom+"px","--co-doc-margin-left":o.left+"px","--co-doc-header-h":(this.hasHeader?this.headerHeight:0)+"px","--co-doc-pages":this.pageCount+"","--co-doc-gap":H+"px"},s={width:e.width*this.scale+"px",height:this.stageHeight?this.stageHeight*this.scale+"px":"auto"},c=(t,e)=>r("button",{key:"3364440e585cbfdfdc33580aa28001f7563f6fa6",type:"button",class:{"co-doc-editor__zoom-btn":!0,"co-doc-editor__zoom-btn--active":this.zoomMode===t},"aria-pressed":(this.zoomMode===t)+"",onClick:()=>this.setZoom(t)},e);return r(a,{key:"2cc578822013cc07eeeebd0949cbbd2bb09acbc1"},r("div",{key:"5aebe4e657d01b03c5fdf719b87c1c4a08f121a6",class:{"co-doc-editor":!0,"co-doc-editor--readonly":this.readonly,"co-doc-editor--loading":!this.ready},part:"wrapper"},r("div",{key:"93f7d60fffd9e9e902ac25d9fa8a971e96b39ec5",class:"co-doc-editor__bar",part:"bar"},!this.readonly&&r("co-rich-text-toolbar",{key:"df82ee73a50e8283244afb38532803a13b4d6db9",class:"co-doc-editor__toolbar",part:"toolbar",variant:"document",position:"top",disabled:!1,locale:this.locale,attachmentsEnabled:!1,documentHeaderEnabled:this.documentHeaderEnabled,extraItems:this.parsedExtraItems,onCoAction:this.handleToolbarAction,ref:t=>this.toolbarEl=t}),r("div",{key:"a49cc3a01fc203b3bcf3e158ce186fefd607577e",class:"co-doc-editor__zoom",role:"group","aria-label":t.zoom},"custom"===this.zoomMode&&r("span",{key:"47f0c8d5c6bd3c0e51d75ad70103644def66b333",class:"co-doc-editor__zoom-level"},Math.round(100*this.scale)+" %"),c("fit",t.zoomFit),c("actual",t.zoomActual))),r("div",{key:"d28e02e78c8171b0366f7b3ec74e60cfd9f3d21b",class:"co-doc-editor__body"},r("div",{key:"450bbf0712838a9213a08288148f5365a1d6766b",class:"co-doc-editor__canvas",part:"canvas",ref:t=>this.canvasEl=t},r("div",{key:"3585da3d1f7b0311cb036246f20340b2eb34e45d",class:"co-doc-editor__zoom-frame",style:s},r("div",{key:"ce70286c7205f29115d4e9049c3d43775657abfb",class:"co-doc-editor__stage",style:{transform:`scale(${this.scale})`},ref:t=>this.stageEl=t},r("div",{key:"81c7e68d4d8593b21be0f14045965b1e7230657e",class:"co-doc-editor__sheet",part:"sheet","data-co-doc":this.instanceId,style:i},r("style",{key:"page-styles","data-co-doc-page-styles":"",ref:t=>this.styleEl=t}),r("div",{key:"paper",class:"co-doc-editor__paper","data-theme":"light"},this.renderHeaderBand(),r("div",{key:"content",class:"co-doc-editor__content",ref:t=>this.contentEl=t}),this.renderOverlays()))))),r("slot",{key:"3808aa0d8bae35da687e9757ca39ffced996a795",name:"aside"}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}}static get style(){return"co-document-editor{display:block;height:100%;min-height:0}.co-doc-editor{--co-doc-canvas:var(--co-semantic-surface-muted);--co-doc-sheet-shadow:0 1px 3px var(--co-color-opacity-negro-16), 0 0 0 1px var(--co-color-opacity-negro-8);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--co-doc-canvas);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary)}.co-doc-editor__bar{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-width:0;padding-inline:var(--co-spacing-md);background:var(--co-semantic-surface-page);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__toolbar{flex:1 1 auto;min-width:0}.co-doc-editor__body{flex:1 1 auto;display:flex;min-height:0}.co-doc-editor__body>[slot='aside']{flex:0 0 var(--co-doc-aside-width, 320px);width:var(--co-doc-aside-width, 320px);min-width:0;min-height:0;box-sizing:border-box;border-left:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__canvas{flex:1 1 auto;min-width:0;overflow:auto;box-sizing:border-box;padding:var(--co-spacing-2xl) var(--co-spacing-lg)}.co-doc-editor__content .ProseMirror{position:relative;outline:none}.co-doc-editor--loading .co-doc-editor__content{visibility:hidden}.co-doc-field{--co-doc-field-bg:var(--co-color-primary-amarillo);background:var(--co-doc-field-bg);box-shadow:0 0 0 2px var(--co-doc-field-bg);border-radius:var(--co-border-radius-xxs);color:var(--co-color-base-negro);cursor:pointer}.co-doc-field--empty{--co-doc-field-bg:color-mix(in srgb, var(--co-color-primary-amarillo) 55%, var(--co-color-base-blanco))}.co-doc-field--required.co-doc-field--empty{box-shadow:0 0 0 2px var(--co-doc-field-bg), inset 0 -2px 0 var(--co-color-status-error)}.co-doc-field__input{width:14ch;border:0;outline:1px solid var(--co-semantic-border-focus);background:var(--co-color-base-blanco);font:inherit}.co-doc-signature{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;box-sizing:border-box;outline:1px dashed var(--co-color-primary-azul);outline-offset:-1px;background:color-mix(in srgb, var(--co-color-primary-azul) 6%, transparent);color:var(--co-semantic-text-link, var(--co-color-primary-azul));font-size:var(--co-font-size-12);user-select:none;cursor:grab}.co-doc-signature:active{cursor:grabbing}.co-doc-signature.ProseMirror-selectednode{outline-style:solid;background:color-mix(in srgb, var(--co-color-primary-azul) 14%, transparent)}.co-doc-hb{background:color-mix(in srgb, var(--co-color-primary-azul) 12%, transparent);border-radius:var(--co-border-radius-xxs)}.co-doc-editor__zoom{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--co-spacing-xxs);margin-inline-start:auto}.co-doc-editor__zoom-level{min-width:5ch;padding-inline:var(--co-spacing-xs);font-size:var(--co-font-size-13);font-variant-numeric:tabular-nums;text-align:end;color:var(--co-semantic-text-secondary)}.co-doc-editor__zoom-btn{padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;color:var(--co-semantic-text-secondary);font:inherit;font-size:var(--co-font-size-13);white-space:nowrap;cursor:pointer}.co-doc-editor__zoom-btn:hover{background:var(--co-semantic-surface-hover)}.co-doc-editor__zoom-btn--active{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-doc-editor__zoom-btn:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__zoom-frame{margin-inline:auto}.co-doc-editor__stage{width:var(--co-doc-page-w);transform-origin:top left}.co-doc-editor__sheet{--co-semantic-surface-page:var(--co-color-base-blanco);--co-semantic-surface-hover:var(--co-color-opacity-negro-8);--co-semantic-text-default:var(--co-color-base-negro);--co-semantic-text-secondary:var(--co-color-gray-600);--co-semantic-text-muted:var(--co-color-gray-500);--co-semantic-border-default:var(--co-color-opacity-negro-16);--co-semantic-border-subtle:var(--co-color-opacity-negro-8);--co-semantic-border-field:var(--co-color-opacity-negro-25);--co-semantic-border-focus:var(--co-color-opacity-negro-50);--co-semantic-border-focus-ring:var(--co-color-opacity-negro-8);--co-semantic-text-link:var(--co-color-primary-azul);position:relative;width:var(--co-doc-page-w);min-height:calc(var(--co-doc-pages, 1) * var(--co-doc-page-h) + (var(--co-doc-pages, 1) - 1) * var(--co-doc-gap));box-sizing:border-box;padding-top:calc(var(--co-doc-margin-top) + var(--co-doc-header-h, 0px));padding-right:var(--co-doc-margin-right);padding-bottom:var(--co-doc-margin-bottom);padding-left:var(--co-doc-margin-left);overflow:clip;background:var(--co-color-base-blanco);color:var(--co-color-base-negro);color-scheme:light;box-shadow:var(--co-doc-sheet-shadow)}.co-doc-editor__paper{display:contents;color:var(--co-semantic-text-default)}.co-doc-editor .co-doc-editor__sheet .co-doc-editor__content .ProseMirror.tiptap{padding:0 !important;min-height:1em}.co-doc-editor__header-band{position:absolute;top:var(--co-doc-margin-top);left:var(--co-doc-margin-left);right:var(--co-doc-margin-right);height:var(--co-doc-header-h);box-sizing:border-box}.co-doc-editor__header-band[hidden]{display:none}.co-doc-editor__header-band:hover{outline:1px dashed var(--co-color-opacity-negro-25)}.co-doc-editor__header-static{display:flex;align-items:center;justify-content:space-between;height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5;user-select:none}.co-doc-editor__header-html{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden}.co-doc-editor__page-number{flex-shrink:0;margin-inline-start:var(--co-spacing-sm2);white-space:nowrap;color:var(--co-color-gray-600)}.co-doc-page-gap,.co-doc-page-gap__foot,.co-doc-page-gap__between,.co-doc-page-gap__head{margin:0 !important;padding:0 !important;border-width:0 !important;box-sizing:border-box !important}.co-doc-editor__sheet .co-doc-page-gap{position:relative;margin-left:calc(-1 * var(--co-doc-margin-left)) !important;margin-right:calc(-1 * var(--co-doc-margin-right)) !important;user-select:none}.co-doc-page-gap__between{background:var(--co-doc-canvas);border-image:linear-gradient(var(--co-doc-canvas), var(--co-doc-canvas)) fill 0 / 0 / 0 100vmax;box-shadow:inset 0 1px 0 var(--co-color-opacity-negro-8), inset 0 4px 3px -3px var(--co-color-opacity-negro-16), inset 0 -1px 0 var(--co-color-opacity-negro-8)}:is(ul,ol)>.co-doc-page-gap{list-style:none}.co-doc-editor__sheet .co-doc-page-gap__head{padding-top:var(--co-doc-margin-top) !important;padding-left:var(--co-doc-margin-left) !important;padding-right:var(--co-doc-margin-right) !important}.co-doc-page-gap-row>td{padding:0 !important;border:0 !important;background:transparent !important}.co-doc-editor__header-band--editing,.co-doc-editor__header-band--editing:hover{outline:1px solid var(--co-semantic-border-focus);outline-offset:2px}.co-doc-editor__header-editing{display:flex;align-items:center;gap:var(--co-spacing-sm2);height:100%}.co-doc-editor__header-editor{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5}.co-doc-editor__header-editor .ProseMirror{outline:none}.co-doc-editor__header-tools{position:absolute;right:0;bottom:100%;display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-xs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs)}.co-doc-editor__image-bar{position:absolute;z-index:2;display:flex;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);user-select:none}.co-doc-editor__image-bar co-tooltip{display:inline-flex}.co-doc-editor__image-mode{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default);cursor:pointer}.co-doc-editor__image-mode:hover,.co-doc-editor__image-mode--active{background:var(--co-semantic-surface-hover)}.co-doc-editor__image-mode--active{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus)}.co-doc-editor__image-mode:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__image-mode--active:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus), 0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__sig-bar{position:absolute;z-index:2;display:flex;align-items:center;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);user-select:none}.co-doc-editor__sig-bar co-tooltip{display:inline-flex}.co-doc-editor__sig-duplicate,.co-doc-editor__sig-step{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:inherit;font:inherit;cursor:pointer}.co-doc-editor__sig-duplicate{width:96px;height:28px;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-sm)}.co-doc-editor__sig-duplicate co-icon{flex-shrink:0}.co-doc-editor__sig-duplicate-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-doc-editor__sig-step{width:28px;height:28px;padding:0}.co-doc-editor__sig-duplicate:hover,.co-doc-editor__sig-step:hover:not(:disabled){background:var(--co-semantic-surface-hover)}.co-doc-editor__sig-step:disabled{color:var(--co-semantic-text-muted);cursor:default}.co-doc-editor__sig-duplicate:focus-visible,.co-doc-editor__sig-step:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__sig-sep{width:1px;align-self:stretch;background:var(--co-semantic-border-default)}.co-doc-editor__sig-label{width:88px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}"}},[260,"co-document-editor",{value:[1],headerHtml:[1,"header-html"],showPageNumber:[8,"show-page-number"],pageSize:[1,"page-size"],margins:[1],headerHeight:[2,"header-height"],pageStyles:[1,"page-styles"],features:[1],imageUpload:[16],readonly:[4],locale:[1],extraItems:[1,"extra-items"],label:[1],ready:[32],pageCount:[32],zoomMode:[32],scale:[32],stageHeight:[32],headerEditing:[32],draftShowPageNumber:[32],imageBar:[32],signatureBar:[32],getPrintHtml:[64],getHeaderHtml:[64],getJSON:[64],flushChange:[64],isEmpty:[64],setContent:[64],setFieldValues:[64],insertField:[64],insertSignatureSlot:[64],focusEditor:[64],getEditorInstance:[64]},void 0,{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}]);function V(){"undefined"!=typeof customElements&&["co-document-editor","co-icon","co-icon-button","co-kbd","co-rich-text-toolbar","co-switch","co-tooltip"].forEach((e=>{switch(e){case"co-document-editor":customElements.get(t(e))||customElements.define(t(e),U);break;case"co-icon":customElements.get(t(e))||l();break;case"co-icon-button":customElements.get(t(e))||u();break;case"co-kbd":customElements.get(t(e))||g();break;case"co-rich-text-toolbar":customElements.get(t(e))||c();break;case"co-switch":customElements.get(t(e))||p();break;case"co-tooltip":customElements.get(t(e))||m()}}))}V();const Q=U,Z=V;export{Q as CoDocumentEditor,Z as defineCustomElement}
1
+ import{t,p as e,H as o,c as i,f as s,h as r,a}from"./index.js";import{d as c,g as n}from"./p-DTWqwwXO.js";import{b as d,s as h}from"./p-BmdKHBZP.js";import{d as l}from"./p-qMNHMnvI.js";import{d as u}from"./p-B70R6xWE.js";import{d as g}from"./p-DldA2IL3.js";import{d as p}from"./p-R1W48hzW.js";import{d as m}from"./p-DRL-a5hO.js";import{B as b,F as v,E as f,w as x,r as _,Q as y,s as w,q as k,x as z,z as C,W as P,I as S,P as H,G as E}from"./p-CqQobidl.js";const M={top:38,right:38,bottom:38,left:38},$=new Set(["letter","a4","legal"]);function N(t){if("string"==typeof t){if($.has(t))return t;try{return N(JSON.parse(t))}catch(t){return"letter"}}if(t&&"object"==typeof t){const{width:e,height:o}=t;if(Number(e)>0&&Number(o)>0)return{width:Number(e),height:Number(o)}}return"letter"}const j=/@(import|charset|namespace)[^;]*;/gi;function O(t,e){return t?B(t.replace(/\/\*[\s\S]*?\*\//g,"").replace(j,""),e).trim():""}function I(t,e){let o=0,i=null;for(let s=e;s<t.length;s+=1){const e=t[s];if(i)e===i&&"\\"!==t[s-1]&&(i=null);else if('"'===e||"'"===e)i=e;else if("{"===e)o+=1;else if("}"===e&&(o-=1,0===o))return s}return-1}function L(t,e){const o=t.trim();if(!o)return"";const i=`:where(${e})`;if("*"===o)return`${i}, ${i} *, ${i} :is(pre, code)`;const s=o.replace(/^(?:(?:html|body|:root)(?=$|[\s>+~.#:[])\s*)+/i,"").trim();return s?`${i} ${s}`:i}function B(t,e){let o="",i=0;for(;i<t.length;){const s=t.indexOf("{",i);if(-1===s)break;const r=I(t,s);if(-1===r)break;const a=t.slice(i,s).trim(),c=t.slice(s+1,r);if(i=r+1,!a)continue;if(a.startsWith("@")){const t=a.slice(1).split(/[\s(]/)[0].toLowerCase();"media"===t||"supports"===t?o+=`${a}{${B(c,e)}}`:t.endsWith("keyframes")&&(o+=`${a}{${c}}`);continue}const n=a.split(",").map((t=>L(t,e))).filter(Boolean);n.length&&(o+=`${n.join(", ")}{${c}}`)}return o}function F(t){return Number.isFinite(t)?Math.round(1e3*Math.min(3,Math.max(.25,t)))/1e3:1}function G(t,e,o){return o>0?(t-e)/o:0}function R(t,e,o,i){return t+e*o-i}const D={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",break:"rows"},q={width:124,height:34};function T(t,e,o=q,i=4){const s=t.top+t.height+i,r=t.top-i-o.height;let a=s,c="below";e.height>0&&s+o.height>e.height&&(r>=0?(a=r,c="above"):(a=Math.max(0,Math.min(t.top+t.height-i-o.height,e.height-o.height)),c="inside"));let n=t.left;return e.width>0&&(n=Math.max(0,Math.min(n,e.width-o.width))),{top:a,left:n,placement:c}}function A(t,e){let o=0,i=t;for(;i&&i!==e;)o+=i.offsetLeft,i=i.offsetParent;return o}const J={width:255,height:34};let W=0;const V=e(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.coChange=i(this,"coChange",3),this.coFieldsChange=i(this,"coFieldsChange",3),this.coHeaderChange=i(this,"coHeaderChange",3),this.coPagesChange=i(this,"coPagesChange",3),this.coAction=i(this,"coAction",3),this.coReady=i(this,"coReady",3),this.value=null,this.headerHtml="",this.showPageNumber=!1,this.pageSize="letter",this.headerHeight=45,this.pageStyles="",this.readonly=!1,this.locale="en",this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.signatureBar=null,this.currentHeaderHtml="",this.currentShowPageNumber=!1,this.headerDoc=null,this.instanceId=++W+"",this.applyingExternal=!1,this.lastAppliedValue=null,this.userDirty=!1,this.lastFieldsKey="",this.pendingImageSrcs=new Set,this.changeThrottle=function(t,e){let o=null;return{run(){o||(o=setTimeout((()=>{o=null,e()}),250))},flush(){o&&(clearTimeout(o),o=null,e())},cancel(){o&&clearTimeout(o),o=null},get pending(){return null!==o}}}(0,(()=>this.emitPendingChange())),this.updateImageBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"image"!==o.type.name)return void(this.imageBar&&(this.imageBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.imageBar&&(this.imageBar=null));const r=E(i,s),a=T({top:r.top,height:r.height,left:A(i,s)},{width:s.offsetWidth,height:s.offsetHeight}),c=b({wrapperStyle:o.attrs.wrapperStyle,containerStyle:o.attrs.containerStyle}),n=this.imageBar;n&&n.mode===c&&n.top===a.top&&n.left===a.left||(this.imageBar={mode:c,top:a.top,left:a.left})},this.updateSignatureBar=()=>{const t=this.editor,e=null==t?void 0:t.state.selection,o=null==e?void 0:e.node;if(!t||this.readonly||!o||"signatureSlot"!==o.type.name)return void(this.signatureBar&&(this.signatureBar=null));const i=t.view.nodeDOM(e.from),s=this.el.querySelector(".co-doc-editor__sheet");if(!i||!s)return void(this.signatureBar&&(this.signatureBar=null));const r=[];t.state.doc.descendants(((t,o)=>{"signatureSlot"===t.type.name&&o!==e.from&&r.push(t.attrs.slot)}));const{min:a,max:c}=function(t){let e=0;for(const o of t)o>e&&(e=o);return{min:1,max:e+1}}(r),n=E(i,s),d=T({top:n.top,height:n.height,left:A(i,s)},{width:s.offsetWidth,height:s.offsetHeight},J),h=o.attrs.slot,l=this.signatureBar;l&&l.slot===h&&l.min===a&&l.max===c&&l.top===d.top&&l.left===d.left||(this.signatureBar={slot:h,min:a,max:c,top:d.top,left:d.left})},this.onBodyImageLoad=t=>{const e=t.target,o=this.editor;if(!o||!e||"IMG"!==e.tagName)return;const i=e.getAttribute("src")||"";if(!this.pendingImageSrcs.has(i))return;let s=-1;o.state.doc.descendants(((t,e)=>!(s>=0||("image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(s=e),0))));const r=s>=0?o.state.doc.nodeAt(s):null;if(!r)return;const a=this.marginsPx,c=function(t,e){const o=t>0?t:0,i=e>0?e:0,s=o&&i?Math.min(o,i):o||i;return s?Math.max(1,Math.round(s)):null}(e.naturalWidth,this.pageSizePx.width-a.left-a.right);if(!c)return;let n=!1;o.state.doc.descendants(((t,e)=>(e===s||"image"!==t.type.name||t.attrs.width||t.attrs.src!==i||(n=!0),!n))),n||this.pendingImageSrcs.delete(i);const d=o.state.selection.node&&o.state.selection.from===s;o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:c}))),d&&o.commands.setNodeSelection(s)},this.onEditorBlur=()=>{this.changeThrottle.flush()},this.onHostKeydown=t=>{"Escape"===t.key&&this.changeThrottle.flush()},this.onTransaction=({transaction:t})=>{t.docChanged&&(this.applyingExternal||!!t.getMeta(v)||(this.userDirty=!0,this.trackInsertedImages(t)),this.changeThrottle.run())},this.handleToolbarAction=t=>{t.stopPropagation();const{action:e,payload:o}=t.detail||{};o&&!0===o.extra?this.coAction.emit({action:e,payload:{extra:!0}}):"documentHeader"===e&&this.startHeaderEdit()},this.startHeaderEdit=()=>{this.readonly||this.headerEditing||!this.editor||(this.draftShowPageNumber=this.currentShowPageNumber,this.headerEditing=!0,this.refreshPagination())},this.onHeaderTransaction=({transaction:t})=>{t.docChanged&&this.changeThrottle.run()},this.onHeaderImageLoad=t=>{const e=t.target,o=this.headerEditor;if(!o||!e||"IMG"!==e.tagName)return;const i=f({w:e.naturalWidth,h:e.naturalHeight});if(!i)return;let s=-1;try{const t=o.view.posAtDOM(e,0),i=o.state.doc.nodeAt(t);i&&"image"===i.type.name&&(s=t)}catch(t){}if(s<0){const t=e.getAttribute("src");o.state.doc.descendants(((e,o)=>!(s>=0||("image"!==e.type.name||e.attrs.width||e.attrs.src!==t||(s=o),0))))}const r=s>=0?o.state.doc.nodeAt(s):null;r&&!r.attrs.width&&o.view.dispatch(o.state.tr.setNodeMarkup(s,void 0,Object.assign(Object.assign({},r.attrs),{width:i})))},this.onDocumentPointer=t=>{const e=t.composedPath();this.headerBandEl&&e.includes(this.headerBandEl)||this.toolbarEl&&e.includes(this.toolbarEl)||this.commitHeader()},this.onHeaderKeydown=t=>{var e;if("Escape"!==t.key||t.isComposing)return;const o=this.toolbarEl;o&&t.currentTarget===o&&(null===(e=o.shadowRoot)||void 0===e?void 0:e.querySelector('[aria-expanded="true"]'))||(t.preventDefault(),t.stopPropagation(),this.cancelHeader(!0))},this.commitHeader=(t=!1)=>{var e;const o=this.headerEditor;if(!o)return;const i=t&&this.focusIsInBandOrLost(),s=o.isEmpty?"":x(o.state.doc,"print-header",this.resolvedFeatures),r=this.draftShowPageNumber;this.teardownHeaderEditor(),this.currentHeaderHtml=s,this.currentShowPageNumber=r,this.headerDoc=s?_(s,"print-header",this.resolvedFeatures):null,this.headerEditing=!1,this.refreshPagination(),this.coHeaderChange.emit({html:s,showPageNumber:r}),this.emitFieldsIfChanged(),i&&(null===(e=this.editor)||void 0===e||e.commands.focus())},this.cancelHeader=(t=!1)=>{var e;this.headerEditing&&(this.teardownHeaderEditor(),this.headerEditing=!1,this.refreshPagination(),this.emitFieldsIfChanged(),t&&(null===(e=this.editor)||void 0===e||e.commands.focus()))},this.renderedScale=1,this.onCanvasWheel=t=>{(t.ctrlKey||t.metaKey)&&(t.preventDefault(),this.zoomTo(function(t,e){return Number.isFinite(e)?F(t*Math.exp(.01*-e)):t}(this.scale,1===t.deltaMode?16*t.deltaY:t.deltaY),t.clientX,t.clientY))},this.gestureBase=1,this.onGestureStart=t=>{t.preventDefault(),this.gestureBase=this.scale},this.onGestureChange=t=>{var e,o,i,s;t.preventDefault();const r=null===(e=this.canvasEl)||void 0===e?void 0:e.getBoundingClientRect(),a=null!==(o=t.clientX)&&void 0!==o?o:r?r.left+r.width/2:0,c=null!==(i=t.clientY)&&void 0!==i?i:r?r.top+r.height/2:0;this.zoomTo(F(this.gestureBase*(null!==(s=t.scale)&&void 0!==s?s:1)),a,c)}}get s(){return n(this.locale)}get resolvedFeatures(){var t;return null!==(t=d(this.features))&&void 0!==t?t:{}}get parsedExtraItems(){const t=d(this.extraItems);return Array.isArray(t)?t:[]}get pageSizePx(){return y(N(this.pageSize))}get marginsPx(){return function(t){let e=t;if("string"==typeof t)try{e=JSON.parse(t)}catch(t){return Object.assign({},M)}if(!e||"object"!=typeof e)return Object.assign({},M);const o=e,i=t=>Number.isFinite(Number(o[t]))&&void 0!==o[t]?Number(o[t]):M[t];return{top:i("top"),right:i("right"),bottom:i("bottom"),left:i("left")}}(this.margins)}get hasHeader(){return!!this.currentHeaderHtml||this.headerEditing}get sanitizedHeaderHtml(){return w(this.currentHeaderHtml,"print-header")}get pageScope(){return`.co-doc-editor__sheet[data-co-doc="${this.instanceId}"]`}get activeEditor(){var t;return null!==(t=this.headerEditor)&&void 0!==t?t:this.editor}get documentHeaderEnabled(){return!this.readonly&&!this.headerEditing}buildCustomExtensions(){return[k.configure({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0},footer:{height:0},renderHeader:(t,e)=>this.buildHeaderClone(t,e),onPagesChange:t=>{this.pageCount=t,this.coPagesChange.emit(t)}})]}collectAllFields(){if(!this.editor)return[];const t=z(this.editor.state.doc),e=this.headerEditor?this.headerEditor.state.doc:this.headerDoc;return e&&z(e,t),t}connectedCallback(){this.el.addEventListener("keydown",this.onHostKeydown,!0)}componentWillLoad(){this.ready=!1,this.pageCount=1,this.zoomMode="fit",this.scale=1,this.stageHeight=0,this.headerEditing=!1,this.draftShowPageNumber=!1,this.imageBar=null,this.signatureBar=null}componentDidLoad(){var t,e,o;this.contentEl&&(this.syncHeaderFromProps(),this.editor=C({preset:"print",element:this.contentEl,content:this.value?this.parseBody(this.value):null,editable:!this.readonly,features:this.resolvedFeatures,labels:{signature:t=>`${this.s.signature} ${t}`,fieldName:this.s.fieldNamePlaceholder},customExtensions:this.buildCustomExtensions(),imageUpload:this.imageUpload}),this.lastAppliedValue=this.value,this.wireEditor(this.editor),this.applyPageStyles(),"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver((()=>this.updateScale())),this.canvasEl&&this.resizeObserver.observe(this.canvasEl),this.stageEl&&this.resizeObserver.observe(this.stageEl)),null===(t=this.canvasEl)||void 0===t||t.addEventListener("wheel",this.onCanvasWheel,{passive:!1}),null===(e=this.canvasEl)||void 0===e||e.addEventListener("gesturestart",this.onGestureStart),null===(o=this.canvasEl)||void 0===o||o.addEventListener("gesturechange",this.onGestureChange),this.updateScale(),this.syncToolbar(),this.ready=!0,this.emitFieldsIfChanged(),this.coReady.emit())}componentDidRender(){this.applyPendingAnchor(),this.headerEditing&&!this.headerEditor&&this.headerMountEl&&this.mountHeaderEditor(),this.syncToolbar()}disconnectedCallback(){var t,e,o,i;this.el.removeEventListener("keydown",this.onHostKeydown,!0),this.changeThrottle.cancel(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0,null===(e=this.canvasEl)||void 0===e||e.removeEventListener("wheel",this.onCanvasWheel),null===(o=this.canvasEl)||void 0===o||o.removeEventListener("gesturestart",this.onGestureStart),null===(i=this.canvasEl)||void 0===i||i.removeEventListener("gesturechange",this.onGestureChange),this.toolbarEl&&(this.toolbarEl.editor=void 0),this.teardownHeaderEditor(!1),this.headerEditing=!1,this.editor&&(this.editor.off("transaction",this.onTransaction),this.editor.off("blur",this.onEditorBlur),this.editor.off("transaction",this.updateImageBar),this.editor.off("transaction",this.updateSignatureBar),this.editor.view.dom.removeEventListener("load",this.onBodyImageLoad,!0),this.editor.destroy()),this.editor=void 0,this.pendingImageSrcs.clear(),this.imageBar=null,this.signatureBar=null}onValueChange(t){t!==this.lastAppliedValue&&(this.editor&&t&&t===x(this.editor.state.doc,"print",this.resolvedFeatures)?this.lastAppliedValue=t:this.applyBody(t))}onReadonlyChange(){var t;null===(t=this.editor)||void 0===t||t.setEditable(!this.readonly),this.readonly&&this.headerEditing&&this.cancelHeader(),this.updateImageBar(),this.updateSignatureBar()}onPageGeometryChange(){this.refreshPagination(),this.updateScale()}onHeaderPropsChange(){this.headerEditing||(this.syncHeaderFromProps(),this.refreshPagination(),this.emitFieldsIfChanged())}onPageStylesChange(){this.applyPageStyles()}onLabelChange(){this.editor&&this.editor.view.dom.setAttribute("aria-label",this.label||this.s.documentEditor)}onLocaleChange(){this.currentShowPageNumber&&this.refreshPagination()}async getPrintHtml(){return this.editor?x(this.editor.state.doc,"print",this.resolvedFeatures):""}async getHeaderHtml(){return this.currentHeaderHtml}async getJSON(){return this.editor?this.editor.getJSON():null}async flushChange(){this.changeThrottle.flush()}async isEmpty(){return!this.editor||this.editor.isEmpty}async setContent(t){this.applyBody(t)}async setFieldValues(t){var e,o;if(null===(e=this.editor)||void 0===e||e.commands.setFieldValues(t),null===(o=this.headerEditor)||void 0===o||o.commands.setFieldValues(t),!this.currentHeaderHtml)return;const i=P(this.currentHeaderHtml,t,"print-header",this.resolvedFeatures);i!==this.currentHeaderHtml&&(this.currentHeaderHtml=i,this.headerDoc=_(i,"print-header",this.resolvedFeatures),this.headerEditing||(this.refreshPagination(),s(this)))}async insertField(t,e){var o;null===(o=this.editor)||void 0===o||o.chain().focus().insertField(t,e).run()}async insertSignatureSlot(){var t;null===(t=this.editor)||void 0===t||t.chain().focus().insertSignatureSlot().run()}async focusEditor(){var t;null===(t=this.editor)||void 0===t||t.commands.focus()}async getEditorInstance(){var t;return null!==(t=this.editor)&&void 0!==t?t:null}wireEditor(t){const e=t.view.dom;e.classList.add("tiptap"),e.setAttribute("aria-label",this.label||this.s.documentEditor),e.setAttribute("aria-multiline","true"),t.on("transaction",this.onTransaction),t.on("transaction",this.updateImageBar),t.on("transaction",this.updateSignatureBar),t.on("blur",this.onEditorBlur),e.addEventListener("load",this.onBodyImageLoad,!0)}imageModeLabel(t){const e=this.s;return{inline:e.imageLayoutInline,"wrap-left":e.imageLayoutWrapLeft,"wrap-right":e.imageLayoutWrapRight,break:e.imageLayoutBreak}[t]}setImageMode(t){var e;null===(e=this.editor)||void 0===e||e.commands.setImageLayoutMode(t),this.updateImageBar()}duplicateSignature(){var t;null===(t=this.editor)||void 0===t||t.commands.duplicateSignatureSlot(),this.updateSignatureBar()}stepSigner(t){var e;const o=this.signatureBar;if(!o)return;const i=o.slot+t;i<o.min||i>o.max||(null===(e=this.editor)||void 0===e||e.commands.setSignatureSlot(i),this.updateSignatureBar())}trackInsertedImages(t){var e,o,i;if(t.getMeta("history$"))return;const s=[];for(const r of t.steps)null===(i=null===(o=null===(e=r.slice)||void 0===e?void 0:e.content)||void 0===o?void 0:o.descendants)||void 0===i||i.call(o,(t=>{"image"===t.type.name&&!t.attrs.width&&t.attrs.src&&s.push(t.attrs.src)}));if(!s.length)return;const r=new Set;t.before.descendants((t=>{"image"!==t.type.name||t.attrs.width||r.add(t.attrs.src)})),s.forEach((t=>{r.has(t)||this.pendingImageSrcs.add(t)}))}parseBody(t){const e=t.trim();if(e.startsWith("{"))try{return JSON.parse(e)}catch(t){}return _(t,"print",this.resolvedFeatures)}applyBody(t){if(this.editor){this.pendingImageSrcs.clear(),this.applyingExternal=!0;try{t?this.editor.commands.setContent(this.parseBody(t),{emitUpdate:!1}):this.editor.commands.clearContent(!1)}finally{this.applyingExternal=!1,this.lastAppliedValue=t}}}emitPendingChange(){this.editor&&(this.emitFieldsIfChanged(),this.userDirty&&(this.userDirty=!1,this.coChange.emit()))}emitFieldsIfChanged(){const t=this.collectAllFields(),e=JSON.stringify(t);e!==this.lastFieldsKey&&(this.lastFieldsKey=e,this.coFieldsChange.emit(t))}syncToolbar(){h(this.toolbarEl,this.activeEditor,this.imageUpload)}syncHeaderFromProps(){this.currentHeaderHtml=this.headerHtml||"",this.currentShowPageNumber=function(t){return!0===t||"true"===t}(this.showPageNumber),this.headerDoc=this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null}mountHeaderEditor(){var t,e;const o=C({preset:"print-header",element:this.headerMountEl,content:this.currentHeaderHtml?_(this.currentHeaderHtml,"print-header",this.resolvedFeatures):null,editable:!0,features:{fields:this.resolvedFeatures.fields},labels:{fieldName:this.s.fieldNamePlaceholder},imageUpload:this.imageUpload});this.headerEditor=o;const i=o.view.dom;i.classList.add("tiptap"),i.setAttribute("aria-label",this.s.documentHeader),o.on("transaction",this.onHeaderTransaction),i.addEventListener("load",this.onHeaderImageLoad,!0),document.addEventListener("mousedown",this.onDocumentPointer,!0),null===(t=this.headerBandEl)||void 0===t||t.addEventListener("keydown",this.onHeaderKeydown,!0),null===(e=this.toolbarEl)||void 0===e||e.addEventListener("keydown",this.onHeaderKeydown,!0),o.commands.focus("end"),this.syncToolbar()}teardownHeaderEditor(t=!0){var e,o;document.removeEventListener("mousedown",this.onDocumentPointer,!0),null===(e=this.headerBandEl)||void 0===e||e.removeEventListener("keydown",this.onHeaderKeydown,!0),null===(o=this.toolbarEl)||void 0===o||o.removeEventListener("keydown",this.onHeaderKeydown,!0);const i=this.headerEditor;this.headerEditor=void 0,t?this.syncToolbar():this.toolbarEl&&i&&this.toolbarEl.editor===i&&(this.toolbarEl.editor=void 0),i&&(i.off("transaction",this.onHeaderTransaction),i.view.dom.removeEventListener("load",this.onHeaderImageLoad,!0),i.destroy())}focusIsInBandOrLost(){const t=document.activeElement;return!t||t===document.body||!(!this.headerBandEl||!this.headerBandEl.contains(t))}refreshPagination(){var t;null===(t=this.editor)||void 0===t||t.commands.setPaginationOptions({page:this.pageSizePx,margins:this.marginsPx,header:{height:this.hasHeader?this.headerHeight:0}})}applyPageStyles(){this.styleEl&&(this.styleEl.textContent=O(this.pageStyles,this.pageScope))}buildHeaderClone(t,e){if(!this.currentHeaderHtml)return null;const o=document.createElement("div");o.className="co-doc-editor__header-static",o.style.height=this.headerHeight+"px";const i=document.createElement("div");if(i.className="co-doc-editor__header-html",i.innerHTML=this.sanitizedHeaderHtml,o.appendChild(i),this.currentShowPageNumber){const i=document.createElement("span");i.className="co-doc-editor__page-number",i.textContent=`${this.s.page} ${t} / ${e}`,o.appendChild(i)}return o}updateScale(){var t,e,o,i;if("custom"!==this.zoomMode){const o="actual"===this.zoomMode?1:function(t,e){return t>0&&e>0?Math.round(1e3*Math.min(1,Math.max(.25,t/e)))/1e3:1}((null!==(e=null===(t=this.canvasEl)||void 0===t?void 0:t.clientWidth)&&void 0!==e?e:0)-32,this.pageSizePx.width);o!==this.scale&&(this.scale=o)}const s=null!==(i=null===(o=this.stageEl)||void 0===o?void 0:o.offsetHeight)&&void 0!==i?i:0;s!==this.stageHeight&&(this.stageHeight=s)}zoomTo(t,e,o){if(this.canvasEl&&this.stageEl&&t!==this.scale){if(this.pendingAnchor)this.pendingAnchor.cx=e,this.pendingAnchor.cy=o;else{const t=this.stageEl.getBoundingClientRect();this.pendingAnchor={px:G(e,t.left,this.renderedScale),py:G(o,t.top,this.renderedScale),cx:e,cy:o}}this.zoomMode="custom",this.scale=t}}applyPendingAnchor(){const t=this.pendingAnchor,e=this.canvasEl;if(this.renderedScale=this.scale,!t||!e||!this.stageEl)return;this.pendingAnchor=void 0;const o=this.stageEl.getBoundingClientRect();e.scrollLeft+=R(o.left,t.px,this.scale,t.cx),e.scrollTop+=R(o.top,t.py,this.scale,t.cy)}setZoom(t){this.zoomMode=t,this.updateScale()}renderHeaderBand(){const t=this.s;return r("div",{key:"header-band",class:{"co-doc-editor__header-band":!0,"co-doc-editor__header-band--editing":this.headerEditing},part:"header-band",hidden:!this.hasHeader,ref:t=>this.headerBandEl=t,onDblClick:()=>this.startHeaderEdit()},this.headerEditing?r("div",{key:"header-editing",class:"co-doc-editor__header-editing"},r("div",{class:"co-doc-editor__header-editor",ref:t=>this.headerMountEl=t}),r("div",{class:"co-doc-editor__header-tools"},r("co-switch",{checked:this.draftShowPageNumber,label:t.pageNumber,disabled:!1,required:!1,status:"default",onCoChange:t=>{t.stopPropagation(),this.draftShowPageNumber=!!t.detail}}),r("co-tooltip",{content:t.confirmHeader},r("co-icon-button",{icon:"check",variant:"ghost",size:"xs",boxSize:28,iconSize:16,label:t.confirmHeader,onClick:()=>this.commitHeader(!0)})))):r("div",{key:"header-static",class:"co-doc-editor__header-static"},r("div",{class:"co-doc-editor__header-html",innerHTML:this.sanitizedHeaderHtml}),this.currentShowPageNumber&&r("span",{class:"co-doc-editor__page-number"},`${t.page} 1 / ${this.pageCount}`)))}renderOverlays(){return this.readonly||this.headerEditing?null:[this.renderImageBar(),this.renderSignatureBar()]}renderSignatureBar(){const t=this.signatureBar;if(!t)return null;const e=this.s,o=(t,e,o,i,s)=>r("co-tooltip",{key:t,content:e},r("button",{type:"button",class:"co-doc-editor__sig-step","data-dir":t,"aria-label":e,disabled:s,onClick:()=>this.stepSigner(i)},r("co-icon",{name:o,size:16,"aria-hidden":"true"})));return r("div",{key:"signature-bar",class:"co-doc-editor__sig-bar",role:"toolbar","aria-label":e.signatureToolsLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},r("button",{key:"duplicate",type:"button",class:"co-doc-editor__sig-duplicate",onClick:()=>this.duplicateSignature()},r("co-icon",{name:"copy",size:16,"aria-hidden":"true"}),r("span",{class:"co-doc-editor__sig-duplicate-text"},e.signatureDuplicate)),r("span",{key:"sep",class:"co-doc-editor__sig-sep","aria-hidden":"true"}),o("prev",e.signaturePrevSigner,"caret-left",-1,t.slot<=t.min),r("span",{key:"label",class:"co-doc-editor__sig-label","aria-live":"polite"},`${e.signature} ${t.slot}`),o("next",e.signatureNextSigner,"caret-right",1,t.slot>=t.max))}renderImageBar(){const t=this.imageBar;return t?r("div",{key:"image-bar",class:"co-doc-editor__image-bar",role:"toolbar","aria-label":this.s.imageLayoutLabel,style:{top:t.top+"px",left:t.left+"px"},onMouseDown:t=>t.preventDefault()},S.map((e=>{const o=this.imageModeLabel(e),i=t.mode===e;return r("co-tooltip",{key:e,content:o},r("button",{type:"button",class:{"co-doc-editor__image-mode":!0,"co-doc-editor__image-mode--active":i},"data-mode":e,"aria-label":o,"aria-pressed":i+"",onClick:()=>this.setImageMode(e)},r("co-icon",{name:D[e],size:16,"aria-hidden":"true"})))}))):null}render(){const t=this.s,e=this.pageSizePx,o=this.marginsPx,i={"--co-doc-page-w":e.width+"px","--co-doc-page-h":e.height+"px","--co-doc-margin-top":o.top+"px","--co-doc-margin-right":o.right+"px","--co-doc-margin-bottom":o.bottom+"px","--co-doc-margin-left":o.left+"px","--co-doc-header-h":(this.hasHeader?this.headerHeight:0)+"px","--co-doc-pages":this.pageCount+"","--co-doc-gap":H+"px"},s={width:e.width*this.scale+"px",height:this.stageHeight?this.stageHeight*this.scale+"px":"auto"},c=(t,e)=>r("button",{key:"3364440e585cbfdfdc33580aa28001f7563f6fa6",type:"button",class:{"co-doc-editor__zoom-btn":!0,"co-doc-editor__zoom-btn--active":this.zoomMode===t},"aria-pressed":(this.zoomMode===t)+"",onClick:()=>this.setZoom(t)},e);return r(a,{key:"2cc578822013cc07eeeebd0949cbbd2bb09acbc1"},r("div",{key:"5aebe4e657d01b03c5fdf719b87c1c4a08f121a6",class:{"co-doc-editor":!0,"co-doc-editor--readonly":this.readonly,"co-doc-editor--loading":!this.ready},part:"wrapper"},r("div",{key:"93f7d60fffd9e9e902ac25d9fa8a971e96b39ec5",class:"co-doc-editor__bar",part:"bar"},!this.readonly&&r("co-rich-text-toolbar",{key:"df82ee73a50e8283244afb38532803a13b4d6db9",class:"co-doc-editor__toolbar",part:"toolbar",variant:"document",position:"top",disabled:!1,locale:this.locale,attachmentsEnabled:!1,documentHeaderEnabled:this.documentHeaderEnabled,extraItems:this.parsedExtraItems,onCoAction:this.handleToolbarAction,ref:t=>this.toolbarEl=t}),r("div",{key:"a49cc3a01fc203b3bcf3e158ce186fefd607577e",class:"co-doc-editor__zoom",role:"group","aria-label":t.zoom},"custom"===this.zoomMode&&r("span",{key:"47f0c8d5c6bd3c0e51d75ad70103644def66b333",class:"co-doc-editor__zoom-level"},Math.round(100*this.scale)+" %"),c("fit",t.zoomFit),c("actual",t.zoomActual))),r("div",{key:"d28e02e78c8171b0366f7b3ec74e60cfd9f3d21b",class:"co-doc-editor__body"},r("div",{key:"450bbf0712838a9213a08288148f5365a1d6766b",class:"co-doc-editor__canvas",part:"canvas",ref:t=>this.canvasEl=t},r("div",{key:"3585da3d1f7b0311cb036246f20340b2eb34e45d",class:"co-doc-editor__zoom-frame",style:s},r("div",{key:"ce70286c7205f29115d4e9049c3d43775657abfb",class:"co-doc-editor__stage",style:{transform:`scale(${this.scale})`},ref:t=>this.stageEl=t},r("div",{key:"81c7e68d4d8593b21be0f14045965b1e7230657e",class:"co-doc-editor__sheet",part:"sheet","data-co-doc":this.instanceId,style:i},r("style",{key:"page-styles","data-co-doc-page-styles":"",ref:t=>this.styleEl=t}),r("div",{key:"paper",class:"co-doc-editor__paper","data-theme":"light"},this.renderHeaderBand(),r("div",{key:"content",class:"co-doc-editor__content",ref:t=>this.contentEl=t}),this.renderOverlays()))))),r("slot",{key:"3808aa0d8bae35da687e9757ca39ffced996a795",name:"aside"}))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}}static get style(){return"co-document-editor{display:block;height:100%;min-height:0}.co-doc-editor{--co-doc-canvas:var(--co-semantic-surface-muted);--co-doc-sheet-shadow:0 1px 3px var(--co-color-opacity-negro-16), 0 0 0 1px var(--co-color-opacity-negro-8);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--co-doc-canvas);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary)}.co-doc-editor__bar{display:flex;align-items:center;gap:var(--co-spacing-sm2);min-width:0;padding-inline:var(--co-spacing-md);background:var(--co-semantic-surface-page);border-bottom:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__toolbar{flex:1 1 auto;min-width:0}.co-doc-editor__body{flex:1 1 auto;display:flex;min-height:0}.co-doc-editor__body>[slot='aside']{flex:0 0 var(--co-doc-aside-width, 320px);width:var(--co-doc-aside-width, 320px);min-width:0;min-height:0;box-sizing:border-box;border-left:1px solid var(--co-semantic-border-subtle)}.co-doc-editor__canvas{flex:1 1 auto;min-width:0;overflow:auto;box-sizing:border-box;padding:var(--co-spacing-2xl) var(--co-spacing-lg)}.co-doc-editor__content .ProseMirror{position:relative;outline:none}.co-doc-editor--loading .co-doc-editor__content{visibility:hidden}.co-doc-field{--co-doc-field-bg:var(--co-color-primary-amarillo);background:var(--co-doc-field-bg);box-shadow:0 0 0 2px var(--co-doc-field-bg);border-radius:var(--co-border-radius-xxs);color:var(--co-color-base-negro);cursor:pointer}.co-doc-field--empty{--co-doc-field-bg:color-mix(in srgb, var(--co-color-primary-amarillo) 55%, var(--co-color-base-blanco))}.co-doc-field--required.co-doc-field--empty{box-shadow:0 0 0 2px var(--co-doc-field-bg), inset 0 -2px 0 var(--co-color-status-error)}.co-doc-field__input{width:14ch;border:0;outline:1px solid var(--co-semantic-border-focus);background:var(--co-color-base-blanco);font:inherit}.co-doc-signature{display:inline-flex;align-items:center;justify-content:center;vertical-align:top;box-sizing:border-box;outline:1px dashed var(--co-color-primary-azul);outline-offset:-1px;background:color-mix(in srgb, var(--co-color-primary-azul) 6%, transparent);color:var(--co-semantic-text-link, var(--co-color-primary-azul));font-size:var(--co-font-size-12);user-select:none;cursor:grab}.co-doc-signature:active{cursor:grabbing}.co-doc-signature.ProseMirror-selectednode{outline-style:solid;background:color-mix(in srgb, var(--co-color-primary-azul) 14%, transparent)}.co-doc-hb{background:color-mix(in srgb, var(--co-color-primary-azul) 12%, transparent);border-radius:var(--co-border-radius-xxs)}.co-doc-editor__zoom{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--co-spacing-xxs);margin-inline-start:auto}.co-doc-editor__zoom-level{min-width:5ch;padding-inline:var(--co-spacing-xs);font-size:var(--co-font-size-13);font-variant-numeric:tabular-nums;text-align:end;color:var(--co-semantic-text-secondary)}.co-doc-editor__zoom-btn{padding:var(--co-spacing-xs) var(--co-spacing-sm2);border:0;border-radius:var(--co-border-radius-xs);background:transparent;color:var(--co-semantic-text-secondary);font:inherit;font-size:var(--co-font-size-13);white-space:nowrap;cursor:pointer}.co-doc-editor__zoom-btn:hover{background:var(--co-semantic-surface-hover)}.co-doc-editor__zoom-btn--active{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-doc-editor__zoom-btn:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__zoom-frame{margin-inline:auto}.co-doc-editor__stage{width:var(--co-doc-page-w);transform-origin:top left}.co-doc-editor__sheet{--co-semantic-surface-page:var(--co-color-base-blanco);--co-semantic-surface-hover:var(--co-color-opacity-negro-8);--co-semantic-text-default:var(--co-color-base-negro);--co-semantic-text-secondary:var(--co-color-gray-600);--co-semantic-text-muted:var(--co-color-gray-500);--co-semantic-border-default:var(--co-color-opacity-negro-16);--co-semantic-border-subtle:var(--co-color-opacity-negro-8);--co-semantic-border-field:var(--co-color-opacity-negro-25);--co-semantic-border-focus:var(--co-color-opacity-negro-50);--co-semantic-border-focus-ring:var(--co-color-opacity-negro-8);--co-semantic-text-link:var(--co-color-primary-azul);position:relative;width:var(--co-doc-page-w);min-height:calc(var(--co-doc-pages, 1) * var(--co-doc-page-h) + (var(--co-doc-pages, 1) - 1) * var(--co-doc-gap));box-sizing:border-box;padding-top:calc(var(--co-doc-margin-top) + var(--co-doc-header-h, 0px));padding-right:var(--co-doc-margin-right);padding-bottom:var(--co-doc-margin-bottom);padding-left:var(--co-doc-margin-left);overflow:clip;background:var(--co-color-base-blanco);color:var(--co-color-base-negro);color-scheme:light;box-shadow:var(--co-doc-sheet-shadow)}.co-doc-editor__paper{display:contents;color:var(--co-semantic-text-default)}.co-doc-editor .co-doc-editor__sheet .co-doc-editor__content .ProseMirror.tiptap{padding:0 !important;min-height:1em}.co-doc-editor__header-band{position:absolute;top:var(--co-doc-margin-top);left:var(--co-doc-margin-left);right:var(--co-doc-margin-right);height:var(--co-doc-header-h);box-sizing:border-box}.co-doc-editor__header-band[hidden]{display:none}.co-doc-editor__header-band:hover{outline:1px dashed var(--co-color-opacity-negro-25)}.co-doc-editor__header-static{display:flex;align-items:center;justify-content:space-between;height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5;user-select:none}.co-doc-editor__header-html{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden}.co-doc-editor__page-number{flex-shrink:0;margin-inline-start:var(--co-spacing-sm2);white-space:nowrap;color:var(--co-color-gray-600)}.co-doc-page-gap,.co-doc-page-gap__foot,.co-doc-page-gap__between,.co-doc-page-gap__head{margin:0 !important;padding:0 !important;border-width:0 !important;box-sizing:border-box !important}.co-doc-editor__sheet .co-doc-page-gap{position:relative;margin-left:calc(-1 * var(--co-doc-margin-left)) !important;margin-right:calc(-1 * var(--co-doc-margin-right)) !important;user-select:none}.co-doc-page-gap__between{background:var(--co-doc-canvas);border-image:linear-gradient(var(--co-doc-canvas), var(--co-doc-canvas)) fill 0 / 0 / 0 100vmax;box-shadow:inset 0 1px 0 var(--co-color-opacity-negro-8), inset 0 4px 3px -3px var(--co-color-opacity-negro-16), inset 0 -1px 0 var(--co-color-opacity-negro-8)}:is(ul,ol)>.co-doc-page-gap{list-style:none}.co-doc-editor__sheet .co-doc-page-gap__head{padding-top:var(--co-doc-margin-top) !important;padding-left:var(--co-doc-margin-left) !important;padding-right:var(--co-doc-margin-right) !important}.co-doc-page-gap-row>td{padding:0 !important;border:0 !important;background:transparent !important}.co-doc-editor__header-band--editing,.co-doc-editor__header-band--editing:hover{outline:1px solid var(--co-semantic-border-focus);outline-offset:2px}.co-doc-editor__header-editing{display:flex;align-items:center;gap:var(--co-spacing-sm2);height:100%}.co-doc-editor__header-editor{flex:1 1 auto;min-width:0;max-height:100%;overflow:hidden;font-size:var(--co-font-size-12);line-height:1.5}.co-doc-editor__header-editor .ProseMirror{outline:none}.co-doc-editor__header-tools{position:absolute;right:0;bottom:100%;display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-xs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs)}.co-doc-editor__image-bar{position:absolute;z-index:2;display:flex;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);user-select:none}.co-doc-editor__image-bar co-tooltip{display:inline-flex}.co-doc-editor__image-mode{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default);cursor:pointer}.co-doc-editor__image-mode:hover,.co-doc-editor__image-mode--active{background:var(--co-semantic-surface-hover)}.co-doc-editor__image-mode--active{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus)}.co-doc-editor__image-mode:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__image-mode--active:focus-visible{box-shadow:inset 0 0 0 1px var(--co-semantic-border-focus), 0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__sig-bar{position:absolute;z-index:2;display:flex;align-items:center;gap:var(--co-spacing-xxs);padding:var(--co-spacing-xxs);box-sizing:border-box;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);color:var(--co-semantic-text-default);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);user-select:none}.co-doc-editor__sig-bar co-tooltip{display:inline-flex}.co-doc-editor__sig-duplicate,.co-doc-editor__sig-step{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;border:0;border-radius:var(--co-border-radius-xxs);background:transparent;color:inherit;font:inherit;cursor:pointer}.co-doc-editor__sig-duplicate{width:96px;height:28px;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-sm)}.co-doc-editor__sig-duplicate co-icon{flex-shrink:0}.co-doc-editor__sig-duplicate-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-doc-editor__sig-step{width:28px;height:28px;padding:0}.co-doc-editor__sig-duplicate:hover,.co-doc-editor__sig-step:hover:not(:disabled){background:var(--co-semantic-surface-hover)}.co-doc-editor__sig-step:disabled{color:var(--co-semantic-text-muted);cursor:default}.co-doc-editor__sig-duplicate:focus-visible,.co-doc-editor__sig-step:focus-visible{outline:1px solid var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-doc-editor__sig-sep{width:1px;align-self:stretch;background:var(--co-semantic-border-default)}.co-doc-editor__sig-label{width:88px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}"}},[260,"co-document-editor",{value:[1],headerHtml:[1,"header-html"],showPageNumber:[8,"show-page-number"],pageSize:[1,"page-size"],margins:[1],headerHeight:[2,"header-height"],pageStyles:[1,"page-styles"],features:[1],imageUpload:[16],readonly:[4],locale:[1],extraItems:[1,"extra-items"],label:[1],ready:[32],pageCount:[32],zoomMode:[32],scale:[32],stageHeight:[32],headerEditing:[32],draftShowPageNumber:[32],imageBar:[32],signatureBar:[32],getPrintHtml:[64],getHeaderHtml:[64],getJSON:[64],flushChange:[64],isEmpty:[64],setContent:[64],setFieldValues:[64],insertField:[64],insertSignatureSlot:[64],focusEditor:[64],getEditorInstance:[64]},void 0,{value:[{onValueChange:0}],readonly:[{onReadonlyChange:0}],pageSize:[{onPageGeometryChange:0}],margins:[{onPageGeometryChange:0}],headerHeight:[{onPageGeometryChange:0}],headerHtml:[{onHeaderPropsChange:0}],showPageNumber:[{onHeaderPropsChange:0}],pageStyles:[{onPageStylesChange:0}],label:[{onLabelChange:0}],locale:[{onLabelChange:0},{onLocaleChange:0}]}]);function U(){"undefined"!=typeof customElements&&["co-document-editor","co-icon","co-icon-button","co-kbd","co-rich-text-toolbar","co-switch","co-tooltip"].forEach((e=>{switch(e){case"co-document-editor":customElements.get(t(e))||customElements.define(t(e),V);break;case"co-icon":customElements.get(t(e))||l();break;case"co-icon-button":customElements.get(t(e))||u();break;case"co-kbd":customElements.get(t(e))||g();break;case"co-rich-text-toolbar":customElements.get(t(e))||c();break;case"co-switch":customElements.get(t(e))||p();break;case"co-tooltip":customElements.get(t(e))||m()}}))}U();const Q=V,Z=U;export{Q as CoDocumentEditor,Z as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as s}from"./p-Co0eKIiO.js";const p=o,r=s;export{p as CoDrawer,r as defineCustomElement}
1
+ import{C as o,d as p}from"./p-DHIa14ep.js";const s=o,a=p;export{s as CoDrawer,a as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as s,f as c}from"./p-gKnOhsd2.js";import{d as n}from"./p-qMNHMnvI.js";import{d as l}from"./p-DldA2IL3.js";import{d}from"./p-CMMv2RcH.js";import{d as f}from"./p-B5F93Ujt.js";import{d as h}from"./p-COCcx0DN.js";function p(e){if(null==e||isNaN(e))return"";if(e<1024)return e+" B";const i=e=>e.toFixed(2).replace(/\.?0+$/,"");return e<1048576?i(e/1024)+" KB":i(e/1048576)+" MB"}const u=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]),v=new Set(["mp4","mov","webm","m4v","ogv"]);function m(e){const i=(e||"").split("?")[0],o=i.lastIndexOf(".");return o>=0?i.slice(o+1).toLowerCase():""}function b(e){return m(e.name)||m(e.url)}function _(e){return u.has(b(e))}function g(e){return v.has(b(e))}function y(e){return"done"===e.status&&!!e.url&&g(e)}function x(e){return g(e)||_(e)?e.url||e.thumbnail:e.thumbnail||e.url}const w={image:u,video:v},k=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}componentWillLoad(){this.failedPreviews||(this.failedPreviews=new Set)}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){window.removeEventListener("mouseup",this.disarmDrag),clearTimeout(this.copiedTimer),this.closeLightbox()}get parsedFiles(){const e=this.files;if("string"!=typeof e||!e.trim())return[];if(e===this.lastFilesStr)return this.lastParsed;let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o)}catch(e){}return this.lastFilesStr=e,this.lastParsed=i,i}get strings(){return s(this.locale)}get acceptList(){const e=this.accept;if(!e)return[];let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o.map(String))}catch(o){i=e.split(",")}return i.map((e=>e.trim().toLowerCase().replace(/^\./,""))).filter((e=>e&&"*"!==e))}get isInvalid(){return"error"===this.status||!!this.localError}get inputAccept(){const e=this.acceptList;if(e.length)return e.map((e=>e.includes("/")?e:"."+e)).join(",")}extOf(e){const i=e.lastIndexOf(".");return i>=0?e.slice(i+1).toLowerCase():""}validate(e){return function(e,i){if(!e.length)return!0;const o=m(i.name),t=(i.type||"").toLowerCase();return e.some((e=>{var i;if(!e.includes("/"))return e===o;if(!e.endsWith("/*"))return t===e;const r=e.slice(0,-2);return t?t.startsWith(r+"/"):!!(null===(i=w[r])||void 0===i?void 0:i.has(o))}))}(this.acceptList,e)?this.maxBytes&&e.size>this.maxBytes?c(this.strings.errTooLarge,{x:p(e.size)}):null:c(this.strings.errInvalidFormat,{x:this.extOf(e.name)})}onDownloadClick(e,i){if(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||!i.url)return;e.preventDefault();const o=i.url;(async function(e,i,o={}){const{fetchImpl:t=globalThis.fetch,doc:r=globalThis.document,urlApi:a=URL}=o;try{const o=await t(e);if(!o.ok)return!1;const s=a.createObjectURL(await o.blob()),c=r.createElement("a");return c.href=s,c.download=i||"download",c.rel="noopener noreferrer",r.body.appendChild(c),c.click(),setTimeout((()=>{c.remove(),a.revokeObjectURL(s)}),2e3),!0}catch(e){return!1}})(o,i.name).then((e=>{e||window.open(o,"_blank","noopener,noreferrer")}))}handleFiles(e){if(this.disabled||this.readonly)return;this.localError="";const i=Array.from(e);if(!i.length)return;const o=this.multiple?i:i.slice(0,1);if(this.multiple){const e=this.maxFiles-this.parsedFiles.length;if(e<=0)return void(this.localError=c(this.strings.errMaxFiles,{n:this.maxFiles}));o.length>e&&(o.length=e)}const t=[],r=[];for(const e of o){const i=this.validate(e);i?this.localError=i:(t.push(e),r.push(`tmp-${Date.now()}-${this.tempSeq++}`))}t.length&&this.coFilesSelected.emit({files:t,tempIds:r})}fromActionsSlot(e){return e.composedPath().some((e=>{var i,o;return"actions"===(null===(o=(i=e).getAttribute)||void 0===o?void 0:o.call(i,"slot"))}))}keyFor(e){var i;return e.id||e.tempId||`${e.name}:${null!==(i=e.size)&&void 0!==i?i:""}`}handleCopy(e){var i;const o=e.url||"";if(!o)return;const t=this.keyFor(e);this.coCopy.emit({id:t,url:o}),(null===(i=navigator.clipboard)||void 0===i?void 0:i.writeText)&&navigator.clipboard.writeText(o).then((()=>{this.copiedKey=t,clearTimeout(this.copiedTimer),this.copiedTimer=setTimeout((()=>this.copiedKey=""),1500)})).catch((()=>{}))}previewItems(){return this.parsedFiles.filter((e=>function(e){return function(e){return"done"===e.status&&!y(e)&&!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||_(e))}(e)||y(e)}(e)&&(y(e)||!this.failedPreviews.has(this.keyFor(e)))))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.previewItems(),t=o.map((e=>y(e)?{src:x(e),thumbnail:e.thumbnail,alt:e.name,kind:"video",poster:e.thumbnail}:{src:x(e),thumbnail:e.thumbnail,alt:e.name,original:e.url})),r=Math.max(0,o.findIndex((i=>this.keyFor(i)===this.keyFor(e))));this.closeLightbox();const a=document.createElement("co-lightbox");a.images=JSON.stringify(t),a.startIndex=r,this.locale&&(a.locale=this.locale),a.addEventListener("coClose",(()=>this.closeLightbox())),document.body.appendChild(a),this.lightboxEl=a,requestAnimationFrame((()=>{a.open=!0}))}closeLightbox(){const e=this.lightboxEl;this.lightboxEl=void 0,e&&(e.open=!1,setTimeout((()=>e.remove()),220))}handlePreviewError(e){this.failedPreviews=new Set([...this.failedPreviews,this.keyFor(e)])}handleRowDragStart(e,i){this.armedKey===i?(this.dragKey=i,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",i))):e.preventDefault()}handleRowDragOver(e,i){this.dragKey&&this.dragKey!==i&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.overKey=i)}handleRowDrop(e,i){e.preventDefault(),e.stopPropagation();const o=this.parsedFiles.map((e=>this.keyFor(e))),t=o.indexOf(this.dragKey),r=o.indexOf(i);this.resetDragState(),t<0||r<0||t===r||(o.splice(r,0,...o.splice(t,1)),this.coReorder.emit(o))}resetDragState(){this.armedKey="",this.dragKey="",this.overKey=""}capacityHint(e){const i=this.maxBytes?p(this.maxBytes):"";return this.multiple&&this.maxBytes?c(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?c(e.helperFiles,{n:this.maxFiles}):this.maxBytes?c(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",c=this.previewItems(),n=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,l=this.capacityHint(e);return r("div",{key:"4a6cea48737c68e53f90a32e962660473f49ce5a",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"3532e314c63b19208c7a7665dd025ff38585a598",class:"co-file-field__labels"},r("label",{key:"ae8aa6da81d6b959233218473086ecabe5ab8017",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"78d12c0e676217fd208bc03cc6a119b6fbf521e7",required:this.required}))),t&&r("div",{key:"a6e5764aa57090d6b9383b1f8148bcba1239ff3a",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"44558c1a5d15c5aca23a7e204bcccf5e57d6b740",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"662340ae54f1d070606c0fd8226155b0360e803e",name:"file-arrow-up",size:18}),r("span",{key:"752f18e7121040eb4edf571a54a9a5308825cb13"},this.uploadButtonText||e.uploadButton)),r("span",{key:"b92332ee8e7e658b33814b8c1ae34a4630045819",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),l&&r("span",{key:"ed1f7c9093145ecbb49446b72a3d3bc99ee232e2",class:"co-file-field__dropzone-hint"},l),r("div",{key:"fd4953e9dfebf35936ae836d6f28ccdc17ccf951",class:"co-file-field__actions",part:"actions"},r("slot",{key:"c2e568fabd1512ecfa298c2ab281d310fbe21664",name:"actions"})),r("input",{key:"17acb79e8d066c18f7c1ac051a365d4282c852af",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"a793e2b836269abaafe71fd56b07b3d54155cf75",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"2a265874db718faf1e78f2dd46e5ff14bbfbbff2",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&r("div",{key:"a4ebb3fae5ad4b2b29263381f9eb5ae03a98867d",class:"co-file-field__previews",part:"previews"},c.map((i=>{const o=this.keyFor(i),t=y(i),a=this.failedPreviews.has(o)?"":i.thumbnail;return r("button",{class:{"co-file-field__preview":!0,"co-file-field__preview--video":t},part:"preview",type:"button",key:"prev-"+o,title:i.name,"aria-label":`${t?e.playVideo:e.openPreview}: ${i.name}`,onClick:()=>this.handlePreviewOpen(i)},(!t||!!a)&&r("img",{src:t?a:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}),t&&r("span",{class:"co-file-field__preview-play","aria-hidden":"true"},r("span",{class:"co-file-field__preview-play-badge"},r("co-icon",{name:"play",size:20,weight:"fill"})),!a&&r("span",{class:"co-file-field__preview-ext"},b(i).toUpperCase())))}))),r("ul",{key:"97ead2383d036b1ed2b09d6e931be2bfbcce25d2",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=n&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},p(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile,onClick:e=>this.onDownloadClick(e,i)},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"d4fef1bb2aa10f90ca7cd5e01bb5fed9ea917637",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"2fb9d5d28732c239bcec4b0a30dfe194367e8b5d",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"09bd101388c52a7fb8d0139c20f52f2da733543b",class:"co-file-field__helper-text"},o)))}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-field-required{margin-left:2px;color:var(--co-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-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);border:1px dashed var(--co-semantic-border-field);border-radius:var(--co-border-radius-sm);cursor:pointer;text-align:center;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__dropzone:hover{border-color:var(--co-semantic-border-focus)}.co-file-field__dropzone--drag{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__upload-btn{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-md) var(--co-spacing-xl);margin-bottom:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);border:none;border-radius:var(--co-border-radius-full);box-shadow:var(--co-shadow-lg);font-family:inherit;font-size:var(--co-font-size-16);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;cursor:pointer;transition:box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out), transform var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__upload-btn:hover{box-shadow:var(--co-shadow-xl, var(--co-shadow-lg));transform:translateY(-1px)}.co-file-field__upload-btn co-icon{display:inline-flex;flex-shrink:0}.co-file-field__dropzone-text{color:var(--co-semantic-text-default);font-size:var(--co-font-size-18);line-height:1.25}.co-file-field__dropzone-hint{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);line-height:1.25}.co-file-field__actions{display:contents}.co-file-field__input{display:none}.co-file-field__uploaded{display:flex;flex-direction:column;gap:var(--co-spacing-lg);margin-top:var(--co-spacing-sm2)}.co-file-field__uploaded-title{color:var(--co-semantic-text-default);font-size:var(--co-font-size-22);font-weight:500;letter-spacing:-0.03em;line-height:1.25}.co-file-field__previews{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 180px));gap:var(--co-spacing-md)}.co-file-field__preview{padding:0;border:none;border-radius:var(--co-border-radius-sm);overflow:hidden;aspect-ratio:3 / 2;background:var(--co-semantic-surface-hover);cursor:pointer}.co-file-field__preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview:hover img{transform:scale(1.02)}.co-file-field__preview--video{position:relative;background:var(--co-color-base-negro)}.co-file-field__preview-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-sm2);color:var(--co-color-base-blanco);pointer-events:none}.co-file-field__preview-play-badge{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--co-border-radius-full);background:var(--co-color-opacity-negro-80);box-shadow:inset 0 0 0 1px var(--co-color-opacity-blanco-25);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview--video:hover .co-file-field__preview-play-badge{transform:scale(1.08)}.co-file-field__preview-play-badge co-icon{transform:translateX(1px)}.co-file-field__preview-ext{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-overline);color:var(--co-color-opacity-blanco-80)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-text-error, var(--co-semantic-status-error));font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}:host([layout='horizontal']) .co-file-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function z(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-kbd","co-lightbox","co-tooltip","co-video"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),k);break;case"co-icon":customElements.get(e(i))||n();break;case"co-kbd":customElements.get(e(i))||l();break;case"co-lightbox":customElements.get(e(i))||d();break;case"co-tooltip":customElements.get(e(i))||f();break;case"co-video":customElements.get(e(i))||h()}}))}z();const j=k,C=z;export{j as CoFileField,C as defineCustomElement}
1
+ import{t as e,p as i,H as o,c as t,h as r}from"./index.js";import{R as a}from"./p-CWneqh4n.js";import{g as s,f as c}from"./p-gKnOhsd2.js";import{d as n}from"./p-qMNHMnvI.js";import{d as l}from"./p-DldA2IL3.js";import{d}from"./p-BMyWdiVO.js";import{d as f}from"./p-DRL-a5hO.js";import{d as h}from"./p-COCcx0DN.js";function p(e){if(null==e||isNaN(e))return"";if(e<1024)return e+" B";const i=e=>e.toFixed(2).replace(/\.?0+$/,"");return e<1048576?i(e/1024)+" KB":i(e/1048576)+" MB"}const u=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp"]),v=new Set(["mp4","mov","webm","m4v","ogv"]);function m(e){const i=(e||"").split("?")[0],o=i.lastIndexOf(".");return o>=0?i.slice(o+1).toLowerCase():""}function b(e){return m(e.name)||m(e.url)}function _(e){return u.has(b(e))}function g(e){return v.has(b(e))}function y(e){return"done"===e.status&&!!e.url&&g(e)}function x(e){return g(e)||_(e)?e.url||e.thumbnail:e.thumbnail||e.url}const w={image:u,video:v},k=i(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coFilesSelected=t(this,"coFilesSelected",3),this.coRemove=t(this,"coRemove",3),this.coClear=t(this,"coClear",3),this.coReorder=t(this,"coReorder",3),this.coCopy=t(this,"coCopy",3),this.coPreviewOpen=t(this,"coPreviewOpen",3),this.disabled=!1,this.readonly=!1,this.required=!1,this.multiple=!1,this.maxFiles=100,this.status="default",this.layout="vertical",this.reorderable=!0,this.files="[]",this.dragOver=!1,this.localError="",this.copiedKey="",this.armedKey="",this.dragKey="",this.overKey="",this.failedPreviews=new Set,this.tempSeq=0,this.lastFilesStr="",this.lastParsed=[],this.handleDragOver=e=>{this.disabled||this.readonly||this.dragKey||(e.preventDefault(),this.dragOver=!0)},this.handleDragLeave=e=>{const i=e.relatedTarget;i&&e.currentTarget instanceof Node&&e.currentTarget.contains(i)||(this.dragOver=!1)},this.handleDrop=e=>{var i;e.preventDefault(),this.dragOver=!1,this.dragKey||(null===(i=e.dataTransfer)||void 0===i?void 0:i.files)&&this.handleFiles(e.dataTransfer.files)},this.handleBrowse=e=>{var i;this.disabled||this.readonly||e&&this.fromActionsSlot(e)||null===(i=this.inputEl)||void 0===i||i.click()},this.handleInputChange=e=>{const i=e.target;i.files&&this.handleFiles(i.files),i.value=""},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.handleRowDragEnd=()=>{this.resetDragState()}}componentWillLoad(){this.failedPreviews||(this.failedPreviews=new Set)}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){window.removeEventListener("mouseup",this.disarmDrag),clearTimeout(this.copiedTimer),this.closeLightbox()}get parsedFiles(){const e=this.files;if("string"!=typeof e||!e.trim())return[];if(e===this.lastFilesStr)return this.lastParsed;let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o)}catch(e){}return this.lastFilesStr=e,this.lastParsed=i,i}get strings(){return s(this.locale)}get acceptList(){const e=this.accept;if(!e)return[];let i=[];try{const o=JSON.parse(e);Array.isArray(o)&&(i=o.map(String))}catch(o){i=e.split(",")}return i.map((e=>e.trim().toLowerCase().replace(/^\./,""))).filter((e=>e&&"*"!==e))}get isInvalid(){return"error"===this.status||!!this.localError}get inputAccept(){const e=this.acceptList;if(e.length)return e.map((e=>e.includes("/")?e:"."+e)).join(",")}extOf(e){const i=e.lastIndexOf(".");return i>=0?e.slice(i+1).toLowerCase():""}validate(e){return function(e,i){if(!e.length)return!0;const o=m(i.name),t=(i.type||"").toLowerCase();return e.some((e=>{var i;if(!e.includes("/"))return e===o;if(!e.endsWith("/*"))return t===e;const r=e.slice(0,-2);return t?t.startsWith(r+"/"):!!(null===(i=w[r])||void 0===i?void 0:i.has(o))}))}(this.acceptList,e)?this.maxBytes&&e.size>this.maxBytes?c(this.strings.errTooLarge,{x:p(e.size)}):null:c(this.strings.errInvalidFormat,{x:this.extOf(e.name)})}onDownloadClick(e,i){if(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||!i.url)return;e.preventDefault();const o=i.url;(async function(e,i,o={}){const{fetchImpl:t=globalThis.fetch,doc:r=globalThis.document,urlApi:a=URL}=o;try{const o=await t(e);if(!o.ok)return!1;const s=a.createObjectURL(await o.blob()),c=r.createElement("a");return c.href=s,c.download=i||"download",c.rel="noopener noreferrer",r.body.appendChild(c),c.click(),setTimeout((()=>{c.remove(),a.revokeObjectURL(s)}),2e3),!0}catch(e){return!1}})(o,i.name).then((e=>{e||window.open(o,"_blank","noopener,noreferrer")}))}handleFiles(e){if(this.disabled||this.readonly)return;this.localError="";const i=Array.from(e);if(!i.length)return;const o=this.multiple?i:i.slice(0,1);if(this.multiple){const e=this.maxFiles-this.parsedFiles.length;if(e<=0)return void(this.localError=c(this.strings.errMaxFiles,{n:this.maxFiles}));o.length>e&&(o.length=e)}const t=[],r=[];for(const e of o){const i=this.validate(e);i?this.localError=i:(t.push(e),r.push(`tmp-${Date.now()}-${this.tempSeq++}`))}t.length&&this.coFilesSelected.emit({files:t,tempIds:r})}fromActionsSlot(e){return e.composedPath().some((e=>{var i,o;return"actions"===(null===(o=(i=e).getAttribute)||void 0===o?void 0:o.call(i,"slot"))}))}keyFor(e){var i;return e.id||e.tempId||`${e.name}:${null!==(i=e.size)&&void 0!==i?i:""}`}handleCopy(e){var i;const o=e.url||"";if(!o)return;const t=this.keyFor(e);this.coCopy.emit({id:t,url:o}),(null===(i=navigator.clipboard)||void 0===i?void 0:i.writeText)&&navigator.clipboard.writeText(o).then((()=>{this.copiedKey=t,clearTimeout(this.copiedTimer),this.copiedTimer=setTimeout((()=>this.copiedKey=""),1500)})).catch((()=>{}))}previewItems(){return this.parsedFiles.filter((e=>function(e){return function(e){return"done"===e.status&&!y(e)&&!(!e.thumbnail&&!e.url)&&(!!e.thumbnail||_(e))}(e)||y(e)}(e)&&(y(e)||!this.failedPreviews.has(this.keyFor(e)))))}handlePreviewOpen(e){const i=e.url||e.thumbnail;if(!i)return;this.coPreviewOpen.emit({id:this.keyFor(e),url:i});const o=this.previewItems(),t=o.map((e=>y(e)?{src:x(e),thumbnail:e.thumbnail,alt:e.name,kind:"video",poster:e.thumbnail}:{src:x(e),thumbnail:e.thumbnail,alt:e.name,original:e.url})),r=Math.max(0,o.findIndex((i=>this.keyFor(i)===this.keyFor(e))));this.closeLightbox();const a=document.createElement("co-lightbox");a.images=JSON.stringify(t),a.startIndex=r,this.locale&&(a.locale=this.locale),a.addEventListener("coClose",(()=>this.closeLightbox())),document.body.appendChild(a),this.lightboxEl=a,requestAnimationFrame((()=>{a.open=!0}))}closeLightbox(){const e=this.lightboxEl;this.lightboxEl=void 0,e&&(e.open=!1,setTimeout((()=>e.remove()),220))}handlePreviewError(e){this.failedPreviews=new Set([...this.failedPreviews,this.keyFor(e)])}handleRowDragStart(e,i){this.armedKey===i?(this.dragKey=i,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",i))):e.preventDefault()}handleRowDragOver(e,i){this.dragKey&&this.dragKey!==i&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.overKey=i)}handleRowDrop(e,i){e.preventDefault(),e.stopPropagation();const o=this.parsedFiles.map((e=>this.keyFor(e))),t=o.indexOf(this.dragKey),r=o.indexOf(i);this.resetDragState(),t<0||r<0||t===r||(o.splice(r,0,...o.splice(t,1)),this.coReorder.emit(o))}resetDragState(){this.armedKey="",this.dragKey="",this.overKey=""}capacityHint(e){const i=this.maxBytes?p(this.maxBytes):"";return this.multiple&&this.maxBytes?c(e.helperBoth,{n:this.maxFiles,x:i}):this.multiple?c(e.helperFiles,{n:this.maxFiles}):this.maxBytes?c(e.helperBytes,{x:i}):""}render(){const e=this.strings,i=this.parsedFiles,o=this.localError||this.helperText,t=!(this.readonly||(this.multiple?this.multiple&&i.length>=this.maxFiles:0!==i.length)),s="default"!==this.status?"co-file-field--"+this.status:"",c=this.previewItems(),n=this.reorderable&&this.multiple&&!this.disabled&&!this.readonly&&i.length>1,l=this.capacityHint(e);return r("div",{key:"4a6cea48737c68e53f90a32e962660473f49ce5a",class:{"co-file-field":!0,"co-file-field--disabled":this.disabled,"co-file-field--invalid":this.isInvalid,[s]:!!s},part:"wrapper"},this.label&&r("div",{key:"3532e314c63b19208c7a7665dd025ff38585a598",class:"co-file-field__labels"},r("label",{key:"ae8aa6da81d6b959233218473086ecabe5ab8017",class:"co-file-field__label",part:"label"},this.label,r(a,{key:"78d12c0e676217fd208bc03cc6a119b6fbf521e7",required:this.required}))),t&&r("div",{key:"a6e5764aa57090d6b9383b1f8148bcba1239ff3a",class:{"co-file-field__dropzone":!0,"co-file-field__dropzone--drag":this.dragOver},part:"dropzone",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleBrowse,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||this.fromActionsSlot(e)||(e.preventDefault(),this.handleBrowse())},onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},r("button",{key:"44558c1a5d15c5aca23a7e204bcccf5e57d6b740",class:"co-file-field__upload-btn",part:"upload-button",type:"button",tabIndex:-1},r("co-icon",{key:"662340ae54f1d070606c0fd8226155b0360e803e",name:"file-arrow-up",size:18}),r("span",{key:"752f18e7121040eb4edf571a54a9a5308825cb13"},this.uploadButtonText||e.uploadButton)),r("span",{key:"b92332ee8e7e658b33814b8c1ae34a4630045819",class:"co-file-field__dropzone-text"},this.dropText||e.dropHint),l&&r("span",{key:"ed1f7c9093145ecbb49446b72a3d3bc99ee232e2",class:"co-file-field__dropzone-hint"},l),r("div",{key:"fd4953e9dfebf35936ae836d6f28ccdc17ccf951",class:"co-file-field__actions",part:"actions"},r("slot",{key:"c2e568fabd1512ecfa298c2ab281d310fbe21664",name:"actions"})),r("input",{key:"17acb79e8d066c18f7c1ac051a365d4282c852af",ref:e=>this.inputEl=e,class:"co-file-field__input",type:"file",multiple:this.multiple,accept:this.inputAccept,disabled:this.disabled,onChange:this.handleInputChange,"aria-hidden":"true",tabIndex:-1})),i.length>0&&r("div",{key:"a793e2b836269abaafe71fd56b07b3d54155cf75",class:"co-file-field__uploaded"},this.multiple&&r("div",{key:"2a265874db718faf1e78f2dd46e5ff14bbfbbff2",class:"co-file-field__uploaded-title",part:"uploaded-title"},`${this.uploadedTitle||e.uploadedTitle} (${i.length})`),c.length>0&&r("div",{key:"a4ebb3fae5ad4b2b29263381f9eb5ae03a98867d",class:"co-file-field__previews",part:"previews"},c.map((i=>{const o=this.keyFor(i),t=y(i),a=this.failedPreviews.has(o)?"":i.thumbnail;return r("button",{class:{"co-file-field__preview":!0,"co-file-field__preview--video":t},part:"preview",type:"button",key:"prev-"+o,title:i.name,"aria-label":`${t?e.playVideo:e.openPreview}: ${i.name}`,onClick:()=>this.handlePreviewOpen(i)},(!t||!!a)&&r("img",{src:t?a:i.thumbnail||i.url,alt:i.name,loading:"lazy",onError:()=>this.handlePreviewError(i)}),t&&r("span",{class:"co-file-field__preview-play","aria-hidden":"true"},r("span",{class:"co-file-field__preview-play-badge"},r("co-icon",{name:"play",size:20,weight:"fill"})),!a&&r("span",{class:"co-file-field__preview-ext"},b(i).toUpperCase())))}))),r("ul",{key:"97ead2383d036b1ed2b09d6e931be2bfbcce25d2",class:"co-file-field__list",part:"list"},i.map((i=>{const o=this.keyFor(i),t=n&&"done"===i.status;return r("li",{class:{"co-file-field__row":!0,["co-file-field__row--"+i.status]:!0,"co-file-field__row--dragging":this.dragKey===o,"co-file-field__row--drop-target":this.overKey===o},part:"row",key:o,draggable:this.armedKey===o,onDragStart:e=>this.handleRowDragStart(e,o),onDragOver:e=>this.handleRowDragOver(e,o),onDrop:e=>this.handleRowDrop(e,o),onDragEnd:this.handleRowDragEnd},t?r("co-tooltip",{content:e.dragToReorder},r("span",{class:"co-file-field__drag-handle",part:"drag-handle",onMouseDown:()=>this.armedKey=o},r("co-icon",{name:"list",size:18}))):r("co-icon",{name:"error"===i.status?"warning-circle":"uploading"===i.status?"spinner-gap":"file",size:18,class:{"co-file-field__row-icon":!0,"co-file-field__row-icon--spin":"uploading"===i.status}}),r("div",{class:"co-file-field__row-body"},r("span",{class:"co-file-field__row-name",title:i.name},function(e,i=35){return!e||e.length<=i?e:"..."+e.slice(-i)}(i.name)),"uploading"===i.status&&r("div",{class:"co-file-field__progress"},r("div",{class:"co-file-field__progress-bar",style:"number"==typeof i.progress?{width:i.progress+"%"}:void 0})),"error"===i.status&&i.error&&r("span",{class:"co-file-field__row-error"},i.error)),null!=i.size&&r("span",{class:"co-file-field__row-size"},p(i.size)),"done"===i.status&&!!i.url&&r("co-tooltip",{content:e.downloadFile},r("a",{class:"co-file-field__action",href:i.url,target:"_blank",rel:"noopener noreferrer",download:i.name,tabIndex:-1,"aria-label":e.downloadFile,onClick:e=>this.onDownloadClick(e,i)},r("co-icon",{name:"download",size:18}))),"done"===i.status&&!!i.url&&r("co-tooltip",{content:this.copiedKey===o?e.copied:e.copyUrl},r("button",{class:{"co-file-field__action":!0,"co-file-field__action--copied":this.copiedKey===o},type:"button",tabIndex:-1,"aria-label":e.copyUrl,onClick:()=>this.handleCopy(i)},r("co-icon",{name:this.copiedKey===o?"check":"copy",size:18}))),!this.disabled&&!this.readonly&&r("co-tooltip",{content:e.removeFile},r("button",{class:"co-file-field__action",type:"button",tabIndex:-1,"aria-label":e.removeFile,onClick:()=>this.coRemove.emit(o)},r("co-icon",{name:"trash",size:18}))))})))),o&&r("div",{key:"d4fef1bb2aa10f90ca7cd5e01bb5fed9ea917637",class:{"co-file-field__helper":!0,"co-file-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&r("co-icon",{key:"2fb9d5d28732c239bcec4b0a30dfe194367e8b5d",name:"warning-circle",size:14,class:"co-file-field__helper-icon"}),r("span",{key:"09bd101388c52a7fb8d0139c20f52f2da733543b",class:"co-file-field__helper-text"},o)))}get el(){return this}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-file-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-file-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-field-required{margin-left:2px;color:var(--co-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-file-field__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-md);padding:var(--co-spacing-4xl) var(--co-spacing-2xl);background:color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);border:1px dashed var(--co-semantic-border-field);border-radius:var(--co-border-radius-sm);cursor:pointer;text-align:center;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__dropzone:hover{border-color:var(--co-semantic-border-focus)}.co-file-field__dropzone--drag{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__upload-btn{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-md) var(--co-spacing-xl);margin-bottom:var(--co-spacing-xs);background:var(--co-semantic-surface-secondary);color:var(--co-semantic-text-default);border:none;border-radius:var(--co-border-radius-full);box-shadow:var(--co-shadow-lg);font-family:inherit;font-size:var(--co-font-size-16);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;cursor:pointer;transition:box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out), transform var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__upload-btn:hover{box-shadow:var(--co-shadow-xl, var(--co-shadow-lg));transform:translateY(-1px)}.co-file-field__upload-btn co-icon{display:inline-flex;flex-shrink:0}.co-file-field__dropzone-text{color:var(--co-semantic-text-default);font-size:var(--co-font-size-18);line-height:1.25}.co-file-field__dropzone-hint{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);line-height:1.25}.co-file-field__actions{display:contents}.co-file-field__input{display:none}.co-file-field__uploaded{display:flex;flex-direction:column;gap:var(--co-spacing-lg);margin-top:var(--co-spacing-sm2)}.co-file-field__uploaded-title{color:var(--co-semantic-text-default);font-size:var(--co-font-size-22);font-weight:500;letter-spacing:-0.03em;line-height:1.25}.co-file-field__previews{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 180px));gap:var(--co-spacing-md)}.co-file-field__preview{padding:0;border:none;border-radius:var(--co-border-radius-sm);overflow:hidden;aspect-ratio:3 / 2;background:var(--co-semantic-surface-hover);cursor:pointer}.co-file-field__preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview:hover img{transform:scale(1.02)}.co-file-field__preview--video{position:relative;background:var(--co-color-base-negro)}.co-file-field__preview-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--co-spacing-sm2);color:var(--co-color-base-blanco);pointer-events:none}.co-file-field__preview-play-badge{display:flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--co-border-radius-full);background:var(--co-color-opacity-negro-80);box-shadow:inset 0 0 0 1px var(--co-color-opacity-blanco-25);transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__preview--video:hover .co-file-field__preview-play-badge{transform:scale(1.08)}.co-file-field__preview-play-badge co-icon{transform:translateX(1px)}.co-file-field__preview-ext{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-overline);color:var(--co-color-opacity-blanco-80)}.co-file-field__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-file-field__row{display:flex;align-items:center;gap:var(--co-spacing-lg);padding:var(--co-spacing-xl);background:var(--co-semantic-surface-hover);border:1px solid transparent;border-radius:var(--co-border-radius-sm)}.co-file-field__row--error{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-file-field__row--dragging{opacity:0.5}.co-file-field__row--drop-target{border-color:var(--co-semantic-border-focus);background:var(--co-semantic-surface-hover)}.co-file-field__drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--co-semantic-text-secondary);cursor:grab}.co-file-field__drag-handle:active{cursor:grabbing}.co-file-field__row-icon{flex-shrink:0;color:var(--co-semantic-text-secondary);display:flex;align-items:center}.co-file-field__row--error .co-file-field__row-icon{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}.co-file-field__row-icon--spin{animation:co-file-spin 0.8s linear infinite}@keyframes co-file-spin{to{transform:rotate(360deg)}}.co-file-field__row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--co-spacing-xs)}.co-file-field__row-name{color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-file-field__row-error{color:var(--co-semantic-text-error, var(--co-semantic-status-error));font-size:var(--co-font-size-12)}.co-file-field__row-size{flex-shrink:0;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);line-height:1;white-space:nowrap}.co-file-field__progress{position:relative;height:4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-surface-hover);overflow:hidden}.co-file-field__progress-bar{position:absolute;inset:0;width:40%;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info);transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-file-field__progress-bar:not([style]){animation:co-file-indeterminate 1.2s ease-in-out infinite}@keyframes co-file-indeterminate{0%{left:-40%}100%{left:100%}}.co-file-field__action{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;text-decoration:none;color:var(--co-semantic-text-secondary);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-file-field__action:hover{color:var(--co-semantic-text-default)}.co-file-field__action--copied,.co-file-field__action--copied:hover{color:var(--co-color-primary-verde)}.co-file-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-file-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-file-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);line-height:1}.co-file-field--disabled{opacity:0.6;pointer-events:none}.co-file-field--invalid .co-file-field__dropzone,.co-file-field--error .co-file-field__dropzone{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-file-field__helper--error .co-file-field__helper-icon,.co-file-field__helper--error .co-file-field__helper-text{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}:host([layout='horizontal']) .co-file-field{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-file-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-file-field__label{white-space:normal}:host([layout='horizontal']) .co-file-field>:not(.co-file-field__labels){grid-column:2;min-width:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-file-field__dropzone{background:var(--co-semantic-surface-hover)}}"}},[257,"co-file-field",{label:[1],disabled:[4],readonly:[4],required:[4],multiple:[4],accept:[1],maxFiles:[2,"max-files"],maxBytes:[2,"max-bytes"],status:[1],helperText:[1,"helper-text"],layout:[513],locale:[1],uploadButtonText:[1,"upload-button-text"],dropText:[1,"drop-text"],uploadedTitle:[1,"uploaded-title"],reorderable:[4],files:[1],dragOver:[32],localError:[32],copiedKey:[32],armedKey:[32],dragKey:[32],overKey:[32],failedPreviews:[32]}]);function z(){"undefined"!=typeof customElements&&["co-file-field","co-icon","co-kbd","co-lightbox","co-tooltip","co-video"].forEach((i=>{switch(i){case"co-file-field":customElements.get(e(i))||customElements.define(e(i),k);break;case"co-icon":customElements.get(e(i))||n();break;case"co-kbd":customElements.get(e(i))||l();break;case"co-lightbox":customElements.get(e(i))||d();break;case"co-tooltip":customElements.get(e(i))||f();break;case"co-video":customElements.get(e(i))||h()}}))}z();const D=k,j=z;export{D as CoFileField,j as defineCustomElement}
@@ -1 +1 @@
1
- import{C as o,d as s}from"./p-CMMv2RcH.js";const p=o,r=s;export{p as CoLightbox,r as defineCustomElement}
1
+ import{C as o,d as s}from"./p-BMyWdiVO.js";const p=o,r=s;export{p as CoLightbox,r as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as t,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-qMNHMnvI.js";import{d as a}from"./p-DldA2IL3.js";import{d as n}from"./p-B5F93Ujt.js";const l=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=s(this,"coSelect",7),this.selected=!1,this.disabled=!1,this.dense=!1,this.labelTruncated=!1,this.descTruncated=!1,this.measureTruncation=()=>{const e=!!this.labelEl&&this.labelEl.scrollWidth>this.labelEl.clientWidth+1,t=!!this.descEl&&this.descEl.scrollWidth>this.descEl.clientWidth+1;e!==this.labelTruncated&&(this.labelTruncated=e),t!==this.descTruncated&&(this.descTruncated=t)},this.handleClick=()=>{this.disabled||this.coSelect.emit()},this.handleKeyDown=e=>{this.disabled||"Enter"!==e.key&&" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),this.coSelect.emit())}}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.ro=new ResizeObserver((()=>this.measureTruncation())),this.labelEl&&this.ro.observe(this.labelEl),this.descEl&&this.ro.observe(this.descEl)),this.measureTruncation()}disconnectedCallback(){var e;null===(e=this.ro)||void 0===e||e.disconnect(),this.ro=void 0}onTextChange(){requestAnimationFrame(this.measureTruncation)}render(){return o("div",{key:"a6c32a19bfad00a58ee718c6b11b7ea6e6222ffb",class:{"co-list-item":!0,"co-list-item--selected":this.selected,"co-list-item--disabled":this.disabled,"co-list-item--dense":this.dense,"co-list-item--has-description":!!this.description},part:"item",role:"option",tabindex:this.disabled?-1:0,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"35148e2d084823aae32c843d2e208abeba6a5663",class:"co-list-item__prefix"},this.icon&&o("co-icon",{key:"e23961cd6206752f13d4330f993f4bf529f479fc",name:this.icon,size:18}),o("slot",{key:"e8ade00ebb148ac3d78a78de713fdbdc58158ecd",name:"prefix"})),o("div",{key:"b8a49675857105a7680a074eb33f0b620f2d4e44",class:"co-list-item__content"},this.label&&o("co-tooltip",{key:"fbe492a5506bea83b43c79cf556379dd0c6b73ea",block:!0,class:"co-list-item__tip",content:this.label,placement:"top",disabled:!this.labelTruncated},o("span",{key:"c1d5ba3dec85c410881044124bdd3668ded0c564",class:"co-list-item__label",ref:e=>{this.labelEl=e,e&&this.ro&&this.ro.observe(e)}},this.label)),this.description&&o("co-tooltip",{key:"08d220de3fe6bcd4b6d550ca0b61ab049a263957",block:!0,class:"co-list-item__tip",content:this.description,placement:"top",disabled:!this.descTruncated},o("span",{key:"8e83073268550e77f38011fabc2a1bd716f8bd15",class:"co-list-item__description",ref:e=>{this.descEl=e,e&&this.ro&&this.ro.observe(e)}},this.description)),o("slot",{key:"1dfafc14b3fbf0853968b768c6c26f830c5ec124"})),o("span",{key:"6805f9644de89d654d26036a40e4b407292c6ea6",class:"co-list-item__suffix"},o("slot",{key:"7da172a7a0dda9707b8d08fdc522aef2e79ddbc0",name:"suffix"})))}get el(){return this}static get watchers(){return{label:[{onTextChange:0}],description:[{onTextChange:0}]}}static get style(){return":host{display:block}.co-list-item{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-md) var(--co-spacing-lg);font-family:var(--co-font-family-primary);cursor:pointer;border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:40px}.co-list-item--dense{gap:var(--co-spacing-sm);padding:6px var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);min-height:32px}.co-list-item--dense .co-list-item__label{font-size:var(--co-font-size-14)}.co-list-item:hover:not(.co-list-item--disabled){background:var(--co-semantic-surface-hover)}.co-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus)}.co-list-item--selected{background:var(--co-semantic-surface-muted)}.co-list-item--disabled{opacity:0.4;cursor:not-allowed}.co-list-item__prefix,.co-list-item__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-list-item__prefix:empty,.co-list-item__suffix:empty{display:none}.co-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.co-list-item__content>.co-list-item__tip{min-width:0;max-width:100%}.co-list-item__label{display:block;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-list-item__description{display:block;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"}},[257,"co-list-item",{label:[1],description:[1],icon:[1],selected:[516],disabled:[4],dense:[516],labelTruncated:[32],descTruncated:[32]},void 0,{label:[{onTextChange:0}],description:[{onTextChange:0}]}]);function d(){"undefined"!=typeof customElements&&["co-list-item","co-icon","co-kbd","co-tooltip"].forEach((t=>{switch(t){case"co-list-item":customElements.get(e(t))||customElements.define(e(t),l);break;case"co-icon":customElements.get(e(t))||c();break;case"co-kbd":customElements.get(e(t))||a();break;case"co-tooltip":customElements.get(e(t))||n()}}))}d();const r=l,h=d;export{r as CoListItem,h as defineCustomElement}
1
+ import{t as e,p as t,H as i,c as s,h as o}from"./index.js";import{d as c}from"./p-qMNHMnvI.js";import{d as a}from"./p-DldA2IL3.js";import{d as n}from"./p-DRL-a5hO.js";const l=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=s(this,"coSelect",7),this.selected=!1,this.disabled=!1,this.dense=!1,this.labelTruncated=!1,this.descTruncated=!1,this.measureTruncation=()=>{const e=!!this.labelEl&&this.labelEl.scrollWidth>this.labelEl.clientWidth+1,t=!!this.descEl&&this.descEl.scrollWidth>this.descEl.clientWidth+1;e!==this.labelTruncated&&(this.labelTruncated=e),t!==this.descTruncated&&(this.descTruncated=t)},this.handleClick=()=>{this.disabled||this.coSelect.emit()},this.handleKeyDown=e=>{this.disabled||"Enter"!==e.key&&" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),this.coSelect.emit())}}componentDidLoad(){"undefined"!=typeof ResizeObserver&&(this.ro=new ResizeObserver((()=>this.measureTruncation())),this.labelEl&&this.ro.observe(this.labelEl),this.descEl&&this.ro.observe(this.descEl)),this.measureTruncation()}disconnectedCallback(){var e;null===(e=this.ro)||void 0===e||e.disconnect(),this.ro=void 0}onTextChange(){requestAnimationFrame(this.measureTruncation)}render(){return o("div",{key:"a6c32a19bfad00a58ee718c6b11b7ea6e6222ffb",class:{"co-list-item":!0,"co-list-item--selected":this.selected,"co-list-item--disabled":this.disabled,"co-list-item--dense":this.dense,"co-list-item--has-description":!!this.description},part:"item",role:"option",tabindex:this.disabled?-1:0,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown},o("span",{key:"35148e2d084823aae32c843d2e208abeba6a5663",class:"co-list-item__prefix"},this.icon&&o("co-icon",{key:"e23961cd6206752f13d4330f993f4bf529f479fc",name:this.icon,size:18}),o("slot",{key:"e8ade00ebb148ac3d78a78de713fdbdc58158ecd",name:"prefix"})),o("div",{key:"b8a49675857105a7680a074eb33f0b620f2d4e44",class:"co-list-item__content"},this.label&&o("co-tooltip",{key:"fbe492a5506bea83b43c79cf556379dd0c6b73ea",block:!0,class:"co-list-item__tip",content:this.label,placement:"top",disabled:!this.labelTruncated},o("span",{key:"c1d5ba3dec85c410881044124bdd3668ded0c564",class:"co-list-item__label",ref:e=>{this.labelEl=e,e&&this.ro&&this.ro.observe(e)}},this.label)),this.description&&o("co-tooltip",{key:"08d220de3fe6bcd4b6d550ca0b61ab049a263957",block:!0,class:"co-list-item__tip",content:this.description,placement:"top",disabled:!this.descTruncated},o("span",{key:"8e83073268550e77f38011fabc2a1bd716f8bd15",class:"co-list-item__description",ref:e=>{this.descEl=e,e&&this.ro&&this.ro.observe(e)}},this.description)),o("slot",{key:"1dfafc14b3fbf0853968b768c6c26f830c5ec124"})),o("span",{key:"6805f9644de89d654d26036a40e4b407292c6ea6",class:"co-list-item__suffix"},o("slot",{key:"7da172a7a0dda9707b8d08fdc522aef2e79ddbc0",name:"suffix"})))}get el(){return this}static get watchers(){return{label:[{onTextChange:0}],description:[{onTextChange:0}]}}static get style(){return":host{display:block}.co-list-item{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-md) var(--co-spacing-lg);font-family:var(--co-font-family-primary);cursor:pointer;border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);box-sizing:border-box;min-height:40px}.co-list-item--dense{gap:var(--co-spacing-sm);padding:6px var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);min-height:32px}.co-list-item--dense .co-list-item__label{font-size:var(--co-font-size-14)}.co-list-item:hover:not(.co-list-item--disabled){background:var(--co-semantic-surface-hover)}.co-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--co-semantic-border-focus)}.co-list-item--selected{background:var(--co-semantic-surface-muted)}.co-list-item--disabled{opacity:0.4;cursor:not-allowed}.co-list-item__prefix,.co-list-item__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-list-item__prefix:empty,.co-list-item__suffix:empty{display:none}.co-list-item__content{display:flex;flex-direction:column;flex:1;min-width:0}.co-list-item__content>.co-list-item__tip{min-width:0;max-width:100%}.co-list-item__label{display:block;font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-default);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-list-item__description{display:block;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"}},[257,"co-list-item",{label:[1],description:[1],icon:[1],selected:[516],disabled:[4],dense:[516],labelTruncated:[32],descTruncated:[32]},void 0,{label:[{onTextChange:0}],description:[{onTextChange:0}]}]);function d(){"undefined"!=typeof customElements&&["co-list-item","co-icon","co-kbd","co-tooltip"].forEach((t=>{switch(t){case"co-list-item":customElements.get(e(t))||customElements.define(e(t),l);break;case"co-icon":customElements.get(e(t))||c();break;case"co-kbd":customElements.get(e(t))||a();break;case"co-tooltip":customElements.get(e(t))||n()}}))}d();const r=l,h=d;export{r as CoListItem,h as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as t,H as i,c as o,h as n}from"./index.js";import{s,S as c,a,b as r,i as m}from"./p-DU-KOQ8L.js";import{d as u}from"./p-qMNHMnvI.js";import{d as l}from"./p-xtGT3YeI.js";const h=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=o(this,"coSelect",7),this.coMenuSelect=o(this,"coMenuSelect",7),this.dense=!1,this.selected=!1,this.trailingCheck=!1,this.leadingCheck=!1,this.disabled=!1,this.variant="default",this.hasSubmenu=!1,this.submenuOpen=!1,this.submenuPlacementValue="right-start",this.handleClick=e=>{if(!this.disabled){if(this.hasSubmenu)return e.stopPropagation(),void this.openSubmenu();this.coSelect.emit(),this.coMenuSelect.emit()}},this.handleKeydown=e=>{var t;this.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.handleClick(e)):"ArrowRight"===e.key&&this.hasSubmenu?(e.preventDefault(),this.openSubmenu(),requestAnimationFrame((()=>{var e;const t=this.el.querySelector("co-menu-item");null===(e=null==t?void 0:t.focusItem)||void 0===e||e.call(t)}))):"ArrowLeft"===e.key&&this.submenuOpen&&(e.preventDefault(),this.submenuOpen=!1,null===(t=this.rowEl)||void 0===t||t.focus()))},this.handleMouseEnter=()=>{!this.disabled&&this.hasSubmenu&&(this.cancelClose(),this.openSubmenu())},this.handleMouseLeave=()=>{this.hasSubmenu&&this.scheduleClose()},this.handlePlacement=e=>{const t=s(e.detail.placement);t&&this.el.setAttribute(c,t)},this.cancelClose=()=>{this.closeTimer&&(window.clearTimeout(this.closeTimer),this.closeTimer=void 0)}}onSubmenuOpenChange(e){e?this.el.setAttribute("data-submenu-open",""):this.el.removeAttribute("data-submenu-open")}async focusItem(){var e;null===(e=this.rowEl)||void 0===e||e.focus()}componentWillLoad(){this.hasSubmenu=this.detectSubmenu()}disconnectedCallback(){this.cancelClose()}detectSubmenu(){for(const e of Array.from(this.el.children)){const t=e.tagName.toLowerCase();if("co-menu-item"===t||"co-menu-divider"===t)return!0}return!1}openSubmenu(){this.submenuOpen||this.closeSiblingSubmenus(),this.submenuPlacementValue=a(m(this.el),r(this.el)),this.submenuOpen=!0}async closeSubmenu(){this.cancelClose(),this.submenuOpen=!1}closeSiblingSubmenus(){var e,t;const i=this.el.parentElement;if(i)for(const o of Array.from(i.children))o!==this.el&&"co-menu-item"===o.tagName.toLowerCase()&&(null===(t=(e=o).closeSubmenu)||void 0===t||t.call(e))}scheduleClose(){this.cancelClose(),this.closeTimer=window.setTimeout((()=>{this.submenuOpen=!1}),260)}render(){var e;const t=n("button",{ref:e=>this.rowEl=e,class:{"co-menu-item":!0,"co-menu-item--dense":this.dense,"co-menu-item--selected":this.selected,"co-menu-item--disabled":this.disabled,"co-menu-item--danger":"danger"===this.variant,"co-menu-item--submenu":this.hasSubmenu,"co-menu-item--submenu-open":this.hasSubmenu&&this.submenuOpen},type:"button",role:"menuitem","aria-haspopup":this.hasSubmenu?"menu":void 0,"aria-expanded":this.hasSubmenu?this.submenuOpen?"true":"false":void 0,disabled:this.disabled,onClick:this.handleClick,onKeyDown:this.handleKeydown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.leadingCheck&&n("span",{class:"co-menu-item__check co-menu-item__check--leading"},this.selected&&n("co-icon",{name:"check",size:12})),this.icon&&n("span",{class:"co-menu-item__icon"},n("co-icon",{name:this.icon,size:null!==(e=this.iconSize)&&void 0!==e?e:16})),n("span",{class:{"co-menu-item__label":!0,"co-menu-item__label--stacked":!!this.caption}},n("span",{class:"co-menu-item__label-main"},this.label,n("slot",{name:"label"})),this.caption&&n("span",{class:"co-menu-item__caption"},this.caption)),this.trailingCheck&&n("span",{class:"co-menu-item__check"},n("co-icon",{name:"check",size:15})),n("span",{class:"co-menu-item__suffix"},n("slot",{name:"suffix"}),this.hasSubmenu&&n("co-icon",{name:"caret-right",size:14})));return this.hasSubmenu?n("div",{class:"co-menu-item__wrap co-menu-item__wrap--submenu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},n("co-popover",{placement:this.submenuPlacementValue,offset:4,open:this.submenuOpen,bare:!0,onCoOpen:()=>this.openSubmenu(),onCoClose:()=>{this.submenuOpen=!1},onCoPlacement:this.handlePlacement},n("div",{slot:"trigger",class:"co-menu-item__trigger-wrap"},t),n("div",{class:"co-menu-item__submenu",role:"menu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},n("slot",null)))):n("div",{class:"co-menu-item__wrap"},t)}get el(){return this}static get watchers(){return{submenuOpen:[{onSubmenuOpenChange:0}]}}static get style(){return":host{display:block}.co-menu-item__wrap{display:block}.co-menu-item{width:100%;display:flex;align-items:center;gap:var(--co-menu-item-gap, var(--co-spacing-sm, 8px));padding:var(--co-menu-item-padding, var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px));background:transparent;border:0;border-radius:var(--co-border-radius-xs, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-menu-item-font-size, var(--co-font-size-14, 14px));font-weight:var(--co-menu-item-font-weight, normal);letter-spacing:var(--co-menu-item-letter-spacing, normal);line-height:var(--co-menu-item-line-height, normal);color:var(--co-menu-item-color, var(--co-semantic-text-default));text-align:left;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:var(--co-menu-item-height, 36px);box-sizing:border-box}.co-menu-item--dense{padding:var(--co-spacing-xs, 4px) var(--co-spacing-md, 12px);min-height:32px}.co-menu-item--selected{background:var(--co-menu-item-selected-bg, var(--co-semantic-surface-control, #f6f6f6))}.co-menu-item:hover,.co-menu-item--submenu-open{background:var(--co-menu-item-hover-bg, var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04)))}.co-menu-item:focus-visible{outline:2px solid var(--co-semantic-border-focus, #2563eb);outline-offset:-2px}.co-menu-item--disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.co-menu-item--danger{color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b))}.co-menu-item--danger:hover{background:var(--co-semantic-surface-error, var(--co-color-status-bg-error, #ffefef));color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b))}.co-menu-item__icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-icon-color, currentColor)}.co-menu-item__check{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-color, var(--co-semantic-text-default))}.co-menu-item__label{flex:1;display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-menu-item__label--stacked{flex-direction:column;align-items:flex-start;gap:1px}.co-menu-item__label-main{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px)}.co-menu-item__caption{font-size:var(--co-font-size-11, 11px);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap}.co-menu-item__suffix{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-menu-item--submenu-open .co-menu-item__suffix{color:var(--co-semantic-text-default)}.co-menu-item__trigger-wrap{display:block}.co-menu-item__wrap--submenu>co-popover{display:block;width:100%}.co-menu-item__submenu{background:var(--co-menu-submenu-bg, var(--co-semantic-surface-secondary, #fff));border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:180px;display:flex;flex-direction:column;gap:2px;position:relative}.co-menu-item__submenu::before,.co-menu-item__submenu::after{content:'';position:absolute;top:0;bottom:0;width:6px;}.co-menu-item__submenu::before{left:-6px}.co-menu-item__submenu::after{right:-6px}.co-menu-item__check--leading{width:12px;justify-content:center}"}},[257,"co-menu-item",{icon:[1],iconSize:[2,"icon-size"],label:[1],caption:[1],dense:[4],selected:[4],trailingCheck:[4,"trailing-check"],leadingCheck:[4,"leading-check"],disabled:[4],variant:[1],hasSubmenu:[32],submenuOpen:[32],submenuPlacementValue:[32],focusItem:[64],closeSubmenu:[64]},void 0,{submenuOpen:[{onSubmenuOpenChange:0}]}]);function p(){"undefined"!=typeof customElements&&["co-menu-item","co-icon","co-popover"].forEach((t=>{switch(t){case"co-menu-item":customElements.get(e(t))||customElements.define(e(t),h);break;case"co-icon":customElements.get(e(t))||u();break;case"co-popover":customElements.get(e(t))||l()}}))}p();const d=h,f=p;export{d as CoMenuItem,f as defineCustomElement}
1
+ import{t as e,p as t,H as i,c as o,h as n}from"./index.js";import{s,S as c,a,b as r,i as m}from"./p-DU-KOQ8L.js";import{d as u}from"./p-qMNHMnvI.js";import{d as l}from"./p-xA7AfoIW.js";const h=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coSelect=o(this,"coSelect",7),this.coMenuSelect=o(this,"coMenuSelect",7),this.dense=!1,this.selected=!1,this.trailingCheck=!1,this.leadingCheck=!1,this.disabled=!1,this.variant="default",this.hasSubmenu=!1,this.submenuOpen=!1,this.submenuPlacementValue="right-start",this.handleClick=e=>{if(!this.disabled){if(this.hasSubmenu)return e.stopPropagation(),void this.openSubmenu();this.coSelect.emit(),this.coMenuSelect.emit()}},this.handleKeydown=e=>{var t;this.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.handleClick(e)):"ArrowRight"===e.key&&this.hasSubmenu?(e.preventDefault(),this.openSubmenu(),requestAnimationFrame((()=>{var e;const t=this.el.querySelector("co-menu-item");null===(e=null==t?void 0:t.focusItem)||void 0===e||e.call(t)}))):"ArrowLeft"===e.key&&this.submenuOpen&&(e.preventDefault(),this.submenuOpen=!1,null===(t=this.rowEl)||void 0===t||t.focus()))},this.handleMouseEnter=()=>{!this.disabled&&this.hasSubmenu&&(this.cancelClose(),this.openSubmenu())},this.handleMouseLeave=()=>{this.hasSubmenu&&this.scheduleClose()},this.handlePlacement=e=>{const t=s(e.detail.placement);t&&this.el.setAttribute(c,t)},this.cancelClose=()=>{this.closeTimer&&(window.clearTimeout(this.closeTimer),this.closeTimer=void 0)}}onSubmenuOpenChange(e){e?this.el.setAttribute("data-submenu-open",""):this.el.removeAttribute("data-submenu-open")}async focusItem(){var e;null===(e=this.rowEl)||void 0===e||e.focus()}componentWillLoad(){this.hasSubmenu=this.detectSubmenu()}disconnectedCallback(){this.cancelClose()}detectSubmenu(){for(const e of Array.from(this.el.children)){const t=e.tagName.toLowerCase();if("co-menu-item"===t||"co-menu-divider"===t)return!0}return!1}openSubmenu(){this.submenuOpen||this.closeSiblingSubmenus(),this.submenuPlacementValue=a(m(this.el),r(this.el)),this.submenuOpen=!0}async closeSubmenu(){this.cancelClose(),this.submenuOpen=!1}closeSiblingSubmenus(){var e,t;const i=this.el.parentElement;if(i)for(const o of Array.from(i.children))o!==this.el&&"co-menu-item"===o.tagName.toLowerCase()&&(null===(t=(e=o).closeSubmenu)||void 0===t||t.call(e))}scheduleClose(){this.cancelClose(),this.closeTimer=window.setTimeout((()=>{this.submenuOpen=!1}),260)}render(){var e;const t=n("button",{ref:e=>this.rowEl=e,class:{"co-menu-item":!0,"co-menu-item--dense":this.dense,"co-menu-item--selected":this.selected,"co-menu-item--disabled":this.disabled,"co-menu-item--danger":"danger"===this.variant,"co-menu-item--submenu":this.hasSubmenu,"co-menu-item--submenu-open":this.hasSubmenu&&this.submenuOpen},type:"button",role:"menuitem","aria-haspopup":this.hasSubmenu?"menu":void 0,"aria-expanded":this.hasSubmenu?this.submenuOpen?"true":"false":void 0,disabled:this.disabled,onClick:this.handleClick,onKeyDown:this.handleKeydown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.leadingCheck&&n("span",{class:"co-menu-item__check co-menu-item__check--leading"},this.selected&&n("co-icon",{name:"check",size:12})),this.icon&&n("span",{class:"co-menu-item__icon"},n("co-icon",{name:this.icon,size:null!==(e=this.iconSize)&&void 0!==e?e:16})),n("span",{class:{"co-menu-item__label":!0,"co-menu-item__label--stacked":!!this.caption}},n("span",{class:"co-menu-item__label-main"},this.label,n("slot",{name:"label"})),this.caption&&n("span",{class:"co-menu-item__caption"},this.caption)),this.trailingCheck&&n("span",{class:"co-menu-item__check"},n("co-icon",{name:"check",size:15})),n("span",{class:"co-menu-item__suffix"},n("slot",{name:"suffix"}),this.hasSubmenu&&n("co-icon",{name:"caret-right",size:14})));return this.hasSubmenu?n("div",{class:"co-menu-item__wrap co-menu-item__wrap--submenu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},n("co-popover",{placement:this.submenuPlacementValue,offset:4,open:this.submenuOpen,bare:!0,onCoOpen:()=>this.openSubmenu(),onCoClose:()=>{this.submenuOpen=!1},onCoPlacement:this.handlePlacement},n("div",{slot:"trigger",class:"co-menu-item__trigger-wrap"},t),n("div",{class:"co-menu-item__submenu",role:"menu",onMouseEnter:this.cancelClose,onMouseLeave:this.handleMouseLeave},n("slot",null)))):n("div",{class:"co-menu-item__wrap"},t)}get el(){return this}static get watchers(){return{submenuOpen:[{onSubmenuOpenChange:0}]}}static get style(){return":host{display:block}.co-menu-item__wrap{display:block}.co-menu-item{width:100%;display:flex;align-items:center;gap:var(--co-menu-item-gap, var(--co-spacing-sm, 8px));padding:var(--co-menu-item-padding, var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px));background:transparent;border:0;border-radius:var(--co-border-radius-xs, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-menu-item-font-size, var(--co-font-size-14, 14px));font-weight:var(--co-menu-item-font-weight, normal);letter-spacing:var(--co-menu-item-letter-spacing, normal);line-height:var(--co-menu-item-line-height, normal);color:var(--co-menu-item-color, var(--co-semantic-text-default));text-align:left;cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:var(--co-menu-item-height, 36px);box-sizing:border-box}.co-menu-item--dense{padding:var(--co-spacing-xs, 4px) var(--co-spacing-md, 12px);min-height:32px}.co-menu-item--selected{background:var(--co-menu-item-selected-bg, var(--co-semantic-surface-control, #f6f6f6))}.co-menu-item:hover,.co-menu-item--submenu-open{background:var(--co-menu-item-hover-bg, var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04)))}.co-menu-item:focus-visible{outline:2px solid var(--co-semantic-border-focus, #2563eb);outline-offset:-2px}.co-menu-item--disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.co-menu-item--danger{color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b))}.co-menu-item--danger:hover{background:var(--co-semantic-surface-error, var(--co-color-status-bg-error, #ffefef));color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b))}.co-menu-item__icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-icon-color, currentColor)}.co-menu-item__check{display:inline-flex;align-items:center;flex-shrink:0;color:var(--co-menu-item-color, var(--co-semantic-text-default))}.co-menu-item__label{flex:1;display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-menu-item__label--stacked{flex-direction:column;align-items:flex-start;gap:1px}.co-menu-item__label-main{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px)}.co-menu-item__caption{font-size:var(--co-font-size-11, 11px);color:var(--co-semantic-text-muted);line-height:1.3;white-space:nowrap}.co-menu-item__suffix{display:inline-flex;align-items:center;gap:var(--co-spacing-xs, 4px);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-menu-item--submenu-open .co-menu-item__suffix{color:var(--co-semantic-text-default)}.co-menu-item__trigger-wrap{display:block}.co-menu-item__wrap--submenu>co-popover{display:block;width:100%}.co-menu-item__submenu{background:var(--co-menu-submenu-bg, var(--co-semantic-surface-secondary, #fff));border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:180px;display:flex;flex-direction:column;gap:2px;position:relative}.co-menu-item__submenu::before,.co-menu-item__submenu::after{content:'';position:absolute;top:0;bottom:0;width:6px;}.co-menu-item__submenu::before{left:-6px}.co-menu-item__submenu::after{right:-6px}.co-menu-item__check--leading{width:12px;justify-content:center}"}},[257,"co-menu-item",{icon:[1],iconSize:[2,"icon-size"],label:[1],caption:[1],dense:[4],selected:[4],trailingCheck:[4,"trailing-check"],leadingCheck:[4,"leading-check"],disabled:[4],variant:[1],hasSubmenu:[32],submenuOpen:[32],submenuPlacementValue:[32],focusItem:[64],closeSubmenu:[64]},void 0,{submenuOpen:[{onSubmenuOpenChange:0}]}]);function p(){"undefined"!=typeof customElements&&["co-menu-item","co-icon","co-popover"].forEach((t=>{switch(t){case"co-menu-item":customElements.get(e(t))||customElements.define(e(t),h);break;case"co-icon":customElements.get(e(t))||u();break;case"co-popover":customElements.get(e(t))||l()}}))}p();const d=h,f=p;export{d as CoMenuItem,f as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as o,H as t,c as s,h as r}from"./index.js";import{M as n,m as a}from"./p-DU-KOQ8L.js";import{d as c}from"./p-xtGT3YeI.js";const i=o(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.placement="bottom-end",this.offset=4,this.autoClose=!0,this.open=!1,this.surface="light",this.shift=0,this.handleKeydown=e=>{if(this.open)switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),this.open=!1;break;case"ArrowDown":case"ArrowUp":e.preventDefault(),this.moveFocus("ArrowDown"===e.key?1:-1)}},this.handlePopoverOpen=()=>{this.open=!0,this.coOpen.emit()},this.handlePlacement=e=>{this.el.setAttribute(n,a(e.detail.placement))},this.handlePopoverClose=()=>{this.open=!1,this.coClose.emit()}}handleMenuSelect(){this.autoClose&&(this.open=!1)}onOpenChange(e){e?(document.addEventListener("keydown",this.handleKeydown,!0),requestAnimationFrame((()=>this.focusFirstItem()))):document.removeEventListener("keydown",this.handleKeydown,!0)}componentDidLoad(){this.open&&this.onOpenChange(!0)}disconnectedCallback(){document.removeEventListener("keydown",this.handleKeydown,!0)}async focusFirstItem(){var e,o;null===(o=null===(e=this.getMenuItems()[0])||void 0===e?void 0:e.focusItem)||void 0===o||o.call(e)}getMenuItems(){return d(this.activePanel())}activePanel(){let e=this.el;for(;;){const o=d(e).find((e=>e.hasAttribute("data-submenu-open")));if(!o)return e;e=o}}moveFocus(e){var o,t;const s=this.getMenuItems().filter((e=>!e.disabled));if(0===s.length)return;const r=document.activeElement;let n=s.findIndex((e=>e===r||e.contains(r)));-1===n&&(n=e>0?-1:s.length),null===(t=null===(o=s[(n+e+s.length)%s.length])||void 0===o?void 0:o.focusItem)||void 0===t||t.call(o)}render(){return r("co-popover",{key:"41f0d2432b04182a1d0021510b27ee8ed902fe7a",placement:this.placement,offset:this.offset,open:this.open,anchor:this.anchor,shift:this.shift,bare:!0,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose,onCoPlacement:this.handlePlacement},r("slot",{key:"a45e0b41289cfecd6bdb47eb31620136e3e037c7",name:"trigger",slot:"trigger"}),r("div",{key:"c085991353c461adbed052de7d657f2082da5432",class:"co-menu",role:"menu",style:this.width?{width:this.width,minWidth:this.width}:void 0},r("slot",{key:"c839a7ac6c8ea39336a552e4f5165aab5a8d5682"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}.co-menu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:200px;display:flex;flex-direction:column;gap:2px;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default)}.co-menu{gap:var(--co-menu-gap, 2px);min-width:var(--co-menu-min-width, 200px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-menu-border-color, var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08)))}.co-menu{border-radius:var(--co-menu-radius, var(--co-border-radius-sm, 12px));max-height:var(--co-menu-max-height, none);overflow:var(--co-menu-overflow, visible)}:host([surface='dark']) .co-menu{background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);box-shadow:var(--co-menu-shadow, none);border-radius:var(--co-menu-radius, var(--co-border-radius-xs, 8px));min-width:auto}:host([surface='dark']) ::slotted(co-menu-item){--co-menu-item-color:var(--co-semantic-text-inverse);--co-menu-item-hover-bg:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16));--co-menu-item-selected-bg:transparent;--co-menu-submenu-bg:var(--co-semantic-surface-primary);--co-menu-divider-color:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16))}:host([surface='dark']) ::slotted(co-menu-divider){--co-menu-divider-color:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16))}"}},[257,"co-menu",{placement:[1],offset:[2],autoClose:[4,"auto-close"],open:[1540],width:[1],surface:[513],anchor:[1],shift:[2],focusFirstItem:[64]},[[0,"coMenuSelect","handleMenuSelect"]],{open:[{onOpenChange:0}]}]);function d(e){const o="co-menu-item"===e.tagName.toLowerCase();return Array.from(e.querySelectorAll("co-menu-item")).filter((t=>{var s,r;const n=null!==(r=null===(s=t.parentElement)||void 0===s?void 0:s.closest("co-menu-item"))&&void 0!==r?r:null;return o?n===e:null===n}))}function u(){"undefined"!=typeof customElements&&["co-menu","co-popover"].forEach((o=>{switch(o){case"co-menu":customElements.get(e(o))||customElements.define(e(o),i);break;case"co-popover":customElements.get(e(o))||c()}}))}u();const m=i,h=u;export{m as CoMenu,h as defineCustomElement}
1
+ import{t as e,p as o,H as t,c as s,h as r}from"./index.js";import{M as n,m as a}from"./p-DU-KOQ8L.js";import{d as c}from"./p-xA7AfoIW.js";const i=o(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coOpen=s(this,"coOpen",3),this.coClose=s(this,"coClose",3),this.placement="bottom-end",this.offset=4,this.autoClose=!0,this.open=!1,this.surface="light",this.shift=0,this.handleKeydown=e=>{if(this.open)switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),this.open=!1;break;case"ArrowDown":case"ArrowUp":e.preventDefault(),this.moveFocus("ArrowDown"===e.key?1:-1)}},this.handlePopoverOpen=()=>{this.open=!0,this.coOpen.emit()},this.handlePlacement=e=>{this.el.setAttribute(n,a(e.detail.placement))},this.handlePopoverClose=()=>{this.open=!1,this.coClose.emit()}}handleMenuSelect(){this.autoClose&&(this.open=!1)}onOpenChange(e){e?(document.addEventListener("keydown",this.handleKeydown,!0),requestAnimationFrame((()=>this.focusFirstItem()))):document.removeEventListener("keydown",this.handleKeydown,!0)}componentDidLoad(){this.open&&this.onOpenChange(!0)}disconnectedCallback(){document.removeEventListener("keydown",this.handleKeydown,!0)}async focusFirstItem(){var e,o;null===(o=null===(e=this.getMenuItems()[0])||void 0===e?void 0:e.focusItem)||void 0===o||o.call(e)}getMenuItems(){return d(this.activePanel())}activePanel(){let e=this.el;for(;;){const o=d(e).find((e=>e.hasAttribute("data-submenu-open")));if(!o)return e;e=o}}moveFocus(e){var o,t;const s=this.getMenuItems().filter((e=>!e.disabled));if(0===s.length)return;const r=document.activeElement;let n=s.findIndex((e=>e===r||e.contains(r)));-1===n&&(n=e>0?-1:s.length),null===(t=null===(o=s[(n+e+s.length)%s.length])||void 0===o?void 0:o.focusItem)||void 0===t||t.call(o)}render(){return r("co-popover",{key:"41f0d2432b04182a1d0021510b27ee8ed902fe7a",placement:this.placement,offset:this.offset,open:this.open,anchor:this.anchor,shift:this.shift,bare:!0,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose,onCoPlacement:this.handlePlacement},r("slot",{key:"a45e0b41289cfecd6bdb47eb31620136e3e037c7",name:"trigger",slot:"trigger"}),r("div",{key:"c085991353c461adbed052de7d657f2082da5432",class:"co-menu",role:"menu",style:this.width?{width:this.width,minWidth:this.width}:void 0},r("slot",{key:"c839a7ac6c8ea39336a552e4f5165aab5a8d5682"})))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return":host{display:contents}.co-menu{background:var(--co-semantic-surface-secondary, #fff);border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));padding:var(--co-menu-padding, var(--co-spacing-xs, 4px));min-width:200px;display:flex;flex-direction:column;gap:2px;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default)}.co-menu{gap:var(--co-menu-gap, 2px);min-width:var(--co-menu-min-width, 200px);box-shadow:var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)), inset 0 0 0 1px var(--co-menu-border-color, var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08)))}.co-menu{border-radius:var(--co-menu-radius, var(--co-border-radius-sm, 12px));max-height:var(--co-menu-max-height, none);overflow:var(--co-menu-overflow, visible)}:host([surface='dark']) .co-menu{background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);box-shadow:var(--co-menu-shadow, none);border-radius:var(--co-menu-radius, var(--co-border-radius-xs, 8px));min-width:auto}:host([surface='dark']) ::slotted(co-menu-item){--co-menu-item-color:var(--co-semantic-text-inverse);--co-menu-item-hover-bg:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16));--co-menu-item-selected-bg:transparent;--co-menu-submenu-bg:var(--co-semantic-surface-primary);--co-menu-divider-color:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16))}:host([surface='dark']) ::slotted(co-menu-divider){--co-menu-divider-color:var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16))}"}},[257,"co-menu",{placement:[1],offset:[2],autoClose:[4,"auto-close"],open:[1540],width:[1],surface:[513],anchor:[1],shift:[2],focusFirstItem:[64]},[[0,"coMenuSelect","handleMenuSelect"]],{open:[{onOpenChange:0}]}]);function d(e){const o="co-menu-item"===e.tagName.toLowerCase();return Array.from(e.querySelectorAll("co-menu-item")).filter((t=>{var s,r;const n=null!==(r=null===(s=t.parentElement)||void 0===s?void 0:s.closest("co-menu-item"))&&void 0!==r?r:null;return o?n===e:null===n}))}function u(){"undefined"!=typeof customElements&&["co-menu","co-popover"].forEach((o=>{switch(o){case"co-menu":customElements.get(e(o))||customElements.define(e(o),i);break;case"co-popover":customElements.get(e(o))||c()}}))}u();const m=i,h=u;export{m as CoMenu,h as defineCustomElement}