@ethlete/core 4.4.1 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
  2. package/esm2022/lib/decorators/memo/memo.decorator.mjs +1 -1
  3. package/esm2022/lib/directives/animatable/animatable.directive.mjs +4 -4
  4. package/esm2022/lib/directives/animated-if/animated-if.directive.mjs +4 -4
  5. package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +4 -4
  6. package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +4 -4
  7. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +4 -4
  8. package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +4 -4
  9. package/esm2022/lib/directives/debug/debug.directive.mjs +3 -3
  10. package/esm2022/lib/directives/delayable/delayable.directive.mjs +4 -4
  11. package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
  12. package/esm2022/lib/directives/is-element/is-element.directive.mjs +3 -3
  13. package/esm2022/lib/directives/let/let.directive.mjs +4 -4
  14. package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +4 -4
  15. package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +4 -4
  16. package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +4 -4
  17. package/esm2022/lib/directives/observe-visibility/observe-visibility.directive.mjs +4 -4
  18. package/esm2022/lib/directives/repeat/repeat.directive.mjs +4 -4
  19. package/esm2022/lib/directives/root-boundary/root-boundary.directive.mjs +3 -3
  20. package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
  21. package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
  22. package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
  23. package/esm2022/lib/directives/seo/seo.directive.mjs +4 -4
  24. package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.pipe.mjs +3 -3
  25. package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.util.mjs +1 -1
  26. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
  27. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.mjs +1 -1
  28. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
  29. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.util.mjs +1 -1
  30. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
  31. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.util.mjs +1 -1
  32. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
  33. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.util.mjs +1 -1
  34. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
  35. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.util.mjs +1 -1
  36. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  37. package/esm2022/lib/props/create-prop-handlers.mjs +17 -0
  38. package/esm2022/lib/props/create-props.mjs +51 -0
  39. package/esm2022/lib/props/create-setup.mjs +19 -0
  40. package/esm2022/lib/props/dependency-stash.mjs +20 -0
  41. package/esm2022/lib/props/element-dictionary.mjs +44 -0
  42. package/esm2022/lib/props/index.mjs +9 -0
  43. package/esm2022/lib/props/props-binding.mjs +53 -0
  44. package/esm2022/lib/props/props.directive.mjs +33 -0
  45. package/esm2022/lib/props/template-input.mjs +41 -0
  46. package/esm2022/lib/public-api.mjs +2 -1
  47. package/esm2022/lib/services/click-observer.service.mjs +7 -7
  48. package/esm2022/lib/services/content-observer.service.mjs +7 -7
  49. package/esm2022/lib/services/focus-visible.service.mjs +4 -4
  50. package/esm2022/lib/services/intersection-observer.service.mjs +7 -7
  51. package/esm2022/lib/services/resize-observer.service.mjs +7 -7
  52. package/esm2022/lib/services/router-state.service.mjs +4 -4
  53. package/esm2022/lib/services/viewport.service.mjs +4 -4
  54. package/esm2022/lib/utils/active-selection-model.utils.mjs +1 -1
  55. package/esm2022/lib/utils/animation.utils.mjs +1 -1
  56. package/esm2022/lib/utils/clone.util.mjs +1 -1
  57. package/esm2022/lib/utils/component-id.utils.mjs +7 -0
  58. package/esm2022/lib/utils/cookie.util.mjs +4 -3
  59. package/esm2022/lib/utils/equal.util.mjs +1 -1
  60. package/esm2022/lib/utils/form.utils.mjs +1 -1
  61. package/esm2022/lib/utils/key-press-manager.utils.mjs +1 -1
  62. package/esm2022/lib/utils/mutation-observable.util.mjs +1 -1
  63. package/esm2022/lib/utils/public-api.mjs +2 -1
  64. package/esm2022/lib/utils/reactive-binding.util.mjs +1 -1
  65. package/esm2022/lib/utils/resize-observable.util.mjs +1 -1
  66. package/esm2022/lib/utils/runtime-error.utils.mjs +1 -1
  67. package/esm2022/lib/utils/scrollable.utils.mjs +1 -1
  68. package/esm2022/lib/utils/selection-model.utils.mjs +2 -1
  69. package/esm2022/lib/utils/signal.utils.mjs +26 -10
  70. package/esm2022/lib/utils/smart-block-scroll-strategy.utils.mjs +1 -1
  71. package/esm2022/lib/validators/at-least-one-required.validator.mjs +1 -1
  72. package/esm2022/lib/validators/is-array-not-empty.validator.mjs +1 -1
  73. package/esm2022/lib/validators/is-email.validator.mjs +1 -1
  74. package/esm2022/lib/validators/must-match.validator.mjs +1 -1
  75. package/fesm2022/ethlete-core.mjs +421 -132
  76. package/fesm2022/ethlete-core.mjs.map +1 -1
  77. package/lib/directives/animated-lifecycle/animated-lifecycle.directive.d.ts +3 -0
  78. package/lib/props/create-prop-handlers.d.ts +27 -0
  79. package/lib/props/create-props.d.ts +54 -0
  80. package/lib/props/create-setup.d.ts +4 -0
  81. package/lib/props/dependency-stash.d.ts +11 -0
  82. package/lib/props/element-dictionary.d.ts +11 -0
  83. package/lib/props/index.d.ts +8 -0
  84. package/lib/props/props-binding.d.ts +12 -0
  85. package/lib/props/props.directive.d.ts +38 -0
  86. package/lib/props/template-input.d.ts +30 -0
  87. package/lib/public-api.d.ts +1 -0
  88. package/lib/services/viewport.service.d.ts +1 -2
  89. package/lib/utils/component-id.utils.d.ts +1 -0
  90. package/lib/utils/cookie.util.d.ts +1 -1
  91. package/lib/utils/public-api.d.ts +1 -0
  92. package/lib/utils/selection-model.utils.d.ts +2 -0
  93. package/lib/utils/signal.utils.d.ts +21 -0
  94. package/package.json +7 -7
@@ -14,7 +14,10 @@ export declare class AnimatedLifecycleDirective implements AfterViewInit {
14
14
  get state(): AnimatedLifecycleState;
15
15
  readonly hostClassBindings: {
16
16
  remove: (...tokens: string[]) => void;
17
+ removeMany: (tokens: string[]) => void;
17
18
  has: (token: string) => boolean;
19
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
20
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
18
21
  };
19
22
  ngAfterViewInit(): void;
20
23
  enter(config?: {
@@ -0,0 +1,27 @@
1
+ import { ElementRef } from '@angular/core';
2
+ export declare const createPropHandlers: () => {
3
+ classes: {
4
+ remove: (...tokens: string[]) => void;
5
+ removeMany: (tokens: string[]) => void;
6
+ has: (token: string) => boolean;
7
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
8
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
9
+ };
10
+ attributes: {
11
+ remove: (...tokens: string[]) => void;
12
+ removeMany: (tokens: string[]) => void;
13
+ has: (token: string) => boolean;
14
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
15
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
16
+ };
17
+ styles: {
18
+ remove: (...tokens: string[]) => void;
19
+ removeMany: (tokens: string[]) => void;
20
+ has: (token: string) => boolean;
21
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
22
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
23
+ };
24
+ id: string;
25
+ elementRef: ElementRef<HTMLElement>;
26
+ };
27
+ export type PropHandlers = ReturnType<typeof createPropHandlers>;
@@ -0,0 +1,54 @@
1
+ import { Signal } from '@angular/core';
2
+ import { PropHandlers } from './create-prop-handlers';
3
+ export type Props = Readonly<{
4
+ attached: Signal<boolean>;
5
+ attachedElements: PropsAttachedElements;
6
+ }>;
7
+ export interface PropsAttachedElements {
8
+ first: Signal<HTMLElement | null>;
9
+ firstId: Signal<string | null>;
10
+ get(id: string): HTMLElement | null;
11
+ }
12
+ export interface PropsAttachedElementsInternal extends PropsAttachedElements {
13
+ has: (id: string) => boolean;
14
+ push: (id: string, element: HTMLElement) => void;
15
+ remove: (id: string) => void;
16
+ }
17
+ export interface PropsInternal {
18
+ single: boolean;
19
+ name: string;
20
+ bindId: boolean;
21
+ attached: Signal<boolean>;
22
+ attachedElements: PropsAttachedElementsInternal;
23
+ classBindings: Record<string, Signal<unknown>> | null;
24
+ attributeBindings: Record<string, Signal<unknown>> | null;
25
+ styleBindings: Record<string, Signal<unknown>> | null;
26
+ staticClassBindings: string[] | null;
27
+ staticAttributeBindings: Record<string, unknown> | null;
28
+ staticStyleBindings: Record<string, unknown> | null;
29
+ attachEventListeners: ((context: {
30
+ on: HTMLElement['addEventListener'];
31
+ element: HTMLElement;
32
+ }) => void) | null;
33
+ }
34
+ export interface CreatePropsOptions {
35
+ name: string;
36
+ bindId?: boolean;
37
+ single?: boolean;
38
+ classes?: Record<string, Signal<unknown>>;
39
+ attributes?: Record<string, Signal<unknown>>;
40
+ styles?: Record<string, Signal<unknown>>;
41
+ staticClasses?: string[];
42
+ staticAttributes?: Record<string, unknown>;
43
+ staticStyles?: Record<string, unknown>;
44
+ listeners?: (context: {
45
+ on: HTMLElement['addEventListener'];
46
+ element: HTMLElement;
47
+ }) => void;
48
+ }
49
+ export declare const createProps: (props: CreatePropsOptions) => Props;
50
+ export interface HostProps {
51
+ props: Props;
52
+ handlers: PropHandlers;
53
+ }
54
+ export declare const createHostProps: (props: CreatePropsOptions) => HostProps;
@@ -0,0 +1,4 @@
1
+ export declare const createSetup: <T extends Record<string, unknown>>(config: {
2
+ setupFn: (params: T) => void;
3
+ this: ThisType<unknown>;
4
+ }) => (params: T) => void;
@@ -0,0 +1,11 @@
1
+ import { Signal, WritableSignal } from '@angular/core';
2
+ export declare const createDependencyStash: <T extends Record<string, WritableSignal<unknown>>>(stash: T) => T & {
3
+ provideSignal: <K extends keyof T>(data: {
4
+ signal: Signal<ReturnType<T[K]>>;
5
+ for: K;
6
+ }) => void;
7
+ provideValue: <K_1 extends keyof T>(data: {
8
+ value: ReturnType<T[K_1]>;
9
+ for: K_1;
10
+ }) => void;
11
+ };
@@ -0,0 +1,11 @@
1
+ export declare const createElementDictionary: () => {
2
+ ids: import("@angular/core").Signal<string[]>;
3
+ elements: import("@angular/core").Signal<HTMLElement[]>;
4
+ has: (id: string) => boolean;
5
+ get: (id: string) => HTMLElement | null;
6
+ push: (id: string, element: HTMLElement) => void;
7
+ remove: (id: string) => void;
8
+ isEmpty: import("@angular/core").Signal<boolean>;
9
+ firstElement: import("@angular/core").Signal<HTMLElement | null>;
10
+ firstId: import("@angular/core").Signal<string | null>;
11
+ };
@@ -0,0 +1,8 @@
1
+ export * from './create-prop-handlers';
2
+ export * from './create-props';
3
+ export * from './create-setup';
4
+ export * from './dependency-stash';
5
+ export * from './element-dictionary';
6
+ export * from './props-binding';
7
+ export * from './props.directive';
8
+ export * from './template-input';
@@ -0,0 +1,12 @@
1
+ import { PropHandlers } from './create-prop-handlers';
2
+ import { Props, PropsInternal } from './create-props';
3
+ export interface BindPropsOptions {
4
+ props: Props | PropsInternal;
5
+ handlers: PropHandlers;
6
+ }
7
+ export declare const bindProps: (config: BindPropsOptions) => void;
8
+ export interface UnbindPropsOptions {
9
+ props: Props | PropsInternal;
10
+ handlers: PropHandlers;
11
+ }
12
+ export declare const unbindProps: (config: UnbindPropsOptions) => void;
@@ -0,0 +1,38 @@
1
+ import { DestroyRef } from '@angular/core';
2
+ import { PropsInternal } from './create-props';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PropsDirective {
5
+ destroyRef: DestroyRef;
6
+ props: import("@angular/core").InputSignal<PropsInternal, Readonly<{
7
+ attached: import("@angular/core").Signal<boolean>;
8
+ attachedElements: import("./create-props").PropsAttachedElements;
9
+ }>>;
10
+ propHandlers: {
11
+ classes: {
12
+ remove: (...tokens: string[]) => void;
13
+ removeMany: (tokens: string[]) => void;
14
+ has: (token: string) => boolean;
15
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
16
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
17
+ };
18
+ attributes: {
19
+ remove: (...tokens: string[]) => void;
20
+ removeMany: (tokens: string[]) => void;
21
+ has: (token: string) => boolean;
22
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
23
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
24
+ };
25
+ styles: {
26
+ remove: (...tokens: string[]) => void;
27
+ removeMany: (tokens: string[]) => void;
28
+ has: (token: string) => boolean;
29
+ push: (tokenString: string, signal: import("@angular/core").Signal<unknown>) => void;
30
+ pushMany: (map: Record<string, import("@angular/core").Signal<unknown>>) => void;
31
+ };
32
+ id: string;
33
+ elementRef: import("@angular/core").ElementRef<HTMLElement>;
34
+ };
35
+ constructor();
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<PropsDirective, never>;
37
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PropsDirective, "[etProps]", never, { "props": { "alias": "etProps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
38
+ }
@@ -0,0 +1,30 @@
1
+ import { ComponentType } from '@angular/cdk/portal';
2
+ import { Injector, Signal, TemplateRef } from '@angular/core';
3
+ export type AnyTemplateType = string | TemplateRef<unknown> | ComponentType<unknown> | TemplateRefWithContext | ComponentTypeWithInputs;
4
+ export type TemplateRefWithContext<T = Record<string, unknown> | undefined, J = unknown> = {
5
+ template: TemplateRef<J>;
6
+ context?: T;
7
+ injector?: Injector;
8
+ };
9
+ export type ComponentTypeWithInputs<T = Record<string, unknown> | undefined, J = unknown> = {
10
+ component: ComponentType<J>;
11
+ inputs?: T;
12
+ injector?: Injector;
13
+ };
14
+ export type StringTemplate = {
15
+ type: 'string';
16
+ value: string;
17
+ };
18
+ export type NgTemplateTemplate = {
19
+ type: 'template';
20
+ value: TemplateRef<unknown>;
21
+ context?: Record<string, unknown>;
22
+ injector: Injector | null;
23
+ };
24
+ export type ComponentTemplate = {
25
+ type: 'component';
26
+ value: ComponentType<unknown>;
27
+ inputs?: Record<string, unknown>;
28
+ injector: Injector | null;
29
+ };
30
+ export declare const templateComputed: (templateSignal: Signal<AnyTemplateType | null>) => Signal<StringTemplate | NgTemplateTemplate | ComponentTemplate | null>;
@@ -3,6 +3,7 @@ export * from './constants/public-api';
3
3
  export * from './decorators/public-api';
4
4
  export * from './directives/public-api';
5
5
  export * from './pipes/public-api';
6
+ export * from './props';
6
7
  export * from './services/public-api';
7
8
  export * from './types/public-api';
8
9
  export * from './utils/public-api';
@@ -1,7 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { Breakpoint } from '../types';
3
3
  import * as i0 from "@angular/core";
4
- interface Size {
4
+ export interface Size {
5
5
  width: number;
6
6
  height: number;
7
7
  }
@@ -62,4 +62,3 @@ export declare class ViewportService {
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<ViewportService, never>;
63
63
  static ɵprov: i0.ɵɵInjectableDeclaration<ViewportService>;
64
64
  }
65
- export {};
@@ -0,0 +1 @@
1
+ export declare const createComponentId: (prefix: string) => string;
@@ -1,5 +1,5 @@
1
1
  export declare const hasCookie: (name: string) => boolean;
2
2
  export declare const getCookie: (name: string) => string | null | undefined;
3
- export declare const setCookie: (name: string, data: string, expiresInDays?: number, domain?: string | null, path?: string) => void;
3
+ export declare const setCookie: (name: string, data: string, expiresInDays?: number, domain?: string | null, path?: string, sameSite?: 'strict' | 'none' | 'lax') => void;
4
4
  export declare const deleteCookie: (name: string, path?: string, domain?: string | null) => void;
5
5
  export declare const getDomain: () => string | null;
@@ -3,6 +3,7 @@ export * from './angular.utils';
3
3
  export * from './animation.utils';
4
4
  export * from './clamp.util';
5
5
  export * from './clone.util';
6
+ export * from './component-id.utils';
6
7
  export * from './cookie.util';
7
8
  export * from './destroy.utils';
8
9
  export * from './equal.util';
@@ -1,3 +1,4 @@
1
+ import { TrackByFunction } from '@angular/core';
1
2
  import { Observable } from 'rxjs';
2
3
  import { TypedQueryList } from '../types';
3
4
  export type SelectionModelTypes = string | number | Record<string, unknown> | unknown;
@@ -61,6 +62,7 @@ export declare class SelectionModel<T extends SelectionModelTypes = unknown> {
61
62
  setAllowMultiple(allowMultiple: boolean): this;
62
63
  setFilter(filter: string | null): void;
63
64
  reset(): void;
65
+ trackByOptionKey: TrackByFunction<T>;
64
66
  getOptionByValue$(value: unknown): Observable<T | undefined>;
65
67
  getOptionByLabel$(label: string): Observable<T | undefined>;
66
68
  getOptionByKey$(key: string): Observable<T | undefined>;
@@ -20,32 +20,53 @@ export declare const buildSignalEffects: <T extends Record<string, Signal<unknow
20
20
  }) => void;
21
21
  }) => {
22
22
  remove: (...tokens: string[]) => void;
23
+ removeMany: (tokens: string[]) => void;
23
24
  has: (token: string) => boolean;
25
+ push: (tokenString: string, signal: Signal<unknown>) => void;
26
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
24
27
  };
25
28
  export declare const signalIsRendered: () => Signal<boolean>;
26
29
  export declare const signalClasses: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, classMap: T) => {
27
30
  remove: (...tokens: string[]) => void;
31
+ removeMany: (tokens: string[]) => void;
28
32
  has: (token: string) => boolean;
33
+ push: (tokenString: string, signal: Signal<unknown>) => void;
34
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
29
35
  };
30
36
  export declare const signalHostClasses: <T extends Record<string, Signal<unknown>>>(classMap: T) => {
31
37
  remove: (...tokens: string[]) => void;
38
+ removeMany: (tokens: string[]) => void;
32
39
  has: (token: string) => boolean;
40
+ push: (tokenString: string, signal: Signal<unknown>) => void;
41
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
33
42
  };
34
43
  export declare const signalAttributes: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, attributeMap: T) => {
35
44
  remove: (...tokens: string[]) => void;
45
+ removeMany: (tokens: string[]) => void;
36
46
  has: (token: string) => boolean;
47
+ push: (tokenString: string, signal: Signal<unknown>) => void;
48
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
37
49
  };
38
50
  export declare const signalHostAttributes: <T extends Record<string, Signal<unknown>>>(attributeMap: T) => {
39
51
  remove: (...tokens: string[]) => void;
52
+ removeMany: (tokens: string[]) => void;
40
53
  has: (token: string) => boolean;
54
+ push: (tokenString: string, signal: Signal<unknown>) => void;
55
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
41
56
  };
42
57
  export declare const signalStyles: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, styleMap: T) => {
43
58
  remove: (...tokens: string[]) => void;
59
+ removeMany: (tokens: string[]) => void;
44
60
  has: (token: string) => boolean;
61
+ push: (tokenString: string, signal: Signal<unknown>) => void;
62
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
45
63
  };
46
64
  export declare const signalHostStyles: <T extends Record<string, Signal<unknown>>>(styleMap: T) => {
47
65
  remove: (...tokens: string[]) => void;
66
+ removeMany: (tokens: string[]) => void;
48
67
  has: (token: string) => boolean;
68
+ push: (tokenString: string, signal: Signal<unknown>) => void;
69
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
49
70
  };
50
71
  export interface LogicalSize {
51
72
  inlineSize: number;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@ethlete/core",
3
- "version": "4.4.1",
3
+ "version": "4.5.1",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "17.0.4",
6
- "@angular/common": "17.0.8",
7
- "@angular/core": "17.0.8",
8
- "@angular/forms": "17.0.8",
9
- "@angular/platform-browser": "17.0.8",
10
- "@angular/router": "17.0.8",
5
+ "@angular/cdk": "17.1.1",
6
+ "@angular/common": "17.1.1",
7
+ "@angular/core": "17.1.1",
8
+ "@angular/forms": "17.1.1",
9
+ "@angular/platform-browser": "17.1.1",
10
+ "@angular/router": "17.1.1",
11
11
  "@ethlete/theming": "^2.3.1",
12
12
  "@ethlete/types": "^1.6.2",
13
13
  "@floating-ui/dom": "^1.5.3",