@ethlete/components 1.0.0-next.50 → 1.0.0-next.52

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0-next.52
4
+
5
+ ### Patch Changes
6
+
7
+ - [`5c1190a`](https://github.com/ethlete-io/ethdk/commit/5c1190ac76c244ff1c293b390dd599ed016d26de) Thanks [@TomTomB](https://github.com/TomTomB)! - Overlays: a press on a surface stacked above them no longer counts as an outside press, so working in the query devtools leaves an open dialog, sheet, menu, select or tooltip alone.
8
+
9
+ ## 1.0.0-next.51
10
+
11
+ ### Patch Changes
12
+
13
+ - [#3063](https://github.com/ethlete-io/ethdk/pull/3063) [`37067ce`](https://github.com/ethlete-io/ethdk/commit/37067cee67c5cd360360a5f59c29f58afc08e62c) Thanks [@TomTomB](https://github.com/TomTomB)! - A single-scheme app no longer needs a root `etProvideSurface`: its default surface paints `:root` unconditionally once the surface CSS is regenerated, and the outermost provider resolves it through the new `injectDefaultSurfaceTheme()` / `injectSurfaceType()`.
14
+
3
15
  ## 1.0.0-next.50
4
16
 
5
17
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, input, booleanAttribute, signal, computed, effect, untracked, Directive, inject, afterNextRender, DestroyRef, TemplateRef, ElementRef, model, linkedSignal, ViewEncapsulation, Component, numberAttribute, contentChildren, Injector, output, runInInjectionContext, contentChild, NgZone, ApplicationRef, viewChild, ViewContainerRef, createEnvironmentInjector, DOCUMENT, EnvironmentInjector, inputBinding, createComponent, isSignal, assertInInjectionContext, isDevMode as isDevMode$1, provideEnvironmentInitializer, viewChildren, afterRenderEffect, outputBinding, afterEveryRender, PLATFORM_ID } from '@angular/core';
3
3
  import * as i1 from '@ethlete/core';
4
- import { injectHostElement, RuntimeError, createComponentId, ProvideColorDirective, defineLabels, toProvideFn, toInjectFn, toToken, injectStyleManager, SurfaceInteractiveDirective, createCanAnimateSignal, ColorInteractiveDirective, injectSuccessTheme, injectWarningTheme, injectErrorTheme, injectLocale, defineStaticRootProvider, inferMimeType, injectColorThemes, injectRenderer, ProvideSurfaceDirective, COLOR_PROVIDER, SURFACE_PROVIDER, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceContextTracker, injectBoundaryElement, ANIMATED_LIFECYCLE_TOKEN, resolveAppRootColorProvider, resolveSurfaceByElevation, createCssSurfaceName, provideBoundaryElement, AnimatedLifecycleDirective, injectBreakpointObserver, isHTMLElement, equal, animationDebugLog, resolveOverlayLayer, defineRootProvider, injectOverlayRuntime, anchoredOverlayPosition, enableAnchoredOverlayPositionExtras, randomId, forceReflow, nextFrame, elementCanScroll, matchesReducedMotion, createSwipeTracker, ScrollObserverDirective, signalElementScrollState, ScrollObserverStartDirective, ScrollObserverEndDirective, applyHostListener, injectQueryParam, defineProvider, fromNextFrame, injectRoute, createUnsavedChangesTracker, createDocumentElementSignal, AnimatedIfDirective, signalElementDimensions, applyInitialFocus, syncSignal, AutoSurfaceDirective, setInputSignal, injectTemplateRef, signalHostElementScrollState, applyStructuredDataBinding, typedBreakpointTransform, signalElementChildren, signalElementIntersection, signalHostAttributes, signalHostClasses, signalHostStyles, getScrollContainerTarget, getScrollItemTarget, getElementScrollCoordinates, provideBreakpointInstance, signalClasses, useCursorDragScroll, signalStyles, getScrollSnapTarget, injectPrefersReducedMotion, injectIsDocumentVisible, signalHostElementIntersection, clamp as clamp$1, copyToClipboard, injectAnimatedBlockSize, injectObserveBreakpoint, signalDeferredLoading, AnimatableDirective, ColorInteractiveContainerDirective, ColorInteractiveExcludeDirective, createFlipAnimation, createObjectUrlHandle, createFlipAnimationGroup, focusElement, isFocusable, getFocusableElements, ColorInteractiveHasFocusDirective, dragGestureFrom, injectFocusVisibleTracker, htmlToMarkdown, markdownToHtml, injectHasTouchInput, signalHostElementDimensions, DragHandleDirective, ResizeHandlesComponent, numberBreakpointTransform, applyLinkBinding, applyHeadTitleBinding, injectColorPalette, injectViewportSize, injectFileDownload, injectRouterEvent, canUseSessionMemory, createAutoSessionMemoryKey, createSessionMemory } from '@ethlete/core';
4
+ import { injectHostElement, RuntimeError, createComponentId, ProvideColorDirective, defineLabels, toProvideFn, toInjectFn, toToken, injectStyleManager, SurfaceInteractiveDirective, createCanAnimateSignal, ColorInteractiveDirective, injectSuccessTheme, injectWarningTheme, injectErrorTheme, injectLocale, defineStaticRootProvider, inferMimeType, injectColorThemes, injectRenderer, ProvideSurfaceDirective, COLOR_PROVIDER, SURFACE_PROVIDER, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceContextTracker, injectBoundaryElement, ANIMATED_LIFECYCLE_TOKEN, resolveAppRootColorProvider, resolveSurfaceByElevation, createCssSurfaceName, provideBoundaryElement, AnimatedLifecycleDirective, injectBreakpointObserver, isHTMLElement, equal, animationDebugLog, resolveOverlayLayer, defineRootProvider, injectOverlayRuntime, anchoredOverlayPosition, enableAnchoredOverlayPositionExtras, randomId, forceReflow, nextFrame, elementCanScroll, matchesReducedMotion, createSwipeTracker, ScrollObserverDirective, signalElementScrollState, ScrollObserverStartDirective, ScrollObserverEndDirective, applyHostListener, injectQueryParam, defineProvider, fromNextFrame, injectRoute, createUnsavedChangesTracker, createDocumentElementSignal, AnimatedIfDirective, signalElementDimensions, applyInitialFocus, syncSignal, AutoSurfaceDirective, setInputSignal, injectTemplateRef, signalHostElementScrollState, applyStructuredDataBinding, typedBreakpointTransform, signalElementChildren, signalElementIntersection, signalHostAttributes, signalHostClasses, signalHostStyles, getScrollContainerTarget, getScrollItemTarget, getElementScrollCoordinates, provideBreakpointInstance, signalClasses, useCursorDragScroll, signalStyles, getScrollSnapTarget, injectPrefersReducedMotion, injectIsDocumentVisible, signalHostElementIntersection, clamp as clamp$1, copyToClipboard, isOnHigherOverlayLayer, injectAnimatedBlockSize, injectObserveBreakpoint, signalDeferredLoading, AnimatableDirective, ColorInteractiveContainerDirective, ColorInteractiveExcludeDirective, createFlipAnimation, createObjectUrlHandle, createFlipAnimationGroup, focusElement, isFocusable, getFocusableElements, ColorInteractiveHasFocusDirective, dragGestureFrom, injectFocusVisibleTracker, htmlToMarkdown, markdownToHtml, injectHasTouchInput, signalHostElementDimensions, DragHandleDirective, ResizeHandlesComponent, numberBreakpointTransform, applyLinkBinding, applyHeadTitleBinding, injectColorPalette, injectSurfaceType, injectViewportSize, injectFileDownload, injectRouterEvent, canUseSessionMemory, createAutoSessionMemoryKey, createSessionMemory } from '@ethlete/core';
5
5
  import { NgTemplateOutlet, NgComponentOutlet, Location, DOCUMENT as DOCUMENT$1, isPlatformBrowser } from '@angular/common';
6
6
  import { DomSanitizer } from '@angular/platform-browser';
7
7
  import { format, startOfWeek, startOfDay, endOfWeek, isBefore, addDays, endOfMonth, startOfMonth, isSameYear, isSameMonth, isSameDay, startOfYear, isAfter, addYears, addMonths, setMonth, setYear, getDate, setDate, lastDayOfMonth, getWeek, endOfYear, parse, isValid, setSeconds, setMinutes, setHours, setMilliseconds, endOfDay, eachDayOfInterval, differenceInCalendarDays, addMinutes, differenceInMinutes, addHours } from 'date-fns';
@@ -20025,6 +20025,9 @@ const createAnchoredPanelController = (options) => {
20025
20025
  if (options.anchor()?.contains(target)) {
20026
20026
  return;
20027
20027
  }
20028
+ if (isOnHigherOverlayLayer(target, resolveOverlayLayer(pane ?? options.anchor()))) {
20029
+ return;
20030
+ }
20028
20031
  closedByOutsidePointer = true;
20029
20032
  if (options.open()) {
20030
20033
  options.open.set(false);
@@ -31115,7 +31118,7 @@ class TooltipDirective {
31115
31118
  dismissOnOutsidePointer(overlayRef) {
31116
31119
  const hostElement = this.elementRef.nativeElement;
31117
31120
  fromEvent(this.document, 'pointerdown', { capture: true })
31118
- .pipe(takeUntil(overlayRef.afterClosed()), takeUntilDestroyed(this.destroyRef), filter((event) => !(event.target instanceof Node) || !hostElement.contains(event.target)), tap(() => {
31121
+ .pipe(takeUntil(overlayRef.afterClosed()), takeUntilDestroyed(this.destroyRef), filter((event) => !(event.target instanceof Node) || !hostElement.contains(event.target)), filter((event) => !isOnHigherOverlayLayer(event.target, resolveOverlayLayer(hostElement))), tap(() => {
31119
31122
  this.hasHover.set(false);
31120
31123
  this.hasFocus.set(false);
31121
31124
  this.hide();
@@ -35801,6 +35804,9 @@ class MenuDirective {
35801
35804
  if (this.isTargetInsideTree(event.target)) {
35802
35805
  return;
35803
35806
  }
35807
+ if (isOnHigherOverlayLayer(event.target, resolveOverlayLayer(this.hostElement))) {
35808
+ return;
35809
+ }
35804
35810
  const triggerElement = this.registeredTrigger()?.elementRef.nativeElement;
35805
35811
  // the subsequent click on the trigger toggles the menu closed on its own
35806
35812
  if (triggerElement && event.target instanceof Node && triggerElement.contains(event.target)) {
@@ -55094,6 +55100,7 @@ let nextHeadingId = 0;
55094
55100
  class StreamConsentComponent {
55095
55101
  constructor() {
55096
55102
  this.parentSurfaceProvider = inject(SURFACE_PROVIDER, { optional: true, skipSelf: true });
55103
+ this.surfaceType = injectSurfaceType();
55097
55104
  this.config = injectStreamConsentConfig();
55098
55105
  this.labels = injectStreamLabels();
55099
55106
  this.surfaceThemes = injectSurfaceThemes({ optional: true });
@@ -55102,7 +55109,7 @@ class StreamConsentComponent {
55102
55109
  const themes = this.surfaceThemes;
55103
55110
  if (!themes)
55104
55111
  return null;
55105
- const type = this.parentSurfaceProvider?.surfaceType() ?? 'dark';
55112
+ const type = this.surfaceType();
55106
55113
  const elevation = (this.parentSurfaceProvider?.elevation() ?? 0) + 1;
55107
55114
  return resolveSurfaceByElevation(themes, type, elevation)?.name ?? null;
55108
55115
  }, /* @ts-ignore */
@@ -55176,6 +55183,7 @@ class StreamPlayerErrorComponent {
55176
55183
  constructor() {
55177
55184
  this.errorDirective = inject(STREAM_PLAYER_ERROR_TOKEN);
55178
55185
  this.parentSurfaceProvider = inject(SURFACE_PROVIDER, { optional: true, skipSelf: true });
55186
+ this.surfaceType = injectSurfaceType();
55179
55187
  this.config = injectStreamPlayerErrorConfig();
55180
55188
  this.labels = injectStreamLabels();
55181
55189
  this.surfaceThemes = injectSurfaceThemes({ optional: true });
@@ -55183,7 +55191,7 @@ class StreamPlayerErrorComponent {
55183
55191
  const themes = this.surfaceThemes;
55184
55192
  if (!themes)
55185
55193
  return null;
55186
- const type = this.parentSurfaceProvider?.surfaceType() ?? 'dark';
55194
+ const type = this.surfaceType();
55187
55195
  const elevation = (this.parentSurfaceProvider?.elevation() ?? 0) + 1;
55188
55196
  return resolveSurfaceByElevation(themes, type, elevation)?.name ?? null;
55189
55197
  }, /* @ts-ignore */
@@ -57012,6 +57020,7 @@ class PipSlotPlaceholderComponent {
57012
57020
  constructor() {
57013
57021
  this.slotPlayerId = inject(STREAM_SLOT_PLAYER_ID_TOKEN);
57014
57022
  this.parentSurfaceProvider = inject(SURFACE_PROVIDER, { optional: true, skipSelf: true });
57023
+ this.surfaceType = injectSurfaceType();
57015
57024
  this.pipManager = injectPipManager();
57016
57025
  this.config = injectPipSlotPlaceholderConfig();
57017
57026
  this.labels = injectStreamLabels();
@@ -57022,7 +57031,7 @@ class PipSlotPlaceholderComponent {
57022
57031
  const themes = this.surfaceThemes;
57023
57032
  if (!themes)
57024
57033
  return null;
57025
- const type = this.parentSurfaceProvider?.surfaceType() ?? 'dark';
57034
+ const type = this.surfaceType();
57026
57035
  const elevation = (this.parentSurfaceProvider?.elevation() ?? 0) + 1;
57027
57036
  return resolveSurfaceByElevation(themes, type, elevation)?.name ?? null;
57028
57037
  }, /* @ts-ignore */
@@ -57415,6 +57424,7 @@ class StreamPlayerSlotDirective {
57415
57424
  this.playerComponent = inject(STREAM_PLAYER_COMPONENT_TOKEN);
57416
57425
  this.provideSurface = inject(ProvideSurfaceDirective);
57417
57426
  this.parentSurfaceProvider = inject(SURFACE_PROVIDER, { optional: true, skipSelf: true });
57427
+ this.surfaceType = injectSurfaceType();
57418
57428
  this.surfaceThemes = injectSurfaceThemes({ optional: true });
57419
57429
  this.styleManager = injectStyleManager();
57420
57430
  this.streamSlotPriority = input(false, { ...(ngDevMode ? { debugName: "streamSlotPriority" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
@@ -57424,7 +57434,7 @@ class StreamPlayerSlotDirective {
57424
57434
  const themes = this.surfaceThemes;
57425
57435
  if (!themes)
57426
57436
  return null;
57427
- const type = this.parentSurfaceProvider?.surfaceType() ?? 'dark';
57437
+ const type = this.surfaceType();
57428
57438
  const elevation = (this.parentSurfaceProvider?.elevation() ?? 0) + 1;
57429
57439
  return resolveSurfaceByElevation(themes, type, elevation);
57430
57440
  }, /* @ts-ignore */
@@ -66319,7 +66329,7 @@ const TREE_IMPORTS = [TreeComponent, TreeDirective, TreeNodeDirective, TreeNodeD
66319
66329
 
66320
66330
  // Generated from package.json by tools/scripts/generate-version.js - do not edit.
66321
66331
  /** The version of `@ethlete/components` this build was cut from. */
66322
- const COMPONENTS_VERSION = '1.0.0-next.50';
66332
+ const COMPONENTS_VERSION = '1.0.0-next.52';
66323
66333
 
66324
66334
  /**
66325
66335
  * Generated bundle index. Do not edit.