@ethlete/cdk 4.35.0 → 4.37.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 4.37.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`b7256d2`](https://github.com/ethlete-io/ethdk/commit/b7256d2c48a665a63163ac6e17e1256e9c37e482) Thanks [@TomTomB](https://github.com/TomTomB)! - Add a sizes property to the PictureSource type for providing source based size options. The sizes input still exists & will be used as a fallback if the source does not provide a sizes property.
8
+
9
+ - [`b7256d2`](https://github.com/ethlete-io/ethdk/commit/b7256d2c48a665a63163ac6e17e1256e9c37e482) Thanks [@TomTomB](https://github.com/TomTomB)! - Add support for the media attribute in picture sources for selecting the picture source to use based on media queries
10
+
11
+ ### Patch Changes
12
+
13
+ - [`b7256d2`](https://github.com/ethlete-io/ethdk/commit/b7256d2c48a665a63163ac6e17e1256e9c37e482) Thanks [@TomTomB](https://github.com/TomTomB)! - Log an error to the console if the mime type of an image could not get inferred
14
+
15
+ ## 4.36.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`51621d2`](https://github.com/ethlete-io/ethdk/commit/51621d2e35f20eb6cf08de42d2a28fb699a5e144) Thanks [@TomTomB](https://github.com/TomTomB)! - Add `updateQueryParam` method to the function returned by `createOverlayHandlerWithQueryParamLifecycle`
20
+
3
21
  ## 4.35.0
4
22
 
5
23
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- import { DestroyRef, effect, inject, untracked, ViewContainerRef } from '@angular/core';
1
+ import { DestroyRef, effect, inject, Injector, untracked, ViewContainerRef, } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import { Router } from '@angular/router';
4
4
  import { injectQueryParam } from '@ethlete/core';
@@ -49,7 +49,7 @@ export const createOverlayHandler = (rootConfig) => {
49
49
  export const OVERLAY_QUERY_PARAM_INPUT_NAME = 'overlayQueryParam';
50
50
  /**
51
51
  * This handler will automatically open the overlay when the query param is present.
52
- * The overlay can contain a required input with the name `overlayQueryParam` to receive the query param value.
52
+ * The overlay can contain a input or model with the name `overlayQueryParam` to receive the query param value.
53
53
  *
54
54
  * If you need to transfer more information (eg. a second query param), you need to combine them into a single query param string.
55
55
  * You can then split the string inside the overlay component using computed signals.
@@ -57,29 +57,42 @@ export const OVERLAY_QUERY_PARAM_INPUT_NAME = 'overlayQueryParam';
57
57
  * To open the overlay either use the `OverlayHandlerLinkDirective` or call the `.open` method of the returned handler.
58
58
  */
59
59
  export const createOverlayHandlerWithQueryParamLifecycle = (config) => {
60
- const handler = createOverlayHandler(config);
60
+ const handler = createOverlayHandler({ ...config, closeOnNavigation: false });
61
61
  let fnCalled = false;
62
+ let router = null;
63
+ const updateQueryParam = (value) => {
64
+ router?.navigate([], {
65
+ queryParams: {
66
+ [config.queryParamKey]: value,
67
+ },
68
+ queryParamsHandling: 'merge',
69
+ });
70
+ };
62
71
  const fn = (innerConfig) => {
63
72
  if (fnCalled) {
64
73
  throw new Error('The function returned by createOverlayHandlerWithQueryParamLifecycle can only be called once until the caller is destroyed');
65
74
  }
66
75
  fnCalled = true;
67
- const router = inject(Router);
76
+ router = inject(Router);
68
77
  const destroyRef = inject(DestroyRef);
69
- const overlayHandler = handler(innerConfig);
78
+ const injector = inject(Injector);
79
+ const overlayHandler = handler({ ...(innerConfig ?? {}) });
70
80
  const queryParamValue = injectQueryParam(config.queryParamKey);
71
81
  let currentOverlayRef = null;
82
+ let inputSignalEffect = null;
72
83
  destroyRef.onDestroy(() => {
73
84
  fnCalled = false;
85
+ router = null;
74
86
  cleanup();
75
87
  });
76
88
  const cleanup = () => {
77
- router.navigate([], {
78
- queryParams: {
79
- [config.queryParamKey]: null,
80
- },
81
- queryParamsHandling: 'merge',
82
- });
89
+ inputSignalEffect?.destroy();
90
+ inputSignalEffect = null;
91
+ updateQueryParam(null);
92
+ };
93
+ const getQueryParamInput = () => {
94
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+ return currentOverlayRef?.componentInstance?.[OVERLAY_QUERY_PARAM_INPUT_NAME];
83
96
  };
84
97
  effect(() => {
85
98
  const value = queryParamValue();
@@ -91,28 +104,32 @@ export const createOverlayHandlerWithQueryParamLifecycle = (config) => {
91
104
  .afterClosed()
92
105
  .pipe(takeUntilDestroyed(destroyRef), tap(() => cleanup()))
93
106
  .subscribe();
107
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ const inputSignal = getQueryParamInput();
109
+ if (inputSignal) {
110
+ inputSignalEffect = effect(() => {
111
+ const inputVal = inputSignal();
112
+ untracked(() => {
113
+ updateQueryParam(inputVal);
114
+ });
115
+ }, { injector });
116
+ }
94
117
  }
95
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
- if (currentOverlayRef.componentInstance[OVERLAY_QUERY_PARAM_INPUT_NAME]) {
118
+ if (getQueryParamInput()) {
97
119
  currentOverlayRef.componentRef?.setInput(OVERLAY_QUERY_PARAM_INPUT_NAME, value);
98
120
  }
99
121
  }
100
122
  else {
101
123
  if (currentOverlayRef) {
124
+ inputSignalEffect?.destroy();
125
+ inputSignalEffect = null;
102
126
  currentOverlayRef.close();
103
127
  currentOverlayRef = null;
104
128
  }
105
129
  }
106
130
  });
107
131
  });
108
- const open = (queryParamValue) => {
109
- router.navigate([], {
110
- queryParams: {
111
- [config.queryParamKey]: queryParamValue,
112
- },
113
- queryParamsHandling: 'merge',
114
- });
115
- };
132
+ const open = (queryParamValue) => updateQueryParam(queryParamValue);
116
133
  const close = () => {
117
134
  cleanup();
118
135
  };
@@ -123,6 +140,7 @@ export const createOverlayHandlerWithQueryParamLifecycle = (config) => {
123
140
  return lifecycleHandler;
124
141
  };
125
142
  fn['injectOverlayRef'] = () => handler().injectOverlayRef();
143
+ fn['updateQueryParam'] = (value) => updateQueryParam(value);
126
144
  return fn;
127
145
  };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1DM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsVUFBZ0UsRUFDaEUsRUFBRTtJQUNGLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBNkQsRUFBRSxFQUFFO1FBQzNFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0QyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFFeEQsSUFBSSxDQUFDLEdB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O1NBQ04sQ0FBQztRQUVGLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQyxDQUFDO0lBRUYsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUU1RCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBlZmZlY3QsIGluamVjdCwgVGVtcGxhdGVSZWYsIHVudHJhY2tlZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGluamVjdFF1ZXJ5UGFyYW0gfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT1ZFUkxBWV9EQVRBIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnN1bWVyQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB9IGZyb20gJy4vb3ZlcmxheS1wb3NpdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICcuL292ZXJsYXktcmVmJztcblxuZXhwb3J0IHR5cGUgQ3JlYXRlT3ZlcmxheUhhbmRsZXJDb25maWc8VCwgRCA9IHVua25vd24+ID0gT21pdDxPdmVybGF5Q29uZmlnPEQ+LCAncG9zaXRpb25zJz4gJiB7XG4gIC8qKiBUaGUgb3ZlcmxheSBjb21wb25lbnQuIFVzZSBlaXRoZXIgdGhpcyBvciB0aGUgYHRlbXBsYXRlYCBwcm9wZXJ0eSAgKi9cbiAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxUPjtcblxuICAvKiogVGhlIG92ZXJsYXkgdGVtcGxhdGUuIFVzZSBlaXRoZXIgdGhpcyBvciB0aGUgYGNvbXBvbmVudGAgcHJvcGVydHkgICovXG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8VD47XG5cbiAgLyoqIFRoZSBvdmVybGF5IHBvc2l0aW9ucyB1c2luZyB0aGUgcG9zaXRpb24gYnVpbGRlciBwcm92aWRlZCB2aWEgYXJndW1lbnQgICovXG4gIHBvc2l0aW9uczogKGJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIpID0+IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXTtcbn07XG5cbmV4cG9ydCB0eXBlIE92ZXJsYXlIYW5kbGVyPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4gPSB7XG4gIC8qKiBPcGVuIHRoZSBvdmVybGF5IHVzaW5nIGEgY29tYmluYXRpb24gb2YgdGhlIGdpdmVuIGNvbmZpZ3MgICovXG4gIG9wZW46IChjb25maWc/OiBPdmVybGF5Q29uc3VtZXJDb25maWc8RD4pID0+IE92ZXJsYXlSZWY8VCwgUj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHR5cGVkIG92ZXJsYXkgcmVmLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBvdmVybGF5IHJlZiBnZXRzIGFjY2Vzc2VkIG91dHNpZGUgb2YgdGhlIG92ZXJsYXkgY29tcG9uZW50IG9yIHRlbXBsYXRlUmVmXG4gICAqL1xuICBpbmplY3RPdmVybGF5UmVmOiAoKSA9PiBPdmVybGF5UmVmPFQsIFI+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvdmVybGF5IGRhdGEuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIG92ZXJsYXkgZGF0YSBnZXRzIGFjY2Vzc2VkIG91dHNpZGUgb2YgdGhlIG92ZXJsYXkgY29tcG9uZW50IG9yIHRlbXBsYXRlUmVmXG4gICAqL1xuICBpbmplY3RPdmVybGF5RGF0YTogKCkgPT4gRDtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU92ZXJsYXlIYW5kbGVySW5uZXJDb25maWc8UiA9IHVua25vd24+ID0ge1xuICAvKiogQSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBvbmNlIHRoZSBvdmVybGF5IGhhcyBiZWVuIGNsb3NlZCAqL1xuICBhZnRlckNsb3NlZD86IChyZXN1bHQ6IFIgfCBudWxsKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU92ZXJsYXlIYW5kbGVyID0gPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YSA9IHVua25vd24sIFRPdmVybGF5UmVzdWx0ID0gdW5rbm93bj4oXG4gIHJvb3RDb25maWc6IENyZWF0ZU92ZXJsYXlIYW5kbGVyQ29uZmlnPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YT4sXG4pID0+IHtcbiAgY29uc3QgZm4gPSAoaW5uZXJDb25maWc/OiBDcmVhdGVPdmVybGF5SGFuZGxlcklubmVyQ29uZmlnPFRPdmVybGF5UmVzdWx0PikgPT4ge1xuICAgIGNvbnN0IG92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXlTZXJ2aWNlKTtcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdCB0cGwgPSByb290Q29uZmlnLmNvbXBvbmVudCA/PyByb290Q29uZmlnLnRlbXBsYXRlO1xuXG4gICAgaWYgKCF0cGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGNvbXBvbmVudCBvciB0ZW1wbGF0ZSBtdXN0IGJlIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3BlbiA9IChjb25maWc/OiBPdmVybGF5Q29uc3VtZXJDb25maWc8VE92ZXJsYXlEYXRhPikgPT4ge1xuICAgICAgY29uc3QgcmVmID0gb3ZlcmxheVNlcnZpY2Uub3BlbjxUQ29tcG9uZW50LCBUT3ZlcmxheURhdGEsIFRPdmVybGF5UmVzdWx0Pih0cGwsIHtcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgLi4ucm9vdENvbmZpZyxcbiAgICAgICAgcG9zaXRpb25zOiByb290Q29uZmlnLnBvc2l0aW9ucyhvdmVybGF5U2VydmljZS5wb3NpdGlvbnMpLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYWZ0ZXJDbG9zZWRGbiA9IGlubmVyQ29uZmlnPy5hZnRlckNsb3NlZDtcblxuICAgICAgaWYgKGFmdGVyQ2xvc2VkRm4pIHtcbiAgICAgICAgcmVmXG4gICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChkZXN0cm95UmVmKSxcbiAgICAgICAgICAgIHRhcCgocikgPT4gYWZ0ZXJDbG9zZWRGbihyID8/IG51bGwpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVmO1xuICAgIH07XG5cbiAgICBjb25zdCBpbmplY3RPdmVybGF5UmVmID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIGluamVjdDxPdmVybGF5UmVmPFRDb21wb25lbnQsIFRPdmVybGF5UmVzdWx0Pj4oT3ZlcmxheVJlZik7XG4gICAgfTtcblxuICAgIGNvbnN0IGluamVjdE92ZXJsYXlEYXRhID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIGluamVjdDxUT3ZlcmxheURhdGE+KE9WRVJMQVlfREFUQSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZXI6IE92ZXJsYXlIYW5kbGVyPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YSwgVE92ZXJsYXlSZXN1bHQ+ID0ge1xuICAgICAgb3BlbixcbiAgICAgIGluamVjdE92ZXJsYXlSZWYsXG4gICAgICBpbmplY3RPdmVybGF5RGF0YSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IHR5cGUgT3ZlcmxheUhhbmRsZXJXaXRoUXVlcnlQYXJhbUxpZmVjeWNsZTxRID0gc3RyaW5nPiA9IHtcbiAgLyoqIE9wZW4gdGhlIG92ZXJsYXkgdXNpbmcgdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtIHZhbHVlICAqL1xuICBvcGVuOiAocXVlcnlQYXJhbVZhbHVlOiBRKSA9PiB2b2lkO1xuXG4gIC8qKiBDbG9zZSB0aGUgb3ZlcmxheSBhbmQgcmVtb3ZlIHRoZSBxdWVyeSBwYXJhbSAgKi9cbiAgY2xvc2U6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlQ29uZmlnPFQ+ID0gT21pdDxcbiAgT3ZlcmxheUNvbmZpZzx1bmtub3duPixcbiAgJ3Bvc2l0aW9ucycgfCAnZGF0YSdcbj4gJiB7XG4gIC8qKiBUaGUgb3ZlcmxheSBjb21wb25lbnQgICovXG4gIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcblxuICAvKiogVGhlIG92ZXJsYXkgcG9zaXRpb25zIHVzaW5nIHRoZSBwb3NpdGlvbiBidWlsZGVyIHByb3ZpZGVkIHZpYSBhcmd1bWVudCAgKi9cbiAgcG9zaXRpb25zOiAoYnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcikgPT4gT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeVtdO1xuXG4gIC8qKiBUaGUgcXVlcnkgcGFyYW0ga2V5IHRvIGJlIHVzZWQgZm9yIHRoZSBvdmVybGF5ICAqL1xuICBxdWVyeVBhcmFtS2V5OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9RVUVSWV9QQVJBTV9JTlBVVF9OQU1FID0gJ292ZXJsYXlRdWVyeVBhcmFtJztcblxuLyoqXG4gKiBUaGlzIGhhbmRsZXIgd2lsbCBhdXRvbWF0aWNhbGx5IG9wZW4gdGhlIG92ZXJsYXkgd2hlbiB0aGUgcXVlcnkgcGFyYW0gaXMgcHJlc2VudC5cbiAqIFRoZSBvdmVybGF5IGNhbiBjb250YWluIGEgcmVxdWlyZWQgaW5wdXQgd2l0aCB0aGUgbmFtZSBgb3ZlcmxheVF1ZXJ5UGFyYW1gIHRvIHJlY2VpdmUgdGhlIHF1ZXJ5IHBhcmFtIHZhbHVlLlxuICpcbiAqIElmIHlvdSBuZWVkIHRvIHRyYW5zZmVyIG1vcmUgaW5mb3JtYXRpb24gKGVnLiBhIHNlY29uZCBxdWVyeSBwYXJhbSksIHlvdSBuZWVkIHRvIGNvbWJpbmUgdGhlbSBpbnRvIGEgc2luZ2xlIHF1ZXJ5IHBhcmFtIHN0cmluZy5cbiAqIFlvdSBjYW4gdGhlbiBzcGxpdCB0aGUgc3RyaW5nIGluc2lkZSB0aGUgb3ZlcmxheSBjb21wb25lbnQgdXNpbmcgY29tcHV0ZWQgc2lnbmFscy5cbiAqXG4gKiBUbyBvcGVuIHRoZSBvdmVybGF5IGVpdGhlciB1c2UgdGhlIGBPdmVybGF5SGFuZGxlckxpbmtEaXJlY3RpdmVgIG9yIGNhbGwgdGhlIGAub3BlbmAgbWV0aG9kIG9mIHRoZSByZXR1cm5lZCBoYW5kbGVyLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlT3ZlcmxheUhhbmRsZXJXaXRoUXVlcnlQYXJhbUxpZmVjeWNsZSA9IDxcbiAgVENvbXBvbmVudCxcbiAgVFF1ZXJ5UGFyYW0gZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFRSZXN1bHQgPSB1bmtub3duLFxuPihcbiAgY29uZmlnOiBDcmVhdGVPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlQ29uZmlnPFRDb21wb25lbnQ+LFxuKSA9PiB7XG4gIGNvbnN0IGhhbmRsZXIgPSBjcmVhdGVPdmVybGF5SGFuZGxlcjxUQ29tcG9uZW50LCB2b2lkLCBUUmVzdWx0Pihjb25maWcpO1xuXG4gIGxldCBmbkNhbGxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGZuID0gKGlubmVyQ29uZmlnPzogQ3JlYXRlT3ZlcmxheUhhbmRsZXJJbm5lckNvbmZpZzxUUmVzdWx0PikgPT4ge1xuICAgIGlmIChmbkNhbGxlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGZ1bmN0aW9uIHJldHVybmVkIGJ5IGNyZWF0ZU92ZXJsYXlIYW5kbGVyV2l0aFF1ZXJ5UGFyYW1MaWZlY3ljbGUgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UgdW50aWwgdGhlIGNhbGxlciBpcyBkZXN0cm95ZWQnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmbkNhbGxlZCA9IHRydWU7XG5cbiAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIGNvbnN0IG92ZXJsYXlIYW5kbGVyID0gaGFuZGxlcihpbm5lckNvbmZpZyk7XG4gICAgY29uc3QgcXVlcnlQYXJhbVZhbHVlID0gaW5qZWN0UXVlcnlQYXJhbTxUUXVlcnlQYXJhbT4oY29uZmlnLnF1ZXJ5UGFyYW1LZXkpO1xuXG4gICAgbGV0IGN1cnJlbnRPdmVybGF5UmVmOiBPdmVybGF5UmVmPFRDb21wb25lbnQsIFRSZXN1bHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICBmbkNhbGxlZCA9IGZhbHNlO1xuICAgICAgY2xlYW51cCgpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgIFtjb25maWcucXVlcnlQYXJhbUtleV06IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcXVlcnlQYXJhbVZhbHVlKCk7XG5cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGlmICghY3VycmVudE92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGN1cnJlbnRPdmVybGF5UmVmID0gb3ZlcmxheUhhbmRsZXIub3BlbigpO1xuICAgICAgICAgICAgY3VycmVudE92ZXJsYXlSZWZcbiAgICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiBjbGVhbnVwKCkpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgIGlmICgoY3VycmVudE92ZXJsYXlSZWYuY29tcG9uZW50SW5zdGFuY2UgYXMgYW55KVtPVkVSTEFZX1FVRVJZX1BBUkFNX0lOUFVUX05BTUVdKSB7XG4gICAgICAgICAgICBjdXJyZW50T3ZlcmxheVJlZi5jb21wb25lbnRSZWY/LnNldElucHV0KE9WRVJMQVlfUVVFUllfUEFSQU1fSU5QVVRfTkFNRSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY3VycmVudE92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGN1cnJlbnRPdmVybGF5UmVmLmNsb3NlKCk7XG4gICAgICAgICAgICBjdXJyZW50T3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9wZW4gPSAocXVlcnlQYXJhbVZhbHVlOiBUUXVlcnlQYXJhbSkgPT4ge1xuICAgICAgcm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgW2NvbmZpZy5xdWVyeVBhcmFtS2V5XTogcXVlcnlQYXJhbVZhbHVlLFxuICAgICAgICB9LFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNsb3NlID0gKCkgPT4ge1xuICAgICAgY2xlYW51cCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBsaWZlY3ljbGVIYW5kbGVyOiBPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlPFRRdWVyeVBhcmFtPiA9IHtcbiAgICAgIG9wZW4sXG4gICAgICBjbG9zZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGxpZmVjeWNsZUhhbmRsZXI7XG4gIH07XG5cbiAgZm5bJ2luamVjdE92ZXJsYXlSZWYnXSA9ICgpID0+IGhhbmRsZXIoKS5pbmplY3RPdmVybGF5UmVmKCk7XG5cbiAgcmV0dXJuIGZuO1xufTtcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFFTixNQUFNLEVBQ04sUUFBUSxFQUlSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBbUMzQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxVQUFnRSxFQUNoRSxFQUFFO0lBQ0YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUE2RCxFQUFFLEVBQUU7UUFDM0UsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUV4RCxJ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RUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgRWZmZWN0UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dFNpZ25hbCxcbiAgTW9kZWxTaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB1bnRyYWNrZWQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGluamVjdFF1ZXJ5UGFyYW0gfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT1ZFUkxBWV9EQVRBIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT3ZlcmxheUJyZWFrcG9pbnRDb25maWdFbnRyeSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnN1bWVyQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB9IGZyb20gJy4vb3ZlcmxheS1wb3NpdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICcuL292ZXJsYXktcmVmJztcblxuZXhwb3J0IHR5cGUgQ3JlYXRlT3ZlcmxheUhhbmRsZXJDb25maWc8VCwgRCA9IHVua25vd24+ID0gT21pdDxPdmVybGF5Q29uZmlnPEQ+LCAncG9zaXRpb25zJz4gJiB7XG4gIC8qKiBUaGUgb3ZlcmxheSBjb21wb25lbnQuIFVzZSBlaXRoZXIgdGhpcyBvciB0aGUgYHRlbXBsYXRlYCBwcm9wZXJ0eSAgKi9cbiAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxUPjtcblxuICAvKiogVGhlIG92ZXJsYXkgdGVtcGxhdGUuIFVzZSBlaXRoZXIgdGhpcyBvciB0aGUgYGNvbXBvbmVudGAgcHJvcGVydHkgICovXG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8VD47XG5cbiAgLyoqIFRoZSBvdmVybGF5IHBvc2l0aW9ucyB1c2luZyB0aGUgcG9zaXRpb24gYnVpbGRlciBwcm92aWRlZCB2aWEgYXJndW1lbnQgICovXG4gIHBvc2l0aW9uczogKGJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIpID0+IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXTtcbn07XG5cbmV4cG9ydCB0eXBlIE92ZXJsYXlIYW5kbGVyPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4gPSB7XG4gIC8qKiBPcGVuIHRoZSBvdmVybGF5IHVzaW5nIGEgY29tYmluYXRpb24gb2YgdGhlIGdpdmVuIGNvbmZpZ3MgICovXG4gIG9wZW46IChjb25maWc/OiBPdmVybGF5Q29uc3VtZXJDb25maWc8RD4pID0+IE92ZXJsYXlSZWY8VCwgUj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHR5cGVkIG92ZXJsYXkgcmVmLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBvdmVybGF5IHJlZiBnZXRzIGFjY2Vzc2VkIG91dHNpZGUgb2YgdGhlIG92ZXJsYXkgY29tcG9uZW50IG9yIHRlbXBsYXRlUmVmXG4gICAqL1xuICBpbmplY3RPdmVybGF5UmVmOiAoKSA9PiBPdmVybGF5UmVmPFQsIFI+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvdmVybGF5IGRhdGEuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIG92ZXJsYXkgZGF0YSBnZXRzIGFjY2Vzc2VkIG91dHNpZGUgb2YgdGhlIG92ZXJsYXkgY29tcG9uZW50IG9yIHRlbXBsYXRlUmVmXG4gICAqL1xuICBpbmplY3RPdmVybGF5RGF0YTogKCkgPT4gRDtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU92ZXJsYXlIYW5kbGVySW5uZXJDb25maWc8UiA9IHVua25vd24+ID0ge1xuICAvKiogQSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBvbmNlIHRoZSBvdmVybGF5IGhhcyBiZWVuIGNsb3NlZCAqL1xuICBhZnRlckNsb3NlZD86IChyZXN1bHQ6IFIgfCBudWxsKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU92ZXJsYXlIYW5kbGVyID0gPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YSA9IHVua25vd24sIFRPdmVybGF5UmVzdWx0ID0gdW5rbm93bj4oXG4gIHJvb3RDb25maWc6IENyZWF0ZU92ZXJsYXlIYW5kbGVyQ29uZmlnPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YT4sXG4pID0+IHtcbiAgY29uc3QgZm4gPSAoaW5uZXJDb25maWc/OiBDcmVhdGVPdmVybGF5SGFuZGxlcklubmVyQ29uZmlnPFRPdmVybGF5UmVzdWx0PikgPT4ge1xuICAgIGNvbnN0IG92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXlTZXJ2aWNlKTtcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdCB0cGwgPSByb290Q29uZmlnLmNvbXBvbmVudCA/PyByb290Q29uZmlnLnRlbXBsYXRlO1xuXG4gICAgaWYgKCF0cGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGNvbXBvbmVudCBvciB0ZW1wbGF0ZSBtdXN0IGJlIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3BlbiA9IChjb25maWc/OiBPdmVybGF5Q29uc3VtZXJDb25maWc8VE92ZXJsYXlEYXRhPikgPT4ge1xuICAgICAgY29uc3QgcmVmID0gb3ZlcmxheVNlcnZpY2Uub3BlbjxUQ29tcG9uZW50LCBUT3ZlcmxheURhdGEsIFRPdmVybGF5UmVzdWx0Pih0cGwsIHtcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgLi4ucm9vdENvbmZpZyxcbiAgICAgICAgcG9zaXRpb25zOiByb290Q29uZmlnLnBvc2l0aW9ucyhvdmVybGF5U2VydmljZS5wb3NpdGlvbnMpLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYWZ0ZXJDbG9zZWRGbiA9IGlubmVyQ29uZmlnPy5hZnRlckNsb3NlZDtcblxuICAgICAgaWYgKGFmdGVyQ2xvc2VkRm4pIHtcbiAgICAgICAgcmVmXG4gICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChkZXN0cm95UmVmKSxcbiAgICAgICAgICAgIHRhcCgocikgPT4gYWZ0ZXJDbG9zZWRGbihyID8/IG51bGwpKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVmO1xuICAgIH07XG5cbiAgICBjb25zdCBpbmplY3RPdmVybGF5UmVmID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIGluamVjdDxPdmVybGF5UmVmPFRDb21wb25lbnQsIFRPdmVybGF5UmVzdWx0Pj4oT3ZlcmxheVJlZik7XG4gICAgfTtcblxuICAgIGNvbnN0IGluamVjdE92ZXJsYXlEYXRhID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIGluamVjdDxUT3ZlcmxheURhdGE+KE9WRVJMQVlfREFUQSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZXI6IE92ZXJsYXlIYW5kbGVyPFRDb21wb25lbnQsIFRPdmVybGF5RGF0YSwgVE92ZXJsYXlSZXN1bHQ+ID0ge1xuICAgICAgb3BlbixcbiAgICAgIGluamVjdE92ZXJsYXlSZWYsXG4gICAgICBpbmplY3RPdmVybGF5RGF0YSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH07XG5cbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IHR5cGUgT3ZlcmxheUhhbmRsZXJXaXRoUXVlcnlQYXJhbUxpZmVjeWNsZTxRID0gc3RyaW5nPiA9IHtcbiAgLyoqIE9wZW4gdGhlIG92ZXJsYXkgdXNpbmcgdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtIHZhbHVlICAqL1xuICBvcGVuOiAocXVlcnlQYXJhbVZhbHVlOiBRKSA9PiB2b2lkO1xuXG4gIC8qKiBDbG9zZSB0aGUgb3ZlcmxheSBhbmQgcmVtb3ZlIHRoZSBxdWVyeSBwYXJhbSAgKi9cbiAgY2xvc2U6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlQ29uZmlnPFQ+ID0gT21pdDxcbiAgT3ZlcmxheUNvbmZpZzx1bmtub3duPixcbiAgJ3Bvc2l0aW9ucycgfCAnZGF0YScgfCAnY2xvc2VPbk5hdmlnYXRpb24nXG4+ICYge1xuICAvKiogVGhlIG92ZXJsYXkgY29tcG9uZW50ICAqL1xuICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD47XG5cbiAgLyoqIFRoZSBvdmVybGF5IHBvc2l0aW9ucyB1c2luZyB0aGUgcG9zaXRpb24gYnVpbGRlciBwcm92aWRlZCB2aWEgYXJndW1lbnQgICovXG4gIHBvc2l0aW9uczogKGJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIpID0+IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXTtcblxuICAvKiogVGhlIHF1ZXJ5IHBhcmFtIGtleSB0byBiZSB1c2VkIGZvciB0aGUgb3ZlcmxheSAgKi9cbiAgcXVlcnlQYXJhbUtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfUVVFUllfUEFSQU1fSU5QVVRfTkFNRSA9ICdvdmVybGF5UXVlcnlQYXJhbSc7XG5cbi8qKlxuICogVGhpcyBoYW5kbGVyIHdpbGwgYXV0b21hdGljYWxseSBvcGVuIHRoZSBvdmVybGF5IHdoZW4gdGhlIHF1ZXJ5IHBhcmFtIGlzIHByZXNlbnQuXG4gKiBUaGUgb3ZlcmxheSBjYW4gY29udGFpbiBhIGlucHV0IG9yIG1vZGVsIHdpdGggdGhlIG5hbWUgYG92ZXJsYXlRdWVyeVBhcmFtYCB0byByZWNlaXZlIHRoZSBxdWVyeSBwYXJhbSB2YWx1ZS5cbiAqXG4gKiBJZiB5b3UgbmVlZCB0byB0cmFuc2ZlciBtb3JlIGluZm9ybWF0aW9uIChlZy4gYSBzZWNvbmQgcXVlcnkgcGFyYW0pLCB5b3UgbmVlZCB0byBjb21iaW5lIHRoZW0gaW50byBhIHNpbmdsZSBxdWVyeSBwYXJhbSBzdHJpbmcuXG4gKiBZb3UgY2FuIHRoZW4gc3BsaXQgdGhlIHN0cmluZyBpbnNpZGUgdGhlIG92ZXJsYXkgY29tcG9uZW50IHVzaW5nIGNvbXB1dGVkIHNpZ25hbHMuXG4gKlxuICogVG8gb3BlbiB0aGUgb3ZlcmxheSBlaXRoZXIgdXNlIHRoZSBgT3ZlcmxheUhhbmRsZXJMaW5rRGlyZWN0aXZlYCBvciBjYWxsIHRoZSBgLm9wZW5gIG1ldGhvZCBvZiB0aGUgcmV0dXJuZWQgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZU92ZXJsYXlIYW5kbGVyV2l0aFF1ZXJ5UGFyYW1MaWZlY3ljbGUgPSA8XG4gIFRDb21wb25lbnQsXG4gIFRRdWVyeVBhcmFtIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuICBUUmVzdWx0ID0gdW5rbm93bixcbj4oXG4gIGNvbmZpZzogQ3JlYXRlT3ZlcmxheUhhbmRsZXJXaXRoUXVlcnlQYXJhbUxpZmVjeWNsZUNvbmZpZzxUQ29tcG9uZW50PixcbikgPT4ge1xuICBjb25zdCBoYW5kbGVyID0gY3JlYXRlT3ZlcmxheUhhbmRsZXI8VENvbXBvbmVudCwgdm9pZCwgVFJlc3VsdD4oeyAuLi5jb25maWcsIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSB9KTtcblxuICBsZXQgZm5DYWxsZWQgPSBmYWxzZTtcbiAgbGV0IHJvdXRlcjogUm91dGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3QgdXBkYXRlUXVlcnlQYXJhbSA9ICh2YWx1ZTogVFF1ZXJ5UGFyYW0gfCBudWxsKSA9PiB7XG4gICAgcm91dGVyPy5uYXZpZ2F0ZShbXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgW2NvbmZpZy5xdWVyeVBhcmFtS2V5XTogdmFsdWUsXG4gICAgICB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBmbiA9IChpbm5lckNvbmZpZz86IENyZWF0ZU92ZXJsYXlIYW5kbGVySW5uZXJDb25maWc8VFJlc3VsdD4pID0+IHtcbiAgICBpZiAoZm5DYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBjcmVhdGVPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlIHVudGlsIHRoZSBjYWxsZXIgaXMgZGVzdHJveWVkJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZm5DYWxsZWQgPSB0cnVlO1xuXG4gICAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgY29uc3Qgb3ZlcmxheUhhbmRsZXIgPSBoYW5kbGVyKHsgLi4uKGlubmVyQ29uZmlnID8/IHt9KSB9KTtcbiAgICBjb25zdCBxdWVyeVBhcmFtVmFsdWUgPSBpbmplY3RRdWVyeVBhcmFtPFRRdWVyeVBhcmFtPihjb25maWcucXVlcnlQYXJhbUtleSk7XG5cbiAgICBsZXQgY3VycmVudE92ZXJsYXlSZWY6IE92ZXJsYXlSZWY8VENvbXBvbmVudCwgVFJlc3VsdD4gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaW5wdXRTaWduYWxFZmZlY3Q6IEVmZmVjdFJlZiB8IG51bGwgPSBudWxsO1xuXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgZm5DYWxsZWQgPSBmYWxzZTtcbiAgICAgIHJvdXRlciA9IG51bGw7XG4gICAgICBjbGVhbnVwKCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjbGVhbnVwID0gKCkgPT4ge1xuICAgICAgaW5wdXRTaWduYWxFZmZlY3Q/LmRlc3Ryb3koKTtcbiAgICAgIGlucHV0U2lnbmFsRWZmZWN0ID0gbnVsbDtcbiAgICAgIHVwZGF0ZVF1ZXJ5UGFyYW0obnVsbCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldFF1ZXJ5UGFyYW1JbnB1dCA9ICgpID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICByZXR1cm4gKGN1cnJlbnRPdmVybGF5UmVmPy5jb21wb25lbnRJbnN0YW5jZSBhcyBhbnkpPy5bT1ZFUkxBWV9RVUVSWV9QQVJBTV9JTlBVVF9OQU1FXSBhc1xuICAgICAgICB8IE1vZGVsU2lnbmFsPFRRdWVyeVBhcmFtPlxuICAgICAgICB8IElucHV0U2lnbmFsPFRRdWVyeVBhcmFtPlxuICAgICAgICB8IHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcXVlcnlQYXJhbVZhbHVlKCk7XG5cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGlmICghY3VycmVudE92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGN1cnJlbnRPdmVybGF5UmVmID0gb3ZlcmxheUhhbmRsZXIub3BlbigpO1xuICAgICAgICAgICAgY3VycmVudE92ZXJsYXlSZWZcbiAgICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKGRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiBjbGVhbnVwKCkpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIGNvbnN0IGlucHV0U2lnbmFsID0gZ2V0UXVlcnlQYXJhbUlucHV0KCk7XG5cbiAgICAgICAgICAgIGlmIChpbnB1dFNpZ25hbCkge1xuICAgICAgICAgICAgICBpbnB1dFNpZ25hbEVmZmVjdCA9IGVmZmVjdChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dFZhbCA9IGlucHV0U2lnbmFsKCk7XG5cbiAgICAgICAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVF1ZXJ5UGFyYW0oaW5wdXRWYWwpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGluamVjdG9yIH0sXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGdldFF1ZXJ5UGFyYW1JbnB1dCgpKSB7XG4gICAgICAgICAgICBjdXJyZW50T3ZlcmxheVJlZi5jb21wb25lbnRSZWY/LnNldElucHV0KE9WRVJMQVlfUVVFUllfUEFSQU1fSU5QVVRfTkFNRSwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoY3VycmVudE92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGlucHV0U2lnbmFsRWZmZWN0Py5kZXN0cm95KCk7XG4gICAgICAgICAgICBpbnB1dFNpZ25hbEVmZmVjdCA9IG51bGw7XG4gICAgICAgICAgICBjdXJyZW50T3ZlcmxheVJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgY3VycmVudE92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvcGVuID0gKHF1ZXJ5UGFyYW1WYWx1ZTogVFF1ZXJ5UGFyYW0pID0+IHVwZGF0ZVF1ZXJ5UGFyYW0ocXVlcnlQYXJhbVZhbHVlKTtcblxuICAgIGNvbnN0IGNsb3NlID0gKCkgPT4ge1xuICAgICAgY2xlYW51cCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBsaWZlY3ljbGVIYW5kbGVyOiBPdmVybGF5SGFuZGxlcldpdGhRdWVyeVBhcmFtTGlmZWN5Y2xlPFRRdWVyeVBhcmFtPiA9IHtcbiAgICAgIG9wZW4sXG4gICAgICBjbG9zZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGxpZmVjeWNsZUhhbmRsZXI7XG4gIH07XG5cbiAgZm5bJ2luamVjdE92ZXJsYXlSZWYnXSA9ICgpID0+IGhhbmRsZXIoKS5pbmplY3RPdmVybGF5UmVmKCk7XG4gIGZuWyd1cGRhdGVRdWVyeVBhcmFtJ10gPSAodmFsdWU6IFRRdWVyeVBhcmFtKSA9PiB1cGRhdGVRdWVyeVBhcmFtKHZhbHVlKTtcblxuICByZXR1cm4gZm47XG59O1xuIl19
@@ -45,12 +45,12 @@ export class PictureComponent {
45
45
  };
46
46
  }
47
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, defaultSrc: { classPropertyName: "defaultSrc", publicName: "defaultSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, figcaption: { classPropertyName: "figcaption", publicName: "figcaption", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgLoaded: "imgLoaded", imgError: "imgError" }, host: { classAttribute: "et-picture" }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true, isSignal: true }], ngImport: i0, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source [type]=\"source.type\" [attr.srcset]=\"source.srcset\" [attr.sizes]=\"sizes()\" />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, defaultSrc: { classPropertyName: "defaultSrc", publicName: "defaultSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, figcaption: { classPropertyName: "figcaption", publicName: "figcaption", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgLoaded: "imgLoaded", imgError: "imgError" }, host: { classAttribute: "et-picture" }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true, isSignal: true }], ngImport: i0, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source\n [type]=\"source.type\"\n [attr.srcset]=\"source.srcset\"\n [attr.sizes]=\"(source.sizes ?? sizes()) || null\"\n [attr.media]=\"source.media || null\"\n />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
49
  }
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PictureComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], host: {
53
53
  class: 'et-picture',
54
- }, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source [type]=\"source.type\" [attr.srcset]=\"source.srcset\" [attr.sizes]=\"sizes()\" />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n" }]
54
+ }, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source\n [type]=\"source.type\"\n [attr.srcset]=\"source.srcset\"\n [attr.sizes]=\"(source.sizes ?? sizes()) || null\"\n [attr.media]=\"source.media || null\"\n />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n" }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9jb21wb25lbnRzL3BpY3R1cmUvcGljdHVyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9jb21wb25lbnRzL3BpY3R1cmUvcGljdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWE5RyxNQUFNLE9BQU8sZ0JBQWdCO0lBWDdCO1FBWUUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpELFlBQU8sR0FBRyxLQUFLLENBQWdDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsYUFB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WUFDNUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTdGLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRTtTQUM5RSxDQUFDO0lBQ0osQ0FBQzs4R0FsRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsazBEQzlCN0IsaytCQTZCQSw0Q0RKWSxPQUFPOzsyRkFLTixnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0UsWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQyxRQUNaO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvdXRwdXRGcm9tT2JzZXJ2YWJsZSwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcGljdHVyZS50eXBlcyc7XG5pbXBvcnQgeyBJTUFHRV9DT05GSUdfVE9LRU4sIG5vcm1hbGl6ZVBpY3R1cmVTaXplcywgbm9ybWFsaXplUGljdHVyZVNvdXJjZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BpY3R1cmUudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1waWN0dXJlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgUGljdHVyZUNvbXBvbmVudCB7XG4gIF9jb25maWcgPSBpbmplY3QoSU1BR0VfQ09ORklHX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHNvdXJjZXMgPSBpbnB1dDxBcnJheTxQaWN0dXJlU291cmNlIHwgc3RyaW5nPj4oW10pO1xuICBoYXNQcmlvcml0eSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgaW1nQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIHBpY3R1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgZGVmYXVsdFNyYyA9IGlucHV0PFBpY3R1cmVTb3VyY2UgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgYWx0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGZpZ2NhcHRpb24gPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgd2lkdGggPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBoZWlnaHQgPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBzaXplcyA9IGlucHV0PHN0cmluZyB8IG51bGwsIHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbD4obnVsbCwge1xuICAgIHRyYW5zZm9ybTogKHYpID0+IG5vcm1hbGl6ZVBpY3R1cmVTaXplcyh2KSxcbiAgfSk7XG5cbiAgaW1nID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD4+KCdpbWcnKTtcbiAgaW1nJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmltZykucGlwZShtYXAoKHJlZikgPT4gcmVmPy5uYXRpdmVFbGVtZW50ID8/IG51bGwpKTtcblxuICBpbWdMb2FkZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0aGlzLmltZyQucGlwZShzd2l0Y2hNYXAoKGltZykgPT4gKGltZyA/IGZyb21FdmVudChpbWcsICdsb2FkJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YoZmFsc2UpKSkpLFxuICApO1xuICBpbWdFcnJvciA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuaW1nJC5waXBlKHN3aXRjaE1hcCgoaW1nKSA9PiAoaW1nID8gZnJvbUV2ZW50KGltZywgJ2Vycm9yJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YoZmFsc2UpKSkpLFxuICApO1xuXG4gIHNvdXJjZXNXaXRoQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLnNvdXJjZXMoKTtcblxuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlKSA9PiB0aGlzLl9jb21iaW5lV2l0aENvbmZpZyhub3JtYWxpemVQaWN0dXJlU291cmNlKHNvdXJjZSkpKTtcbiAgfSk7XG5cbiAgZGVmYXVsdFNvdXJjZVdpdGhDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdFNyYyA9IHRoaXMuZGVmYXVsdFNyYygpO1xuICAgIHJldHVybiBkZWZhdWx0U3JjID8gdGhpcy5fY29tYmluZVdpdGhDb25maWcobm9ybWFsaXplUGljdHVyZVNvdXJjZShkZWZhdWx0U3JjKSkgOiBudWxsO1xuICB9KTtcblxuICBfY29tYmluZVdpdGhDb25maWcoc3JjOiBQaWN0dXJlU291cmNlKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmJhc2VVcmwgfHwgc3JjLnNyY3NldC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIHJldHVybiBzcmM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQXBwZW5kU2xhc2ggPSAhdGhpcy5fY29uZmlnLmJhc2VVcmwuZW5kc1dpdGgoJy8nKSAmJiAhc3JjLnNyY3NldC5zdGFydHNXaXRoKCcvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3JjLFxuICAgICAgc3Jjc2V0OiBgJHt0aGlzLl9jb25maWcuYmFzZVVybH0ke3Nob3VsZEFwcGVuZFNsYXNoID8gJy8nIDogJyd9JHtzcmMuc3Jjc2V0fWAsXG4gICAgfTtcbiAgfVxufVxuIiwiPGZpZ3VyZSBbbmdDbGFzc109XCJmaWd1cmVDbGFzcygpXCIgY2xhc3M9XCJldC1waWN0dXJlLWZpZ3VyZVwiPlxuICA8cGljdHVyZSBbbmdDbGFzc109XCJwaWN0dXJlQ2xhc3MoKVwiIGNsYXNzPVwiZXQtcGljdHVyZS1waWN0dXJlXCI+XG4gICAgQGZvciAoc291cmNlIG9mIHNvdXJjZXNXaXRoQ29uZmlnKCk7IHRyYWNrIHNvdXJjZS5zcmNzZXQpIHtcbiAgICAgIDxzb3VyY2UgW3R5cGVdPVwic291cmNlLnR5cGVcIiBbYXR0ci5zcmNzZXRdPVwic291cmNlLnNyY3NldFwiIFthdHRyLnNpemVzXT1cInNpemVzKClcIiAvPlxuICAgIH1cblxuICAgIEBpZiAoZGVmYXVsdFNvdXJjZVdpdGhDb25maWcoKTsgYXMgc291cmNlKSB7XG4gICAgICA8aW1nXG4gICAgICAgICNpbWdcbiAgICAgICAgW2F0dHIubG9hZGluZ109XCJoYXNQcmlvcml0eSgpID8gJ2VhZ2VyJyA6ICdsYXp5J1wiXG4gICAgICAgIFthdHRyLmZldGNocHJpb3JpdHldPVwiaGFzUHJpb3JpdHkoKSA/ICdoaWdoJyA6ICdhdXRvJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cImltZ0NsYXNzKClcIlxuICAgICAgICBbYXR0ci5zcmNzZXRdPVwic291cmNlLnNyY3NldFwiXG4gICAgICAgIFthdHRyLnR5cGVdPVwic291cmNlLnR5cGVcIlxuICAgICAgICBbYXR0ci5hbHRdPVwiYWx0KClcIlxuICAgICAgICBbYXR0ci53aWR0aF09XCJ3aWR0aCgpXCJcbiAgICAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCgpXCJcbiAgICAgICAgW2F0dHIuc2l6ZXNdPVwic2l6ZXMoKVwiXG4gICAgICAgIGNsYXNzPVwiZXQtcGljdHVyZS1pbWdcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvcGljdHVyZT5cblxuICBAaWYgKGZpZ2NhcHRpb24oKSkge1xuICAgIDxmaWdjYXB0aW9uIFtuZ0NsYXNzXT1cImZpZ2NhcHRpb25DbGFzcygpXCIgY2xhc3M9XCJldC1waWN0dXJlLWZpZ2NhcHRpb25cIj5cbiAgICAgIHt7IGZpZ2NhcHRpb24oKSB9fVxuICAgIDwvZmlnY2FwdGlvbj5cbiAgfVxuPC9maWd1cmU+XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9jb21wb25lbnRzL3BpY3R1cmUvcGljdHVyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGljdHVyZS9jb21wb25lbnRzL3BpY3R1cmUvcGljdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWE5RyxNQUFNLE9BQU8sZ0JBQWdCO0lBWDdCO1FBWUUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpELFlBQU8sR0FBRyxLQUFLLENBQWdDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsYUFB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WUFDNUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTdGLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRTtTQUM5RSxDQUFDO0lBQ0osQ0FBQzs4R0FsRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsazBEQzlCN0IsNmtDQWtDQSw0Q0RUWSxPQUFPOzsyRkFLTixnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0UsWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQyxRQUNaO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvdXRwdXRGcm9tT2JzZXJ2YWJsZSwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaWN0dXJlU291cmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcGljdHVyZS50eXBlcyc7XG5pbXBvcnQgeyBJTUFHRV9DT05GSUdfVE9LRU4sIG5vcm1hbGl6ZVBpY3R1cmVTaXplcywgbm9ybWFsaXplUGljdHVyZVNvdXJjZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BpY3R1cmUudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1waWN0dXJlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY3R1cmUuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1waWN0dXJlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgUGljdHVyZUNvbXBvbmVudCB7XG4gIF9jb25maWcgPSBpbmplY3QoSU1BR0VfQ09ORklHX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHNvdXJjZXMgPSBpbnB1dDxBcnJheTxQaWN0dXJlU291cmNlIHwgc3RyaW5nPj4oW10pO1xuICBoYXNQcmlvcml0eSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgaW1nQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIHBpY3R1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgZGVmYXVsdFNyYyA9IGlucHV0PFBpY3R1cmVTb3VyY2UgfCBzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgYWx0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGZpZ2NhcHRpb24gPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgd2lkdGggPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBoZWlnaHQgPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBzaXplcyA9IGlucHV0PHN0cmluZyB8IG51bGwsIHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbD4obnVsbCwge1xuICAgIHRyYW5zZm9ybTogKHYpID0+IG5vcm1hbGl6ZVBpY3R1cmVTaXplcyh2KSxcbiAgfSk7XG5cbiAgaW1nID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD4+KCdpbWcnKTtcbiAgaW1nJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmltZykucGlwZShtYXAoKHJlZikgPT4gcmVmPy5uYXRpdmVFbGVtZW50ID8/IG51bGwpKTtcblxuICBpbWdMb2FkZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0aGlzLmltZyQucGlwZShzd2l0Y2hNYXAoKGltZykgPT4gKGltZyA/IGZyb21FdmVudChpbWcsICdsb2FkJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YoZmFsc2UpKSkpLFxuICApO1xuICBpbWdFcnJvciA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRoaXMuaW1nJC5waXBlKHN3aXRjaE1hcCgoaW1nKSA9PiAoaW1nID8gZnJvbUV2ZW50KGltZywgJ2Vycm9yJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YoZmFsc2UpKSkpLFxuICApO1xuXG4gIHNvdXJjZXNXaXRoQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLnNvdXJjZXMoKTtcblxuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlKSA9PiB0aGlzLl9jb21iaW5lV2l0aENvbmZpZyhub3JtYWxpemVQaWN0dXJlU291cmNlKHNvdXJjZSkpKTtcbiAgfSk7XG5cbiAgZGVmYXVsdFNvdXJjZVdpdGhDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdFNyYyA9IHRoaXMuZGVmYXVsdFNyYygpO1xuICAgIHJldHVybiBkZWZhdWx0U3JjID8gdGhpcy5fY29tYmluZVdpdGhDb25maWcobm9ybWFsaXplUGljdHVyZVNvdXJjZShkZWZhdWx0U3JjKSkgOiBudWxsO1xuICB9KTtcblxuICBfY29tYmluZVdpdGhDb25maWcoc3JjOiBQaWN0dXJlU291cmNlKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmJhc2VVcmwgfHwgc3JjLnNyY3NldC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIHJldHVybiBzcmM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkQXBwZW5kU2xhc2ggPSAhdGhpcy5fY29uZmlnLmJhc2VVcmwuZW5kc1dpdGgoJy8nKSAmJiAhc3JjLnNyY3NldC5zdGFydHNXaXRoKCcvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3JjLFxuICAgICAgc3Jjc2V0OiBgJHt0aGlzLl9jb25maWcuYmFzZVVybH0ke3Nob3VsZEFwcGVuZFNsYXNoID8gJy8nIDogJyd9JHtzcmMuc3Jjc2V0fWAsXG4gICAgfTtcbiAgfVxufVxuIiwiPGZpZ3VyZSBbbmdDbGFzc109XCJmaWd1cmVDbGFzcygpXCIgY2xhc3M9XCJldC1waWN0dXJlLWZpZ3VyZVwiPlxuICA8cGljdHVyZSBbbmdDbGFzc109XCJwaWN0dXJlQ2xhc3MoKVwiIGNsYXNzPVwiZXQtcGljdHVyZS1waWN0dXJlXCI+XG4gICAgQGZvciAoc291cmNlIG9mIHNvdXJjZXNXaXRoQ29uZmlnKCk7IHRyYWNrIHNvdXJjZS5zcmNzZXQpIHtcbiAgICAgIDxzb3VyY2VcbiAgICAgICAgW3R5cGVdPVwic291cmNlLnR5cGVcIlxuICAgICAgICBbYXR0ci5zcmNzZXRdPVwic291cmNlLnNyY3NldFwiXG4gICAgICAgIFthdHRyLnNpemVzXT1cIihzb3VyY2Uuc2l6ZXMgPz8gc2l6ZXMoKSkgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLm1lZGlhXT1cInNvdXJjZS5tZWRpYSB8fCBudWxsXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChkZWZhdWx0U291cmNlV2l0aENvbmZpZygpOyBhcyBzb3VyY2UpIHtcbiAgICAgIDxpbWdcbiAgICAgICAgI2ltZ1xuICAgICAgICBbYXR0ci5sb2FkaW5nXT1cImhhc1ByaW9yaXR5KCkgPyAnZWFnZXInIDogJ2xhenknXCJcbiAgICAgICAgW2F0dHIuZmV0Y2hwcmlvcml0eV09XCJoYXNQcmlvcml0eSgpID8gJ2hpZ2gnIDogJ2F1dG8nXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW1nQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLnNyY3NldF09XCJzb3VyY2Uuc3Jjc2V0XCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJzb3VyY2UudHlwZVwiXG4gICAgICAgIFthdHRyLmFsdF09XCJhbHQoKVwiXG4gICAgICAgIFthdHRyLndpZHRoXT1cIndpZHRoKClcIlxuICAgICAgICBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0KClcIlxuICAgICAgICBbYXR0ci5zaXplc109XCJzaXplcygpXCJcbiAgICAgICAgY2xhc3M9XCJldC1waWN0dXJlLWltZ1wiXG4gICAgICAvPlxuICAgIH1cbiAgPC9waWN0dXJlPlxuXG4gIEBpZiAoZmlnY2FwdGlvbigpKSB7XG4gICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwiZmlnY2FwdGlvbkNsYXNzKClcIiBjbGFzcz1cImV0LXBpY3R1cmUtZmlnY2FwdGlvblwiPlxuICAgICAge3sgZmlnY2FwdGlvbigpIH19XG4gICAgPC9maWdjYXB0aW9uPlxuICB9XG48L2ZpZ3VyZT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3R5cGVzL3BpY3R1cmUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGljdHVyZVNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbWltZSB0eXBlIG9mIHRoZSBpbWFnZS5cbiAgICogQGV4YW1wbGUgYGltYWdlL2pwZWdgXG4gICAqL1xuICB0eXBlOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHNldCBvZiB0aGUgaW1hZ2UuIENhbiBiZSBlaXRoZXIgYSBzaW5nbGUgVVJMIG9yIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgVVJMcy5cbiAgICogQGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2UuanBnYFxuICAgKiBAZXhhbXBsZSBgaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5qcGcsIGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2VAMnguanBnYFxuICAgKi9cbiAgc3Jjc2V0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGljdHVyZUNvbmZpZyB7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3R5cGVzL3BpY3R1cmUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzb3VyY2UgdG8gYmUgdXNlZCBpbiBhIHBpY3R1cmUgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly93d3cubWVkaWFldmVudC5kZS9odG1sL3BpY3R1cmUuaHRtbFxuICogQHNlZSBodHRwczovL3dlYi5kZXYvbGVhcm4vZGVzaWduL3Jlc3BvbnNpdmUtaW1hZ2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGljdHVyZVNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbWltZSB0eXBlIG9mIHRoZSBpbWFnZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCBpdCB3aWxsIGJlIGluZmVycmVkIGZyb20gdGhlIFVSTC5cbiAgICogSWYgaXQgY2Fubm90IGJlIGluZmVycmVkLCBpdCB3aWxsIGJlIGBudWxsYCBhbmQgYSBlcnJvciB3aWxsIGJlIGxvZ2dlZCB0byB0aGUgY29uc29sZSB3aXRob3V0IHRocm93aW5nLlxuICAgKiBAZXhhbXBsZSBgaW1hZ2UvanBlZ2BcbiAgICovXG4gIHR5cGU/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHNldCBvZiB0aGUgaW1hZ2UuIENhbiBiZSBlaXRoZXIgYSBzaW5nbGUgVVJMIG9yIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgVVJMcy5cbiAgICogSWYgYSB3aWR0aCBkZXNjcmlwdG9yIGlzIHByb3ZpZGVkIChlZy4gMjAwdyksIHlvdSBtdXN0IGFsc28gc2V0IHRoZSBgc2l6ZXNgIHByb3BlcnR5LlxuICAgKiBJZiBhIGRlbnNpdHkgZGVzY3JpcHRvciBpcyBwcm92aWRlZCAoZWcuIDJ4KSwgdGhlIGJyb3dzZXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNlbGVjdCB0aGUgY29ycmVjdCBpbWFnZSBiYXNlZCBvbiB0aGUgZGV2aWNlJ3MgcGl4ZWwgZGVuc2l0eS5cbiAgICpcbiAgICogKipOb3RlKio6IFlvdSBjYW4gcHJvdmlkZSBlaXRoZXIgYSB3aWR0aCBkZXNjcmlwdG9yIG9yIGEgZGVuc2l0eSBkZXNjcmlwdG9yLCBidXQgbm90IGJvdGguXG4gICAqIEBleGFtcGxlIGBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlLmpwZ2BcbiAgICogQGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2UuanBnIDF4LCBodHRwczovL2V4YW1wbGUuY29tL2ltYWdlQDJ4LmpwZyAyeGBcbiAgICogQGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2UuanBnIDMwMHcsIGh0dHBzOi8vZXhhbXBsZS5jb20vaW1hZ2U2MDAuanBnIDYwMHdgXG4gICAqL1xuICBzcmNzZXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpemVzIGF0dHJpYnV0ZSBvZiB0aGUgaW1hZ2UuXG4gICAqXG4gICAqICoqTm90ZSoqOiBPbmx5IHJlcXVpcmVkIGlmIHRoZSBgc3Jjc2V0YCBwcm9wZXJ0eSBjb250YWlucyB3aWR0aCBkZXNjcmlwdG9ycy5cbiAgICogQGV4YW1wbGUgYDEwMHZ3YCAvLyBUaGUgaW1hZ2Ugd2lsbCB0YWtlIHVwIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSB2aWV3cG9ydFxuICAgKiBAZXhhbXBsZSBgKG1pbi13aWR0aDogODAwcHgpIDUwdncsIDEwMHZ3YCAvLyBUaGUgaW1hZ2Ugd2lsbCB0YWtlIHVwIDUwJSBvZiB0aGUgdmlld3BvcnQgd2lkdGggaWYgdGhlIHZpZXdwb3J0IGlzIGF0IGxlYXN0IDgwMHB4IHdpZGUsIG90aGVyd2lzZSBpdCB3aWxsIHRha2UgdXAgdGhlIGZ1bGwgd2lkdGhcbiAgICovXG4gIHNpemVzPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1lZGlhIHF1ZXJ5IHRvIHdoaWNoIHRoZSBzb3VyY2UgYXBwbGllcy5cbiAgICogSWYgdGhlIG1lZGlhIHF1ZXJ5IGFwcGxpZXMsIHRoZSBzb3VyY2Ugd2lsbCBiZSB1c2VkLlxuICAgKiBAZXhhbXBsZSBgKG1pbi13aWR0aDogODAwcHgpYCAvLyBPbmx5IGFwcGxpZXMgaWYgdGhlIHZpZXdwb3J0IGlzIGF0IGxlYXN0IDgwMHB4IHdpZGVcbiAgICogQGV4YW1wbGUgYChtaW4td2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspYCAvLyBPbmx5IGFwcGxpZXMgaWYgdGhlIHZpZXdwb3J0IGlzIGF0IGxlYXN0IDgwMHB4IHdpZGUsIGlzIGluIGxhbmRzY2FwZSBvcmllbnRhdGlvbiBhbmQgcHJlZmVycyBkYXJrIGNvbG9yc1xuICAgKi9cbiAgbWVkaWE/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpY3R1cmVDb25maWcge1xuICBiYXNlVXJsPzogc3RyaW5nO1xufVxuIl19
@@ -9,11 +9,14 @@ export const provideImageConfig = (config = {}) => {
9
9
  };
10
10
  export const normalizePictureSource = (source) => {
11
11
  if (typeof source === 'string') {
12
- return { type: inferMimeType(source), srcset: source };
12
+ return { type: inferMimeType(source), srcset: source, media: null, sizes: null };
13
13
  }
14
14
  else {
15
15
  const mimeType = source.type && source.type !== '' ? source.type : inferMimeType(source.srcset);
16
- return { type: mimeType, srcset: source.srcset };
16
+ if (!mimeType) {
17
+ console.error(`Could not infer mime type for srcset: ${source.srcset}. Please provide a type.`);
18
+ }
19
+ return { type: mimeType, srcset: source.srcset, media: source.media, sizes: source.sizes };
17
20
  }
18
21
  };
19
22
  export const normalizePictureSizes = (sizes) => {
@@ -25,4 +28,4 @@ export const normalizePictureSizes = (sizes) => {
25
28
  }
26
29
  return sizes;
27
30
  };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3V0aWxzL3BpY3R1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFnQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBb0QsRUFBRSxFQUFFLEVBQUU7SUFDM0YsT0FBTztRQUNMLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUSxFQUFFLE1BQU07S0FDakIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBOEIsRUFBRSxFQUFFO0lBQ3ZFLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBbUIsQ0FBQztJQUMxRSxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQW1CLENBQUM7SUFDcEUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBK0IsRUFBRSxFQUFFO0lBQ3ZFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5mZXJNaW1lVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUGljdHVyZUNvbmZpZywgUGljdHVyZVNvdXJjZSB9IGZyb20gJy4uL3R5cGVzL3BpY3R1cmUudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgSU1BR0VfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFBpY3R1cmVDb25maWc+KCdJTUFHRV9DT05GSUdfVE9LRU4nKTtcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVJbWFnZUNvbmZpZyA9IChjb25maWc6IFBhcnRpYWw8UGljdHVyZUNvbmZpZz4gfCBudWxsIHwgdW5kZWZpbmVkID0ge30pID0+IHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBJTUFHRV9DT05GSUdfVE9LRU4sXG4gICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVQaWN0dXJlU291cmNlID0gKHNvdXJjZTogc3RyaW5nIHwgUGljdHVyZVNvdXJjZSkgPT4ge1xuICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4geyB0eXBlOiBpbmZlck1pbWVUeXBlKHNvdXJjZSksIHNyY3NldDogc291cmNlIH0gYXMgUGljdHVyZVNvdXJjZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtaW1lVHlwZSA9IHNvdXJjZS50eXBlICYmIHNvdXJjZS50eXBlICE9PSAnJyA/IHNvdXJjZS50eXBlIDogaW5mZXJNaW1lVHlwZShzb3VyY2Uuc3Jjc2V0KTtcbiAgICByZXR1cm4geyB0eXBlOiBtaW1lVHlwZSwgc3Jjc2V0OiBzb3VyY2Uuc3Jjc2V0IH0gYXMgUGljdHVyZVNvdXJjZTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZVBpY3R1cmVTaXplcyA9IChzaXplczogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKSA9PiB7XG4gIGlmICghc2l6ZXMpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHNpemVzKSkge1xuICAgIHJldHVybiBzaXplcy5qb2luKCcsICcpO1xuICB9XG5cbiAgcmV0dXJuIHNpemVzO1xufTtcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGljdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9waWN0dXJlL3V0aWxzL3BpY3R1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFnQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBb0QsRUFBRSxFQUFFLEVBQUU7SUFDM0YsT0FBTztRQUNMLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUSxFQUFFLE1BQU07S0FDakIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBOEIsRUFBRSxFQUFFO0lBQ3ZFLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQW1CLENBQUM7SUFDcEcsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFtQixDQUFDO0lBQzlHLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQStCLEVBQUUsRUFBRTtJQUN2RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluZmVyTWltZVR5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFBpY3R1cmVDb25maWcsIFBpY3R1cmVTb3VyY2UgfSBmcm9tICcuLi90eXBlcy9waWN0dXJlLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IElNQUdFX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQaWN0dXJlQ29uZmlnPignSU1BR0VfQ09ORklHX1RPS0VOJyk7XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlSW1hZ2VDb25maWcgPSAoY29uZmlnOiBQYXJ0aWFsPFBpY3R1cmVDb25maWc+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IHt9KSA9PiB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogSU1BR0VfQ09ORklHX1RPS0VOLFxuICAgIHVzZVZhbHVlOiBjb25maWcsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplUGljdHVyZVNvdXJjZSA9IChzb3VyY2U6IHN0cmluZyB8IFBpY3R1cmVTb3VyY2UpID0+IHtcbiAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogaW5mZXJNaW1lVHlwZShzb3VyY2UpLCBzcmNzZXQ6IHNvdXJjZSwgbWVkaWE6IG51bGwsIHNpemVzOiBudWxsIH0gYXMgUGljdHVyZVNvdXJjZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtaW1lVHlwZSA9IHNvdXJjZS50eXBlICYmIHNvdXJjZS50eXBlICE9PSAnJyA/IHNvdXJjZS50eXBlIDogaW5mZXJNaW1lVHlwZShzb3VyY2Uuc3Jjc2V0KTtcblxuICAgIGlmICghbWltZVR5cGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENvdWxkIG5vdCBpbmZlciBtaW1lIHR5cGUgZm9yIHNyY3NldDogJHtzb3VyY2Uuc3Jjc2V0fS4gUGxlYXNlIHByb3ZpZGUgYSB0eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB7IHR5cGU6IG1pbWVUeXBlLCBzcmNzZXQ6IHNvdXJjZS5zcmNzZXQsIG1lZGlhOiBzb3VyY2UubWVkaWEsIHNpemVzOiBzb3VyY2Uuc2l6ZXMgfSBhcyBQaWN0dXJlU291cmNlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplUGljdHVyZVNpemVzID0gKHNpemVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpID0+IHtcbiAgaWYgKCFzaXplcykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoc2l6ZXMpKSB7XG4gICAgcmV0dXJuIHNpemVzLmpvaW4oJywgJyk7XG4gIH1cblxuICByZXR1cm4gc2l6ZXM7XG59O1xuIl19
@@ -12460,7 +12460,7 @@ const createOverlayHandler = (rootConfig) => {
12460
12460
  const OVERLAY_QUERY_PARAM_INPUT_NAME = 'overlayQueryParam';
12461
12461
  /**
12462
12462
  * This handler will automatically open the overlay when the query param is present.
12463
- * The overlay can contain a required input with the name `overlayQueryParam` to receive the query param value.
12463
+ * The overlay can contain a input or model with the name `overlayQueryParam` to receive the query param value.
12464
12464
  *
12465
12465
  * If you need to transfer more information (eg. a second query param), you need to combine them into a single query param string.
12466
12466
  * You can then split the string inside the overlay component using computed signals.
@@ -12468,29 +12468,42 @@ const OVERLAY_QUERY_PARAM_INPUT_NAME = 'overlayQueryParam';
12468
12468
  * To open the overlay either use the `OverlayHandlerLinkDirective` or call the `.open` method of the returned handler.
12469
12469
  */
12470
12470
  const createOverlayHandlerWithQueryParamLifecycle = (config) => {
12471
- const handler = createOverlayHandler(config);
12471
+ const handler = createOverlayHandler({ ...config, closeOnNavigation: false });
12472
12472
  let fnCalled = false;
12473
+ let router = null;
12474
+ const updateQueryParam = (value) => {
12475
+ router?.navigate([], {
12476
+ queryParams: {
12477
+ [config.queryParamKey]: value,
12478
+ },
12479
+ queryParamsHandling: 'merge',
12480
+ });
12481
+ };
12473
12482
  const fn = (innerConfig) => {
12474
12483
  if (fnCalled) {
12475
12484
  throw new Error('The function returned by createOverlayHandlerWithQueryParamLifecycle can only be called once until the caller is destroyed');
12476
12485
  }
12477
12486
  fnCalled = true;
12478
- const router = inject(Router);
12487
+ router = inject(Router);
12479
12488
  const destroyRef = inject(DestroyRef);
12480
- const overlayHandler = handler(innerConfig);
12489
+ const injector = inject(Injector);
12490
+ const overlayHandler = handler({ ...(innerConfig ?? {}) });
12481
12491
  const queryParamValue = injectQueryParam(config.queryParamKey);
12482
12492
  let currentOverlayRef = null;
12493
+ let inputSignalEffect = null;
12483
12494
  destroyRef.onDestroy(() => {
12484
12495
  fnCalled = false;
12496
+ router = null;
12485
12497
  cleanup();
12486
12498
  });
12487
12499
  const cleanup = () => {
12488
- router.navigate([], {
12489
- queryParams: {
12490
- [config.queryParamKey]: null,
12491
- },
12492
- queryParamsHandling: 'merge',
12493
- });
12500
+ inputSignalEffect?.destroy();
12501
+ inputSignalEffect = null;
12502
+ updateQueryParam(null);
12503
+ };
12504
+ const getQueryParamInput = () => {
12505
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12506
+ return currentOverlayRef?.componentInstance?.[OVERLAY_QUERY_PARAM_INPUT_NAME];
12494
12507
  };
12495
12508
  effect(() => {
12496
12509
  const value = queryParamValue();
@@ -12502,28 +12515,32 @@ const createOverlayHandlerWithQueryParamLifecycle = (config) => {
12502
12515
  .afterClosed()
12503
12516
  .pipe(takeUntilDestroyed(destroyRef), tap(() => cleanup()))
12504
12517
  .subscribe();
12518
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12519
+ const inputSignal = getQueryParamInput();
12520
+ if (inputSignal) {
12521
+ inputSignalEffect = effect(() => {
12522
+ const inputVal = inputSignal();
12523
+ untracked(() => {
12524
+ updateQueryParam(inputVal);
12525
+ });
12526
+ }, { injector });
12527
+ }
12505
12528
  }
12506
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12507
- if (currentOverlayRef.componentInstance[OVERLAY_QUERY_PARAM_INPUT_NAME]) {
12529
+ if (getQueryParamInput()) {
12508
12530
  currentOverlayRef.componentRef?.setInput(OVERLAY_QUERY_PARAM_INPUT_NAME, value);
12509
12531
  }
12510
12532
  }
12511
12533
  else {
12512
12534
  if (currentOverlayRef) {
12535
+ inputSignalEffect?.destroy();
12536
+ inputSignalEffect = null;
12513
12537
  currentOverlayRef.close();
12514
12538
  currentOverlayRef = null;
12515
12539
  }
12516
12540
  }
12517
12541
  });
12518
12542
  });
12519
- const open = (queryParamValue) => {
12520
- router.navigate([], {
12521
- queryParams: {
12522
- [config.queryParamKey]: queryParamValue,
12523
- },
12524
- queryParamsHandling: 'merge',
12525
- });
12526
- };
12543
+ const open = (queryParamValue) => updateQueryParam(queryParamValue);
12527
12544
  const close = () => {
12528
12545
  cleanup();
12529
12546
  };
@@ -12534,6 +12551,7 @@ const createOverlayHandlerWithQueryParamLifecycle = (config) => {
12534
12551
  return lifecycleHandler;
12535
12552
  };
12536
12553
  fn['injectOverlayRef'] = () => handler().injectOverlayRef();
12554
+ fn['updateQueryParam'] = (value) => updateQueryParam(value);
12537
12555
  return fn;
12538
12556
  };
12539
12557
 
@@ -14799,11 +14817,14 @@ const provideImageConfig = (config = {}) => {
14799
14817
  };
14800
14818
  const normalizePictureSource = (source) => {
14801
14819
  if (typeof source === 'string') {
14802
- return { type: inferMimeType(source), srcset: source };
14820
+ return { type: inferMimeType(source), srcset: source, media: null, sizes: null };
14803
14821
  }
14804
14822
  else {
14805
14823
  const mimeType = source.type && source.type !== '' ? source.type : inferMimeType(source.srcset);
14806
- return { type: mimeType, srcset: source.srcset };
14824
+ if (!mimeType) {
14825
+ console.error(`Could not infer mime type for srcset: ${source.srcset}. Please provide a type.`);
14826
+ }
14827
+ return { type: mimeType, srcset: source.srcset, media: source.media, sizes: source.sizes };
14807
14828
  }
14808
14829
  };
14809
14830
  const normalizePictureSizes = (sizes) => {
@@ -14857,13 +14878,13 @@ class PictureComponent {
14857
14878
  };
14858
14879
  }
14859
14880
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14860
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, defaultSrc: { classPropertyName: "defaultSrc", publicName: "defaultSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, figcaption: { classPropertyName: "figcaption", publicName: "figcaption", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgLoaded: "imgLoaded", imgError: "imgError" }, host: { classAttribute: "et-picture" }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true, isSignal: true }], ngImport: i0, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source [type]=\"source.type\" [attr.srcset]=\"source.srcset\" [attr.sizes]=\"sizes()\" />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14881
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PictureComponent, isStandalone: true, selector: "et-picture", inputs: { sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, hasPriority: { classPropertyName: "hasPriority", publicName: "hasPriority", isSignal: true, isRequired: false, transformFunction: null }, imgClass: { classPropertyName: "imgClass", publicName: "imgClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null }, pictureClass: { classPropertyName: "pictureClass", publicName: "pictureClass", isSignal: true, isRequired: false, transformFunction: null }, defaultSrc: { classPropertyName: "defaultSrc", publicName: "defaultSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, figcaption: { classPropertyName: "figcaption", publicName: "figcaption", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imgLoaded: "imgLoaded", imgError: "imgError" }, host: { classAttribute: "et-picture" }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true, isSignal: true }], ngImport: i0, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source\n [type]=\"source.type\"\n [attr.srcset]=\"source.srcset\"\n [attr.sizes]=\"(source.sizes ?? sizes()) || null\"\n [attr.media]=\"source.media || null\"\n />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14861
14882
  }
14862
14883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PictureComponent, decorators: [{
14863
14884
  type: Component,
14864
14885
  args: [{ selector: 'et-picture', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], host: {
14865
14886
  class: 'et-picture',
14866
- }, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source [type]=\"source.type\" [attr.srcset]=\"source.srcset\" [attr.sizes]=\"sizes()\" />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n" }]
14887
+ }, template: "<figure [ngClass]=\"figureClass()\" class=\"et-picture-figure\">\n <picture [ngClass]=\"pictureClass()\" class=\"et-picture-picture\">\n @for (source of sourcesWithConfig(); track source.srcset) {\n <source\n [type]=\"source.type\"\n [attr.srcset]=\"source.srcset\"\n [attr.sizes]=\"(source.sizes ?? sizes()) || null\"\n [attr.media]=\"source.media || null\"\n />\n }\n\n @if (defaultSourceWithConfig(); as source) {\n <img\n #img\n [attr.loading]=\"hasPriority() ? 'eager' : 'lazy'\"\n [attr.fetchpriority]=\"hasPriority() ? 'high' : 'auto'\"\n [ngClass]=\"imgClass()\"\n [attr.srcset]=\"source.srcset\"\n [attr.type]=\"source.type\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.sizes]=\"sizes()\"\n class=\"et-picture-img\"\n />\n }\n </picture>\n\n @if (figcaption()) {\n <figcaption [ngClass]=\"figcaptionClass()\" class=\"et-picture-figcaption\">\n {{ figcaption() }}\n </figcaption>\n }\n</figure>\n" }]
14867
14888
  }] });
14868
14889
 
14869
14890
  const PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('PROGRESS_SPINNER_DEFAULT_OPTIONS', {