@ngneat/helipopper 10.0.0-alpha.0 → 10.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,12 +49,12 @@ $ pnpm i @ngneat/helipopper
49
49
  Configure it as shown below:
50
50
 
51
51
  ```ts
52
- import { provideTippyConfig, tooltipVariation, popperVariation } from '@ngneat/helipopper';
52
+ import { provideTippyLoader provideTippyConfig, tooltipVariation, popperVariation } from '@ngneat/helipopper/config';
53
53
 
54
54
  bootstrapApplication(AppComponent, {
55
55
  providers: [
56
+ provideTippyLoader(() => import('tippy.js')),
56
57
  provideTippyConfig({
57
- loader: () => import('tippy.js'),
58
58
  defaultVariation: 'tooltip',
59
59
  variations: {
60
60
  tooltip: tooltipVariation,
@@ -65,14 +65,12 @@ bootstrapApplication(AppComponent, {
65
65
  });
66
66
  ```
67
67
 
68
- Please note that the `loader` property is required, as it specifies how Tippy is loaded - either synchronously or asynchronously. When dynamic import is used, the library will load only when the first Tippy directive is rendered. If we want it to load synchronously, we use the following:
68
+ Please note that the `provideTippyLoader` is required, as it specifies how Tippy is loaded - either synchronously or asynchronously. When dynamic import is used, the library will load only when the first Tippy directive is rendered. If we want it to load synchronously, we use the following:
69
69
 
70
70
  ```ts
71
71
  import tippy from 'tippy.js';
72
72
 
73
- provideTippyConfig({
74
- loader: () => tippy,
75
- });
73
+ provideTippyLoader(() => tippy);
76
74
  ```
77
75
 
78
76
  Add the styles you want to `styles.scss`:
@@ -85,7 +83,19 @@ Add the styles you want to `styles.scss`:
85
83
 
86
84
  You have the freedom to [customize](https://atomiks.github.io/tippyjs/v6/themes/) it if you need to.
87
85
 
88
- Import the standalone `TippyDirective` and use it in your templates:
86
+ Import the standalone `TippyDirective` in your components:
87
+
88
+ ```ts
89
+ import { TippyDirective } from '@ngneat/helipopper';
90
+
91
+ @Component({
92
+ standalone: true,
93
+ imports: [TippyDirective],
94
+ })
95
+ class ExampleComponent {}
96
+ ```
97
+
98
+ And use it in your templates:
89
99
 
90
100
  ```html
91
101
  <button tp="Helpful Message">I have a tooltip</button>
@@ -119,11 +129,11 @@ export const tooltipVariation = {
119
129
  ### Use `Component` as content
120
130
 
121
131
  ```ts
122
- import { TIPPY_REF, TippyInstance } from '@ngneat/helipopper';
132
+ import { injectTippyRef, TippyInstance } from '@ngneat/helipopper/config';
123
133
 
124
134
  @Component()
125
135
  class MyComponent {
126
- tippy = inject(TIPPY_REF);
136
+ tippy = injectTippyRef();
127
137
  }
128
138
  ```
129
139
 
@@ -137,7 +147,9 @@ You can pass the `onlyTextOverflow` input to show the tooltip only when the host
137
147
 
138
148
  ```html
139
149
  <div style="max-width: 100px;" class="overflow-hidden flex">
140
- <p class="ellipsis" [tp]="text" tpPlacement="right" [tpOnlyTextOverflow]="true">{{ text }}</p>
150
+ <p class="ellipsis" [tp]="text" tpPlacement="right" [tpOnlyTextOverflow]="true">
151
+ {{ text }}
152
+ </p>
141
153
  </div>
142
154
  ```
143
155
 
@@ -185,7 +197,12 @@ Note that it's using [`IntersectionObserver`](https://caniuse.com/intersectionob
185
197
  First, define the `contextMenu` variation:
186
198
 
187
199
  ```ts
188
- import { popperVariation, tooltipVariation, provideTippyConfig, withContextMenuVariation } from '@ngneat/helipopper';
200
+ import {
201
+ popperVariation,
202
+ tooltipVariation,
203
+ provideTippyConfig,
204
+ withContextMenuVariation,
205
+ } from '@ngneat/helipopper/config';
189
206
 
190
207
  bootstrapApplication(AppComponent, {
191
208
  providers: [
@@ -212,7 +229,14 @@ Now you can use it in your template:
212
229
  </ng-template>
213
230
 
214
231
  <ul>
215
- <li *ngFor="let item of list" [tp]="contextMenu" [tpData]="item" tpVariation="contextMenu">{{ item.label }}</li>
232
+ <li
233
+ *ngFor="let item of list"
234
+ [tp]="contextMenu"
235
+ [tpData]="item"
236
+ tpVariation="contextMenu"
237
+ >
238
+ {{ item.label }}
239
+ </li>
216
240
  </ul>
217
241
  ```
218
242
 
@@ -230,7 +254,9 @@ Now you can use it in your template:
230
254
  Use isVisible to trigger show and hide. Set trigger to manual.
231
255
 
232
256
  ```html
233
- <div tp="Helpful Message" tpTrigger="manual" [tpIsVisible]="visibility">Click Open to see me</div>
257
+ <div tp="Helpful Message" tpTrigger="manual" [tpIsVisible]="visibility">
258
+ Click Open to see me
259
+ </div>
234
260
 
235
261
  <button (click)="visibility = true">Open</button>
236
262
  <button (click)="visibility = false">Close</button>
@@ -296,9 +322,11 @@ class Component {
296
322
  tippy: TippyInstance;
297
323
  private tippyService = inject(TippyService);
298
324
 
299
- show() {
325
+ async show() {
300
326
  if (!this.tippy) {
301
- this.tippy = this.tippyService.create(this.inputName, 'this field is required');
327
+ this.tippy = await firstValueFrom(
328
+ this.tippyService.create(this.inputName, 'this field is required')
329
+ );
302
330
  }
303
331
 
304
332
  this.tippy.show();
@@ -1,5 +1,5 @@
1
- import { TippyConfig } from './tippy.types';
2
- type Variation = TippyConfig['variations'][0];
1
+ import type { TippyProps } from './tippy.types';
2
+ type Variation = Partial<TippyProps>;
3
3
  export declare const tooltipVariation: Variation;
4
4
  export declare const popperVariation: Variation;
5
5
  export declare function withContextMenuVariation(baseVariation: Variation): Variation;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ngneat/helipopper/config" />
5
+ export * from './public-api';
@@ -0,0 +1,2 @@
1
+ import { type TippyInstance } from './tippy.types';
2
+ export declare function injectTippyRef(): TippyInstance;
@@ -0,0 +1,4 @@
1
+ import { type Provider } from '@angular/core';
2
+ import { type TippyLoader, type TippyConfig } from './tippy.types';
3
+ export declare function provideTippyLoader(loader: TippyLoader): import("@angular/core").EnvironmentProviders;
4
+ export declare function provideTippyConfig(config: TippyConfig): Provider;
@@ -0,0 +1,4 @@
1
+ export { tooltipVariation, popperVariation, withContextMenuVariation } from './defaults';
2
+ export { CreateOptions, TippyInstance, TippyProps, ExtendedTippyProps, TippyElement, ExtendedTippyInstance, TippyConfig, TippyLoader, TIPPY_LOADER, TIPPY_REF, TIPPY_CONFIG, } from './tippy.types';
3
+ export { provideTippyLoader, provideTippyConfig } from './providers';
4
+ export { injectTippyRef } from './inject-tippy';
@@ -0,0 +1,33 @@
1
+ import type tippy from 'tippy.js';
2
+ import type { Instance, Props } from 'tippy.js';
3
+ import { ElementRef, InjectionToken } from '@angular/core';
4
+ import type { ResolveViewRef, ViewOptions } from '@ngneat/overview';
5
+ export interface CreateOptions extends Partial<TippyProps>, ViewOptions {
6
+ variation: string;
7
+ preserveView: boolean;
8
+ className: string | string[];
9
+ data: any;
10
+ }
11
+ export interface TippyInstance extends Instance {
12
+ data?: any;
13
+ }
14
+ export type TippyProps = Props;
15
+ export interface ExtendedTippyProps extends TippyProps {
16
+ variations: Record<string, Partial<TippyProps>>;
17
+ defaultVariation: keyof ExtendedTippyProps['variations'];
18
+ beforeRender?: (text: string) => string;
19
+ zIndexGetter?(): number;
20
+ }
21
+ export type TippyElement = ElementRef | Element;
22
+ export interface ExtendedTippyInstance<T> extends TippyInstance {
23
+ view: ResolveViewRef<T> | null;
24
+ $viewOptions: ViewOptions;
25
+ context?: ViewOptions['context'];
26
+ }
27
+ export type TippyConfig = Partial<ExtendedTippyProps>;
28
+ export type TippyLoader = () => typeof tippy | Promise<{
29
+ default: typeof tippy;
30
+ }>;
31
+ export declare const TIPPY_LOADER: InjectionToken<TippyLoader>;
32
+ export declare const TIPPY_REF: InjectionToken<TippyInstance>;
33
+ export declare const TIPPY_CONFIG: InjectionToken<Partial<ExtendedTippyProps>>;
@@ -0,0 +1,25 @@
1
+ export const tooltipVariation = {
2
+ theme: undefined,
3
+ arrow: false,
4
+ animation: 'scale',
5
+ trigger: 'mouseenter',
6
+ offset: [0, 5],
7
+ };
8
+ export const popperVariation = {
9
+ theme: 'light',
10
+ arrow: true,
11
+ offset: [0, 10],
12
+ animation: undefined,
13
+ trigger: 'click',
14
+ interactive: true,
15
+ };
16
+ export function withContextMenuVariation(baseVariation) {
17
+ return {
18
+ ...baseVariation,
19
+ placement: 'right-start',
20
+ trigger: 'manual',
21
+ arrow: false,
22
+ offset: [0, 0],
23
+ };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9jb25maWcvc3JjL2RlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFjO0lBQ3pDLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLE9BQU87SUFDbEIsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWM7SUFDeEMsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDZixTQUFTLEVBQUUsU0FBUztJQUNwQixPQUFPLEVBQUUsT0FBTztJQUNoQixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFDO0FBRUYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLGFBQXdCO0lBQy9ELE9BQU87UUFDTCxHQUFHLGFBQWE7UUFDaEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsS0FBSyxFQUFFLEtBQUs7UUFDWixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRpcHB5UHJvcHMgfSBmcm9tICcuL3RpcHB5LnR5cGVzJztcblxuLy8gQSB2YXJpYXRpb24gaXMgYSBzZXQgb2YgcHJlZGVmaW5lZCB0aXBweSBwcm9wZXJ0aWVzLlxudHlwZSBWYXJpYXRpb24gPSBQYXJ0aWFsPFRpcHB5UHJvcHM+O1xuXG5leHBvcnQgY29uc3QgdG9vbHRpcFZhcmlhdGlvbjogVmFyaWF0aW9uID0ge1xuICB0aGVtZTogdW5kZWZpbmVkLFxuICBhcnJvdzogZmFsc2UsXG4gIGFuaW1hdGlvbjogJ3NjYWxlJyxcbiAgdHJpZ2dlcjogJ21vdXNlZW50ZXInLFxuICBvZmZzZXQ6IFswLCA1XSxcbn07XG5cbmV4cG9ydCBjb25zdCBwb3BwZXJWYXJpYXRpb246IFZhcmlhdGlvbiA9IHtcbiAgdGhlbWU6ICdsaWdodCcsXG4gIGFycm93OiB0cnVlLFxuICBvZmZzZXQ6IFswLCAxMF0sXG4gIGFuaW1hdGlvbjogdW5kZWZpbmVkLFxuICB0cmlnZ2VyOiAnY2xpY2snLFxuICBpbnRlcmFjdGl2ZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoQ29udGV4dE1lbnVWYXJpYXRpb24oYmFzZVZhcmlhdGlvbjogVmFyaWF0aW9uKTogVmFyaWF0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVmFyaWF0aW9uLFxuICAgIHBsYWNlbWVudDogJ3JpZ2h0LXN0YXJ0JyxcbiAgICB0cmlnZ2VyOiAnbWFudWFsJyxcbiAgICBhcnJvdzogZmFsc2UsXG4gICAgb2Zmc2V0OiBbMCwgMF0sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { inject } from '@angular/core';
2
+ import { TIPPY_REF } from './tippy.types';
3
+ export function injectTippyRef() {
4
+ const instance = inject(TIPPY_REF, { optional: true });
5
+ if (instance) {
6
+ return instance;
7
+ }
8
+ throw new Error('tp is not provided in the current context or on one of its ancestors');
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXRpcHB5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvY29uZmlnL3NyYy9pbmplY3QtdGlwcHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxNQUFNLFVBQVUsY0FBYztJQUM1QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdkQsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7QUFDMUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUSVBQWV9SRUYsIHR5cGUgVGlwcHlJbnN0YW5jZSB9IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0VGlwcHlSZWYoKTogVGlwcHlJbnN0YW5jZSB7XG4gIGNvbnN0IGluc3RhbmNlID0gaW5qZWN0KFRJUFBZX1JFRiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBpZiAoaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3RwIGlzIG5vdCBwcm92aWRlZCBpbiB0aGUgY3VycmVudCBjb250ZXh0IG9yIG9uIG9uZSBvZiBpdHMgYW5jZXN0b3JzJyk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LWhlbGlwb3BwZXItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvY29uZmlnL3NyYy9uZ25lYXQtaGVsaXBvcHBlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { makeEnvironmentProviders } from '@angular/core';
2
+ import { TIPPY_CONFIG, TIPPY_LOADER, } from './tippy.types';
3
+ export function provideTippyLoader(loader) {
4
+ return makeEnvironmentProviders([{ provide: TIPPY_LOADER, useValue: loader }]);
5
+ }
6
+ export function provideTippyConfig(config) {
7
+ return { provide: TIPPY_CONFIG, useValue: config };
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvY29uZmlnL3NyYy9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBbUI7SUFDcEQsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBbUI7SUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsIHR5cGUgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgVElQUFlfQ09ORklHLFxuICBUSVBQWV9MT0FERVIsXG4gIHR5cGUgVGlwcHlMb2FkZXIsXG4gIHR5cGUgVGlwcHlDb25maWcsXG59IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRpcHB5TG9hZGVyKGxvYWRlcjogVGlwcHlMb2FkZXIpIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbeyBwcm92aWRlOiBUSVBQWV9MT0FERVIsIHVzZVZhbHVlOiBsb2FkZXIgfV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRpcHB5Q29uZmlnKGNvbmZpZzogVGlwcHlDb25maWcpOiBQcm92aWRlciB7XG4gIHJldHVybiB7IHByb3ZpZGU6IFRJUFBZX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9O1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export { tooltipVariation, popperVariation, withContextMenuVariation } from './defaults';
2
+ export { TIPPY_LOADER, TIPPY_REF, TIPPY_CONFIG, } from './tippy.types';
3
+ export { provideTippyLoader, provideTippyConfig } from './providers';
4
+ export { injectTippyRef } from './inject-tippy';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9oZWxpcG9wcGVyL2NvbmZpZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pGLE9BQU8sRUFTTCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgdG9vbHRpcFZhcmlhdGlvbiwgcG9wcGVyVmFyaWF0aW9uLCB3aXRoQ29udGV4dE1lbnVWYXJpYXRpb24gfSBmcm9tICcuL2RlZmF1bHRzJztcbmV4cG9ydCB7XG4gIENyZWF0ZU9wdGlvbnMsXG4gIFRpcHB5SW5zdGFuY2UsXG4gIFRpcHB5UHJvcHMsXG4gIEV4dGVuZGVkVGlwcHlQcm9wcyxcbiAgVGlwcHlFbGVtZW50LFxuICBFeHRlbmRlZFRpcHB5SW5zdGFuY2UsXG4gIFRpcHB5Q29uZmlnLFxuICBUaXBweUxvYWRlcixcbiAgVElQUFlfTE9BREVSLFxuICBUSVBQWV9SRUYsXG4gIFRJUFBZX0NPTkZJRyxcbn0gZnJvbSAnLi90aXBweS50eXBlcyc7XG5leHBvcnQgeyBwcm92aWRlVGlwcHlMb2FkZXIsIHByb3ZpZGVUaXBweUNvbmZpZyB9IGZyb20gJy4vcHJvdmlkZXJzJztcbmV4cG9ydCB7IGluamVjdFRpcHB5UmVmIH0gZnJvbSAnLi9pbmplY3QtdGlwcHknO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TIPPY_LOADER = new InjectionToken('TIPPY_LOADER');
3
+ export const TIPPY_REF = /* @__PURE__ */ new InjectionToken('TIPPY_REF');
4
+ export const TIPPY_CONFIG = new InjectionToken('Tippy config');
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9jb25maWcvc3JjL3RpcHB5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFtQzNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBYyxjQUFjLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUksY0FBYyxDQUFnQixXQUFXLENBQUMsQ0FBQztBQUV4RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQWMsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgdHlwZSB7IEluc3RhbmNlLCBQcm9wcyB9IGZyb20gJ3RpcHB5LmpzJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJlc29sdmVWaWV3UmVmLCBWaWV3T3B0aW9ucyB9IGZyb20gJ0BuZ25lYXQvb3ZlcnZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPFRpcHB5UHJvcHM+LCBWaWV3T3B0aW9ucyB7XG4gIHZhcmlhdGlvbjogc3RyaW5nO1xuICBwcmVzZXJ2ZVZpZXc6IGJvb2xlYW47XG4gIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG4gIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXBweUluc3RhbmNlIGV4dGVuZHMgSW5zdGFuY2Uge1xuICBkYXRhPzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBUaXBweVByb3BzID0gUHJvcHM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRUaXBweVByb3BzIGV4dGVuZHMgVGlwcHlQcm9wcyB7XG4gIHZhcmlhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8VGlwcHlQcm9wcz4+O1xuICBkZWZhdWx0VmFyaWF0aW9uOiBrZXlvZiBFeHRlbmRlZFRpcHB5UHJvcHNbJ3ZhcmlhdGlvbnMnXTtcbiAgYmVmb3JlUmVuZGVyPzogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICB6SW5kZXhHZXR0ZXI/KCk6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgVGlwcHlFbGVtZW50ID0gRWxlbWVudFJlZiB8IEVsZW1lbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRUaXBweUluc3RhbmNlPFQ+IGV4dGVuZHMgVGlwcHlJbnN0YW5jZSB7XG4gIHZpZXc6IFJlc29sdmVWaWV3UmVmPFQ+IHwgbnVsbDtcbiAgJHZpZXdPcHRpb25zOiBWaWV3T3B0aW9ucztcbiAgY29udGV4dD86IFZpZXdPcHRpb25zWydjb250ZXh0J107XG59XG5cbmV4cG9ydCB0eXBlIFRpcHB5Q29uZmlnID0gUGFydGlhbDxFeHRlbmRlZFRpcHB5UHJvcHM+O1xuXG5leHBvcnQgdHlwZSBUaXBweUxvYWRlciA9ICgpID0+IHR5cGVvZiB0aXBweSB8IFByb21pc2U8eyBkZWZhdWx0OiB0eXBlb2YgdGlwcHkgfT47XG5cbmV4cG9ydCBjb25zdCBUSVBQWV9MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGlwcHlMb2FkZXI+KCdUSVBQWV9MT0FERVInKTtcblxuZXhwb3J0IGNvbnN0IFRJUFBZX1JFRiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgSW5qZWN0aW9uVG9rZW48VGlwcHlJbnN0YW5jZT4oJ1RJUFBZX1JFRicpO1xuXG5leHBvcnQgY29uc3QgVElQUFlfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRpcHB5Q29uZmlnPignVGlwcHkgY29uZmlnJyk7XG4iXX0=
@@ -5,5 +5,6 @@
5
5
  // we fall back to the native implementation. Accessing the native implementation
6
6
  // allows us to remove `runOutsideAngular` calls and reduce indentation,
7
7
  // making the code a bit more readable.
8
- export const IntersectionObserver = globalThis['__zone_symbol__IntersectionObserver'] || globalThis.IntersectionObserver;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBQzVFLGdGQUFnRjtBQUNoRixnREFBZ0Q7QUFDaEQsMkZBQTJGO0FBQzNGLGlGQUFpRjtBQUNqRix3RUFBd0U7QUFDeEUsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUMvQixVQUFVLENBQUMscUNBQXFDLENBQUMsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZXQncyByZXRyaWV2ZSB0aGUgbmF0aXZlIGBJbnRlcnNlY3Rpb25PYnNlcnZlcmAgaW1wbGVtZW50YXRpb24gaGlkZGVuIGJ5XG4vLyBgX196b25lX3N5bWJvbF9fSW50ZXJzZWN0aW9uT2JzZXJ2ZXJgLiBUaGlzIHdvdWxkIGJlIHRoZSB1bnBhdGNoZWQgdmVyc2lvbiBvZlxuLy8gdGhlIG9ic2VydmVyIHByZXNlbnQgaW4gem9uZS5qcyBlbnZpcm9ubWVudHMuXG4vLyBPdGhlcndpc2UsIGlmIHRoZSB1c2VyIGlzIHVzaW5nIHpvbmVsZXNzIGNoYW5nZSBkZXRlY3Rpb24gKGFuZCB6b25lLmpzIGlzIG5vdCBpbmNsdWRlZCksXG4vLyB3ZSBmYWxsIGJhY2sgdG8gdGhlIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbi4gQWNjZXNzaW5nIHRoZSBuYXRpdmUgaW1wbGVtZW50YXRpb25cbi8vIGFsbG93cyB1cyB0byByZW1vdmUgYHJ1bk91dHNpZGVBbmd1bGFyYCBjYWxscyBhbmQgcmVkdWNlIGluZGVudGF0aW9uLFxuLy8gbWFraW5nIHRoZSBjb2RlIGEgYml0IG1vcmUgcmVhZGFibGUuXG5leHBvcnQgY29uc3QgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6IHR5cGVvZiBnbG9iYWxUaGlzLkludGVyc2VjdGlvbk9ic2VydmVyID1cbiAgZ2xvYmFsVGhpc1snX196b25lX3N5bWJvbF9fSW50ZXJzZWN0aW9uT2JzZXJ2ZXInXSB8fCBnbG9iYWxUaGlzLkludGVyc2VjdGlvbk9ic2VydmVyO1xuIl19
8
+ export const IntersectionObserver = globalThis['__zone_symbol__IntersectionObserver'] ||
9
+ globalThis.IntersectionObserver;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLW9ic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBQzVFLGdGQUFnRjtBQUNoRixnREFBZ0Q7QUFDaEQsMkZBQTJGO0FBQzNGLGlGQUFpRjtBQUNqRix3RUFBd0U7QUFDeEUsdUNBQXVDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUM5QixVQUFrQixDQUFDLHFDQUFxQyxDQUFDO0lBQzFELFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExldCdzIHJldHJpZXZlIHRoZSBuYXRpdmUgYEludGVyc2VjdGlvbk9ic2VydmVyYCBpbXBsZW1lbnRhdGlvbiBoaWRkZW4gYnlcbi8vIGBfX3pvbmVfc3ltYm9sX19JbnRlcnNlY3Rpb25PYnNlcnZlcmAuIFRoaXMgd291bGQgYmUgdGhlIHVucGF0Y2hlZCB2ZXJzaW9uIG9mXG4vLyB0aGUgb2JzZXJ2ZXIgcHJlc2VudCBpbiB6b25lLmpzIGVudmlyb25tZW50cy5cbi8vIE90aGVyd2lzZSwgaWYgdGhlIHVzZXIgaXMgdXNpbmcgem9uZWxlc3MgY2hhbmdlIGRldGVjdGlvbiAoYW5kIHpvbmUuanMgaXMgbm90IGluY2x1ZGVkKSxcbi8vIHdlIGZhbGwgYmFjayB0byB0aGUgbmF0aXZlIGltcGxlbWVudGF0aW9uLiBBY2Nlc3NpbmcgdGhlIG5hdGl2ZSBpbXBsZW1lbnRhdGlvblxuLy8gYWxsb3dzIHVzIHRvIHJlbW92ZSBgcnVuT3V0c2lkZUFuZ3VsYXJgIGNhbGxzIGFuZCByZWR1Y2UgaW5kZW50YXRpb24sXG4vLyBtYWtpbmcgdGhlIGNvZGUgYSBiaXQgbW9yZSByZWFkYWJsZS5cbmV4cG9ydCBjb25zdCBJbnRlcnNlY3Rpb25PYnNlcnZlcjogdHlwZW9mIGdsb2JhbFRoaXMuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPVxuICAoZ2xvYmFsVGhpcyBhcyBhbnkpWydfX3pvbmVfc3ltYm9sX19JbnRlcnNlY3Rpb25PYnNlcnZlciddIHx8XG4gIGdsb2JhbFRoaXMuSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG4iXX0=