@prolibu-suite/cobalt-core 0.11.7 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +31 -31
- package/dist/cjs/co-calendar_3.cjs.entry.js +2 -1
- package/dist/cjs/co-kbd_2.cjs.entry.js +5 -4
- package/dist/cjs/co-lightbox.cjs.entry.js +7 -6
- package/dist/cjs/co-overlay.cjs.entry.js +4 -3
- package/dist/cjs/co-popover.cjs.entry.js +5 -4
- package/dist/cjs/co-sidebar-nav.cjs.entry.js +29 -8
- package/dist/cjs/index-bHoidDwv.js +4 -4
- package/dist/cjs/popoverApi-D1ChCCdO.js +27 -0
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/p-2832ab99.entry.js +1 -0
- package/dist/cobalt/p-299c2425.entry.js +1 -0
- package/dist/cobalt/p-438cc876.entry.js +1 -0
- package/dist/cobalt/p-Dp1JT0dm.js +1 -0
- package/dist/cobalt/p-b723aa47.entry.js +1 -0
- package/dist/cobalt/p-eab59be5.entry.js +1 -0
- package/dist/cobalt/p-f562bd96.entry.js +1 -0
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-color-area/co-color-area.js +2 -2
- package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
- package/dist/collection/components/co-combobox/co-combobox.js +1 -1
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-document-editor/co-document-editor.js +5 -5
- package/dist/collection/components/co-drawer/co-drawer.js +2 -1
- package/dist/collection/components/co-lightbox/co-lightbox.js +7 -6
- package/dist/collection/components/co-overlay/co-overlay.js +4 -3
- package/dist/collection/components/co-popover/co-popover.js +6 -5
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +1 -1
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +6 -190
- package/dist/collection/components/co-sidebar-nav/sidebar-icon-map.js +205 -0
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-tooltip/co-tooltip.js +5 -4
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
- package/dist/collection/utils/popoverApi.js +23 -0
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-avatar-group.js +1 -1
- package/dist/components/co-avatar.js +1 -1
- package/dist/components/co-color-picker.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-data-table.js +1 -1
- package/dist/components/co-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.js +1 -1
- package/dist/components/co-document-editor.js +1 -1
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-file-field.js +1 -1
- package/dist/components/co-lightbox.js +1 -1
- package/dist/components/co-list-item.js +1 -1
- package/dist/components/co-menu-item.js +1 -1
- package/dist/components/co-menu.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-option-list.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-popover.js +1 -1
- package/dist/components/co-ref-field.js +1 -1
- package/dist/components/co-select.js +1 -1
- package/dist/components/co-sidebar-nav.js +1 -1
- package/dist/components/co-tooltip.js +1 -1
- package/dist/components/{p-_S5htX1i.js → p-BGNXvnDr.js} +1 -1
- package/dist/components/p-BMyWdiVO.js +1 -0
- package/dist/components/{p-CaFwCFgg.js → p-BRIf9NGv.js} +1 -1
- package/dist/components/p-Bd6H9_5D.js +1 -0
- package/dist/components/{p-upZqhFKo.js → p-BkyYV32T.js} +1 -1
- package/dist/components/p-DHIa14ep.js +1 -0
- package/dist/components/p-DRL-a5hO.js +1 -0
- package/dist/components/p-Dp1JT0dm.js +1 -0
- package/dist/components/p-xA7AfoIW.js +1 -0
- package/dist/esm/co-calendar_3.entry.js +2 -1
- package/dist/esm/co-kbd_2.entry.js +5 -4
- package/dist/esm/co-lightbox.entry.js +7 -6
- package/dist/esm/co-overlay.entry.js +4 -3
- package/dist/esm/co-popover.entry.js +5 -4
- package/dist/esm/co-sidebar-nav.entry.js +29 -8
- package/dist/esm/index-DJkaRtbb.js +4 -4
- package/dist/esm/popoverApi-Dp1JT0dm.js +25 -0
- package/dist/types/components/co-sidebar-nav/sidebar-icon-map.d.ts +6 -0
- package/dist/types/utils/popoverApi.d.ts +12 -0
- package/package.json +2 -2
- package/dist/cobalt/p-60ea3d33.entry.js +0 -1
- package/dist/cobalt/p-84256bde.entry.js +0 -1
- package/dist/cobalt/p-8c22bf4b.entry.js +0 -1
- package/dist/cobalt/p-99781b0b.entry.js +0 -1
- package/dist/cobalt/p-b2c49664.entry.js +0 -1
- package/dist/cobalt/p-cf675968.entry.js +0 -1
- package/dist/components/p-B5F93Ujt.js +0 -1
- package/dist/components/p-CMMv2RcH.js +0 -1
- package/dist/components/p-CX0bNXK3.js +0 -1
- package/dist/components/p-Co0eKIiO.js +0 -1
- package/dist/components/p-xtGT3YeI.js +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DJkaRtbb.js';
|
|
2
2
|
import { l as langFromLocale } from './dateI18n-jYd9gu_c.js';
|
|
3
|
+
import { i as isPopoverOpen } from './popoverApi-Dp1JT0dm.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Built-in UI string dictionary for co-lightbox (aria labels + tooltips).
|
|
@@ -143,12 +144,12 @@ const CoLightbox = class {
|
|
|
143
144
|
if (this.open) {
|
|
144
145
|
clearTimeout(this.demoteTimer);
|
|
145
146
|
try {
|
|
146
|
-
if (!root
|
|
147
|
+
if (!isPopoverOpen(root))
|
|
147
148
|
root.showPopover();
|
|
148
149
|
}
|
|
149
150
|
catch ( /* not connected yet — the ref call retries */_a) { /* not connected yet — the ref call retries */ }
|
|
150
151
|
}
|
|
151
|
-
else if (root
|
|
152
|
+
else if (isPopoverOpen(root)) {
|
|
152
153
|
// Let the opacity fade-out run before display:none kicks in.
|
|
153
154
|
clearTimeout(this.demoteTimer);
|
|
154
155
|
this.demoteTimer = setTimeout(() => {
|
|
@@ -580,7 +581,7 @@ const CoLightbox = class {
|
|
|
580
581
|
const counter = s.counter
|
|
581
582
|
.replace('{i}', String(this.index + 1))
|
|
582
583
|
.replace('{n}', String(imgs.length));
|
|
583
|
-
return (h("div", { key: '
|
|
584
|
+
return (h("div", { key: '0e6491fbe0eb9515df66d167abb555ee00d68a07', class: { 'co-lightbox': true, 'co-lightbox--open': this.open }, part: "overlay", role: "dialog", "aria-modal": "true", "aria-label": img === null || img === void 0 ? void 0 : img.alt, popover: "manual", ref: this.syncTopLayer, onClick: this.requestClose }, img && (h("div", { key: '799faaab6bb3504d723732d47618d2489ff9eae4', class: "co-lightbox__toolbar", part: "toolbar", onClick: this.stop }, h("span", { key: 'a9fe7f715cb0b76c4c411514ab872f45022be9ed', class: "co-lightbox__caption", title: img.alt }, img.alt), !video && (h("div", { key: '9e0df923dd41bfaa5ed3ba28538e170529a19823', class: "co-lightbox__zoom" }, h("button", { key: 'c56a015724fe92be890e6d2681e552c303c02b0a', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomOut, title: s.zoomOut, onClick: () => this.zoomAt(this.scale / WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '6b84a1dac161507d4084fba067aa1d2b4bfea5ea', name: "minus", size: 16 })), h("button", { key: '0e4747500888c3bb7a35dbe490d936de053f1a0c', class: "co-lightbox__btn co-lightbox__zoom-value", type: "button", "aria-label": s.zoomReset, title: s.zoomReset, onClick: () => this.resetView() }, Math.round(this.scale * 100), "%"), h("button", { key: '52d89aa312e2eacf96072dd1f4b14f04a5966e81', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomIn, title: s.zoomIn, onClick: () => this.zoomAt(this.scale * WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: 'a32b55340d8027b57595c097d992de88b5cd8799', name: "plus", size: 16 })))), h("button", { key: 'f138d46223ac0db43b3ce037f323bb5f226260a9', class: "co-lightbox__btn", type: "button", "aria-label": s.openOriginal, title: s.openOriginal, onClick: this.openOriginal }, h("co-icon", { key: 'e39089e43b1178eb20bce0647c7b3f19e0c58110', name: "arrow-square-out", size: 16 })), h("button", { key: 'c52ebe7347d11c0c1416978002cc2b67ffc94a25', class: "co-lightbox__btn", part: "close", type: "button", "aria-label": s.close, title: s.close, ref: (el) => (this.closeBtnEl = el), onClick: this.requestClose }, h("co-icon", { key: 'bb3e0aac0dfa10c8b5de5cb54bd7601a8ae66dec', name: "x", size: 16 })))), img && (h("div", { key: '3597bd31e1b65efbb2c02cb55dbacf0ec43d7639', class: "co-lightbox__stage", ref: (el) => (this.stageEl = el), onWheel: video ? undefined : this.handleWheel }, video ? (h("co-video", { class: "co-lightbox__video", part: "video",
|
|
584
585
|
/* Keyed per slide: a fresh player is the only way to be sure
|
|
585
586
|
poster, error state and playback all start clean. */
|
|
586
587
|
key: `video-${this.index}`, ref: this.mountPlayer, src: img.src, poster: img.poster || '', aspectRatio: "auto", rounded: "none",
|
|
@@ -590,13 +591,13 @@ const CoLightbox = class {
|
|
|
590
591
|
'co-lightbox__img': true,
|
|
591
592
|
'co-lightbox__img--zoomed': this.scale > MIN_SCALE,
|
|
592
593
|
'co-lightbox__img--dragging': this.dragging,
|
|
593
|
-
}, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp })))), img && multi && (h("button", { key: '
|
|
594
|
+
}, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp })))), img && multi && (h("button", { key: '5185685a016df10825bd2ddd4479c074ab88b9e4', class: "co-lightbox__nav co-lightbox__nav--prev", part: "prev", type: "button", "aria-label": s.prevImage, title: s.prevImage, onClick: (e) => {
|
|
594
595
|
e.stopPropagation();
|
|
595
596
|
this.goTo(-1);
|
|
596
|
-
} }, h("co-icon", { key: '
|
|
597
|
+
} }, h("co-icon", { key: 'ff3d9a5e57dc9e74ef29c9ee8696040f46a295f2', name: "caret-left", size: 24 }))), img && multi && (h("button", { key: '33eaec6709a4f22490ff56c93a32de332c6adc65', class: "co-lightbox__nav co-lightbox__nav--next", part: "next", type: "button", "aria-label": s.nextImage, title: s.nextImage, onClick: (e) => {
|
|
597
598
|
e.stopPropagation();
|
|
598
599
|
this.goTo(1);
|
|
599
|
-
} }, h("co-icon", { key: '
|
|
600
|
+
} }, h("co-icon", { key: '1631e46b4d05c2f1495842adb2a6e524dc67b47d', name: "caret-right", size: 24 }))), img && multi && (h("div", { key: 'cf751691f9dffb1325c9a5183b1cca2c01bd28c4', class: "co-lightbox__counter", part: "counter", onClick: this.stop }, counter))));
|
|
600
601
|
}
|
|
601
602
|
get el() { return getElement(this); }
|
|
602
603
|
static get watchers() { return {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DJkaRtbb.js';
|
|
2
2
|
import { a as afterEventFor } from './overlayAfterClose-Ch1jfwZ2.js';
|
|
3
|
+
import { i as isPopoverOpen } from './popoverApi-Dp1JT0dm.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* ¿Un `click` sobre el fondo del overlay es un gesto de cierre?
|
|
@@ -311,7 +312,7 @@ const CoOverlay = class {
|
|
|
311
312
|
const el = this.overlayEl;
|
|
312
313
|
if (!this.open || !el || typeof el.showPopover !== 'function')
|
|
313
314
|
return;
|
|
314
|
-
if (!el
|
|
315
|
+
if (!isPopoverOpen(el))
|
|
315
316
|
return;
|
|
316
317
|
const active = this.deepActiveElement();
|
|
317
318
|
el.classList.add(REFRONT_CLASS);
|
|
@@ -352,7 +353,7 @@ const CoOverlay = class {
|
|
|
352
353
|
if (!el || typeof el.showPopover !== 'function')
|
|
353
354
|
return;
|
|
354
355
|
try {
|
|
355
|
-
const isShown = el
|
|
356
|
+
const isShown = isPopoverOpen(el);
|
|
356
357
|
if (this.open && !isShown)
|
|
357
358
|
el.showPopover();
|
|
358
359
|
else if (!this.open && isShown)
|
|
@@ -452,7 +453,7 @@ const CoOverlay = class {
|
|
|
452
453
|
focusables[nextIndex].focus();
|
|
453
454
|
}
|
|
454
455
|
render() {
|
|
455
|
-
return (h("div", { key: '
|
|
456
|
+
return (h("div", { key: '419d44027ef0e270aa9bddccc83bf3e93e1e78db', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '34ffc7586b41bced7d7f56b6189f654c1c5e1a7f' })));
|
|
456
457
|
}
|
|
457
458
|
get el() { return getElement(this); }
|
|
458
459
|
static get watchers() { return {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DJkaRtbb.js';
|
|
2
2
|
import { i as isAnchorVisible, c as computePosition, g as getOffsetAncestor, f as findScrollParents } from './positioning-BtliEQAT.js';
|
|
3
|
+
import { i as isPopoverOpen } from './popoverApi-Dp1JT0dm.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Pila global de popovers abiertos (orden de apertura). Permite que el
|
|
@@ -210,7 +211,7 @@ const CoPopover = class {
|
|
|
210
211
|
// resolves against the viewport regardless of any transformed/filtered
|
|
211
212
|
// ancestor — so skip the offset-ancestor compensation. It only applies in
|
|
212
213
|
// the no-Popover-API fallback where the panel still renders in place.
|
|
213
|
-
const promoted = this.panelEl
|
|
214
|
+
const promoted = isPopoverOpen(this.panelEl);
|
|
214
215
|
if (!promoted) {
|
|
215
216
|
if (!this.offsetAncestorComputed) {
|
|
216
217
|
this.cachedOffsetAncestor = getOffsetAncestor(this.panelEl);
|
|
@@ -386,7 +387,7 @@ const CoPopover = class {
|
|
|
386
387
|
if (!el || typeof el.showPopover !== 'function')
|
|
387
388
|
return;
|
|
388
389
|
try {
|
|
389
|
-
if (!el
|
|
390
|
+
if (!isPopoverOpen(el))
|
|
390
391
|
el.showPopover();
|
|
391
392
|
}
|
|
392
393
|
catch (_a) {
|
|
@@ -444,13 +445,13 @@ const CoPopover = class {
|
|
|
444
445
|
}
|
|
445
446
|
// ── Render ─────────────────────────────────────────────────
|
|
446
447
|
render() {
|
|
447
|
-
return (h("div", { key: '
|
|
448
|
+
return (h("div", { key: '36563fc43d535139e1dcacf5c10f7d94ac7c3c56', class: "co-popover" }, h("div", { key: 'b89ff545f53702c42e95058449644af4336c7b8e', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'aacbf2fbf099af3402d2a09d2f003893ed01b6da', name: "trigger" })), (this.open || this.closing) && (h("div", { key: '571d316922717803b4645e66302068f8081e8d36', class: { 'co-popover__panel': true, 'co-popover__panel--closing': this.closing }, part: "panel", popover: "manual", onTransitionEnd: this.handlePanelTransitionEnd, ref: (el) => {
|
|
448
449
|
if (el && el !== this.panelEl) {
|
|
449
450
|
this.panelEl = el;
|
|
450
451
|
this.promotePanel();
|
|
451
452
|
this.scheduleUpdate();
|
|
452
453
|
}
|
|
453
|
-
} }, h("slot", { key: '
|
|
454
|
+
} }, h("slot", { key: 'cd42d52c6bbdf2522ce692b75ba556da35c8a5b9' })))));
|
|
454
455
|
}
|
|
455
456
|
get el() { return getElement(this); }
|
|
456
457
|
static get watchers() { return {
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-DJkaRtbb.js';
|
|
2
2
|
import { n as normalizeText } from './normalizeText-Ba_v-MzM.js';
|
|
3
3
|
|
|
4
|
-
const coSidebarNavCss = () => `@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-spacer{visibility:hidden;white-space:nowrap;padding-left:0;padding-right:0}.co-sidebar-nav__category--min>:not(.co-sidebar-nav__category-spacer)+*{margin-top:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)));backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)))}.co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover)));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min co-tooltip{line-height:0}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:28px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-semantic-text-default);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-semantic-surface-control)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-semantic-text-default)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out);color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--co-motion-duration-slow) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out), padding var(--co-motion-duration-base) var(--co-motion-ease-out);padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}`;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Clave del menú de Prolibu → ícono Phosphor (lo usa `co-sidebar-nav`; el prop `icon-map`
|
|
6
|
+
* lo extiende). Una clave sin entrada cae a `circle`: `sidebar-icon-map.test.ts` cruza este
|
|
7
|
+
* mapa con las claves que manda el backend y verifica que cada ícono exista en Phosphor.
|
|
8
|
+
*/
|
|
9
|
+
const SIDEBAR_ICON_MAP = {
|
|
8
10
|
// Directory
|
|
9
11
|
Home: 'house',
|
|
10
12
|
Contacts: 'address-book',
|
|
11
13
|
Companies: 'buildings',
|
|
14
|
+
Leads: 'user-focus',
|
|
12
15
|
// Sales
|
|
13
16
|
Presentations: 'presentation-chart',
|
|
14
17
|
Deals: 'handshake',
|
|
18
|
+
TestDrive: 'steering-wheel',
|
|
15
19
|
Invoices: 'receipt',
|
|
16
20
|
Payments: 'credit-card',
|
|
17
21
|
// Communications
|
|
@@ -35,6 +39,7 @@ const DEFAULT_ICON_MAP = {
|
|
|
35
39
|
Meetings: 'video-camera',
|
|
36
40
|
Calls: 'phone-call',
|
|
37
41
|
CloudDrive: 'cloud',
|
|
42
|
+
Forms: 'note-pencil',
|
|
38
43
|
// Libraries
|
|
39
44
|
Quotes: 'quotes',
|
|
40
45
|
ContentTemplates: 'article',
|
|
@@ -57,6 +62,7 @@ const DEFAULT_ICON_MAP = {
|
|
|
57
62
|
// Configuration
|
|
58
63
|
Users: 'user',
|
|
59
64
|
UserTeams: 'users',
|
|
65
|
+
Teams: 'users',
|
|
60
66
|
UserGroups: 'user-circle-gear',
|
|
61
67
|
Roles: 'shield',
|
|
62
68
|
Workspaces: 'stack',
|
|
@@ -71,6 +77,7 @@ const DEFAULT_ICON_MAP = {
|
|
|
71
77
|
// Wizards
|
|
72
78
|
ProposalWizards: 'magic-wand',
|
|
73
79
|
WizardGroups: 'folders',
|
|
80
|
+
ProposalWizardGroup: 'folders',
|
|
74
81
|
// Advertising
|
|
75
82
|
AdHubs: 'storefront',
|
|
76
83
|
AdCampaigns: 'flag-banner',
|
|
@@ -93,6 +100,8 @@ const DEFAULT_ICON_MAP = {
|
|
|
93
100
|
Categories: 'folder-simple',
|
|
94
101
|
CustomFilters: 'funnel',
|
|
95
102
|
Logs: 'list-bullets',
|
|
103
|
+
ContactProtocols: 'list-checks',
|
|
104
|
+
Scorings: 'chart-line-up',
|
|
96
105
|
// Iot
|
|
97
106
|
Devices: 'cpu',
|
|
98
107
|
// Development
|
|
@@ -133,6 +142,15 @@ const DEFAULT_ICON_MAP = {
|
|
|
133
142
|
TourStudio: 'cube',
|
|
134
143
|
Docs: 'file-text',
|
|
135
144
|
Setup: 'gear-six',
|
|
145
|
+
SalesAndMarketing: 'trend-up',
|
|
146
|
+
CustomerService: 'lifebuoy',
|
|
147
|
+
HumanResources: 'identification-badge',
|
|
148
|
+
TicketsSetup: 'ticket',
|
|
149
|
+
CommunicationCenterSetup: 'headset',
|
|
150
|
+
// Inventory
|
|
151
|
+
Inventory: 'warehouse',
|
|
152
|
+
Branches: 'building-office',
|
|
153
|
+
ItemStock: 'barcode',
|
|
136
154
|
// Human Resources — Learning
|
|
137
155
|
Learning: 'graduation-cap',
|
|
138
156
|
Programs: 'path',
|
|
@@ -188,6 +206,9 @@ const DEFAULT_ICON_MAP = {
|
|
|
188
206
|
Telegram: 'telegram-logo',
|
|
189
207
|
Discord: 'discord-logo',
|
|
190
208
|
};
|
|
209
|
+
|
|
210
|
+
const coSidebarNavCss = () => `@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-spacer{visibility:hidden;white-space:nowrap;padding-left:0;padding-right:0}.co-sidebar-nav__category--min>:not(.co-sidebar-nav__category-spacer)+*{margin-top:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)));backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)))}.co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover)));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min co-tooltip{line-height:0}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:28px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-semantic-text-default);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-semantic-surface-control)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-semantic-text-default)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out);color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--co-motion-duration-slow) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out), padding var(--co-motion-duration-base) var(--co-motion-ease-out);padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}`;
|
|
211
|
+
|
|
191
212
|
/** Ícono de un ítem en modo `min` (sin label): 18 (20 se veía pesado; 16 = el de full, se perdía). */
|
|
192
213
|
const MIN_ICON_SIZE = 18;
|
|
193
214
|
const CoSidebarNav = class {
|
|
@@ -248,10 +269,10 @@ const CoSidebarNav = class {
|
|
|
248
269
|
}
|
|
249
270
|
parseIconMap() {
|
|
250
271
|
try {
|
|
251
|
-
this.parsedIconMap = Object.assign(Object.assign({},
|
|
272
|
+
this.parsedIconMap = Object.assign(Object.assign({}, SIDEBAR_ICON_MAP), JSON.parse(this.iconMap));
|
|
252
273
|
}
|
|
253
274
|
catch (_a) {
|
|
254
|
-
this.parsedIconMap = Object.assign({},
|
|
275
|
+
this.parsedIconMap = Object.assign({}, SIDEBAR_ICON_MAP);
|
|
255
276
|
}
|
|
256
277
|
}
|
|
257
278
|
parseTranslations() {
|
|
@@ -505,10 +526,10 @@ const CoSidebarNav = class {
|
|
|
505
526
|
// `flyout-open` (min mode only) lets the CSS drop the host edge-fade mask
|
|
506
527
|
// while a flyout is shown — a host mask would otherwise clip AND
|
|
507
528
|
// mis-position the fixed flyout (mask makes the host a containing block).
|
|
508
|
-
h(Host, { key: '
|
|
529
|
+
h(Host, { key: 'a7c5661ad2613a6f2c45c37e6def2e4c8d7e9801', class: { 'flyout-open': !!this.flyoutKey } }, h("nav", { key: '597d59612958ab2014a7db0ad561abd1db15524f', class: {
|
|
509
530
|
'co-sidebar-nav': true,
|
|
510
531
|
'co-sidebar-nav--min': this.mode === 'min',
|
|
511
|
-
} }, this.renderSearch(), h("div", { key: '
|
|
532
|
+
} }, this.renderSearch(), h("div", { key: '55a5bb260444a26e3e2228fb08c30c15746994a9', class: "co-sidebar-nav__items" }, items.map(item => this.renderItem(item))))));
|
|
512
533
|
}
|
|
513
534
|
get el() { return getElement(this); }
|
|
514
535
|
static get watchers() { return {
|
|
@@ -295,10 +295,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
295
295
|
return import(
|
|
296
296
|
/* webpackMode: "lazy" */
|
|
297
297
|
'./co-sidebar.entry.js').then(processMod, consoleError);
|
|
298
|
-
case 'co-sidebar-nav':
|
|
299
|
-
return import(
|
|
300
|
-
/* webpackMode: "lazy" */
|
|
301
|
-
'./co-sidebar-nav.entry.js').then(processMod, consoleError);
|
|
302
298
|
case 'co-slider':
|
|
303
299
|
return import(
|
|
304
300
|
/* webpackMode: "lazy" */
|
|
@@ -415,6 +411,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
415
411
|
return import(
|
|
416
412
|
/* webpackMode: "lazy" */
|
|
417
413
|
'./co-select.entry.js').then(processMod, consoleError);
|
|
414
|
+
case 'co-sidebar-nav':
|
|
415
|
+
return import(
|
|
416
|
+
/* webpackMode: "lazy" */
|
|
417
|
+
'./co-sidebar-nav.entry.js').then(processMod, consoleError);
|
|
418
418
|
case 'co-swatch-grid':
|
|
419
419
|
return import(
|
|
420
420
|
/* webpackMode: "lazy" */
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Popover API (top layer) con caída segura para navegadores que no la traen
|
|
3
|
+
* (Chrome / Android WebView < 114: Android 12 sin actualizar viene con Chrome 99).
|
|
4
|
+
*
|
|
5
|
+
* ⛔ Nunca `el.matches(':popover-open')` pelado: en esos navegadores el pseudo-selector es
|
|
6
|
+
* DESCONOCIDO y `matches()` LANZA `SyntaxError` — en co-popover cortaba `updatePosition` antes de
|
|
7
|
+
* marcar el panel como posicionado y todo dropdown quedaba invisible (reporte 2026-10-01). Sin la
|
|
8
|
+
* API nada está promovido: el panel vive en su lugar con `position: fixed` + compensación del
|
|
9
|
+
* ancestro (la rama «fallback» que cada componente ya tiene).
|
|
10
|
+
*/
|
|
11
|
+
function supportsPopover(el) {
|
|
12
|
+
return !!el && typeof el.showPopover === 'function';
|
|
13
|
+
}
|
|
14
|
+
function isPopoverOpen(el) {
|
|
15
|
+
if (!supportsPopover(el))
|
|
16
|
+
return false;
|
|
17
|
+
try {
|
|
18
|
+
return el.matches(':popover-open');
|
|
19
|
+
}
|
|
20
|
+
catch (_a) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { isPopoverOpen as i };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clave del menú de Prolibu → ícono Phosphor (lo usa `co-sidebar-nav`; el prop `icon-map`
|
|
3
|
+
* lo extiende). Una clave sin entrada cae a `circle`: `sidebar-icon-map.test.ts` cruza este
|
|
4
|
+
* mapa con las claves que manda el backend y verifica que cada ícono exista en Phosphor.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SIDEBAR_ICON_MAP: Record<string, string>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Popover API (top layer) con caída segura para navegadores que no la traen
|
|
3
|
+
* (Chrome / Android WebView < 114: Android 12 sin actualizar viene con Chrome 99).
|
|
4
|
+
*
|
|
5
|
+
* ⛔ Nunca `el.matches(':popover-open')` pelado: en esos navegadores el pseudo-selector es
|
|
6
|
+
* DESCONOCIDO y `matches()` LANZA `SyntaxError` — en co-popover cortaba `updatePosition` antes de
|
|
7
|
+
* marcar el panel como posicionado y todo dropdown quedaba invisible (reporte 2026-10-01). Sin la
|
|
8
|
+
* API nada está promovido: el panel vive en su lugar con `position: fixed` + compensación del
|
|
9
|
+
* ancestro (la rama «fallback» que cada componente ya tiene).
|
|
10
|
+
*/
|
|
11
|
+
export declare function supportsPopover(el: Element | null | undefined): boolean;
|
|
12
|
+
export declare function isPopoverOpen(el: Element | null | undefined): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prolibu-suite/cobalt-core",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.9",
|
|
4
4
|
"description": "Cobalt Design System — Framework-agnostic Web Components built with Stencil",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"dompurify": "^3.2.6",
|
|
52
52
|
"overlayscrollbars": "^2.16.0",
|
|
53
53
|
"@prolibu-suite/cobalt-rich-text": "0.2.2",
|
|
54
|
-
"@prolibu-suite/cobalt-tokens": "0.6.1",
|
|
55
54
|
"@prolibu-suite/cobalt-date-utils": "0.1.2",
|
|
55
|
+
"@prolibu-suite/cobalt-tokens": "0.6.1",
|
|
56
56
|
"@prolibu-suite/cobalt-calendar-utils": "0.1.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as n,h as i,a as o}from"./p-DJkaRtbb.js";import{a as e}from"./p-Ch1jfwZ2.js";const r=["a[href]","area[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","iframe","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])','[tabindex]:not([tabindex="-1"])'].join(",");function s(t){if(t.shadowRoot)return Array.from(t.shadowRoot.children);if("SLOT"===t.tagName){const n=t.assignedElements({flatten:!0});return n.length?n:Array.from(t.children)}return Array.from(t.children)}function a(t){var n,i;if(!(null===(n=t.matches)||void 0===n?void 0:n.call(t,r))||t.hasAttribute("disabled"))return!1;const o=t.getAttribute("tabindex");return!(null!==o&&Number(o)<0||null===t.offsetParent&&0===t.getClientRects().length||!1===(null===(i=t.checkVisibility)||void 0===i?void 0:i.call(t,{visibilityProperty:!0})))}function c(t,n){const i=t=>{return"true"!==(o=t).getAttribute("aria-hidden")&&!o.hasAttribute("inert")&&(!!n(t)||s(t).some(i));var o};s(t).some(i)}function h(t,n){let i=null;return c(t,(t=>!!n(t)&&(i=t,!0))),i}function l(t){const n=[];return c(t,(t=>(a(t)&&n.push(t),!1))),n}function u(t,n){return t.length>0&&t[t.length-1]===n}let d=0,f="";const p=[];let v=0;const y="co-overlay--refront";function b(t){"function"==typeof requestAnimationFrame?requestAnimationFrame(t):t()}const m=class{constructor(i){t(this,i),this.coClose=n(this,"coClose",7),this.coAfterClose=n(this,"coAfterClose",3),this.coAfterOpen=n(this,"coAfterOpen",3),this.open=!1,this.trapFocus=!1,this.closeOnEscape=!1,this.hasLock=!1,this.trapId="co-overlay-trap-"+ ++v,this.trapping=!1,this.pressDownTarget=null,this.pressUpTarget=null,this.handlePointerDown=t=>{var n;this.pressDownTarget=null!==(n=t.composedPath()[0])&&void 0!==n?n:null,this.pressUpTarget=null},this.handlePointerUp=t=>{var n;this.pressUpTarget=null!==(n=t.composedPath()[0])&&void 0!==n?n:null},this.handleClick=t=>{var n;const i=null!==(n=t.composedPath()[0])&&void 0!==n?n:null,o=i===this.overlayEl&&function(t,n,i){return null!==t&&t===n&&n===i}(this.pressDownTarget,this.pressUpTarget,i);this.pressDownTarget=null,this.pressUpTarget=null,o&&this.coClose.emit()},this.handleTransitionEnd=t=>{if(t.target!==this.overlayEl)return;const n=e(t.propertyName,this.open,"opacity");"after-open"===n?this.coAfterOpen.emit():"after-close"===n&&this.coAfterClose.emit()}}onOpenChange(t){t?this.acquireLock():this.releaseLock(),this.syncPopover(),this.syncTrap()}onTrapFocusChange(){this.syncTrap()}componentDidLoad(){this.open&&this.acquireLock(),this.syncPopover(),this.syncTrap()}disconnectedCallback(){this.releaseLock(),this.releaseTrap()}async bringToFront(){const t=this.overlayEl;if(!this.open||!t||"function"!=typeof t.showPopover)return;if(!t.matches(":popover-open"))return;const n=this.deepActiveElement();t.classList.add(y);try{t.hidePopover(),t.showPopover()}catch(t){}n&&n.isConnected&&this.deepActiveElement()!==n&&n.focus({preventScroll:!0}),b((()=>t.classList.remove(y)))}acquireLock(){this.hasLock||(this.hasLock=!0,"undefined"!=typeof document&&(0===d&&(f=document.body.style.overflow,document.body.style.overflow="hidden"),d++))}releaseLock(){this.hasLock&&(this.hasLock=!1,"undefined"!=typeof document&&0!==d&&(d--,0===d&&(document.body.style.overflow=f)))}syncPopover(){const t=this.overlayEl;if(t&&"function"==typeof t.showPopover)try{const n=t.matches(":popover-open");this.open&&!n?t.showPopover():!this.open&&n&&t.hidePopover()}catch(t){}}syncTrap(){this.open&&this.trapFocus?this.engageTrap():this.releaseTrap()}engageTrap(){this.trapping||(this.trapping=!0,p.push(this.trapId),this.captureAndFocus())}releaseTrap(){if(!this.trapping)return;this.trapping=!1;const t=p.indexOf(this.trapId);t>=0&&p.splice(t,1),this.restoreFocus()}captureAndFocus(){this.returnFocusEl=this.deepActiveElement(),b((()=>{var t;if(!this.open||!this.trapping||!u(p,this.trapId))return;const n=function(t){const n=h(t,(t=>t.hasAttribute("autofocus")));if(n){if(a(n))return n;const t=n.shadowRoot?l(n)[0]:void 0;if(t)return t}return h(t,a)}(this.el);n?n.focus():null===(t=this.overlayEl)||void 0===t||t.focus()}))}restoreFocus(){const t=this.returnFocusEl;this.returnFocusEl=null,t&&t.isConnected&&"function"==typeof t.focus&&t.focus({preventScroll:!0})}deepActiveElement(){if("undefined"==typeof document)return null;let t=document.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}handleKeydown(t){this.open&&(this.closeOnEscape&&"Escape"===t.key?this.coClose.emit():this.trapping&&"Tab"===t.key&&u(p,this.trapId)&&this.trapTab(t))}trapTab(t){var n;if(t.defaultPrevented)return;const i=l(this.el);if(0===i.length)return t.preventDefault(),void(null===(n=this.overlayEl)||void 0===n||n.focus());const o=i.indexOf(this.deepActiveElement()),e=function(t,n,i){return t<=0?-1:i?n<=0?t-1:n-1:-1===n||n>=t-1?0:n+1}(i.length,o,t.shiftKey);e<0||(t.preventDefault(),i[e].focus())}render(){return i("div",{key:"9d6cec0764074a33489f79fb4a554e7aa7374785",class:{"co-overlay":!0,"co-overlay--open":this.open},part:"overlay",popover:"manual",tabindex:this.trapFocus?-1:void 0,ref:t=>this.overlayEl=t,onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onClick:this.handleClick,onTransitionEnd:this.handleTransitionEnd},i("slot",{key:"2f8ad7b23e72ce2f5c74b3cb67ba9ab80e88cf26"}))}get el(){return o(this)}static get watchers(){return{open:[{onOpenChange:0}],trapFocus:[{onTrapFocusChange:0}]}}};m.style=":host{display:contents}.co-overlay{position:fixed;inset:0;z-index:1000;margin:0;border:0;padding:0;width:auto;height:auto;max-width:none;max-height:none;overflow:visible;color:inherit;display:flex;align-items:center;justify-content:center;background:var(--co-overlay-bg, rgba(0, 0, 0, 0.4));-webkit-backdrop-filter:blur(var(--co-overlay-blur, 2px));backdrop-filter:blur(var(--co-overlay-blur, 2px));opacity:0;pointer-events:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-overlay--open{opacity:1;pointer-events:auto;transition:opacity var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-overlay--refront{transition:none !important}";export{m as co_overlay}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,a as o}from"./p-DJkaRtbb.js";import{i as e,c as h,g as n,f as r}from"./p-BtliEQAT.js";const a=[];function c(t){const i=a.indexOf(t);-1!==i&&a.splice(i,1)}function p(t){return a.length>0&&a[a.length-1]===t}const l=["top","bottom","left","right"].map((t=>`co-popover__panel--${t}`)),d=class{constructor(s){t(this,s),this.coOpen=i(this,"coOpen",3),this.coClose=i(this,"coClose",3),this.coPlacement=i(this,"coPlacement",3),this.open=!1,this.placement="bottom-start",this.matchWidth=!1,this.offset=4,this.closeOnClickOutside=!0,this.closeOnEscape=!0,this.flip=!0,this.bare=!1,this.shift=0,this.closing=!1,this.anchorSeenVisible=!1,this.keepSide=!1,this.scrollParents=[],this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.docListenersBound=!1,this.finishClose=()=>{clearTimeout(this.closeFallbackTimer),this.open||(this.closing=!1,this.panelEl=void 0)},this.handlePanelTransitionEnd=t=>{!this.open&&this.closing&&t.target===this.panelEl&&"transform"===t.propertyName&&this.finishClose()},this.pressStartedInside=!1,this.handleDocumentPointerDownManual=t=>{this.pressStartedInside=t.composedPath().includes(this.el)},this.handleDocumentClickManual=t=>{const i=this.pressStartedInside;this.pressStartedInside=!1,this.open&&this.closeOnClickOutside&&(i||p(this.el)&&(t.composedPath().includes(this.el)||(this.open=!1)))},this.handleDocumentKeydownManual=t=>{this.open&&this.closeOnEscape&&p(this.el)&&"Escape"===t.key&&(t.stopPropagation(),this.open=!1)},this.updatePosition=()=>{if(!this.open||!this.triggerEl||!this.panelEl)return;const t=this.triggerEl.getBoundingClientRect(),i=this.scrollParents.map((t=>t.getBoundingClientRect()));if(e(t,i))this.anchorSeenVisible=!0;else if(this.anchorSeenVisible&&this.closeOnClickOutside)return void(this.open=!1);const s=DOMRect.fromRect({width:this.panelEl.offsetWidth,height:this.panelEl.offsetHeight}),o=this.resolveAnchor(),r=null==o?void 0:o.getBoundingClientRect(),a=this.keepSide&&this.lastPlacement?this.lastPlacement:this.placement;this.keepSide=!1,this.observePanel();const{top:c,left:p,actualPlacement:d}=h(t,s,{placement:a,offset:this.offset,flip:this.flip,anchorRect:r,shift:this.shift});this.lastPlacement=d;let v=c,f=p;if(!this.panelEl.matches(":popover-open")&&(this.offsetAncestorComputed||(this.cachedOffsetAncestor=n(this.panelEl),this.offsetAncestorComputed=!0),this.cachedOffsetAncestor)){const t=this.cachedOffsetAncestor.getBoundingClientRect();v-=t.top,f-=t.left}const m={top:`${v}px`,left:`${f}px`};if(this.matchWidth&&(m.width=`${(null!=r?r:t).width}px`),this.panelEl){Object.assign(this.panelEl.style,m);const t=`co-popover__panel--${d.split("-")[0]}`;this.panelEl.classList.contains(t)||(this.panelEl.classList.remove(...l),this.panelEl.classList.add(t),this.coPlacement.emit({placement:d})),this.panelEl.classList.add("co-popover__panel--positioned")}},this.handlePanelResize=()=>{this.open&&(this.keepSide=!0,this.scheduleUpdate())},this.scheduleUpdate=()=>{this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.updatePosition)},this.handleTriggerClick=()=>{this.open=!this.open}}componentDidLoad(){this.open&&this.onOpenChange(!0)}disconnectedCallback(){c(this.el),this.unbindDocListeners(),this.cleanupListeners(),clearTimeout(this.closeFallbackTimer),this.closing=!1}onOpenChange(t){var i;this.anchorSeenVisible=!1,t?(this.closing=!1,clearTimeout(this.closeFallbackTimer),c(i=this.el),a.push(i),this.coOpen.emit(),this.bindDocListeners(),this.scheduleUpdate(),requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.updatePosition()}))})),this.addScrollListeners()):(c(this.el),this.coClose.emit(),this.cleanupListeners(),this.unbindDocListeners(),this.cachedOffsetAncestor=null,this.offsetAncestorComputed=!1,this.closing=!0,clearTimeout(this.closeFallbackTimer),this.closeFallbackTimer=setTimeout((()=>this.finishClose()),400))}bindDocListeners(){this.docListenersBound||(document.addEventListener("pointerdown",this.handleDocumentPointerDownManual,!0),document.addEventListener("click",this.handleDocumentClickManual,!0),document.addEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!0)}unbindDocListeners(){this.docListenersBound&&(document.removeEventListener("pointerdown",this.handleDocumentPointerDownManual,!0),document.removeEventListener("click",this.handleDocumentClickManual,!0),document.removeEventListener("keydown",this.handleDocumentKeydownManual,!0),this.docListenersBound=!1,this.pressStartedInside=!1)}async toggle(){this.open=!this.open}async show(){this.open=!0}async hide(){this.open=!1}resolveAnchor(){return this.anchor?"string"==typeof this.anchor?document.querySelector(this.anchor):this.anchor:null}promotePanel(){const t=this.panelEl;if(t&&"function"==typeof t.showPopover)try{t.matches(":popover-open")||t.showPopover()}catch(t){}}observePanel(){var t;"undefined"!=typeof ResizeObserver&&this.panelEl&&this.observedPanel!==this.panelEl&&(null!==(t=this.resizeObserver)&&void 0!==t||(this.resizeObserver=new ResizeObserver(this.handlePanelResize)),this.observedPanel&&this.resizeObserver.unobserve(this.observedPanel),this.observedPanel=this.panelEl,this.resizeObserver.observe(this.panelEl))}addScrollListeners(){window.addEventListener("resize",this.scheduleUpdate,{passive:!0}),window.addEventListener("scroll",this.scheduleUpdate,{passive:!0,capture:!0}),this.scrollParents=r(this.el);for(const t of this.scrollParents)t.addEventListener("scroll",this.scheduleUpdate,{passive:!0})}cleanupListeners(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.observedPanel=void 0,this.lastPlacement=void 0,this.keepSide=!1,this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0),window.removeEventListener("resize",this.scheduleUpdate),window.removeEventListener("scroll",this.scheduleUpdate,{capture:!0});for(const t of this.scrollParents)t.removeEventListener("scroll",this.scheduleUpdate);this.scrollParents=[]}render(){return s("div",{key:"a85df32be71c08c86bd19a31224b51b899d1f468",class:"co-popover"},s("div",{key:"accafae8513bad7bfbf32b7e98f0dc6ec0968efa",class:"co-popover__trigger",ref:t=>this.triggerEl=t,onClick:this.handleTriggerClick},s("slot",{key:"f12247af31066f6d4cbdd45671146b3ea5c996bc",name:"trigger"})),(this.open||this.closing)&&s("div",{key:"64dbc77cae4a913bbe3ec4174f6b18c4982520ae",class:{"co-popover__panel":!0,"co-popover__panel--closing":this.closing},part:"panel",popover:"manual",onTransitionEnd:this.handlePanelTransitionEnd,ref:t=>{t&&t!==this.panelEl&&(this.panelEl=t,this.promotePanel(),this.scheduleUpdate())}},s("slot",{key:"858df49b45b1bd72f215f5e408e835227633d41f"})))}get el(){return o(this)}static get watchers(){return{open:[{onOpenChange:0}]}}};d.style=":host{display:inline-block;position:relative}:host([match-width]){display:block;width:100%}.co-popover{display:block;width:100%}.co-popover__trigger{display:block;width:100%;cursor:pointer}.co-popover__panel{position:fixed;inset:auto;top:0;left:0;margin:0;padding:0;width:auto;height:auto;max-width:none;max-height:none;z-index:10000;visibility:hidden;opacity:0;transform:scale(0.97);background:var(--co-semantic-surface-page, #fff);color:var(--co-semantic-text-default);border:1px solid var(--co-popover-border-color, var(--co-semantic-border-subtle));border-radius:var(--co-border-radius-sm, 12px);box-shadow:var(--co-popover-shadow, 0 4px 16px rgba(31, 28, 27, 0.08));overflow:visible}:host([bare]) .co-popover__panel{background:transparent;border:0;box-shadow:none}.co-popover__panel--positioned{visibility:visible;opacity:1;transform:scale(1);transition:opacity var(--co-motion-duration-base) var(--co-motion-ease-out), transform var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-popover__panel--closing{visibility:visible;opacity:0;transform:scale(0.99);pointer-events:none;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-in), transform var(--co-motion-duration-fast) var(--co-motion-ease-in)}.co-popover__panel--bottom{transform-origin:top center}.co-popover__panel--top{transform-origin:bottom center}.co-popover__panel--right{transform-origin:center left}.co-popover__panel--left{transform-origin:center right}";export{d as co_popover}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as a,a as r}from"./p-DJkaRtbb.js";import{g as o}from"./p-jYd9gu_c.js";import{b as i,d as s,a as c,p as n,i as d,h as l,s as h,c as f,e as p,j as u,g as m,k as b,f as g,l as v}from"./p-BU7SQCje.js";import{R as _}from"./p-CYN5B3IQ.js";import{a as w}from"./p-Ch1jfwZ2.js";import{i as y,p as x,r as L}from"./p-hXbDUT3I.js";import{s as k}from"./p-CBX_oabB.js";const q=/^\d{4}-\d{2}-\d{2}$/;function z(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}function C(e,t,a){return t&&a?`${e}, ${a}`:e}const S=class{constructor(a){e(this,a),this.coSelect=t(this,"coSelect",7),this.coRangeSelect=t(this,"coRangeSelect",7),this.mode="single",this.locale="es-CO",this.firstDayOfWeek=1,this.hoverDay=null,this.view="days",this.shouldFocusGrid=!1,this.handleDayHover=e=>{"range"===this.mode&&(this.hoverDay=e)},this.handlePrev=()=>this.step(-1),this.handleNext=()=>this.step(1),this.toggleView=()=>{this.view="days"===this.view?"months":"months"===this.view?"years":"days"},this.handleGridKeyDown=e=>{const t=this.focused;let a=!0;switch(e.key){case"ArrowLeft":this.moveFocus(s(t,-1));break;case"ArrowRight":this.moveFocus(s(t,1));break;case"ArrowUp":this.moveFocus(s(t,-7));break;case"ArrowDown":this.moveFocus(s(t,7));break;case"Home":this.moveFocus(D(t,this.firstDayOfWeek));break;case"End":this.moveFocus(s(D(t,this.firstDayOfWeek),6));break;case"PageUp":this.moveFocus(i(t,e.shiftKey?-12:-1));break;case"PageDown":this.moveFocus(i(t,e.shiftKey?12:1));break;case"Enter":case" ":this.selectDay(t);break;default:a=!1}a&&(e.preventDefault(),e.stopPropagation())}}componentWillLoad(){var e;const t=null!==(e=this.anchorValue)&&void 0!==e?e:c(),a=n(t);this.viewYear=a.year,this.viewMonth=a.month,this.applyMonthProp(),this.focused=this.initialFocus()}onMonthChange(){this.applyMonthProp()}applyMonthProp(){const e=function(e){const t=/^(\d{4})-(\d{2})$/.exec(String(null!=e?e:"").trim());if(!t)return null;const a=Number(t[1]),r=Number(t[2]);return r>=1&&r<=12?{year:a,month:r}:null}(this.month);e&&(this.viewYear=e.year,this.viewMonth=e.month)}onValueChange(){if(!this.selectedValue)return;const e=n(this.selectedValue);this.viewYear=e.year,this.viewMonth=e.month,this.focused=this.selectedValue}async focusGrid(){this.shouldFocusGrid=!0,this.focusFocusedCell()}get selectedValue(){return d(this.value)?this.value:null}get rangeStartV(){return d(this.rangeStart)?this.rangeStart:null}get rangeEndV(){return d(this.rangeEnd)?this.rangeEnd:null}get anchorValue(){return"range"===this.mode?this.rangeStartV:this.selectedValue}get disabledOpts(){return{min:this.min,max:this.max,disabledDates:z(this.disabledDates),disabledDaysOfWeek:A(this.disabledDaysOfWeek)}}isDayDisabled(e){return l(e,this.disabledOpts)}initialFocus(){const e=this.anchorValue;if(e&&!this.isDayDisabled(e))return e;const t=c(),a=n(t);if(a.year===this.viewYear&&a.month===this.viewMonth&&!this.isDayDisabled(t))return t;const r=`${String(this.viewYear).padStart(4,"0")}-${String(this.viewMonth).padStart(2,"0")}-01`;let o=r;for(let e=0;e<31;e++){const e=n(o);if(!e||e.month!==this.viewMonth)break;if(!this.isDayDisabled(o))return o;o=s(o,1)}return r}selectDay(e){this.isDayDisabled(e)||(this.focused=e,"range"===this.mode?this.selectRangeDay(e):this.coSelect.emit(e))}selectRangeDay(e){const t=this.rangeStartV;let a;a=!t||t&&this.rangeEndV?{start:e,end:null}:f(e,t)<0?{start:e,end:t}:{start:t,end:e},this.coRangeSelect.emit(a)}moveFocus(e){this.focused=e;const t=n(e);t.year===this.viewYear&&t.month===this.viewMonth||(this.viewYear=t.year,this.viewMonth=t.month),this.shouldFocusGrid=!0}step(e){if("days"===this.view){const t=i(`${this.viewYear}-${String(this.viewMonth).padStart(2,"0")}-01`,e),a=n(t);this.viewYear=a.year,this.viewMonth=a.month}else this.viewYear+="months"===this.view?e:10*e}selectMonth(e){this.viewMonth=e,this.view="days"}selectYear(e){this.viewYear=e,this.view="months"}get decadeStart(){return 10*Math.floor(this.viewYear/10)}get selectedYM(){const e="range"===this.mode?this.rangeStartV:this.selectedValue;if(!e)return null;const t=n(e);return{year:t.year,month:t.month}}isMonthDisabled(e,t){const a=`${String(e).padStart(4,"0")}-${String(t).padStart(2,"0")}-01`,r=s(h(i(a,1)),-1);return!!(this.min&&f(r,this.min)<0)||!!(this.max&&f(a,this.max)>0)}isYearDisabled(e){const t=`${String(e).padStart(4,"0")}-01-01`,a=`${String(e).padStart(4,"0")}-12-31`;return!!(this.min&&f(a,this.min)<0)||!!(this.max&&f(t,this.max)>0)}componentDidRender(){this.shouldFocusGrid&&(this.shouldFocusGrid=!1,this.focusFocusedCell())}focusFocusedCell(){var e;const t=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector(`[data-date="${this.focused}"]`);null==t||t.focus()}rangeFlags(e){const t=this.rangeStartV,a=this.rangeEndV;if(!t)return{isStart:!1,isEnd:!1,inRange:!1};const r=null!=a?a:this.hoverDay&&!a?this.hoverDay:null;if(!r)return{isStart:0===f(e,t),isEnd:!1,inRange:!1};const o=f(t,r)<=0?t:r,i=f(t,r)<=0?r:t;return{isStart:0===f(e,o),isEnd:0===f(e,i),inRange:f(e,o)>0&&f(e,i)<0}}get markedSet(){return new Set(z(this.markedDates).map((e=>e.trim())).filter((e=>q.test(e))))}dayClass(e,t,a,r=!1){const o=0===f(e,c());if("range"===this.mode){const{isStart:i,isEnd:s,inRange:c}=this.rangeFlags(e);return{"co-calendar__day":!0,"co-calendar__day--outside":!t,"co-calendar__day--today":o&&!(i||s)&&!c,"co-calendar__day--range-start":i,"co-calendar__day--range-end":s,"co-calendar__day--in-range":c,"co-calendar__day--disabled":a,"co-calendar__day--marked":r}}const i=this.selectedValue,s=!!i&&0===f(e,i);return{"co-calendar__day":!0,"co-calendar__day--outside":!t,"co-calendar__day--today":o&&!s,"co-calendar__day--selected":s,"co-calendar__day--disabled":a,"co-calendar__day--marked":r}}headerTitle(){return"months"===this.view?String(this.viewYear):"years"===this.view?`${this.decadeStart}–${this.decadeStart+9}`:p(this.viewYear,this.viewMonth,this.locale,"long")}renderDays(e){const t=p(this.viewYear,this.viewMonth,this.locale,"long"),r=u(this.locale,this.firstDayOfWeek,"short"),o=u(this.locale,this.firstDayOfWeek,"long"),i=m(this.viewYear,this.viewMonth,this.firstDayOfWeek).filter((e=>e.some((e=>e.inMonth)))),s=this.markedSet;return a("div",{class:"co-calendar__grid",part:"grid",role:"grid","aria-label":t,onKeyDown:this.handleGridKeyDown},a("div",{class:"co-calendar__row co-calendar__row--dow",role:"row"},r.map(((e,t)=>a("span",{class:"co-calendar__dow",role:"columnheader","aria-label":o[t]},e)))),i.map((e=>a("div",{class:"co-calendar__row",role:"row"},e.map((e=>{const t=this.isDayDisabled(e.value),r=s.has(e.value),o=0===f(e.value,this.focused),i=0===f(e.value,c());let d;if("range"===this.mode){const{isStart:t,isEnd:a}=this.rangeFlags(e.value);d=t||a}else{const t=this.selectedValue;d=!!t&&0===f(e.value,t)}const l=n(e.value).day;return a("button",{type:"button",role:"gridcell","data-date":e.value,class:this.dayClass(e.value,e.inMonth,t,r),tabIndex:o?0:-1,"aria-selected":d?"true":"false","aria-current":i?"date":void 0,"aria-disabled":t?"true":void 0,"aria-label":C(b(e.value,this.locale),r,this.markedLabel),onClick:()=>this.selectDay(e.value),onMouseEnter:()=>this.handleDayHover(e.value),onMouseLeave:()=>this.handleDayHover(null)},l)}))))))}renderMonths(){const e=this.selectedYM,t=new Date;return a("div",{class:"co-calendar__panel",part:"grid"},Array.from({length:12},((r,o)=>{const i=o+1,s=new Intl.DateTimeFormat(this.locale,{month:"short"}).format(new Date(this.viewYear,o,1)),c=this.isMonthDisabled(this.viewYear,i),n=!!e&&e.year===this.viewYear&&e.month===i,d=t.getFullYear()===this.viewYear&&t.getMonth()===o;return a("button",{type:"button",class:{"co-calendar__cell":!0,"co-calendar__cell--selected":n,"co-calendar__cell--today":d&&!n,"co-calendar__cell--disabled":c},disabled:c,"aria-current":d?"date":void 0,onClick:()=>this.selectMonth(i)},s)})))}renderYears(){const e=this.selectedYM,t=(new Date).getFullYear(),r=this.decadeStart-1;return a("div",{class:"co-calendar__panel",part:"grid"},Array.from({length:12},((o,i)=>{const s=r+i,c=this.isYearDisabled(s),n=!!e&&e.year===s,d=t===s;return a("button",{type:"button",class:{"co-calendar__cell":!0,"co-calendar__cell--muted":s<this.decadeStart||s>this.decadeStart+9,"co-calendar__cell--selected":n,"co-calendar__cell--today":d&&!n,"co-calendar__cell--disabled":c},disabled:c,"aria-current":d?"date":void 0,onClick:()=>this.selectYear(s)},s)})))}render(){var e,t;const r=o(this.locale);return a("div",{key:"5ecdc23692eb69b8dc86b225857f51a3acf54838",class:"co-calendar",part:"root"},a("div",{key:"b66924b6b59f91d284210c6a0ed24294f211a5b7",class:"co-calendar__header",part:"header"},a("button",{key:"a4d52f3c02081b03f872a95955986c6351f9ca44",type:"button",class:"co-calendar__nav",onClick:this.handlePrev,"aria-label":null!==(e=this.prevMonthLabel)&&void 0!==e?e:r.prevMonth},a("co-icon",{key:"6eaf089247fc85477a1bd9095af2c1c557d01bb3",name:"caret-left",size:16})),a("button",{key:"473815fa6114c82f601bea27e919b5c4546648f2",type:"button",class:"co-calendar__title","aria-live":"polite",onClick:this.toggleView},this.headerTitle(),a("co-icon",{key:"923647a98317c5e42ec7655ac21eed3e645224b6",name:"caret-down",size:12,class:"co-calendar__title-caret"})),a("button",{key:"1ccbdf76cc5574021894f8f1c6bd381b9b524cfa",type:"button",class:"co-calendar__nav",onClick:this.handleNext,"aria-label":null!==(t=this.nextMonthLabel)&&void 0!==t?t:r.nextMonth},a("co-icon",{key:"4b06c0827034a9f6924f1e80a51fdef924a0f8d1",name:"caret-right",size:16}))),"days"===this.view&&this.renderDays(r),"months"===this.view&&this.renderMonths(),"years"===this.view&&this.renderYears())}get el(){return r(this)}static get watchers(){return{month:[{onMonthChange:0}],value:[{onValueChange:0}]}}};function D(e,t){const a=n(e);if(!a)return e;const r=new Date(a.year,a.month-1,a.day).getDay();return s(e,-(r-t+7)%7)}function A(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(Number).filter((e=>!Number.isNaN(e)))}catch(e){}return t.split(",").map((e=>Number(e.trim()))).filter((e=>!Number.isNaN(e)))}return[]}S.style=":host{display:inline-block;font-family:var(--co-font-family-primary);--co-calendar-day-size:36px}:host([data-touch]){--co-calendar-day-size:44px}.co-calendar{display:flex;flex-direction:column;gap:var(--co-spacing-sm);width:var(--co-calendar-width, max-content)}.co-calendar__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs)}.co-calendar__month{font-size:var(--co-font-size-14);font-weight:600;color:var(--co-semantic-text-default);text-transform:capitalize}.co-calendar__title{display:inline-flex;align-items:center;gap:var(--co-spacing-xxs);background:none;border:0;cursor:pointer;font-family:inherit;font-size:var(--co-font-size-14);font-weight:600;color:var(--co-semantic-text-default);text-transform:capitalize;padding:var(--co-spacing-xxs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs)}.co-calendar__title:hover{background:var(--co-semantic-surface-hover)}.co-calendar__title:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-calendar__title-caret{color:var(--co-semantic-text-muted)}.co-calendar__panel{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--co-spacing-xs);width:var(--co-calendar-width, calc(var(--co-calendar-day-size) * 7 + 12px));padding-top:var(--co-spacing-xs)}.co-calendar__cell{height:calc(var(--co-calendar-day-size) + 8px);display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--co-border-radius-xs);font-family:inherit;font-size:var(--co-font-size-14);color:var(--co-semantic-text-default);cursor:pointer;text-transform:capitalize;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out), border-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-calendar__cell:hover:not(.co-calendar__cell--disabled):not(.co-calendar__cell--selected){background:var(--co-semantic-surface-hover)}.co-calendar__cell:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-calendar__cell--muted{color:var(--co-semantic-text-muted)}.co-calendar__cell--today{border-color:var(--co-semantic-surface-primary);font-weight:600}.co-calendar__cell--selected{background:var(--co-semantic-surface-primary);border-color:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);font-weight:600}.co-calendar__cell--disabled{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-calendar__nav{background:none;border:0;cursor:pointer;padding:var(--co-spacing-xs);border-radius:var(--co-border-radius-xxs);display:inline-flex;align-items:center;color:var(--co-semantic-text-default)}.co-calendar__nav:hover{background:var(--co-semantic-surface-hover)}.co-calendar__nav:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-calendar__grid{display:flex;flex-direction:column;gap:2px}.co-calendar__row{display:grid;grid-template-columns:repeat(7, var(--co-calendar-col, var(--co-calendar-day-size)));gap:2px}.co-calendar__row--dow{margin-bottom:2px}.co-calendar__dow{height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--co-font-size-10, 10px);font-weight:600;color:var(--co-semantic-text-muted);text-transform:uppercase;letter-spacing:0.04em}.co-calendar__day{width:var(--co-calendar-day-width, var(--co-calendar-day-size));height:var(--co-calendar-day-size);display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);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), border-color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-calendar__day:hover:not(.co-calendar__day--disabled):not(.co-calendar__day--selected):not(.co-calendar__day--marked):not(.co-calendar__day--range-start):not(.co-calendar__day--range-end){background:var(--co-semantic-surface-hover)}.co-calendar__day:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:1px}.co-calendar__day--outside{color:var(--co-semantic-text-muted)}.co-calendar__day--today{border-color:var(--co-semantic-surface-primary);font-weight:600}.co-calendar__day--marked{background:var(--co-calendar-marked-bg, var(--co-color-primary-rosado));border-color:var(--co-calendar-marked-bg, var(--co-color-primary-rosado));color:var(--co-calendar-marked-fg, var(--co-color-base-blanco));font-weight:600}.co-calendar__day--selected{background:var(--co-semantic-surface-primary);border-color:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);font-weight:600}.co-calendar__day--disabled{color:var(--co-semantic-text-disabled);cursor:not-allowed;pointer-events:none}.co-calendar__day--in-range{background:color-mix(in srgb, var(--co-semantic-surface-primary) 8%, transparent);border-radius:0;color:var(--co-semantic-text-default)}.co-calendar__day--range-start,.co-calendar__day--range-end{background:var(--co-semantic-surface-primary);border-color:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);font-weight:600}.co-calendar__day--range-start:not(.co-calendar__day--range-end){border-top-right-radius:0;border-bottom-right-radius:0}.co-calendar__day--range-end:not(.co-calendar__day--range-start){border-top-left-radius:0;border-bottom-left-radius:0}";const j=class{constructor(a){e(this,a),this.coInput=t(this,"coInput",7),this.coChange=t(this,"coChange",7),this.coInvalid=t(this,"coInvalid",7),this.coClear=t(this,"coClear",7),this.coFocus=t(this,"coFocus",7),this.coBlur=t(this,"coBlur",7),this.value=null,this.size="md",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.disabled=!1,this.readonly=!1,this.required=!1,this.clearable=!0,this.invalid=!1,this.layout="vertical",this.draft="",this.internalInvalid=!1,this.hasFocus=!1,this.handleInput=e=>{this.draft=e.target.value,this.internalInvalid=!1,this.coInput.emit(this.draft)},this.handleFocus=()=>{this.hasFocus=!0,this.coFocus.emit()},this.handleBlur=()=>{this.hasFocus=!1,this.commit(),this.coBlur.emit()},this.handleKeyDown=e=>{"Enter"===e.key&&(this.commit()||(e.preventDefault(),e.stopPropagation()))},this.handleClear=()=>{var e;this.draft="",this.internalInvalid=!1,null!==this.value&&(this.value=null,this.coChange.emit(null)),this.coClear.emit(),null===(e=this.inputEl)||void 0===e||e.focus()}}componentWillLoad(){this.draft=g(this.value,this.displayFormat,this.locale)}onValueChange(){this.hasFocus||(this.draft=g(this.value,this.displayFormat,this.locale),this.internalInvalid=!1)}async focusInput(){var e;null===(e=this.inputEl)||void 0===e||e.focus()}get order(){const e=this.displayFormat.toLowerCase();return e.startsWith("y")?"ymd":e.startsWith("m")?"mdy":"dmy"}get isInvalid(){return this.invalid||this.internalInvalid}get hasValue(){return""!==this.draft.trim()}commit(){const e=v(this.draft,{order:this.order,locale:this.locale});if("empty"===e.status)return this.internalInvalid=!1,null!==this.value&&(this.value=null,this.coChange.emit(null)),!0;if("invalid"===e.status||null===e.value)return this.internalInvalid=!0,this.coInvalid.emit({raw:this.draft}),!1;const t=e.value;return l(t,{min:this.min,max:this.max,disabledDates:M(this.disabledDates),disabledDaysOfWeek:$(this.disabledDaysOfWeek)})?(this.internalInvalid=!0,this.coInvalid.emit({raw:this.draft}),!1):(this.internalInvalid=!1,this.draft=g(t,this.displayFormat,this.locale),this.value!==t&&(this.value=t,this.coChange.emit(t)),!0)}render(){var e,t;const r=o(this.locale),i=this.clearable&&this.hasValue&&!this.disabled&&!this.readonly,s=this.placeholder||r.setDate,c=this.isInvalid?this.errorMessage:this.helperText;return a("div",{key:"453e532a8aa115e750353877880555d00c768951",class:{"co-date-field":!0,"co-date-field--disabled":this.disabled,"co-date-field--focused":this.hasFocus,"co-date-field--filled":this.hasValue,"co-date-field--invalid":this.isInvalid,[`co-date-field--${this.size}`]:!0},part:"wrapper"},this.label&&a("div",{key:"e455cfb66bb65981ba685dcd3c2fbbf0bd98562f",class:"co-date-field__labels"},a("label",{key:"d3cd19357bded058f3922c5423f816bc094c5fb9",class:"co-date-field__label",part:"label"},this.label,a(_,{key:"e66ca94dabe83f2bcf77a85d6d4c72ad7eed6cdb",required:this.required}))),a("div",{key:"848c32b06cbe5fa847c9c769c1407f13237ba4d5",class:"co-date-field__field-row"},a("div",{key:"ca350ae929087a7e6268de42a4b2e14d3de9ef58",class:"co-date-field__field",part:"field"},a("co-icon",{key:"9054673efd46a0f367abffc938a3328af6d0408b",name:"calendar",size:16,class:"co-date-field__icon"}),a("div",{key:"06c441cd3829acfd26d1e2eba100f246fadf4f55",class:"co-date-field__input-wrapper"},a("input",{key:"0b1fccd57b629230b079ad41d3d02555ca54144d",ref:e=>this.inputEl=e,class:"co-date-field__native",type:"text",inputMode:"numeric",autocomplete:"off",value:this.draft,placeholder:s,disabled:this.disabled,readOnly:this.readonly,required:this.required,"aria-invalid":this.isInvalid?"true":"false","aria-label":this.label?void 0:r.dateLabel,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,part:"input"})),this.clearable&&a("button",{key:"afacd96145ddfb36f9c4823dace12472c1692839",class:{"co-date-field__clear":!0,"co-date-field__clear--hidden":!i},type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:this.handleClear,"aria-label":null!==(e=this.clearLabel)&&void 0!==e?e:r.clearDate,part:"clear"},a("co-icon",{key:"87d841da80b8d0ef82df03ec32345a0cd274f043",name:"x-circle",size:16,weight:"fill"})))),this.name&&a("input",{key:"60a65f36972af02f0bb3f747c287b0fb8174de4d",type:"hidden",name:this.name,value:null!==(t=this.value)&&void 0!==t?t:""}),c&&a("div",{key:"05cfeef9edc268c1ca3f6b112d9750532cbf6159",class:{"co-date-field__helper":!0,"co-date-field__helper--error":this.isInvalid},part:"helper"},this.isInvalid&&a("co-icon",{key:"8e97926b9bd11f007d850dbcced80b9fb51b37b6",name:"warning-circle",size:14,class:"co-date-field__helper-icon"}),a("span",{key:"8cd33b10c139f17a97bc88f457a96e23413e744a",class:"co-date-field__helper-text"},c)))}get el(){return r(this)}static get watchers(){return{value:[{onValueChange:0}]}}};function M(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){try{const t=JSON.parse(e);if(Array.isArray(t))return t.map(String)}catch(e){}return e.split(",").map((e=>e.trim())).filter(Boolean)}return[]}function $(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){try{const t=JSON.parse(e);if(Array.isArray(t))return t.map(Number).filter((e=>!Number.isNaN(e)))}catch(e){}return e.split(",").map((e=>Number(e.trim()))).filter((e=>!Number.isNaN(e)))}return[]}j.style=":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-date-field{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-field__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-date-field__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-date-field__field-row{display:flex;align-items:stretch}.co-date-field--s .co-date-field__field{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm)}.co-date-field--sm .co-date-field__field{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm)}.co-date-field--lg .co-date-field__field{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg)}.co-date-field__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;flex:1;min-width:0}.co-date-field__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-field__input-wrapper{flex:1;display:flex;align-items:center;min-width:0;min-height:22px;padding:0}.co-date-field__native{width:100%;border:none;outline:none;background:transparent;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-date-field__native::placeholder{color:var(--co-semantic-text-muted)}.co-date-field__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-field__clear--hidden{visibility:hidden;pointer-events:none}.co-date-field__clear:hover{color:var(--co-semantic-text-default)}.co-date-field__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-date-field__helper-icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-date-field__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;letter-spacing:var(--co-font-letter-spacing-body)}.co-date-field--focused .co-date-field__field{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-field--disabled .co-date-field__labels .co-date-field__label{color:var(--co-semantic-text-disabled)}.co-date-field--disabled .co-date-field__field{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-date-field--disabled .co-date-field__native{color:var(--co-semantic-text-disabled);cursor:not-allowed}.co-date-field--disabled .co-date-field__native::placeholder{color:var(--co-semantic-text-disabled)}.co-date-field--disabled .co-date-field__icon{color:var(--co-semantic-text-disabled)}.co-date-field--invalid .co-date-field__field{border-color:var(--co-semantic-border-error, var(--co-semantic-status-error))}.co-date-field--invalid.co-date-field--focused .co-date-field__field{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-field__helper--error .co-date-field__helper-icon,.co-date-field__helper--error .co-date-field__helper-text{color:var(--co-semantic-text-error, var(--co-semantic-status-error))}:host([layout='horizontal']) .co-date-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-date-field__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-field__label{white-space:normal}:host([layout='horizontal']) .co-date-field>:not(.co-date-field__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, var(--co-color-status-error))}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}";const N=class{constructor(a){e(this,a),this.coClose=t(this,"coClose",7),this.coOpen=t(this,"coOpen",7),this.coAfterOpen=t(this,"coAfterOpen",7),this.coAfterClose=t(this,"coAfterClose",7),this.open=!1,this.position="right",this.size="md",this.heading="",this.description="",this.icon="",this.closable=!0,this.closeOnOverlay=!0,this.closeOnEscape=!0,this.modeless=!1,this.loading=!1,this.hasFooter=!1,this.hasTabs=!1,this.hasHeaderSlot=!1,this.handleFooterSlotChange=e=>{this.hasFooter=k(e)},this.handleTabsSlotChange=e=>{this.hasTabs=k(e)},this.handleHeaderSlotChange=e=>{this.hasHeaderSlot=k(e)},this.handleOverlayClose=()=>{this.closeOnOverlay&&this.coClose.emit()},this.handleCloseClick=()=>{this.coClose.emit()},this.stopPropagation=e=>{e.stopPropagation()},this.handleTransitionEnd=e=>{if(e.target!==this.asideEl)return;const t=w(e.propertyName,this.open,"transform");"after-open"===t?this.coAfterOpen.emit():"after-close"===t&&this.coAfterClose.emit()},this.promoteModeless=e=>{e&&(this.asideEl=e);const t=this.asideEl;if(this.modeless&&t&&"function"==typeof t.showPopover)try{t.matches(":popover-open")||t.showPopover()}catch(e){}}}get labelledBy(){return this.hasHeaderSlot?"co-drawer-header-content":this.heading?"co-drawer-heading":void 0}onOpenChange(e,t){e?x(this):L(this),e&&!t&&this.coOpen.emit()}connectedCallback(){this.open&&x(this)}disconnectedCallback(){L(this)}handleKey(e){this.open&&this.closeOnEscape&&"Escape"===e.key&&(this.modeless&&document.querySelector("co-drawer[open]:not([modeless]), co-modal[open]")||y(this)&&this.coClose.emit())}componentDidLoad(){this.promoteModeless()}render(){const e=a("aside",{class:{"co-drawer":!0,"co-sq-elevation":!0,"co-sq-elevation-fallback":!0,"co-drawer--open":this.open,"co-drawer--modeless":this.modeless,[`co-drawer--${this.position}`]:!0,[`co-drawer--${this.size}`]:!0},popover:this.modeless?"manual":void 0,ref:this.promoteModeless,part:"drawer",role:"dialog","aria-modal":this.modeless?"false":"true","aria-labelledby":this.labelledBy,onClick:this.stopPropagation,onTransitionEnd:this.handleTransitionEnd},a("div",{class:"co-drawer__card co-sq-clip",part:"card"},a("header",{class:"co-drawer__header",part:"header"},a("div",{class:"co-drawer__header-content",id:"co-drawer-header-content"},a("slot",{name:"header",onSlotchange:this.handleHeaderSlotChange},a("div",{class:"co-drawer__heading-row"},this.icon&&a("co-icon",{name:this.icon,size:20,class:"co-drawer__icon"}),a("h2",{class:"co-drawer__heading",id:"co-drawer-heading"},this.heading)),this.description&&a("p",{class:"co-drawer__description"},this.description))),this.closable&&a("button",{class:"co-drawer__close",type:"button","aria-label":"Close",onClick:this.handleCloseClick},a("co-icon",{name:"x",size:20}))),a("div",{class:{"co-drawer__tabs":!0,"co-drawer__tabs--empty":!this.hasTabs},part:"tabs"},a("slot",{name:"tabs",onSlotchange:this.handleTabsSlotChange})),a("div",{class:"co-drawer__body",part:"body"},a("slot",null),a("co-loader",{overlay:!0,visible:this.loading,part:"loader"})),a("footer",{class:{"co-drawer__footer":!0,"co-drawer__footer--empty":!this.hasFooter},part:"footer"},a("slot",{name:"footer",onSlotchange:this.handleFooterSlotChange}))));return this.modeless?e:a("co-overlay",{open:this.open,onCoClose:this.handleOverlayClose},e)}get el(){return r(this)}static get watchers(){return{open:[{onOpenChange:0}]}}};N.style='.co-sq-elevation{border-radius:var(--co-sq-r);corner-shape:squircle;box-shadow:var(--co-sq-shadow)}.co-sq-clip{overflow:hidden;border-radius:var(--co-sq-r);corner-shape:squircle}@supports not (corner-shape: squircle){.co-sq-elevation{box-shadow:none}.co-sq-elevation-fallback{filter:var(--co-sq-drop-shadow)}.co-sq-clip{border-radius:0;--co-sq-tl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 0L95 0L92.5 0L90 0L87.5 0.01L85 0.01L82.5 0.02L80 0.04L77.5 0.06L75 0.1L72.5 0.14L70 0.2L67.5 0.28L65 0.38L62.5 0.5L60 0.65L57.5 0.83L55 1.04L52.5 1.3L50 1.6L47.5 1.96L45 2.37L42.5 2.85L40 3.41L37.5 4.05L35 4.8L32.5 5.65L30 6.63L27.5 7.77L25 9.07L22.5 10.58L20 12.34L17.5 14.41L15 16.85L12.5 19.79L10 23.42L7.5 28.06L5 34.37L2.5 44.29L0 100L100 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-tr:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 0L5 0L7.5 0L10 0L12.5 0.01L15 0.01L17.5 0.02L20 0.04L22.5 0.06L25 0.1L27.5 0.14L30 0.2L32.5 0.28L35 0.38L37.5 0.5L40 0.65L42.5 0.83L45 1.04L47.5 1.3L50 1.6L52.5 1.96L55 2.37L57.5 2.85L60 3.41L62.5 4.05L65 4.8L67.5 5.65L70 6.63L72.5 7.77L75 9.07L77.5 10.58L80 12.34L82.5 14.41L85 16.85L87.5 19.79L90 23.42L92.5 28.06L95 34.37L97.5 44.29L100 100L0 100Z%27 fill=%27%23fff%27/></svg>");--co-sq-bl:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 55.71L5 65.63L7.5 71.94L10 76.58L12.5 80.21L15 83.15L17.5 85.59L20 87.66L22.5 89.42L25 90.93L27.5 92.23L30 93.37L32.5 94.35L35 95.2L37.5 95.95L40 96.59L42.5 97.15L45 97.63L47.5 98.04L50 98.4L52.5 98.7L55 98.96L57.5 99.17L60 99.35L62.5 99.5L65 99.62L67.5 99.72L70 99.8L72.5 99.86L75 99.9L77.5 99.94L80 99.96L82.5 99.98L85 99.99L87.5 99.99L90 100L92.5 100L95 100L97.5 100L100 100L100 0Z%27 fill=%27%23fff%27/></svg>");--co-sq-br:url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 55.71L95 65.63L92.5 71.94L90 76.58L87.5 80.21L85 83.15L82.5 85.59L80 87.66L77.5 89.42L75 90.93L72.5 92.23L70 93.37L67.5 94.35L65 95.2L62.5 95.95L60 96.59L57.5 97.15L55 97.63L52.5 98.04L50 98.4L47.5 98.7L45 98.96L42.5 99.17L40 99.35L37.5 99.5L35 99.62L32.5 99.72L30 99.8L27.5 99.86L25 99.9L22.5 99.94L20 99.96L17.5 99.98L15 99.99L12.5 99.99L10 100L7.5 100L5 100L2.5 100L0 100L0 0Z%27 fill=%27%23fff%27/></svg>");-webkit-mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat;mask:var(--co-sq-tl) top left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-tr) top right / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-bl) bottom left / var(--co-sq-r) var(--co-sq-r) no-repeat, var(--co-sq-br) bottom right / var(--co-sq-r) var(--co-sq-r) no-repeat, linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-sq-r) + 2px) no-repeat, linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-sq-r) + 2px) 100% no-repeat}}:host{display:contents}.co-drawer{position:fixed;display:flex;flex-direction:column;font-family:var(--co-font-family-primary);color:inherit;transition:transform var(--co-motion-duration-slow) var(--co-motion-ease-in-out);will-change:transform;z-index:1;contain:layout;--co-drawer-r:var(--co-shell-r, var(--co-border-radius-md));--co-sq-r:var(--co-drawer-r);--co-sq-shadow:0 1px 4px rgba(31, 28, 27, 0.06), 0 10px 56px rgba(31, 28, 27, 0.12);--co-sq-drop-shadow:drop-shadow(0 1px 2px rgba(31, 28, 27, 0.06)) drop-shadow(0 10px 28px rgba(31, 28, 27, 0.12))}.co-drawer--right{top:0;right:0;margin:6px;height:100vh;height:-webkit-fill-available;transform:translateX(calc(100% + 12px))}.co-drawer--right.co-drawer--open{transform:translateX(0)}.co-drawer--left{top:0;left:0;margin:6px;height:100vh;height:-webkit-fill-available;transform:translateX(calc(-100% - 12px))}.co-drawer--left.co-drawer--open{transform:translateX(0)}.co-drawer--bottom{bottom:0;left:0;right:0;margin:6px;width:auto;transform:translateY(calc(100% + 12px))}.co-drawer--bottom.co-drawer--open{transform:translateY(0)}.co-drawer--right.co-drawer--sm,.co-drawer--left.co-drawer--sm{width:400px;max-width:100vw}.co-drawer--right.co-drawer--md,.co-drawer--left.co-drawer--md{width:520px;max-width:100vw}.co-drawer--right.co-drawer--lg,.co-drawer--left.co-drawer--lg{width:672px;max-width:100vw}.co-drawer--right.co-drawer--xl,.co-drawer--left.co-drawer--xl{width:960px;max-width:100vw}.co-drawer--right.co-drawer--full,.co-drawer--left.co-drawer--full{width:100vw}.co-drawer--bottom.co-drawer--sm{height:40vh}.co-drawer--bottom.co-drawer--md{height:60vh}.co-drawer--bottom.co-drawer--lg{height:80vh}.co-drawer--bottom.co-drawer--xl{height:95vh}.co-drawer--bottom.co-drawer--full{height:100vh}.co-drawer__card{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--co-semantic-surface-page);color:var(--co-semantic-text-default)}.co-drawer__header{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-lg) var(--co-spacing-xl);border-bottom:1px solid var(--co-semantic-border-default);flex-shrink:0}.co-drawer__header-content{flex:1;min-width:0}.co-drawer__heading-row{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px)}.co-drawer__icon{flex-shrink:0;color:var(--co-semantic-text-secondary)}.co-drawer__heading{margin:0;font-size:var(--co-font-size-18);font-weight:600;color:var(--co-semantic-text-default);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-drawer__description{margin:var(--co-spacing-xs) 0 0;font-size:var(--co-font-size-13, 13px);font-weight:400;color:var(--co-semantic-text-muted);line-height:1.4}.co-drawer__close{display:flex;align-items:center;justify-content:center;padding:var(--co-spacing-xs);margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-sm);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out);flex-shrink:0}.co-drawer__close:hover{background:var(--co-semantic-surface-hover)}.co-drawer__close:focus-visible{outline:2px solid var(--co-color-primary-azul);outline-offset:2px}.co-drawer__tabs{flex-shrink:0;border-bottom:1px solid var(--co-semantic-border-default)}.co-drawer__tabs--empty{display:none}.co-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--co-spacing-xl);position:relative}.co-drawer__body{scrollbar-width:thin;scrollbar-color:transparent transparent}.co-drawer__body:hover{scrollbar-color:var(--co-semantic-border-default) transparent}.co-drawer__body::-webkit-scrollbar{width:6px}.co-drawer__body::-webkit-scrollbar-track{background:transparent}.co-drawer__body::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}.co-drawer__body:hover::-webkit-scrollbar-thumb{background:var(--co-semantic-border-default)}.co-drawer__body:hover::-webkit-scrollbar-thumb:hover{background:var(--co-semantic-border-field)}.co-drawer__body:hover::-webkit-scrollbar-thumb:active{background:var(--co-semantic-border-strong)}.co-drawer__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-lg) var(--co-spacing-xl);border-top:1px solid var(--co-semantic-border-default);flex-shrink:0}.co-drawer__footer--empty{display:none}@media (max-width: 600px){.co-drawer--right,.co-drawer--left{width:100vw !important}}.co-drawer--modeless{z-index:1000;border:0;padding:0;background:transparent}.co-drawer--modeless.co-drawer--right{left:auto;bottom:auto}.co-drawer--modeless.co-drawer--left{right:auto;bottom:auto}.co-drawer--modeless.co-drawer--bottom{top:auto}';export{S as co_calendar,j as co_date_field,N as co_drawer}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,c as e,h as o,H as t,a as i}from"./p-DJkaRtbb.js";import{n as r}from"./p-Ba_v-MzM.js";const s={Home:"house",Contacts:"address-book",Companies:"buildings",Presentations:"presentation-chart",Deals:"handshake",Invoices:"receipt",Payments:"credit-card",Conversations:"chat-circle",Channels:"broadcast",ChannelProviders:"plugs-connected",ConversationFlows:"flow-arrow",PhoneNumbers:"phone",Tasks:"check-square",TaskGroups:"squares-four",WorkOrders:"clipboard-text",Tickets:"ticket",CaseTypes:"tag",EmailHubs:"at",RoutingRules:"path",Contracts:"file-text",Notes:"note",Meetings:"video-camera",Calls:"phone-call",CloudDrive:"cloud",Quotes:"quotes",ContentTemplates:"article",MessageTemplates:"chat-text",Skills:"brain",AiAgentProfiles:"robot",Insights:"chart-line",Dashboards:"gauge",Reports:"chart-bar",Emails:"envelope",ContactLists:"users-three",EmailCampaigns:"megaphone",VirtualTours:"cube",Scenes:"image",Spots:"map-pin",FloorPlans:"blueprint",Users:"user",UserTeams:"users",UserGroups:"user-circle-gear",Roles:"shield",Workspaces:"stack",AuthenticationRules:"lock-key",OauthApps:"key",ServiceCredentials:"certificate",Calendars:"calendar",CalendarPolicies:"calendar-check",CalendarGroups:"calendar-dots",CalendarEvents:"calendar-plus",ProposalWizards:"magic-wand",WizardGroups:"folders",AdHubs:"storefront",AdCampaigns:"flag-banner",Pricebooks:"book-open",PricebookEntries:"list-numbers",Products:"package",Taxes:"percent",ProductGroups:"stack",ProductFamilies:"tree-structure",ProductCategories:"tag",ProductRules:"gear-six",DiscountSchedules:"piggy-bank",LiveStreams:"broadcast",EventSubscriptions:"bell-ringing",Stages:"steps",ContactFlows:"flow-arrow",Categories:"folder-simple",CustomFilters:"funnel",Logs:"list-bullets",Devices:"cpu",Scripts:"code",Webhooks:"webhooks-logo",Endpoints:"plug",Sites:"globe",HealthChecks:"heartbeat",Plugins:"puzzle-piece",Cobs:"cube",CustomFields:"textbox",CustomUis:"layout",Documentation:"book-open-text",Sections:"article",Articles:"newspaper",Directory:"address-book",Sales:"currency-dollar",Communications:"chat-teardrop-text",Operations:"gear",Support:"lifebuoy",Tools:"wrench",Configuration:"sliders",Analytics:"chart-pie",Mailing:"envelope-simple",Billing:"money",Libraries:"books",Scheduling:"timer",Pricing:"tag",Development:"terminal",AccessControl:"shield-check",Notifications:"bell",System:"database",Iot:"wifi-high",Advertising:"megaphone",Wizards:"magic-wand",TourStudio:"cube",Docs:"file-text",Setup:"gear-six",Learning:"graduation-cap",Programs:"path",Courses:"chalkboard-teacher",Enrollments:"student",Certificates:"certificate",Assessments:"exam",Recruitment:"user-plus",Vacancies:"briefcase",Candidates:"user-list",JobApplications:"read-cv-logo",Interviews:"chats-circle",AssetManagement:"package",Assets:"devices",AssetAssignments:"user-switch",Recognition:"hands-clapping",Achievements:"trophy",Rewards:"gift",Badges:"medal",BadgeNominations:"star",Prizes:"trophy",RewardsBudgets:"wallet",RedeemedPrizes:"crown",PaymentReceipts:"hand-coins",Coupons:"seal-percent",EventManager:"calendar-star",EventProspects:"users-four",BusinessEvents:"briefcase",EventExpense:"coins",Content:"folder-open",Portals:"app-window",CommunicationCenter:"headset",Integrations:"plugs-connected",Mcp:"plug",LifecycleHooks:"arrows-clockwise",PaymentProviders:"credit-card",Stripe:"credit-card",ThirdParty:"plugs-connected",Sendgrid:"paper-plane-tilt",Apollo:"rocket-launch",Kaspr:"identification-card",OpenAi:"robot",Ultramsg:"whatsapp-logo",Slack:"slack-logo",Telegram:"telegram-logo",Discord:"discord-logo"},n=class{constructor(o){a(this,o),this.coNavigate=e(this,"coNavigate",7),this.coSearch=e(this,"coSearch",7),this.items="{}",this.activeKey="",this.mode="full",this.searchable=!1,this.searchPlaceholder="Search",this.search="",this.iconMap="{}",this.translations="{}",this.searchText="",this.expandedKeys=new Set,this.flyoutKey=null,this.flyoutPosition={top:0,bottom:null,left:0},this.parsedIconMap={},this.parsedTranslations={},this.flyoutTimeout=null,this.handleSearchInput=a=>{this.searchText=a.target.value,this.coSearch.emit(this.searchText)}}onIconMapChange(){this.parseIconMap()}onTranslationsChange(){this.parseTranslations()}onSearchChange(){this.searchText=this.search}onActiveKeyChange(){this.autoExpandForActiveKey()}onItemsChange(){this.autoExpandForActiveKey()}componentWillLoad(){this.parseIconMap(),this.parseTranslations(),this.autoExpandForActiveKey()}componentDidLoad(){}parseIconMap(){try{this.parsedIconMap=Object.assign(Object.assign({},s),JSON.parse(this.iconMap))}catch(a){this.parsedIconMap=Object.assign({},s)}}parseTranslations(){try{this.parsedTranslations=JSON.parse(this.translations)}catch(a){this.parsedTranslations={}}}get parsedItems(){try{const a=JSON.parse(this.items);return Array.isArray(a)?a:this.transformMenuData(a,0)}catch(a){return[]}}transformMenuData(a,e){return Object.keys(a).map((o=>{const t=a[o],i=t.modelName||"object"==typeof t&&!Object.keys(t).some((a=>"object"==typeof t[a]&&"modelName"!==a));return{key:o,label:o,url:t.url,target:t.target,modelName:i?t.modelName:void 0,customIcon:t.customIcon,children:i?void 0:this.transformMenuData(t,e+1),level:e}}))}get filteredItems(){return this.searchText?this.filterRecursive(this.parsedItems,r(this.searchText)):this.parsedItems}filterRecursive(a,e){const o=[];for(const t of a)if(r(this.getLabel(t.key)).includes(e))o.push(t);else if(t.children){const a=this.filterRecursive(t.children,e);a.length>0&&o.push(Object.assign(Object.assign({},t),{children:a}))}return o}autoExpandForActiveKey(){if(!this.activeKey)return;const a=new Set(this.expandedKeys);this.findAndExpandParents(this.parsedItems,this.activeKey,a),this.expandedKeys=a}findAndExpandParents(a,e,o){for(const t of a){if(t.key===e)return!0;if(t.children&&this.findAndExpandParents(t.children,e,o))return o.add(t.key),!0}return!1}getLabel(a){return this.parsedTranslations[a]?this.parsedTranslations[a]:a.replace(/([a-z])([A-Z])/g,"$1 $2")}getIcon(a){return this.parsedIconMap[a]||"circle"}isLeaf(a){return!a.children||0===a.children.length}hasActiveDescendant(a){return a.key===this.activeKey||!!a.children&&a.children.some((a=>this.hasActiveDescendant(a)))}toggleExpand(a){const e=new Set(this.expandedKeys);e.has(a)?e.delete(a):e.add(a),this.expandedKeys=e}handleLeafClick(a){this.flyoutKey=null,this.coNavigate.emit({key:a.key,modelName:a.modelName,url:a.url,target:a.target,customIcon:a.customIcon})}renderSearch(){return this.searchable&&"min"!==this.mode?o("div",{class:"co-sidebar-nav__search"},o("co-icon",{name:"magnifying-glass",size:16}),o("input",{type:"text",class:"co-sidebar-nav__search-input",placeholder:this.searchPlaceholder,value:this.searchText,onInput:this.handleSearchInput}),this.searchText&&o("button",{class:"co-sidebar-nav__search-clear",onClick:()=>{this.searchText="",this.coSearch.emit("")}},o("co-icon",{name:"x",size:14}))):null}renderIcon(a,e=16){if(a.customIcon)return o("img",{class:"co-sidebar-nav__custom-icon",src:a.customIcon,alt:""});const t=a.icon||this.getIcon(a.key);return o("co-icon",{name:t,size:e})}renderHighlightedLabel(a){const e=this.getLabel(a);if(!this.searchText)return e;const t=this.searchText.toLowerCase(),i=e.toLowerCase().indexOf(t);if(-1===i)return e;const r=e.slice(0,i),s=e.slice(i,i+t.length),n=e.slice(i+t.length);return[r,o("mark",{class:"co-sidebar-nav__highlight"},s),n]}renderLeafItem(a,e=!1){const t=a.key===this.activeKey,i=this.getLabel(a.key),r="full"===this.mode||e,s=o("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":t},onClick:()=>this.handleLeafClick(a),"aria-label":r?void 0:i},o("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(a,r?16:18)),r&&o("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(a.key)));return"min"!==this.mode||e?s:o("co-tooltip",{content:i,placement:"right",offset:12},s)}openFlyout(a,e,o=0){if(clearTimeout(this.flyoutTimeout),e){const a=e.getBoundingClientRect(),t=a.right+8,i=window.innerHeight;this.flyoutPosition=a.top+(28+32*o+24)>i-16?{top:null,bottom:i-a.bottom,left:t}:{top:a.top,bottom:null,left:t}}this.flyoutKey=a}closeFlyout(){this.flyoutTimeout=setTimeout((()=>{this.flyoutKey=null}),150)}renderExpansion(a){const e=this.expandedKeys.has(a.key)||this.searchText.length>0,t=this.hasActiveDescendant(a);if("min"===this.mode){const e=this.flyoutKey===a.key;return o("div",{class:"co-sidebar-nav__flyout-anchor",onMouseEnter:e=>{var o;return this.openFlyout(a.key,e.currentTarget,(null===(o=a.children)||void 0===o?void 0:o.length)||0)},onMouseLeave:()=>this.closeFlyout()},o("button",{class:{"co-sidebar-nav__item":!0,"co-sidebar-nav__item--active":t||e},title:this.getLabel(a.key),onClick:e=>{var o;e.stopPropagation();const t=e.currentTarget.closest(".co-sidebar-nav__flyout-anchor");this.flyoutKey===a.key?this.flyoutKey=null:this.openFlyout(a.key,t||void 0,(null===(o=a.children)||void 0===o?void 0:o.length)||0)}},o("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(a,18))),e&&o("div",{class:"co-sidebar-nav__flyout",style:Object.assign(Object.assign(Object.assign({},null!==this.flyoutPosition.top?{top:`${this.flyoutPosition.top}px`}:{}),null!==this.flyoutPosition.bottom?{bottom:`${this.flyoutPosition.bottom}px`}:{}),{left:`${this.flyoutPosition.left}px`}),onMouseEnter:()=>clearTimeout(this.flyoutTimeout),onMouseLeave:()=>this.closeFlyout()},o("span",{class:"co-sidebar-nav__flyout-title"},this.renderHighlightedLabel(a.key)),a.children.map((a=>this.renderLeafItem(a,!0)))))}return o("div",{class:{"co-sidebar-nav__expansion":!0,"co-sidebar-nav__expansion--expanded":e,"co-sidebar-nav__expansion--active":t}},o("button",{class:"co-sidebar-nav__expansion-header",onClick:()=>this.toggleExpand(a.key)},o("span",{class:"co-sidebar-nav__item-icon"},this.renderIcon(a)),o("span",{class:"co-sidebar-nav__item-label"},this.renderHighlightedLabel(a.key)),o("co-icon",{name:"caret-right",size:14,class:"co-sidebar-nav__expansion-caret"})),o("div",{class:"co-sidebar-nav__expansion-body"},a.children.map((a=>this.renderItem(a)))))}renderCategory(a){return"min"===this.mode?o("div",{class:"co-sidebar-nav__category--min"},o("span",{class:"co-sidebar-nav__category-label co-sidebar-nav__category-spacer","aria-hidden":"true"}," "),a.children.map((a=>this.renderItem(a)))):o("div",{class:"co-sidebar-nav__category"},o("span",{class:"co-sidebar-nav__category-label"},this.renderHighlightedLabel(a.key)),o("div",{class:"co-sidebar-nav__category-items"},a.children.map((a=>this.renderItem(a)))))}renderItem(a){return this.isLeaf(a)?this.renderLeafItem(a):0!==a.level&&void 0!==a.level||a.modelName?this.renderExpansion(a):this.renderCategory(a)}render(){const a=this.filteredItems;return o(t,{key:"7e9637d98b9a2a698f6b82050b0f9cdadda66798",class:{"flyout-open":!!this.flyoutKey}},o("nav",{key:"c3ad14a4e294be4c2b803c93a4ddbf42daae5dd0",class:{"co-sidebar-nav":!0,"co-sidebar-nav--min":"min"===this.mode}},this.renderSearch(),o("div",{key:"2b2f5c39b6a529e1993695f4cda5ba5c5965c17e",class:"co-sidebar-nav__items"},a.map((a=>this.renderItem(a))))))}get el(){return i(this)}static get watchers(){return{iconMap:[{onIconMapChange:0}],translations:[{onTranslationsChange:0}],search:[{onSearchChange:0}],activeKey:[{onActiveKeyChange:0}],items:[{onItemsChange:0}]}}};n.style='@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-spacer{visibility:hidden;white-space:nowrap;padding-left:0;padding-right:0}.co-sidebar-nav__category--min>:not(.co-sidebar-nav__category-spacer)+*{margin-top:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)));backdrop-filter:var(--co-glass-filter, blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate)))}.co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover)));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min co-tooltip{line-height:0}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:28px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);color:var(--co-semantic-text-default);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-semantic-text-default);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-semantic-surface-control)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active:hover{background:var(--co-sidebar-nav-active-bg-min, var(--co-semantic-surface-control));color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-semantic-text-default)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-sidebar-nav-active-color, var(--co-semantic-text-link, var(--co-color-primary-azul)))}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:1}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform var(--co-motion-duration-base) var(--co-motion-ease-out);color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height var(--co-motion-duration-slow) var(--co-motion-ease-out), opacity var(--co-motion-duration-base) var(--co-motion-ease-out), padding var(--co-motion-duration-base) var(--co-motion-ease-out);padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}';export{n as co_sidebar_nav}
|