@ethlete/components 1.0.0-next.71 → 1.0.0-next.73
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/CHANGELOG.md +28 -0
- package/fesm2022/ethlete-components.mjs +309 -186
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/accordion/accordion.component.css +2 -2
- package/src/lib/badge/badge.component.css +4 -0
- package/src/lib/button/split-button.component.css +25 -0
- package/src/lib/carousel/carousel-autoplay-styles.component.css +5 -0
- package/src/lib/carousel/carousel.component.css +10 -0
- package/src/lib/chip/chip.component.css +3 -1
- package/src/lib/forms/form-field/form-field.component.css +7 -0
- package/src/lib/loader/spinner/spinner.component.css +15 -0
- package/src/lib/query-error/query-error.component.css +3 -1
- package/src/lib/stream/pip/{pip-chrome.component.css → pip-stage-styles.component.css} +13 -13
- package/src/lib/stream/stream-overlay-card-styles.component.css +23 -3
- package/types/ethlete-components.d.ts +10 -9
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, input, booleanAttribute, signal, inject, ElementRef, computed, effect, untracked, Directive, afterNextRender, DestroyRef, TemplateRef, model, linkedSignal, ViewEncapsulation, Component, ErrorHandler, numberAttribute, contentChildren, HostAttributeToken, Renderer2, output, viewChild, contentChild, NgZone, afterRenderEffect, ApplicationRef, DOCUMENT, ViewContainerRef, runInInjectionContext, createEnvironmentInjector, PLATFORM_ID, reflectComponentType, inputBinding, EnvironmentInjector, isSignal, Injector, createComponent, assertInInjectionContext, isDevMode as isDevMode$1, provideEnvironmentInitializer, viewChildren, outputBinding, afterEveryRender, CSP_NONCE } from '@angular/core';
|
|
3
3
|
import * as i1 from '@ethlete/core';
|
|
4
|
-
import { signalElementMutations, RuntimeError, injectHostElement, createComponentId, injectStyleManager, defineLabels, toProvideFn, toInjectFn, toToken, ProvideColorDirective, SurfaceInteractiveDirective, createCanAnimateSignal, ColorInteractiveDirective, injectSemanticColorTheme, injectColorThemes, injectLocale, defineStaticRootProvider, optionalBooleanAttribute as optionalBooleanAttribute$1, inferMimeType, mountVisuallyHidden, injectRenderer, ProvideSurfaceDirective, COLOR_PROVIDER, SURFACE_PROVIDER, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceContextTracker, injectBoundaryElement, injectRootSurfaceTheme, ANIMATED_LIFECYCLE_TOKEN, injectDefaultSurfaceTheme, resolveAppRootColorProvider, resolveSurfaceByElevation, createCssSurfaceName, provideBoundaryElement, AnimatedLifecycleDirective, isElement, isHTMLElement, injectBreakpointObserver, hasAnchoredOverlayPositionExtras, equal, nextFrame, animationDebugLog, resolveOverlayLayer, defineRootProvider, injectOverlayRuntime, anchoredOverlayPosition, injectQueryParam, injectUrl, randomId, ScrollObserverDirective, signalElementScrollState, ScrollObserverStartDirective, ScrollObserverEndDirective, enableAnchoredOverlayPositionExtras, forceReflow, elementCanScroll, matchesReducedMotion, createSwipeTracker, applyHostListener, defineProvider, fromNextFrame, injectRoute, createUnsavedChangesTracker, createDocumentElementSignal, AnimatedIfDirective, signalElementDimensions, applyInitialFocus, syncSignal, AutoSurfaceDirective, setInputSignal, injectTemplateRef, signalHostElementScrollState, applyStructuredDataBinding, injectIsDocumentVisible, mountEasingTokens, typedBreakpointTransform, signalElementChildren, signalElementIntersection, signalHostAttributes, signalHostClasses, signalHostStyles, getScrollContainerTarget, getScrollItemTarget, getElementScrollCoordinates, provideBreakpointInstance, signalClasses, useCursorDragScroll, signalStyles, getScrollSnapTarget, injectPrefersReducedMotion, signalHostElementIntersection, clamp as clamp$1, signalHostElementDimensions, injectSurfaceColorPalette, injectFocusVisibleTracker, isOnHigherOverlayLayer, copyToClipboard, getFocusableElements, injectAnimatedBlockSize, injectObserveBreakpoint, applyHostListeners, dragGestureFrom, signalDeferredLoading, AnimatableDirective, ColorInteractiveContainerDirective, ColorInteractiveExcludeDirective, injectParentSurface, ColorInteractiveHasFocusDirective, createFlipAnimation, createFlipAnimationGroup, focusElement, isFocusable, htmlToMarkdown, isSafeLinkUrl, markdownToHtml, MARKDOWN_VERBATIM_ATTR,
|
|
4
|
+
import { signalElementMutations, RuntimeError, injectHostElement, createComponentId, injectStyleManager, defineLabels, toProvideFn, toInjectFn, toToken, ProvideColorDirective, SurfaceInteractiveDirective, createCanAnimateSignal, ColorInteractiveDirective, injectSemanticColorTheme, injectColorThemes, injectLocale, defineStaticRootProvider, optionalBooleanAttribute as optionalBooleanAttribute$1, inferMimeType, mountVisuallyHidden, injectRenderer, ProvideSurfaceDirective, COLOR_PROVIDER, SURFACE_PROVIDER, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceContextTracker, injectBoundaryElement, injectRootSurfaceTheme, ANIMATED_LIFECYCLE_TOKEN, injectDefaultSurfaceTheme, resolveAppRootColorProvider, resolveSurfaceByElevation, createCssSurfaceName, provideBoundaryElement, AnimatedLifecycleDirective, isElement, isHTMLElement, injectBreakpointObserver, hasAnchoredOverlayPositionExtras, equal, nextFrame, animationDebugLog, resolveOverlayLayer, defineRootProvider, injectOverlayRuntime, anchoredOverlayPosition, injectQueryParam, injectUrl, randomId, ScrollObserverDirective, signalElementScrollState, ScrollObserverStartDirective, ScrollObserverEndDirective, enableAnchoredOverlayPositionExtras, forceReflow, elementCanScroll, matchesReducedMotion, createSwipeTracker, injectHasTouchInput, applyHostListener, defineProvider, fromNextFrame, injectRoute, createUnsavedChangesTracker, createDocumentElementSignal, AnimatedIfDirective, signalElementDimensions, applyInitialFocus, syncSignal, AutoSurfaceDirective, setInputSignal, injectTemplateRef, signalHostElementScrollState, applyStructuredDataBinding, injectIsDocumentVisible, mountEasingTokens, typedBreakpointTransform, signalElementChildren, signalElementIntersection, signalHostAttributes, signalHostClasses, signalHostStyles, getScrollContainerTarget, getScrollItemTarget, getElementScrollCoordinates, provideBreakpointInstance, signalClasses, useCursorDragScroll, signalStyles, getScrollSnapTarget, injectPrefersReducedMotion, signalHostElementIntersection, clamp as clamp$1, signalHostElementDimensions, injectSurfaceColorPalette, injectFocusVisibleTracker, isOnHigherOverlayLayer, copyToClipboard, getFocusableElements, injectAnimatedBlockSize, injectObserveBreakpoint, applyHostListeners, dragGestureFrom, signalDeferredLoading, AnimatableDirective, ColorInteractiveContainerDirective, ColorInteractiveExcludeDirective, injectParentSurface, ColorInteractiveHasFocusDirective, createFlipAnimation, createFlipAnimationGroup, focusElement, isFocusable, htmlToMarkdown, isSafeLinkUrl, markdownToHtml, MARKDOWN_VERBATIM_ATTR, isSafeUrl, signalHostElementMutations, DragHandleDirective, ResizeHandlesComponent, numberBreakpointTransform, DEFAULT_OVERLAY_LAYER, injectSurfaceType, applyLinkBinding, applyHeadTitleBinding, injectColorPalette, injectViewportSize, injectFileDownload, injectRouterEvent, canUseSessionMemory, createSessionMemory, provideUnsavedChangesConfirm } from '@ethlete/core';
|
|
5
5
|
import { NgTemplateOutlet, NgComponentOutlet, isPlatformServer, Location, DOCUMENT as DOCUMENT$1, isPlatformBrowser } from '@angular/common';
|
|
6
6
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
7
|
import { queryStateSignal, isQueryStateLoading, withArgs, createQueryErrorResponse, isQueryStateSuccess, isQueryStateFailure, executeUntilSettled$, extractQuery, createPagedQueryStack, queryComputed, isLegacyQuery, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleEn, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToTitleDe, queryErrorMessages } from '@ethlete/query';
|
|
8
8
|
import { DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, COMMON_BRACKET_ROUND_TYPE, BracketRuntimeError, BRACKET_ERROR_CODES, SWISS_BRACKET_ROUND_TYPE, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, TOURNAMENT_MODE, BRACKET_DATA_LAYOUT, resolveBracketLayout as resolveBracketLayout$1, createBracket, createPlaceholderBracketSource, drawMan, createDoubleEliminationGrid, ɵcreateStackedDoubleEliminationGrid as _createStackedDoubleEliminationGrid, createSingleEliminationGrid, generateBracketRoundSwissGroupMaps, createSwissGrid, drawSwissMan, standingPickStartOrder } from '@ethlete/bracket';
|
|
9
9
|
export { BRACKET_DATA_LAYOUT, BRACKET_ERROR_CODES, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BracketMap, BracketRuntimeError, COMMON_BRACKET_ROUND_TYPE, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, GROUP_BRACKET_ROUND_TYPE, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SWISS_BRACKET_ROUND_TYPE, TOURNAMENT_MODE, bracketSlot, createBracket, createPlaceholderBracketSource, isBracketSlotPredictable, migrateBracketPicks, resolveBracketSlot, standingRankSides, swapStandingRank, validateBracketSource } from '@ethlete/bracket';
|
|
10
10
|
import { isValid, format, startOfWeek, startOfDay, endOfWeek, isBefore, addDays, endOfMonth, startOfMonth, isSameYear, isSameMonth, isSameDay, startOfYear, isAfter, addYears, addMonths, setMonth, getDate, setDate, lastDayOfMonth, getWeek, endOfYear, setYear, parse, setSeconds, setMinutes, setHours, subDays, subWeeks, subMonths, endOfDay, setMilliseconds, differenceInCalendarDays, getDaysInMonth, eachDayOfInterval, addHours } from 'date-fns';
|
|
11
|
-
import { tap, Subject, take, filter, defer, map, finalize, timer, takeUntil,
|
|
11
|
+
import { tap, Subject, take, filter, defer, map, finalize, Observable, merge, fromEvent, EMPTY, ignoreElements, timer, takeUntil, interval, switchMap, observeOn, asapScheduler, combineLatest, distinctUntilChanged, startWith, debounceTime, catchError, of, delay, isObservable, from, share, scan, concat, firstValueFrom, defaultIfEmpty, Subscription, skip, animationFrameScheduler, EmptyError, exhaustMap, shareReplay, throwError, expand, toArray, takeWhile, mergeMap } from 'rxjs';
|
|
12
12
|
import { takeUntilDestroyed, toSignal, toObservable, outputFromObservable, outputToObservable, rxResource } from '@angular/core/rxjs-interop';
|
|
13
13
|
import * as i1$1 from '@angular/router';
|
|
14
14
|
import { ROUTES, Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError, NavigationSkipped, RouterLink, ActivatedRoute, RouterLinkActive } from '@angular/router';
|
|
@@ -1759,7 +1759,7 @@ class AccordionComponent {
|
|
|
1759
1759
|
...(ngDevMode ? [{ debugName: "headingLevel" }] : /* istanbul ignore next */ []));
|
|
1760
1760
|
}
|
|
1761
1761
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1762
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AccordionComponent, isStandalone: true, selector: "et-accordion", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-accordion" }, providers: [provideIcons(CHEVRON_ICON)], hostDirectives: [{ directive: AccordionDirective, inputs: ["isOpen", "isOpen", "isOpenByDefault", "isOpenByDefault", "disabled", "disabled"], outputs: ["isOpenChange", "isOpenChange"] }], ngImport: i0, template: "<div [attr.aria-level]=\"headingLevel()\" class=\"et-accordion-heading\" role=\"heading\">\n <button class=\"et-accordion-trigger\" etAccordionTrigger type=\"button\">\n <span class=\"et-accordion-label\">\n @if (accordion.labelTemplate(); as labelTemplate) {\n <ng-container [ngTemplateOutlet]=\"labelTemplate.templateRef\" />\n } @else {\n {{ label() }}\n }\n </span>\n\n @if (accordion.hintTemplate(); as hintTemplate) {\n &ngsp;<span class=\"et-accordion-hint\">\n <ng-container [ngTemplateOutlet]=\"hintTemplate.templateRef\" />\n </span>\n }\n\n <i class=\"et-accordion-chevron\" etIcon=\"et-chevron\"></i>\n </button>\n</div>\n\n<div class=\"et-accordion-panel\" etAccordionPanel>\n <div class=\"et-accordion-panel-clip\">\n <div class=\"et-accordion-panel-body\">\n <ng-content />\n\n @if (accordion.contentTemplate(); as contentTemplate) {\n @if (accordion.hasBeenOpened()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\" />\n }\n }\n </div>\n </div>\n</div>\n", styles: ["@layer components{@property --et-accordion-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-padding-inline{syntax: \"<length>\"; inherits: true; initial-value:
|
|
1762
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: AccordionComponent, isStandalone: true, selector: "et-accordion", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-accordion" }, providers: [provideIcons(CHEVRON_ICON)], hostDirectives: [{ directive: AccordionDirective, inputs: ["isOpen", "isOpen", "isOpenByDefault", "isOpenByDefault", "disabled", "disabled"], outputs: ["isOpenChange", "isOpenChange"] }], ngImport: i0, template: "<div [attr.aria-level]=\"headingLevel()\" class=\"et-accordion-heading\" role=\"heading\">\n <button class=\"et-accordion-trigger\" etAccordionTrigger type=\"button\">\n <span class=\"et-accordion-label\">\n @if (accordion.labelTemplate(); as labelTemplate) {\n <ng-container [ngTemplateOutlet]=\"labelTemplate.templateRef\" />\n } @else {\n {{ label() }}\n }\n </span>\n\n @if (accordion.hintTemplate(); as hintTemplate) {\n &ngsp;<span class=\"et-accordion-hint\">\n <ng-container [ngTemplateOutlet]=\"hintTemplate.templateRef\" />\n </span>\n }\n\n <i class=\"et-accordion-chevron\" etIcon=\"et-chevron\"></i>\n </button>\n</div>\n\n<div class=\"et-accordion-panel\" etAccordionPanel>\n <div class=\"et-accordion-panel-clip\">\n <div class=\"et-accordion-panel-body\">\n <ng-content />\n\n @if (accordion.contentTemplate(); as contentTemplate) {\n @if (accordion.hasBeenOpened()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\" />\n }\n }\n </div>\n </div>\n</div>\n", styles: ["@layer components{@property --et-accordion-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-accordion-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-accordion-chevron-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-radius{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-accordion-duration{syntax: \"<time>\"; inherits: true; initial-value: .24s;}@property --et-accordion-color-duration{syntax: \"<time>\"; inherits: true; initial-value: .12s;}.et-accordion{--_et-accordion-border-color: var(--et-surface-border-solid, rgb(128 128 128 / .25));display:block;color:var(--et-surface-color-solid, CanvasText);border-block-end:1px solid var(--_et-accordion-border-color);transition:border-color var(--et-accordion-color-duration) ease}@media(hover:hover){.et-accordion:has(.et-accordion-trigger:hover:not([aria-disabled=true])){--_et-accordion-border-color: color-mix( in srgb, var(--et-surface-interaction-solid, gray) 35%, var(--et-surface-border-solid, rgb(128 128 128 / .25)) )}}.et-accordion-heading{display:block}.et-accordion-trigger{--_et-accordion-secondary-color: var(--et-surface-color-muted-solid, GrayText);display:flex;align-items:center;gap:var(--et-accordion-gap);inline-size:100%;padding:var(--et-accordion-padding-block) var(--et-accordion-padding-inline);border:0;border-radius:var(--et-accordion-radius);background:transparent;color:inherit;font:inherit;font-weight:500;text-align:start;cursor:pointer;transition:background-color var(--et-accordion-color-duration) ease}@media(hover:hover){.et-accordion-trigger:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 7%,transparent)}.et-accordion-trigger:hover:not([aria-disabled=true]){--_et-accordion-secondary-color: var(--et-surface-color-solid, CanvasText)}}.et-accordion-trigger:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 14%,transparent)}.et-accordion-trigger:focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:-2px}.et-accordion-trigger:where([aria-disabled=true]){color:var(--et-surface-color-muted-solid, GrayText);cursor:default}.et-accordion-trigger:where([aria-disabled=true]):hover,.et-accordion-trigger:where([aria-disabled=true]):active{background:transparent}.et-accordion-trigger .et-accordion-label{flex:1;min-inline-size:0}.et-accordion-trigger .et-accordion-hint{flex:none;color:var(--_et-accordion-secondary-color);font-weight:400;transition:color var(--et-accordion-color-duration) ease}.et-accordion-trigger .et-accordion-chevron{flex:none;inline-size:var(--et-accordion-chevron-size);block-size:var(--et-accordion-chevron-size);color:var(--_et-accordion-secondary-color);rotate:180deg;transition:rotate var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),color var(--et-accordion-color-duration) ease}.et-accordion-trigger[aria-expanded=true] .et-accordion-chevron{rotate:0deg}.et-accordion-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),visibility 0s linear var(--et-accordion-duration)}.et-accordion-panel:where([data-open]){grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),visibility 0s linear 0s}.et-accordion-panel-clip{min-block-size:0;overflow:hidden}.et-accordion-panel-body{padding-block-end:var(--et-accordion-padding-block);padding-inline:var(--et-accordion-padding-inline)}@media(prefers-reduced-motion:reduce){.et-accordion-panel,.et-accordion-panel:where([data-open]){transition:none}.et-accordion-trigger .et-accordion-chevron{transition:color var(--et-accordion-color-duration) ease}}}\n"], dependencies: [{ kind: "directive", type: AccordionPanelDirective, selector: "[etAccordionPanel]", exportAs: ["etAccordionPanel"] }, { kind: "directive", type: AccordionTriggerDirective, selector: "[etAccordionTrigger]", exportAs: ["etAccordionTrigger"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1763
1763
|
}
|
|
1764
1764
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
1765
1765
|
type: Component,
|
|
@@ -1771,7 +1771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
1771
1771
|
},
|
|
1772
1772
|
], host: {
|
|
1773
1773
|
class: 'et-accordion',
|
|
1774
|
-
}, template: "<div [attr.aria-level]=\"headingLevel()\" class=\"et-accordion-heading\" role=\"heading\">\n <button class=\"et-accordion-trigger\" etAccordionTrigger type=\"button\">\n <span class=\"et-accordion-label\">\n @if (accordion.labelTemplate(); as labelTemplate) {\n <ng-container [ngTemplateOutlet]=\"labelTemplate.templateRef\" />\n } @else {\n {{ label() }}\n }\n </span>\n\n @if (accordion.hintTemplate(); as hintTemplate) {\n &ngsp;<span class=\"et-accordion-hint\">\n <ng-container [ngTemplateOutlet]=\"hintTemplate.templateRef\" />\n </span>\n }\n\n <i class=\"et-accordion-chevron\" etIcon=\"et-chevron\"></i>\n </button>\n</div>\n\n<div class=\"et-accordion-panel\" etAccordionPanel>\n <div class=\"et-accordion-panel-clip\">\n <div class=\"et-accordion-panel-body\">\n <ng-content />\n\n @if (accordion.contentTemplate(); as contentTemplate) {\n @if (accordion.hasBeenOpened()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\" />\n }\n }\n </div>\n </div>\n</div>\n", styles: ["@layer components{@property --et-accordion-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-padding-inline{syntax: \"<length>\"; inherits: true; initial-value:
|
|
1774
|
+
}, template: "<div [attr.aria-level]=\"headingLevel()\" class=\"et-accordion-heading\" role=\"heading\">\n <button class=\"et-accordion-trigger\" etAccordionTrigger type=\"button\">\n <span class=\"et-accordion-label\">\n @if (accordion.labelTemplate(); as labelTemplate) {\n <ng-container [ngTemplateOutlet]=\"labelTemplate.templateRef\" />\n } @else {\n {{ label() }}\n }\n </span>\n\n @if (accordion.hintTemplate(); as hintTemplate) {\n &ngsp;<span class=\"et-accordion-hint\">\n <ng-container [ngTemplateOutlet]=\"hintTemplate.templateRef\" />\n </span>\n }\n\n <i class=\"et-accordion-chevron\" etIcon=\"et-chevron\"></i>\n </button>\n</div>\n\n<div class=\"et-accordion-panel\" etAccordionPanel>\n <div class=\"et-accordion-panel-clip\">\n <div class=\"et-accordion-panel-body\">\n <ng-content />\n\n @if (accordion.contentTemplate(); as contentTemplate) {\n @if (accordion.hasBeenOpened()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\" />\n }\n }\n </div>\n </div>\n</div>\n", styles: ["@layer components{@property --et-accordion-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-accordion-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-accordion-chevron-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-accordion-radius{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-accordion-duration{syntax: \"<time>\"; inherits: true; initial-value: .24s;}@property --et-accordion-color-duration{syntax: \"<time>\"; inherits: true; initial-value: .12s;}.et-accordion{--_et-accordion-border-color: var(--et-surface-border-solid, rgb(128 128 128 / .25));display:block;color:var(--et-surface-color-solid, CanvasText);border-block-end:1px solid var(--_et-accordion-border-color);transition:border-color var(--et-accordion-color-duration) ease}@media(hover:hover){.et-accordion:has(.et-accordion-trigger:hover:not([aria-disabled=true])){--_et-accordion-border-color: color-mix( in srgb, var(--et-surface-interaction-solid, gray) 35%, var(--et-surface-border-solid, rgb(128 128 128 / .25)) )}}.et-accordion-heading{display:block}.et-accordion-trigger{--_et-accordion-secondary-color: var(--et-surface-color-muted-solid, GrayText);display:flex;align-items:center;gap:var(--et-accordion-gap);inline-size:100%;padding:var(--et-accordion-padding-block) var(--et-accordion-padding-inline);border:0;border-radius:var(--et-accordion-radius);background:transparent;color:inherit;font:inherit;font-weight:500;text-align:start;cursor:pointer;transition:background-color var(--et-accordion-color-duration) ease}@media(hover:hover){.et-accordion-trigger:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 7%,transparent)}.et-accordion-trigger:hover:not([aria-disabled=true]){--_et-accordion-secondary-color: var(--et-surface-color-solid, CanvasText)}}.et-accordion-trigger:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 14%,transparent)}.et-accordion-trigger:focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:-2px}.et-accordion-trigger:where([aria-disabled=true]){color:var(--et-surface-color-muted-solid, GrayText);cursor:default}.et-accordion-trigger:where([aria-disabled=true]):hover,.et-accordion-trigger:where([aria-disabled=true]):active{background:transparent}.et-accordion-trigger .et-accordion-label{flex:1;min-inline-size:0}.et-accordion-trigger .et-accordion-hint{flex:none;color:var(--_et-accordion-secondary-color);font-weight:400;transition:color var(--et-accordion-color-duration) ease}.et-accordion-trigger .et-accordion-chevron{flex:none;inline-size:var(--et-accordion-chevron-size);block-size:var(--et-accordion-chevron-size);color:var(--_et-accordion-secondary-color);rotate:180deg;transition:rotate var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),color var(--et-accordion-color-duration) ease}.et-accordion-trigger[aria-expanded=true] .et-accordion-chevron{rotate:0deg}.et-accordion-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),visibility 0s linear var(--et-accordion-duration)}.et-accordion-panel:where([data-open]){grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--et-accordion-duration) cubic-bezier(.25,0,.1,1),visibility 0s linear 0s}.et-accordion-panel-clip{min-block-size:0;overflow:hidden}.et-accordion-panel-body{padding-block-end:var(--et-accordion-padding-block);padding-inline:var(--et-accordion-padding-inline)}@media(prefers-reduced-motion:reduce){.et-accordion-panel,.et-accordion-panel:where([data-open]){transition:none}.et-accordion-trigger .et-accordion-chevron{transition:color var(--et-accordion-color-duration) ease}}}\n"] }]
|
|
1775
1775
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], headingLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "headingLevel", required: false }] }] } });
|
|
1776
1776
|
|
|
1777
1777
|
/** The accordion, its group, the slot templates, and the headless directives to build your own. */
|
|
@@ -2035,7 +2035,7 @@ class BadgeComponent {
|
|
|
2035
2035
|
</div>
|
|
2036
2036
|
}
|
|
2037
2037
|
|
|
2038
|
-
<ng-content
|
|
2038
|
+
<span class="et-badge-label"><ng-content /></span>
|
|
2039
2039
|
|
|
2040
2040
|
@if (iconAlignment() === 'end') {
|
|
2041
2041
|
<div class="et-badge-icon">
|
|
@@ -2046,7 +2046,7 @@ class BadgeComponent {
|
|
|
2046
2046
|
<ng-template #iconTpl>
|
|
2047
2047
|
<ng-content select="[etIcon]" />
|
|
2048
2048
|
</ng-template>
|
|
2049
|
-
`, isInline: true, styles: ["@layer components{@property --et-badge-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-badge-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-badge-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-badge-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-badge-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-badge-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}.et-badge{--_et-badge-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-badge-color: var(--et-theme-color-ink-solid);--_et-badge-border-color: transparent;display:inline-flex;align-self:start;justify-self:start;align-items:center;justify-content:center;gap:var(--et-badge-gap);padding-inline:var(--et-badge-padding-inline);min-block-size:var(--et-badge-min-block-size);border-radius:var(--et-badge-border-radius);font-size:var(--et-badge-font-size);font-weight:var(--et-badge-font-weight);line-height:1.4;box-sizing:border-box;max-inline-size:100%;background:var(--_et-badge-background);color:var(--_et-badge-color);border:1px solid var(--_et-badge-border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.et-badge:where([data-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-badge-color: var(--et-theme-color-on-primary);--_et-badge-border-color: transparent}.et-badge:where([data-variant=tonal]){--et-theme-color-primary-opacity: .16;--_et-badge-border-color: transparent}.et-badge:where([data-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-badge-border-color: var(--et-theme-color-ink-solid)}.et-badge:where([data-size=sm]){--et-badge-gap: 3px;--et-badge-padding-inline: 6px;--et-badge-min-block-size: 16px;--et-badge-font-size: 10px}.et-badge:where([data-size=lg]){--et-badge-gap: 5px;--et-badge-padding-inline: 10px;--et-badge-min-block-size: 24px;--et-badge-font-size: 12px}.et-badge .et-badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.et-badge .et-badge-icon:empty{display:none}.et-badge .et-badge-icon .et-icon{inline-size:1em;block-size:1em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2049
|
+
`, isInline: true, styles: ["@layer components{@property --et-badge-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-badge-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-badge-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-badge-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-badge-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-badge-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}.et-badge{--_et-badge-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-badge-color: var(--et-theme-color-ink-solid);--_et-badge-border-color: transparent;display:inline-flex;align-self:start;justify-self:start;align-items:center;justify-content:center;gap:var(--et-badge-gap);padding-inline:var(--et-badge-padding-inline);min-block-size:var(--et-badge-min-block-size);border-radius:var(--et-badge-border-radius);font-size:var(--et-badge-font-size);font-weight:var(--et-badge-font-weight);line-height:1.4;box-sizing:border-box;max-inline-size:100%;background:var(--_et-badge-background);color:var(--_et-badge-color);border:1px solid var(--_et-badge-border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.et-badge:where([data-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-badge-color: var(--et-theme-color-on-primary);--_et-badge-border-color: transparent}.et-badge:where([data-variant=tonal]){--et-theme-color-primary-opacity: .16;--_et-badge-border-color: transparent}.et-badge:where([data-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-badge-border-color: var(--et-theme-color-ink-solid)}.et-badge:where([data-size=sm]){--et-badge-gap: 3px;--et-badge-padding-inline: 6px;--et-badge-min-block-size: 16px;--et-badge-font-size: 10px}.et-badge:where([data-size=lg]){--et-badge-gap: 5px;--et-badge-padding-inline: 10px;--et-badge-min-block-size: 24px;--et-badge-font-size: 12px}.et-badge .et-badge-label{text-box:trim-both cap alphabetic}.et-badge .et-badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.et-badge .et-badge-icon:empty{display:none}.et-badge .et-badge-icon .et-icon{inline-size:1em;block-size:1em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2050
2050
|
}
|
|
2051
2051
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
2052
2052
|
type: Component,
|
|
@@ -2057,7 +2057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
2057
2057
|
</div>
|
|
2058
2058
|
}
|
|
2059
2059
|
|
|
2060
|
-
<ng-content
|
|
2060
|
+
<span class="et-badge-label"><ng-content /></span>
|
|
2061
2061
|
|
|
2062
2062
|
@if (iconAlignment() === 'end') {
|
|
2063
2063
|
<div class="et-badge-icon">
|
|
@@ -2078,7 +2078,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
2078
2078
|
'[attr.data-variant]': 'variant()',
|
|
2079
2079
|
'[attr.data-size]': 'size()',
|
|
2080
2080
|
'[attr.data-icon-alignment]': 'iconAlignment()',
|
|
2081
|
-
}, styles: ["@layer components{@property --et-badge-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-badge-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-badge-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-badge-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-badge-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-badge-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}.et-badge{--_et-badge-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-badge-color: var(--et-theme-color-ink-solid);--_et-badge-border-color: transparent;display:inline-flex;align-self:start;justify-self:start;align-items:center;justify-content:center;gap:var(--et-badge-gap);padding-inline:var(--et-badge-padding-inline);min-block-size:var(--et-badge-min-block-size);border-radius:var(--et-badge-border-radius);font-size:var(--et-badge-font-size);font-weight:var(--et-badge-font-weight);line-height:1.4;box-sizing:border-box;max-inline-size:100%;background:var(--_et-badge-background);color:var(--_et-badge-color);border:1px solid var(--_et-badge-border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.et-badge:where([data-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-badge-color: var(--et-theme-color-on-primary);--_et-badge-border-color: transparent}.et-badge:where([data-variant=tonal]){--et-theme-color-primary-opacity: .16;--_et-badge-border-color: transparent}.et-badge:where([data-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-badge-border-color: var(--et-theme-color-ink-solid)}.et-badge:where([data-size=sm]){--et-badge-gap: 3px;--et-badge-padding-inline: 6px;--et-badge-min-block-size: 16px;--et-badge-font-size: 10px}.et-badge:where([data-size=lg]){--et-badge-gap: 5px;--et-badge-padding-inline: 10px;--et-badge-min-block-size: 24px;--et-badge-font-size: 12px}.et-badge .et-badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.et-badge .et-badge-icon:empty{display:none}.et-badge .et-badge-icon .et-icon{inline-size:1em;block-size:1em}}\n"] }]
|
|
2081
|
+
}, styles: ["@layer components{@property --et-badge-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-badge-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-badge-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-badge-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-badge-font-size{syntax: \"<length>\"; inherits: true; initial-value: 11px;}@property --et-badge-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}.et-badge{--_et-badge-background: rgb(var(--et-theme-color-primary-rgb) / var(--et-theme-color-primary-opacity));--_et-badge-color: var(--et-theme-color-ink-solid);--_et-badge-border-color: transparent;display:inline-flex;align-self:start;justify-self:start;align-items:center;justify-content:center;gap:var(--et-badge-gap);padding-inline:var(--et-badge-padding-inline);min-block-size:var(--et-badge-min-block-size);border-radius:var(--et-badge-border-radius);font-size:var(--et-badge-font-size);font-weight:var(--et-badge-font-weight);line-height:1.4;box-sizing:border-box;max-inline-size:100%;background:var(--_et-badge-background);color:var(--_et-badge-color);border:1px solid var(--_et-badge-border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.et-badge:where([data-variant=filled]){--et-theme-color-primary-opacity: 1;--_et-badge-color: var(--et-theme-color-on-primary);--_et-badge-border-color: transparent}.et-badge:where([data-variant=tonal]){--et-theme-color-primary-opacity: .16;--_et-badge-border-color: transparent}.et-badge:where([data-variant=outline]){--et-theme-color-primary-opacity: 0;--_et-badge-border-color: var(--et-theme-color-ink-solid)}.et-badge:where([data-size=sm]){--et-badge-gap: 3px;--et-badge-padding-inline: 6px;--et-badge-min-block-size: 16px;--et-badge-font-size: 10px}.et-badge:where([data-size=lg]){--et-badge-gap: 5px;--et-badge-padding-inline: 10px;--et-badge-min-block-size: 24px;--et-badge-font-size: 12px}.et-badge .et-badge-label{text-box:trim-both cap alphabetic}.et-badge .et-badge-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.et-badge .et-badge-icon:empty{display:none}.et-badge .et-badge-icon .et-icon{inline-size:1em;block-size:1em}}\n"] }]
|
|
2082
2082
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], iconAlignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconAlignment", required: false }] }] } });
|
|
2083
2083
|
|
|
2084
2084
|
const BADGE_IMPORTS = [BadgeComponent];
|
|
@@ -2434,21 +2434,23 @@ class SpinnerComponent {
|
|
|
2434
2434
|
/>
|
|
2435
2435
|
</svg>
|
|
2436
2436
|
} @else {
|
|
2437
|
-
<div class="et-spinner-indeterminate
|
|
2438
|
-
<div class="et-spinner-
|
|
2439
|
-
<div class="et-spinner-
|
|
2440
|
-
<
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
<
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
<
|
|
2437
|
+
<div class="et-spinner-indeterminate" animate.leave="et-spinner-indeterminate--leave">
|
|
2438
|
+
<div class="et-spinner-indeterminate-container" aria-hidden="true">
|
|
2439
|
+
<div class="et-spinner-layer">
|
|
2440
|
+
<div class="et-spinner-circle-clipper et-spinner-circle-left">
|
|
2441
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2442
|
+
</div>
|
|
2443
|
+
<div class="et-spinner-gap-patch">
|
|
2444
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2445
|
+
</div>
|
|
2446
|
+
<div class="et-spinner-circle-clipper et-spinner-circle-right">
|
|
2447
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2448
|
+
</div>
|
|
2447
2449
|
</div>
|
|
2448
2450
|
</div>
|
|
2449
2451
|
</div>
|
|
2450
2452
|
}
|
|
2451
|
-
`, isInline: true, styles: ["@layer components{@property --et-spinner-size{syntax: \"<length>\"; inherits: false; initial-value: 18px;}@property --et-spinner-stroke-width{syntax: \"<length>\"; inherits: false; initial-value: 2.25px;}@property --et-spinner-color{syntax: \"<color>\"; inherits: true; initial-value: currentColor;}@property --et-spinner-duration{syntax: \"<time>\"; inherits: true; initial-value: 1333ms;}@keyframes et-spinner-rotate{to{transform:rotate(360deg)}}@keyframes et-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-spinner-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-spinner-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}.et-spinner{position:relative;display:inline-block;width:var(--et-spinner-size);height:var(--et-spinner-size);color:var(--et-spinner-color);direction:ltr;vertical-align:middle;line-height:0;overflow:hidden}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-indeterminate-container,.et-spinner .et-spinner-layer,.et-spinner .et-spinner-circle-graphic{position:absolute;inset:0;width:100%;height:100%}.et-spinner .et-spinner-track-container{transform:rotate(-90deg)}.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-circle-graphic{fill:none}.et-spinner .et-spinner-track-circle,.et-spinner .et-spinner-circle-graphic circle{fill:none;stroke:currentColor}.et-spinner .et-spinner-track-circle{stroke:var(--et-spinner-track-color, color-mix(in srgb, currentColor 24%, transparent));stroke-linecap:round}.et-spinner .et-spinner-circle-graphic circle{stroke-linecap:round;stroke-linejoin:round}.et-spinner .et-spinner-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;animation:et-spinner-rotate calc(var(--et-spinner-duration) * 1568 / 1333) linear infinite}.et-spinner .et-spinner-layer{animation:et-spinner-layer-rotate calc(var(--et-spinner-duration) * 4) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-spinner .et-spinner-gap-patch .et-spinner-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-spinner .et-spinner-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-spinner .et-spinner-circle-clipper .et-spinner-circle-graphic{width:200%}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{left:-100%}.et-spinner .et-spinner-circle-left .et-spinner-circle-graphic{animation:et-spinner-left-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{animation:et-spinner-right-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-determinate-graphic{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.et-spinner .et-spinner-determinate-circle{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.et-spinner:where(.et-spinner--themed){--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2453
|
+
`, isInline: true, styles: ["@layer components{@property --et-spinner-size{syntax: \"<length>\"; inherits: false; initial-value: 18px;}@property --et-spinner-stroke-width{syntax: \"<length>\"; inherits: false; initial-value: 2.25px;}@property --et-spinner-color{syntax: \"<color>\"; inherits: true; initial-value: currentColor;}@property --et-spinner-duration{syntax: \"<time>\"; inherits: true; initial-value: 1333ms;}@keyframes et-spinner-rotate{to{transform:rotate(360deg)}}@keyframes et-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-spinner-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-spinner-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}.et-spinner{position:relative;display:inline-block;width:var(--et-spinner-size);height:var(--et-spinner-size);color:var(--et-spinner-color);direction:ltr;vertical-align:middle;line-height:0;overflow:hidden}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-indeterminate,.et-spinner .et-spinner-indeterminate-container,.et-spinner .et-spinner-layer,.et-spinner .et-spinner-circle-graphic{position:absolute;inset:0;width:100%;height:100%}.et-spinner .et-spinner-track-container{transform:rotate(-90deg)}.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-circle-graphic{fill:none}.et-spinner .et-spinner-track-circle,.et-spinner .et-spinner-circle-graphic circle{fill:none;stroke:currentColor}.et-spinner .et-spinner-track-circle{stroke:var(--et-spinner-track-color, color-mix(in srgb, currentColor 24%, transparent));stroke-linecap:round}.et-spinner .et-spinner-circle-graphic circle{stroke-linecap:round;stroke-linejoin:round}.et-spinner .et-spinner-indeterminate--leave{opacity:0;transition:opacity .15s ease}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-determinate-graphic{transition:opacity .15s ease}@starting-style{.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-determinate-graphic{opacity:0}}.et-spinner .et-spinner-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;animation:et-spinner-rotate calc(var(--et-spinner-duration) * 1568 / 1333) linear infinite}.et-spinner .et-spinner-layer{animation:et-spinner-layer-rotate calc(var(--et-spinner-duration) * 4) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-spinner .et-spinner-gap-patch .et-spinner-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-spinner .et-spinner-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-spinner .et-spinner-circle-clipper .et-spinner-circle-graphic{width:200%}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{left:-100%}.et-spinner .et-spinner-circle-left .et-spinner-circle-graphic{animation:et-spinner-left-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{animation:et-spinner-right-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-determinate-graphic{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.et-spinner .et-spinner-determinate-circle{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.et-spinner:where(.et-spinner--themed){--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2452
2454
|
}
|
|
2453
2455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
2454
2456
|
type: Component,
|
|
@@ -2510,16 +2512,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
2510
2512
|
/>
|
|
2511
2513
|
</svg>
|
|
2512
2514
|
} @else {
|
|
2513
|
-
<div class="et-spinner-indeterminate
|
|
2514
|
-
<div class="et-spinner-
|
|
2515
|
-
<div class="et-spinner-
|
|
2516
|
-
<
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
<
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
<
|
|
2515
|
+
<div class="et-spinner-indeterminate" animate.leave="et-spinner-indeterminate--leave">
|
|
2516
|
+
<div class="et-spinner-indeterminate-container" aria-hidden="true">
|
|
2517
|
+
<div class="et-spinner-layer">
|
|
2518
|
+
<div class="et-spinner-circle-clipper et-spinner-circle-left">
|
|
2519
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2520
|
+
</div>
|
|
2521
|
+
<div class="et-spinner-gap-patch">
|
|
2522
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2523
|
+
</div>
|
|
2524
|
+
<div class="et-spinner-circle-clipper et-spinner-circle-right">
|
|
2525
|
+
<ng-container [ngTemplateOutlet]="circle" />
|
|
2526
|
+
</div>
|
|
2523
2527
|
</div>
|
|
2524
2528
|
</div>
|
|
2525
2529
|
</div>
|
|
@@ -2540,7 +2544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
2540
2544
|
'[attr.aria-valuenow]': 'determinate() ? clampedValue() : null',
|
|
2541
2545
|
'[attr.aria-valuemin]': 'determinate() ? 0 : null',
|
|
2542
2546
|
'[attr.aria-valuemax]': 'determinate() ? 100 : null',
|
|
2543
|
-
}, styles: ["@layer components{@property --et-spinner-size{syntax: \"<length>\"; inherits: false; initial-value: 18px;}@property --et-spinner-stroke-width{syntax: \"<length>\"; inherits: false; initial-value: 2.25px;}@property --et-spinner-color{syntax: \"<color>\"; inherits: true; initial-value: currentColor;}@property --et-spinner-duration{syntax: \"<time>\"; inherits: true; initial-value: 1333ms;}@keyframes et-spinner-rotate{to{transform:rotate(360deg)}}@keyframes et-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-spinner-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-spinner-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}.et-spinner{position:relative;display:inline-block;width:var(--et-spinner-size);height:var(--et-spinner-size);color:var(--et-spinner-color);direction:ltr;vertical-align:middle;line-height:0;overflow:hidden}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-indeterminate-container,.et-spinner .et-spinner-layer,.et-spinner .et-spinner-circle-graphic{position:absolute;inset:0;width:100%;height:100%}.et-spinner .et-spinner-track-container{transform:rotate(-90deg)}.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-circle-graphic{fill:none}.et-spinner .et-spinner-track-circle,.et-spinner .et-spinner-circle-graphic circle{fill:none;stroke:currentColor}.et-spinner .et-spinner-track-circle{stroke:var(--et-spinner-track-color, color-mix(in srgb, currentColor 24%, transparent));stroke-linecap:round}.et-spinner .et-spinner-circle-graphic circle{stroke-linecap:round;stroke-linejoin:round}.et-spinner .et-spinner-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;animation:et-spinner-rotate calc(var(--et-spinner-duration) * 1568 / 1333) linear infinite}.et-spinner .et-spinner-layer{animation:et-spinner-layer-rotate calc(var(--et-spinner-duration) * 4) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-spinner .et-spinner-gap-patch .et-spinner-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-spinner .et-spinner-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-spinner .et-spinner-circle-clipper .et-spinner-circle-graphic{width:200%}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{left:-100%}.et-spinner .et-spinner-circle-left .et-spinner-circle-graphic{animation:et-spinner-left-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{animation:et-spinner-right-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-determinate-graphic{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.et-spinner .et-spinner-determinate-circle{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.et-spinner:where(.et-spinner--themed){--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}}\n"] }]
|
|
2547
|
+
}, styles: ["@layer components{@property --et-spinner-size{syntax: \"<length>\"; inherits: false; initial-value: 18px;}@property --et-spinner-stroke-width{syntax: \"<length>\"; inherits: false; initial-value: 2.25px;}@property --et-spinner-color{syntax: \"<color>\"; inherits: true; initial-value: currentColor;}@property --et-spinner-duration{syntax: \"<time>\"; inherits: true; initial-value: 1333ms;}@keyframes et-spinner-rotate{to{transform:rotate(360deg)}}@keyframes et-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes et-spinner-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes et-spinner-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}.et-spinner{position:relative;display:inline-block;width:var(--et-spinner-size);height:var(--et-spinner-size);color:var(--et-spinner-color);direction:ltr;vertical-align:middle;line-height:0;overflow:hidden}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-indeterminate,.et-spinner .et-spinner-indeterminate-container,.et-spinner .et-spinner-layer,.et-spinner .et-spinner-circle-graphic{position:absolute;inset:0;width:100%;height:100%}.et-spinner .et-spinner-track-container{transform:rotate(-90deg)}.et-spinner .et-spinner-track-graphic,.et-spinner .et-spinner-circle-graphic{fill:none}.et-spinner .et-spinner-track-circle,.et-spinner .et-spinner-circle-graphic circle{fill:none;stroke:currentColor}.et-spinner .et-spinner-track-circle{stroke:var(--et-spinner-track-color, color-mix(in srgb, currentColor 24%, transparent));stroke-linecap:round}.et-spinner .et-spinner-circle-graphic circle{stroke-linecap:round;stroke-linejoin:round}.et-spinner .et-spinner-indeterminate--leave{opacity:0;transition:opacity .15s ease}.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-determinate-graphic{transition:opacity .15s ease}@starting-style{.et-spinner .et-spinner-track-container,.et-spinner .et-spinner-determinate-graphic{opacity:0}}.et-spinner .et-spinner-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;animation:et-spinner-rotate calc(var(--et-spinner-duration) * 1568 / 1333) linear infinite}.et-spinner .et-spinner-layer{animation:et-spinner-layer-rotate calc(var(--et-spinner-duration) * 4) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.et-spinner .et-spinner-gap-patch .et-spinner-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.et-spinner .et-spinner-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.et-spinner .et-spinner-circle-clipper .et-spinner-circle-graphic{width:200%}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{left:-100%}.et-spinner .et-spinner-circle-left .et-spinner-circle-graphic{animation:et-spinner-left-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-circle-right .et-spinner-circle-graphic{animation:et-spinner-right-spin var(--et-spinner-duration) cubic-bezier(.4,0,.2,1) infinite both}.et-spinner .et-spinner-determinate-graphic{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.et-spinner .et-spinner-determinate-circle{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.et-spinner:where(.et-spinner--themed){--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}}\n"] }]
|
|
2544
2548
|
}], propDecorators: { diameter: [{ type: i0.Input, args: [{ isSignal: true, alias: "diameter", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }], track: [{ type: i0.Input, args: [{ isSignal: true, alias: "track", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] } });
|
|
2545
2549
|
|
|
2546
2550
|
const LOADER_IMPORTS = [SpinnerComponent, ProgressBarComponent];
|
|
@@ -2774,8 +2778,17 @@ class QueryButtonDirective {
|
|
|
2774
2778
|
this.query = input.required({ ...(ngDevMode ? { debugName: "query" } : /* istanbul ignore next */ {}), alias: 'etQueryButton' });
|
|
2775
2779
|
/** Whether the spinner shows the query's progress percentage when it reports one. */
|
|
2776
2780
|
this.showProgress = input(true, { ...(ngDevMode ? { debugName: "showProgress" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
2777
|
-
|
|
2778
|
-
...(ngDevMode ?
|
|
2781
|
+
// Never falls back within one run: after the upload, a download restarts at 0 or reports no length.
|
|
2782
|
+
this.state = linkedSignal({ ...(ngDevMode ? { debugName: "state" } : /* istanbul ignore next */ {}), source: () => readQueryButtonSource(this.query()),
|
|
2783
|
+
computation: (state, previous) => {
|
|
2784
|
+
if (!state.loading)
|
|
2785
|
+
return IDLE_STATE;
|
|
2786
|
+
const reported = state.progress !== null && Number.isFinite(state.progress) ? state.progress : null;
|
|
2787
|
+
const held = previous?.value.loading ? previous.value.progress : null;
|
|
2788
|
+
if (held === null || reported === null)
|
|
2789
|
+
return { loading: true, progress: reported ?? held };
|
|
2790
|
+
return { loading: true, progress: Math.max(held, reported) };
|
|
2791
|
+
} });
|
|
2779
2792
|
this.loading = computed(() => this.state().loading, /* @ts-ignore */
|
|
2780
2793
|
...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
|
|
2781
2794
|
this.progress = computed(() => (this.showProgress() ? this.state().progress : null), /* @ts-ignore */
|
|
@@ -2896,6 +2909,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
2896
2909
|
}]
|
|
2897
2910
|
}], ctorParameters: () => [] });
|
|
2898
2911
|
|
|
2912
|
+
const MENU_TRIGGER_ROOT_ALIGNMENT = new InjectionToken('MENU_TRIGGER_ROOT_ALIGNMENT');
|
|
2913
|
+
|
|
2899
2914
|
class SplitButtonTriggerDirective {
|
|
2900
2915
|
constructor() {
|
|
2901
2916
|
this.splitButton = inject(SplitButtonDirective, { optional: true });
|
|
@@ -2910,13 +2925,14 @@ class SplitButtonTriggerDirective {
|
|
|
2910
2925
|
});
|
|
2911
2926
|
}
|
|
2912
2927
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SplitButtonTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2913
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: SplitButtonTriggerDirective, isStandalone: true, selector: "[etSplitButtonTrigger]", host: { classAttribute: "et-split-button-trigger" }, exportAs: ["etSplitButtonTrigger"], ngImport: i0 }); }
|
|
2928
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: SplitButtonTriggerDirective, isStandalone: true, selector: "[etSplitButtonTrigger]", host: { classAttribute: "et-split-button-trigger" }, providers: [{ provide: MENU_TRIGGER_ROOT_ALIGNMENT, useValue: 'end' }], exportAs: ["etSplitButtonTrigger"], ngImport: i0 }); }
|
|
2914
2929
|
}
|
|
2915
2930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SplitButtonTriggerDirective, decorators: [{
|
|
2916
2931
|
type: Directive,
|
|
2917
2932
|
args: [{
|
|
2918
2933
|
selector: '[etSplitButtonTrigger]',
|
|
2919
2934
|
exportAs: 'etSplitButtonTrigger',
|
|
2935
|
+
providers: [{ provide: MENU_TRIGGER_ROOT_ALIGNMENT, useValue: 'end' }],
|
|
2920
2936
|
host: {
|
|
2921
2937
|
class: 'et-split-button-trigger',
|
|
2922
2938
|
},
|
|
@@ -6816,13 +6832,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
6816
6832
|
|
|
6817
6833
|
class SplitButtonComponent {
|
|
6818
6834
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6819
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: SplitButtonComponent, isStandalone: true, selector: "et-split-button", host: { classAttribute: "et-split-button" }, hostDirectives: [{ directive: SplitButtonDirective }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["@layer components{@property --et-split-button-divider-color{syntax: \"*\"; inherits: true;}.et-split-button{display:inline-flex;align-items:stretch}.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger{position:relative}:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):focus-visible{z-index:1}@media(hover:hover){:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):hover{z-index:1}}.et-split-button .et-split-button-action{border-start-end-radius:0;border-end-end-radius:0}.et-split-button .et-split-button-trigger{height:auto;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--et-button-border-radius);border-end-end-radius:var(--et-button-border-radius)}.et-split-button .et-split-button-trigger:where([data-size=xs]){--et-button-border-radius: .3rem}.et-split-button .et-split-button-trigger:where([data-size=sm]),.et-split-button .et-split-button-trigger:where([data-size=md]){--et-button-border-radius: .4rem}.et-split-button .et-split-button-trigger:where([data-size=lg]){--et-button-border-radius: .6rem}.et-split-button .et-split-button-trigger:where([data-size=xl]){--et-button-border-radius: .8rem}.et-split-button .et-split-button-trigger:not([data-variant=outline]){border-inline-start:var(--et-button-border-width, .1rem) solid var(--et-split-button-divider-color, color-mix(in srgb, currentColor 32%, transparent))}.et-split-button .et-split-button-trigger:where([data-variant=outline]){margin-inline-start:calc(var(--et-button-border-width, .1rem) * -1)}.et-split-button .et-icon-button.et-split-button-trigger:where([data-variant=filled]):where([disabled],[aria-disabled=true]){opacity:1}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6835
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: SplitButtonComponent, isStandalone: true, selector: "et-split-button", host: { classAttribute: "et-split-button" }, hostDirectives: [{ directive: SplitButtonDirective }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["@layer components{@property --et-split-button-divider-color{syntax: \"*\"; inherits: true;}.et-split-button{display:inline-flex;align-items:stretch}.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger{position:relative}:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):focus-visible{z-index:1}@media(hover:hover){:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):hover{z-index:1}}.et-split-button .et-split-button-action{border-start-end-radius:0;border-end-end-radius:0}.et-split-button .et-split-button-trigger{height:auto;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--et-button-border-radius);border-end-end-radius:var(--et-button-border-radius)}.et-split-button .et-split-button-trigger:where([data-size=xs]){--et-button-border-radius: .3rem}.et-split-button .et-split-button-trigger:where([data-size=sm]),.et-split-button .et-split-button-trigger:where([data-size=md]){--et-button-border-radius: .4rem}.et-split-button .et-split-button-trigger:where([data-size=lg]){--et-button-border-radius: .6rem}.et-split-button .et-split-button-trigger:where([data-size=xl]){--et-button-border-radius: .8rem}.et-split-button .et-split-button-trigger:not([data-variant=outline]){border-inline-start:var(--et-button-border-width, .1rem) solid var(--et-split-button-divider-color, color-mix(in srgb, currentColor 32%, transparent))}.et-split-button .et-split-button-trigger:where([data-variant=outline]){margin-inline-start:calc(var(--et-button-border-width, .1rem) * -1)}.et-split-button .et-icon-button.et-split-button-trigger:where([data-variant=filled]):where([disabled],[aria-disabled=true]){opacity:1}.et-split-button .et-split-button-trigger[aria-expanded=true]{--et-theme-color-primary-rgb: var(--et-color-primary-hover, var(--et-color-primary));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary-hover, var(--et-color-on-primary));--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-hover, var(--et-color-primary-ink, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));z-index:1}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=filled]){--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-hover-delta))}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=tonal]){--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6820
6836
|
}
|
|
6821
6837
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
6822
6838
|
type: Component,
|
|
6823
6839
|
args: [{ selector: 'et-split-button', template: `<ng-content />`, encapsulation: ViewEncapsulation.None, hostDirectives: [SplitButtonDirective], host: {
|
|
6824
6840
|
class: 'et-split-button',
|
|
6825
|
-
}, styles: ["@layer components{@property --et-split-button-divider-color{syntax: \"*\"; inherits: true;}.et-split-button{display:inline-flex;align-items:stretch}.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger{position:relative}:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):focus-visible{z-index:1}@media(hover:hover){:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):hover{z-index:1}}.et-split-button .et-split-button-action{border-start-end-radius:0;border-end-end-radius:0}.et-split-button .et-split-button-trigger{height:auto;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--et-button-border-radius);border-end-end-radius:var(--et-button-border-radius)}.et-split-button .et-split-button-trigger:where([data-size=xs]){--et-button-border-radius: .3rem}.et-split-button .et-split-button-trigger:where([data-size=sm]),.et-split-button .et-split-button-trigger:where([data-size=md]){--et-button-border-radius: .4rem}.et-split-button .et-split-button-trigger:where([data-size=lg]){--et-button-border-radius: .6rem}.et-split-button .et-split-button-trigger:where([data-size=xl]){--et-button-border-radius: .8rem}.et-split-button .et-split-button-trigger:not([data-variant=outline]){border-inline-start:var(--et-button-border-width, .1rem) solid var(--et-split-button-divider-color, color-mix(in srgb, currentColor 32%, transparent))}.et-split-button .et-split-button-trigger:where([data-variant=outline]){margin-inline-start:calc(var(--et-button-border-width, .1rem) * -1)}.et-split-button .et-icon-button.et-split-button-trigger:where([data-variant=filled]):where([disabled],[aria-disabled=true]){opacity:1}}\n"] }]
|
|
6841
|
+
}, styles: ["@layer components{@property --et-split-button-divider-color{syntax: \"*\"; inherits: true;}.et-split-button{display:inline-flex;align-items:stretch}.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger{position:relative}:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):focus-visible{z-index:1}@media(hover:hover){:is(.et-split-button .et-split-button-action,.et-split-button .et-split-button-trigger):hover{z-index:1}}.et-split-button .et-split-button-action{border-start-end-radius:0;border-end-end-radius:0}.et-split-button .et-split-button-trigger{height:auto;border-start-start-radius:0;border-end-start-radius:0;border-start-end-radius:var(--et-button-border-radius);border-end-end-radius:var(--et-button-border-radius)}.et-split-button .et-split-button-trigger:where([data-size=xs]){--et-button-border-radius: .3rem}.et-split-button .et-split-button-trigger:where([data-size=sm]),.et-split-button .et-split-button-trigger:where([data-size=md]){--et-button-border-radius: .4rem}.et-split-button .et-split-button-trigger:where([data-size=lg]){--et-button-border-radius: .6rem}.et-split-button .et-split-button-trigger:where([data-size=xl]){--et-button-border-radius: .8rem}.et-split-button .et-split-button-trigger:not([data-variant=outline]){border-inline-start:var(--et-button-border-width, .1rem) solid var(--et-split-button-divider-color, color-mix(in srgb, currentColor 32%, transparent))}.et-split-button .et-split-button-trigger:where([data-variant=outline]){margin-inline-start:calc(var(--et-button-border-width, .1rem) * -1)}.et-split-button .et-icon-button.et-split-button-trigger:where([data-variant=filled]):where([disabled],[aria-disabled=true]){opacity:1}.et-split-button .et-split-button-trigger[aria-expanded=true]{--et-theme-color-primary-rgb: var(--et-color-primary-hover, var(--et-color-primary));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary-hover, var(--et-color-on-primary));--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-hover, var(--et-color-primary-ink, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb));z-index:1}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=filled]){--et-theme-color-primary-opacity: calc(1 - var(--et-button-variant-opacity-hover-delta))}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=outline],[data-variant=transparent]){--et-theme-color-primary-opacity: var(--et-button-variant-opacity-hover-delta)}.et-split-button .et-split-button-trigger[aria-expanded=true]:where([data-variant=tonal]){--et-theme-color-primary-opacity: calc(.16 + var(--et-button-variant-opacity-hover-delta))}}\n"] }]
|
|
6826
6842
|
}] });
|
|
6827
6843
|
|
|
6828
6844
|
class TextButtonComponent {
|
|
@@ -9215,6 +9231,110 @@ const anchoredDialogOverlayStrategy = (options = {}) => {
|
|
|
9215
9231
|
};
|
|
9216
9232
|
};
|
|
9217
9233
|
|
|
9234
|
+
/**
|
|
9235
|
+
* Tracks the gap between where `position: fixed; bottom: 0` renders and the top of the soft
|
|
9236
|
+
* keyboard. Never emits; subscribing starts the tracking and unsubscribing stops it.
|
|
9237
|
+
*/
|
|
9238
|
+
const observeKeyboardInset = (tracking) => new Observable((subscriber) => {
|
|
9239
|
+
const viewport = tracking.view.visualViewport;
|
|
9240
|
+
if (!viewport)
|
|
9241
|
+
return;
|
|
9242
|
+
return trackKeyboardInset(tracking, viewport).subscribe(subscriber);
|
|
9243
|
+
});
|
|
9244
|
+
const trackKeyboardInset = ({ view, renderer, onInset, poll$ = EMPTY }, viewport) => {
|
|
9245
|
+
// In a same-origin iframe (Storybook, docs story embeds) the frame's own visualViewport never
|
|
9246
|
+
// reflects the soft keyboard - only the top window's does. Track the top viewport plus the
|
|
9247
|
+
// frame's position to compute how much of THIS frame the keyboard covers. A cross-origin
|
|
9248
|
+
// parent exposes neither (`frameElement` is null / viewport access throws), so those frames
|
|
9249
|
+
// keep the local metrics - the status quo of not seeing the keyboard at all.
|
|
9250
|
+
let frameElement = null;
|
|
9251
|
+
let topViewport = null;
|
|
9252
|
+
try {
|
|
9253
|
+
// no instanceof here - frameElement belongs to the PARENT document's realm, so it is never
|
|
9254
|
+
// an instance of this window's HTMLElement constructor
|
|
9255
|
+
frameElement = view.frameElement;
|
|
9256
|
+
topViewport = frameElement ? (view.top?.visualViewport ?? null) : null;
|
|
9257
|
+
}
|
|
9258
|
+
catch {
|
|
9259
|
+
frameElement = null;
|
|
9260
|
+
topViewport = null;
|
|
9261
|
+
}
|
|
9262
|
+
// Where "position: fixed; bottom: 0" actually lands is NOT derivable from window/visualViewport
|
|
9263
|
+
// on iOS: with the soft keyboard open (and focus zoom active), WebKit positions fixed elements
|
|
9264
|
+
// against an internal rect that tracks the visual viewport and is clamped to the document - its
|
|
9265
|
+
// bottom sits well below where `innerHeight` says. Measure it with a zero-size fixed probe
|
|
9266
|
+
// instead of assuming layout-viewport math; on engines without the quirk the probe bottom IS
|
|
9267
|
+
// `innerHeight`, so this degenerates to the plain `innerHeight - height - offsetTop`.
|
|
9268
|
+
const probe = renderer.createElement('div');
|
|
9269
|
+
renderer.setCssProperties(probe, {
|
|
9270
|
+
position: 'fixed',
|
|
9271
|
+
'inset-block-end': '0',
|
|
9272
|
+
'inline-size': '0',
|
|
9273
|
+
'block-size': '0',
|
|
9274
|
+
visibility: 'hidden',
|
|
9275
|
+
});
|
|
9276
|
+
renderer.appendChild(view.document.body, probe);
|
|
9277
|
+
let lastApplied = -1;
|
|
9278
|
+
const apply = () => {
|
|
9279
|
+
const fixedBottom = probe.getBoundingClientRect().bottom;
|
|
9280
|
+
let keyboardTop;
|
|
9281
|
+
if (frameElement && topViewport) {
|
|
9282
|
+
const covered = frameElement.getBoundingClientRect().bottom - (topViewport.offsetTop + topViewport.height);
|
|
9283
|
+
keyboardTop = view.innerHeight - Math.max(0, covered);
|
|
9284
|
+
}
|
|
9285
|
+
else {
|
|
9286
|
+
keyboardTop = viewport.offsetTop + viewport.height;
|
|
9287
|
+
}
|
|
9288
|
+
const inset = Math.max(0, fixedBottom - keyboardTop);
|
|
9289
|
+
if (inset === lastApplied)
|
|
9290
|
+
return false;
|
|
9291
|
+
lastApplied = inset;
|
|
9292
|
+
onInset(inset);
|
|
9293
|
+
return true;
|
|
9294
|
+
};
|
|
9295
|
+
// iOS moves its fixed-position rect ASYNCHRONOUSLY while scrolling with the keyboard open (and
|
|
9296
|
+
// fires few or no visualViewport events mid-scroll, including when the scroll itself dismisses
|
|
9297
|
+
// the keyboard) - a single synchronous re-measure per event reads a stale probe rect. So each
|
|
9298
|
+
// event kicks a rAF loop that keeps re-measuring until the inset has been stable for a few
|
|
9299
|
+
// frames, then stops - continuous tracking while anything moves, zero per-frame work at rest.
|
|
9300
|
+
let rafId = null;
|
|
9301
|
+
let quietFrames = 0;
|
|
9302
|
+
const settle = () => {
|
|
9303
|
+
quietFrames = apply() ? 0 : quietFrames + 1;
|
|
9304
|
+
// ~30 quiet frames (≈500ms) so the loop outlasts the keyboard show/hide animation - iOS can
|
|
9305
|
+
// fire its last viewport event right at the animation's start while the fixed-position rect
|
|
9306
|
+
// keeps moving until the end
|
|
9307
|
+
rafId = quietFrames < 30 ? view.requestAnimationFrame(settle) : null;
|
|
9308
|
+
};
|
|
9309
|
+
const kick = () => {
|
|
9310
|
+
quietFrames = 0;
|
|
9311
|
+
apply();
|
|
9312
|
+
rafId ??= view.requestAnimationFrame(settle);
|
|
9313
|
+
};
|
|
9314
|
+
kick();
|
|
9315
|
+
const viewports = topViewport ? [viewport, topViewport] : [viewport];
|
|
9316
|
+
// window scroll too: a root scroll pans the keyboard-tracking fixed rect without necessarily
|
|
9317
|
+
// firing any visualViewport event (top window as well when embedded in an iframe)
|
|
9318
|
+
const scrollTargets = [...viewports, view];
|
|
9319
|
+
try {
|
|
9320
|
+
if (frameElement && view.top)
|
|
9321
|
+
scrollTargets.push(view.top);
|
|
9322
|
+
}
|
|
9323
|
+
catch {
|
|
9324
|
+
// cross-origin top - its scrolls are invisible to us; the frame keeps local tracking
|
|
9325
|
+
}
|
|
9326
|
+
const viewportChange$ = merge(...viewports.map((v) => fromEvent(v, 'resize')),
|
|
9327
|
+
// These are ancestor viewports/windows (visualViewport, iframe top), not a component-owned
|
|
9328
|
+
// scroll container - signalElementScrollState targets a known elementRef and doesn't apply.
|
|
9329
|
+
// eslint-disable-next-line ethlete/prefer-scroll-state
|
|
9330
|
+
...scrollTargets.map((t) => fromEvent(t, 'scroll', { passive: true }))).pipe(tap(() => kick()));
|
|
9331
|
+
return merge(poll$.pipe(tap(() => apply())), viewportChange$).pipe(ignoreElements(), finalize(() => {
|
|
9332
|
+
if (rafId !== null)
|
|
9333
|
+
view.cancelAnimationFrame(rafId);
|
|
9334
|
+
probe.remove();
|
|
9335
|
+
}));
|
|
9336
|
+
};
|
|
9337
|
+
|
|
9218
9338
|
/** Elements whose own pointer handling wins over a drag gesture on an ancestor. */
|
|
9219
9339
|
const isInteractivePointerTarget = (target) => {
|
|
9220
9340
|
const tag = target.tagName.toLowerCase();
|
|
@@ -9568,6 +9688,8 @@ const MIN_LEAVE_DURATION_MS = 100;
|
|
|
9568
9688
|
const MAX_LEAVE_DURATION_MS = 350;
|
|
9569
9689
|
/** Below this release speed the swipe carries no momentum worth handing off. */
|
|
9570
9690
|
const MIN_LEAVE_SPEED = 50;
|
|
9691
|
+
/** How often a sheet lifted above the soft keyboard re-checks the keyboard, to recover a missed viewport event. */
|
|
9692
|
+
const KEYBOARD_POLL_MS = 500;
|
|
9571
9693
|
/**
|
|
9572
9694
|
* Gives the leave transition the speed the swipe had when it let go, instead of the fixed duration
|
|
9573
9695
|
* the stylesheet uses for every other close. Only the duration is overridden - position is already
|
|
@@ -9581,9 +9703,40 @@ const applyDismissMomentum = ({ el, momentum }, renderer) => {
|
|
|
9581
9703
|
renderer.setStyle(el, { transitionDuration: `${duration}ms` });
|
|
9582
9704
|
};
|
|
9583
9705
|
/** Shared strategy shape for all sheet variants: default enter/leave animations plus drag-to-dismiss. */
|
|
9584
|
-
const createSheetStrategy = (config, renderer) => {
|
|
9706
|
+
const createSheetStrategy = (config, { renderer, liftAboveKeyboard }) => {
|
|
9585
9707
|
let dragToDismissRef;
|
|
9586
9708
|
let dismissMomentum = null;
|
|
9709
|
+
let keyboardLift;
|
|
9710
|
+
const applyKeyboardLift = (pane, inset) => renderer.setCssProperties(pane, {
|
|
9711
|
+
'margin-block-end': inset ? `${inset}px` : null,
|
|
9712
|
+
'--et-overlay-max-height': inset ? `calc(100% - ${inset}px)` : null,
|
|
9713
|
+
});
|
|
9714
|
+
const stopKeyboardLift = (context) => {
|
|
9715
|
+
if (!keyboardLift)
|
|
9716
|
+
return;
|
|
9717
|
+
keyboardLift.unsubscribe();
|
|
9718
|
+
keyboardLift = undefined;
|
|
9719
|
+
applyKeyboardLift(context.containerEl, 0);
|
|
9720
|
+
};
|
|
9721
|
+
const startKeyboardLift = (context) => {
|
|
9722
|
+
stopKeyboardLift(context);
|
|
9723
|
+
const view = context.containerEl.ownerDocument.defaultView;
|
|
9724
|
+
if (!view || !liftAboveKeyboard?.())
|
|
9725
|
+
return;
|
|
9726
|
+
let inset = 0;
|
|
9727
|
+
const lift = () => applyKeyboardLift(context.containerEl, inset);
|
|
9728
|
+
keyboardLift = observeKeyboardInset({
|
|
9729
|
+
view,
|
|
9730
|
+
renderer,
|
|
9731
|
+
onInset: (next) => {
|
|
9732
|
+
inset = next;
|
|
9733
|
+
lift();
|
|
9734
|
+
},
|
|
9735
|
+
// re-asserts the lift too: a strategy switch re-positions the pane after onSwitchedTo, which
|
|
9736
|
+
// clears `--et-overlay-max-height`
|
|
9737
|
+
poll$: interval(KEYBOARD_POLL_MS).pipe(tap(lift)),
|
|
9738
|
+
}).subscribe();
|
|
9739
|
+
};
|
|
9587
9740
|
const attachDragToDismiss = (context) => {
|
|
9588
9741
|
if (!config.dragToDismiss)
|
|
9589
9742
|
return;
|
|
@@ -9607,11 +9760,18 @@ const createSheetStrategy = (config, renderer) => {
|
|
|
9607
9760
|
// A close interrupted by a re-open must not inherit the previous swipe's duration.
|
|
9608
9761
|
renderer.setStyle(context.containerEl, { transitionDuration: null });
|
|
9609
9762
|
dismissMomentum = null;
|
|
9763
|
+
startKeyboardLift(context);
|
|
9610
9764
|
context.lifecycle.enter();
|
|
9611
9765
|
},
|
|
9612
9766
|
onAfterEnter: (context) => attachDragToDismiss(context),
|
|
9613
|
-
onSwitchedTo:
|
|
9614
|
-
|
|
9767
|
+
onSwitchedTo: (context) => {
|
|
9768
|
+
attachDragToDismiss(context);
|
|
9769
|
+
startKeyboardLift(context);
|
|
9770
|
+
},
|
|
9771
|
+
onSwitchedAwayFrom: (context) => {
|
|
9772
|
+
detachDragToDismiss();
|
|
9773
|
+
stopKeyboardLift(context);
|
|
9774
|
+
},
|
|
9615
9775
|
onBeforeLeave: (context) => {
|
|
9616
9776
|
detachDragToDismiss();
|
|
9617
9777
|
if (dismissMomentum) {
|
|
@@ -9620,6 +9780,7 @@ const createSheetStrategy = (config, renderer) => {
|
|
|
9620
9780
|
}
|
|
9621
9781
|
context.lifecycle.leave();
|
|
9622
9782
|
},
|
|
9783
|
+
onAfterLeave: stopKeyboardLift,
|
|
9623
9784
|
};
|
|
9624
9785
|
};
|
|
9625
9786
|
|
|
@@ -9658,7 +9819,11 @@ const injectBottomSheetStrategyDefaults = /* @__PURE__ */ toInjectFn(BOTTOM_SHEE
|
|
|
9658
9819
|
const BOTTOM_SHEET_STRATEGY_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
9659
9820
|
const defaults = injectBottomSheetStrategyDefaults();
|
|
9660
9821
|
const renderer = injectRenderer();
|
|
9661
|
-
const
|
|
9822
|
+
const hasTouchInput = injectHasTouchInput();
|
|
9823
|
+
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), {
|
|
9824
|
+
renderer,
|
|
9825
|
+
liftAboveKeyboard: hasTouchInput,
|
|
9826
|
+
});
|
|
9662
9827
|
return {
|
|
9663
9828
|
build,
|
|
9664
9829
|
};
|
|
@@ -10350,7 +10515,7 @@ const injectLeftSheetStrategyDefaults = /* @__PURE__ */ toInjectFn(LEFT_SHEET_ST
|
|
|
10350
10515
|
const LEFT_SHEET_STRATEGY_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
10351
10516
|
const defaults = injectLeftSheetStrategyDefaults();
|
|
10352
10517
|
const renderer = injectRenderer();
|
|
10353
|
-
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), renderer);
|
|
10518
|
+
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), { renderer });
|
|
10354
10519
|
return {
|
|
10355
10520
|
build,
|
|
10356
10521
|
};
|
|
@@ -10388,7 +10553,7 @@ const injectRightSheetStrategyDefaults = /* @__PURE__ */ toInjectFn(RIGHT_SHEET_
|
|
|
10388
10553
|
const RIGHT_SHEET_STRATEGY_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
10389
10554
|
const defaults = injectRightSheetStrategyDefaults();
|
|
10390
10555
|
const renderer = injectRenderer();
|
|
10391
|
-
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), renderer);
|
|
10556
|
+
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), { renderer });
|
|
10392
10557
|
return {
|
|
10393
10558
|
build,
|
|
10394
10559
|
};
|
|
@@ -10472,7 +10637,7 @@ const injectTopSheetStrategyDefaults = /* @__PURE__ */ toInjectFn(TOP_SHEET_STRA
|
|
|
10472
10637
|
const TOP_SHEET_STRATEGY_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
10473
10638
|
const defaults = injectTopSheetStrategyDefaults();
|
|
10474
10639
|
const renderer = injectRenderer();
|
|
10475
|
-
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), renderer);
|
|
10640
|
+
const build = (config = {}) => createSheetStrategy(mergeOverlayBreakpointConfigs(defaults, config), { renderer });
|
|
10476
10641
|
return {
|
|
10477
10642
|
build,
|
|
10478
10643
|
};
|
|
@@ -15764,11 +15929,11 @@ const SCROLLABLE_DARKEN_IMPORTS = [ScrollableDarkenDirective];
|
|
|
15764
15929
|
|
|
15765
15930
|
class CarouselAutoplayStylesComponent {
|
|
15766
15931
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselAutoplayStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15767
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: CarouselAutoplayStylesComponent, isStandalone: true, selector: "et-carousel-autoplay-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{@property --et-carousel-dot-ring-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-carousel-dot-ring-width{syntax: \"<length>\"; inherits: true; initial-value: 2.5px;}.et-carousel-dot-progress{position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border-radius:50%;opacity:0;scale:.55;-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)));mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)))}.et-carousel-dot-progress-half{position:absolute;inset-block:0;inline-size:50%;overflow:hidden}.et-carousel-dot-progress-half:before{content:\"\";position:absolute;inset:0;background:var(--et-theme-color-primary-solid, currentColor);rotate:-180deg}.et-carousel-dot-progress-half:first-child{inset-inline-start:50%}.et-carousel-dot-progress-half:first-child:before{border-radius:0 100% 100% 0/0 50% 50% 0;transform-origin:0 50%}.et-carousel-dot-progress-half:last-child{inset-inline-start:0}.et-carousel-dot-progress-half:last-child:before{border-radius:100% 0 0 100%/50% 0 0 50%;transform-origin:100% 50%}@keyframes et-carousel-autoplay-sweep{0%{rotate:-180deg}to{rotate:0deg}}.et-carousel-dot{position:relative}.et-carousel-dot:after{content:\"\";position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border:var(--et-carousel-dot-ring-width) solid color-mix(in srgb,var(--et-surface-interaction-solid, gray) 30%,transparent);border-radius:50%;opacity:0;scale:.55}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress{opacity:1;scale:1}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:before{animation:et-carousel-autoplay-sweep calc(var(--_et-carousel-autoplay-duration, 5s) / 2) linear forwards}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:last-child:before{animation-delay:calc(var(--_et-carousel-autoplay-duration, 5s) / 2)}.et-carousel-dot:where([data-counting]):after{opacity:1;scale:1}.et-carousel-dot:where([data-counting]):before{scale:.75}.et-carousel .et-carousel-play-toggle .et-icon-button-icon{display:grid;place-items:center}.et-carousel-play-toggle .et-carousel-play-toggle-icon{grid-area:1 / 1;opacity:0;scale:.55;rotate:-35deg}.et-carousel-play-toggle:not([data-playing]) .et-icon--et-play,.et-carousel-play-toggle:where([data-playing]) .et-icon--et-pause{opacity:1;scale:1;rotate:0deg}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot-progress,.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:after{transition:opacity .22s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-play-toggle-icon{transition:opacity .18s var(--ease-3, ease-out),scale .18s var(--ease-3, ease-out),rotate .22s var(--ease-3, ease-out)}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
15932
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: CarouselAutoplayStylesComponent, isStandalone: true, selector: "et-carousel-autoplay-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{@property --et-carousel-dot-ring-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-carousel-dot-ring-width{syntax: \"<length>\"; inherits: true; initial-value: 2.5px;}.et-carousel-dot-progress{position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border-radius:50%;opacity:0;scale:.55;-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)));mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)))}.et-carousel-dot-progress-half{position:absolute;inset-block:0;inline-size:50%;overflow:hidden}.et-carousel-dot-progress-half:before{content:\"\";position:absolute;inset:0;background:var(--et-theme-color-primary-solid, currentColor);rotate:-180deg;opacity:0}.et-carousel-dot-progress-half:first-child{inset-inline-start:50%}.et-carousel-dot-progress-half:first-child:before{border-radius:0 100% 100% 0/0 50% 50% 0;transform-origin:0 50%}.et-carousel-dot-progress-half:last-child{inset-inline-start:0}.et-carousel-dot-progress-half:last-child:before{border-radius:100% 0 0 100%/50% 0 0 50%;transform-origin:100% 50%}@keyframes et-carousel-autoplay-sweep{0%{rotate:-180deg;opacity:1}to{rotate:0deg;opacity:1}}.et-carousel-dot{position:relative}.et-carousel-dot:after{content:\"\";position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border:var(--et-carousel-dot-ring-width) solid color-mix(in srgb,var(--et-surface-interaction-solid, gray) 30%,transparent);border-radius:50%;opacity:0;scale:.55}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress{opacity:1;scale:1}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:before{animation:et-carousel-autoplay-sweep calc(var(--_et-carousel-autoplay-duration, 5s) / 2) linear forwards}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:last-child:before{animation-delay:calc(var(--_et-carousel-autoplay-duration, 5s) / 2)}.et-carousel-dot:where([data-counting]):after{opacity:1;scale:1}.et-carousel-dot:where([data-counting]):before{scale:.75}.et-carousel .et-carousel-play-toggle .et-icon-button-icon{display:grid;place-items:center}.et-carousel-play-toggle .et-carousel-play-toggle-icon{grid-area:1 / 1;opacity:0;scale:.55;rotate:-35deg}.et-carousel-play-toggle:not([data-playing]) .et-icon--et-play,.et-carousel-play-toggle:where([data-playing]) .et-icon--et-pause{opacity:1;scale:1;rotate:0deg}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot-progress,.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:after{transition:opacity .22s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-play-toggle-icon{transition:opacity .18s var(--ease-3, ease-out),scale .18s var(--ease-3, ease-out),rotate .22s var(--ease-3, ease-out)}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
15768
15933
|
}
|
|
15769
15934
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselAutoplayStylesComponent, decorators: [{
|
|
15770
15935
|
type: Component,
|
|
15771
|
-
args: [{ selector: 'et-carousel-autoplay-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{@property --et-carousel-dot-ring-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-carousel-dot-ring-width{syntax: \"<length>\"; inherits: true; initial-value: 2.5px;}.et-carousel-dot-progress{position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border-radius:50%;opacity:0;scale:.55;-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)));mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)))}.et-carousel-dot-progress-half{position:absolute;inset-block:0;inline-size:50%;overflow:hidden}.et-carousel-dot-progress-half:before{content:\"\";position:absolute;inset:0;background:var(--et-theme-color-primary-solid, currentColor);rotate:-180deg}.et-carousel-dot-progress-half:first-child{inset-inline-start:50%}.et-carousel-dot-progress-half:first-child:before{border-radius:0 100% 100% 0/0 50% 50% 0;transform-origin:0 50%}.et-carousel-dot-progress-half:last-child{inset-inline-start:0}.et-carousel-dot-progress-half:last-child:before{border-radius:100% 0 0 100%/50% 0 0 50%;transform-origin:100% 50%}@keyframes et-carousel-autoplay-sweep{0%{rotate:-180deg}to{rotate:0deg}}.et-carousel-dot{position:relative}.et-carousel-dot:after{content:\"\";position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border:var(--et-carousel-dot-ring-width) solid color-mix(in srgb,var(--et-surface-interaction-solid, gray) 30%,transparent);border-radius:50%;opacity:0;scale:.55}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress{opacity:1;scale:1}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:before{animation:et-carousel-autoplay-sweep calc(var(--_et-carousel-autoplay-duration, 5s) / 2) linear forwards}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:last-child:before{animation-delay:calc(var(--_et-carousel-autoplay-duration, 5s) / 2)}.et-carousel-dot:where([data-counting]):after{opacity:1;scale:1}.et-carousel-dot:where([data-counting]):before{scale:.75}.et-carousel .et-carousel-play-toggle .et-icon-button-icon{display:grid;place-items:center}.et-carousel-play-toggle .et-carousel-play-toggle-icon{grid-area:1 / 1;opacity:0;scale:.55;rotate:-35deg}.et-carousel-play-toggle:not([data-playing]) .et-icon--et-play,.et-carousel-play-toggle:where([data-playing]) .et-icon--et-pause{opacity:1;scale:1;rotate:0deg}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot-progress,.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:after{transition:opacity .22s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-play-toggle-icon{transition:opacity .18s var(--ease-3, ease-out),scale .18s var(--ease-3, ease-out),rotate .22s var(--ease-3, ease-out)}}\n"] }]
|
|
15936
|
+
args: [{ selector: 'et-carousel-autoplay-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{@property --et-carousel-dot-ring-size{syntax: \"<length>\"; inherits: true; initial-value: 18px;}@property --et-carousel-dot-ring-width{syntax: \"<length>\"; inherits: true; initial-value: 2.5px;}.et-carousel-dot-progress{position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border-radius:50%;opacity:0;scale:.55;-webkit-mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)));mask:radial-gradient(closest-side,transparent calc(100% - var(--et-carousel-dot-ring-width)),black calc(100% - var(--et-carousel-dot-ring-width)))}.et-carousel-dot-progress-half{position:absolute;inset-block:0;inline-size:50%;overflow:hidden}.et-carousel-dot-progress-half:before{content:\"\";position:absolute;inset:0;background:var(--et-theme-color-primary-solid, currentColor);rotate:-180deg;opacity:0}.et-carousel-dot-progress-half:first-child{inset-inline-start:50%}.et-carousel-dot-progress-half:first-child:before{border-radius:0 100% 100% 0/0 50% 50% 0;transform-origin:0 50%}.et-carousel-dot-progress-half:last-child{inset-inline-start:0}.et-carousel-dot-progress-half:last-child:before{border-radius:100% 0 0 100%/50% 0 0 50%;transform-origin:100% 50%}@keyframes et-carousel-autoplay-sweep{0%{rotate:-180deg;opacity:1}to{rotate:0deg;opacity:1}}.et-carousel-dot{position:relative}.et-carousel-dot:after{content:\"\";position:absolute;inline-size:var(--et-carousel-dot-ring-size);block-size:var(--et-carousel-dot-ring-size);border:var(--et-carousel-dot-ring-width) solid color-mix(in srgb,var(--et-surface-interaction-solid, gray) 30%,transparent);border-radius:50%;opacity:0;scale:.55}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress{opacity:1;scale:1}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:before{animation:et-carousel-autoplay-sweep calc(var(--_et-carousel-autoplay-duration, 5s) / 2) linear forwards}.et-carousel-dot:where([data-counting]) .et-carousel-dot-progress-half:last-child:before{animation-delay:calc(var(--_et-carousel-autoplay-duration, 5s) / 2)}.et-carousel-dot:where([data-counting]):after{opacity:1;scale:1}.et-carousel-dot:where([data-counting]):before{scale:.75}.et-carousel .et-carousel-play-toggle .et-icon-button-icon{display:grid;place-items:center}.et-carousel-play-toggle .et-carousel-play-toggle-icon{grid-area:1 / 1;opacity:0;scale:.55;rotate:-35deg}.et-carousel-play-toggle:not([data-playing]) .et-icon--et-play,.et-carousel-play-toggle:where([data-playing]) .et-icon--et-pause{opacity:1;scale:1;rotate:0deg}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot-progress,.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:after{transition:opacity .22s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-play-toggle-icon{transition:opacity .18s var(--ease-3, ease-out),scale .18s var(--ease-3, ease-out),rotate .22s var(--ease-3, ease-out)}}\n"] }]
|
|
15772
15937
|
}] });
|
|
15773
15938
|
|
|
15774
15939
|
const CAROUSEL_TOKEN = new InjectionToken('CAROUSEL_TOKEN');
|
|
@@ -15779,8 +15944,8 @@ const MAX_TIMER_DELAY = 2_147_483_647;
|
|
|
15779
15944
|
* Advances the carousel on its own. Opt-in - put it on the same element as `[etCarousel]` - so a carousel
|
|
15780
15945
|
* that doesn't move by itself carries none of this.
|
|
15781
15946
|
*
|
|
15782
|
-
* It pauses whenever moving the page under the user would be rude:
|
|
15783
|
-
* inside it, the carousel scrolled off screen, or the user having asked for reduced motion (in which case
|
|
15947
|
+
* It pauses whenever moving the page under the user would be rude: a finger or the pointer on the
|
|
15948
|
+
* carousel, focus inside it, the carousel scrolled off screen, or the user having asked for reduced motion (in which case
|
|
15784
15949
|
* it never starts at all). It also stops at the last slide when the carousel doesn't `loop`, rather than
|
|
15785
15950
|
* jumping back to the start forever.
|
|
15786
15951
|
*
|
|
@@ -15844,6 +16009,9 @@ class CarouselAutoplayDirective {
|
|
|
15844
16009
|
this.isHovered = signal(false, /* @ts-ignore */
|
|
15845
16010
|
...(ngDevMode ? [{ debugName: "isHovered" }] : /* istanbul ignore next */ []));
|
|
15846
16011
|
/** @internal */
|
|
16012
|
+
this.isTouched = signal(false, /* @ts-ignore */
|
|
16013
|
+
...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
|
|
16014
|
+
/** @internal */
|
|
15847
16015
|
this.isFocusWithin = signal(false, /* @ts-ignore */
|
|
15848
16016
|
...(ngDevMode ? [{ debugName: "isFocusWithin" }] : /* istanbul ignore next */ []));
|
|
15849
16017
|
/**
|
|
@@ -15885,6 +16053,8 @@ class CarouselAutoplayDirective {
|
|
|
15885
16053
|
if (!isOnScreen)
|
|
15886
16054
|
return 'off-screen';
|
|
15887
16055
|
}
|
|
16056
|
+
if (this.isTouched())
|
|
16057
|
+
return 'touch';
|
|
15888
16058
|
if (this.pauseOnHover() && this.isHovered() && !this.isPointerOnPauseControl())
|
|
15889
16059
|
return 'hover';
|
|
15890
16060
|
if (this.pauseOnFocus() && this.isFocusWithin() && !this.isFocusOnPauseControl())
|
|
@@ -15950,6 +16120,9 @@ class CarouselAutoplayDirective {
|
|
|
15950
16120
|
return;
|
|
15951
16121
|
this.isHovered.set(isHovered);
|
|
15952
16122
|
}
|
|
16123
|
+
setTouched(event) {
|
|
16124
|
+
this.isTouched.set(event.touches.length > 0);
|
|
16125
|
+
}
|
|
15953
16126
|
advance() {
|
|
15954
16127
|
const carousel = this.carousel;
|
|
15955
16128
|
if (!carousel)
|
|
@@ -15961,7 +16134,7 @@ class CarouselAutoplayDirective {
|
|
|
15961
16134
|
carousel.next();
|
|
15962
16135
|
}
|
|
15963
16136
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselAutoplayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15964
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: CarouselAutoplayDirective, isStandalone: true, selector: "[etCarouselAutoplay]", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, autoplayTime: { classPropertyName: "autoplayTime", publicName: "autoplayTime", isSignal: true, isRequired: false, transformFunction: null }, pauseOnHover: { classPropertyName: "pauseOnHover", publicName: "pauseOnHover", isSignal: true, isRequired: false, transformFunction: null }, pauseOnFocus: { classPropertyName: "pauseOnFocus", publicName: "pauseOnFocus", isSignal: true, isRequired: false, transformFunction: null }, pauseOnOffScreen: { classPropertyName: "pauseOnOffScreen", publicName: "pauseOnOffScreen", isSignal: true, isRequired: false, transformFunction: null }, playOnInit: { classPropertyName: "playOnInit", publicName: "playOnInit", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerenter": "setHovered($event, true)", "pointerleave": "setHovered($event, false)", "focusin": "isFocusWithin.set(true)", "focusout": "isFocusWithin.set(false)" }, properties: { "attr.data-autoplaying": "isPlaying() ? \"\" : null" } }, providers: [{ provide: CAROUSEL_AUTOPLAY_TOKEN, useExisting: CarouselAutoplayDirective }], exportAs: ["etCarouselAutoplay"], ngImport: i0 }); }
|
|
16137
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: CarouselAutoplayDirective, isStandalone: true, selector: "[etCarouselAutoplay]", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null }, autoplayTime: { classPropertyName: "autoplayTime", publicName: "autoplayTime", isSignal: true, isRequired: false, transformFunction: null }, pauseOnHover: { classPropertyName: "pauseOnHover", publicName: "pauseOnHover", isSignal: true, isRequired: false, transformFunction: null }, pauseOnFocus: { classPropertyName: "pauseOnFocus", publicName: "pauseOnFocus", isSignal: true, isRequired: false, transformFunction: null }, pauseOnOffScreen: { classPropertyName: "pauseOnOffScreen", publicName: "pauseOnOffScreen", isSignal: true, isRequired: false, transformFunction: null }, playOnInit: { classPropertyName: "playOnInit", publicName: "playOnInit", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerenter": "setHovered($event, true)", "pointerleave": "setHovered($event, false)", "touchstart": "isTouched.set(true)", "touchend": "setTouched($event)", "touchcancel": "setTouched($event)", "focusin": "isFocusWithin.set(true)", "focusout": "isFocusWithin.set(false)" }, properties: { "attr.data-autoplaying": "isPlaying() ? \"\" : null" } }, providers: [{ provide: CAROUSEL_AUTOPLAY_TOKEN, useExisting: CarouselAutoplayDirective }], exportAs: ["etCarouselAutoplay"], ngImport: i0 }); }
|
|
15965
16138
|
}
|
|
15966
16139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselAutoplayDirective, decorators: [{
|
|
15967
16140
|
type: Directive,
|
|
@@ -15973,6 +16146,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
15973
16146
|
'[attr.data-autoplaying]': 'isPlaying() ? "" : null',
|
|
15974
16147
|
'(pointerenter)': 'setHovered($event, true)',
|
|
15975
16148
|
'(pointerleave)': 'setHovered($event, false)',
|
|
16149
|
+
'(touchstart)': 'isTouched.set(true)',
|
|
16150
|
+
'(touchend)': 'setTouched($event)',
|
|
16151
|
+
'(touchcancel)': 'setTouched($event)',
|
|
15976
16152
|
'(focusin)': 'isFocusWithin.set(true)',
|
|
15977
16153
|
'(focusout)': 'isFocusWithin.set(false)',
|
|
15978
16154
|
},
|
|
@@ -17220,7 +17396,7 @@ class CarouselComponent {
|
|
|
17220
17396
|
}
|
|
17221
17397
|
}
|
|
17222
17398
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: CarouselComponent, isStandalone: true, selector: "et-carousel", inputs: { itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, autoplay: { classPropertyName: "autoplay", publicName: "autoplay", isSignal: true, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.et-carousel--can-animate": "canAnimate.state()" }, classAttribute: "et-carousel" }, providers: [provideIcons(CHEVRON_ICON, PLAY_ICON, PAUSE_ICON)], viewQueries: [{ propertyName: "track", first: true, predicate: ScrollableComponent, descendants: true, read: ScrollableDirective, isSignal: true }], hostDirectives: [{ directive: CarouselDirective, inputs: ["loop", "loop", "labels", "labels", "slideAlign", "slideAlign", "transition", "transition", "transitionDriver", "transitionDriver", "activeIndex", "activeIndex"], outputs: ["activeIndexChange", "activeIndexChange"] }, { directive: CarouselAutoplayDirective, inputs: ["autoplayTime", "autoplayTime", "pauseOnHover", "pauseOnHover", "pauseOnFocus", "pauseOnFocus", "pauseOnOffScreen", "pauseOnOffScreen", "playOnInit", "playOnInit"] }], ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize()\"\n [snapOrigin]=\"carousel.slideAlign()\"\n class=\"et-carousel-track\"\n renderMasks=\"false\"\n etScrollableDrag\n etScrollableSnap\n scrollMode=\"element\"\n>\n @for (view of slideViews(); track view.key) {\n <div [isClone]=\"view.isClone\" [autoplayTime]=\"view.autoplayTime\" etCarouselItem>\n <div class=\"et-carousel-slide-content\">\n <ng-container *ngTemplateOutlet=\"slideTemplate(); context: view.context\" />\n </div>\n </div>\n }\n</et-scrollable>\n\n@if (showControls() || showDots() || isAutoplayEnabled()) {\n <div class=\"et-carousel-controls\">\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselPrevious size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--previous\" etIcon=\"et-chevron\"></i>\n </button>\n }\n\n @if (showDots()) {\n <div class=\"et-carousel-dots\">\n @for (dot of dots(); track dot.index) {\n <button\n [attr.aria-label]=\"dot.label\"\n [attr.aria-current]=\"dot.isActive ? 'true' : null\"\n [attr.data-active]=\"dot.isActive ? '' : null\"\n [attr.data-counting]=\"dot.isActive && isAutoplayRunning() ? '' : null\"\n (click)=\"carousel.goTo(dot.index)\"\n class=\"et-carousel-dot\"\n etFocusRing\n type=\"button\"\n >\n @if (isAutoplayEnabled()) {\n <span\n [style.--_et-carousel-autoplay-duration.ms]=\"autoplayDuration()\"\n class=\"et-carousel-dot-progress\"\n aria-hidden=\"true\"\n >\n <span class=\"et-carousel-dot-progress-half\"></span>\n <span class=\"et-carousel-dot-progress-half\"></span>\n </span>\n }\n </button>\n }\n </div>\n }\n\n @if (isAutoplayEnabled()) {\n <button\n [attr.data-playing]=\"isAutoplayRunning() ? '' : null\"\n class=\"et-carousel-control et-carousel-play-toggle\"\n et-icon-button\n etCarouselPlayToggle\n size=\"sm\"\n variant=\"transparent\"\n >\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-play\" aria-hidden=\"true\"></i>\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-pause\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselNext size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--next\" etIcon=\"et-chevron\"></i>\n </button>\n }\n </div>\n}\n", styles: ["@layer components{@property --et-carousel-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-carousel-dot-size{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-carousel-dot-target-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-carousel-edge-fade{syntax: \"<length>\"; inherits: true; initial-value: 32px;}.et-carousel{display:flex;flex-direction:column;gap:var(--et-carousel-gap)}.et-carousel-track{display:block}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]){-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]):where([direction=vertical]){-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel-slide-content{display:block;block-size:100%}.et-carousel-controls{display:flex;align-items:center;justify-content:center;gap:4px}.et-carousel-control:where([aria-disabled=true]){opacity:.4;cursor:default}.et-carousel-control-icon{inline-size:14px;block-size:14px}.et-carousel-control-icon:where(.et-carousel-control-icon--previous){rotate:-90deg}.et-carousel-control-icon:where(.et-carousel-control-icon--next){rotate:90deg}.et-carousel-dots{display:flex;align-items:center;justify-content:center}.et-carousel-dot{display:grid;place-items:center;inline-size:var(--et-carousel-dot-target-size);block-size:var(--et-carousel-dot-target-size);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.et-carousel-dot:before{content:\"\";inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:50%;background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 35%,transparent)}.et-carousel-dot:hover:before{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 55%,transparent)}.et-carousel-dot:where([data-active]):before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel-dot:where([data-active]):hover:before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:before{transition:background-color .16s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot{transition:outline-color .16s var(--ease-3, ease-out)}}\n"], dependencies: [{ kind: "component", type: IconButtonComponent, selector: "[et-icon-button]", inputs: ["variant", "size"] }, { kind: "directive", type: CarouselItemDirective, selector: "[etCarouselItem]", inputs: ["autoplayTime", "isClone"], exportAs: ["etCarouselItem"] }, { kind: "directive", type: CarouselNextDirective, selector: "[etCarouselNext]", exportAs: ["etCarouselNext"] }, { kind: "directive", type: CarouselPlayToggleDirective, selector: "[etCarouselPlayToggle]", exportAs: ["etCarouselPlayToggle"] }, { kind: "directive", type: CarouselPreviousDirective, selector: "[etCarouselPrevious]", exportAs: ["etCarouselPrevious"] }, { kind: "directive", type: FocusRingDirective, selector: "[etFocusRing]", inputs: ["focusRingDisabled"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["renderMasks", "maskVariant", "showLoadingTemplate", "loadingTemplatePosition", "scrollableRole", "scrollableClass"], outputs: ["intersectionChange", "scrollStateChange"] }, { kind: "directive", type: ScrollableDragDirective, selector: "[etScrollableDrag]", inputs: ["etScrollableDrag"] }, { kind: "directive", type: ScrollableSnapDirective, selector: "[etScrollableSnap]", inputs: ["etScrollableSnap", "snapOrigin"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17399
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: CarouselComponent, isStandalone: true, selector: "et-carousel", inputs: { itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, autoplay: { classPropertyName: "autoplay", publicName: "autoplay", isSignal: true, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.et-carousel--can-animate": "canAnimate.state()" }, classAttribute: "et-carousel" }, providers: [provideIcons(CHEVRON_ICON, PLAY_ICON, PAUSE_ICON)], viewQueries: [{ propertyName: "track", first: true, predicate: ScrollableComponent, descendants: true, read: ScrollableDirective, isSignal: true }], hostDirectives: [{ directive: CarouselDirective, inputs: ["loop", "loop", "labels", "labels", "slideAlign", "slideAlign", "transition", "transition", "transitionDriver", "transitionDriver", "activeIndex", "activeIndex"], outputs: ["activeIndexChange", "activeIndexChange"] }, { directive: CarouselAutoplayDirective, inputs: ["autoplayTime", "autoplayTime", "pauseOnHover", "pauseOnHover", "pauseOnFocus", "pauseOnFocus", "pauseOnOffScreen", "pauseOnOffScreen", "playOnInit", "playOnInit"] }], ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize()\"\n [snapOrigin]=\"carousel.slideAlign()\"\n class=\"et-carousel-track\"\n renderMasks=\"false\"\n etScrollableDrag\n etScrollableSnap\n scrollMode=\"element\"\n>\n @for (view of slideViews(); track view.key) {\n <div [isClone]=\"view.isClone\" [autoplayTime]=\"view.autoplayTime\" etCarouselItem>\n <div class=\"et-carousel-slide-content\">\n <ng-container *ngTemplateOutlet=\"slideTemplate(); context: view.context\" />\n </div>\n </div>\n }\n</et-scrollable>\n\n@if (showControls() || showDots() || isAutoplayEnabled()) {\n <div class=\"et-carousel-controls\">\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselPrevious size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--previous\" etIcon=\"et-chevron\"></i>\n </button>\n }\n\n @if (showDots()) {\n <div class=\"et-carousel-dots\">\n @for (dot of dots(); track dot.index) {\n <button\n [attr.aria-label]=\"dot.label\"\n [attr.aria-current]=\"dot.isActive ? 'true' : null\"\n [attr.data-active]=\"dot.isActive ? '' : null\"\n [attr.data-counting]=\"dot.isActive && isAutoplayRunning() ? '' : null\"\n (click)=\"carousel.goTo(dot.index)\"\n class=\"et-carousel-dot\"\n etFocusRing\n type=\"button\"\n >\n @if (isAutoplayEnabled()) {\n <span\n [style.--_et-carousel-autoplay-duration.ms]=\"autoplayDuration()\"\n class=\"et-carousel-dot-progress\"\n aria-hidden=\"true\"\n >\n <span class=\"et-carousel-dot-progress-half\"></span>\n <span class=\"et-carousel-dot-progress-half\"></span>\n </span>\n }\n </button>\n }\n </div>\n }\n\n @if (isAutoplayEnabled()) {\n <button\n [attr.data-playing]=\"isAutoplayRunning() ? '' : null\"\n class=\"et-carousel-control et-carousel-play-toggle\"\n et-icon-button\n etCarouselPlayToggle\n size=\"sm\"\n variant=\"transparent\"\n >\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-play\" aria-hidden=\"true\"></i>\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-pause\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselNext size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--next\" etIcon=\"et-chevron\"></i>\n </button>\n }\n </div>\n}\n", styles: ["@layer components{@property --et-carousel-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-carousel-slide-gap{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-carousel-dot-size{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-carousel-dot-target-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-carousel-edge-fade{syntax: \"<length>\"; inherits: true; initial-value: 32px;}.et-carousel{display:flex;flex-direction:column;gap:var(--et-carousel-gap)}.et-carousel-track{display:block}.et-carousel-track .et-scrollable-container{gap:var(--et-carousel-slide-gap)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]){-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]):where([direction=vertical]){-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel-slide-content{display:block;block-size:100%}.et-carousel-controls{display:flex;align-items:center;justify-content:center;gap:4px}.et-carousel-control:where([aria-disabled=true]){opacity:.4;cursor:default}.et-carousel-control-icon{inline-size:14px;block-size:14px}.et-carousel-control-icon:where(.et-carousel-control-icon--previous){rotate:-90deg}.et-carousel-control-icon:where(.et-carousel-control-icon--next){rotate:90deg}.et-carousel-dots{display:flex;align-items:center;justify-content:center}.et-carousel-dot{display:grid;place-items:center;inline-size:var(--et-carousel-dot-target-size);block-size:var(--et-carousel-dot-target-size);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.et-carousel-dot:before{content:\"\";inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:50%;background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 35%,transparent)}.et-carousel-dot:hover:before{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 55%,transparent)}.et-carousel-dot:where([data-active]):before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel-dot:where([data-active]):hover:before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:before{transition:background-color .16s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot{transition:outline-color .16s var(--ease-3, ease-out)}}\n"], dependencies: [{ kind: "component", type: IconButtonComponent, selector: "[et-icon-button]", inputs: ["variant", "size"] }, { kind: "directive", type: CarouselItemDirective, selector: "[etCarouselItem]", inputs: ["autoplayTime", "isClone"], exportAs: ["etCarouselItem"] }, { kind: "directive", type: CarouselNextDirective, selector: "[etCarouselNext]", exportAs: ["etCarouselNext"] }, { kind: "directive", type: CarouselPlayToggleDirective, selector: "[etCarouselPlayToggle]", exportAs: ["etCarouselPlayToggle"] }, { kind: "directive", type: CarouselPreviousDirective, selector: "[etCarouselPrevious]", exportAs: ["etCarouselPrevious"] }, { kind: "directive", type: FocusRingDirective, selector: "[etFocusRing]", inputs: ["focusRingDisabled"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["renderMasks", "maskVariant", "showLoadingTemplate", "loadingTemplatePosition", "scrollableRole", "scrollableClass"], outputs: ["intersectionChange", "scrollStateChange"] }, { kind: "directive", type: ScrollableDragDirective, selector: "[etScrollableDrag]", inputs: ["etScrollableDrag"] }, { kind: "directive", type: ScrollableSnapDirective, selector: "[etScrollableSnap]", inputs: ["etScrollableSnap", "snapOrigin"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17224
17400
|
}
|
|
17225
17401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
17226
17402
|
type: Component,
|
|
@@ -17248,7 +17424,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
17248
17424
|
], host: {
|
|
17249
17425
|
class: 'et-carousel',
|
|
17250
17426
|
'[class.et-carousel--can-animate]': 'canAnimate.state()',
|
|
17251
|
-
}, template: "<et-scrollable\n [itemSize]=\"itemSize()\"\n [snapOrigin]=\"carousel.slideAlign()\"\n class=\"et-carousel-track\"\n renderMasks=\"false\"\n etScrollableDrag\n etScrollableSnap\n scrollMode=\"element\"\n>\n @for (view of slideViews(); track view.key) {\n <div [isClone]=\"view.isClone\" [autoplayTime]=\"view.autoplayTime\" etCarouselItem>\n <div class=\"et-carousel-slide-content\">\n <ng-container *ngTemplateOutlet=\"slideTemplate(); context: view.context\" />\n </div>\n </div>\n }\n</et-scrollable>\n\n@if (showControls() || showDots() || isAutoplayEnabled()) {\n <div class=\"et-carousel-controls\">\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselPrevious size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--previous\" etIcon=\"et-chevron\"></i>\n </button>\n }\n\n @if (showDots()) {\n <div class=\"et-carousel-dots\">\n @for (dot of dots(); track dot.index) {\n <button\n [attr.aria-label]=\"dot.label\"\n [attr.aria-current]=\"dot.isActive ? 'true' : null\"\n [attr.data-active]=\"dot.isActive ? '' : null\"\n [attr.data-counting]=\"dot.isActive && isAutoplayRunning() ? '' : null\"\n (click)=\"carousel.goTo(dot.index)\"\n class=\"et-carousel-dot\"\n etFocusRing\n type=\"button\"\n >\n @if (isAutoplayEnabled()) {\n <span\n [style.--_et-carousel-autoplay-duration.ms]=\"autoplayDuration()\"\n class=\"et-carousel-dot-progress\"\n aria-hidden=\"true\"\n >\n <span class=\"et-carousel-dot-progress-half\"></span>\n <span class=\"et-carousel-dot-progress-half\"></span>\n </span>\n }\n </button>\n }\n </div>\n }\n\n @if (isAutoplayEnabled()) {\n <button\n [attr.data-playing]=\"isAutoplayRunning() ? '' : null\"\n class=\"et-carousel-control et-carousel-play-toggle\"\n et-icon-button\n etCarouselPlayToggle\n size=\"sm\"\n variant=\"transparent\"\n >\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-play\" aria-hidden=\"true\"></i>\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-pause\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselNext size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--next\" etIcon=\"et-chevron\"></i>\n </button>\n }\n </div>\n}\n", styles: ["@layer components{@property --et-carousel-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-carousel-dot-size{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-carousel-dot-target-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-carousel-edge-fade{syntax: \"<length>\"; inherits: true; initial-value: 32px;}.et-carousel{display:flex;flex-direction:column;gap:var(--et-carousel-gap)}.et-carousel-track{display:block}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]){-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]):where([direction=vertical]){-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel-slide-content{display:block;block-size:100%}.et-carousel-controls{display:flex;align-items:center;justify-content:center;gap:4px}.et-carousel-control:where([aria-disabled=true]){opacity:.4;cursor:default}.et-carousel-control-icon{inline-size:14px;block-size:14px}.et-carousel-control-icon:where(.et-carousel-control-icon--previous){rotate:-90deg}.et-carousel-control-icon:where(.et-carousel-control-icon--next){rotate:90deg}.et-carousel-dots{display:flex;align-items:center;justify-content:center}.et-carousel-dot{display:grid;place-items:center;inline-size:var(--et-carousel-dot-target-size);block-size:var(--et-carousel-dot-target-size);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.et-carousel-dot:before{content:\"\";inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:50%;background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 35%,transparent)}.et-carousel-dot:hover:before{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 55%,transparent)}.et-carousel-dot:where([data-active]):before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel-dot:where([data-active]):hover:before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:before{transition:background-color .16s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot{transition:outline-color .16s var(--ease-3, ease-out)}}\n"] }]
|
|
17427
|
+
}, template: "<et-scrollable\n [itemSize]=\"itemSize()\"\n [snapOrigin]=\"carousel.slideAlign()\"\n class=\"et-carousel-track\"\n renderMasks=\"false\"\n etScrollableDrag\n etScrollableSnap\n scrollMode=\"element\"\n>\n @for (view of slideViews(); track view.key) {\n <div [isClone]=\"view.isClone\" [autoplayTime]=\"view.autoplayTime\" etCarouselItem>\n <div class=\"et-carousel-slide-content\">\n <ng-container *ngTemplateOutlet=\"slideTemplate(); context: view.context\" />\n </div>\n </div>\n }\n</et-scrollable>\n\n@if (showControls() || showDots() || isAutoplayEnabled()) {\n <div class=\"et-carousel-controls\">\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselPrevious size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--previous\" etIcon=\"et-chevron\"></i>\n </button>\n }\n\n @if (showDots()) {\n <div class=\"et-carousel-dots\">\n @for (dot of dots(); track dot.index) {\n <button\n [attr.aria-label]=\"dot.label\"\n [attr.aria-current]=\"dot.isActive ? 'true' : null\"\n [attr.data-active]=\"dot.isActive ? '' : null\"\n [attr.data-counting]=\"dot.isActive && isAutoplayRunning() ? '' : null\"\n (click)=\"carousel.goTo(dot.index)\"\n class=\"et-carousel-dot\"\n etFocusRing\n type=\"button\"\n >\n @if (isAutoplayEnabled()) {\n <span\n [style.--_et-carousel-autoplay-duration.ms]=\"autoplayDuration()\"\n class=\"et-carousel-dot-progress\"\n aria-hidden=\"true\"\n >\n <span class=\"et-carousel-dot-progress-half\"></span>\n <span class=\"et-carousel-dot-progress-half\"></span>\n </span>\n }\n </button>\n }\n </div>\n }\n\n @if (isAutoplayEnabled()) {\n <button\n [attr.data-playing]=\"isAutoplayRunning() ? '' : null\"\n class=\"et-carousel-control et-carousel-play-toggle\"\n et-icon-button\n etCarouselPlayToggle\n size=\"sm\"\n variant=\"transparent\"\n >\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-play\" aria-hidden=\"true\"></i>\n <i class=\"et-carousel-control-icon et-carousel-play-toggle-icon\" etIcon=\"et-pause\" aria-hidden=\"true\"></i>\n </button>\n }\n\n @if (showControls()) {\n <button class=\"et-carousel-control\" et-icon-button etCarouselNext size=\"sm\" variant=\"transparent\">\n <i class=\"et-carousel-control-icon et-carousel-control-icon--next\" etIcon=\"et-chevron\"></i>\n </button>\n }\n </div>\n}\n", styles: ["@layer components{@property --et-carousel-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-carousel-slide-gap{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-carousel-dot-size{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-carousel-dot-target-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-carousel-edge-fade{syntax: \"<length>\"; inherits: true; initial-value: 32px;}.et-carousel{display:flex;flex-direction:column;gap:var(--et-carousel-gap)}.et-carousel-track{display:block}.et-carousel-track .et-scrollable-container{gap:var(--et-carousel-slide-gap)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]){-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel:where([data-slide-align=center]) .et-carousel-track:not([item-size=full]):where([direction=vertical]){-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black var(--et-carousel-edge-fade),black calc(100% - var(--et-carousel-edge-fade)),transparent 100%)}.et-carousel-slide-content{display:block;block-size:100%}.et-carousel-controls{display:flex;align-items:center;justify-content:center;gap:4px}.et-carousel-control:where([aria-disabled=true]){opacity:.4;cursor:default}.et-carousel-control-icon{inline-size:14px;block-size:14px}.et-carousel-control-icon:where(.et-carousel-control-icon--previous){rotate:-90deg}.et-carousel-control-icon:where(.et-carousel-control-icon--next){rotate:90deg}.et-carousel-dots{display:flex;align-items:center;justify-content:center}.et-carousel-dot{display:grid;place-items:center;inline-size:var(--et-carousel-dot-target-size);block-size:var(--et-carousel-dot-target-size);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.et-carousel-dot:before{content:\"\";inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:50%;background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 35%,transparent)}.et-carousel-dot:hover:before{background:color-mix(in srgb,var(--et-surface-interaction-solid, gray) 55%,transparent)}.et-carousel-dot:where([data-active]):before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel-dot:where([data-active]):hover:before{background:var(--et-theme-color-primary-solid, currentColor)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot:before{transition:background-color .16s var(--ease-3, ease-out),scale .22s var(--ease-3, ease-out)}.et-carousel:where(.et-carousel--can-animate) .et-carousel-dot{transition:outline-color .16s var(--ease-3, ease-out)}}\n"] }]
|
|
17252
17428
|
}], ctorParameters: () => [], propDecorators: { itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], autoplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoplay", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], showDots: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDots", required: false }] }], track: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ScrollableComponent), { ...{ read: ScrollableDirective }, isSignal: true }] }] } });
|
|
17253
17429
|
|
|
17254
17430
|
/** The carousel, its slide template, and the headless directives to build your own out of a scrollable. */
|
|
@@ -21059,7 +21235,7 @@ class ChipComponent {
|
|
|
21059
21235
|
this.labelId = createChipLabelId();
|
|
21060
21236
|
}
|
|
21061
21237
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21062
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: ChipComponent, isStandalone: true, selector: "et-chip", host: { classAttribute: "et-chip" }, providers: [provideIcons(TIMES_ICON)], hostDirectives: [{ directive: ChipDirective, inputs: ["disabled", "disabled", "removable", "removable"], outputs: ["remove", "remove"] }], ngImport: i0, template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n", styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:
|
|
21238
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: ChipComponent, isStandalone: true, selector: "et-chip", host: { classAttribute: "et-chip" }, providers: [provideIcons(TIMES_ICON)], hostDirectives: [{ directive: ChipDirective, inputs: ["disabled", "disabled", "removable", "removable"], outputs: ["remove", "remove"] }], ngImport: i0, template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n", styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none}@media(hover:hover){.et-chip .et-chip-remove-button:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"], dependencies: [{ kind: "directive", type: ChipRemoveDirective, selector: "[etChipRemove]", inputs: ["removeLabel"], exportAs: ["etChipRemove"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
21063
21239
|
}
|
|
21064
21240
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ChipComponent, decorators: [{
|
|
21065
21241
|
type: Component,
|
|
@@ -21071,7 +21247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
21071
21247
|
},
|
|
21072
21248
|
], host: {
|
|
21073
21249
|
class: 'et-chip',
|
|
21074
|
-
}, template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n", styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:
|
|
21250
|
+
}, template: "<span [id]=\"labelId\" class=\"et-chip-label\">\n <ng-content />\n</span>\n\n@if (chip.removable()) {\n <button [attr.aria-describedby]=\"labelId\" class=\"et-chip-remove-button\" etChipRemove>\n <i etIcon=\"et-times\"></i>\n </button>\n}\n", styles: ["@layer components{@property --et-chip-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-chip-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 10px;}@property --et-chip-min-block-size{syntax: \"<length>\"; inherits: true; initial-value: 24px;}@property --et-chip-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 999px;}@property --et-chip-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-chip-remove-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-chip-opacity-disabled{syntax: \"<number>\"; inherits: true; initial-value: .4;}.et-chip{display:inline-flex;align-items:center;gap:var(--et-chip-gap);padding-inline:var(--et-chip-padding-inline);min-block-size:var(--et-chip-min-block-size);border-radius:var(--et-chip-border-radius);font-size:var(--et-chip-font-size);line-height:1.4;max-inline-size:100%;box-sizing:border-box;background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 14%,transparent);color:var(--et-surface-color-solid, currentColor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.et-chip:where([data-disabled]){opacity:var(--et-chip-opacity-disabled);pointer-events:none}.et-chip:where([role=checkbox],[role=radio]){cursor:pointer;transition:background .12s ease,color .12s ease}@media(hover:hover){.et-chip:where([role=checkbox],[role=radio]):hover:not([aria-checked=true]):not([data-readonly]){background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 22%,transparent)}}.et-chip:where([role=checkbox],[role=radio]):focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip:where([role=checkbox],[role=radio]):where([data-readonly]){cursor:default}.et-chip:where([aria-checked=true]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 16%,transparent);color:var(--et-theme-color-ink-solid, currentColor)}@media(hover:hover){.et-chip:where([aria-checked=true]):hover:not([data-readonly]){background:color-mix(in srgb,var(--et-theme-color-primary-solid, currentColor) 24%,transparent)}}.et-chip:where([data-removable]){padding-inline-end:calc(var(--et-chip-padding-inline) / 2)}.et-chip .et-chip-label{overflow:clip;overflow-clip-margin:.3em;text-overflow:ellipsis;text-box:trim-both cap alphabetic;white-space:nowrap;min-inline-size:0}.et-chip .et-chip-remove-button{display:flex;align-items:center;justify-content:center;flex:none;inline-size:var(--et-chip-remove-size);block-size:var(--et-chip-remove-size);border-radius:50%;border:none;padding:0;margin:0;background:transparent;color:var(--et-surface-color-muted-solid, currentColor);cursor:pointer;appearance:none}@media(hover:hover){.et-chip .et-chip-remove-button:hover{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 20%,transparent);color:var(--et-surface-color-solid, currentColor)}}.et-chip .et-chip-remove-button:active{background:color-mix(in srgb,var(--et-surface-interaction-solid, currentColor) 28%,transparent)}.et-chip .et-chip-remove-button:focus-visible{outline:2px solid var(--et-theme-color-primary-solid, currentColor);outline-offset:1px}.et-chip .et-chip-remove-button .et-icon{inline-size:calc(var(--et-chip-remove-size) - 6px);block-size:calc(var(--et-chip-remove-size) - 6px)}}\n"] }]
|
|
21075
21251
|
}] });
|
|
21076
21252
|
|
|
21077
21253
|
const CHIP_IMPORTS = [ChipComponent, ChipDirective, ChipRemoveDirective];
|
|
@@ -22988,7 +23164,24 @@ class FloatingActionDirective {
|
|
|
22988
23164
|
*/
|
|
22989
23165
|
scrollToTop(options) {
|
|
22990
23166
|
const target = this.top()?.elementRef.nativeElement ?? this.elementRef.nativeElement;
|
|
22991
|
-
|
|
23167
|
+
const { behavior = 'smooth', block = 'start' } = options ?? {};
|
|
23168
|
+
const container = findScrollContainer(target);
|
|
23169
|
+
const isDocument = container === target.ownerDocument.scrollingElement || container === target.ownerDocument.documentElement;
|
|
23170
|
+
const containerTop = isDocument ? 0 : container.getBoundingClientRect().top + container.clientTop;
|
|
23171
|
+
const viewport = container.clientHeight;
|
|
23172
|
+
const { top: targetTop, height } = target.getBoundingClientRect();
|
|
23173
|
+
const start = targetTop - containerTop + container.scrollTop;
|
|
23174
|
+
const offsets = {
|
|
23175
|
+
start,
|
|
23176
|
+
center: start - (viewport - height) / 2,
|
|
23177
|
+
end: start - (viewport - height),
|
|
23178
|
+
nearest: targetTop < containerTop
|
|
23179
|
+
? start
|
|
23180
|
+
: targetTop + height > containerTop + viewport
|
|
23181
|
+
? start - (viewport - height)
|
|
23182
|
+
: container.scrollTop,
|
|
23183
|
+
};
|
|
23184
|
+
container.scrollTo({ top: Math.max(0, offsets[block]), behavior });
|
|
22992
23185
|
}
|
|
22993
23186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: FloatingActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22994
23187
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: FloatingActionDirective, isStandalone: true, selector: "[etFloatingAction]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-state": "state()" }, classAttribute: "et-floating-action" }, providers: [{ provide: FLOATING_ACTION_TOKEN, useExisting: FloatingActionDirective }], exportAs: ["etFloatingAction"], ngImport: i0 }); }
|
|
@@ -23005,6 +23198,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
23005
23198
|
},
|
|
23006
23199
|
}]
|
|
23007
23200
|
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
23201
|
+
const findScrollContainer = (target) => {
|
|
23202
|
+
for (let el = target.parentElement; el; el = el.parentElement) {
|
|
23203
|
+
const { overflowY } = getComputedStyle(el);
|
|
23204
|
+
if ((overflowY === 'auto' || overflowY === 'scroll' || overflowY === 'overlay') &&
|
|
23205
|
+
el.scrollHeight > el.clientHeight) {
|
|
23206
|
+
return el;
|
|
23207
|
+
}
|
|
23208
|
+
}
|
|
23209
|
+
return target.ownerDocument.scrollingElement ?? target.ownerDocument.documentElement;
|
|
23210
|
+
};
|
|
23008
23211
|
|
|
23009
23212
|
const FLOATING_ACTION_IMPORTS = [
|
|
23010
23213
|
FloatingActionDirective,
|
|
@@ -27984,7 +28187,7 @@ class FormFieldComponent {
|
|
|
27984
28187
|
this.formFieldDir.activate();
|
|
27985
28188
|
}
|
|
27986
28189
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27987
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: FormFieldComponent, isStandalone: true, selector: "et-form-field", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null }, labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, busy: { classPropertyName: "busy", publicName: "busy", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "formFieldDir.isHidden() ? \"none\" : null", "attr.data-can-animate": "canAnimate.state() || null", "attr.data-control-type": "formFieldDir.controlType()", "attr.data-error": "support.displaysError() || null", "attr.data-warning": "support.displaysWarning() || null", "attr.aria-busy": "isBusy() ? \"true\" : null", "attr.data-busy": "isBusy() || null", "attr.data-expanded": "formFieldDir.usesTextFieldShell() && formFieldDir.expanded() ? \"\" : null", "attr.data-focused": "formFieldDir.usesTextFieldShell() && formFieldDir.focused() ? \"\" : null", "attr.data-readonly": "formFieldDir.usesTextFieldShell() && formFieldDir.isReadonly() ? \"\" : null", "attr.data-disabled": "formFieldDir.usesTextFieldShell() && formFieldDir.isDisabled() ? \"\" : null", "attr.data-appearance": "formFieldDir.usesTextFieldShell() ? appearance() : null", "attr.data-fill": "formFieldDir.usesTextFieldShell() ? fill() : null", "attr.data-label-floated": "hasFloatingTextLabel() && formFieldDir.shouldFloatLabel() ? \"\" : null", "attr.data-has-label": "formFieldDir.registeredLabel() ? \"\" : null", "attr.data-label-mode": "formFieldDir.usesTextFieldShell() ? labelMode() : null", "attr.data-size": "formFieldDir.usesTextFieldShell() ? size() : null", "attr.data-text-shell": "formFieldDir.usesTextFieldShell() || null", "style.--_et-form-field-prefix-offset": "prefixOffset()" }, classAttribute: "et-form-field" }, providers: [provideFormSupport()], queries: [{ propertyName: "description", first: true, predicate: DescriptionComponent, isSignal: true }], viewQueries: [{ propertyName: "errorContent", first: true, predicate: ["errorContent"], descendants: true, isSignal: true }, { propertyName: "warningContent", first: true, predicate: ["warningContent"], descendants: true, isSignal: true }, { propertyName: "hintContent", first: true, predicate: ["hintContent"], descendants: true, isSignal: true }, { propertyName: "counterContent", first: true, predicate: ["counterContent"], descendants: true, isSignal: true }, { propertyName: "controlFrame", first: true, predicate: ["controlFrame"], descendants: true, isSignal: true }, { propertyName: "prefixEl", first: true, predicate: ["prefixEl"], descendants: true, isSignal: true }, { propertyName: "errorAnimatable", first: true, predicate: ["errorAnimatable"], descendants: true, isSignal: true }, { propertyName: "warningAnimatable", first: true, predicate: ["warningAnimatable"], descendants: true, isSignal: true }, { propertyName: "hintAnimatable", first: true, predicate: ["hintAnimatable"], descendants: true, isSignal: true }], hostDirectives: [{ directive: FormFieldDirective }, { directive: i1.ProvideColorDirective, inputs: ["etProvideColor", "color"] }, { directive: i1.ProvideSurfaceDirective, inputs: ["etProvideSurface", "surface"] }, { directive: i1.ColorInteractiveHasFocusDirective }], ngImport: i0, template: "<div class=\"et-form-field-shell\">\n <div #controlFrame (mousedown)=\"handleFramePointerDown($event)\" class=\"et-form-field-control-frame\">\n <div #prefixEl class=\"et-form-field-affix et-form-field-prefix\">\n <ng-content select=\"[etInputPrefix]\" />\n </div>\n\n <div class=\"et-form-field-control-area\">\n <div\n [class.et-form-field-label-area--floating]=\"hasFloatingTextLabel()\"\n [class.et-form-field-label-area--inline]=\"hasInlineLabel()\"\n class=\"et-form-field-label-area\"\n >\n <ng-content select=\"et-label\" />\n </div>\n\n <div class=\"et-form-field-control-slot\">\n <ng-content />\n </div>\n </div>\n\n <div class=\"et-form-field-affix et-form-field-suffix\">\n <!-- Before the consumer's suffix: nothing may come between a control's own affordances and\n the field they belong to. -->\n @if (formFieldDir.registeredControlSuffix(); as controlSuffix) {\n <ng-template [ngTemplateOutlet]=\"controlSuffix.templateRef\" />\n }\n\n <ng-content select=\"[etInputSuffix]\" />\n\n <!-- After the consumer's own suffix, never instead of it. -->\n @if (showBusySpinner()) {\n <et-spinner class=\"et-form-field-busy-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n </div>\n </div>\n</div>\n\n<ng-content select=\"et-description\" />\n\n@if (support.shouldRenderSupport()) {\n <div\n [style.block-size.px]=\"support.supportHeight()\"\n [attr.data-can-animate]=\"support.supportCanAnimate() || null\"\n class=\"et-form-field-support\"\n etColorInteractiveExclude\n >\n <div class=\"et-form-field-support-row\">\n <div class=\"et-form-field-support-stack\">\n @if (support.shouldRenderError()) {\n <div\n #errorContent\n #errorAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.errorId()\"\n [attr.aria-atomic]=\"support.errorActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.errorActive() ? 'true' : null\"\n [attr.aria-live]=\"support.errorActive() ? 'polite' : null\"\n [attr.data-active]=\"support.errorActive() || null\"\n [attr.data-direction]=\"support.errorDirection()\"\n [attr.data-state]=\"support.errorState()\"\n [etProvideColor]=\"support.errorColorTheme()\"\n class=\"et-form-field-support-content et-form-field-errors\"\n etAnimatable\n >\n @for (error of support.visibleErrors(); track $index) {\n <et-form-error [error]=\"error\" />\n }\n </div>\n }\n\n @if (support.shouldRenderWarning()) {\n <div\n #warningContent\n #warningAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.warningId()\"\n [attr.aria-atomic]=\"support.warningActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.warningActive() ? 'true' : null\"\n [attr.aria-live]=\"support.warningActive() ? 'polite' : null\"\n [attr.data-active]=\"support.warningActive() || null\"\n [attr.data-direction]=\"support.warningDirection()\"\n [attr.data-state]=\"support.warningState()\"\n [etProvideColor]=\"support.warningColorTheme()\"\n class=\"et-form-field-support-content et-form-field-warnings\"\n etAnimatable\n >\n @for (warning of support.visibleWarnings(); track $index) {\n <et-form-warning [warning]=\"warning\" />\n }\n </div>\n }\n\n @if (support.shouldRenderHint()) {\n <div\n #hintContent\n #hintAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.hintId()\"\n [attr.aria-hidden]=\"!support.hintActive() ? 'true' : null\"\n [attr.data-active]=\"support.hintActive() || null\"\n [attr.data-direction]=\"support.hintDirection()\"\n [attr.data-state]=\"support.hintState()\"\n class=\"et-form-field-support-content et-form-field-hint\"\n etAnimatable\n >\n <ng-content select=\"et-hint\" />\n </div>\n }\n </div>\n\n <!-- Carries the error theme so the counter's own over-limit styling can reach the semantic\n error color even before the field shows an error. -->\n <div\n #counterContent\n [etProvideColor]=\"support.errorColorTheme()\"\n [hidden]=\"!formFieldDir.registeredCounter()\"\n class=\"et-form-field-support-counter\"\n >\n <ng-content select=\"et-counter\" />\n </div>\n </div>\n </div>\n}\n", styles: ["@layer components{@property --et-form-field-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-form-field-control-border-width{syntax: \"<length>\"; inherits: true; initial-value: 1px;}@property --et-form-field-control-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-control-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-control-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-control-line-height{syntax: \"<number>\"; inherits: true; initial-value: 1.5;}@property --et-form-field-control-affix-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-affix-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-form-field-control-disabled-opacity{syntax: \"<number>\"; inherits: true; initial-value: .5;}@property --et-form-field-control-min-height{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-form-field-label-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-error-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-warning-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-hint-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-support-duration{syntax: \"<time>\"; inherits: true; initial-value: .18s;}et-form-field{--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--_et-form-field-control-background: transparent;--_et-form-field-control-focus-ring: color-mix(in srgb, var(--et-theme-color-primary-solid) 18%, transparent);--_et-form-field-floating-label-scale: .75;display:flex;flex-direction:column;gap:var(--et-form-field-gap);color:var(--et-surface-color-solid, currentColor)}et-form-field .et-form-field-shell{display:flex;flex-direction:column;gap:var(--et-form-field-gap);min-inline-size:0;overflow:visible}et-form-field .et-form-field-label-area{display:flex;align-items:center;font-size:var(--et-form-field-label-font-size);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--et-surface-color-muted-solid, currentColor);cursor:text;-webkit-user-select:none;user-select:none;min-inline-size:0;transition:color .15s ease,opacity .15s ease}et-form-field .et-form-field-label-area et-label{display:inline;min-inline-size:0}et-form-field .et-form-field-label-area--floating{position:absolute;inset-block-start:50%;inset-inline-start:0;z-index:1;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);transform-origin:left top;pointer-events:none}et-form-field[data-can-animate] .et-form-field-label-area--floating{transition:color .15s ease,opacity .15s ease,inset-block-start .15s ease,inset-inline-start .15s ease,transform .15s ease}et-form-field .et-form-field-control-frame{position:relative;display:flex;align-items:center;box-sizing:border-box;gap:var(--et-form-field-control-affix-gap);min-inline-size:0;min-block-size:var(--et-form-field-control-min-height);padding-block:var(--et-form-field-control-padding-block);padding-inline:var(--et-form-field-control-padding-inline);border:var(--et-form-field-control-border-width) solid var(--et-surface-border-solid, currentColor);border-radius:var(--et-form-field-control-border-radius, var(--_et-form-field-control-border-radius, 4px));background:var(--_et-form-field-control-background);font-size:var(--et-form-field-control-font-size);line-height:var(--et-form-field-control-line-height);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:text}et-form-field .et-form-field-affix{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--et-form-field-control-affix-gap);color:var(--et-surface-color-muted-solid, currentColor);pointer-events:none;transition:color .15s ease}et-form-field .et-form-field-affix:empty{display:none}et-form-field .et-form-field-affix>*{pointer-events:none}et-form-field .et-form-field-affix>:is([etInputPrefix],[etInputSuffix],.et-form-field-busy-spinner){opacity:.78;transition:opacity .15s ease}et-form-field .et-form-field-affix>.et-icon{flex:none;inline-size:var(--et-form-field-affix-icon-size);block-size:var(--et-form-field-affix-icon-size)}et-form-field .et-form-field-affix>:is(button,a[href],input,select,textarea,summary,label,[role=button],[tabindex]:not([tabindex=\"-1\"])){pointer-events:auto}et-form-field .et-form-field-affix button{font:inherit;color:inherit;border:none;background:transparent;padding:0;cursor:pointer}et-form-field .et-form-field-control-area{position:relative;display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-control-area>*{min-inline-size:0}et-form-field .et-form-field-control-slot{display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-support{overflow:clip}et-form-field .et-form-field-support-row{display:flex;align-items:flex-start;gap:var(--et-form-field-support-gap, .8rem)}et-form-field .et-form-field-support-stack{position:relative;display:grid;flex:1 1 auto;min-inline-size:0}et-form-field .et-form-field-support-content{grid-area:1 / 1;min-inline-size:0;opacity:0}et-form-field .et-form-field-support-content[data-active]{opacity:1}et-form-field .et-form-field-support-content[data-state=leaving]{position:absolute;inset:0;pointer-events:none}et-form-field .et-form-field-errors{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-error-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-warnings{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-warning-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-support[data-can-animate]{transition:block-size var(--et-form-field-support-duration) ease}et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content{transition:opacity var(--et-form-field-support-duration) ease}@starting-style{et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content[data-active]{opacity:0}}@media(prefers-reduced-motion:reduce){et-form-field{--et-form-field-support-duration: 1ms}}}\n"], dependencies: [{ kind: "directive", type: AnimatableDirective, selector: "[etAnimatable]", exportAs: ["etAnimatable"] }, { kind: "directive", type: ColorInteractiveExcludeDirective, selector: "[etColorInteractiveExclude]" }, { kind: "component", type: FormErrorComponent, selector: "et-form-error", inputs: ["error"] }, { kind: "component", type: FormWarningComponent, selector: "et-form-warning", inputs: ["warning"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ProvideColorDirective, selector: "[etProvideColor]", inputs: ["etProvideColor"] }, { kind: "component", type: SpinnerComponent, selector: "et-spinner", inputs: ["diameter", "strokeWidth", "track", "value"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
28190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: FormFieldComponent, isStandalone: true, selector: "et-form-field", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null }, labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, busy: { classPropertyName: "busy", publicName: "busy", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "formFieldDir.isHidden() ? \"none\" : null", "attr.data-can-animate": "canAnimate.state() || null", "attr.data-control-type": "formFieldDir.controlType()", "attr.data-error": "support.displaysError() || null", "attr.data-warning": "support.displaysWarning() || null", "attr.aria-busy": "isBusy() ? \"true\" : null", "attr.data-busy": "isBusy() || null", "attr.data-expanded": "formFieldDir.usesTextFieldShell() && formFieldDir.expanded() ? \"\" : null", "attr.data-focused": "formFieldDir.usesTextFieldShell() && formFieldDir.focused() ? \"\" : null", "attr.data-readonly": "formFieldDir.usesTextFieldShell() && formFieldDir.isReadonly() ? \"\" : null", "attr.data-disabled": "formFieldDir.usesTextFieldShell() && formFieldDir.isDisabled() ? \"\" : null", "attr.data-appearance": "formFieldDir.usesTextFieldShell() ? appearance() : null", "attr.data-fill": "formFieldDir.usesTextFieldShell() ? fill() : null", "attr.data-label-floated": "hasFloatingTextLabel() && formFieldDir.shouldFloatLabel() ? \"\" : null", "attr.data-has-label": "formFieldDir.registeredLabel() ? \"\" : null", "attr.data-label-mode": "formFieldDir.usesTextFieldShell() ? labelMode() : null", "attr.data-size": "formFieldDir.usesTextFieldShell() ? size() : null", "attr.data-text-shell": "formFieldDir.usesTextFieldShell() || null", "style.--_et-form-field-prefix-offset": "prefixOffset()" }, classAttribute: "et-form-field" }, providers: [provideFormSupport()], queries: [{ propertyName: "description", first: true, predicate: DescriptionComponent, isSignal: true }], viewQueries: [{ propertyName: "errorContent", first: true, predicate: ["errorContent"], descendants: true, isSignal: true }, { propertyName: "warningContent", first: true, predicate: ["warningContent"], descendants: true, isSignal: true }, { propertyName: "hintContent", first: true, predicate: ["hintContent"], descendants: true, isSignal: true }, { propertyName: "counterContent", first: true, predicate: ["counterContent"], descendants: true, isSignal: true }, { propertyName: "controlFrame", first: true, predicate: ["controlFrame"], descendants: true, isSignal: true }, { propertyName: "prefixEl", first: true, predicate: ["prefixEl"], descendants: true, isSignal: true }, { propertyName: "errorAnimatable", first: true, predicate: ["errorAnimatable"], descendants: true, isSignal: true }, { propertyName: "warningAnimatable", first: true, predicate: ["warningAnimatable"], descendants: true, isSignal: true }, { propertyName: "hintAnimatable", first: true, predicate: ["hintAnimatable"], descendants: true, isSignal: true }], hostDirectives: [{ directive: FormFieldDirective }, { directive: i1.ProvideColorDirective, inputs: ["etProvideColor", "color"] }, { directive: i1.ProvideSurfaceDirective, inputs: ["etProvideSurface", "surface"] }, { directive: i1.ColorInteractiveHasFocusDirective }], ngImport: i0, template: "<div class=\"et-form-field-shell\">\n <div #controlFrame (mousedown)=\"handleFramePointerDown($event)\" class=\"et-form-field-control-frame\">\n <div #prefixEl class=\"et-form-field-affix et-form-field-prefix\">\n <ng-content select=\"[etInputPrefix]\" />\n </div>\n\n <div class=\"et-form-field-control-area\">\n <div\n [class.et-form-field-label-area--floating]=\"hasFloatingTextLabel()\"\n [class.et-form-field-label-area--inline]=\"hasInlineLabel()\"\n class=\"et-form-field-label-area\"\n >\n <ng-content select=\"et-label\" />\n </div>\n\n <div class=\"et-form-field-control-slot\">\n <ng-content />\n </div>\n </div>\n\n <div class=\"et-form-field-affix et-form-field-suffix\">\n <!-- Before the consumer's suffix: nothing may come between a control's own affordances and\n the field they belong to. -->\n @if (formFieldDir.registeredControlSuffix(); as controlSuffix) {\n <ng-template [ngTemplateOutlet]=\"controlSuffix.templateRef\" />\n }\n\n <ng-content select=\"[etInputSuffix]\" />\n\n <!-- After the consumer's own suffix, never instead of it. -->\n @if (showBusySpinner()) {\n <et-spinner class=\"et-form-field-busy-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n </div>\n </div>\n</div>\n\n<ng-content select=\"et-description\" />\n\n@if (support.shouldRenderSupport()) {\n <div\n [style.block-size.px]=\"support.supportHeight()\"\n [attr.data-can-animate]=\"support.supportCanAnimate() || null\"\n class=\"et-form-field-support\"\n etColorInteractiveExclude\n >\n <div class=\"et-form-field-support-row\">\n <div class=\"et-form-field-support-stack\">\n @if (support.shouldRenderError()) {\n <div\n #errorContent\n #errorAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.errorId()\"\n [attr.aria-atomic]=\"support.errorActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.errorActive() ? 'true' : null\"\n [attr.aria-live]=\"support.errorActive() ? 'polite' : null\"\n [attr.data-active]=\"support.errorActive() || null\"\n [attr.data-direction]=\"support.errorDirection()\"\n [attr.data-state]=\"support.errorState()\"\n [etProvideColor]=\"support.errorColorTheme()\"\n class=\"et-form-field-support-content et-form-field-errors\"\n etAnimatable\n >\n @for (error of support.visibleErrors(); track $index) {\n <et-form-error [error]=\"error\" />\n }\n </div>\n }\n\n @if (support.shouldRenderWarning()) {\n <div\n #warningContent\n #warningAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.warningId()\"\n [attr.aria-atomic]=\"support.warningActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.warningActive() ? 'true' : null\"\n [attr.aria-live]=\"support.warningActive() ? 'polite' : null\"\n [attr.data-active]=\"support.warningActive() || null\"\n [attr.data-direction]=\"support.warningDirection()\"\n [attr.data-state]=\"support.warningState()\"\n [etProvideColor]=\"support.warningColorTheme()\"\n class=\"et-form-field-support-content et-form-field-warnings\"\n etAnimatable\n >\n @for (warning of support.visibleWarnings(); track $index) {\n <et-form-warning [warning]=\"warning\" />\n }\n </div>\n }\n\n @if (support.shouldRenderHint()) {\n <div\n #hintContent\n #hintAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.hintId()\"\n [attr.aria-hidden]=\"!support.hintActive() ? 'true' : null\"\n [attr.data-active]=\"support.hintActive() || null\"\n [attr.data-direction]=\"support.hintDirection()\"\n [attr.data-state]=\"support.hintState()\"\n class=\"et-form-field-support-content et-form-field-hint\"\n etAnimatable\n >\n <ng-content select=\"et-hint\" />\n </div>\n }\n </div>\n\n <!-- Carries the error theme so the counter's own over-limit styling can reach the semantic\n error color even before the field shows an error. -->\n <div\n #counterContent\n [etProvideColor]=\"support.errorColorTheme()\"\n [hidden]=\"!formFieldDir.registeredCounter()\"\n class=\"et-form-field-support-counter\"\n >\n <ng-content select=\"et-counter\" />\n </div>\n </div>\n </div>\n}\n", styles: ["@layer components{@property --et-form-field-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-form-field-control-border-width{syntax: \"<length>\"; inherits: true; initial-value: 1px;}@property --et-form-field-control-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-control-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-control-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-control-line-height{syntax: \"<number>\"; inherits: true; initial-value: 1.5;}@property --et-form-field-control-affix-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-affix-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-form-field-control-disabled-opacity{syntax: \"<number>\"; inherits: true; initial-value: .5;}@property --et-form-field-control-min-height{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-form-field-label-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-error-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-warning-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-hint-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-support-duration{syntax: \"<time>\"; inherits: true; initial-value: .18s;}et-form-field{--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--_et-form-field-control-background: transparent;--_et-form-field-control-focus-ring: color-mix(in srgb, var(--et-theme-color-primary-solid) 18%, transparent);--_et-form-field-floating-label-scale: .75;display:flex;flex-direction:column;gap:var(--et-form-field-gap);color:var(--et-surface-color-solid, currentColor)}et-form-field .et-form-field-shell{display:flex;flex-direction:column;gap:var(--et-form-field-gap);min-inline-size:0;overflow:visible}et-form-field .et-form-field-label-area{display:flex;align-items:center;font-size:var(--et-form-field-label-font-size);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--et-surface-color-muted-solid, currentColor);cursor:text;-webkit-user-select:none;user-select:none;min-inline-size:0;transition:color .15s ease,opacity .15s ease}et-form-field .et-form-field-label-area et-label{display:inline;min-inline-size:0}et-form-field .et-form-field-label-area--floating{position:absolute;inset-block-start:50%;inset-inline-start:0;z-index:1;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);transform-origin:left top;pointer-events:none}et-form-field[data-can-animate] .et-form-field-label-area--floating{transition:color .15s ease,opacity .15s ease,inset-block-start .15s ease,inset-inline-start .15s ease,transform .15s ease}et-form-field .et-form-field-control-frame{position:relative;display:flex;align-items:center;box-sizing:border-box;gap:var(--et-form-field-control-affix-gap);min-inline-size:0;min-block-size:var(--et-form-field-control-min-height);padding-block:var(--et-form-field-control-padding-block);padding-inline:var(--et-form-field-control-padding-inline);border:var(--et-form-field-control-border-width) solid var(--et-surface-border-solid, currentColor);border-radius:var(--et-form-field-control-border-radius, var(--_et-form-field-control-border-radius, 4px));background:var(--_et-form-field-control-background);font-size:var(--et-form-field-control-font-size);line-height:var(--et-form-field-control-line-height);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:text}et-form-field .et-form-field-affix{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--et-form-field-control-affix-gap);color:var(--et-surface-color-muted-solid, currentColor);pointer-events:none;transition:color .15s ease}et-form-field .et-form-field-affix:empty{display:none}et-form-field .et-form-field-affix>*{pointer-events:none}et-form-field .et-form-field-affix>:is([etInputPrefix],[etInputSuffix],.et-form-field-busy-spinner){opacity:.78;transition:opacity .15s ease}et-form-field .et-form-field-affix>.et-icon{flex:none;inline-size:var(--et-form-field-affix-icon-size);block-size:var(--et-form-field-affix-icon-size)}et-form-field .et-form-field-affix>:is(button,a[href],input,select,textarea,summary,label,[role=button],[tabindex]:not([tabindex=\"-1\"])){pointer-events:auto}et-form-field .et-form-field-affix button{font:inherit;color:inherit;border:none;background:transparent;padding:0;cursor:pointer}et-form-field .et-form-field-control-area{position:relative;display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-control-area>*{min-inline-size:0}et-form-field .et-form-field-control-slot{display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-support{overflow:clip}et-form-field .et-form-field-support-row{display:flex;align-items:flex-start;gap:var(--et-form-field-support-gap, .8rem)}et-form-field .et-form-field-support-stack{position:relative;display:grid;flex:1 1 auto;min-inline-size:0}et-form-field .et-form-field-support-content{grid-area:1 / 1;min-inline-size:0;opacity:0}et-form-field .et-form-field-support-content[data-active]{opacity:1}et-form-field .et-form-field-support-content[data-state=leaving]{position:absolute;inset:0;pointer-events:none}et-form-field .et-form-field-errors{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-error-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-warnings{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-warning-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-support[data-can-animate]{transition:block-size var(--et-form-field-support-duration) ease}et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content{transition:opacity var(--et-form-field-support-duration) ease}@starting-style{et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content[data-active]{opacity:0}}@media(prefers-reduced-motion:reduce){et-form-field{--et-form-field-support-duration: 1ms}}@media(pointer:coarse){et-form-field :is(input:not([type=checkbox],[type=radio],[type=range]),textarea){font-size:max(1em,16px)}}}\n"], dependencies: [{ kind: "directive", type: AnimatableDirective, selector: "[etAnimatable]", exportAs: ["etAnimatable"] }, { kind: "directive", type: ColorInteractiveExcludeDirective, selector: "[etColorInteractiveExclude]" }, { kind: "component", type: FormErrorComponent, selector: "et-form-error", inputs: ["error"] }, { kind: "component", type: FormWarningComponent, selector: "et-form-warning", inputs: ["warning"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ProvideColorDirective, selector: "[etProvideColor]", inputs: ["etProvideColor"] }, { kind: "component", type: SpinnerComponent, selector: "et-spinner", inputs: ["diameter", "strokeWidth", "track", "value"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
27988
28191
|
}
|
|
27989
28192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
27990
28193
|
type: Component,
|
|
@@ -28024,7 +28227,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
28024
28227
|
'[attr.data-size]': 'formFieldDir.usesTextFieldShell() ? size() : null',
|
|
28025
28228
|
'[attr.data-text-shell]': 'formFieldDir.usesTextFieldShell() || null',
|
|
28026
28229
|
'[style.--_et-form-field-prefix-offset]': 'prefixOffset()',
|
|
28027
|
-
}, template: "<div class=\"et-form-field-shell\">\n <div #controlFrame (mousedown)=\"handleFramePointerDown($event)\" class=\"et-form-field-control-frame\">\n <div #prefixEl class=\"et-form-field-affix et-form-field-prefix\">\n <ng-content select=\"[etInputPrefix]\" />\n </div>\n\n <div class=\"et-form-field-control-area\">\n <div\n [class.et-form-field-label-area--floating]=\"hasFloatingTextLabel()\"\n [class.et-form-field-label-area--inline]=\"hasInlineLabel()\"\n class=\"et-form-field-label-area\"\n >\n <ng-content select=\"et-label\" />\n </div>\n\n <div class=\"et-form-field-control-slot\">\n <ng-content />\n </div>\n </div>\n\n <div class=\"et-form-field-affix et-form-field-suffix\">\n <!-- Before the consumer's suffix: nothing may come between a control's own affordances and\n the field they belong to. -->\n @if (formFieldDir.registeredControlSuffix(); as controlSuffix) {\n <ng-template [ngTemplateOutlet]=\"controlSuffix.templateRef\" />\n }\n\n <ng-content select=\"[etInputSuffix]\" />\n\n <!-- After the consumer's own suffix, never instead of it. -->\n @if (showBusySpinner()) {\n <et-spinner class=\"et-form-field-busy-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n </div>\n </div>\n</div>\n\n<ng-content select=\"et-description\" />\n\n@if (support.shouldRenderSupport()) {\n <div\n [style.block-size.px]=\"support.supportHeight()\"\n [attr.data-can-animate]=\"support.supportCanAnimate() || null\"\n class=\"et-form-field-support\"\n etColorInteractiveExclude\n >\n <div class=\"et-form-field-support-row\">\n <div class=\"et-form-field-support-stack\">\n @if (support.shouldRenderError()) {\n <div\n #errorContent\n #errorAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.errorId()\"\n [attr.aria-atomic]=\"support.errorActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.errorActive() ? 'true' : null\"\n [attr.aria-live]=\"support.errorActive() ? 'polite' : null\"\n [attr.data-active]=\"support.errorActive() || null\"\n [attr.data-direction]=\"support.errorDirection()\"\n [attr.data-state]=\"support.errorState()\"\n [etProvideColor]=\"support.errorColorTheme()\"\n class=\"et-form-field-support-content et-form-field-errors\"\n etAnimatable\n >\n @for (error of support.visibleErrors(); track $index) {\n <et-form-error [error]=\"error\" />\n }\n </div>\n }\n\n @if (support.shouldRenderWarning()) {\n <div\n #warningContent\n #warningAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.warningId()\"\n [attr.aria-atomic]=\"support.warningActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.warningActive() ? 'true' : null\"\n [attr.aria-live]=\"support.warningActive() ? 'polite' : null\"\n [attr.data-active]=\"support.warningActive() || null\"\n [attr.data-direction]=\"support.warningDirection()\"\n [attr.data-state]=\"support.warningState()\"\n [etProvideColor]=\"support.warningColorTheme()\"\n class=\"et-form-field-support-content et-form-field-warnings\"\n etAnimatable\n >\n @for (warning of support.visibleWarnings(); track $index) {\n <et-form-warning [warning]=\"warning\" />\n }\n </div>\n }\n\n @if (support.shouldRenderHint()) {\n <div\n #hintContent\n #hintAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.hintId()\"\n [attr.aria-hidden]=\"!support.hintActive() ? 'true' : null\"\n [attr.data-active]=\"support.hintActive() || null\"\n [attr.data-direction]=\"support.hintDirection()\"\n [attr.data-state]=\"support.hintState()\"\n class=\"et-form-field-support-content et-form-field-hint\"\n etAnimatable\n >\n <ng-content select=\"et-hint\" />\n </div>\n }\n </div>\n\n <!-- Carries the error theme so the counter's own over-limit styling can reach the semantic\n error color even before the field shows an error. -->\n <div\n #counterContent\n [etProvideColor]=\"support.errorColorTheme()\"\n [hidden]=\"!formFieldDir.registeredCounter()\"\n class=\"et-form-field-support-counter\"\n >\n <ng-content select=\"et-counter\" />\n </div>\n </div>\n </div>\n}\n", styles: ["@layer components{@property --et-form-field-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-form-field-control-border-width{syntax: \"<length>\"; inherits: true; initial-value: 1px;}@property --et-form-field-control-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-control-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-control-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-control-line-height{syntax: \"<number>\"; inherits: true; initial-value: 1.5;}@property --et-form-field-control-affix-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-affix-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-form-field-control-disabled-opacity{syntax: \"<number>\"; inherits: true; initial-value: .5;}@property --et-form-field-control-min-height{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-form-field-label-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-error-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-warning-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-hint-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-support-duration{syntax: \"<time>\"; inherits: true; initial-value: .18s;}et-form-field{--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--_et-form-field-control-background: transparent;--_et-form-field-control-focus-ring: color-mix(in srgb, var(--et-theme-color-primary-solid) 18%, transparent);--_et-form-field-floating-label-scale: .75;display:flex;flex-direction:column;gap:var(--et-form-field-gap);color:var(--et-surface-color-solid, currentColor)}et-form-field .et-form-field-shell{display:flex;flex-direction:column;gap:var(--et-form-field-gap);min-inline-size:0;overflow:visible}et-form-field .et-form-field-label-area{display:flex;align-items:center;font-size:var(--et-form-field-label-font-size);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--et-surface-color-muted-solid, currentColor);cursor:text;-webkit-user-select:none;user-select:none;min-inline-size:0;transition:color .15s ease,opacity .15s ease}et-form-field .et-form-field-label-area et-label{display:inline;min-inline-size:0}et-form-field .et-form-field-label-area--floating{position:absolute;inset-block-start:50%;inset-inline-start:0;z-index:1;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);transform-origin:left top;pointer-events:none}et-form-field[data-can-animate] .et-form-field-label-area--floating{transition:color .15s ease,opacity .15s ease,inset-block-start .15s ease,inset-inline-start .15s ease,transform .15s ease}et-form-field .et-form-field-control-frame{position:relative;display:flex;align-items:center;box-sizing:border-box;gap:var(--et-form-field-control-affix-gap);min-inline-size:0;min-block-size:var(--et-form-field-control-min-height);padding-block:var(--et-form-field-control-padding-block);padding-inline:var(--et-form-field-control-padding-inline);border:var(--et-form-field-control-border-width) solid var(--et-surface-border-solid, currentColor);border-radius:var(--et-form-field-control-border-radius, var(--_et-form-field-control-border-radius, 4px));background:var(--_et-form-field-control-background);font-size:var(--et-form-field-control-font-size);line-height:var(--et-form-field-control-line-height);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:text}et-form-field .et-form-field-affix{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--et-form-field-control-affix-gap);color:var(--et-surface-color-muted-solid, currentColor);pointer-events:none;transition:color .15s ease}et-form-field .et-form-field-affix:empty{display:none}et-form-field .et-form-field-affix>*{pointer-events:none}et-form-field .et-form-field-affix>:is([etInputPrefix],[etInputSuffix],.et-form-field-busy-spinner){opacity:.78;transition:opacity .15s ease}et-form-field .et-form-field-affix>.et-icon{flex:none;inline-size:var(--et-form-field-affix-icon-size);block-size:var(--et-form-field-affix-icon-size)}et-form-field .et-form-field-affix>:is(button,a[href],input,select,textarea,summary,label,[role=button],[tabindex]:not([tabindex=\"-1\"])){pointer-events:auto}et-form-field .et-form-field-affix button{font:inherit;color:inherit;border:none;background:transparent;padding:0;cursor:pointer}et-form-field .et-form-field-control-area{position:relative;display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-control-area>*{min-inline-size:0}et-form-field .et-form-field-control-slot{display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-support{overflow:clip}et-form-field .et-form-field-support-row{display:flex;align-items:flex-start;gap:var(--et-form-field-support-gap, .8rem)}et-form-field .et-form-field-support-stack{position:relative;display:grid;flex:1 1 auto;min-inline-size:0}et-form-field .et-form-field-support-content{grid-area:1 / 1;min-inline-size:0;opacity:0}et-form-field .et-form-field-support-content[data-active]{opacity:1}et-form-field .et-form-field-support-content[data-state=leaving]{position:absolute;inset:0;pointer-events:none}et-form-field .et-form-field-errors{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-error-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-warnings{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-warning-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-support[data-can-animate]{transition:block-size var(--et-form-field-support-duration) ease}et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content{transition:opacity var(--et-form-field-support-duration) ease}@starting-style{et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content[data-active]{opacity:0}}@media(prefers-reduced-motion:reduce){et-form-field{--et-form-field-support-duration: 1ms}}}\n"] }]
|
|
28230
|
+
}, template: "<div class=\"et-form-field-shell\">\n <div #controlFrame (mousedown)=\"handleFramePointerDown($event)\" class=\"et-form-field-control-frame\">\n <div #prefixEl class=\"et-form-field-affix et-form-field-prefix\">\n <ng-content select=\"[etInputPrefix]\" />\n </div>\n\n <div class=\"et-form-field-control-area\">\n <div\n [class.et-form-field-label-area--floating]=\"hasFloatingTextLabel()\"\n [class.et-form-field-label-area--inline]=\"hasInlineLabel()\"\n class=\"et-form-field-label-area\"\n >\n <ng-content select=\"et-label\" />\n </div>\n\n <div class=\"et-form-field-control-slot\">\n <ng-content />\n </div>\n </div>\n\n <div class=\"et-form-field-affix et-form-field-suffix\">\n <!-- Before the consumer's suffix: nothing may come between a control's own affordances and\n the field they belong to. -->\n @if (formFieldDir.registeredControlSuffix(); as controlSuffix) {\n <ng-template [ngTemplateOutlet]=\"controlSuffix.templateRef\" />\n }\n\n <ng-content select=\"[etInputSuffix]\" />\n\n <!-- After the consumer's own suffix, never instead of it. -->\n @if (showBusySpinner()) {\n <et-spinner class=\"et-form-field-busy-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n </div>\n </div>\n</div>\n\n<ng-content select=\"et-description\" />\n\n@if (support.shouldRenderSupport()) {\n <div\n [style.block-size.px]=\"support.supportHeight()\"\n [attr.data-can-animate]=\"support.supportCanAnimate() || null\"\n class=\"et-form-field-support\"\n etColorInteractiveExclude\n >\n <div class=\"et-form-field-support-row\">\n <div class=\"et-form-field-support-stack\">\n @if (support.shouldRenderError()) {\n <div\n #errorContent\n #errorAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.errorId()\"\n [attr.aria-atomic]=\"support.errorActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.errorActive() ? 'true' : null\"\n [attr.aria-live]=\"support.errorActive() ? 'polite' : null\"\n [attr.data-active]=\"support.errorActive() || null\"\n [attr.data-direction]=\"support.errorDirection()\"\n [attr.data-state]=\"support.errorState()\"\n [etProvideColor]=\"support.errorColorTheme()\"\n class=\"et-form-field-support-content et-form-field-errors\"\n etAnimatable\n >\n @for (error of support.visibleErrors(); track $index) {\n <et-form-error [error]=\"error\" />\n }\n </div>\n }\n\n @if (support.shouldRenderWarning()) {\n <div\n #warningContent\n #warningAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.warningId()\"\n [attr.aria-atomic]=\"support.warningActive() ? 'true' : null\"\n [attr.aria-hidden]=\"!support.warningActive() ? 'true' : null\"\n [attr.aria-live]=\"support.warningActive() ? 'polite' : null\"\n [attr.data-active]=\"support.warningActive() || null\"\n [attr.data-direction]=\"support.warningDirection()\"\n [attr.data-state]=\"support.warningState()\"\n [etProvideColor]=\"support.warningColorTheme()\"\n class=\"et-form-field-support-content et-form-field-warnings\"\n etAnimatable\n >\n @for (warning of support.visibleWarnings(); track $index) {\n <et-form-warning [warning]=\"warning\" />\n }\n </div>\n }\n\n @if (support.shouldRenderHint()) {\n <div\n #hintContent\n #hintAnimatable=\"etAnimatable\"\n [id]=\"formFieldDir.hintId()\"\n [attr.aria-hidden]=\"!support.hintActive() ? 'true' : null\"\n [attr.data-active]=\"support.hintActive() || null\"\n [attr.data-direction]=\"support.hintDirection()\"\n [attr.data-state]=\"support.hintState()\"\n class=\"et-form-field-support-content et-form-field-hint\"\n etAnimatable\n >\n <ng-content select=\"et-hint\" />\n </div>\n }\n </div>\n\n <!-- Carries the error theme so the counter's own over-limit styling can reach the semantic\n error color even before the field shows an error. -->\n <div\n #counterContent\n [etProvideColor]=\"support.errorColorTheme()\"\n [hidden]=\"!formFieldDir.registeredCounter()\"\n class=\"et-form-field-support-counter\"\n >\n <ng-content select=\"et-counter\" />\n </div>\n </div>\n </div>\n}\n", styles: ["@layer components{@property --et-form-field-gap{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-form-field-control-border-width{syntax: \"<length>\"; inherits: true; initial-value: 1px;}@property --et-form-field-control-padding-block{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-control-padding-inline{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-control-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-control-line-height{syntax: \"<number>\"; inherits: true; initial-value: 1.5;}@property --et-form-field-control-affix-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-form-field-affix-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-form-field-control-disabled-opacity{syntax: \"<number>\"; inherits: true; initial-value: .5;}@property --et-form-field-control-min-height{syntax: \"<length>\"; inherits: true; initial-value: 40px;}@property --et-form-field-label-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-form-field-error-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-warning-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-hint-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-form-field-support-duration{syntax: \"<time>\"; inherits: true; initial-value: .18s;}et-form-field{--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--_et-form-field-control-background: transparent;--_et-form-field-control-focus-ring: color-mix(in srgb, var(--et-theme-color-primary-solid) 18%, transparent);--_et-form-field-floating-label-scale: .75;display:flex;flex-direction:column;gap:var(--et-form-field-gap);color:var(--et-surface-color-solid, currentColor)}et-form-field .et-form-field-shell{display:flex;flex-direction:column;gap:var(--et-form-field-gap);min-inline-size:0;overflow:visible}et-form-field .et-form-field-label-area{display:flex;align-items:center;font-size:var(--et-form-field-label-font-size);font-weight:500;line-height:1.2;letter-spacing:-.01em;color:var(--et-surface-color-muted-solid, currentColor);cursor:text;-webkit-user-select:none;user-select:none;min-inline-size:0;transition:color .15s ease,opacity .15s ease}et-form-field .et-form-field-label-area et-label{display:inline;min-inline-size:0}et-form-field .et-form-field-label-area--floating{position:absolute;inset-block-start:50%;inset-inline-start:0;z-index:1;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);transform-origin:left top;pointer-events:none}et-form-field[data-can-animate] .et-form-field-label-area--floating{transition:color .15s ease,opacity .15s ease,inset-block-start .15s ease,inset-inline-start .15s ease,transform .15s ease}et-form-field .et-form-field-control-frame{position:relative;display:flex;align-items:center;box-sizing:border-box;gap:var(--et-form-field-control-affix-gap);min-inline-size:0;min-block-size:var(--et-form-field-control-min-height);padding-block:var(--et-form-field-control-padding-block);padding-inline:var(--et-form-field-control-padding-inline);border:var(--et-form-field-control-border-width) solid var(--et-surface-border-solid, currentColor);border-radius:var(--et-form-field-control-border-radius, var(--_et-form-field-control-border-radius, 4px));background:var(--_et-form-field-control-background);font-size:var(--et-form-field-control-font-size);line-height:var(--et-form-field-control-line-height);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease;cursor:text}et-form-field .et-form-field-affix{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:var(--et-form-field-control-affix-gap);color:var(--et-surface-color-muted-solid, currentColor);pointer-events:none;transition:color .15s ease}et-form-field .et-form-field-affix:empty{display:none}et-form-field .et-form-field-affix>*{pointer-events:none}et-form-field .et-form-field-affix>:is([etInputPrefix],[etInputSuffix],.et-form-field-busy-spinner){opacity:.78;transition:opacity .15s ease}et-form-field .et-form-field-affix>.et-icon{flex:none;inline-size:var(--et-form-field-affix-icon-size);block-size:var(--et-form-field-affix-icon-size)}et-form-field .et-form-field-affix>:is(button,a[href],input,select,textarea,summary,label,[role=button],[tabindex]:not([tabindex=\"-1\"])){pointer-events:auto}et-form-field .et-form-field-affix button{font:inherit;color:inherit;border:none;background:transparent;padding:0;cursor:pointer}et-form-field .et-form-field-control-area{position:relative;display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-control-area>*{min-inline-size:0}et-form-field .et-form-field-control-slot{display:flex;align-items:center;flex:1;min-inline-size:0}et-form-field .et-form-field-support{overflow:clip}et-form-field .et-form-field-support-row{display:flex;align-items:flex-start;gap:var(--et-form-field-support-gap, .8rem)}et-form-field .et-form-field-support-stack{position:relative;display:grid;flex:1 1 auto;min-inline-size:0}et-form-field .et-form-field-support-content{grid-area:1 / 1;min-inline-size:0;opacity:0}et-form-field .et-form-field-support-content[data-active]{opacity:1}et-form-field .et-form-field-support-content[data-state=leaving]{position:absolute;inset:0;pointer-events:none}et-form-field .et-form-field-errors{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-error-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-warnings{display:flex;flex-direction:column;gap:2px;font-size:var(--et-form-field-warning-font-size);color:var(--et-theme-color-ink-solid);padding-inline-start:calc(var(--et-form-field-control-padding-inline) + var(--et-form-field-control-border-width))}et-form-field .et-form-field-support[data-can-animate]{transition:block-size var(--et-form-field-support-duration) ease}et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content{transition:opacity var(--et-form-field-support-duration) ease}@starting-style{et-form-field .et-form-field-support[data-can-animate] .et-form-field-support-content[data-active]{opacity:0}}@media(prefers-reduced-motion:reduce){et-form-field{--et-form-field-support-duration: 1ms}}@media(pointer:coarse){et-form-field :is(input:not([type=checkbox],[type=radio],[type=range]),textarea){font-size:max(1em,16px)}}}\n"] }]
|
|
28028
28231
|
}], ctorParameters: () => [], propDecorators: { appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], fill: [{ type: i0.Input, args: [{ isSignal: true, alias: "fill", required: false }] }], labelMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelMode", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], busy: [{ type: i0.Input, args: [{ isSignal: true, alias: "busy", required: false }] }], errorContent: [{ type: i0.ViewChild, args: ['errorContent', { isSignal: true }] }], warningContent: [{ type: i0.ViewChild, args: ['warningContent', { isSignal: true }] }], hintContent: [{ type: i0.ViewChild, args: ['hintContent', { isSignal: true }] }], counterContent: [{ type: i0.ViewChild, args: ['counterContent', { isSignal: true }] }], controlFrame: [{ type: i0.ViewChild, args: ['controlFrame', { isSignal: true }] }], prefixEl: [{ type: i0.ViewChild, args: ['prefixEl', { isSignal: true }] }], errorAnimatable: [{ type: i0.ViewChild, args: ['errorAnimatable', { isSignal: true }] }], warningAnimatable: [{ type: i0.ViewChild, args: ['warningAnimatable', { isSignal: true }] }], hintAnimatable: [{ type: i0.ViewChild, args: ['hintAnimatable', { isSignal: true }] }], description: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DescriptionComponent), { ...{ descendants: false }, isSignal: true }] }] } });
|
|
28029
28232
|
|
|
28030
28233
|
const INPUT_MASK_HOST = new InjectionToken('INPUT_MASK_HOST');
|
|
@@ -42107,6 +42310,9 @@ class MenuDirective {
|
|
|
42107
42310
|
this.depth = (this.parent?.depth ?? -1) + 1;
|
|
42108
42311
|
this.isRoot = this.parent === null;
|
|
42109
42312
|
/** @internal */
|
|
42313
|
+
this.rootAlignment = signal('start', /* @ts-ignore */
|
|
42314
|
+
...(ngDevMode ? [{ debugName: "rootAlignment" }] : /* istanbul ignore next */ []));
|
|
42315
|
+
/** @internal */
|
|
42110
42316
|
this.registeredTrigger = signal(null, /* @ts-ignore */
|
|
42111
42317
|
...(ngDevMode ? [{ debugName: "registeredTrigger" }] : /* istanbul ignore next */ []));
|
|
42112
42318
|
/** @internal */
|
|
@@ -42738,7 +42944,7 @@ class MenuDirective {
|
|
|
42738
42944
|
return placement;
|
|
42739
42945
|
}
|
|
42740
42946
|
if (this.isRoot && !this.anchorPoint()) {
|
|
42741
|
-
return
|
|
42947
|
+
return `bottom-${this.rootAlignment()}`;
|
|
42742
42948
|
}
|
|
42743
42949
|
return `${this.inlineEndSide()}-start`;
|
|
42744
42950
|
}
|
|
@@ -42748,7 +42954,9 @@ class MenuDirective {
|
|
|
42748
42954
|
return fallbackPlacements;
|
|
42749
42955
|
}
|
|
42750
42956
|
if (this.isRoot && !this.anchorPoint()) {
|
|
42751
|
-
return
|
|
42957
|
+
return this.rootAlignment() === 'end'
|
|
42958
|
+
? ['bottom-start', 'top-end', 'top-start']
|
|
42959
|
+
: ['bottom-end', 'top-start', 'top-end'];
|
|
42752
42960
|
}
|
|
42753
42961
|
const end = this.inlineEndSide();
|
|
42754
42962
|
const start = end === 'right' ? 'left' : 'right';
|
|
@@ -42905,12 +43113,16 @@ class MenuTriggerDirective {
|
|
|
42905
43113
|
this.menu = inject(MenuDirective, { optional: true });
|
|
42906
43114
|
this.elementRef = inject(ElementRef);
|
|
42907
43115
|
this.destroyRef = inject(DestroyRef);
|
|
43116
|
+
this.rootAlignment = inject(MENU_TRIGGER_ROOT_ALIGNMENT, { optional: true, self: true });
|
|
42908
43117
|
/** @internal The same-element menu item this trigger is combined with, if any. Set by the item. */
|
|
42909
43118
|
this.hostItem = null;
|
|
42910
43119
|
const element = this.elementRef.nativeElement;
|
|
42911
43120
|
if (!element.id) {
|
|
42912
43121
|
element.id = createComponentId('et-menu-trigger');
|
|
42913
43122
|
}
|
|
43123
|
+
if (this.rootAlignment) {
|
|
43124
|
+
this.menu?.rootAlignment.set(this.rootAlignment);
|
|
43125
|
+
}
|
|
42914
43126
|
this.menu?.registeredTrigger.set(this);
|
|
42915
43127
|
this.destroyRef.onDestroy(() => {
|
|
42916
43128
|
this.menu?.unregisterTrigger(this);
|
|
@@ -46721,121 +46933,21 @@ class RichTextEditorComponent {
|
|
|
46721
46933
|
.subscribe();
|
|
46722
46934
|
}
|
|
46723
46935
|
/**
|
|
46724
|
-
* Keeps `--_et-rte-keyboard-inset` at the
|
|
46725
|
-
*
|
|
46726
|
-
*
|
|
46936
|
+
* Keeps `--_et-rte-keyboard-inset` at the soft keyboard's inset, so the docked toolbar sits on the
|
|
46937
|
+
* keyboard. Written straight to the host, not through a signal, so scrolling never schedules change
|
|
46938
|
+
* detection.
|
|
46727
46939
|
*/
|
|
46728
46940
|
keyboardInset$() {
|
|
46729
|
-
|
|
46730
|
-
|
|
46731
|
-
|
|
46732
|
-
if (!view || !viewport)
|
|
46733
|
-
return;
|
|
46734
|
-
return this.observeKeyboardInset(view, viewport).subscribe(subscriber);
|
|
46735
|
-
});
|
|
46736
|
-
}
|
|
46737
|
-
observeKeyboardInset(view, viewport) {
|
|
46941
|
+
const view = this.document.defaultView;
|
|
46942
|
+
if (!view)
|
|
46943
|
+
return EMPTY;
|
|
46738
46944
|
const host = this.host.nativeElement;
|
|
46739
|
-
|
|
46740
|
-
|
|
46741
|
-
|
|
46742
|
-
|
|
46743
|
-
|
|
46744
|
-
let frameElement = null;
|
|
46745
|
-
let topViewport = null;
|
|
46746
|
-
try {
|
|
46747
|
-
// no instanceof here - frameElement belongs to the PARENT document's realm, so it is never
|
|
46748
|
-
// an instance of this window's HTMLElement constructor
|
|
46749
|
-
frameElement = view.frameElement;
|
|
46750
|
-
topViewport = frameElement ? (view.top?.visualViewport ?? null) : null;
|
|
46751
|
-
}
|
|
46752
|
-
catch {
|
|
46753
|
-
frameElement = null;
|
|
46754
|
-
topViewport = null;
|
|
46755
|
-
}
|
|
46756
|
-
// Where "position: fixed; bottom: 0" actually lands is NOT derivable from window/visualViewport
|
|
46757
|
-
// on iOS: with the soft keyboard open (and focus zoom active), WebKit positions fixed elements
|
|
46758
|
-
// against an internal rect that tracks the visual viewport and is clamped to the document - its
|
|
46759
|
-
// bottom sits well below where `innerHeight` says. Measure it with a zero-size fixed probe
|
|
46760
|
-
// instead of assuming layout-viewport math; on engines without the quirk the probe bottom IS
|
|
46761
|
-
// `innerHeight`, so this degenerates to the plain `innerHeight - height - offsetTop`.
|
|
46762
|
-
const probe = this.renderer.createElement('div');
|
|
46763
|
-
this.renderer.setCssProperties(probe, {
|
|
46764
|
-
position: 'fixed',
|
|
46765
|
-
'inset-block-end': '0',
|
|
46766
|
-
'inline-size': '0',
|
|
46767
|
-
'block-size': '0',
|
|
46768
|
-
visibility: 'hidden',
|
|
46945
|
+
return observeKeyboardInset({
|
|
46946
|
+
view,
|
|
46947
|
+
renderer: this.renderer,
|
|
46948
|
+
onInset: (inset) => this.renderer.setCssProperty(host, '--_et-rte-keyboard-inset', `${inset}px`),
|
|
46949
|
+
poll$: toObservable(this.dockedToolbar, { injector: this.injector }).pipe(switchMap((docked) => (docked ? interval(DOCKED_TOOLBAR_POLL_MS) : EMPTY))),
|
|
46769
46950
|
});
|
|
46770
|
-
this.renderer.appendChild(this.document.body, probe);
|
|
46771
|
-
let lastApplied = -1;
|
|
46772
|
-
const apply = () => {
|
|
46773
|
-
const fixedBottom = probe.getBoundingClientRect().bottom;
|
|
46774
|
-
let keyboardTop;
|
|
46775
|
-
if (frameElement && topViewport) {
|
|
46776
|
-
// keyboard overlap of this frame, in the frame's own client coordinates
|
|
46777
|
-
const covered = frameElement.getBoundingClientRect().bottom - (topViewport.offsetTop + topViewport.height);
|
|
46778
|
-
keyboardTop = view.innerHeight - Math.max(0, covered);
|
|
46779
|
-
}
|
|
46780
|
-
else {
|
|
46781
|
-
keyboardTop = viewport.offsetTop + viewport.height;
|
|
46782
|
-
}
|
|
46783
|
-
const inset = Math.max(0, fixedBottom - keyboardTop);
|
|
46784
|
-
if (inset === lastApplied)
|
|
46785
|
-
return false;
|
|
46786
|
-
lastApplied = inset;
|
|
46787
|
-
this.renderer.setCssProperty(host, '--_et-rte-keyboard-inset', `${inset}px`);
|
|
46788
|
-
return true;
|
|
46789
|
-
};
|
|
46790
|
-
// iOS moves its fixed-position rect ASYNCHRONOUSLY while scrolling with the keyboard open (and
|
|
46791
|
-
// fires few or no visualViewport events mid-scroll, including when the scroll itself dismisses
|
|
46792
|
-
// the keyboard) - a single synchronous re-measure per event reads a stale probe rect and the
|
|
46793
|
-
// toolbar drifts under the keyboard. So each event kicks a rAF loop that keeps re-measuring
|
|
46794
|
-
// until the inset has been stable for a few frames, then stops - continuous tracking while
|
|
46795
|
-
// anything moves, zero per-frame work at rest.
|
|
46796
|
-
let rafId = null;
|
|
46797
|
-
let quietFrames = 0;
|
|
46798
|
-
const settle = () => {
|
|
46799
|
-
quietFrames = apply() ? 0 : quietFrames + 1;
|
|
46800
|
-
// ~30 quiet frames (≈500ms) so the loop outlasts the keyboard show/hide animation - iOS can
|
|
46801
|
-
// fire its last viewport event right at the animation's start while the fixed-position rect
|
|
46802
|
-
// keeps moving until the end
|
|
46803
|
-
rafId = quietFrames < 30 ? view.requestAnimationFrame(settle) : null;
|
|
46804
|
-
};
|
|
46805
|
-
const kick = () => {
|
|
46806
|
-
quietFrames = 0;
|
|
46807
|
-
apply();
|
|
46808
|
-
rafId ??= view.requestAnimationFrame(settle);
|
|
46809
|
-
};
|
|
46810
|
-
kick();
|
|
46811
|
-
// The event stream is not guaranteed to be complete: a soft keyboard can change height without a
|
|
46812
|
-
// viewport event (Gboard switching layout, a suggestion row appearing), and inside an embedded
|
|
46813
|
-
// frame the event may land while the ancestor layout is still moving. Either leaves the bar parked
|
|
46814
|
-
// for a keyboard that is no longer there - floating over the content instead of sitting on it. So
|
|
46815
|
-
// re-measure on a slow timer for as long as the bar is actually docked: one rect read every
|
|
46816
|
-
// POLL_MS, no rAF loop and no change detection, and a stale position heals within half a second.
|
|
46817
|
-
const poll$ = toObservable(this.dockedToolbar, { injector: this.injector }).pipe(switchMap((docked) => (docked ? interval(DOCKED_TOOLBAR_POLL_MS) : EMPTY)), tap(() => apply()));
|
|
46818
|
-
const viewports = topViewport ? [viewport, topViewport] : [viewport];
|
|
46819
|
-
// window scroll too: a root scroll pans the keyboard-tracking fixed rect without necessarily
|
|
46820
|
-
// firing any visualViewport event (top window as well when embedded in an iframe)
|
|
46821
|
-
const scrollTargets = [...viewports, view];
|
|
46822
|
-
try {
|
|
46823
|
-
if (frameElement && view.top)
|
|
46824
|
-
scrollTargets.push(view.top);
|
|
46825
|
-
}
|
|
46826
|
-
catch {
|
|
46827
|
-
// cross-origin top - its scrolls are invisible to us; the frame keeps local tracking
|
|
46828
|
-
}
|
|
46829
|
-
const viewportChange$ = merge(...viewports.map((v) => fromEvent(v, 'resize')),
|
|
46830
|
-
// These are ancestor viewports/windows (visualViewport, iframe top), not a component-owned
|
|
46831
|
-
// scroll container - signalElementScrollState targets a known elementRef and doesn't apply.
|
|
46832
|
-
// eslint-disable-next-line ethlete/prefer-scroll-state
|
|
46833
|
-
...scrollTargets.map((t) => fromEvent(t, 'scroll', { passive: true }))).pipe(tap(() => kick()));
|
|
46834
|
-
return merge(poll$, viewportChange$).pipe(ignoreElements(), finalize(() => {
|
|
46835
|
-
if (rafId !== null)
|
|
46836
|
-
view.cancelAnimationFrame(rafId);
|
|
46837
|
-
probe.remove();
|
|
46838
|
-
}));
|
|
46839
46951
|
}
|
|
46840
46952
|
/** `editingActive` follows the editor's focus, but lingers ~400ms after a blur so a menu/link
|
|
46841
46953
|
* editor opened from the docked toolbar (which takes focus into an overlay) keeps the bar up. */
|
|
@@ -57132,6 +57244,7 @@ class NotificationDirective {
|
|
|
57132
57244
|
...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
57133
57245
|
this.ariaRole = computed(() => (this.status() === 'error' ? 'alert' : 'status'), /* @ts-ignore */
|
|
57134
57246
|
...(ngDevMode ? [{ debugName: "ariaRole" }] : /* istanbul ignore next */ []));
|
|
57247
|
+
afterNextRender(() => this.animatedLifecycle?.enter());
|
|
57135
57248
|
toObservable(computed(() => this.entry().isDismissing))
|
|
57136
57249
|
.pipe(filter(Boolean), take(1), switchMap(() => {
|
|
57137
57250
|
const lifecycle = this.animatedLifecycle;
|
|
@@ -57901,7 +58014,6 @@ const createNotificationRef = (config, { managerConfig, beforeChange }) => {
|
|
|
57901
58014
|
class NotificationComponent {
|
|
57902
58015
|
constructor() {
|
|
57903
58016
|
this.notification = inject(NotificationDirective);
|
|
57904
|
-
this.animatedLifecycle = inject(ANIMATED_LIFECYCLE_TOKEN);
|
|
57905
58017
|
this.provideTheme = inject(ProvideColorDirective);
|
|
57906
58018
|
this.provideSurface = inject(ProvideSurfaceDirective);
|
|
57907
58019
|
this.managerConfig = injectNotificationManagerConfig();
|
|
@@ -57969,9 +58081,6 @@ class NotificationComponent {
|
|
|
57969
58081
|
this.provideSurface.clearForcedSurface();
|
|
57970
58082
|
});
|
|
57971
58083
|
});
|
|
57972
|
-
afterNextRender(() => {
|
|
57973
|
-
this.animatedLifecycle.enter();
|
|
57974
|
-
});
|
|
57975
58084
|
}
|
|
57976
58085
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57977
58086
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: NotificationComponent, isStandalone: true, selector: "et-notification", host: { listeners: { "keydown.escape": "notification.ref().dismiss()", "mouseenter": "notification.ref().pauseTimer(\"hover\")", "mouseleave": "notification.ref().resumeTimer(\"hover\")", "focusin": "notification.ref().pauseTimer(\"focus\")", "focusout": "notification.ref().resumeTimer(\"focus\")" }, classAttribute: "et-notification" }, providers: [provideIcons(TIMES_ICON, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, TRIANGLE_EXCLAMATION_ICON)], hostDirectives: [{ directive: NotificationDirective, inputs: ["ref", "ref"] }, { directive: NotificationSwipeToDismissDirective }, { directive: i1.AnimatedLifecycleDirective }, { directive: i1.ProvideColorDirective, inputs: ["etProvideColor", "color"] }, { directive: i1.ProvideSurfaceDirective, inputs: ["etProvideSurface", "surface"] }], ngImport: i0, template: "<div class=\"et-notification-content\">\n <div class=\"et-notification-header\">\n @if (statusIcon(); as icon) {\n <i [etIcon]=\"icon\" class=\"et-notification-icon\"></i>\n } @else if (notification.isLoading()) {\n <et-spinner class=\"et-notification-spinner\" diameter=\"16\" strokeWidth=\"2\" />\n }\n\n <span class=\"et-notification-title\">{{ notification.title() }}</span>\n\n <button\n [color]=\"controlsColor()\"\n [attr.aria-label]=\"dismissLabel()\"\n class=\"et-notification-dismiss-btn\"\n et-icon-button\n etNotificationDismiss\n size=\"xs\"\n type=\"button\"\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </div>\n\n @if (notification.message()) {\n <p class=\"et-notification-message\">{{ notification.message() }}</p>\n }\n\n @if (notification.progress() !== undefined) {\n <et-progress-bar [value]=\"notification.progress()\" class=\"et-notification-progress-bar\" />\n }\n\n @if (notification.action() || notification.secondaryAction()) {\n <div class=\"et-notification-footer\">\n @if (notification.action(); as action) {\n <button et-text-button etNotificationAction size=\"xs\" type=\"button\">{{ action.label }}</button>\n }\n\n @if (notification.secondaryAction(); as secondaryAction) {\n <button\n class=\"et-notification-secondary-action\"\n et-text-button\n etNotificationAction=\"secondary\"\n size=\"xs\"\n type=\"button\"\n >\n {{ secondaryAction.label }}\n </button>\n }\n </div>\n }\n</div>\n", styles: ["@layer components{@property --et-notification-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-padding{syntax: \"*\"; inherits: true; initial-value: 12px 12px 12px 14px;}@property --et-notification-min-width{syntax: \"<length>\"; inherits: true; initial-value: 300px;}@property --et-notification-max-width{syntax: \"<length>\"; inherits: true; initial-value: 420px;}@property --et-notification-shadow{syntax: \"*\"; inherits: true; initial-value: 0 4px 16px rgb(var(--et-shadow-color-rgb, 0 0 0) / 10%),0 0 0 1px rgb(var(--et-shadow-color-rgb, 0 0 0) / 5%);}@property --et-notification-border-width{syntax: \"<length>\"; inherits: true; initial-value: 4px;}@property --et-notification-font-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-notification-line-height{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-notification-gap{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-notification-title-font-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-notification-message-font-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-notification-message-line-height{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-notification-message-opacity{syntax: \"<number>\"; inherits: true; initial-value: .65;}@property --et-notification-progress-bar-height{syntax: \"<length>\"; inherits: true; initial-value: 3px;}@property --et-notification-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}.et-notification{display:block;pointer-events:all;opacity:var(--_et-notification-swipe-opacity, 1);background:var(--et-surface-background-solid, #fff);color:var(--et-surface-color-solid, #111);border-radius:var(--et-notification-border-radius);padding:var(--et-notification-padding);box-shadow:var(--et-notification-shadow);min-width:var(--et-notification-min-width);max-width:var(--et-notification-max-width);border-inline-start:var(--et-notification-border-width) solid var(--et-theme-color-primary-solid, #d1d5db);font-family:inherit;font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height);--_et-notification-slide-x: 1rem;--_et-notification-dir-sign: 1}.et-notification:dir(rtl){--_et-notification-dir-sign: -1}.et-notification.et-animation-enter-from{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification.et-animation-enter-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-active{transition:opacity .2s ease,transform .2s ease}.et-notification.et-animation-leave-to{opacity:0;transform:translate(calc(var(--_et-notification-slide-x) * var(--_et-notification-dir-sign)))}.et-notification[data-swiped-away].et-animation-leave-to{transform:translate(var(--_et-notification-swipe-exit-x, 0px))!important;opacity:0}.et-notification-stack[data-position=bottom-start] .et-notification,.et-notification-stack[data-position=top-start] .et-notification{--_et-notification-slide-x: -1rem}.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=bottom-center] .et-notification.et-animation-leave-to{transform:translateY(1rem)}.et-notification-stack[data-position=top-center] .et-notification.et-animation-enter-from,.et-notification-stack[data-position=top-center] .et-notification.et-animation-leave-to{transform:translateY(-1rem)}.et-notification-header{display:flex;align-items:center;justify-content:space-between;gap:var(--et-notification-gap)}.et-notification-spinner{flex-shrink:0;--et-spinner-color: var(--et-theme-color-primary-solid, currentColor)}.et-notification-icon{flex-shrink:0;width:var(--et-notification-icon-size);height:var(--et-notification-icon-size);color:var(--et-theme-color-primary-solid, currentColor)}.et-notification-title{flex:1;font-weight:var(--et-notification-title-font-weight);font-size:var(--et-notification-font-size);line-height:var(--et-notification-line-height)}.et-notification-dismiss-btn{flex-shrink:0;opacity:.4;transition:opacity .12s ease}@media(hover:hover){.et-notification-dismiss-btn:hover{opacity:.8}}.et-notification-message{margin:.4rem 0 0;color:var(--et-surface-color-muted-solid, inherit);opacity:var(--et-notification-message-opacity);font-size:var(--et-notification-message-font-size);line-height:var(--et-notification-message-line-height)}.et-notification-progress-bar{margin-top:.8rem;color:var(--et-theme-color-primary-solid, currentColor);--et-progress-bar-height: var(--et-notification-progress-bar-height)}.et-notification-footer{display:flex;align-items:center;gap:1.2rem;margin-top:.8rem}.et-notification .et-notification-secondary-action{color:var(--et-surface-color-muted-solid, inherit)}@media(max-width:480px){.et-notification{min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.et-notification.et-animation-enter-from{transform:none}.et-notification.et-animation-enter-active,.et-notification.et-animation-leave-active{transition:opacity .2s ease}.et-notification.et-animation-leave-to{transform:none}}}\n"], dependencies: [{ kind: "directive", type: NotificationActionDirective, selector: "[etNotificationAction]", inputs: ["etNotificationAction"], exportAs: ["etNotificationAction"] }, { kind: "directive", type: NotificationDismissDirective, selector: "[etNotificationDismiss]", exportAs: ["etNotificationDismiss"] }, { kind: "component", type: SpinnerComponent, selector: "et-spinner", inputs: ["diameter", "strokeWidth", "track", "value"] }, { kind: "component", type: ProgressBarComponent, selector: "et-progress-bar", inputs: ["value"] }, { kind: "component", type: IconButtonComponent, selector: "[et-icon-button]", inputs: ["variant", "size"] }, { kind: "component", type: TextButtonComponent, selector: "[et-text-button]", inputs: ["size", "iconAlignment"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -59336,7 +59445,7 @@ class QueryErrorComponent {
|
|
|
59336
59445
|
...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
59337
59446
|
}
|
|
59338
59447
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: QueryErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59339
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-query-error-host" }, providers: [provideIcons(TRIANGLE_EXCLAMATION_ICON)], hostDirectives: [{ directive: QueryErrorDirective, inputs: ["error", "error", "query", "query", "alwaysAllowRetry", "alwaysAllowRetry", "labels", "labels"], outputs: ["retryRequest", "retryRequest"] }], ngImport: i0, template: "@if (queryError.view(); as error) {\n <!-- [liveRegion]=\"null\": the host already carries `role=\"alert\"`, and a live region inside one announces twice. -->\n <et-banner [color]=\"color()\" [liveRegion]=\"null\" type=\"error\">\n <span etIcon=\"et-triangle-exclamation\"></span>\n\n <h3 class=\"et-query-error-title\" etBannerHeading>\n @if (queryError.titleSlot(); as titleSlot) {\n <ng-container [ngTemplateOutlet]=\"titleSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n } @else {\n {{ error.title }}\n }\n </h3>\n\n @if (error.isList) {\n <ul class=\"et-query-error-list\" etBannerBody>\n @for (message of error.messages; track $index) {\n <li class=\"et-query-error-list-item\">{{ message }}</li>\n }\n </ul>\n } @else {\n <p class=\"et-query-error-message\" etBannerBody>{{ error.messages[0] }}</p>\n }\n\n @if (queryError.actionsSlot(); as actionsSlot) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <ng-container [ngTemplateOutlet]=\"actionsSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n </div>\n } @else if (error.canRetry) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <!-- No [color]: the banner provides the error colour scope, which the button inherits. -->\n <button (click)=\"queryError.retry()\" et-button type=\"button\">\n {{ queryError.resolvedLabels().retry }}\n </button>\n </div>\n }\n </et-banner>\n}\n", styles: ["@layer components{.et-query-error-host{display:block}.et-query-error-host .et-query-error-list{padding-inline-start:1.
|
|
59448
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-query-error-host" }, providers: [provideIcons(TRIANGLE_EXCLAMATION_ICON)], hostDirectives: [{ directive: QueryErrorDirective, inputs: ["error", "error", "query", "query", "alwaysAllowRetry", "alwaysAllowRetry", "labels", "labels"], outputs: ["retryRequest", "retryRequest"] }], ngImport: i0, template: "@if (queryError.view(); as error) {\n <!-- [liveRegion]=\"null\": the host already carries `role=\"alert\"`, and a live region inside one announces twice. -->\n <et-banner [color]=\"color()\" [liveRegion]=\"null\" type=\"error\">\n <span etIcon=\"et-triangle-exclamation\"></span>\n\n <h3 class=\"et-query-error-title\" etBannerHeading>\n @if (queryError.titleSlot(); as titleSlot) {\n <ng-container [ngTemplateOutlet]=\"titleSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n } @else {\n {{ error.title }}\n }\n </h3>\n\n @if (error.isList) {\n <ul class=\"et-query-error-list\" etBannerBody>\n @for (message of error.messages; track $index) {\n <li class=\"et-query-error-list-item\">{{ message }}</li>\n }\n </ul>\n } @else {\n <p class=\"et-query-error-message\" etBannerBody>{{ error.messages[0] }}</p>\n }\n\n @if (queryError.actionsSlot(); as actionsSlot) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <ng-container [ngTemplateOutlet]=\"actionsSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n </div>\n } @else if (error.canRetry) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <!-- No [color]: the banner provides the error colour scope, which the button inherits. -->\n <button (click)=\"queryError.retry()\" et-button type=\"button\">\n {{ queryError.resolvedLabels().retry }}\n </button>\n </div>\n }\n </et-banner>\n}\n", styles: ["@layer components{.et-query-error-host{display:block}.et-query-error-host .et-query-error-list{margin:0;padding-inline-start:1.2em;list-style:disc outside}.et-query-error-host .et-query-error-list .et-query-error-list-item{margin-block:.15em}.et-query-error-host .et-query-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}}\n"], dependencies: [{ kind: "component", type: BannerComponent, selector: "et-banner", inputs: ["heading", "description", "type", "dismissible", "liveRegion", "color"], outputs: ["dismiss"] }, { kind: "component", type: ButtonComponent, selector: "[et-button]", inputs: ["variant", "size", "iconAlignment"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
59340
59449
|
}
|
|
59341
59450
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: QueryErrorComponent, decorators: [{
|
|
59342
59451
|
type: Component,
|
|
@@ -59348,7 +59457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
59348
59457
|
},
|
|
59349
59458
|
], host: {
|
|
59350
59459
|
class: 'et-query-error-host',
|
|
59351
|
-
}, template: "@if (queryError.view(); as error) {\n <!-- [liveRegion]=\"null\": the host already carries `role=\"alert\"`, and a live region inside one announces twice. -->\n <et-banner [color]=\"color()\" [liveRegion]=\"null\" type=\"error\">\n <span etIcon=\"et-triangle-exclamation\"></span>\n\n <h3 class=\"et-query-error-title\" etBannerHeading>\n @if (queryError.titleSlot(); as titleSlot) {\n <ng-container [ngTemplateOutlet]=\"titleSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n } @else {\n {{ error.title }}\n }\n </h3>\n\n @if (error.isList) {\n <ul class=\"et-query-error-list\" etBannerBody>\n @for (message of error.messages; track $index) {\n <li class=\"et-query-error-list-item\">{{ message }}</li>\n }\n </ul>\n } @else {\n <p class=\"et-query-error-message\" etBannerBody>{{ error.messages[0] }}</p>\n }\n\n @if (queryError.actionsSlot(); as actionsSlot) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <ng-container [ngTemplateOutlet]=\"actionsSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n </div>\n } @else if (error.canRetry) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <!-- No [color]: the banner provides the error colour scope, which the button inherits. -->\n <button (click)=\"queryError.retry()\" et-button type=\"button\">\n {{ queryError.resolvedLabels().retry }}\n </button>\n </div>\n }\n </et-banner>\n}\n", styles: ["@layer components{.et-query-error-host{display:block}.et-query-error-host .et-query-error-list{padding-inline-start:1.
|
|
59460
|
+
}, template: "@if (queryError.view(); as error) {\n <!-- [liveRegion]=\"null\": the host already carries `role=\"alert\"`, and a live region inside one announces twice. -->\n <et-banner [color]=\"color()\" [liveRegion]=\"null\" type=\"error\">\n <span etIcon=\"et-triangle-exclamation\"></span>\n\n <h3 class=\"et-query-error-title\" etBannerHeading>\n @if (queryError.titleSlot(); as titleSlot) {\n <ng-container [ngTemplateOutlet]=\"titleSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n } @else {\n {{ error.title }}\n }\n </h3>\n\n @if (error.isList) {\n <ul class=\"et-query-error-list\" etBannerBody>\n @for (message of error.messages; track $index) {\n <li class=\"et-query-error-list-item\">{{ message }}</li>\n }\n </ul>\n } @else {\n <p class=\"et-query-error-message\" etBannerBody>{{ error.messages[0] }}</p>\n }\n\n @if (queryError.actionsSlot(); as actionsSlot) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <ng-container [ngTemplateOutlet]=\"actionsSlot\" [ngTemplateOutletContext]=\"{ $implicit: error, error }\" />\n </div>\n } @else if (error.canRetry) {\n <div class=\"et-query-error-actions\" etBannerAction>\n <!-- No [color]: the banner provides the error colour scope, which the button inherits. -->\n <button (click)=\"queryError.retry()\" et-button type=\"button\">\n {{ queryError.resolvedLabels().retry }}\n </button>\n </div>\n }\n </et-banner>\n}\n", styles: ["@layer components{.et-query-error-host{display:block}.et-query-error-host .et-query-error-list{margin:0;padding-inline-start:1.2em;list-style:disc outside}.et-query-error-host .et-query-error-list .et-query-error-list-item{margin-block:.15em}.et-query-error-host .et-query-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}}\n"] }]
|
|
59352
59461
|
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
59353
59462
|
|
|
59354
59463
|
const QUERY_ERROR_IMPORTS = [
|
|
@@ -63713,11 +63822,11 @@ const STREAM_LABELS = /* @__PURE__ */ toToken(STREAM_LABELS_DEF);
|
|
|
63713
63822
|
*/
|
|
63714
63823
|
class StreamOverlayCardStylesComponent {
|
|
63715
63824
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StreamOverlayCardStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63716
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: StreamOverlayCardStylesComponent, isStandalone: true, selector: "et-stream-overlay-card-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{.et-stream-consent-card,.et-stream-player-error-card,.et-pip-slot-placeholder-card{display:flex;flex-direction:column;align-items:center;gap:var(--et-stream-overlay-card-gap, 12px);padding:var(--et-stream-overlay-card-padding,
|
|
63825
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: StreamOverlayCardStylesComponent, isStandalone: true, selector: "et-stream-overlay-card-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{.et-stream-consent-card,.et-stream-player-error-card,.et-pip-slot-placeholder-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:var(--et-stream-overlay-card-gap, 12px);inline-size:100%;block-size:100%;padding:var(--et-stream-overlay-card-padding, 16px);overflow:auto;border-radius:var(--et-stream-overlay-card-border-radius, 0px);text-align:center;background:var(--et-surface-background-solid, inherit);container-type:size}.et-stream-consent-card>*,.et-stream-player-error-card>*,.et-pip-slot-placeholder-card>*{flex:none;max-inline-size:36rem}@container (max-height: 200px){.et-stream-consent-icon,.et-stream-player-error-icon,.et-pip-slot-placeholder-icon{display:none}}.et-stream-consent-icon,.et-stream-player-error-icon,.et-pip-slot-placeholder-icon{width:var(--et-stream-overlay-card-icon-size, 36px);height:var(--et-stream-overlay-card-icon-size, 36px);color:var(--et-surface-color-subtle-solid, currentColor)}.et-stream-consent-heading,.et-stream-player-error-heading{margin:0;font-size:var(--et-stream-overlay-card-heading-size, 16px);font-weight:var(--et-stream-overlay-card-heading-weight, 600);line-height:var(--et-stream-overlay-card-heading-line-height, 122%);letter-spacing:var(--et-stream-overlay-card-heading-letter-spacing, .2px);color:var(--et-surface-color-solid, currentColor)}.et-stream-consent-description,.et-stream-player-error-description,.et-pip-slot-placeholder-message{margin:0;font-size:var(--et-stream-overlay-card-description-size, 14px);font-weight:var(--et-stream-overlay-card-description-weight, 400);line-height:var(--et-stream-overlay-card-description-line-height, 150%);color:var(--et-surface-color-muted-solid, currentColor)}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
63717
63826
|
}
|
|
63718
63827
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StreamOverlayCardStylesComponent, decorators: [{
|
|
63719
63828
|
type: Component,
|
|
63720
|
-
args: [{ selector: 'et-stream-overlay-card-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{.et-stream-consent-card,.et-stream-player-error-card,.et-pip-slot-placeholder-card{display:flex;flex-direction:column;align-items:center;gap:var(--et-stream-overlay-card-gap, 12px);padding:var(--et-stream-overlay-card-padding,
|
|
63829
|
+
args: [{ selector: 'et-stream-overlay-card-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{.et-stream-consent-card,.et-stream-player-error-card,.et-pip-slot-placeholder-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:var(--et-stream-overlay-card-gap, 12px);inline-size:100%;block-size:100%;padding:var(--et-stream-overlay-card-padding, 16px);overflow:auto;border-radius:var(--et-stream-overlay-card-border-radius, 0px);text-align:center;background:var(--et-surface-background-solid, inherit);container-type:size}.et-stream-consent-card>*,.et-stream-player-error-card>*,.et-pip-slot-placeholder-card>*{flex:none;max-inline-size:36rem}@container (max-height: 200px){.et-stream-consent-icon,.et-stream-player-error-icon,.et-pip-slot-placeholder-icon{display:none}}.et-stream-consent-icon,.et-stream-player-error-icon,.et-pip-slot-placeholder-icon{width:var(--et-stream-overlay-card-icon-size, 36px);height:var(--et-stream-overlay-card-icon-size, 36px);color:var(--et-surface-color-subtle-solid, currentColor)}.et-stream-consent-heading,.et-stream-player-error-heading{margin:0;font-size:var(--et-stream-overlay-card-heading-size, 16px);font-weight:var(--et-stream-overlay-card-heading-weight, 600);line-height:var(--et-stream-overlay-card-heading-line-height, 122%);letter-spacing:var(--et-stream-overlay-card-heading-letter-spacing, .2px);color:var(--et-surface-color-solid, currentColor)}.et-stream-consent-description,.et-stream-player-error-description,.et-pip-slot-placeholder-message{margin:0;font-size:var(--et-stream-overlay-card-description-size, 14px);font-weight:var(--et-stream-overlay-card-description-weight, 400);line-height:var(--et-stream-overlay-card-description-line-height, 150%);color:var(--et-surface-color-muted-solid, currentColor)}}\n"] }]
|
|
63721
63830
|
}] });
|
|
63722
63831
|
/** @internal */
|
|
63723
63832
|
const mountStreamOverlayCardStyles = () => injectStyleManager().mount(StreamOverlayCardStylesComponent);
|
|
@@ -63760,7 +63869,7 @@ class StreamConsentComponent {
|
|
|
63760
63869
|
{{ acceptLabel() }}
|
|
63761
63870
|
</button>
|
|
63762
63871
|
</div>
|
|
63763
|
-
`, isInline: true, styles: ["@layer components{@property --et-stream-consent-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
63872
|
+
`, isInline: true, styles: ["@layer components{@property --et-stream-consent-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-consent-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-consent-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-stream-consent-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-stream-consent-heading-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-consent-heading-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-stream-consent-heading-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 122%;}@property --et-stream-consent-heading-letter-spacing{syntax: \"<length>\"; inherits: true; initial-value: .2px;}@property --et-stream-consent-description-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-stream-consent-description-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-stream-consent-description-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}.et-stream-consent{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit)}.et-stream-consent-card{--et-stream-overlay-card-padding: var(--et-stream-consent-padding);--et-stream-overlay-card-gap: var(--et-stream-consent-gap);--et-stream-overlay-card-icon-size: var(--et-stream-consent-icon-size);--et-stream-overlay-card-border-radius: var(--et-stream-consent-border-radius);--et-stream-overlay-card-heading-size: var(--et-stream-consent-heading-size);--et-stream-overlay-card-heading-weight: var(--et-stream-consent-heading-weight);--et-stream-overlay-card-heading-line-height: var(--et-stream-consent-heading-line-height);--et-stream-overlay-card-heading-letter-spacing: var(--et-stream-consent-heading-letter-spacing);--et-stream-overlay-card-description-size: var(--et-stream-consent-description-size);--et-stream-overlay-card-description-weight: var(--et-stream-consent-description-weight);--et-stream-overlay-card-description-line-height: var(--et-stream-consent-description-line-height)}.et-stream-consent-icon{margin-block-end:.4rem}.et-stream-consent-description{margin-block-end:.8rem}}\n"], dependencies: [{ kind: "directive", type: StreamConsentAcceptDirective, selector: "[etStreamConsentAccept]" }, { kind: "component", type: ButtonComponent, selector: "[et-button]", inputs: ["variant", "size", "iconAlignment"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: ProvideSurfaceDirective, selector: "[etProvideSurface]", inputs: ["etProvideSurface"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
63764
63873
|
}
|
|
63765
63874
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StreamConsentComponent, decorators: [{
|
|
63766
63875
|
type: Component,
|
|
@@ -63777,7 +63886,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
63777
63886
|
class: 'et-stream-consent',
|
|
63778
63887
|
role: 'group',
|
|
63779
63888
|
'[attr.aria-labelledby]': 'HEADING_ID',
|
|
63780
|
-
}, styles: ["@layer components{@property --et-stream-consent-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
63889
|
+
}, styles: ["@layer components{@property --et-stream-consent-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-consent-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-consent-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-stream-consent-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-stream-consent-heading-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-consent-heading-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-stream-consent-heading-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 122%;}@property --et-stream-consent-heading-letter-spacing{syntax: \"<length>\"; inherits: true; initial-value: .2px;}@property --et-stream-consent-description-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-stream-consent-description-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-stream-consent-description-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}.et-stream-consent{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit)}.et-stream-consent-card{--et-stream-overlay-card-padding: var(--et-stream-consent-padding);--et-stream-overlay-card-gap: var(--et-stream-consent-gap);--et-stream-overlay-card-icon-size: var(--et-stream-consent-icon-size);--et-stream-overlay-card-border-radius: var(--et-stream-consent-border-radius);--et-stream-overlay-card-heading-size: var(--et-stream-consent-heading-size);--et-stream-overlay-card-heading-weight: var(--et-stream-consent-heading-weight);--et-stream-overlay-card-heading-line-height: var(--et-stream-consent-heading-line-height);--et-stream-overlay-card-heading-letter-spacing: var(--et-stream-consent-heading-letter-spacing);--et-stream-overlay-card-description-size: var(--et-stream-consent-description-size);--et-stream-overlay-card-description-weight: var(--et-stream-consent-description-weight);--et-stream-overlay-card-description-line-height: var(--et-stream-consent-description-line-height)}.et-stream-consent-icon{margin-block-end:.4rem}.et-stream-consent-description{margin-block-end:.8rem}}\n"] }]
|
|
63781
63890
|
}], ctorParameters: () => [] });
|
|
63782
63891
|
|
|
63783
63892
|
const STREAM_PLAYER_ERROR_CONTEXT_TOKEN = new InjectionToken('STREAM_PLAYER_ERROR_CONTEXT_TOKEN');
|
|
@@ -63846,7 +63955,7 @@ class StreamPlayerErrorComponent {
|
|
|
63846
63955
|
{{ retryLabel() }}
|
|
63847
63956
|
</button>
|
|
63848
63957
|
</div>
|
|
63849
|
-
`, isInline: true, styles: ["@layer components{@property --et-stream-player-error-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-player-error-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
63958
|
+
`, isInline: true, styles: ["@layer components{@property --et-stream-player-error-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-player-error-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-player-error-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-stream-player-error-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-stream-player-error-heading-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-player-error-heading-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-stream-player-error-heading-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 122%;}@property --et-stream-player-error-heading-letter-spacing{syntax: \"<length>\"; inherits: true; initial-value: .2px;}@property --et-stream-player-error-description-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-stream-player-error-description-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-stream-player-error-description-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}.et-stream-player-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit);z-index:1}.et-stream-player-error-card{--et-stream-overlay-card-padding: var(--et-stream-player-error-padding);--et-stream-overlay-card-gap: var(--et-stream-player-error-gap);--et-stream-overlay-card-icon-size: var(--et-stream-player-error-icon-size);--et-stream-overlay-card-border-radius: var(--et-stream-player-error-border-radius);--et-stream-overlay-card-heading-size: var(--et-stream-player-error-heading-size);--et-stream-overlay-card-heading-weight: var(--et-stream-player-error-heading-weight);--et-stream-overlay-card-heading-line-height: var(--et-stream-player-error-heading-line-height);--et-stream-overlay-card-heading-letter-spacing: var(--et-stream-player-error-heading-letter-spacing);--et-stream-overlay-card-description-size: var(--et-stream-player-error-description-size);--et-stream-overlay-card-description-weight: var(--et-stream-player-error-description-weight);--et-stream-overlay-card-description-line-height: var(--et-stream-player-error-description-line-height)}.et-stream-player-error-icon{margin-block-end:.4rem}.et-stream-player-error-description{margin-block-end:.8rem}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "[et-button]", inputs: ["variant", "size", "iconAlignment"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: ProvideSurfaceDirective, selector: "[etProvideSurface]", inputs: ["etProvideSurface"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
63850
63959
|
}
|
|
63851
63960
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StreamPlayerErrorComponent, decorators: [{
|
|
63852
63961
|
type: Component,
|
|
@@ -63862,7 +63971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
63862
63971
|
`, encapsulation: ViewEncapsulation.None, imports: [ButtonComponent, IconDirective, ProvideSurfaceDirective], providers: [provideIcons(TRIANGLE_EXCLAMATION_ICON)], hostDirectives: [StreamPlayerErrorDirective], host: {
|
|
63863
63972
|
class: 'et-stream-player-error',
|
|
63864
63973
|
role: 'alert',
|
|
63865
|
-
}, styles: ["@layer components{@property --et-stream-player-error-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-player-error-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
63974
|
+
}, styles: ["@layer components{@property --et-stream-player-error-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-stream-player-error-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-player-error-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-stream-player-error-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-stream-player-error-heading-size{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-stream-player-error-heading-weight{syntax: \"<number>\"; inherits: true; initial-value: 600;}@property --et-stream-player-error-heading-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 122%;}@property --et-stream-player-error-heading-letter-spacing{syntax: \"<length>\"; inherits: true; initial-value: .2px;}@property --et-stream-player-error-description-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-stream-player-error-description-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-stream-player-error-description-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}.et-stream-player-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit);z-index:1}.et-stream-player-error-card{--et-stream-overlay-card-padding: var(--et-stream-player-error-padding);--et-stream-overlay-card-gap: var(--et-stream-player-error-gap);--et-stream-overlay-card-icon-size: var(--et-stream-player-error-icon-size);--et-stream-overlay-card-border-radius: var(--et-stream-player-error-border-radius);--et-stream-overlay-card-heading-size: var(--et-stream-player-error-heading-size);--et-stream-overlay-card-heading-weight: var(--et-stream-player-error-heading-weight);--et-stream-overlay-card-heading-line-height: var(--et-stream-player-error-heading-line-height);--et-stream-overlay-card-heading-letter-spacing: var(--et-stream-player-error-heading-letter-spacing);--et-stream-overlay-card-description-size: var(--et-stream-player-error-description-size);--et-stream-overlay-card-description-weight: var(--et-stream-player-error-description-weight);--et-stream-overlay-card-description-line-height: var(--et-stream-player-error-description-line-height)}.et-stream-player-error-icon{margin-block-end:.4rem}.et-stream-player-error-description{margin-block-end:.8rem}}\n"] }]
|
|
63866
63975
|
}], ctorParameters: () => [] });
|
|
63867
63976
|
|
|
63868
63977
|
const DEFAULT_STREAM_PLAYER_LOADING_CONFIG = {
|
|
@@ -65553,12 +65662,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
65553
65662
|
}]
|
|
65554
65663
|
}] });
|
|
65555
65664
|
|
|
65665
|
+
/** @internal */
|
|
65666
|
+
class PipStageStylesComponent {
|
|
65667
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PipStageStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65668
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: PipStageStylesComponent, isStandalone: true, selector: "et-pip-stage-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{et-pip-window:has(.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)):not(:has(.et-stream-pip-chrome__cell--featured .et-pip-player--ready)){visibility:hidden;pointer-events:none}et-pip-window:has(.et-stream-pip-chrome__stage--grid):not(:has(.et-stream-pip-chrome__cell .et-pip-player--ready)){visibility:hidden;pointer-events:none}.et-stream-pip-chrome__stage{position:absolute;inset:0;overflow:hidden;clip-path:inset(0)}.et-stream-pip-chrome__cell{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0;will-change:transform;overflow:hidden;transform:translate(calc(((var(--et-cell-col, 1) - 1) + var(--et-cell-exit-h, 0) * var(--et-pip-grid-cols, 1)) / var(--et-pip-grid-cols, 1) * 100%),calc((2 * (var(--et-cell-row, 1) - 1) + var(--et-pip-grid-cols, 1) - var(--et-pip-grid-rows, 1)) / (2 * var(--et-pip-grid-cols, 1)) * 100% + var(--et-cell-exit-v, 0) * 100%)) scale(calc(1 / var(--et-pip-grid-cols, 1)))}.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)>.et-stream-pip-chrome__cell--featured{transform:none}.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)>.et-stream-pip-chrome__cell:not(.et-stream-pip-chrome__cell--featured){transform:translate(calc(var(--et-cell-exit-h, 0) * 100%),calc(var(--et-cell-exit-v, 0) * 100%))}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell{cursor:pointer}.et-stream-pip-chrome__cell:after{content:\"\";position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 0 5px transparent;transition:box-shadow .15s;pointer-events:none}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:after{pointer-events:auto}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:focus-visible:after{box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 35%,transparent)}@media(hover:hover){.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:hover:after{box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 35%,transparent)}}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:focus-visible{outline:none}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell--featured:after{box-shadow:inset 0 0 0 5px var(--et-stream-pip-chrome-featured-ring-color, var(--et-theme-color-primary-solid, #3b82f6))}et-pip-player iframe{width:100%!important;height:100%!important;display:block}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
65669
|
+
}
|
|
65670
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PipStageStylesComponent, decorators: [{
|
|
65671
|
+
type: Component,
|
|
65672
|
+
args: [{ selector: 'et-pip-stage-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{et-pip-window:has(.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)):not(:has(.et-stream-pip-chrome__cell--featured .et-pip-player--ready)){visibility:hidden;pointer-events:none}et-pip-window:has(.et-stream-pip-chrome__stage--grid):not(:has(.et-stream-pip-chrome__cell .et-pip-player--ready)){visibility:hidden;pointer-events:none}.et-stream-pip-chrome__stage{position:absolute;inset:0;overflow:hidden;clip-path:inset(0)}.et-stream-pip-chrome__cell{position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:0 0;will-change:transform;overflow:hidden;transform:translate(calc(((var(--et-cell-col, 1) - 1) + var(--et-cell-exit-h, 0) * var(--et-pip-grid-cols, 1)) / var(--et-pip-grid-cols, 1) * 100%),calc((2 * (var(--et-cell-row, 1) - 1) + var(--et-pip-grid-cols, 1) - var(--et-pip-grid-rows, 1)) / (2 * var(--et-pip-grid-cols, 1)) * 100% + var(--et-cell-exit-v, 0) * 100%)) scale(calc(1 / var(--et-pip-grid-cols, 1)))}.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)>.et-stream-pip-chrome__cell--featured{transform:none}.et-stream-pip-chrome__stage:not(.et-stream-pip-chrome__stage--grid)>.et-stream-pip-chrome__cell:not(.et-stream-pip-chrome__cell--featured){transform:translate(calc(var(--et-cell-exit-h, 0) * 100%),calc(var(--et-cell-exit-v, 0) * 100%))}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell{cursor:pointer}.et-stream-pip-chrome__cell:after{content:\"\";position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 0 5px transparent;transition:box-shadow .15s;pointer-events:none}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:after{pointer-events:auto}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:focus-visible:after{box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 35%,transparent)}@media(hover:hover){.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:hover:after{box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--et-surface-interaction-solid, rgb(255 255 255)) 35%,transparent)}}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell:focus-visible{outline:none}.et-stream-pip-chrome__stage--grid>.et-stream-pip-chrome__cell--featured:after{box-shadow:inset 0 0 0 5px var(--et-stream-pip-chrome-featured-ring-color, var(--et-theme-color-primary-solid, #3b82f6))}et-pip-player iframe{width:100%!important;height:100%!important;display:block}}\n"] }]
|
|
65673
|
+
}] });
|
|
65674
|
+
/** @internal */
|
|
65675
|
+
const mountPipStageStyles = () => injectStyleManager().mount(PipStageStylesComponent);
|
|
65676
|
+
|
|
65556
65677
|
class PipStageDirective {
|
|
65557
65678
|
constructor() {
|
|
65558
65679
|
this.chrome = inject(PIP_CHROME_REF_TOKEN);
|
|
65680
|
+
mountPipStageStyles();
|
|
65559
65681
|
}
|
|
65560
65682
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PipStageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65561
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: PipStageDirective, isStandalone: true, selector: "[etPipStage]", host: { properties: { "style.--et-pip-grid-cols": "chrome.state.gridCols()", "style.--et-pip-grid-rows": "chrome.state.gridRows()" }, classAttribute: "et-stream-pip-chrome__stage" }, ngImport: i0 }); }
|
|
65683
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: PipStageDirective, isStandalone: true, selector: "[etPipStage]", host: { properties: { "class.et-stream-pip-chrome__stage--grid": "chrome.state.multiView()", "style.--et-pip-grid-cols": "chrome.state.gridCols()", "style.--et-pip-grid-rows": "chrome.state.gridRows()" }, classAttribute: "et-stream-pip-chrome__stage" }, ngImport: i0 }); }
|
|
65562
65684
|
}
|
|
65563
65685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PipStageDirective, decorators: [{
|
|
65564
65686
|
type: Directive,
|
|
@@ -65566,11 +65688,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
65566
65688
|
selector: '[etPipStage]',
|
|
65567
65689
|
host: {
|
|
65568
65690
|
class: 'et-stream-pip-chrome__stage',
|
|
65691
|
+
'[class.et-stream-pip-chrome__stage--grid]': 'chrome.state.multiView()',
|
|
65569
65692
|
'[style.--et-pip-grid-cols]': 'chrome.state.gridCols()',
|
|
65570
65693
|
'[style.--et-pip-grid-rows]': 'chrome.state.gridRows()',
|
|
65571
65694
|
},
|
|
65572
65695
|
}]
|
|
65573
|
-
}] });
|
|
65696
|
+
}], ctorParameters: () => [] });
|
|
65574
65697
|
|
|
65575
65698
|
// codes 1600-1699
|
|
65576
65699
|
const STREAM_ERROR_CODES = {
|
|
@@ -65748,7 +65871,7 @@ class StreamPipChromeComponent {
|
|
|
65748
65871
|
return chrome.state.windowAspectRatio;
|
|
65749
65872
|
},
|
|
65750
65873
|
},
|
|
65751
|
-
], viewQueries: [{ propertyName: "stageRef", first: true, predicate: PipStageDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "pipWindowRef", first: true, predicate: PipWindowComponent, descendants: true, isSignal: true }, { propertyName: "gridBtnRef", first: true, predicate: PipGridToggleDirective, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.ProvideSurfaceDirective }], ngImport: i0, template: "<et-pip-window>\n <ng-template etPipTitleBar>\n @if (state.showBackButton()) {\n <button [color]=\"controlsColor()\" [size]=\"WINDOW_CONTROL_BUTTON_SIZE\" et-window-control-button etPipBack>\n <i etIcon=\"et-arrow-out-up-right\"></i>\n </button>\n }\n <span class=\"et-pip-window__title-bar-spacer\"></span>\n @if (state.hasMultiplePips()) {\n <button\n [color]=\"controlsColor()\"\n [pressed]=\"state.multiView()\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipGridToggle\n >\n @if (state.multiView()) {\n <i etIcon=\"et-focus-frame\"></i>\n } @else {\n <i etIcon=\"et-grid-2x2\"></i>\n }\n </button>\n }\n <button\n [color]=\"controlsColor()\"\n [kind]=\"CLOSE_KIND\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipClose\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </ng-template>\n\n <div etPipStage>\n @for (c of state.cells(); track c.playerId) {\n <div [etPipCell]=\"c\">\n <et-pip-player />\n </div>\n }\n </div>\n</et-pip-window>\n",
|
|
65874
|
+
], viewQueries: [{ propertyName: "stageRef", first: true, predicate: PipStageDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "pipWindowRef", first: true, predicate: PipWindowComponent, descendants: true, isSignal: true }, { propertyName: "gridBtnRef", first: true, predicate: PipGridToggleDirective, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.ProvideSurfaceDirective }], ngImport: i0, template: "<et-pip-window>\n <ng-template etPipTitleBar>\n @if (state.showBackButton()) {\n <button [color]=\"controlsColor()\" [size]=\"WINDOW_CONTROL_BUTTON_SIZE\" et-window-control-button etPipBack>\n <i etIcon=\"et-arrow-out-up-right\"></i>\n </button>\n }\n <span class=\"et-pip-window__title-bar-spacer\"></span>\n @if (state.hasMultiplePips()) {\n <button\n [color]=\"controlsColor()\"\n [pressed]=\"state.multiView()\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipGridToggle\n >\n @if (state.multiView()) {\n <i etIcon=\"et-focus-frame\"></i>\n } @else {\n <i etIcon=\"et-grid-2x2\"></i>\n }\n </button>\n }\n <button\n [color]=\"controlsColor()\"\n [kind]=\"CLOSE_KIND\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipClose\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </ng-template>\n\n <div etPipStage>\n @for (c of state.cells(); track c.playerId) {\n <div [etPipCell]=\"c\">\n <et-pip-player />\n </div>\n }\n </div>\n</et-pip-window>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "component", type: PipWindowComponent, selector: "et-pip-window" }, { kind: "component", type: PipPlayerComponent, selector: "et-pip-player", inputs: ["entry", "showThumbnail"] }, { kind: "directive", type: PipBackDirective, selector: "[etPipBack]", inputs: ["entry"] }, { kind: "directive", type: PipGridToggleDirective, selector: "[etPipGridToggle]" }, { kind: "directive", type: PipStageDirective, selector: "[etPipStage]" }, { kind: "directive", type: PipTitleBarTemplateDirective, selector: "ng-template[etPipTitleBar]" }, { kind: "directive", type: PipCellDirective, selector: "[etPipCell]", inputs: ["etPipCell"] }, { kind: "directive", type: PipCloseDirective, selector: "[etPipClose]", inputs: ["entry"] }, { kind: "component", type: WindowControlButtonComponent, selector: "[et-window-control-button]", inputs: ["size", "kind"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
65752
65875
|
}
|
|
65753
65876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StreamPipChromeComponent, decorators: [{
|
|
65754
65877
|
type: Component,
|
|
@@ -65776,7 +65899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
65776
65899
|
], hostDirectives: [ProvideSurfaceDirective], host: {
|
|
65777
65900
|
class: 'et-stream-pip-chrome',
|
|
65778
65901
|
'[class.et-stream-pip-chrome--grid]': 'state.multiView()',
|
|
65779
|
-
}, template: "<et-pip-window>\n <ng-template etPipTitleBar>\n @if (state.showBackButton()) {\n <button [color]=\"controlsColor()\" [size]=\"WINDOW_CONTROL_BUTTON_SIZE\" et-window-control-button etPipBack>\n <i etIcon=\"et-arrow-out-up-right\"></i>\n </button>\n }\n <span class=\"et-pip-window__title-bar-spacer\"></span>\n @if (state.hasMultiplePips()) {\n <button\n [color]=\"controlsColor()\"\n [pressed]=\"state.multiView()\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipGridToggle\n >\n @if (state.multiView()) {\n <i etIcon=\"et-focus-frame\"></i>\n } @else {\n <i etIcon=\"et-grid-2x2\"></i>\n }\n </button>\n }\n <button\n [color]=\"controlsColor()\"\n [kind]=\"CLOSE_KIND\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipClose\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </ng-template>\n\n <div etPipStage>\n @for (c of state.cells(); track c.playerId) {\n <div [etPipCell]=\"c\">\n <et-pip-player />\n </div>\n }\n </div>\n</et-pip-window>\n"
|
|
65902
|
+
}, template: "<et-pip-window>\n <ng-template etPipTitleBar>\n @if (state.showBackButton()) {\n <button [color]=\"controlsColor()\" [size]=\"WINDOW_CONTROL_BUTTON_SIZE\" et-window-control-button etPipBack>\n <i etIcon=\"et-arrow-out-up-right\"></i>\n </button>\n }\n <span class=\"et-pip-window__title-bar-spacer\"></span>\n @if (state.hasMultiplePips()) {\n <button\n [color]=\"controlsColor()\"\n [pressed]=\"state.multiView()\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipGridToggle\n >\n @if (state.multiView()) {\n <i etIcon=\"et-focus-frame\"></i>\n } @else {\n <i etIcon=\"et-grid-2x2\"></i>\n }\n </button>\n }\n <button\n [color]=\"controlsColor()\"\n [kind]=\"CLOSE_KIND\"\n [size]=\"WINDOW_CONTROL_BUTTON_SIZE\"\n et-window-control-button\n etPipClose\n >\n <i etIcon=\"et-times\"></i>\n </button>\n </ng-template>\n\n <div etPipStage>\n @for (c of state.cells(); track c.playerId) {\n <div [etPipCell]=\"c\">\n <et-pip-player />\n </div>\n }\n </div>\n</et-pip-window>\n" }]
|
|
65780
65903
|
}], ctorParameters: () => [], propDecorators: { stageRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PipStageDirective), { ...{ read: ElementRef }, isSignal: true }] }], pipWindowRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PipWindowComponent), { isSignal: true }] }], gridBtnRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PipGridToggleDirective), { ...{
|
|
65781
65904
|
read: ElementRef,
|
|
65782
65905
|
}, isSignal: true }] }] } });
|
|
@@ -65850,7 +65973,7 @@ class PipSlotPlaceholderComponent {
|
|
|
65850
65973
|
</div>
|
|
65851
65974
|
</div>
|
|
65852
65975
|
}
|
|
65853
|
-
`, isInline: true, styles: ["@layer components{@property --et-pip-slot-placeholder-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-pip-slot-placeholder-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
65976
|
+
`, isInline: true, styles: ["@layer components{@property --et-pip-slot-placeholder-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-pip-slot-placeholder-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-pip-slot-placeholder-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-pip-slot-placeholder-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-pip-slot-placeholder-message-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-pip-slot-placeholder-message-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-pip-slot-placeholder-message-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}et-pip-slot-placeholder{display:contents}.et-pip-slot-placeholder-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit);z-index:20}.et-pip-slot-placeholder-card{--et-stream-overlay-card-gap: var(--et-pip-slot-placeholder-gap);--et-stream-overlay-card-padding: var(--et-pip-slot-placeholder-padding);--et-stream-overlay-card-icon-size: var(--et-pip-slot-placeholder-icon-size);--et-stream-overlay-card-border-radius: var(--et-pip-slot-placeholder-border-radius);--et-stream-overlay-card-description-size: var(--et-pip-slot-placeholder-message-size);--et-stream-overlay-card-description-weight: var(--et-pip-slot-placeholder-message-weight);--et-stream-overlay-card-description-line-height: var(--et-pip-slot-placeholder-message-line-height)}}\n"], dependencies: [{ kind: "directive", type: PipBringBackDirective, selector: "[etPipBringBack]" }, { kind: "component", type: ButtonComponent, selector: "[et-button]", inputs: ["variant", "size", "iconAlignment"] }, { kind: "directive", type: IconDirective, selector: "[etIcon]", inputs: ["etIcon", "variant", "allowHardcodedColor", "label"] }, { kind: "directive", type: ProvideSurfaceDirective, selector: "[etProvideSurface]", inputs: ["etProvideSurface"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
65854
65977
|
}
|
|
65855
65978
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PipSlotPlaceholderComponent, decorators: [{
|
|
65856
65979
|
type: Component,
|
|
@@ -65866,7 +65989,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
|
|
|
65866
65989
|
</div>
|
|
65867
65990
|
</div>
|
|
65868
65991
|
}
|
|
65869
|
-
`, encapsulation: ViewEncapsulation.None, imports: [PipBringBackDirective, ButtonComponent, IconDirective, ProvideSurfaceDirective], providers: [provideIcons(ARROW_OUT_UP_RIGHT_ICON)], styles: ["@layer components{@property --et-pip-slot-placeholder-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-pip-slot-placeholder-padding{syntax: \"<length>\"; inherits: true; initial-value:
|
|
65992
|
+
`, encapsulation: ViewEncapsulation.None, imports: [PipBringBackDirective, ButtonComponent, IconDirective, ProvideSurfaceDirective], providers: [provideIcons(ARROW_OUT_UP_RIGHT_ICON)], styles: ["@layer components{@property --et-pip-slot-placeholder-gap{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-pip-slot-placeholder-padding{syntax: \"<length>\"; inherits: true; initial-value: 16px;}@property --et-pip-slot-placeholder-icon-size{syntax: \"<length>\"; inherits: true; initial-value: 36px;}@property --et-pip-slot-placeholder-border-radius{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-pip-slot-placeholder-message-size{syntax: \"<length>\"; inherits: true; initial-value: 14px;}@property --et-pip-slot-placeholder-message-weight{syntax: \"<number>\"; inherits: true; initial-value: 400;}@property --et-pip-slot-placeholder-message-line-height{syntax: \"<percentage>\"; inherits: true; initial-value: 150%;}et-pip-slot-placeholder{display:contents}.et-pip-slot-placeholder-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--et-surface-background-solid, inherit);color:var(--et-surface-color-solid, inherit);z-index:20}.et-pip-slot-placeholder-card{--et-stream-overlay-card-gap: var(--et-pip-slot-placeholder-gap);--et-stream-overlay-card-padding: var(--et-pip-slot-placeholder-padding);--et-stream-overlay-card-icon-size: var(--et-pip-slot-placeholder-icon-size);--et-stream-overlay-card-border-radius: var(--et-pip-slot-placeholder-border-radius);--et-stream-overlay-card-description-size: var(--et-pip-slot-placeholder-message-size);--et-stream-overlay-card-description-weight: var(--et-pip-slot-placeholder-message-weight);--et-stream-overlay-card-description-line-height: var(--et-pip-slot-placeholder-message-line-height)}}\n"] }]
|
|
65870
65993
|
}], ctorParameters: () => [], propDecorators: { bringBackDir: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PipBringBackDirective), { isSignal: true }] }] } });
|
|
65871
65994
|
|
|
65872
65995
|
const PIP_CHROME_MANAGER_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
@@ -77114,7 +77237,7 @@ const provideUnsavedChangesAlertDialog = () => provideUnsavedChangesConfirm(() =
|
|
|
77114
77237
|
|
|
77115
77238
|
// Generated from package.json by tools/scripts/generate-version.js - do not edit.
|
|
77116
77239
|
/** The version of `@ethlete/components` this build was cut from. */
|
|
77117
|
-
const COMPONENTS_VERSION = '1.0.0-next.
|
|
77240
|
+
const COMPONENTS_VERSION = '1.0.0-next.73';
|
|
77118
77241
|
|
|
77119
77242
|
/**
|
|
77120
77243
|
* Generated bundle index. Do not edit.
|