@caribeng/ui 22.4.0 → 22.6.0
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/README.md +313 -313
- package/fesm2022/caribeng-ui-account-picker.mjs +533 -0
- package/fesm2022/caribeng-ui-aging.mjs +488 -0
- package/fesm2022/{caribeng-ui-caribe-alert.mjs → caribeng-ui-alert.mjs} +45 -45
- package/fesm2022/caribeng-ui-amount.mjs +249 -0
- package/fesm2022/caribeng-ui-anchor.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-animation-lottie.mjs → caribeng-ui-animation-lottie.mjs} +41 -41
- package/fesm2022/caribeng-ui-audit-log.mjs +323 -0
- package/fesm2022/caribeng-ui-avatar.mjs +2 -2
- package/fesm2022/caribeng-ui-breadcrumb.mjs +13 -3
- package/fesm2022/{caribeng-ui-caribe-button-group.mjs → caribeng-ui-button-group.mjs} +15 -15
- package/fesm2022/caribeng-ui-button.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-card-content.mjs → caribeng-ui-card-content.mjs} +39 -39
- package/fesm2022/{caribeng-ui-caribe-card-move.mjs → caribeng-ui-card-move.mjs} +65 -65
- package/fesm2022/{caribeng-ui-caribe-card-primary.mjs → caribeng-ui-card-primary.mjs} +31 -31
- package/fesm2022/{caribeng-ui-caribe-card-select.mjs → caribeng-ui-card-select.mjs} +67 -67
- package/fesm2022/caribeng-ui-carousel.mjs +2 -2
- package/fesm2022/caribeng-ui-cascadeselect.mjs +45 -9
- package/fesm2022/caribeng-ui-chat.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-coachmark.mjs → caribeng-ui-coachmark.mjs} +85 -85
- package/fesm2022/caribeng-ui-command-palette.mjs +2 -2
- package/fesm2022/caribeng-ui-comments.mjs +864 -0
- package/fesm2022/caribeng-ui-datagrid.mjs +1635 -0
- package/fesm2022/caribeng-ui-dataview.mjs +2 -2
- package/fesm2022/caribeng-ui-datepicker.mjs +2 -2
- package/fesm2022/caribeng-ui-document.mjs +495 -0
- package/fesm2022/{caribeng-ui-caribe-dots-indicator.mjs → caribeng-ui-dots-indicator.mjs} +41 -41
- package/fesm2022/caribeng-ui-dynamic-form.mjs +1581 -0
- package/fesm2022/caribeng-ui-editor.mjs +2303 -1311
- package/fesm2022/{caribeng-ui-caribe-expansion-panel.mjs → caribeng-ui-expansion-panel.mjs} +39 -39
- package/fesm2022/{caribeng-ui-caribe-fab-menu.mjs → caribeng-ui-fab-menu.mjs} +75 -75
- package/fesm2022/caribeng-ui-file-card.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-file-download.mjs → caribeng-ui-file-download.mjs} +63 -63
- package/fesm2022/caribeng-ui-financial-report.mjs +380 -0
- package/fesm2022/{caribeng-ui-caribe-float-menu.mjs → caribeng-ui-float-menu.mjs} +31 -31
- package/fesm2022/caribeng-ui-floatlabel.mjs +2 -2
- package/fesm2022/caribeng-ui-flow.mjs +1508 -0
- package/fesm2022/{caribeng-ui-caribe-footer.mjs → caribeng-ui-footer.mjs} +19 -19
- package/fesm2022/caribeng-ui-gantt.mjs +1094 -0
- package/fesm2022/{caribeng-ui-caribe-header.mjs → caribeng-ui-header.mjs} +49 -49
- package/fesm2022/{caribeng-ui-caribe-icon-button.mjs → caribeng-ui-icon-button.mjs} +23 -23
- package/fesm2022/caribeng-ui-image-cropper.mjs +671 -0
- package/fesm2022/caribeng-ui-import-wizard.mjs +746 -0
- package/fesm2022/caribeng-ui-infinite-scroll.mjs +226 -0
- package/fesm2022/caribeng-ui-input-number.mjs +22 -6
- package/fesm2022/{caribeng-ui-caribe-input-search.mjs → caribeng-ui-input-search.mjs} +65 -65
- package/fesm2022/{caribeng-ui-caribe-input-token.mjs → caribeng-ui-input-token.mjs} +59 -59
- package/fesm2022/caribeng-ui-inputotp.mjs +2 -2
- package/fesm2022/caribeng-ui-journal-entry.mjs +340 -0
- package/fesm2022/caribeng-ui-kanban.mjs +6 -6
- package/fesm2022/caribeng-ui-kpi.mjs +189 -0
- package/fesm2022/{caribeng-ui-caribe-link.mjs → caribeng-ui-link.mjs} +37 -37
- package/fesm2022/caribeng-ui-masonry.mjs +93 -0
- package/fesm2022/caribeng-ui-media-player.mjs +821 -0
- package/fesm2022/caribeng-ui-mentions.mjs +2 -2
- package/fesm2022/caribeng-ui-notification-center.mjs +636 -0
- package/fesm2022/{caribeng-ui-caribe-off-canvas.mjs → caribeng-ui-off-canvas.mjs} +55 -55
- package/fesm2022/{caribeng-ui-caribe-onboarding.mjs → caribeng-ui-onboarding.mjs} +105 -105
- package/fesm2022/caribeng-ui-orderlist.mjs +2 -2
- package/fesm2022/caribeng-ui-pdfviewer.mjs +1755 -25
- package/fesm2022/caribeng-ui-period-picker.mjs +637 -0
- package/fesm2022/caribeng-ui-phone-input.mjs +2 -2
- package/fesm2022/caribeng-ui-picklist.mjs +2 -2
- package/fesm2022/caribeng-ui-pivot.mjs +419 -0
- package/fesm2022/caribeng-ui-pricing.mjs +2 -2
- package/fesm2022/caribeng-ui-rating.mjs +14 -17
- package/fesm2022/caribeng-ui-reconciliation.mjs +386 -0
- package/fesm2022/caribeng-ui-scheduler.mjs +1027 -0
- package/fesm2022/caribeng-ui-select.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-shortcut.mjs → caribeng-ui-shortcut.mjs} +29 -29
- package/fesm2022/caribeng-ui-sidebar.mjs +2 -2
- package/fesm2022/caribeng-ui-signature-pad.mjs +654 -0
- package/fesm2022/{caribeng-ui-caribe-status.mjs → caribeng-ui-status.mjs} +11 -11
- package/fesm2022/{caribeng-ui-caribe-step-indicator.mjs → caribeng-ui-step-indicator.mjs} +53 -53
- package/fesm2022/caribeng-ui-stepper.mjs +2 -2
- package/fesm2022/caribeng-ui-steps.mjs +2 -2
- package/fesm2022/caribeng-ui-table.mjs +323 -15
- package/fesm2022/caribeng-ui-tabmenu.mjs +2 -2
- package/fesm2022/caribeng-ui-tabs.mjs +2 -2
- package/fesm2022/{caribeng-ui-caribe-tag-button.mjs → caribeng-ui-tag-button.mjs} +25 -25
- package/fesm2022/caribeng-ui-tag.mjs +2 -2
- package/fesm2022/caribeng-ui-tieredmenu.mjs +6 -6
- package/fesm2022/{caribeng-ui-caribe-tracker.mjs → caribeng-ui-tracker.mjs} +29 -29
- package/fesm2022/{caribeng-ui-caribe-transaction-status.mjs → caribeng-ui-transaction-status.mjs} +11 -11
- package/fesm2022/caribeng-ui-treeselect.mjs +44 -9
- package/fesm2022/caribeng-ui-treetable.mjs +236 -17
- package/fesm2022/{caribeng-ui-caribe-voucher.mjs → caribeng-ui-voucher.mjs} +45 -45
- package/fesm2022/caribeng-ui-xlsx.mjs +486 -0
- package/fesm2022/caribeng-ui.mjs +1185 -5
- package/package.json +217 -177
- package/types/caribeng-ui-account-picker.d.ts +142 -0
- package/types/caribeng-ui-aging.d.ts +123 -0
- package/types/{caribeng-ui-caribe-alert.d.ts → caribeng-ui-alert.d.ts} +2 -2
- package/types/caribeng-ui-amount.d.ts +82 -0
- package/types/{caribeng-ui-caribe-animation-lottie.d.ts → caribeng-ui-animation-lottie.d.ts} +2 -2
- package/types/caribeng-ui-audit-log.d.ts +86 -0
- package/types/caribeng-ui-breadcrumb.d.ts +2 -2
- package/types/{caribeng-ui-caribe-button-group.d.ts → caribeng-ui-button-group.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-card-content.d.ts → caribeng-ui-card-content.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-card-move.d.ts → caribeng-ui-card-move.d.ts} +1 -1
- package/types/{caribeng-ui-caribe-card-primary.d.ts → caribeng-ui-card-primary.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-card-select.d.ts → caribeng-ui-card-select.d.ts} +2 -2
- package/types/caribeng-ui-cascadeselect.d.ts +6 -0
- package/types/{caribeng-ui-caribe-coachmark.d.ts → caribeng-ui-coachmark.d.ts} +2 -2
- package/types/caribeng-ui-comments.d.ts +214 -0
- package/types/caribeng-ui-datagrid.d.ts +269 -0
- package/types/caribeng-ui-document.d.ts +138 -0
- package/types/{caribeng-ui-caribe-dots-indicator.d.ts → caribeng-ui-dots-indicator.d.ts} +2 -2
- package/types/caribeng-ui-dynamic-form.d.ts +409 -0
- package/types/caribeng-ui-editor.d.ts +110 -12
- package/types/{caribeng-ui-caribe-expansion-panel.d.ts → caribeng-ui-expansion-panel.d.ts} +1 -1
- package/types/{caribeng-ui-caribe-fab-menu.d.ts → caribeng-ui-fab-menu.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-file-download.d.ts → caribeng-ui-file-download.d.ts} +1 -1
- package/types/caribeng-ui-financial-report.d.ts +102 -0
- package/types/{caribeng-ui-caribe-float-menu.d.ts → caribeng-ui-float-menu.d.ts} +2 -2
- package/types/caribeng-ui-flow.d.ts +228 -0
- package/types/{caribeng-ui-caribe-footer.d.ts → caribeng-ui-footer.d.ts} +2 -2
- package/types/caribeng-ui-gantt.d.ts +244 -0
- package/types/{caribeng-ui-caribe-header.d.ts → caribeng-ui-header.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-icon-button.d.ts → caribeng-ui-icon-button.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-illustration.d.ts → caribeng-ui-illustration.d.ts} +1 -1
- package/types/caribeng-ui-image-cropper.d.ts +169 -0
- package/types/caribeng-ui-import-wizard.d.ts +149 -0
- package/types/caribeng-ui-infinite-scroll.d.ts +75 -0
- package/types/caribeng-ui-input-number.d.ts +1 -1
- package/types/{caribeng-ui-caribe-input-search.d.ts → caribeng-ui-input-search.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-input-token.d.ts → caribeng-ui-input-token.d.ts} +2 -2
- package/types/caribeng-ui-journal-entry.d.ts +110 -0
- package/types/caribeng-ui-kpi.d.ts +64 -0
- package/types/{caribeng-ui-caribe-link.d.ts → caribeng-ui-link.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-logo.d.ts → caribeng-ui-logo.d.ts} +1 -1
- package/types/caribeng-ui-masonry.d.ts +32 -0
- package/types/caribeng-ui-media-player.d.ts +140 -0
- package/types/caribeng-ui-notification-center.d.ts +153 -0
- package/types/{caribeng-ui-caribe-off-canvas.d.ts → caribeng-ui-off-canvas.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-onboarding.d.ts → caribeng-ui-onboarding.d.ts} +2 -2
- package/types/caribeng-ui-pdfviewer.d.ts +245 -5
- package/types/caribeng-ui-period-picker.d.ts +148 -0
- package/types/caribeng-ui-pivot.d.ts +116 -0
- package/types/caribeng-ui-reconciliation.d.ts +109 -0
- package/types/caribeng-ui-scheduler.d.ts +188 -0
- package/types/{caribeng-ui-caribe-shortcut.d.ts → caribeng-ui-shortcut.d.ts} +2 -2
- package/types/caribeng-ui-signature-pad.d.ts +151 -0
- package/types/{caribeng-ui-caribe-status.d.ts → caribeng-ui-status.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-step-indicator.d.ts → caribeng-ui-step-indicator.d.ts} +2 -2
- package/types/caribeng-ui-table.d.ts +66 -2
- package/types/{caribeng-ui-caribe-tag-button.d.ts → caribeng-ui-tag-button.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-tracker.d.ts → caribeng-ui-tracker.d.ts} +2 -2
- package/types/{caribeng-ui-caribe-transaction-status.d.ts → caribeng-ui-transaction-status.d.ts} +2 -2
- package/types/caribeng-ui-treeselect.d.ts +6 -0
- package/types/caribeng-ui-treetable.d.ts +67 -2
- package/types/{caribeng-ui-caribe-voucher.d.ts → caribeng-ui-voucher.d.ts} +2 -2
- package/types/caribeng-ui-xlsx.d.ts +79 -0
- package/types/caribeng-ui.d.ts +713 -4
- package/fesm2022/caribeng-ui-caribe-calendar.mjs +0 -92
- package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +0 -130
- package/fesm2022/caribeng-ui-caribe-data-table.mjs +0 -94
- package/fesm2022/caribeng-ui-caribe-file-select.mjs +0 -88
- package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +0 -100
- package/fesm2022/caribeng-ui-caribe-input-date.mjs +0 -138
- package/fesm2022/caribeng-ui-caribe-input-select.mjs +0 -154
- package/fesm2022/caribeng-ui-caribe-loader.mjs +0 -48
- package/fesm2022/caribeng-ui-caribe-modal.mjs +0 -119
- package/fesm2022/caribeng-ui-caribe-pictogram.mjs +0 -52
- package/fesm2022/caribeng-ui-caribe-pop-over.mjs +0 -104
- package/fesm2022/caribeng-ui-caribe-preloader.mjs +0 -57
- package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +0 -84
- package/fesm2022/caribeng-ui-caribe-stroke.mjs +0 -69
- package/fesm2022/caribeng-ui-caribe-switch.mjs +0 -182
- package/types/caribeng-ui-caribe-calendar.d.ts +0 -27
- package/types/caribeng-ui-caribe-circle-loading.d.ts +0 -28
- package/types/caribeng-ui-caribe-data-table.d.ts +0 -26
- package/types/caribeng-ui-caribe-file-select.d.ts +0 -31
- package/types/caribeng-ui-caribe-inline-alert.d.ts +0 -28
- package/types/caribeng-ui-caribe-input-date.d.ts +0 -40
- package/types/caribeng-ui-caribe-input-select.d.ts +0 -47
- package/types/caribeng-ui-caribe-loader.d.ts +0 -22
- package/types/caribeng-ui-caribe-modal.d.ts +0 -21
- package/types/caribeng-ui-caribe-pictogram.d.ts +0 -15
- package/types/caribeng-ui-caribe-pop-over.d.ts +0 -17
- package/types/caribeng-ui-caribe-preloader.d.ts +0 -24
- package/types/caribeng-ui-caribe-progress-bar.d.ts +0 -28
- package/types/caribeng-ui-caribe-stroke.d.ts +0 -17
- package/types/caribeng-ui-caribe-switch.d.ts +0 -55
- /package/fesm2022/{caribeng-ui-caribe-illustration.mjs → caribeng-ui-illustration.mjs} +0 -0
- /package/fesm2022/{caribeng-ui-caribe-logo.mjs → caribeng-ui-logo.mjs} +0 -0
|
@@ -5,7 +5,7 @@ import { A11yModule } from '@angular/cdk/a11y';
|
|
|
5
5
|
import { injectCbTranslation, cbOverlayFocus } from '@caribeng/ui';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Off-canvas
|
|
8
|
+
* Off-canvas: panel lateral deslizable con cabecera, botón de
|
|
9
9
|
* cierre y contenido proyectado.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
@@ -31,64 +31,64 @@ class CbOffCanvas {
|
|
|
31
31
|
cbOverlayFocus({ open: this.open, initialFocus: () => this.closeBtn()?.nativeElement });
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbOffCanvas, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: CbOffCanvas, isStandalone: true, selector: "cb-off-canvas", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, host: { classAttribute: "cb-off-canvas-host" }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
35
|
-
@if (open()) {
|
|
36
|
-
<aside
|
|
37
|
-
class="cb-off-canvas cb-off-canvas--{{ position() }}"
|
|
38
|
-
role="dialog"
|
|
39
|
-
aria-modal="true"
|
|
40
|
-
[attr.aria-label]="(title() ?? t().sidePanel)"
|
|
41
|
-
cdkTrapFocus
|
|
42
|
-
(keydown.escape)="open.set(false)"
|
|
43
|
-
>
|
|
44
|
-
<div class="cb-off-canvas__header">
|
|
45
|
-
<strong class="cb-off-canvas__title">{{ (title() ?? t().sidePanel) }}</strong>
|
|
46
|
-
<button
|
|
47
|
-
#closeBtn
|
|
48
|
-
type="button"
|
|
49
|
-
class="cb-off-canvas__close"
|
|
50
|
-
[attr.aria-label]="t().close"
|
|
51
|
-
(click)="open.set(false)"
|
|
52
|
-
>
|
|
53
|
-
<span aria-hidden="true">×</span>
|
|
54
|
-
</button>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="cb-off-canvas__body">
|
|
57
|
-
<ng-content />
|
|
58
|
-
</div>
|
|
59
|
-
</aside>
|
|
60
|
-
}
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: CbOffCanvas, isStandalone: true, selector: "cb-off-canvas", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, host: { classAttribute: "cb-off-canvas-host" }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
35
|
+
@if (open()) {
|
|
36
|
+
<aside
|
|
37
|
+
class="cb-off-canvas cb-off-canvas--{{ position() }}"
|
|
38
|
+
role="dialog"
|
|
39
|
+
aria-modal="true"
|
|
40
|
+
[attr.aria-label]="(title() ?? t().sidePanel)"
|
|
41
|
+
cdkTrapFocus
|
|
42
|
+
(keydown.escape)="open.set(false)"
|
|
43
|
+
>
|
|
44
|
+
<div class="cb-off-canvas__header">
|
|
45
|
+
<strong class="cb-off-canvas__title">{{ (title() ?? t().sidePanel) }}</strong>
|
|
46
|
+
<button
|
|
47
|
+
#closeBtn
|
|
48
|
+
type="button"
|
|
49
|
+
class="cb-off-canvas__close"
|
|
50
|
+
[attr.aria-label]="t().close"
|
|
51
|
+
(click)="open.set(false)"
|
|
52
|
+
>
|
|
53
|
+
<span aria-hidden="true">×</span>
|
|
54
|
+
</button>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="cb-off-canvas__body">
|
|
57
|
+
<ng-content />
|
|
58
|
+
</div>
|
|
59
|
+
</aside>
|
|
60
|
+
}
|
|
61
61
|
`, isInline: true, styles: [":host{display:block}.cb-off-canvas{display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:20rem;min-height:12rem;padding:var(--cb-space-4, 1rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-lg, 0 12px 32px rgba(0, 0, 0, .18));animation:cb-off-canvas-in var(--cb-duration-normal, .2s) var(--cb-ease-out, ease-out)}.cb-off-canvas--bottom{max-width:none}.cb-off-canvas__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cb-space-3, .75rem);margin-bottom:var(--cb-space-3, .75rem);padding-bottom:var(--cb-space-3, .75rem);border-bottom:1px solid var(--cb-color-border, #e2e8f0)}.cb-off-canvas__title{font-size:var(--cb-text-lg, 1rem);font-weight:var(--cb-font-weight-semibold, 600)}.cb-off-canvas__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1.25rem;line-height:1;color:inherit;background:transparent;border:none;border-radius:var(--cb-radius-full, 999px);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-off-canvas__close:hover{background-color:var(--cb-color-surface-100, #f1f5f9)}.cb-off-canvas__body{flex:1;font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155)}@keyframes cb-off-canvas-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:host-context([data-theme=\"dark\"]) .cb-off-canvas{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__header{border-bottom-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__close:hover{background-color:var(--cb-color-surface-700, #334155)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__body{color:var(--cb-color-surface-200, #e2e8f0)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbOffCanvas, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
|
-
args: [{ selector: 'cb-off-canvas', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, imports: [A11yModule], host: { class: 'cb-off-canvas-host' }, template: `
|
|
66
|
-
@if (open()) {
|
|
67
|
-
<aside
|
|
68
|
-
class="cb-off-canvas cb-off-canvas--{{ position() }}"
|
|
69
|
-
role="dialog"
|
|
70
|
-
aria-modal="true"
|
|
71
|
-
[attr.aria-label]="(title() ?? t().sidePanel)"
|
|
72
|
-
cdkTrapFocus
|
|
73
|
-
(keydown.escape)="open.set(false)"
|
|
74
|
-
>
|
|
75
|
-
<div class="cb-off-canvas__header">
|
|
76
|
-
<strong class="cb-off-canvas__title">{{ (title() ?? t().sidePanel) }}</strong>
|
|
77
|
-
<button
|
|
78
|
-
#closeBtn
|
|
79
|
-
type="button"
|
|
80
|
-
class="cb-off-canvas__close"
|
|
81
|
-
[attr.aria-label]="t().close"
|
|
82
|
-
(click)="open.set(false)"
|
|
83
|
-
>
|
|
84
|
-
<span aria-hidden="true">×</span>
|
|
85
|
-
</button>
|
|
86
|
-
</div>
|
|
87
|
-
<div class="cb-off-canvas__body">
|
|
88
|
-
<ng-content />
|
|
89
|
-
</div>
|
|
90
|
-
</aside>
|
|
91
|
-
}
|
|
65
|
+
args: [{ selector: 'cb-off-canvas', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, imports: [A11yModule], host: { class: 'cb-off-canvas-host' }, template: `
|
|
66
|
+
@if (open()) {
|
|
67
|
+
<aside
|
|
68
|
+
class="cb-off-canvas cb-off-canvas--{{ position() }}"
|
|
69
|
+
role="dialog"
|
|
70
|
+
aria-modal="true"
|
|
71
|
+
[attr.aria-label]="(title() ?? t().sidePanel)"
|
|
72
|
+
cdkTrapFocus
|
|
73
|
+
(keydown.escape)="open.set(false)"
|
|
74
|
+
>
|
|
75
|
+
<div class="cb-off-canvas__header">
|
|
76
|
+
<strong class="cb-off-canvas__title">{{ (title() ?? t().sidePanel) }}</strong>
|
|
77
|
+
<button
|
|
78
|
+
#closeBtn
|
|
79
|
+
type="button"
|
|
80
|
+
class="cb-off-canvas__close"
|
|
81
|
+
[attr.aria-label]="t().close"
|
|
82
|
+
(click)="open.set(false)"
|
|
83
|
+
>
|
|
84
|
+
<span aria-hidden="true">×</span>
|
|
85
|
+
</button>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="cb-off-canvas__body">
|
|
88
|
+
<ng-content />
|
|
89
|
+
</div>
|
|
90
|
+
</aside>
|
|
91
|
+
}
|
|
92
92
|
`, styles: [":host{display:block}.cb-off-canvas{display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:20rem;min-height:12rem;padding:var(--cb-space-4, 1rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-lg, 0 12px 32px rgba(0, 0, 0, .18));animation:cb-off-canvas-in var(--cb-duration-normal, .2s) var(--cb-ease-out, ease-out)}.cb-off-canvas--bottom{max-width:none}.cb-off-canvas__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cb-space-3, .75rem);margin-bottom:var(--cb-space-3, .75rem);padding-bottom:var(--cb-space-3, .75rem);border-bottom:1px solid var(--cb-color-border, #e2e8f0)}.cb-off-canvas__title{font-size:var(--cb-text-lg, 1rem);font-weight:var(--cb-font-weight-semibold, 600)}.cb-off-canvas__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1.25rem;line-height:1;color:inherit;background:transparent;border:none;border-radius:var(--cb-radius-full, 999px);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-off-canvas__close:hover{background-color:var(--cb-color-surface-100, #f1f5f9)}.cb-off-canvas__body{flex:1;font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155)}@keyframes cb-off-canvas-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:host-context([data-theme=\"dark\"]) .cb-off-canvas{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__header{border-bottom-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__close:hover{background-color:var(--cb-color-surface-700, #334155)}:host-context([data-theme=\"dark\"]) .cb-off-canvas__body{color:var(--cb-color-surface-200, #e2e8f0)}\n"] }]
|
|
93
93
|
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], closeBtn: [{ type: i0.ViewChild, args: ['closeBtn', { isSignal: true }] }] } });
|
|
94
94
|
|
|
@@ -3,7 +3,7 @@ import { input, model, output, ViewEncapsulation, ChangeDetectionStrategy, Compo
|
|
|
3
3
|
import { injectCbTranslation, cbFormat } from '@caribeng/ui';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Onboarding
|
|
6
|
+
* Onboarding: panel de bienvenida paso a paso con progreso y
|
|
7
7
|
* navegación.
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
@@ -41,113 +41,113 @@ class CbOnboarding {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbOnboarding, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: CbOnboarding, isStandalone: true, selector: "cb-onboarding", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", index: "indexChange", currentStepIndex: "currentStepIndex" }, ngImport: i0, template: `
|
|
45
|
-
@if (visible() && steps().length) {
|
|
46
|
-
<section
|
|
47
|
-
class="cb-onboarding"
|
|
48
|
-
role="dialog"
|
|
49
|
-
[attr.aria-label]="t().onboarding"
|
|
50
|
-
(keydown.escape)="visible.set(false)"
|
|
51
|
-
>
|
|
52
|
-
<div class="cb-onboarding__dots" aria-hidden="true">
|
|
53
|
-
@for (step of steps(); track $index) {
|
|
54
|
-
<span
|
|
55
|
-
class="cb-onboarding__dot"
|
|
56
|
-
[class.cb-is-active]="$index === index()"
|
|
57
|
-
></span>
|
|
58
|
-
}
|
|
59
|
-
</div>
|
|
60
|
-
<!-- Región viva: al cambiar de paso se anuncian el contador y el título. -->
|
|
61
|
-
<div class="cb-onboarding__announce" aria-live="polite" aria-atomic="true">
|
|
62
|
-
<span class="cb-onboarding__counter" aria-hidden="true">
|
|
63
|
-
{{ index() + 1 }} / {{ steps().length }}
|
|
64
|
-
</span>
|
|
65
|
-
<span class="cb-onboarding__sr">{{ fmt(t().stepOf, index() + 1, steps().length) }}</span>
|
|
66
|
-
<h2 class="cb-onboarding__title">{{ steps()[index()] }}</h2>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="cb-onboarding__body"><ng-content /></div>
|
|
69
|
-
<div class="cb-onboarding__actions">
|
|
70
|
-
<button
|
|
71
|
-
type="button"
|
|
72
|
-
class="cb-onboarding__btn cb-onboarding__btn--ghost"
|
|
73
|
-
(click)="visible.set(false)"
|
|
74
|
-
>
|
|
75
|
-
{{ t().skip }}
|
|
76
|
-
</button>
|
|
77
|
-
<button
|
|
78
|
-
type="button"
|
|
79
|
-
class="cb-onboarding__btn"
|
|
80
|
-
(click)="previous()"
|
|
81
|
-
[disabled]="index() === 0"
|
|
82
|
-
>
|
|
83
|
-
{{ t().previous }}
|
|
84
|
-
</button>
|
|
85
|
-
<button
|
|
86
|
-
type="button"
|
|
87
|
-
class="cb-onboarding__btn cb-onboarding__btn--primary"
|
|
88
|
-
(click)="next()"
|
|
89
|
-
>
|
|
90
|
-
{{ index() === steps().length - 1 ? t().start : t().continue }}
|
|
91
|
-
</button>
|
|
92
|
-
</div>
|
|
93
|
-
</section>
|
|
94
|
-
}
|
|
95
|
-
`, isInline: true, styles: [":host{display:block;width:100%;max-width:24rem}.cb-onboarding{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem);box-sizing:border-box;padding:var(--cb-space-6, 1.5rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-md, 0 8px 24px rgba(0, 0, 0, .12));text-align:center}.cb-onboarding__dots{display:flex;justify-content:center;gap:var(--cb-space-1, .3rem)}.cb-onboarding__dot{width:.5rem;height:.5rem;border-radius:var(--cb-radius-full, 999px);background-color:var(--cb-color-surface-300, #cbd5e1);transition:all var(--cb-duration-normal, .2s) var(--cb-ease, ease)}.cb-onboarding__dot.cb-is-active{width:1.25rem;background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__announce{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem)}.cb-onboarding__counter{font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__title{margin:0;font-size:var(--cb-text-xl, 1.25rem);font-weight:var(--cb-font-weight-bold, 700)}.cb-onboarding__body{font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155);line-height:var(--cb-line-height-relaxed, 1.6)}.cb-onboarding__body:empty{display:none}.cb-onboarding__actions{display:flex;justify-content:center;gap:var(--cb-space-2, .5rem);margin-top:var(--cb-space-2, .5rem)}.cb-onboarding__btn{padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-100, #f1f5f9);border:none;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-onboarding__btn:hover:not(:disabled){background-color:var(--cb-color-surface-200, #e2e8f0)}.cb-onboarding__btn:disabled{opacity:.4;cursor:not-allowed}.cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__btn--primary{color
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: CbOnboarding, isStandalone: true, selector: "cb-onboarding", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", index: "indexChange", currentStepIndex: "currentStepIndex" }, ngImport: i0, template: `
|
|
45
|
+
@if (visible() && steps().length) {
|
|
46
|
+
<section
|
|
47
|
+
class="cb-onboarding"
|
|
48
|
+
role="dialog"
|
|
49
|
+
[attr.aria-label]="t().onboarding"
|
|
50
|
+
(keydown.escape)="visible.set(false)"
|
|
51
|
+
>
|
|
52
|
+
<div class="cb-onboarding__dots" aria-hidden="true">
|
|
53
|
+
@for (step of steps(); track $index) {
|
|
54
|
+
<span
|
|
55
|
+
class="cb-onboarding__dot"
|
|
56
|
+
[class.cb-is-active]="$index === index()"
|
|
57
|
+
></span>
|
|
58
|
+
}
|
|
59
|
+
</div>
|
|
60
|
+
<!-- Región viva: al cambiar de paso se anuncian el contador y el título. -->
|
|
61
|
+
<div class="cb-onboarding__announce" aria-live="polite" aria-atomic="true">
|
|
62
|
+
<span class="cb-onboarding__counter" aria-hidden="true">
|
|
63
|
+
{{ index() + 1 }} / {{ steps().length }}
|
|
64
|
+
</span>
|
|
65
|
+
<span class="cb-onboarding__sr">{{ fmt(t().stepOf, index() + 1, steps().length) }}</span>
|
|
66
|
+
<h2 class="cb-onboarding__title">{{ steps()[index()] }}</h2>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="cb-onboarding__body"><ng-content /></div>
|
|
69
|
+
<div class="cb-onboarding__actions">
|
|
70
|
+
<button
|
|
71
|
+
type="button"
|
|
72
|
+
class="cb-onboarding__btn cb-onboarding__btn--ghost"
|
|
73
|
+
(click)="visible.set(false)"
|
|
74
|
+
>
|
|
75
|
+
{{ t().skip }}
|
|
76
|
+
</button>
|
|
77
|
+
<button
|
|
78
|
+
type="button"
|
|
79
|
+
class="cb-onboarding__btn"
|
|
80
|
+
(click)="previous()"
|
|
81
|
+
[disabled]="index() === 0"
|
|
82
|
+
>
|
|
83
|
+
{{ t().previous }}
|
|
84
|
+
</button>
|
|
85
|
+
<button
|
|
86
|
+
type="button"
|
|
87
|
+
class="cb-onboarding__btn cb-onboarding__btn--primary"
|
|
88
|
+
(click)="next()"
|
|
89
|
+
>
|
|
90
|
+
{{ index() === steps().length - 1 ? t().start : t().continue }}
|
|
91
|
+
</button>
|
|
92
|
+
</div>
|
|
93
|
+
</section>
|
|
94
|
+
}
|
|
95
|
+
`, isInline: true, styles: [":host{display:block;width:100%;max-width:24rem}.cb-onboarding{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem);box-sizing:border-box;padding:var(--cb-space-6, 1.5rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-md, 0 8px 24px rgba(0, 0, 0, .12));text-align:center}.cb-onboarding__dots{display:flex;justify-content:center;gap:var(--cb-space-1, .3rem)}.cb-onboarding__dot{width:.5rem;height:.5rem;border-radius:var(--cb-radius-full, 999px);background-color:var(--cb-color-surface-300, #cbd5e1);transition:all var(--cb-duration-normal, .2s) var(--cb-ease, ease)}.cb-onboarding__dot.cb-is-active{width:1.25rem;background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__announce{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem)}.cb-onboarding__counter{font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__title{margin:0;font-size:var(--cb-text-xl, 1.25rem);font-weight:var(--cb-font-weight-bold, 700)}.cb-onboarding__body{font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155);line-height:var(--cb-line-height-relaxed, 1.6)}.cb-onboarding__body:empty{display:none}.cb-onboarding__actions{display:flex;justify-content:center;gap:var(--cb-space-2, .5rem);margin-top:var(--cb-space-2, .5rem)}.cb-onboarding__btn{padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-100, #f1f5f9);border:none;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-onboarding__btn:hover:not(:disabled){background-color:var(--cb-color-surface-200, #e2e8f0)}.cb-onboarding__btn:disabled{opacity:.4;cursor:not-allowed}.cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__btn--primary{color:#fff;background-color:var(--cb-color-primary-700, #047857)}.cb-onboarding__btn--primary:hover:not(:disabled){background-color:var(--cb-color-primary-700, #065f46)}:host-context([data-theme=\"dark\"]) .cb-onboarding{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-onboarding__body{color:var(--cb-color-surface-200, #e2e8f0)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-700, #334155)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-surface-300, #cbd5e1)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn--primary{background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbOnboarding, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ selector: 'cb-onboarding', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: `
|
|
100
|
-
@if (visible() && steps().length) {
|
|
101
|
-
<section
|
|
102
|
-
class="cb-onboarding"
|
|
103
|
-
role="dialog"
|
|
104
|
-
[attr.aria-label]="t().onboarding"
|
|
105
|
-
(keydown.escape)="visible.set(false)"
|
|
106
|
-
>
|
|
107
|
-
<div class="cb-onboarding__dots" aria-hidden="true">
|
|
108
|
-
@for (step of steps(); track $index) {
|
|
109
|
-
<span
|
|
110
|
-
class="cb-onboarding__dot"
|
|
111
|
-
[class.cb-is-active]="$index === index()"
|
|
112
|
-
></span>
|
|
113
|
-
}
|
|
114
|
-
</div>
|
|
115
|
-
<!-- Región viva: al cambiar de paso se anuncian el contador y el título. -->
|
|
116
|
-
<div class="cb-onboarding__announce" aria-live="polite" aria-atomic="true">
|
|
117
|
-
<span class="cb-onboarding__counter" aria-hidden="true">
|
|
118
|
-
{{ index() + 1 }} / {{ steps().length }}
|
|
119
|
-
</span>
|
|
120
|
-
<span class="cb-onboarding__sr">{{ fmt(t().stepOf, index() + 1, steps().length) }}</span>
|
|
121
|
-
<h2 class="cb-onboarding__title">{{ steps()[index()] }}</h2>
|
|
122
|
-
</div>
|
|
123
|
-
<div class="cb-onboarding__body"><ng-content /></div>
|
|
124
|
-
<div class="cb-onboarding__actions">
|
|
125
|
-
<button
|
|
126
|
-
type="button"
|
|
127
|
-
class="cb-onboarding__btn cb-onboarding__btn--ghost"
|
|
128
|
-
(click)="visible.set(false)"
|
|
129
|
-
>
|
|
130
|
-
{{ t().skip }}
|
|
131
|
-
</button>
|
|
132
|
-
<button
|
|
133
|
-
type="button"
|
|
134
|
-
class="cb-onboarding__btn"
|
|
135
|
-
(click)="previous()"
|
|
136
|
-
[disabled]="index() === 0"
|
|
137
|
-
>
|
|
138
|
-
{{ t().previous }}
|
|
139
|
-
</button>
|
|
140
|
-
<button
|
|
141
|
-
type="button"
|
|
142
|
-
class="cb-onboarding__btn cb-onboarding__btn--primary"
|
|
143
|
-
(click)="next()"
|
|
144
|
-
>
|
|
145
|
-
{{ index() === steps().length - 1 ? t().start : t().continue }}
|
|
146
|
-
</button>
|
|
147
|
-
</div>
|
|
148
|
-
</section>
|
|
149
|
-
}
|
|
150
|
-
`, styles: [":host{display:block;width:100%;max-width:24rem}.cb-onboarding{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem);box-sizing:border-box;padding:var(--cb-space-6, 1.5rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-md, 0 8px 24px rgba(0, 0, 0, .12));text-align:center}.cb-onboarding__dots{display:flex;justify-content:center;gap:var(--cb-space-1, .3rem)}.cb-onboarding__dot{width:.5rem;height:.5rem;border-radius:var(--cb-radius-full, 999px);background-color:var(--cb-color-surface-300, #cbd5e1);transition:all var(--cb-duration-normal, .2s) var(--cb-ease, ease)}.cb-onboarding__dot.cb-is-active{width:1.25rem;background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__announce{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem)}.cb-onboarding__counter{font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__title{margin:0;font-size:var(--cb-text-xl, 1.25rem);font-weight:var(--cb-font-weight-bold, 700)}.cb-onboarding__body{font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155);line-height:var(--cb-line-height-relaxed, 1.6)}.cb-onboarding__body:empty{display:none}.cb-onboarding__actions{display:flex;justify-content:center;gap:var(--cb-space-2, .5rem);margin-top:var(--cb-space-2, .5rem)}.cb-onboarding__btn{padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-100, #f1f5f9);border:none;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-onboarding__btn:hover:not(:disabled){background-color:var(--cb-color-surface-200, #e2e8f0)}.cb-onboarding__btn:disabled{opacity:.4;cursor:not-allowed}.cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__btn--primary{color
|
|
99
|
+
args: [{ selector: 'cb-onboarding', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: `
|
|
100
|
+
@if (visible() && steps().length) {
|
|
101
|
+
<section
|
|
102
|
+
class="cb-onboarding"
|
|
103
|
+
role="dialog"
|
|
104
|
+
[attr.aria-label]="t().onboarding"
|
|
105
|
+
(keydown.escape)="visible.set(false)"
|
|
106
|
+
>
|
|
107
|
+
<div class="cb-onboarding__dots" aria-hidden="true">
|
|
108
|
+
@for (step of steps(); track $index) {
|
|
109
|
+
<span
|
|
110
|
+
class="cb-onboarding__dot"
|
|
111
|
+
[class.cb-is-active]="$index === index()"
|
|
112
|
+
></span>
|
|
113
|
+
}
|
|
114
|
+
</div>
|
|
115
|
+
<!-- Región viva: al cambiar de paso se anuncian el contador y el título. -->
|
|
116
|
+
<div class="cb-onboarding__announce" aria-live="polite" aria-atomic="true">
|
|
117
|
+
<span class="cb-onboarding__counter" aria-hidden="true">
|
|
118
|
+
{{ index() + 1 }} / {{ steps().length }}
|
|
119
|
+
</span>
|
|
120
|
+
<span class="cb-onboarding__sr">{{ fmt(t().stepOf, index() + 1, steps().length) }}</span>
|
|
121
|
+
<h2 class="cb-onboarding__title">{{ steps()[index()] }}</h2>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="cb-onboarding__body"><ng-content /></div>
|
|
124
|
+
<div class="cb-onboarding__actions">
|
|
125
|
+
<button
|
|
126
|
+
type="button"
|
|
127
|
+
class="cb-onboarding__btn cb-onboarding__btn--ghost"
|
|
128
|
+
(click)="visible.set(false)"
|
|
129
|
+
>
|
|
130
|
+
{{ t().skip }}
|
|
131
|
+
</button>
|
|
132
|
+
<button
|
|
133
|
+
type="button"
|
|
134
|
+
class="cb-onboarding__btn"
|
|
135
|
+
(click)="previous()"
|
|
136
|
+
[disabled]="index() === 0"
|
|
137
|
+
>
|
|
138
|
+
{{ t().previous }}
|
|
139
|
+
</button>
|
|
140
|
+
<button
|
|
141
|
+
type="button"
|
|
142
|
+
class="cb-onboarding__btn cb-onboarding__btn--primary"
|
|
143
|
+
(click)="next()"
|
|
144
|
+
>
|
|
145
|
+
{{ index() === steps().length - 1 ? t().start : t().continue }}
|
|
146
|
+
</button>
|
|
147
|
+
</div>
|
|
148
|
+
</section>
|
|
149
|
+
}
|
|
150
|
+
`, styles: [":host{display:block;width:100%;max-width:24rem}.cb-onboarding{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem);box-sizing:border-box;padding:var(--cb-space-6, 1.5rem);font-family:var(--cb-font-sans, inherit);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-0, #ffffff);border:1px solid var(--cb-color-border, #e2e8f0);border-radius:var(--cb-radius-lg, .75rem);box-shadow:var(--cb-shadow-md, 0 8px 24px rgba(0, 0, 0, .12));text-align:center}.cb-onboarding__dots{display:flex;justify-content:center;gap:var(--cb-space-1, .3rem)}.cb-onboarding__dot{width:.5rem;height:.5rem;border-radius:var(--cb-radius-full, 999px);background-color:var(--cb-color-surface-300, #cbd5e1);transition:all var(--cb-duration-normal, .2s) var(--cb-ease, ease)}.cb-onboarding__dot.cb-is-active{width:1.25rem;background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__announce{display:flex;flex-direction:column;gap:var(--cb-space-3, .75rem)}.cb-onboarding__counter{font-size:var(--cb-text-xs, .75rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__title{margin:0;font-size:var(--cb-text-xl, 1.25rem);font-weight:var(--cb-font-weight-bold, 700)}.cb-onboarding__body{font-size:var(--cb-text-sm, .875rem);color:var(--cb-color-text, #334155);line-height:var(--cb-line-height-relaxed, 1.6)}.cb-onboarding__body:empty{display:none}.cb-onboarding__actions{display:flex;justify-content:center;gap:var(--cb-space-2, .5rem);margin-top:var(--cb-space-2, .5rem)}.cb-onboarding__btn{padding:var(--cb-space-2, .5rem) var(--cb-space-4, 1rem);font:inherit;font-size:var(--cb-text-sm, .875rem);font-weight:var(--cb-font-weight-semibold, 600);color:var(--cb-color-text-strong, #0f172a);background-color:var(--cb-color-surface-100, #f1f5f9);border:none;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;transition:background-color var(--cb-duration-fast, .12s) var(--cb-ease, ease)}.cb-onboarding__btn:hover:not(:disabled){background-color:var(--cb-color-surface-200, #e2e8f0)}.cb-onboarding__btn:disabled{opacity:.4;cursor:not-allowed}.cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-text-muted, #64748b)}.cb-onboarding__btn--primary{color:#fff;background-color:var(--cb-color-primary-700, #047857)}.cb-onboarding__btn--primary:hover:not(:disabled){background-color:var(--cb-color-primary-700, #065f46)}:host-context([data-theme=\"dark\"]) .cb-onboarding{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-800, #1e293b);border-color:var(--cb-color-surface-600, #475569)}:host-context([data-theme=\"dark\"]) .cb-onboarding__body{color:var(--cb-color-surface-200, #e2e8f0)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn{color:var(--cb-color-surface-0, #f8fafc);background-color:var(--cb-color-surface-700, #334155)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn--ghost{background-color:transparent;color:var(--cb-color-surface-300, #cbd5e1)}:host-context([data-theme=\"dark\"]) .cb-onboarding__btn--primary{background-color:var(--cb-color-primary-500, #10b981)}.cb-onboarding__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"] }]
|
|
151
151
|
}], propDecorators: { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }, { type: i0.Output, args: ["visibleChange"] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }, { type: i0.Output, args: ["indexChange"] }], currentStepIndex: [{ type: i0.Output, args: ["currentStepIndex"] }] } });
|
|
152
152
|
|
|
153
153
|
/**
|
|
@@ -186,7 +186,7 @@ class CbOrderList {
|
|
|
186
186
|
</ul>
|
|
187
187
|
</div>
|
|
188
188
|
</div>
|
|
189
|
-
`, isInline: true, styles: [":host{display:block;color:var(--cb-color-text)}.cb-orderlist{display:flex;gap:var(--cb-space-3, .75rem)}.cb-orderlist__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--cb-space-2, .5rem)}.cb-orderlist__btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md, .5rem);background:var(--cb-color-surface-raised);color:var(--cb-color-text);cursor:pointer}.cb-orderlist__btn:hover:not(:disabled){border-color:var(--cb-color-primary-500);color:var(--cb-color-primary-
|
|
189
|
+
`, isInline: true, styles: [":host{display:block;color:var(--cb-color-text)}.cb-orderlist{display:flex;gap:var(--cb-space-3, .75rem)}.cb-orderlist__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--cb-space-2, .5rem)}.cb-orderlist__btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md, .5rem);background:var(--cb-color-surface-raised);color:var(--cb-color-text);cursor:pointer}.cb-orderlist__btn:hover:not(:disabled){border-color:var(--cb-color-primary-500);color:var(--cb-color-primary-text)}.cb-orderlist__btn:disabled{opacity:.45;cursor:not-allowed}.cb-orderlist__btn:focus-visible{outline:2px solid var(--cb-color-focus-ring, var(--cb-color-primary-500));outline-offset:2px}.cb-orderlist__panel{flex:1;min-width:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-lg, .75rem);background:var(--cb-color-surface-raised);overflow:hidden}.cb-orderlist__header{padding:.65rem .85rem;font-weight:var(--cb-font-weight-semibold, 600);border-bottom:1px solid var(--cb-color-border)}.cb-orderlist__list{max-height:16rem;margin:0;padding:var(--cb-space-1, .25rem);list-style:none;overflow-y:auto}.cb-orderlist__item{padding:.6rem .75rem;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;outline:none;font-size:var(--cb-text-sm, .875rem)}.cb-orderlist__item:hover{background:color-mix(in srgb,var(--cb-color-text) 6%,transparent)}.cb-orderlist__item[aria-selected=true]{color:var(--cb-color-primary-700);background:color-mix(in srgb,var(--cb-color-primary-500) 14%,transparent);font-weight:var(--cb-font-weight-medium, 500)}.cb-orderlist__item:focus-visible{box-shadow:inset 0 0 0 2px var(--cb-color-focus-ring, var(--cb-color-primary-500))}:host-context([data-theme=\"dark\"]) .cb-orderlist__item[aria-selected=true]{color:var(--cb-color-primary-300)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CbIcon, selector: "cb-icon", inputs: ["name", "size", "spin", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CbOrderList, decorators: [{
|
|
192
192
|
type: Component,
|
|
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
237
237
|
</ul>
|
|
238
238
|
</div>
|
|
239
239
|
</div>
|
|
240
|
-
`, styles: [":host{display:block;color:var(--cb-color-text)}.cb-orderlist{display:flex;gap:var(--cb-space-3, .75rem)}.cb-orderlist__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--cb-space-2, .5rem)}.cb-orderlist__btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md, .5rem);background:var(--cb-color-surface-raised);color:var(--cb-color-text);cursor:pointer}.cb-orderlist__btn:hover:not(:disabled){border-color:var(--cb-color-primary-500);color:var(--cb-color-primary-
|
|
240
|
+
`, styles: [":host{display:block;color:var(--cb-color-text)}.cb-orderlist{display:flex;gap:var(--cb-space-3, .75rem)}.cb-orderlist__controls{display:flex;flex-direction:column;justify-content:center;gap:var(--cb-space-2, .5rem)}.cb-orderlist__btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-md, .5rem);background:var(--cb-color-surface-raised);color:var(--cb-color-text);cursor:pointer}.cb-orderlist__btn:hover:not(:disabled){border-color:var(--cb-color-primary-500);color:var(--cb-color-primary-text)}.cb-orderlist__btn:disabled{opacity:.45;cursor:not-allowed}.cb-orderlist__btn:focus-visible{outline:2px solid var(--cb-color-focus-ring, var(--cb-color-primary-500));outline-offset:2px}.cb-orderlist__panel{flex:1;min-width:0;border:1px solid var(--cb-color-border);border-radius:var(--cb-radius-lg, .75rem);background:var(--cb-color-surface-raised);overflow:hidden}.cb-orderlist__header{padding:.65rem .85rem;font-weight:var(--cb-font-weight-semibold, 600);border-bottom:1px solid var(--cb-color-border)}.cb-orderlist__list{max-height:16rem;margin:0;padding:var(--cb-space-1, .25rem);list-style:none;overflow-y:auto}.cb-orderlist__item{padding:.6rem .75rem;border-radius:var(--cb-radius-md, .5rem);cursor:pointer;outline:none;font-size:var(--cb-text-sm, .875rem)}.cb-orderlist__item:hover{background:color-mix(in srgb,var(--cb-color-text) 6%,transparent)}.cb-orderlist__item[aria-selected=true]{color:var(--cb-color-primary-700);background:color-mix(in srgb,var(--cb-color-primary-500) 14%,transparent);font-weight:var(--cb-font-weight-medium, 500)}.cb-orderlist__item:focus-visible{box-shadow:inset 0 0 0 2px var(--cb-color-focus-ring, var(--cb-color-primary-500))}:host-context([data-theme=\"dark\"]) .cb-orderlist__item[aria-selected=true]{color:var(--cb-color-primary-300)}\n"] }]
|
|
241
241
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], reorder: [{ type: i0.Output, args: ["reorder"] }], itemTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CbOrderListItemTemplate), { isSignal: true }] }] } });
|
|
242
242
|
|
|
243
243
|
/**
|