@spartan-ng/brain 0.0.1-alpha.566 → 0.0.1-alpha.568

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.
@@ -127,6 +127,24 @@ const measureDimensions = (elementToMeasure, measurementDisplay) => {
127
127
  return { width, height };
128
128
  };
129
129
 
130
+ const createMenuPosition = (align, side) => {
131
+ const verticalAlign = align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center';
132
+ const createPositions = (originX, originY, overlayX, overlayY) => [
133
+ { originX, originY, overlayX, overlayY },
134
+ { originX: overlayX, originY: overlayY, overlayX: originX, overlayY: originY },
135
+ ];
136
+ switch (side) {
137
+ case 'top':
138
+ return createPositions(align, 'top', align, 'bottom');
139
+ case 'bottom':
140
+ return createPositions(align, 'bottom', align, 'top');
141
+ case 'left':
142
+ return createPositions('start', verticalAlign, 'end', verticalAlign);
143
+ case 'right':
144
+ return createPositions('end', verticalAlign, 'start', verticalAlign);
145
+ }
146
+ };
147
+
130
148
  const [injectTableClassesSettable, provideTableClassesSettable, provideTableClassesSettableExisting, SET_TABLE_CLASSES_TOKEN,] = createInjectionToken('@spartan-ng SET_TABLE_CLASSES_TOKEN');
131
149
 
132
150
  /**
@@ -156,5 +174,5 @@ async function waitForElementAnimations(el) {
156
174
  * Generated bundle index. Do not edit.
157
175
  */
158
176
 
159
- export { EXPOSES_SIDE_TOKEN, EXPOSES_STATE_TOKEN, SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN, SET_TABLE_CLASSES_TOKEN, brnDevMode, brnZoneFree, brnZoneFull, brnZoneOptimized, computedPrevious, createHoverObservable, debouncedSignal, injectCustomClassSettable, injectExposedSideProvider, injectExposesStateProvider, injectTableClassesSettable, isElement, measureDimensions, provideCustomClassSettable, provideCustomClassSettableExisting, provideExposedSideProvider, provideExposedSideProviderExisting, provideExposesStateProvider, provideExposesStateProviderExisting, provideTableClassesSettable, provideTableClassesSettableExisting, waitForElementAnimations };
177
+ export { EXPOSES_SIDE_TOKEN, EXPOSES_STATE_TOKEN, SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN, SET_TABLE_CLASSES_TOKEN, brnDevMode, brnZoneFree, brnZoneFull, brnZoneOptimized, computedPrevious, createHoverObservable, createMenuPosition, debouncedSignal, injectCustomClassSettable, injectExposedSideProvider, injectExposesStateProvider, injectTableClassesSettable, isElement, measureDimensions, provideCustomClassSettable, provideCustomClassSettableExisting, provideExposedSideProvider, provideExposedSideProviderExisting, provideExposesStateProvider, provideExposesStateProviderExisting, provideTableClassesSettable, provideTableClassesSettableExisting, waitForElementAnimations };
160
178
  //# sourceMappingURL=spartan-ng-brain-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-core.mjs","sources":["../tmp-esm2022/core/helpers/computed-previous.js","../tmp-esm2022/core/helpers/zone-free.js","../tmp-esm2022/core/helpers/create-hover-observable.js","../tmp-esm2022/core/helpers/create-injection-token.js","../tmp-esm2022/core/helpers/custom-element-class-settable.js","../tmp-esm2022/core/helpers/debounced-signal.js","../tmp-esm2022/core/helpers/dev-mode.js","../tmp-esm2022/core/helpers/exposes-side.js","../tmp-esm2022/core/helpers/exposes-state.js","../tmp-esm2022/core/helpers/measure-dimensions.js","../tmp-esm2022/core/helpers/table-classes-settable.js","../tmp-esm2022/core/helpers/wait-for-element-animations.js","../tmp-esm2022/core/spartan-ng-brain-core.js"],"sourcesContent":["import { computed, untracked } from '@angular/core';\n/**\n * Returns a signal that emits the previous value of the given signal.\n * The first time the signal is emitted, the previous value will be the same as the current value.\n *\n * @example\n * ```ts\n * const value = signal(0);\n * const previous = computedPrevious(value);\n *\n * effect(() => {\n * console.log('Current value:', value());\n * console.log('Previous value:', previous());\n * });\n *\n * Logs:\n * // Current value: 0\n * // Previous value: 0\n *\n * value.set(1);\n *\n * Logs:\n * // Current value: 1\n * // Previous value: 0\n *\n * value.set(2);\n *\n * Logs:\n * // Current value: 2\n * // Previous value: 1\n *```\n *\n * @param computation Signal to compute previous value for\n * @returns Signal that emits previous value of `s`\n */\nexport function computedPrevious(computation) {\n let current = null;\n let previous = untracked(() => computation()); // initial value is the current value\n return computed(() => {\n current = computation();\n const result = previous;\n previous = current;\n return result;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJldmlvdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY29tcHV0ZWQtcHJldmlvdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBSSxXQUFzQjtJQUN6RCxJQUFJLE9BQU8sR0FBRyxJQUFTLENBQUM7SUFDeEIsSUFBSSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFcEYsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDeEIsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB0eXBlIFNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmV0dXJucyBhIHNpZ25hbCB0aGF0IGVtaXRzIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZ2l2ZW4gc2lnbmFsLlxuICogVGhlIGZpcnN0IHRpbWUgdGhlIHNpZ25hbCBpcyBlbWl0dGVkLCB0aGUgcHJldmlvdXMgdmFsdWUgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IHZhbHVlID0gc2lnbmFsKDApO1xuICogY29uc3QgcHJldmlvdXMgPSBjb21wdXRlZFByZXZpb3VzKHZhbHVlKTtcbiAqXG4gKiBlZmZlY3QoKCkgPT4ge1xuICogIGNvbnNvbGUubG9nKCdDdXJyZW50IHZhbHVlOicsIHZhbHVlKCkpO1xuICogIGNvbnNvbGUubG9nKCdQcmV2aW91cyB2YWx1ZTonLCBwcmV2aW91cygpKTtcbiAqIH0pO1xuICpcbiAqIExvZ3M6XG4gKiAvLyBDdXJyZW50IHZhbHVlOiAwXG4gKiAvLyBQcmV2aW91cyB2YWx1ZTogMFxuICpcbiAqIHZhbHVlLnNldCgxKTtcbiAqXG4gKiBMb2dzOlxuICogLy8gQ3VycmVudCB2YWx1ZTogMVxuICogLy8gUHJldmlvdXMgdmFsdWU6IDBcbiAqXG4gKiB2YWx1ZS5zZXQoMik7XG4gKlxuICogTG9nczpcbiAqIC8vIEN1cnJlbnQgdmFsdWU6IDJcbiAqIC8vIFByZXZpb3VzIHZhbHVlOiAxXG4gKmBgYFxuICpcbiAqIEBwYXJhbSBjb21wdXRhdGlvbiBTaWduYWwgdG8gY29tcHV0ZSBwcmV2aW91cyB2YWx1ZSBmb3JcbiAqIEByZXR1cm5zIFNpZ25hbCB0aGF0IGVtaXRzIHByZXZpb3VzIHZhbHVlIG9mIGBzYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRQcmV2aW91czxUPihjb21wdXRhdGlvbjogU2lnbmFsPFQ+KTogU2lnbmFsPFQ+IHtcblx0bGV0IGN1cnJlbnQgPSBudWxsIGFzIFQ7XG5cdGxldCBwcmV2aW91cyA9IHVudHJhY2tlZCgoKSA9PiBjb21wdXRhdGlvbigpKTsgLy8gaW5pdGlhbCB2YWx1ZSBpcyB0aGUgY3VycmVudCB2YWx1ZVxuXG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y3VycmVudCA9IGNvbXB1dGF0aW9uKCk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gcHJldmlvdXM7XG5cdFx0cHJldmlvdXMgPSBjdXJyZW50O1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0pO1xufVxuIl19","import { Observable, pipe } from 'rxjs';\nexport function brnZoneFull(zone) {\n return (source) => new Observable((subscriber) => source.subscribe({\n next: (value) => zone.run(() => subscriber.next(value)),\n error: (error) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }));\n}\nexport function brnZoneFree(zone) {\n return (source) => new Observable((subscriber) => zone.runOutsideAngular(() => source.subscribe(subscriber)));\n}\nexport function brnZoneOptimized(zone) {\n return pipe(brnZoneFree(zone), brnZoneFull(zone));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1mcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL3pvbmUtZnJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWlDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsTUFBTSxVQUFVLFdBQVcsQ0FBSSxJQUFZO0lBQzFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNqQixJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQzdCLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDaEIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsS0FBSyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3JELENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksSUFBWTtJQUMxQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9HLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksSUFBWTtJQUMvQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2UgYXJlIGJ1aWxkaW5nIG9uIHNob3VsZGVycyBvZiBnaWFudHMgaGVyZSBhbmQgdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBwcm92aWRlZCBieSB0aGUgaW5jcmVkaWJsZSBUYWlnYVVJXG4gKiB0ZWFtOiBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L3RhaWdhLXVpL2Jsb2IvbWFpbi9wcm9qZWN0cy9jZGsvb2JzZXJ2YWJsZXMvem9uZS1mcmVlLnRzI0wyMlxuICogQ2hlY2sgdGhlbSBvdXQhIEdpdmUgdGhlbSBhIHRyeSEgTGVhdmUgYSBzdGFyISBUaGVpciB3b3JrIGlzIGluY3JlZGlibGUhXG4gKi9cbmltcG9ydCB0eXBlIHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgcGlwZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnJuWm9uZUZ1bGw8VD4oem9uZTogTmdab25lKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcblx0cmV0dXJuIChzb3VyY2UpID0+XG5cdFx0bmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+XG5cdFx0XHRzb3VyY2Uuc3Vic2NyaWJlKHtcblx0XHRcdFx0bmV4dDogKHZhbHVlKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLm5leHQodmFsdWUpKSxcblx0XHRcdFx0ZXJyb3I6IChlcnJvcjogdW5rbm93bikgPT4gem9uZS5ydW4oKCkgPT4gc3Vic2NyaWJlci5lcnJvcihlcnJvcikpLFxuXHRcdFx0XHRjb21wbGV0ZTogKCkgPT4gem9uZS5ydW4oKCkgPT4gc3Vic2NyaWJlci5jb21wbGV0ZSgpKSxcblx0XHRcdH0pLFxuXHRcdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicm5ab25lRnJlZTxUPih6b25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuXHRyZXR1cm4gKHNvdXJjZSkgPT4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJuWm9uZU9wdGltaXplZDxUPih6b25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuXHRyZXR1cm4gcGlwZShicm5ab25lRnJlZSh6b25lKSwgYnJuWm9uZUZ1bGwoem9uZSkpO1xufVxuIl19","import { fromEvent, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';\nimport { brnZoneOptimized } from './zone-free';\nfunction movedOut({ currentTarget, relatedTarget }) {\n return !isElement(relatedTarget) || !isElement(currentTarget) || !currentTarget.contains(relatedTarget);\n}\nexport function isElement(node) {\n return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;\n}\nexport const createHoverObservable = (nativeElement, zone, destroyed$) => {\n return merge(fromEvent(nativeElement, 'mouseenter').pipe(map(() => ({ hover: true }))), fromEvent(nativeElement, 'mouseleave').pipe(map((e) => ({ hover: false, relatedTarget: e.relatedTarget }))), \n // Hello, Safari\n fromEvent(nativeElement, 'mouseout').pipe(filter(movedOut), map((e) => ({ hover: false, relatedTarget: e.relatedTarget })))).pipe(distinctUntilChanged(), brnZoneOptimized(zone), takeUntil(destroyed$));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWhvdmVyLW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY3JlYXRlLWhvdmVyLW9ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxTQUFTLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQWM7SUFDN0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekcsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBMEM7SUFDbkUsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNwQyxhQUEwQixFQUMxQixJQUFZLEVBQ1osVUFBeUIsRUFDNEMsRUFBRTtJQUN2RSxPQUFPLEtBQUssQ0FDWCxTQUFTLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDekUsU0FBUyxDQUFhLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQzlEO0lBQ0QsZ0JBQWdCO0lBQ2hCLFNBQVMsQ0FBYSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNwRCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQzlELENBQ0QsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlLCB0eXBlIFN1YmplY3QsIGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYnJuWm9uZU9wdGltaXplZCB9IGZyb20gJy4vem9uZS1mcmVlJztcblxuZnVuY3Rpb24gbW92ZWRPdXQoeyBjdXJyZW50VGFyZ2V0LCByZWxhdGVkVGFyZ2V0IH06IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcblx0cmV0dXJuICFpc0VsZW1lbnQocmVsYXRlZFRhcmdldCkgfHwgIWlzRWxlbWVudChjdXJyZW50VGFyZ2V0KSB8fCAhY3VycmVudFRhcmdldC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudChub2RlPzogRWxlbWVudCB8IEV2ZW50VGFyZ2V0IHwgTm9kZSB8IG51bGwpOiBub2RlIGlzIEVsZW1lbnQge1xuXHRyZXR1cm4gISFub2RlICYmICdub2RlVHlwZScgaW4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhvdmVyT2JzZXJ2YWJsZSA9IChcblx0bmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQsXG5cdHpvbmU6IE5nWm9uZSxcblx0ZGVzdHJveWVkJDogU3ViamVjdDx2b2lkPixcbik6IE9ic2VydmFibGU8eyBob3ZlcjogYm9vbGVhbjsgcmVsYXRlZFRhcmdldD86IEV2ZW50VGFyZ2V0IHwgbnVsbCB9PiA9PiB7XG5cdHJldHVybiBtZXJnZShcblx0XHRmcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKS5waXBlKG1hcCgoKSA9PiAoeyBob3ZlcjogdHJ1ZSB9KSkpLFxuXHRcdGZyb21FdmVudDxNb3VzZUV2ZW50PihuYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpLnBpcGUoXG5cdFx0XHRtYXAoKGUpID0+ICh7IGhvdmVyOiBmYWxzZSwgcmVsYXRlZFRhcmdldDogZS5yZWxhdGVkVGFyZ2V0IH0pKSxcblx0XHQpLFxuXHRcdC8vIEhlbGxvLCBTYWZhcmlcblx0XHRmcm9tRXZlbnQ8TW91c2VFdmVudD4obmF0aXZlRWxlbWVudCwgJ21vdXNlb3V0JykucGlwZShcblx0XHRcdGZpbHRlcihtb3ZlZE91dCksXG5cdFx0XHRtYXAoKGUpID0+ICh7IGhvdmVyOiBmYWxzZSwgcmVsYXRlZFRhcmdldDogZS5yZWxhdGVkVGFyZ2V0IH0pKSxcblx0XHQpLFxuXHQpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgYnJuWm9uZU9wdGltaXplZCh6b25lKSwgdGFrZVVudGlsKGRlc3Ryb3llZCQpKTtcbn07XG4iXX0=","import { InjectionToken, forwardRef, inject } from '@angular/core';\nexport function createInjectionToken(description) {\n const token = new InjectionToken(description);\n const provideFn = (value) => {\n return { provide: token, useValue: value };\n };\n const provideExistingFn = (value) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n const injectFn = (options = {}) => {\n return inject(token, options);\n };\n return [injectFn, provideFn, provideExistingFn, token];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWluamVjdGlvbi10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9jcmVhdGUtaW5qZWN0aW9uLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsY0FBYyxFQUE0QixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBbUJqSCxNQUFNLFVBQVUsb0JBQW9CLENBQWMsV0FBbUI7SUFDcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQWMsV0FBVyxDQUFDLENBQUM7SUFFM0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7UUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUMsQ0FBQztJQUVGLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUF3QixFQUFFLEVBQUU7UUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNELENBQUMsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsVUFBeUIsRUFBRSxFQUFFLEVBQUU7UUFDaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBNEMsQ0FBQztBQUNuRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJbmplY3RPcHRpb25zLCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlciwgdHlwZSBUeXBlLCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxudHlwZSBJbmplY3RGbjxUVG9rZW5WYWx1ZT4gPSB7XG5cdCgpOiBUVG9rZW5WYWx1ZTtcblx0KGluamVjdE9wdGlvbnM6IEluamVjdE9wdGlvbnMgJiB7IG9wdGlvbmFsPzogZmFsc2UgfSk6IFRUb2tlblZhbHVlO1xuXHQoaW5qZWN0T3B0aW9uczogSW5qZWN0T3B0aW9ucyAmIHsgb3B0aW9uYWw6IHRydWUgfSk6IFRUb2tlblZhbHVlIHwgbnVsbDtcbn07XG5cbnR5cGUgUHJvdmlkZUZuPFRUb2tlblZhbHVlPiA9ICh2YWx1ZTogVFRva2VuVmFsdWUpID0+IFByb3ZpZGVyO1xuXG50eXBlIFByb3ZpZGVFeGlzdGluZ0ZuPFRUb2tlblZhbHVlPiA9ICh2YWx1ZUZhY3Rvcnk6ICgpID0+IFR5cGU8VFRva2VuVmFsdWU+KSA9PiBQcm92aWRlcjtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+ID0gW1xuXHRJbmplY3RGbjxUVG9rZW5WYWx1ZT4sXG5cdFByb3ZpZGVGbjxUVG9rZW5WYWx1ZT4sXG5cdFByb3ZpZGVFeGlzdGluZ0ZuPFRUb2tlblZhbHVlPixcblx0SW5qZWN0aW9uVG9rZW48VFRva2VuVmFsdWU+LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluamVjdGlvblRva2VuPFRUb2tlblZhbHVlPihkZXNjcmlwdGlvbjogc3RyaW5nKTogQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+IHtcblx0Y29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VFRva2VuVmFsdWU+KGRlc2NyaXB0aW9uKTtcblxuXHRjb25zdCBwcm92aWRlRm4gPSAodmFsdWU6IFRUb2tlblZhbHVlKSA9PiB7XG5cdFx0cmV0dXJuIHsgcHJvdmlkZTogdG9rZW4sIHVzZVZhbHVlOiB2YWx1ZSB9O1xuXHR9O1xuXG5cdGNvbnN0IHByb3ZpZGVFeGlzdGluZ0ZuID0gKHZhbHVlOiAoKSA9PiBUVG9rZW5WYWx1ZSkgPT4ge1xuXHRcdHJldHVybiB7IHByb3ZpZGU6IHRva2VuLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZih2YWx1ZSkgfTtcblx0fTtcblxuXHRjb25zdCBpbmplY3RGbiA9IChvcHRpb25zOiBJbmplY3RPcHRpb25zID0ge30pID0+IHtcblx0XHRyZXR1cm4gaW5qZWN0KHRva2VuLCBvcHRpb25zKTtcblx0fTtcblxuXHRyZXR1cm4gW2luamVjdEZuLCBwcm92aWRlRm4sIHByb3ZpZGVFeGlzdGluZ0ZuLCB0b2tlbl0gYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+O1xufVxuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectCustomClassSettable, provideCustomClassSettable, provideCustomClassSettableExisting, SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN,] = createInjectionToken('@spartan-ng SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVsZW1lbnQtY2xhc3Mtc2V0dGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY3VzdG9tLWVsZW1lbnQtY2xhc3Mtc2V0dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNaEUsTUFBTSxDQUFDLE1BQU0sQ0FDWix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyxpQ0FBaUMsRUFDakMsR0FBRyxvQkFBb0IsQ0FBNkIsK0NBQStDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUluamVjdGlvblRva2VuIH0gZnJvbSAnLi9jcmVhdGUtaW5qZWN0aW9uLXRva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21FbGVtZW50Q2xhc3NTZXR0YWJsZSB7XG5cdHNldENsYXNzVG9DdXN0b21FbGVtZW50OiAobmV3Q2xhc3M6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0Q3VzdG9tQ2xhc3NTZXR0YWJsZSxcblx0cHJvdmlkZUN1c3RvbUNsYXNzU2V0dGFibGUsXG5cdHByb3ZpZGVDdXN0b21DbGFzc1NldHRhYmxlRXhpc3RpbmcsXG5cdFNFVF9DTEFTU19UT19DVVNUT01fRUxFTUVOVF9UT0tFTixcbl0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbjxDdXN0b21FbGVtZW50Q2xhc3NTZXR0YWJsZT4oJ0BzcGFydGFuLW5nIFNFVF9DTEFTU19UT19DVVNUT01fRUxFTUVOVF9UT0tFTicpO1xuIl19","import { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n/**\n * Creates a debounced version of a source signal.\n *\n * @param source - The input signal to debounce.\n * @param delay - Debounce time in milliseconds.\n * @returns A new signal that updates only after the source has stopped changing for `delay` ms.\n */\nexport function debouncedSignal(source, delay) {\n const source$ = toObservable(source);\n const debounced$ = source$.pipe(debounceTime(delay), distinctUntilChanged());\n return toSignal(debounced$, { initialValue: source() });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2VkLXNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9kZWJvdW5jZWQtc2lnbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUksTUFBaUIsRUFBRSxLQUFhO0lBQ2xFLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVyQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFFN0UsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgdmVyc2lvbiBvZiBhIHNvdXJjZSBzaWduYWwuXG4gKlxuICogQHBhcmFtIHNvdXJjZSAtIFRoZSBpbnB1dCBzaWduYWwgdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0gZGVsYXkgLSBEZWJvdW5jZSB0aW1lIGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIEEgbmV3IHNpZ25hbCB0aGF0IHVwZGF0ZXMgb25seSBhZnRlciB0aGUgc291cmNlIGhhcyBzdG9wcGVkIGNoYW5naW5nIGZvciBgZGVsYXlgIG1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2VkU2lnbmFsPFQ+KHNvdXJjZTogU2lnbmFsPFQ+LCBkZWxheTogbnVtYmVyKTogU2lnbmFsPFQ+IHtcblx0Y29uc3Qgc291cmNlJCA9IHRvT2JzZXJ2YWJsZShzb3VyY2UpO1xuXG5cdGNvbnN0IGRlYm91bmNlZCQgPSBzb3VyY2UkLnBpcGUoZGVib3VuY2VUaW1lKGRlbGF5KSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cblx0cmV0dXJuIHRvU2lnbmFsKGRlYm91bmNlZCQsIHsgaW5pdGlhbFZhbHVlOiBzb3VyY2UoKSB9KTtcbn1cbiJdfQ==","/**\n * Set by Angular to true when in development mode.\n * Allows for tree-shaking code that is only used in development.\n */\nexport const brnDevMode = ngDevMode;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvZGV2LW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuLyoqXG4gKiBTZXQgYnkgQW5ndWxhciB0byB0cnVlIHdoZW4gaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbiAqIEFsbG93cyBmb3IgdHJlZS1zaGFraW5nIGNvZGUgdGhhdCBpcyBvbmx5IHVzZWQgaW4gZGV2ZWxvcG1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBicm5EZXZNb2RlID0gbmdEZXZNb2RlO1xuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectExposedSideProvider, provideExposedSideProvider, provideExposedSideProviderExisting, EXPOSES_SIDE_TOKEN,] = createInjectionToken('@spartan-ng EXPOSES_SIDE_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3Nlcy1zaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL2V4cG9zZXMtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU1oRSxNQUFNLENBQUMsTUFBTSxDQUNaLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLGtCQUFrQixFQUNsQixHQUFHLG9CQUFvQixDQUFjLGdDQUFnQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuL2NyZWF0ZS1pbmplY3Rpb24tdG9rZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9zZXNTaWRlIHtcblx0c2lkZTogU2lnbmFsPCd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnPjtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0RXhwb3NlZFNpZGVQcm92aWRlcixcblx0cHJvdmlkZUV4cG9zZWRTaWRlUHJvdmlkZXIsXG5cdHByb3ZpZGVFeHBvc2VkU2lkZVByb3ZpZGVyRXhpc3RpbmcsXG5cdEVYUE9TRVNfU0lERV9UT0tFTixcbl0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbjxFeHBvc2VzU2lkZT4oJ0BzcGFydGFuLW5nIEVYUE9TRVNfU0lERV9UT0tFTicpO1xuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectExposesStateProvider, provideExposesStateProvider, provideExposesStateProviderExisting, EXPOSES_STATE_TOKEN,] = createInjectionToken('@spartan-ng EXPOSES_STATE_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3Nlcy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9leHBvc2VzLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTWhFLE1BQU0sQ0FBQyxNQUFNLENBQ1osMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsbUJBQW1CLEVBQ25CLEdBQUcsb0JBQW9CLENBQWUsaUNBQWlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVJbmplY3Rpb25Ub2tlbiB9IGZyb20gJy4vY3JlYXRlLWluamVjdGlvbi10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3Nlc1N0YXRlIHtcblx0c3RhdGU6IFNpZ25hbDwnb3BlbicgfCAnY2xvc2VkJz47XG59XG5cbmV4cG9ydCBjb25zdCBbXG5cdGluamVjdEV4cG9zZXNTdGF0ZVByb3ZpZGVyLFxuXHRwcm92aWRlRXhwb3Nlc1N0YXRlUHJvdmlkZXIsXG5cdHByb3ZpZGVFeHBvc2VzU3RhdGVQcm92aWRlckV4aXN0aW5nLFxuXHRFWFBPU0VTX1NUQVRFX1RPS0VOLFxuXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPEV4cG9zZXNTdGF0ZT4oJ0BzcGFydGFuLW5nIEVYUE9TRVNfU1RBVEVfVE9LRU4nKTtcbiJdfQ==","export const measureDimensions = (elementToMeasure, measurementDisplay) => {\n const previousHeight = elementToMeasure.style.height;\n const previousDisplay = elementToMeasure.style.display;\n const previousHidden = elementToMeasure.hidden;\n elementToMeasure.hidden = false;\n elementToMeasure.style.height = 'auto';\n elementToMeasure.style.display = previousDisplay === 'hidden' ? measurementDisplay : previousDisplay;\n const { width, height } = elementToMeasure.getBoundingClientRect();\n elementToMeasure.hidden = previousHidden;\n elementToMeasure.style.display = previousDisplay;\n elementToMeasure.style.height = previousHeight;\n return { width, height };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS1kaW1lbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL21lYXN1cmUtZGltZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGdCQUE2QixFQUFFLGtCQUFzQyxFQUFFLEVBQUU7SUFDMUcsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUUvQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUVyRyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFbkUsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztJQUN6QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUNqRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztJQUUvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1lYXN1cmVtZW50RGlzcGxheSA9ICdibG9jaycgfCAnaW5saW5lLWJsb2NrJyB8ICdmbGV4JyB8ICdncmlkJyB8ICd0YWJsZScgfCAnY29udGVudHMnIHwgKHN0cmluZyAmIHt9KTtcblxuZXhwb3J0IGNvbnN0IG1lYXN1cmVEaW1lbnNpb25zID0gKGVsZW1lbnRUb01lYXN1cmU6IEhUTUxFbGVtZW50LCBtZWFzdXJlbWVudERpc3BsYXk6IE1lYXN1cmVtZW50RGlzcGxheSkgPT4ge1xuXHRjb25zdCBwcmV2aW91c0hlaWdodCA9IGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuaGVpZ2h0O1xuXHRjb25zdCBwcmV2aW91c0Rpc3BsYXkgPSBlbGVtZW50VG9NZWFzdXJlLnN0eWxlLmRpc3BsYXk7XG5cdGNvbnN0IHByZXZpb3VzSGlkZGVuID0gZWxlbWVudFRvTWVhc3VyZS5oaWRkZW47XG5cblx0ZWxlbWVudFRvTWVhc3VyZS5oaWRkZW4gPSBmYWxzZTtcblx0ZWxlbWVudFRvTWVhc3VyZS5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG5cdGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuZGlzcGxheSA9IHByZXZpb3VzRGlzcGxheSA9PT0gJ2hpZGRlbicgPyBtZWFzdXJlbWVudERpc3BsYXkgOiBwcmV2aW91c0Rpc3BsYXk7XG5cblx0Y29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBlbGVtZW50VG9NZWFzdXJlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG5cdGVsZW1lbnRUb01lYXN1cmUuaGlkZGVuID0gcHJldmlvdXNIaWRkZW47XG5cdGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuZGlzcGxheSA9IHByZXZpb3VzRGlzcGxheTtcblx0ZWxlbWVudFRvTWVhc3VyZS5zdHlsZS5oZWlnaHQgPSBwcmV2aW91c0hlaWdodDtcblxuXHRyZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG59O1xuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectTableClassesSettable, provideTableClassesSettable, provideTableClassesSettableExisting, SET_TABLE_CLASSES_TOKEN,] = createInjectionToken('@spartan-ng SET_TABLE_CLASSES_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2xhc3Nlcy1zZXR0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy90YWJsZS1jbGFzc2VzLXNldHRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTWhFLE1BQU0sQ0FBQyxNQUFNLENBQ1osMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsdUJBQXVCLEVBQ3ZCLEdBQUcsb0JBQW9CLENBQXVCLHFDQUFxQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVJbmplY3Rpb25Ub2tlbiB9IGZyb20gJy4vY3JlYXRlLWluamVjdGlvbi10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDbGFzc2VzU2V0dGFibGUge1xuXHRzZXRUYWJsZUNsYXNzZXM6IChjbGFzc2VzOiBQYXJ0aWFsPHsgdGFibGU6IHN0cmluZzsgaGVhZGVyUm93OiBzdHJpbmc7IGJvZHlSb3c6IHN0cmluZyB9PikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0VGFibGVDbGFzc2VzU2V0dGFibGUsXG5cdHByb3ZpZGVUYWJsZUNsYXNzZXNTZXR0YWJsZSxcblx0cHJvdmlkZVRhYmxlQ2xhc3Nlc1NldHRhYmxlRXhpc3RpbmcsXG5cdFNFVF9UQUJMRV9DTEFTU0VTX1RPS0VOLFxuXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPFRhYmxlQ2xhc3Nlc1NldHRhYmxlPignQHNwYXJ0YW4tbmcgU0VUX1RBQkxFX0NMQVNTRVNfVE9LRU4nKTtcbiJdfQ==","/**\n * Waits for all animations (including subtree) within the given element to finish.\n * Ignores animations canceled with an AbortError.\n */\nexport async function waitForElementAnimations(el) {\n // Wait a tick to allow newly triggered animations to start\n await new Promise((resolve) => setTimeout(resolve, 0));\n const animationFillMode = el.style.animationFillMode;\n const animations = el.getAnimations({ subtree: true });\n el.style.animationFillMode = 'forwards';\n await Promise.all(animations.map((animation) => animation.finished.catch((err) => {\n // Ignore AbortError from canceled animations (treated as \"finished\")\n if (!(err instanceof Error && err.name === 'AbortError')) {\n throw err;\n }\n return animation;\n })));\n setTimeout(() => {\n if (el.style.animationFillMode === 'forwards')\n el.style.animationFillMode = animationFillMode;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItZWxlbWVudC1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL3dhaXQtZm9yLWVsZW1lbnQtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUFDLEVBQWU7SUFDN0QsMkRBQTJEO0lBQzNELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3RCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDckQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzVCLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEMscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sR0FBRyxDQUFDO1FBQ1gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUNGLENBQ0QsQ0FBQztJQUVGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVTtZQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDL0YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXYWl0cyBmb3IgYWxsIGFuaW1hdGlvbnMgKGluY2x1ZGluZyBzdWJ0cmVlKSB3aXRoaW4gdGhlIGdpdmVuIGVsZW1lbnQgdG8gZmluaXNoLlxuICogSWdub3JlcyBhbmltYXRpb25zIGNhbmNlbGVkIHdpdGggYW4gQWJvcnRFcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JFbGVtZW50QW5pbWF0aW9ucyhlbDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcblx0Ly8gV2FpdCBhIHRpY2sgdG8gYWxsb3cgbmV3bHkgdHJpZ2dlcmVkIGFuaW1hdGlvbnMgdG8gc3RhcnRcblx0YXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpO1xuXG5cdGNvbnN0IGFuaW1hdGlvbkZpbGxNb2RlID0gZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGU7XG5cdGNvbnN0IGFuaW1hdGlvbnMgPSBlbC5nZXRBbmltYXRpb25zKHsgc3VidHJlZTogdHJ1ZSB9KTtcblx0ZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSAnZm9yd2FyZHMnO1xuXG5cdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdGFuaW1hdGlvbnMubWFwKChhbmltYXRpb24pID0+XG5cdFx0XHRhbmltYXRpb24uZmluaXNoZWQuY2F0Y2goKGVycikgPT4ge1xuXHRcdFx0XHQvLyBJZ25vcmUgQWJvcnRFcnJvciBmcm9tIGNhbmNlbGVkIGFuaW1hdGlvbnMgKHRyZWF0ZWQgYXMgXCJmaW5pc2hlZFwiKVxuXHRcdFx0XHRpZiAoIShlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSkge1xuXHRcdFx0XHRcdHRocm93IGVycjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBhbmltYXRpb247XG5cdFx0XHR9KSxcblx0XHQpLFxuXHQpO1xuXG5cdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdGlmIChlbC5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9PT0gJ2ZvcndhcmRzJykgZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSBhbmltYXRpb25GaWxsTW9kZTtcblx0fSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9zcGFydGFuLW5nLWJyYWluLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-core.mjs","sources":["../tmp-esm2022/core/helpers/computed-previous.js","../tmp-esm2022/core/helpers/zone-free.js","../tmp-esm2022/core/helpers/create-hover-observable.js","../tmp-esm2022/core/helpers/create-injection-token.js","../tmp-esm2022/core/helpers/custom-element-class-settable.js","../tmp-esm2022/core/helpers/debounced-signal.js","../tmp-esm2022/core/helpers/dev-mode.js","../tmp-esm2022/core/helpers/exposes-side.js","../tmp-esm2022/core/helpers/exposes-state.js","../tmp-esm2022/core/helpers/measure-dimensions.js","../tmp-esm2022/core/helpers/menu-align.js","../tmp-esm2022/core/helpers/table-classes-settable.js","../tmp-esm2022/core/helpers/wait-for-element-animations.js","../tmp-esm2022/core/spartan-ng-brain-core.js"],"sourcesContent":["import { computed, untracked } from '@angular/core';\n/**\n * Returns a signal that emits the previous value of the given signal.\n * The first time the signal is emitted, the previous value will be the same as the current value.\n *\n * @example\n * ```ts\n * const value = signal(0);\n * const previous = computedPrevious(value);\n *\n * effect(() => {\n * console.log('Current value:', value());\n * console.log('Previous value:', previous());\n * });\n *\n * Logs:\n * // Current value: 0\n * // Previous value: 0\n *\n * value.set(1);\n *\n * Logs:\n * // Current value: 1\n * // Previous value: 0\n *\n * value.set(2);\n *\n * Logs:\n * // Current value: 2\n * // Previous value: 1\n *```\n *\n * @param computation Signal to compute previous value for\n * @returns Signal that emits previous value of `s`\n */\nexport function computedPrevious(computation) {\n let current = null;\n let previous = untracked(() => computation()); // initial value is the current value\n return computed(() => {\n current = computation();\n const result = previous;\n previous = current;\n return result;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtcHJldmlvdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY29tcHV0ZWQtcHJldmlvdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBSSxXQUFzQjtJQUN6RCxJQUFJLE9BQU8sR0FBRyxJQUFTLENBQUM7SUFDeEIsSUFBSSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUM7SUFFcEYsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN4QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDeEIsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCB0eXBlIFNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmV0dXJucyBhIHNpZ25hbCB0aGF0IGVtaXRzIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZ2l2ZW4gc2lnbmFsLlxuICogVGhlIGZpcnN0IHRpbWUgdGhlIHNpZ25hbCBpcyBlbWl0dGVkLCB0aGUgcHJldmlvdXMgdmFsdWUgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IHZhbHVlID0gc2lnbmFsKDApO1xuICogY29uc3QgcHJldmlvdXMgPSBjb21wdXRlZFByZXZpb3VzKHZhbHVlKTtcbiAqXG4gKiBlZmZlY3QoKCkgPT4ge1xuICogIGNvbnNvbGUubG9nKCdDdXJyZW50IHZhbHVlOicsIHZhbHVlKCkpO1xuICogIGNvbnNvbGUubG9nKCdQcmV2aW91cyB2YWx1ZTonLCBwcmV2aW91cygpKTtcbiAqIH0pO1xuICpcbiAqIExvZ3M6XG4gKiAvLyBDdXJyZW50IHZhbHVlOiAwXG4gKiAvLyBQcmV2aW91cyB2YWx1ZTogMFxuICpcbiAqIHZhbHVlLnNldCgxKTtcbiAqXG4gKiBMb2dzOlxuICogLy8gQ3VycmVudCB2YWx1ZTogMVxuICogLy8gUHJldmlvdXMgdmFsdWU6IDBcbiAqXG4gKiB2YWx1ZS5zZXQoMik7XG4gKlxuICogTG9nczpcbiAqIC8vIEN1cnJlbnQgdmFsdWU6IDJcbiAqIC8vIFByZXZpb3VzIHZhbHVlOiAxXG4gKmBgYFxuICpcbiAqIEBwYXJhbSBjb21wdXRhdGlvbiBTaWduYWwgdG8gY29tcHV0ZSBwcmV2aW91cyB2YWx1ZSBmb3JcbiAqIEByZXR1cm5zIFNpZ25hbCB0aGF0IGVtaXRzIHByZXZpb3VzIHZhbHVlIG9mIGBzYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZWRQcmV2aW91czxUPihjb21wdXRhdGlvbjogU2lnbmFsPFQ+KTogU2lnbmFsPFQ+IHtcblx0bGV0IGN1cnJlbnQgPSBudWxsIGFzIFQ7XG5cdGxldCBwcmV2aW91cyA9IHVudHJhY2tlZCgoKSA9PiBjb21wdXRhdGlvbigpKTsgLy8gaW5pdGlhbCB2YWx1ZSBpcyB0aGUgY3VycmVudCB2YWx1ZVxuXG5cdHJldHVybiBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y3VycmVudCA9IGNvbXB1dGF0aW9uKCk7XG5cdFx0Y29uc3QgcmVzdWx0ID0gcHJldmlvdXM7XG5cdFx0cHJldmlvdXMgPSBjdXJyZW50O1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0pO1xufVxuIl19","import { Observable, pipe } from 'rxjs';\nexport function brnZoneFull(zone) {\n return (source) => new Observable((subscriber) => source.subscribe({\n next: (value) => zone.run(() => subscriber.next(value)),\n error: (error) => zone.run(() => subscriber.error(error)),\n complete: () => zone.run(() => subscriber.complete()),\n }));\n}\nexport function brnZoneFree(zone) {\n return (source) => new Observable((subscriber) => zone.runOutsideAngular(() => source.subscribe(subscriber)));\n}\nexport function brnZoneOptimized(zone) {\n return pipe(brnZoneFree(zone), brnZoneFull(zone));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS1mcmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL3pvbmUtZnJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWlDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsTUFBTSxVQUFVLFdBQVcsQ0FBSSxJQUFZO0lBQzFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNqQixJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQzdCLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDaEIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsS0FBSyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3JELENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUksSUFBWTtJQUMxQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9HLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUksSUFBWTtJQUMvQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogV2UgYXJlIGJ1aWxkaW5nIG9uIHNob3VsZGVycyBvZiBnaWFudHMgaGVyZSBhbmQgdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBwcm92aWRlZCBieSB0aGUgaW5jcmVkaWJsZSBUYWlnYVVJXG4gKiB0ZWFtOiBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L3RhaWdhLXVpL2Jsb2IvbWFpbi9wcm9qZWN0cy9jZGsvb2JzZXJ2YWJsZXMvem9uZS1mcmVlLnRzI0wyMlxuICogQ2hlY2sgdGhlbSBvdXQhIEdpdmUgdGhlbSBhIHRyeSEgTGVhdmUgYSBzdGFyISBUaGVpciB3b3JrIGlzIGluY3JlZGlibGUhXG4gKi9cbmltcG9ydCB0eXBlIHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZSwgcGlwZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnJuWm9uZUZ1bGw8VD4oem9uZTogTmdab25lKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcblx0cmV0dXJuIChzb3VyY2UpID0+XG5cdFx0bmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+XG5cdFx0XHRzb3VyY2Uuc3Vic2NyaWJlKHtcblx0XHRcdFx0bmV4dDogKHZhbHVlKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLm5leHQodmFsdWUpKSxcblx0XHRcdFx0ZXJyb3I6IChlcnJvcjogdW5rbm93bikgPT4gem9uZS5ydW4oKCkgPT4gc3Vic2NyaWJlci5lcnJvcihlcnJvcikpLFxuXHRcdFx0XHRjb21wbGV0ZTogKCkgPT4gem9uZS5ydW4oKCkgPT4gc3Vic2NyaWJlci5jb21wbGV0ZSgpKSxcblx0XHRcdH0pLFxuXHRcdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicm5ab25lRnJlZTxUPih6b25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuXHRyZXR1cm4gKHNvdXJjZSkgPT4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJuWm9uZU9wdGltaXplZDxUPih6b25lOiBOZ1pvbmUpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuXHRyZXR1cm4gcGlwZShicm5ab25lRnJlZSh6b25lKSwgYnJuWm9uZUZ1bGwoem9uZSkpO1xufVxuIl19","import { fromEvent, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';\nimport { brnZoneOptimized } from './zone-free';\nfunction movedOut({ currentTarget, relatedTarget }) {\n return !isElement(relatedTarget) || !isElement(currentTarget) || !currentTarget.contains(relatedTarget);\n}\nexport function isElement(node) {\n return !!node && 'nodeType' in node && node.nodeType === Node.ELEMENT_NODE;\n}\nexport const createHoverObservable = (nativeElement, zone, destroyed$) => {\n return merge(fromEvent(nativeElement, 'mouseenter').pipe(map(() => ({ hover: true }))), fromEvent(nativeElement, 'mouseleave').pipe(map((e) => ({ hover: false, relatedTarget: e.relatedTarget }))), \n // Hello, Safari\n fromEvent(nativeElement, 'mouseout').pipe(filter(movedOut), map((e) => ({ hover: false, relatedTarget: e.relatedTarget })))).pipe(distinctUntilChanged(), brnZoneOptimized(zone), takeUntil(destroyed$));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWhvdmVyLW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY3JlYXRlLWhvdmVyLW9ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxTQUFTLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQWM7SUFDN0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekcsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBMEM7SUFDbkUsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNwQyxhQUEwQixFQUMxQixJQUFZLEVBQ1osVUFBeUIsRUFDNEMsRUFBRTtJQUN2RSxPQUFPLEtBQUssQ0FDWCxTQUFTLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDekUsU0FBUyxDQUFhLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQzlEO0lBQ0QsZ0JBQWdCO0lBQ2hCLFNBQVMsQ0FBYSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNwRCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ2hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQzlELENBQ0QsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlLCB0eXBlIFN1YmplY3QsIGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgYnJuWm9uZU9wdGltaXplZCB9IGZyb20gJy4vem9uZS1mcmVlJztcblxuZnVuY3Rpb24gbW92ZWRPdXQoeyBjdXJyZW50VGFyZ2V0LCByZWxhdGVkVGFyZ2V0IH06IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcblx0cmV0dXJuICFpc0VsZW1lbnQocmVsYXRlZFRhcmdldCkgfHwgIWlzRWxlbWVudChjdXJyZW50VGFyZ2V0KSB8fCAhY3VycmVudFRhcmdldC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudChub2RlPzogRWxlbWVudCB8IEV2ZW50VGFyZ2V0IHwgTm9kZSB8IG51bGwpOiBub2RlIGlzIEVsZW1lbnQge1xuXHRyZXR1cm4gISFub2RlICYmICdub2RlVHlwZScgaW4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhvdmVyT2JzZXJ2YWJsZSA9IChcblx0bmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQsXG5cdHpvbmU6IE5nWm9uZSxcblx0ZGVzdHJveWVkJDogU3ViamVjdDx2b2lkPixcbik6IE9ic2VydmFibGU8eyBob3ZlcjogYm9vbGVhbjsgcmVsYXRlZFRhcmdldD86IEV2ZW50VGFyZ2V0IHwgbnVsbCB9PiA9PiB7XG5cdHJldHVybiBtZXJnZShcblx0XHRmcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKS5waXBlKG1hcCgoKSA9PiAoeyBob3ZlcjogdHJ1ZSB9KSkpLFxuXHRcdGZyb21FdmVudDxNb3VzZUV2ZW50PihuYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpLnBpcGUoXG5cdFx0XHRtYXAoKGUpID0+ICh7IGhvdmVyOiBmYWxzZSwgcmVsYXRlZFRhcmdldDogZS5yZWxhdGVkVGFyZ2V0IH0pKSxcblx0XHQpLFxuXHRcdC8vIEhlbGxvLCBTYWZhcmlcblx0XHRmcm9tRXZlbnQ8TW91c2VFdmVudD4obmF0aXZlRWxlbWVudCwgJ21vdXNlb3V0JykucGlwZShcblx0XHRcdGZpbHRlcihtb3ZlZE91dCksXG5cdFx0XHRtYXAoKGUpID0+ICh7IGhvdmVyOiBmYWxzZSwgcmVsYXRlZFRhcmdldDogZS5yZWxhdGVkVGFyZ2V0IH0pKSxcblx0XHQpLFxuXHQpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgYnJuWm9uZU9wdGltaXplZCh6b25lKSwgdGFrZVVudGlsKGRlc3Ryb3llZCQpKTtcbn07XG4iXX0=","import { InjectionToken, forwardRef, inject } from '@angular/core';\nexport function createInjectionToken(description) {\n const token = new InjectionToken(description);\n const provideFn = (value) => {\n return { provide: token, useValue: value };\n };\n const provideExistingFn = (value) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n const injectFn = (options = {}) => {\n return inject(token, options);\n };\n return [injectFn, provideFn, provideExistingFn, token];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWluamVjdGlvbi10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9jcmVhdGUtaW5qZWN0aW9uLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsY0FBYyxFQUE0QixVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBbUJqSCxNQUFNLFVBQVUsb0JBQW9CLENBQWMsV0FBbUI7SUFDcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQWMsV0FBVyxDQUFDLENBQUM7SUFFM0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7UUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUMsQ0FBQztJQUVGLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUF3QixFQUFFLEVBQUU7UUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNELENBQUMsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsVUFBeUIsRUFBRSxFQUFFLEVBQUU7UUFDaEQsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBNEMsQ0FBQztBQUNuRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJbmplY3RPcHRpb25zLCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlciwgdHlwZSBUeXBlLCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxudHlwZSBJbmplY3RGbjxUVG9rZW5WYWx1ZT4gPSB7XG5cdCgpOiBUVG9rZW5WYWx1ZTtcblx0KGluamVjdE9wdGlvbnM6IEluamVjdE9wdGlvbnMgJiB7IG9wdGlvbmFsPzogZmFsc2UgfSk6IFRUb2tlblZhbHVlO1xuXHQoaW5qZWN0T3B0aW9uczogSW5qZWN0T3B0aW9ucyAmIHsgb3B0aW9uYWw6IHRydWUgfSk6IFRUb2tlblZhbHVlIHwgbnVsbDtcbn07XG5cbnR5cGUgUHJvdmlkZUZuPFRUb2tlblZhbHVlPiA9ICh2YWx1ZTogVFRva2VuVmFsdWUpID0+IFByb3ZpZGVyO1xuXG50eXBlIFByb3ZpZGVFeGlzdGluZ0ZuPFRUb2tlblZhbHVlPiA9ICh2YWx1ZUZhY3Rvcnk6ICgpID0+IFR5cGU8VFRva2VuVmFsdWU+KSA9PiBQcm92aWRlcjtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+ID0gW1xuXHRJbmplY3RGbjxUVG9rZW5WYWx1ZT4sXG5cdFByb3ZpZGVGbjxUVG9rZW5WYWx1ZT4sXG5cdFByb3ZpZGVFeGlzdGluZ0ZuPFRUb2tlblZhbHVlPixcblx0SW5qZWN0aW9uVG9rZW48VFRva2VuVmFsdWU+LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluamVjdGlvblRva2VuPFRUb2tlblZhbHVlPihkZXNjcmlwdGlvbjogc3RyaW5nKTogQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+IHtcblx0Y29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VFRva2VuVmFsdWU+KGRlc2NyaXB0aW9uKTtcblxuXHRjb25zdCBwcm92aWRlRm4gPSAodmFsdWU6IFRUb2tlblZhbHVlKSA9PiB7XG5cdFx0cmV0dXJuIHsgcHJvdmlkZTogdG9rZW4sIHVzZVZhbHVlOiB2YWx1ZSB9O1xuXHR9O1xuXG5cdGNvbnN0IHByb3ZpZGVFeGlzdGluZ0ZuID0gKHZhbHVlOiAoKSA9PiBUVG9rZW5WYWx1ZSkgPT4ge1xuXHRcdHJldHVybiB7IHByb3ZpZGU6IHRva2VuLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZih2YWx1ZSkgfTtcblx0fTtcblxuXHRjb25zdCBpbmplY3RGbiA9IChvcHRpb25zOiBJbmplY3RPcHRpb25zID0ge30pID0+IHtcblx0XHRyZXR1cm4gaW5qZWN0KHRva2VuLCBvcHRpb25zKTtcblx0fTtcblxuXHRyZXR1cm4gW2luamVjdEZuLCBwcm92aWRlRm4sIHByb3ZpZGVFeGlzdGluZ0ZuLCB0b2tlbl0gYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VFRva2VuVmFsdWU+O1xufVxuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectCustomClassSettable, provideCustomClassSettable, provideCustomClassSettableExisting, SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN,] = createInjectionToken('@spartan-ng SET_CLASS_TO_CUSTOM_ELEMENT_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVsZW1lbnQtY2xhc3Mtc2V0dGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvY3VzdG9tLWVsZW1lbnQtY2xhc3Mtc2V0dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNaEUsTUFBTSxDQUFDLE1BQU0sQ0FDWix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyxpQ0FBaUMsRUFDakMsR0FBRyxvQkFBb0IsQ0FBNkIsK0NBQStDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUluamVjdGlvblRva2VuIH0gZnJvbSAnLi9jcmVhdGUtaW5qZWN0aW9uLXRva2VuJztcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21FbGVtZW50Q2xhc3NTZXR0YWJsZSB7XG5cdHNldENsYXNzVG9DdXN0b21FbGVtZW50OiAobmV3Q2xhc3M6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0Q3VzdG9tQ2xhc3NTZXR0YWJsZSxcblx0cHJvdmlkZUN1c3RvbUNsYXNzU2V0dGFibGUsXG5cdHByb3ZpZGVDdXN0b21DbGFzc1NldHRhYmxlRXhpc3RpbmcsXG5cdFNFVF9DTEFTU19UT19DVVNUT01fRUxFTUVOVF9UT0tFTixcbl0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbjxDdXN0b21FbGVtZW50Q2xhc3NTZXR0YWJsZT4oJ0BzcGFydGFuLW5nIFNFVF9DTEFTU19UT19DVVNUT01fRUxFTUVOVF9UT0tFTicpO1xuIl19","import { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n/**\n * Creates a debounced version of a source signal.\n *\n * @param source - The input signal to debounce.\n * @param delay - Debounce time in milliseconds.\n * @returns A new signal that updates only after the source has stopped changing for `delay` ms.\n */\nexport function debouncedSignal(source, delay) {\n const source$ = toObservable(source);\n const debounced$ = source$.pipe(debounceTime(delay), distinctUntilChanged());\n return toSignal(debounced$, { initialValue: source() });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2VkLXNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9kZWJvdW5jZWQtc2lnbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUksTUFBaUIsRUFBRSxLQUFhO0lBQ2xFLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVyQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFFN0UsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgdmVyc2lvbiBvZiBhIHNvdXJjZSBzaWduYWwuXG4gKlxuICogQHBhcmFtIHNvdXJjZSAtIFRoZSBpbnB1dCBzaWduYWwgdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0gZGVsYXkgLSBEZWJvdW5jZSB0aW1lIGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIEEgbmV3IHNpZ25hbCB0aGF0IHVwZGF0ZXMgb25seSBhZnRlciB0aGUgc291cmNlIGhhcyBzdG9wcGVkIGNoYW5naW5nIGZvciBgZGVsYXlgIG1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2VkU2lnbmFsPFQ+KHNvdXJjZTogU2lnbmFsPFQ+LCBkZWxheTogbnVtYmVyKTogU2lnbmFsPFQ+IHtcblx0Y29uc3Qgc291cmNlJCA9IHRvT2JzZXJ2YWJsZShzb3VyY2UpO1xuXG5cdGNvbnN0IGRlYm91bmNlZCQgPSBzb3VyY2UkLnBpcGUoZGVib3VuY2VUaW1lKGRlbGF5KSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cblx0cmV0dXJuIHRvU2lnbmFsKGRlYm91bmNlZCQsIHsgaW5pdGlhbFZhbHVlOiBzb3VyY2UoKSB9KTtcbn1cbiJdfQ==","/**\n * Set by Angular to true when in development mode.\n * Allows for tree-shaking code that is only used in development.\n */\nexport const brnDevMode = ngDevMode;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvcmUvc3JjL2hlbHBlcnMvZGV2LW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuLyoqXG4gKiBTZXQgYnkgQW5ndWxhciB0byB0cnVlIHdoZW4gaW4gZGV2ZWxvcG1lbnQgbW9kZS5cbiAqIEFsbG93cyBmb3IgdHJlZS1zaGFraW5nIGNvZGUgdGhhdCBpcyBvbmx5IHVzZWQgaW4gZGV2ZWxvcG1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBicm5EZXZNb2RlID0gbmdEZXZNb2RlO1xuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectExposedSideProvider, provideExposedSideProvider, provideExposedSideProviderExisting, EXPOSES_SIDE_TOKEN,] = createInjectionToken('@spartan-ng EXPOSES_SIDE_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3Nlcy1zaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL2V4cG9zZXMtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU1oRSxNQUFNLENBQUMsTUFBTSxDQUNaLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLGtCQUFrQixFQUNsQixHQUFHLG9CQUFvQixDQUFjLGdDQUFnQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuL2NyZWF0ZS1pbmplY3Rpb24tdG9rZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9zZXNTaWRlIHtcblx0c2lkZTogU2lnbmFsPCd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnPjtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0RXhwb3NlZFNpZGVQcm92aWRlcixcblx0cHJvdmlkZUV4cG9zZWRTaWRlUHJvdmlkZXIsXG5cdHByb3ZpZGVFeHBvc2VkU2lkZVByb3ZpZGVyRXhpc3RpbmcsXG5cdEVYUE9TRVNfU0lERV9UT0tFTixcbl0gPSBjcmVhdGVJbmplY3Rpb25Ub2tlbjxFeHBvc2VzU2lkZT4oJ0BzcGFydGFuLW5nIEVYUE9TRVNfU0lERV9UT0tFTicpO1xuIl19","import { createInjectionToken } from './create-injection-token';\nexport const [injectExposesStateProvider, provideExposesStateProvider, provideExposesStateProviderExisting, EXPOSES_STATE_TOKEN,] = createInjectionToken('@spartan-ng EXPOSES_STATE_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3Nlcy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9leHBvc2VzLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTWhFLE1BQU0sQ0FBQyxNQUFNLENBQ1osMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsbUJBQW1CLEVBQ25CLEdBQUcsb0JBQW9CLENBQWUsaUNBQWlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVJbmplY3Rpb25Ub2tlbiB9IGZyb20gJy4vY3JlYXRlLWluamVjdGlvbi10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3Nlc1N0YXRlIHtcblx0c3RhdGU6IFNpZ25hbDwnb3BlbicgfCAnY2xvc2VkJz47XG59XG5cbmV4cG9ydCBjb25zdCBbXG5cdGluamVjdEV4cG9zZXNTdGF0ZVByb3ZpZGVyLFxuXHRwcm92aWRlRXhwb3Nlc1N0YXRlUHJvdmlkZXIsXG5cdHByb3ZpZGVFeHBvc2VzU3RhdGVQcm92aWRlckV4aXN0aW5nLFxuXHRFWFBPU0VTX1NUQVRFX1RPS0VOLFxuXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPEV4cG9zZXNTdGF0ZT4oJ0BzcGFydGFuLW5nIEVYUE9TRVNfU1RBVEVfVE9LRU4nKTtcbiJdfQ==","export const measureDimensions = (elementToMeasure, measurementDisplay) => {\n const previousHeight = elementToMeasure.style.height;\n const previousDisplay = elementToMeasure.style.display;\n const previousHidden = elementToMeasure.hidden;\n elementToMeasure.hidden = false;\n elementToMeasure.style.height = 'auto';\n elementToMeasure.style.display = previousDisplay === 'hidden' ? measurementDisplay : previousDisplay;\n const { width, height } = elementToMeasure.getBoundingClientRect();\n elementToMeasure.hidden = previousHidden;\n elementToMeasure.style.display = previousDisplay;\n elementToMeasure.style.height = previousHeight;\n return { width, height };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS1kaW1lbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL21lYXN1cmUtZGltZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGdCQUE2QixFQUFFLGtCQUFzQyxFQUFFLEVBQUU7SUFDMUcsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUUvQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUVyRyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFbkUsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztJQUN6QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUNqRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztJQUUvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1lYXN1cmVtZW50RGlzcGxheSA9ICdibG9jaycgfCAnaW5saW5lLWJsb2NrJyB8ICdmbGV4JyB8ICdncmlkJyB8ICd0YWJsZScgfCAnY29udGVudHMnIHwgKHN0cmluZyAmIHt9KTtcblxuZXhwb3J0IGNvbnN0IG1lYXN1cmVEaW1lbnNpb25zID0gKGVsZW1lbnRUb01lYXN1cmU6IEhUTUxFbGVtZW50LCBtZWFzdXJlbWVudERpc3BsYXk6IE1lYXN1cmVtZW50RGlzcGxheSkgPT4ge1xuXHRjb25zdCBwcmV2aW91c0hlaWdodCA9IGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuaGVpZ2h0O1xuXHRjb25zdCBwcmV2aW91c0Rpc3BsYXkgPSBlbGVtZW50VG9NZWFzdXJlLnN0eWxlLmRpc3BsYXk7XG5cdGNvbnN0IHByZXZpb3VzSGlkZGVuID0gZWxlbWVudFRvTWVhc3VyZS5oaWRkZW47XG5cblx0ZWxlbWVudFRvTWVhc3VyZS5oaWRkZW4gPSBmYWxzZTtcblx0ZWxlbWVudFRvTWVhc3VyZS5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG5cdGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuZGlzcGxheSA9IHByZXZpb3VzRGlzcGxheSA9PT0gJ2hpZGRlbicgPyBtZWFzdXJlbWVudERpc3BsYXkgOiBwcmV2aW91c0Rpc3BsYXk7XG5cblx0Y29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBlbGVtZW50VG9NZWFzdXJlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG5cdGVsZW1lbnRUb01lYXN1cmUuaGlkZGVuID0gcHJldmlvdXNIaWRkZW47XG5cdGVsZW1lbnRUb01lYXN1cmUuc3R5bGUuZGlzcGxheSA9IHByZXZpb3VzRGlzcGxheTtcblx0ZWxlbWVudFRvTWVhc3VyZS5zdHlsZS5oZWlnaHQgPSBwcmV2aW91c0hlaWdodDtcblxuXHRyZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG59O1xuIl19","export const createMenuPosition = (align, side) => {\n const verticalAlign = align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center';\n const createPositions = (originX, originY, overlayX, overlayY) => [\n { originX, originY, overlayX, overlayY },\n { originX: overlayX, originY: overlayY, overlayX: originX, overlayY: originY },\n ];\n switch (side) {\n case 'top':\n return createPositions(align, 'top', align, 'bottom');\n case 'bottom':\n return createPositions(align, 'bottom', align, 'top');\n case 'left':\n return createPositions('start', verticalAlign, 'end', verticalAlign);\n case 'right':\n return createPositions('end', verticalAlign, 'start', verticalAlign);\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1hbGlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy9tZW51LWFsaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBZ0IsRUFBRSxJQUFjLEVBQXVCLEVBQUU7SUFDM0YsTUFBTSxhQUFhLEdBQUcsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUV4RixNQUFNLGVBQWUsR0FBRyxDQUN2QixPQUFtQyxFQUNuQyxPQUFvQyxFQUNwQyxRQUFvQyxFQUNwQyxRQUFxQyxFQUNmLEVBQUUsQ0FBQztRQUN6QixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtRQUN4QyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7S0FDOUUsQ0FBQztJQUVGLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDZCxLQUFLLEtBQUs7WUFDVCxPQUFPLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RCxLQUFLLFFBQVE7WUFDWixPQUFPLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxLQUFLLE1BQU07WUFDVixPQUFPLGVBQWUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN0RSxLQUFLLE9BQU87WUFDWCxPQUFPLGVBQWUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuZXhwb3J0IHR5cGUgTWVudUFsaWduID0gJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG5leHBvcnQgdHlwZSBNZW51U2lkZSA9ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWVudVBvc2l0aW9uID0gKGFsaWduOiBNZW51QWxpZ24sIHNpZGU6IE1lbnVTaWRlKTogQ29ubmVjdGVkUG9zaXRpb25bXSA9PiB7XG5cdGNvbnN0IHZlcnRpY2FsQWxpZ24gPSBhbGlnbiA9PT0gJ3N0YXJ0JyA/ICd0b3AnIDogYWxpZ24gPT09ICdlbmQnID8gJ2JvdHRvbScgOiAnY2VudGVyJztcblxuXHRjb25zdCBjcmVhdGVQb3NpdGlvbnMgPSAoXG5cdFx0b3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCcsXG5cdFx0b3JpZ2luWTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nLFxuXHRcdG92ZXJsYXlYOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyxcblx0XHRvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nLFxuXHQpOiBDb25uZWN0ZWRQb3NpdGlvbltdID0+IFtcblx0XHR7IG9yaWdpblgsIG9yaWdpblksIG92ZXJsYXlYLCBvdmVybGF5WSB9LFxuXHRcdHsgb3JpZ2luWDogb3ZlcmxheVgsIG9yaWdpblk6IG92ZXJsYXlZLCBvdmVybGF5WDogb3JpZ2luWCwgb3ZlcmxheVk6IG9yaWdpblkgfSxcblx0XTtcblxuXHRzd2l0Y2ggKHNpZGUpIHtcblx0XHRjYXNlICd0b3AnOlxuXHRcdFx0cmV0dXJuIGNyZWF0ZVBvc2l0aW9ucyhhbGlnbiwgJ3RvcCcsIGFsaWduLCAnYm90dG9tJyk7XG5cdFx0Y2FzZSAnYm90dG9tJzpcblx0XHRcdHJldHVybiBjcmVhdGVQb3NpdGlvbnMoYWxpZ24sICdib3R0b20nLCBhbGlnbiwgJ3RvcCcpO1xuXHRcdGNhc2UgJ2xlZnQnOlxuXHRcdFx0cmV0dXJuIGNyZWF0ZVBvc2l0aW9ucygnc3RhcnQnLCB2ZXJ0aWNhbEFsaWduLCAnZW5kJywgdmVydGljYWxBbGlnbik7XG5cdFx0Y2FzZSAncmlnaHQnOlxuXHRcdFx0cmV0dXJuIGNyZWF0ZVBvc2l0aW9ucygnZW5kJywgdmVydGljYWxBbGlnbiwgJ3N0YXJ0JywgdmVydGljYWxBbGlnbik7XG5cdH1cbn07XG4iXX0=","import { createInjectionToken } from './create-injection-token';\nexport const [injectTableClassesSettable, provideTableClassesSettable, provideTableClassesSettableExisting, SET_TABLE_CLASSES_TOKEN,] = createInjectionToken('@spartan-ng SET_TABLE_CLASSES_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2xhc3Nlcy1zZXR0YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29yZS9zcmMvaGVscGVycy90YWJsZS1jbGFzc2VzLXNldHRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTWhFLE1BQU0sQ0FBQyxNQUFNLENBQ1osMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsdUJBQXVCLEVBQ3ZCLEdBQUcsb0JBQW9CLENBQXVCLHFDQUFxQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVJbmplY3Rpb25Ub2tlbiB9IGZyb20gJy4vY3JlYXRlLWluamVjdGlvbi10b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDbGFzc2VzU2V0dGFibGUge1xuXHRzZXRUYWJsZUNsYXNzZXM6IChjbGFzc2VzOiBQYXJ0aWFsPHsgdGFibGU6IHN0cmluZzsgaGVhZGVyUm93OiBzdHJpbmc7IGJvZHlSb3c6IHN0cmluZyB9PikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFtcblx0aW5qZWN0VGFibGVDbGFzc2VzU2V0dGFibGUsXG5cdHByb3ZpZGVUYWJsZUNsYXNzZXNTZXR0YWJsZSxcblx0cHJvdmlkZVRhYmxlQ2xhc3Nlc1NldHRhYmxlRXhpc3RpbmcsXG5cdFNFVF9UQUJMRV9DTEFTU0VTX1RPS0VOLFxuXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPFRhYmxlQ2xhc3Nlc1NldHRhYmxlPignQHNwYXJ0YW4tbmcgU0VUX1RBQkxFX0NMQVNTRVNfVE9LRU4nKTtcbiJdfQ==","/**\n * Waits for all animations (including subtree) within the given element to finish.\n * Ignores animations canceled with an AbortError.\n */\nexport async function waitForElementAnimations(el) {\n // Wait a tick to allow newly triggered animations to start\n await new Promise((resolve) => setTimeout(resolve, 0));\n const animationFillMode = el.style.animationFillMode;\n const animations = el.getAnimations({ subtree: true });\n el.style.animationFillMode = 'forwards';\n await Promise.all(animations.map((animation) => animation.finished.catch((err) => {\n // Ignore AbortError from canceled animations (treated as \"finished\")\n if (!(err instanceof Error && err.name === 'AbortError')) {\n throw err;\n }\n return animation;\n })));\n setTimeout(() => {\n if (el.style.animationFillMode === 'forwards')\n el.style.animationFillMode = animationFillMode;\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItZWxlbWVudC1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9oZWxwZXJzL3dhaXQtZm9yLWVsZW1lbnQtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUFDLEVBQWU7SUFDN0QsMkRBQTJEO0lBQzNELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3RCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDckQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBRXhDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzVCLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEMscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sR0FBRyxDQUFDO1FBQ1gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUNGLENBQ0QsQ0FBQztJQUVGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVTtZQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDL0YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBXYWl0cyBmb3IgYWxsIGFuaW1hdGlvbnMgKGluY2x1ZGluZyBzdWJ0cmVlKSB3aXRoaW4gdGhlIGdpdmVuIGVsZW1lbnQgdG8gZmluaXNoLlxuICogSWdub3JlcyBhbmltYXRpb25zIGNhbmNlbGVkIHdpdGggYW4gQWJvcnRFcnJvci5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JFbGVtZW50QW5pbWF0aW9ucyhlbDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcblx0Ly8gV2FpdCBhIHRpY2sgdG8gYWxsb3cgbmV3bHkgdHJpZ2dlcmVkIGFuaW1hdGlvbnMgdG8gc3RhcnRcblx0YXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpO1xuXG5cdGNvbnN0IGFuaW1hdGlvbkZpbGxNb2RlID0gZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGU7XG5cdGNvbnN0IGFuaW1hdGlvbnMgPSBlbC5nZXRBbmltYXRpb25zKHsgc3VidHJlZTogdHJ1ZSB9KTtcblx0ZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSAnZm9yd2FyZHMnO1xuXG5cdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdGFuaW1hdGlvbnMubWFwKChhbmltYXRpb24pID0+XG5cdFx0XHRhbmltYXRpb24uZmluaXNoZWQuY2F0Y2goKGVycikgPT4ge1xuXHRcdFx0XHQvLyBJZ25vcmUgQWJvcnRFcnJvciBmcm9tIGNhbmNlbGVkIGFuaW1hdGlvbnMgKHRyZWF0ZWQgYXMgXCJmaW5pc2hlZFwiKVxuXHRcdFx0XHRpZiAoIShlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSkge1xuXHRcdFx0XHRcdHRocm93IGVycjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBhbmltYXRpb247XG5cdFx0XHR9KSxcblx0XHQpLFxuXHQpO1xuXG5cdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdGlmIChlbC5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9PT0gJ2ZvcndhcmRzJykgZWwuc3R5bGUuYW5pbWF0aW9uRmlsbE1vZGUgPSBhbmltYXRpb25GaWxsTW9kZTtcblx0fSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb3JlL3NyYy9zcGFydGFuLW5nLWJyYWluLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { OverlayOutsideClickDispatcher, OverlayPositionBuilder, ScrollStrategyOptions } from '@angular/cdk/overlay';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, RendererFactory2, Injector, signal, computed, runInInjectionContext, effect, Injectable, ViewContainerRef, output, input, booleanAttribute, linkedSignal, untracked, numberAttribute, ChangeDetectionStrategy, Component, Directive, TemplateRef } from '@angular/core';
3
+ import { InjectionToken, inject, RendererFactory2, Injector, signal, computed, runInInjectionContext, effect, Injectable, DestroyRef, ViewContainerRef, output, input, booleanAttribute, linkedSignal, untracked, numberAttribute, ChangeDetectionStrategy, Component, Directive, TemplateRef } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
5
  import { take, takeUntil, filter } from 'rxjs/operators';
5
6
  import { DIALOG_DATA, Dialog } from '@angular/cdk/dialog';
6
7
  import { Subject } from 'rxjs';
@@ -208,6 +209,13 @@ class BrnDialogService {
208
209
  effectRef?.destroy();
209
210
  destroyed$.next();
210
211
  });
212
+ // this is not ideal, but we need to force change detection to run in the dialog,
213
+ // otherwise in some conditions (like menu launching a dialog) the dialog content
214
+ // does not render.
215
+ if ('_changeDetectorRef' in cdkDialogRef.containerInstance) {
216
+ const containerInstance = cdkDialogRef.containerInstance;
217
+ containerInstance._changeDetectorRef.detectChanges();
218
+ }
211
219
  return brnDialogRef;
212
220
  }
213
221
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: BrnDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -220,6 +228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
220
228
 
221
229
  class BrnDialog {
222
230
  _dialogService = inject(BrnDialogService);
231
+ _destroyRef = inject(DestroyRef);
223
232
  _vcr = inject(ViewContainerRef);
224
233
  positionBuilder = inject(OverlayPositionBuilder);
225
234
  ssos = inject(ScrollStrategyOptions);
@@ -232,7 +241,6 @@ class BrnDialog {
232
241
  _dialogStateEffectRef;
233
242
  _backdropClass = signal(null);
234
243
  _panelClass = signal(null);
235
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
236
244
  closed = output();
237
245
  stateChanged = output();
238
246
  state = input(null);
@@ -324,12 +332,11 @@ class BrnDialog {
324
332
  untracked(() => this.stateChanged.emit(state));
325
333
  });
326
334
  });
327
- dialogRef.closed$.pipe(take(1)).subscribe((result) => {
335
+ dialogRef.closed$.pipe(take(1), takeUntilDestroyed(this._destroyRef)).subscribe((result) => {
328
336
  this._dialogRef.set(undefined);
329
337
  this.closed.emit(result);
330
338
  });
331
339
  }
332
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
333
340
  close(result, delay) {
334
341
  this._dialogRef()?.close(result, delay ?? this._options().closeDelay);
335
342
  }
@@ -345,8 +352,6 @@ class BrnDialog {
345
352
  this._dialogRef()?.setPanelClass(panelClass);
346
353
  }
347
354
  setContext(context) {
348
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
349
- // @ts-expect-error
350
355
  this._context = { ...this._context, ...context };
351
356
  }
352
357
  setAriaDescribedBy(ariaDescribedBy) {