@ethlete/core 4.5.0 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
  2. package/esm2022/lib/directives/animatable/animatable.directive.mjs +3 -3
  3. package/esm2022/lib/directives/animated-if/animated-if.directive.mjs +3 -3
  4. package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
  5. package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +3 -3
  6. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
  7. package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
  8. package/esm2022/lib/directives/debug/debug.directive.mjs +3 -3
  9. package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
  10. package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
  11. package/esm2022/lib/directives/is-element/is-element.directive.mjs +3 -3
  12. package/esm2022/lib/directives/let/let.directive.mjs +3 -3
  13. package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +3 -3
  14. package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
  15. package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
  16. package/esm2022/lib/directives/observe-visibility/observe-visibility.directive.mjs +3 -3
  17. package/esm2022/lib/directives/repeat/repeat.directive.mjs +3 -3
  18. package/esm2022/lib/directives/root-boundary/root-boundary.directive.mjs +3 -3
  19. package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
  20. package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
  21. package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
  22. package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
  23. package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.pipe.mjs +3 -3
  24. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
  25. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
  26. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
  27. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
  28. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
  29. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  30. package/esm2022/lib/props/create-prop-handlers.mjs +17 -0
  31. package/esm2022/lib/props/create-props.mjs +51 -0
  32. package/esm2022/lib/props/create-setup.mjs +19 -0
  33. package/esm2022/lib/props/dependency-stash.mjs +20 -0
  34. package/esm2022/lib/props/element-dictionary.mjs +44 -0
  35. package/esm2022/lib/props/index.mjs +9 -0
  36. package/esm2022/lib/props/props-binding.mjs +53 -0
  37. package/esm2022/lib/props/props.directive.mjs +33 -0
  38. package/esm2022/lib/props/template-input.mjs +41 -0
  39. package/esm2022/lib/public-api.mjs +2 -1
  40. package/esm2022/lib/services/click-observer.service.mjs +6 -6
  41. package/esm2022/lib/services/content-observer.service.mjs +6 -6
  42. package/esm2022/lib/services/focus-visible.service.mjs +3 -3
  43. package/esm2022/lib/services/intersection-observer.service.mjs +6 -6
  44. package/esm2022/lib/services/resize-observer.service.mjs +6 -6
  45. package/esm2022/lib/services/router-state.service.mjs +3 -3
  46. package/esm2022/lib/services/viewport.service.mjs +4 -4
  47. package/fesm2022/ethlete-core.mjs +386 -122
  48. package/fesm2022/ethlete-core.mjs.map +1 -1
  49. package/lib/props/create-prop-handlers.d.ts +27 -0
  50. package/lib/props/create-props.d.ts +54 -0
  51. package/lib/props/create-setup.d.ts +4 -0
  52. package/lib/props/dependency-stash.d.ts +11 -0
  53. package/lib/props/element-dictionary.d.ts +11 -0
  54. package/lib/props/index.d.ts +8 -0
  55. package/lib/props/props-binding.d.ts +12 -0
  56. package/lib/props/props.directive.d.ts +38 -0
  57. package/lib/props/template-input.d.ts +30 -0
  58. package/lib/public-api.d.ts +1 -0
  59. package/lib/services/viewport.service.d.ts +1 -2
  60. package/package.json +7 -7
@@ -0,0 +1,51 @@
1
+ import { AfterRenderPhase, DestroyRef, afterNextRender, computed, inject } from '@angular/core';
2
+ import { createPropHandlers } from './create-prop-handlers';
3
+ import { createElementDictionary } from './element-dictionary';
4
+ import { bindProps, unbindProps } from './props-binding';
5
+ export const createProps = (props) => {
6
+ const { bindId = false, single = true, classes: classBindings, attributes: attributeBindings, styles: styleBindings, staticAttributes: staticAttributeBindings = null, staticClasses: staticClassBindings = null, staticStyles: staticStyleBindings = null, listeners, name, } = props;
7
+ const dictionary = createElementDictionary();
8
+ const attached = computed(() => !dictionary.isEmpty());
9
+ const attachedElements = {
10
+ first: dictionary.firstElement,
11
+ firstId: dictionary.firstId,
12
+ has: dictionary.has,
13
+ push: dictionary.push,
14
+ remove: dictionary.remove,
15
+ get: dictionary.get,
16
+ };
17
+ const data = {
18
+ name,
19
+ single,
20
+ bindId,
21
+ attached,
22
+ attachedElements,
23
+ classBindings: classBindings ?? null,
24
+ attributeBindings: attributeBindings ?? null,
25
+ styleBindings: styleBindings ?? null,
26
+ staticAttributeBindings,
27
+ staticClassBindings,
28
+ staticStyleBindings,
29
+ attachEventListeners: listeners ?? null,
30
+ };
31
+ return data;
32
+ };
33
+ export const createHostProps = (props) => {
34
+ const data = createProps(props);
35
+ const handlers = createPropHandlers();
36
+ afterNextRender(() => {
37
+ bindProps({
38
+ handlers,
39
+ props: data,
40
+ });
41
+ }, { phase: AfterRenderPhase.Write });
42
+ const destroyRef = inject(DestroyRef);
43
+ destroyRef.onDestroy(() => {
44
+ unbindProps({
45
+ handlers,
46
+ props: data,
47
+ });
48
+ });
49
+ return { props: data, handlers };
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcHJvcHMvY3JlYXRlLXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQVUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFtRHpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQXlCLEVBQVMsRUFBRTtJQUM5RCxNQUFNLEVBQ0osTUFBTSxHQUFHLEtBQUssRUFDZCxNQUFNLEdBQUcsSUFBSSxFQUNiLE9BQU8sRUFBRSxhQUFhLEVBQ3RCLFVBQVUsRUFBRSxpQkFBaUIsRUFDN0IsTUFBTSxFQUFFLGFBQWEsRUFDckIsZ0JBQWdCLEVBQUUsdUJBQXVCLEdBQUcsSUFBSSxFQUNoRCxhQUFhLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxFQUN6QyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxFQUN4QyxTQUFTLEVBQ1QsSUFBSSxHQUNMLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxVQUFVLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztJQUM3QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV2RCxNQUFNLGdCQUFnQixHQUFrQztRQUN0RCxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVk7UUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBRTNCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRztRQUNuQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1FBQ3pCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRztLQUNwQixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQWtCO1FBQzFCLElBQUk7UUFDSixNQUFNO1FBQ04sTUFBTTtRQUVOLFFBQVE7UUFDUixnQkFBZ0I7UUFFaEIsYUFBYSxFQUFFLGFBQWEsSUFBSSxJQUFJO1FBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQixJQUFJLElBQUk7UUFDNUMsYUFBYSxFQUFFLGFBQWEsSUFBSSxJQUFJO1FBRXBDLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBRW5CLG9CQUFvQixFQUFFLFNBQVMsSUFBSSxJQUFJO0tBQ3hDLENBQUM7SUFFRixPQUFPLElBQWEsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUF5QixFQUFhLEVBQUU7SUFDdEUsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFFdEMsZUFBZSxDQUNiLEdBQUcsRUFBRTtRQUNILFNBQVMsQ0FBQztZQUNSLFFBQVE7WUFDUixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUMsRUFDRCxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FDbEMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN4QixXQUFXLENBQUM7WUFDVixRQUFRO1lBQ1IsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ25DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyUmVuZGVyUGhhc2UsIERlc3Ryb3lSZWYsIFNpZ25hbCwgYWZ0ZXJOZXh0UmVuZGVyLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wSGFuZGxlcnMsIGNyZWF0ZVByb3BIYW5kbGVycyB9IGZyb20gJy4vY3JlYXRlLXByb3AtaGFuZGxlcnMnO1xuaW1wb3J0IHsgY3JlYXRlRWxlbWVudERpY3Rpb25hcnkgfSBmcm9tICcuL2VsZW1lbnQtZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBiaW5kUHJvcHMsIHVuYmluZFByb3BzIH0gZnJvbSAnLi9wcm9wcy1iaW5kaW5nJztcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSBSZWFkb25seTx7XG4gIGF0dGFjaGVkOiBTaWduYWw8Ym9vbGVhbj47XG4gIGF0dGFjaGVkRWxlbWVudHM6IFByb3BzQXR0YWNoZWRFbGVtZW50cztcbn0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb3BzQXR0YWNoZWRFbGVtZW50cyB7XG4gIGZpcnN0OiBTaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsPjtcbiAgZmlyc3RJZDogU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuICBnZXQoaWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9wc0F0dGFjaGVkRWxlbWVudHNJbnRlcm5hbCBleHRlbmRzIFByb3BzQXR0YWNoZWRFbGVtZW50cyB7XG4gIGhhczogKGlkOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gIHB1c2g6IChpZDogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gdm9pZDtcbiAgcmVtb3ZlOiAoaWQ6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9wc0ludGVybmFsIHtcbiAgc2luZ2xlOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJpbmRJZDogYm9vbGVhbjtcblxuICBhdHRhY2hlZDogU2lnbmFsPGJvb2xlYW4+O1xuICBhdHRhY2hlZEVsZW1lbnRzOiBQcm9wc0F0dGFjaGVkRWxlbWVudHNJbnRlcm5hbDtcblxuICBjbGFzc0JpbmRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBTaWduYWw8dW5rbm93bj4+IHwgbnVsbDtcbiAgYXR0cmlidXRlQmluZGluZ3M6IFJlY29yZDxzdHJpbmcsIFNpZ25hbDx1bmtub3duPj4gfCBudWxsO1xuICBzdHlsZUJpbmRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBTaWduYWw8dW5rbm93bj4+IHwgbnVsbDtcblxuICBzdGF0aWNDbGFzc0JpbmRpbmdzOiBzdHJpbmdbXSB8IG51bGw7XG4gIHN0YXRpY0F0dHJpYnV0ZUJpbmRpbmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IG51bGw7XG4gIHN0YXRpY1N0eWxlQmluZGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbDtcblxuICBhdHRhY2hFdmVudExpc3RlbmVyczogKChjb250ZXh0OiB7IG9uOiBIVE1MRWxlbWVudFsnYWRkRXZlbnRMaXN0ZW5lciddOyBlbGVtZW50OiBIVE1MRWxlbWVudCB9KSA9PiB2b2lkKSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUHJvcHNPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBiaW5kSWQ/OiBib29sZWFuO1xuICBzaW5nbGU/OiBib29sZWFuO1xuICBjbGFzc2VzPzogUmVjb3JkPHN0cmluZywgU2lnbmFsPHVua25vd24+PjtcbiAgYXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIFNpZ25hbDx1bmtub3duPj47XG4gIHN0eWxlcz86IFJlY29yZDxzdHJpbmcsIFNpZ25hbDx1bmtub3duPj47XG4gIHN0YXRpY0NsYXNzZXM/OiBzdHJpbmdbXTtcbiAgc3RhdGljQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBzdGF0aWNTdHlsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbGlzdGVuZXJzPzogKGNvbnRleHQ6IHsgb246IEhUTUxFbGVtZW50WydhZGRFdmVudExpc3RlbmVyJ107IGVsZW1lbnQ6IEhUTUxFbGVtZW50IH0pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQcm9wcyA9IChwcm9wczogQ3JlYXRlUHJvcHNPcHRpb25zKTogUHJvcHMgPT4ge1xuICBjb25zdCB7XG4gICAgYmluZElkID0gZmFsc2UsXG4gICAgc2luZ2xlID0gdHJ1ZSxcbiAgICBjbGFzc2VzOiBjbGFzc0JpbmRpbmdzLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZUJpbmRpbmdzLFxuICAgIHN0eWxlczogc3R5bGVCaW5kaW5ncyxcbiAgICBzdGF0aWNBdHRyaWJ1dGVzOiBzdGF0aWNBdHRyaWJ1dGVCaW5kaW5ncyA9IG51bGwsXG4gICAgc3RhdGljQ2xhc3Nlczogc3RhdGljQ2xhc3NCaW5kaW5ncyA9IG51bGwsXG4gICAgc3RhdGljU3R5bGVzOiBzdGF0aWNTdHlsZUJpbmRpbmdzID0gbnVsbCxcbiAgICBsaXN0ZW5lcnMsXG4gICAgbmFtZSxcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IGRpY3Rpb25hcnkgPSBjcmVhdGVFbGVtZW50RGljdGlvbmFyeSgpO1xuICBjb25zdCBhdHRhY2hlZCA9IGNvbXB1dGVkKCgpID0+ICFkaWN0aW9uYXJ5LmlzRW1wdHkoKSk7XG5cbiAgY29uc3QgYXR0YWNoZWRFbGVtZW50czogUHJvcHNBdHRhY2hlZEVsZW1lbnRzSW50ZXJuYWwgPSB7XG4gICAgZmlyc3Q6IGRpY3Rpb25hcnkuZmlyc3RFbGVtZW50LFxuICAgIGZpcnN0SWQ6IGRpY3Rpb25hcnkuZmlyc3RJZCxcblxuICAgIGhhczogZGljdGlvbmFyeS5oYXMsXG4gICAgcHVzaDogZGljdGlvbmFyeS5wdXNoLFxuICAgIHJlbW92ZTogZGljdGlvbmFyeS5yZW1vdmUsXG4gICAgZ2V0OiBkaWN0aW9uYXJ5LmdldCxcbiAgfTtcblxuICBjb25zdCBkYXRhOiBQcm9wc0ludGVybmFsID0ge1xuICAgIG5hbWUsXG4gICAgc2luZ2xlLFxuICAgIGJpbmRJZCxcblxuICAgIGF0dGFjaGVkLFxuICAgIGF0dGFjaGVkRWxlbWVudHMsXG5cbiAgICBjbGFzc0JpbmRpbmdzOiBjbGFzc0JpbmRpbmdzID8/IG51bGwsXG4gICAgYXR0cmlidXRlQmluZGluZ3M6IGF0dHJpYnV0ZUJpbmRpbmdzID8/IG51bGwsXG4gICAgc3R5bGVCaW5kaW5nczogc3R5bGVCaW5kaW5ncyA/PyBudWxsLFxuXG4gICAgc3RhdGljQXR0cmlidXRlQmluZGluZ3MsXG4gICAgc3RhdGljQ2xhc3NCaW5kaW5ncyxcbiAgICBzdGF0aWNTdHlsZUJpbmRpbmdzLFxuXG4gICAgYXR0YWNoRXZlbnRMaXN0ZW5lcnM6IGxpc3RlbmVycyA/PyBudWxsLFxuICB9O1xuXG4gIHJldHVybiBkYXRhIGFzIFByb3BzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIb3N0UHJvcHMge1xuICBwcm9wczogUHJvcHM7XG4gIGhhbmRsZXJzOiBQcm9wSGFuZGxlcnM7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVIb3N0UHJvcHMgPSAocHJvcHM6IENyZWF0ZVByb3BzT3B0aW9ucyk6IEhvc3RQcm9wcyA9PiB7XG4gIGNvbnN0IGRhdGEgPSBjcmVhdGVQcm9wcyhwcm9wcyk7XG4gIGNvbnN0IGhhbmRsZXJzID0gY3JlYXRlUHJvcEhhbmRsZXJzKCk7XG5cbiAgYWZ0ZXJOZXh0UmVuZGVyKFxuICAgICgpID0+IHtcbiAgICAgIGJpbmRQcm9wcyh7XG4gICAgICAgIGhhbmRsZXJzLFxuICAgICAgICBwcm9wczogZGF0YSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgeyBwaGFzZTogQWZ0ZXJSZW5kZXJQaGFzZS5Xcml0ZSB9LFxuICApO1xuXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgIHVuYmluZFByb3BzKHtcbiAgICAgIGhhbmRsZXJzLFxuICAgICAgcHJvcHM6IGRhdGEsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiB7IHByb3BzOiBkYXRhLCBoYW5kbGVycyB9O1xufTtcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { afterNextRender } from '@angular/core';
2
+ export const createSetup = (config) => {
3
+ let didCallSetup = false;
4
+ afterNextRender(() => {
5
+ if (!didCallSetup) {
6
+ console.error('The setup() function was not called. Please call it inside your constructor.', config.this);
7
+ return;
8
+ }
9
+ });
10
+ return (params) => {
11
+ if (didCallSetup) {
12
+ console.error('The setup() function was already called. Please call it only once. \n\n', 'Instance containing the setup() call \n', config.this, '\n\n Setup was called with\n', params);
13
+ return;
14
+ }
15
+ didCallSetup = true;
16
+ config.setupFn(params);
17
+ };
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcHJvcHMvY3JlYXRlLXNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQW9DLE1BRzlELEVBQUUsRUFBRTtJQUNILElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztJQUV6QixlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLDhFQUE4RSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRyxPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFO1FBQ25CLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FDWCx5RUFBeUUsRUFDekUseUNBQXlDLEVBQ3pDLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsOEJBQThCLEVBQzlCLE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTztRQUNULENBQUM7UUFFRCxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTZXR1cCA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KGNvbmZpZzoge1xuICBzZXR1cEZuOiAocGFyYW1zOiBUKSA9PiB2b2lkO1xuICB0aGlzOiBUaGlzVHlwZTx1bmtub3duPjtcbn0pID0+IHtcbiAgbGV0IGRpZENhbGxTZXR1cCA9IGZhbHNlO1xuXG4gIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgaWYgKCFkaWRDYWxsU2V0dXApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBzZXR1cCgpIGZ1bmN0aW9uIHdhcyBub3QgY2FsbGVkLiBQbGVhc2UgY2FsbCBpdCBpbnNpZGUgeW91ciBjb25zdHJ1Y3Rvci4nLCBjb25maWcudGhpcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gKHBhcmFtczogVCkgPT4ge1xuICAgIGlmIChkaWRDYWxsU2V0dXApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdUaGUgc2V0dXAoKSBmdW5jdGlvbiB3YXMgYWxyZWFkeSBjYWxsZWQuIFBsZWFzZSBjYWxsIGl0IG9ubHkgb25jZS4gXFxuXFxuJyxcbiAgICAgICAgJ0luc3RhbmNlIGNvbnRhaW5pbmcgdGhlIHNldHVwKCkgY2FsbCBcXG4nLFxuICAgICAgICBjb25maWcudGhpcyxcbiAgICAgICAgJ1xcblxcbiBTZXR1cCB3YXMgY2FsbGVkIHdpdGhcXG4nLFxuICAgICAgICBwYXJhbXMsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZENhbGxTZXR1cCA9IHRydWU7XG4gICAgY29uZmlnLnNldHVwRm4ocGFyYW1zKTtcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injector, effect, inject, runInInjectionContext } from '@angular/core';
2
+ export const createDependencyStash = (stash) => {
3
+ const injector = inject(Injector);
4
+ const provideSignal = (data) => {
5
+ runInInjectionContext(injector, () => {
6
+ effect(() => {
7
+ stash[data.for].set(data.signal());
8
+ }, { allowSignalWrites: true });
9
+ });
10
+ };
11
+ const provideValue = (data) => {
12
+ stash[data.for].set(data.value);
13
+ };
14
+ return {
15
+ ...stash,
16
+ provideSignal,
17
+ provideValue,
18
+ };
19
+ };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS1zdGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Byb3BzL2RlcGVuZGVuY3ktc3Rhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFvRCxLQUFRLEVBQUUsRUFBRTtJQUNuRyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEMsTUFBTSxhQUFhLEdBQUcsQ0FBb0IsSUFBa0QsRUFBRSxFQUFFO1FBQzlGLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUNKLEdBQUcsRUFBRTtnQkFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBb0IsSUFBeUMsRUFBRSxFQUFFO1FBQ3BGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsYUFBYTtRQUNiLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFNpZ25hbCwgV3JpdGFibGVTaWduYWwsIGVmZmVjdCwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlcGVuZGVuY3lTdGFzaCA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgV3JpdGFibGVTaWduYWw8dW5rbm93bj4+PihzdGFzaDogVCkgPT4ge1xuICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgY29uc3QgcHJvdmlkZVNpZ25hbCA9IDxLIGV4dGVuZHMga2V5b2YgVD4oZGF0YTogeyBzaWduYWw6IFNpZ25hbDxSZXR1cm5UeXBlPFRbS10+PjsgZm9yOiBLIH0pID0+IHtcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcbiAgICAgIGVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHN0YXNoW2RhdGEuZm9yXSEuc2V0KGRhdGEuc2lnbmFsKCkpO1xuICAgICAgICB9LFxuICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHByb3ZpZGVWYWx1ZSA9IDxLIGV4dGVuZHMga2V5b2YgVD4oZGF0YTogeyB2YWx1ZTogUmV0dXJuVHlwZTxUW0tdPjsgZm9yOiBLIH0pID0+IHtcbiAgICBzdGFzaFtkYXRhLmZvcl0hLnNldChkYXRhLnZhbHVlKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXNoLFxuICAgIHByb3ZpZGVTaWduYWwsXG4gICAgcHJvdmlkZVZhbHVlLFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { computed, signal } from '@angular/core';
2
+ export const createElementDictionary = () => {
3
+ const dictionary = {
4
+ ids: signal([]),
5
+ elements: signal({}),
6
+ };
7
+ const firstElement = computed(() => {
8
+ const id = dictionary.ids()[0];
9
+ return id ? dictionary.elements()[id] ?? null : null;
10
+ });
11
+ const firstId = computed(() => {
12
+ const id = dictionary.ids()[0];
13
+ return id ?? null;
14
+ });
15
+ const ids = computed(() => dictionary.ids());
16
+ const elements = computed(() => ids().map((id) => dictionary.elements()[id]));
17
+ const isEmpty = computed(() => dictionary.ids().length === 0);
18
+ const has = (id) => {
19
+ return dictionary.ids().includes(id);
20
+ };
21
+ const push = (id, element) => {
22
+ dictionary.ids.set([...dictionary.ids(), id]);
23
+ dictionary.elements.set({ ...dictionary.elements(), [id]: element });
24
+ };
25
+ const remove = (id) => {
26
+ dictionary.ids.set(dictionary.ids().filter((i) => i !== id));
27
+ dictionary.elements.set(Object.fromEntries(Object.entries(dictionary.elements()).filter(([k]) => k !== id)));
28
+ };
29
+ const get = (id) => {
30
+ return dictionary.elements()[id] ?? null;
31
+ };
32
+ return {
33
+ ids,
34
+ elements,
35
+ has,
36
+ get,
37
+ push,
38
+ remove,
39
+ isEmpty,
40
+ firstElement,
41
+ firstId,
42
+ };
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcHJvcHMvZWxlbWVudC1kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtJQUMxQyxNQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFXLEVBQUUsQ0FBQztRQUN6QixRQUFRLEVBQUUsTUFBTSxDQUE4QixFQUFFLENBQUM7S0FDbEQsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDakMsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQzVCLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDN0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsQ0FBQztJQUUvRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU5RCxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFO1FBQ3pCLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUM7SUFFRixNQUFNLElBQUksR0FBRyxDQUFDLEVBQVUsRUFBRSxPQUFvQixFQUFFLEVBQUU7UUFDaEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUMsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUU7UUFDNUIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQyxDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtRQUN6QixPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLEdBQUc7UUFDSCxRQUFRO1FBQ1IsR0FBRztRQUNILEdBQUc7UUFDSCxJQUFJO1FBQ0osTUFBTTtRQUNOLE9BQU87UUFDUCxZQUFZO1FBQ1osT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFbGVtZW50RGljdGlvbmFyeSA9ICgpID0+IHtcbiAgY29uc3QgZGljdGlvbmFyeSA9IHtcbiAgICBpZHM6IHNpZ25hbDxzdHJpbmdbXT4oW10pLFxuICAgIGVsZW1lbnRzOiBzaWduYWw8UmVjb3JkPHN0cmluZywgSFRNTEVsZW1lbnQ+Pih7fSksXG4gIH07XG5cbiAgY29uc3QgZmlyc3RFbGVtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlkID0gZGljdGlvbmFyeS5pZHMoKVswXTtcbiAgICByZXR1cm4gaWQgPyBkaWN0aW9uYXJ5LmVsZW1lbnRzKClbaWRdID8/IG51bGwgOiBudWxsO1xuICB9KTtcblxuICBjb25zdCBmaXJzdElkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlkID0gZGljdGlvbmFyeS5pZHMoKVswXTtcbiAgICByZXR1cm4gaWQgPz8gbnVsbDtcbiAgfSk7XG5cbiAgY29uc3QgaWRzID0gY29tcHV0ZWQoKCkgPT4gZGljdGlvbmFyeS5pZHMoKSk7XG4gIGNvbnN0IGVsZW1lbnRzID0gY29tcHV0ZWQoKCkgPT4gaWRzKCkubWFwKChpZCkgPT4gZGljdGlvbmFyeS5lbGVtZW50cygpW2lkXSEpKTtcblxuICBjb25zdCBpc0VtcHR5ID0gY29tcHV0ZWQoKCkgPT4gZGljdGlvbmFyeS5pZHMoKS5sZW5ndGggPT09IDApO1xuXG4gIGNvbnN0IGhhcyA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGRpY3Rpb25hcnkuaWRzKCkuaW5jbHVkZXMoaWQpO1xuICB9O1xuXG4gIGNvbnN0IHB1c2ggPSAoaWQ6IHN0cmluZywgZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICBkaWN0aW9uYXJ5Lmlkcy5zZXQoWy4uLmRpY3Rpb25hcnkuaWRzKCksIGlkXSk7XG4gICAgZGljdGlvbmFyeS5lbGVtZW50cy5zZXQoeyAuLi5kaWN0aW9uYXJ5LmVsZW1lbnRzKCksIFtpZF06IGVsZW1lbnQgfSk7XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICBkaWN0aW9uYXJ5Lmlkcy5zZXQoZGljdGlvbmFyeS5pZHMoKS5maWx0ZXIoKGkpID0+IGkgIT09IGlkKSk7XG4gICAgZGljdGlvbmFyeS5lbGVtZW50cy5zZXQoT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGRpY3Rpb25hcnkuZWxlbWVudHMoKSkuZmlsdGVyKChba10pID0+IGsgIT09IGlkKSkpO1xuICB9O1xuXG4gIGNvbnN0IGdldCA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGRpY3Rpb25hcnkuZWxlbWVudHMoKVtpZF0gPz8gbnVsbDtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGlkcyxcbiAgICBlbGVtZW50cyxcbiAgICBoYXMsXG4gICAgZ2V0LFxuICAgIHB1c2gsXG4gICAgcmVtb3ZlLFxuICAgIGlzRW1wdHksXG4gICAgZmlyc3RFbGVtZW50LFxuICAgIGZpcnN0SWQsXG4gIH07XG59O1xuIl19
@@ -0,0 +1,9 @@
1
+ export * from './create-prop-handlers';
2
+ export * from './create-props';
3
+ export * from './create-setup';
4
+ export * from './dependency-stash';
5
+ export * from './element-dictionary';
6
+ export * from './props-binding';
7
+ export * from './props.directive';
8
+ export * from './template-input';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9wcm9wcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1wcm9wLWhhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXByb3BzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLXNldHVwJztcbmV4cG9ydCAqIGZyb20gJy4vZGVwZW5kZW5jeS1zdGFzaCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtZGljdGlvbmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BzLWJpbmRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZW1wbGF0ZS1pbnB1dCc7XG4iXX0=
@@ -0,0 +1,53 @@
1
+ export const bindProps = (config) => {
2
+ const props = config.props;
3
+ const { attachEventListeners, classBindings, attributeBindings, styleBindings, staticAttributeBindings, staticClassBindings, staticStyleBindings, attached, single, name, bindId, attachedElements, } = props;
4
+ const { attributes, classes, elementRef, id, styles } = config.handlers;
5
+ const el = elementRef.nativeElement;
6
+ if (attached()) {
7
+ if (attachedElements.has(id)) {
8
+ return;
9
+ }
10
+ else if (single) {
11
+ const firstAttachedRefElement = attachedElements.first();
12
+ console.error(`[${name}] These props can only be attached to a single element at a time.\n\n Already attached to \n`, firstAttachedRefElement, '\n Trying to attach to \n', el);
13
+ return;
14
+ }
15
+ }
16
+ attachedElements.push(id, el);
17
+ if (bindId) {
18
+ el.id = id;
19
+ }
20
+ if (classBindings) {
21
+ classes.pushMany(classBindings);
22
+ }
23
+ if (attributeBindings) {
24
+ attributes.pushMany(attributeBindings);
25
+ }
26
+ if (styleBindings) {
27
+ styles.pushMany(styleBindings);
28
+ }
29
+ if (staticAttributeBindings) {
30
+ for (const key in staticAttributeBindings) {
31
+ el.setAttribute(key, `${staticAttributeBindings[key]}`);
32
+ }
33
+ }
34
+ if (staticClassBindings) {
35
+ el.classList.add(...staticClassBindings);
36
+ }
37
+ if (staticStyleBindings) {
38
+ for (const key in staticStyleBindings) {
39
+ el.style.setProperty(key, `${staticStyleBindings[key]}`);
40
+ }
41
+ }
42
+ if (attachEventListeners) {
43
+ attachEventListeners({
44
+ on: el.addEventListener.bind(el),
45
+ element: el,
46
+ });
47
+ }
48
+ };
49
+ export const unbindProps = (config) => {
50
+ const props = config.props;
51
+ props.attachedElements.remove(config.handlers.id);
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcHMtYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3Byb3BzL3Byb3BzLWJpbmRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBd0IsRUFBRSxFQUFFO0lBQ3BELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFzQixDQUFDO0lBQzVDLE1BQU0sRUFDSixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLGdCQUFnQixHQUNqQixHQUFHLEtBQUssQ0FBQztJQUVWLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUN4RSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBRXBDLElBQUksUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNmLElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7YUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFekQsT0FBTyxDQUFDLEtBQUssQ0FDWCxJQUFJLElBQUksOEZBQThGLEVBQ3RHLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsRUFBRSxDQUNILENBQUM7WUFFRixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlCLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN0QixVQUFVLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztZQUMxQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUN4QixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUN4QixLQUFLLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDdEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLG9CQUFvQixDQUFDO1lBQ25CLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUEwQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQXNCLENBQUM7SUFFNUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BIYW5kbGVycyB9IGZyb20gJy4vY3JlYXRlLXByb3AtaGFuZGxlcnMnO1xuaW1wb3J0IHsgUHJvcHMsIFByb3BzSW50ZXJuYWwgfSBmcm9tICcuL2NyZWF0ZS1wcm9wcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmluZFByb3BzT3B0aW9ucyB7XG4gIHByb3BzOiBQcm9wcyB8IFByb3BzSW50ZXJuYWw7XG4gIGhhbmRsZXJzOiBQcm9wSGFuZGxlcnM7XG59XG5cbmV4cG9ydCBjb25zdCBiaW5kUHJvcHMgPSAoY29uZmlnOiBCaW5kUHJvcHNPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHByb3BzID0gY29uZmlnLnByb3BzIGFzIFByb3BzSW50ZXJuYWw7XG4gIGNvbnN0IHtcbiAgICBhdHRhY2hFdmVudExpc3RlbmVycyxcbiAgICBjbGFzc0JpbmRpbmdzLFxuICAgIGF0dHJpYnV0ZUJpbmRpbmdzLFxuICAgIHN0eWxlQmluZGluZ3MsXG4gICAgc3RhdGljQXR0cmlidXRlQmluZGluZ3MsXG4gICAgc3RhdGljQ2xhc3NCaW5kaW5ncyxcbiAgICBzdGF0aWNTdHlsZUJpbmRpbmdzLFxuICAgIGF0dGFjaGVkLFxuICAgIHNpbmdsZSxcbiAgICBuYW1lLFxuICAgIGJpbmRJZCxcbiAgICBhdHRhY2hlZEVsZW1lbnRzLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgeyBhdHRyaWJ1dGVzLCBjbGFzc2VzLCBlbGVtZW50UmVmLCBpZCwgc3R5bGVzIH0gPSBjb25maWcuaGFuZGxlcnM7XG4gIGNvbnN0IGVsID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gIGlmIChhdHRhY2hlZCgpKSB7XG4gICAgaWYgKGF0dGFjaGVkRWxlbWVudHMuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoc2luZ2xlKSB7XG4gICAgICBjb25zdCBmaXJzdEF0dGFjaGVkUmVmRWxlbWVudCA9IGF0dGFjaGVkRWxlbWVudHMuZmlyc3QoKTtcblxuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFske25hbWV9XSBUaGVzZSBwcm9wcyBjYW4gb25seSBiZSBhdHRhY2hlZCB0byBhIHNpbmdsZSBlbGVtZW50IGF0IGEgdGltZS5cXG5cXG4gQWxyZWFkeSBhdHRhY2hlZCB0byBcXG5gLFxuICAgICAgICBmaXJzdEF0dGFjaGVkUmVmRWxlbWVudCxcbiAgICAgICAgJ1xcbiBUcnlpbmcgdG8gYXR0YWNoIHRvIFxcbicsXG4gICAgICAgIGVsLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGF0dGFjaGVkRWxlbWVudHMucHVzaChpZCwgZWwpO1xuXG4gIGlmIChiaW5kSWQpIHtcbiAgICBlbC5pZCA9IGlkO1xuICB9XG5cbiAgaWYgKGNsYXNzQmluZGluZ3MpIHtcbiAgICBjbGFzc2VzLnB1c2hNYW55KGNsYXNzQmluZGluZ3MpO1xuICB9XG5cbiAgaWYgKGF0dHJpYnV0ZUJpbmRpbmdzKSB7XG4gICAgYXR0cmlidXRlcy5wdXNoTWFueShhdHRyaWJ1dGVCaW5kaW5ncyk7XG4gIH1cblxuICBpZiAoc3R5bGVCaW5kaW5ncykge1xuICAgIHN0eWxlcy5wdXNoTWFueShzdHlsZUJpbmRpbmdzKTtcbiAgfVxuXG4gIGlmIChzdGF0aWNBdHRyaWJ1dGVCaW5kaW5ncykge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHN0YXRpY0F0dHJpYnV0ZUJpbmRpbmdzKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBgJHtzdGF0aWNBdHRyaWJ1dGVCaW5kaW5nc1trZXldfWApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdGF0aWNDbGFzc0JpbmRpbmdzKSB7XG4gICAgZWwuY2xhc3NMaXN0LmFkZCguLi5zdGF0aWNDbGFzc0JpbmRpbmdzKTtcbiAgfVxuXG4gIGlmIChzdGF0aWNTdHlsZUJpbmRpbmdzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc3RhdGljU3R5bGVCaW5kaW5ncykge1xuICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoa2V5LCBgJHtzdGF0aWNTdHlsZUJpbmRpbmdzW2tleV19YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGF0dGFjaEV2ZW50TGlzdGVuZXJzKSB7XG4gICAgYXR0YWNoRXZlbnRMaXN0ZW5lcnMoe1xuICAgICAgb246IGVsLmFkZEV2ZW50TGlzdGVuZXIuYmluZChlbCksXG4gICAgICBlbGVtZW50OiBlbCxcbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBVbmJpbmRQcm9wc09wdGlvbnMge1xuICBwcm9wczogUHJvcHMgfCBQcm9wc0ludGVybmFsO1xuICBoYW5kbGVyczogUHJvcEhhbmRsZXJzO1xufVxuXG5leHBvcnQgY29uc3QgdW5iaW5kUHJvcHMgPSAoY29uZmlnOiBVbmJpbmRQcm9wc09wdGlvbnMpID0+IHtcbiAgY29uc3QgcHJvcHMgPSBjb25maWcucHJvcHMgYXMgUHJvcHNJbnRlcm5hbDtcblxuICBwcm9wcy5hdHRhY2hlZEVsZW1lbnRzLnJlbW92ZShjb25maWcuaGFuZGxlcnMuaWQpO1xufTtcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { AfterRenderPhase, DestroyRef, Directive, afterNextRender, inject, input } from '@angular/core';
2
+ import { createPropHandlers } from './create-prop-handlers';
3
+ import { bindProps, unbindProps } from './props-binding';
4
+ import * as i0 from "@angular/core";
5
+ export class PropsDirective {
6
+ constructor() {
7
+ this.destroyRef = inject(DestroyRef);
8
+ this.props = input.required({ alias: 'etProps', transform: (d) => d });
9
+ this.propHandlers = createPropHandlers();
10
+ afterNextRender(() => {
11
+ bindProps({
12
+ handlers: this.propHandlers,
13
+ props: this.props(),
14
+ });
15
+ }, { phase: AfterRenderPhase.Write });
16
+ this.destroyRef.onDestroy(() => {
17
+ unbindProps({
18
+ handlers: this.propHandlers,
19
+ props: this.props(),
20
+ });
21
+ });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.1.1", type: PropsDirective, isStandalone: true, selector: "[etProps]", inputs: { props: { classPropertyName: "props", publicName: "etProps", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PropsDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[etProps]',
30
+ standalone: true,
31
+ }]
32
+ }], ctorParameters: () => [] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcHJvcHMvcHJvcHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTXpELE1BQU0sT0FBTyxjQUFjO0lBT3pCO1FBTkEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBdUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFFekcsaUJBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBR2xDLGVBQWUsQ0FDYixHQUFHLEVBQUU7WUFDSCxTQUFTLENBQUM7Z0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTthQUNwQixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0QsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQ2xDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsV0FBVyxDQUFDO2dCQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7YUFDcEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXhCVSxjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyUmVuZGVyUGhhc2UsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgYWZ0ZXJOZXh0UmVuZGVyLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVQcm9wSGFuZGxlcnMgfSBmcm9tICcuL2NyZWF0ZS1wcm9wLWhhbmRsZXJzJztcbmltcG9ydCB7IFByb3BzLCBQcm9wc0ludGVybmFsIH0gZnJvbSAnLi9jcmVhdGUtcHJvcHMnO1xuaW1wb3J0IHsgYmluZFByb3BzLCB1bmJpbmRQcm9wcyB9IGZyb20gJy4vcHJvcHMtYmluZGluZyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldFByb3BzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFByb3BzRGlyZWN0aXZlIHtcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcm9wcyA9IGlucHV0LnJlcXVpcmVkPFByb3BzSW50ZXJuYWwsIFByb3BzPih7IGFsaWFzOiAnZXRQcm9wcycsIHRyYW5zZm9ybTogKGQpID0+IGQgYXMgUHJvcHNJbnRlcm5hbCB9KTtcblxuICBwcm9wSGFuZGxlcnMgPSBjcmVhdGVQcm9wSGFuZGxlcnMoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGJpbmRQcm9wcyh7XG4gICAgICAgICAgaGFuZGxlcnM6IHRoaXMucHJvcEhhbmRsZXJzLFxuICAgICAgICAgIHByb3BzOiB0aGlzLnByb3BzKCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHsgcGhhc2U6IEFmdGVyUmVuZGVyUGhhc2UuV3JpdGUgfSxcbiAgICApO1xuXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB1bmJpbmRQcm9wcyh7XG4gICAgICAgIGhhbmRsZXJzOiB0aGlzLnByb3BIYW5kbGVycyxcbiAgICAgICAgcHJvcHM6IHRoaXMucHJvcHMoKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { TemplateRef, computed } from '@angular/core';
2
+ export const templateComputed = (templateSignal) => computed(() => {
3
+ const content = templateSignal();
4
+ if (!content)
5
+ return null;
6
+ if (typeof content === 'string') {
7
+ return {
8
+ type: 'string',
9
+ value: content,
10
+ };
11
+ }
12
+ if (content instanceof TemplateRef) {
13
+ return {
14
+ type: 'template',
15
+ value: content,
16
+ injector: null,
17
+ };
18
+ }
19
+ if ('component' in content) {
20
+ return {
21
+ type: 'component',
22
+ value: content.component,
23
+ inputs: content.inputs,
24
+ injector: content.injector ?? null,
25
+ };
26
+ }
27
+ if ('template' in content) {
28
+ return {
29
+ type: 'template',
30
+ value: content.template,
31
+ context: content.context,
32
+ injector: content.injector ?? null,
33
+ };
34
+ }
35
+ return {
36
+ type: 'component',
37
+ value: content,
38
+ injector: null,
39
+ };
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9wcm9wcy90ZW1wbGF0ZS1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQW9CLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3Q3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsY0FBOEMsRUFBRSxFQUFFLENBQ2pGLFFBQVEsQ0FBQyxHQUFtRSxFQUFFO0lBQzVFLE1BQU0sT0FBTyxHQUFHLGNBQWMsRUFBRSxDQUFDO0lBRWpDLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFMUIsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsT0FBTztTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7UUFDbkMsT0FBTztZQUNMLElBQUksRUFBRSxVQUFVO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzNCLE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDeEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUk7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsSUFBSSxFQUFFLFVBQVU7WUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksRUFBRSxXQUFXO1FBQ2pCLEtBQUssRUFBRSxPQUFPO1FBQ2QsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3RvciwgU2lnbmFsLCBUZW1wbGF0ZVJlZiwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQW55VGVtcGxhdGVUeXBlID1cbiAgfCBzdHJpbmdcbiAgfCBUZW1wbGF0ZVJlZjx1bmtub3duPlxuICB8IENvbXBvbmVudFR5cGU8dW5rbm93bj5cbiAgfCBUZW1wbGF0ZVJlZldpdGhDb250ZXh0XG4gIHwgQ29tcG9uZW50VHlwZVdpdGhJbnB1dHM7XG5cbmV4cG9ydCB0eXBlIFRlbXBsYXRlUmVmV2l0aENvbnRleHQ8VCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkLCBKID0gdW5rbm93bj4gPSB7XG4gIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxKPjtcbiAgY29udGV4dD86IFQ7XG4gIGluamVjdG9yPzogSW5qZWN0b3I7XG59O1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRUeXBlV2l0aElucHV0czxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQsIEogPSB1bmtub3duPiA9IHtcbiAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPEo+O1xuICBpbnB1dHM/OiBUO1xuICBpbmplY3Rvcj86IEluamVjdG9yO1xufTtcblxuZXhwb3J0IHR5cGUgU3RyaW5nVGVtcGxhdGUgPSB7XG4gIHR5cGU6ICdzdHJpbmcnO1xuICB2YWx1ZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmdUZW1wbGF0ZVRlbXBsYXRlID0ge1xuICB0eXBlOiAndGVtcGxhdGUnO1xuICB2YWx1ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgaW5qZWN0b3I6IEluamVjdG9yIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudFRlbXBsYXRlID0ge1xuICB0eXBlOiAnY29tcG9uZW50JztcbiAgdmFsdWU6IENvbXBvbmVudFR5cGU8dW5rbm93bj47XG4gIGlucHV0cz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBpbmplY3RvcjogSW5qZWN0b3IgfCBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IHRlbXBsYXRlQ29tcHV0ZWQgPSAodGVtcGxhdGVTaWduYWw6IFNpZ25hbDxBbnlUZW1wbGF0ZVR5cGUgfCBudWxsPikgPT5cbiAgY29tcHV0ZWQoKCk6IFN0cmluZ1RlbXBsYXRlIHwgTmdUZW1wbGF0ZVRlbXBsYXRlIHwgQ29tcG9uZW50VGVtcGxhdGUgfCBudWxsID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gdGVtcGxhdGVTaWduYWwoKTtcblxuICAgIGlmICghY29udGVudCkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgdmFsdWU6IGNvbnRlbnQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0ZW1wbGF0ZScsXG4gICAgICAgIHZhbHVlOiBjb250ZW50LFxuICAgICAgICBpbmplY3RvcjogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCdjb21wb25lbnQnIGluIGNvbnRlbnQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdjb21wb25lbnQnLFxuICAgICAgICB2YWx1ZTogY29udGVudC5jb21wb25lbnQsXG4gICAgICAgIGlucHV0czogY29udGVudC5pbnB1dHMsXG4gICAgICAgIGluamVjdG9yOiBjb250ZW50LmluamVjdG9yID8/IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICgndGVtcGxhdGUnIGluIGNvbnRlbnQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd0ZW1wbGF0ZScsXG4gICAgICAgIHZhbHVlOiBjb250ZW50LnRlbXBsYXRlLFxuICAgICAgICBjb250ZXh0OiBjb250ZW50LmNvbnRleHQsXG4gICAgICAgIGluamVjdG9yOiBjb250ZW50LmluamVjdG9yID8/IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnY29tcG9uZW50JyxcbiAgICAgIHZhbHVlOiBjb250ZW50LFxuICAgICAgaW5qZWN0b3I6IG51bGwsXG4gICAgfTtcbiAgfSk7XG4iXX0=
@@ -3,8 +3,9 @@ export * from './constants/public-api';
3
3
  export * from './decorators/public-api';
4
4
  export * from './directives/public-api';
5
5
  export * from './pipes/public-api';
6
+ export * from './props';
6
7
  export * from './services/public-api';
7
8
  export * from './types/public-api';
8
9
  export * from './utils/public-api';
9
10
  export * from './validators/public-api';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -7,10 +7,10 @@ export class ClickObserverFactory {
7
7
  create() {
8
8
  return fromEvent(document, 'click');
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverFactory, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverFactory, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
@@ -63,10 +63,10 @@ export class ClickObserverService {
63
63
  this._observedElements.delete(element);
64
64
  }
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverService, providedIn: 'root' }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverService, providedIn: 'root' }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ClickObserverService, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ClickObserverService, decorators: [{
70
70
  type: Injectable,
71
71
  args: [{ providedIn: 'root' }]
72
72
  }] });
@@ -7,10 +7,10 @@ export class MutationObserverFactory {
7
7
  create(callback) {
8
8
  return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MutationObserverFactory, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MutationObserverFactory, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
@@ -69,10 +69,10 @@ export class ContentObserverService {
69
69
  this._observedElements.delete(element);
70
70
  }
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContentObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContentObserverService, providedIn: 'root' }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ContentObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ContentObserverService, providedIn: 'root' }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContentObserverService, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ContentObserverService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{ providedIn: 'root' }]
78
78
  }] });
@@ -22,10 +22,10 @@ export class FocusVisibleService {
22
22
  onPointerDown() {
23
23
  this._hadKeyboardEvent = false;
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FocusVisibleService, providedIn: 'root' }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FocusVisibleService, providedIn: 'root' }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FocusVisibleService, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FocusVisibleService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root',
@@ -7,10 +7,10 @@ export class IntersectionObserverFactory {
7
7
  create(callback) {
8
8
  return typeof IntersectionObserver === 'undefined' ? null : new IntersectionObserver(callback);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverFactory, providedIn: 'root' }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverFactory, providedIn: 'root' }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverFactory, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverFactory, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
@@ -65,10 +65,10 @@ export class IntersectionObserverService {
65
65
  this._observedElements.delete(element);
66
66
  }
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverService, providedIn: 'root' }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverService, providedIn: 'root' }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: IntersectionObserverService, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverService, decorators: [{
72
72
  type: Injectable,
73
73
  args: [{ providedIn: 'root' }]
74
74
  }] });
@@ -7,10 +7,10 @@ export class ResizeObserverFactory {
7
7
  create(callback) {
8
8
  return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverFactory, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverFactory, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
@@ -65,10 +65,10 @@ export class ResizeObserverService {
65
65
  this._observedElements.delete(element);
66
66
  }
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ResizeObserverService, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResizeObserverService, decorators: [{
72
72
  type: Injectable,
73
73
  args: [{ providedIn: 'root' }]
74
74
  }] });
@@ -193,10 +193,10 @@ export class RouterStateService {
193
193
  fragment,
194
194
  };
195
195
  }
196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
197
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RouterStateService, providedIn: 'root' }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
197
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterStateService, providedIn: 'root' }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RouterStateService, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RouterStateService, decorators: [{
200
200
  type: Injectable,
201
201
  args: [{
202
202
  providedIn: 'root',