@byuhbll/components 5.0.1 → 6.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/fesm2022/byuhbll-components.mjs +98 -107
  2. package/fesm2022/byuhbll-components.mjs.map +1 -1
  3. package/lib/ss-search-bar/advanced-search/advanced-search.component.d.ts +1 -4
  4. package/lib/ss-search-bar/models/advanced-search.model.d.ts +3 -3
  5. package/lib/ss-search-bar/models/search-scope.model.d.ts +1 -1
  6. package/lib/ss-search-bar/simple-search/simple-search.component.d.ts +1 -1
  7. package/lib/status-button/status-button.component.d.ts +1 -1
  8. package/package.json +4 -6
  9. package/esm2022/byuhbll-components.mjs +0 -5
  10. package/esm2022/lib/animations/animations.mjs +0 -22
  11. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -15
  12. package/esm2022/lib/contact-utils.mjs +0 -41
  13. package/esm2022/lib/copy-tooltip/copy-tooltip.component.mjs +0 -49
  14. package/esm2022/lib/expand-collapse/expand-collapse.component.mjs +0 -31
  15. package/esm2022/lib/hbll-footer/hbll-footer.component.mjs +0 -111
  16. package/esm2022/lib/hbll-header/hbll-header.component.mjs +0 -142
  17. package/esm2022/lib/hbll-header/models/library-hours.mjs +0 -2
  18. package/esm2022/lib/hbll-header/nav-bar/nav-bar.component.mjs +0 -352
  19. package/esm2022/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.mjs +0 -57
  20. package/esm2022/lib/hbll-header/pipes/library-hours.pipe.mjs +0 -31
  21. package/esm2022/lib/hbll-header/pipes/truncate.pipe.mjs +0 -17
  22. package/esm2022/lib/header-with-impersonation/header-with-impersonation.component.mjs +0 -41
  23. package/esm2022/lib/impersonate-modal/impersonate-modal.component.mjs +0 -190
  24. package/esm2022/lib/impersonation-banner/impersonation-banner.component.mjs +0 -151
  25. package/esm2022/lib/impersonation-banner/models/application-access.mjs +0 -7
  26. package/esm2022/lib/impersonation-banner/models/person-summary.mjs +0 -15
  27. package/esm2022/lib/models/token-payload.mjs +0 -2
  28. package/esm2022/lib/multi-select/multi-select.component.mjs +0 -115
  29. package/esm2022/lib/pipes/hbll-item-type-icon.pipe.mjs +0 -128
  30. package/esm2022/lib/snackbar/snackbar.component.mjs +0 -151
  31. package/esm2022/lib/snackbar/snackbar.service.mjs +0 -90
  32. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +0 -273
  33. package/esm2022/lib/ss-search-bar/constants.mjs +0 -153
  34. package/esm2022/lib/ss-search-bar/date-range/date-range.component.mjs +0 -71
  35. package/esm2022/lib/ss-search-bar/models/advanced-search.model.mjs +0 -5
  36. package/esm2022/lib/ss-search-bar/models/search-config.model.mjs +0 -2
  37. package/esm2022/lib/ss-search-bar/models/search-scope.model.mjs +0 -3
  38. package/esm2022/lib/ss-search-bar/pipes/advanced-field-warning.pipe.mjs +0 -34
  39. package/esm2022/lib/ss-search-bar/pipes/advanced-queries.pipe.mjs +0 -33
  40. package/esm2022/lib/ss-search-bar/pipes/field-by-scope.pipe.mjs +0 -27
  41. package/esm2022/lib/ss-search-bar/simple-search/simple-search.component.mjs +0 -87
  42. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +0 -98
  43. package/esm2022/lib/ss-search-bar/utils.mjs +0 -16
  44. package/esm2022/lib/status-button/status-button.component.mjs +0 -104
  45. package/esm2022/lib/utils.mjs +0 -7
  46. package/esm2022/public-api.mjs +0 -19
@@ -1,128 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- const typeToIconMap = {
4
- archive: 'inventory_2',
5
- article: 'description',
6
- audio: 'headphones',
7
- audiobook: 'headphones',
8
- 'blu-ray': 'album',
9
- book: 'book_2',
10
- 'book-chapter': 'book_6',
11
- 'book-review': 'reviews',
12
- broadside: 'image',
13
- calculator: 'calculate',
14
- cassette: 'voicemail_2',
15
- cd: 'adjust',
16
- 'cd-rom': 'adjust',
17
- clothing: 'apparel',
18
- 'clothing-pattern': 'content_cut',
19
- collection: 'home_storage',
20
- conference: 'podium',
21
- 'conference-proceeding': 'podium',
22
- cuneiform: 'aod_tablet',
23
- curricula: 'aod_tablet',
24
- database: 'stacks',
25
- dataset: 'dataset',
26
- diary: 'book_3',
27
- dissertation: 'school',
28
- dvd: 'album',
29
- ebook: 'two_pager',
30
- ebookreader: 'chrome_reader_mode',
31
- ejournal: 'two_pager',
32
- 'electronic-resource': 'description',
33
- equipment: 'service_toolbox',
34
- filmstrip: 'theaters',
35
- 'finding-aid': 'travel_explore',
36
- 'government-document': 'account_balance',
37
- 'government-novel': 'book_4',
38
- guide: 'travel_explore',
39
- image: 'image',
40
- index: 'list',
41
- journal: 'book_3',
42
- 'juv-book': 'book_4',
43
- kit: 'home_repair_service',
44
- laserdisc: 'album',
45
- 'legal-document': 'gavel',
46
- letter: 'mail',
47
- magazine: 'newsmode',
48
- manuscript: 'article',
49
- 'manuscript-archive': 'inventory_2',
50
- map: 'file_map',
51
- media: 'play_circle',
52
- microfiche: 'theaters',
53
- microfilm: 'theaters',
54
- microform: 'theaters',
55
- model: 'bid_landscape',
56
- movie: 'movie',
57
- multimedia: 'play_circle',
58
- 'music-recording': 'album',
59
- 'musical-recording': 'album',
60
- newsletter: 'article',
61
- newspaper: 'newspaper',
62
- 'newspaper-article': 'full_coverage',
63
- ostracon: 'description',
64
- other: 'description',
65
- painting: 'palette',
66
- palmleaf: 'eco',
67
- pamphlet: 'map',
68
- papyrus: 'article',
69
- performance: 'music_note',
70
- periodical: 'two_pager',
71
- photograph: 'photo_camera_back',
72
- picture: 'image',
73
- poem: 'article',
74
- poster: 'image',
75
- presentation: 'slideshow',
76
- 'primary-source': 'inventory_2',
77
- 'primary-source-document': 'article',
78
- record: 'album',
79
- 'reel-to-reel': 'video_camera_back',
80
- 'reference-entry': 'article',
81
- report: 'summarize',
82
- 'research-data-set': 'dataset',
83
- review: 'summarize',
84
- score: 'queue_music',
85
- script: 'article',
86
- serial: 'article',
87
- slide: 'slideshow',
88
- software: 'code',
89
- 'sound-recording': 'mic',
90
- standards: 'article',
91
- 'statistical-data-set': 'dataset',
92
- 'streaming-audio': 'play_circle',
93
- 'streaming-media': 'play_circle',
94
- 'streaming-video': 'play_circle',
95
- 'student-project': 'article',
96
- 'technical-report': 'summarize',
97
- 'text-resource': 'summarize',
98
- unknown: 'article',
99
- vhs: 'theaters',
100
- video: 'videocam',
101
- website: 'globe',
102
- };
103
- /**
104
- * Converts an item type to an icon type to be used with Google Material Icons
105
- *
106
- * Intended to be used with an imported font, such as: `<link
107
- rel="stylesheet"
108
- href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,1,0"
109
- />`
110
- *
111
- * Reference: https://fonts.google.com/icons?selected=Material+Symbols+Outlined:inventory_2:FILL@0;wght@400;GRAD@0;opsz@24&icon.query=invent&icon.size=24&icon.color=%235f6368
112
- */
113
- export class HbllItemTypeIconPipe {
114
- transform(itemType) {
115
- const type = itemType.replace(/_/g, '-').toLowerCase();
116
- return typeToIconMap[type] ?? 'article';
117
- }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
119
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, isStandalone: true, name: "libByuItemTypeIcon" }); }
120
- }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllItemTypeIconPipe, decorators: [{
122
- type: Pipe,
123
- args: [{
124
- name: 'libByuItemTypeIcon',
125
- standalone: true,
126
- }]
127
- }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1pdGVtLXR5cGUtaWNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2hibGwtaXRlbS10eXBlLWljb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFzQixNQUFNLGVBQWUsQ0FBQzs7QUFFekQsTUFBTSxhQUFhLEdBQUc7SUFDbEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsU0FBUyxFQUFFLE9BQU87SUFDbEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxjQUFjLEVBQUUsUUFBUTtJQUN4QixhQUFhLEVBQUUsU0FBUztJQUN4QixTQUFTLEVBQUUsT0FBTztJQUNsQixVQUFVLEVBQUUsV0FBVztJQUN2QixRQUFRLEVBQUUsYUFBYTtJQUN2QixFQUFFLEVBQUUsUUFBUTtJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGtCQUFrQixFQUFFLGFBQWE7SUFDakMsVUFBVSxFQUFFLGNBQWM7SUFDMUIsVUFBVSxFQUFFLFFBQVE7SUFDcEIsdUJBQXVCLEVBQUUsUUFBUTtJQUNqQyxTQUFTLEVBQUUsWUFBWTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsUUFBUTtJQUNmLFlBQVksRUFBRSxRQUFRO0lBQ3RCLEdBQUcsRUFBRSxPQUFPO0lBQ1osS0FBSyxFQUFFLFdBQVc7SUFDbEIsV0FBVyxFQUFFLG9CQUFvQjtJQUNqQyxRQUFRLEVBQUUsV0FBVztJQUNyQixxQkFBcUIsRUFBRSxhQUFhO0lBQ3BDLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLFVBQVU7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LCB0eXBlIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgdHlwZVRvSWNvbk1hcCA9IHtcbiAgICBhcmNoaXZlOiAnaW52ZW50b3J5XzInLFxuICAgIGFydGljbGU6ICdkZXNjcmlwdGlvbicsXG4gICAgYXVkaW86ICdoZWFkcGhvbmVzJyxcbiAgICBhdWRpb2Jvb2s6ICdoZWFkcGhvbmVzJyxcbiAgICAnYmx1LXJheSc6ICdhbGJ1bScsXG4gICAgYm9vazogJ2Jvb2tfMicsXG4gICAgJ2Jvb2stY2hhcHRlcic6ICdib29rXzYnLFxuICAgICdib29rLXJldmlldyc6ICdyZXZpZXdzJyxcbiAgICBicm9hZHNpZGU6ICdpbWFnZScsXG4gICAgY2FsY3VsYXRvcjogJ2NhbGN1bGF0ZScsXG4gICAgY2Fzc2V0dGU6ICd2b2ljZW1haWxfMicsXG4gICAgY2Q6ICdhZGp1c3QnLFxuICAgICdjZC1yb20nOiAnYWRqdXN0JyxcbiAgICBjbG90aGluZzogJ2FwcGFyZWwnLFxuICAgICdjbG90aGluZy1wYXR0ZXJuJzogJ2NvbnRlbnRfY3V0JyxcbiAgICBjb2xsZWN0aW9uOiAnaG9tZV9zdG9yYWdlJyxcbiAgICBjb25mZXJlbmNlOiAncG9kaXVtJyxcbiAgICAnY29uZmVyZW5jZS1wcm9jZWVkaW5nJzogJ3BvZGl1bScsXG4gICAgY3VuZWlmb3JtOiAnYW9kX3RhYmxldCcsXG4gICAgY3VycmljdWxhOiAnYW9kX3RhYmxldCcsXG4gICAgZGF0YWJhc2U6ICdzdGFja3MnLFxuICAgIGRhdGFzZXQ6ICdkYXRhc2V0JyxcbiAgICBkaWFyeTogJ2Jvb2tfMycsXG4gICAgZGlzc2VydGF0aW9uOiAnc2Nob29sJyxcbiAgICBkdmQ6ICdhbGJ1bScsXG4gICAgZWJvb2s6ICd0d29fcGFnZXInLFxuICAgIGVib29rcmVhZGVyOiAnY2hyb21lX3JlYWRlcl9tb2RlJyxcbiAgICBlam91cm5hbDogJ3R3b19wYWdlcicsXG4gICAgJ2VsZWN0cm9uaWMtcmVzb3VyY2UnOiAnZGVzY3JpcHRpb24nLFxuICAgIGVxdWlwbWVudDogJ3NlcnZpY2VfdG9vbGJveCcsXG4gICAgZmlsbXN0cmlwOiAndGhlYXRlcnMnLFxuICAgICdmaW5kaW5nLWFpZCc6ICd0cmF2ZWxfZXhwbG9yZScsXG4gICAgJ2dvdmVybm1lbnQtZG9jdW1lbnQnOiAnYWNjb3VudF9iYWxhbmNlJyxcbiAgICAnZ292ZXJubWVudC1ub3ZlbCc6ICdib29rXzQnLFxuICAgIGd1aWRlOiAndHJhdmVsX2V4cGxvcmUnLFxuICAgIGltYWdlOiAnaW1hZ2UnLFxuICAgIGluZGV4OiAnbGlzdCcsXG4gICAgam91cm5hbDogJ2Jvb2tfMycsXG4gICAgJ2p1di1ib29rJzogJ2Jvb2tfNCcsXG4gICAga2l0OiAnaG9tZV9yZXBhaXJfc2VydmljZScsXG4gICAgbGFzZXJkaXNjOiAnYWxidW0nLFxuICAgICdsZWdhbC1kb2N1bWVudCc6ICdnYXZlbCcsXG4gICAgbGV0dGVyOiAnbWFpbCcsXG4gICAgbWFnYXppbmU6ICduZXdzbW9kZScsXG4gICAgbWFudXNjcmlwdDogJ2FydGljbGUnLFxuICAgICdtYW51c2NyaXB0LWFyY2hpdmUnOiAnaW52ZW50b3J5XzInLFxuICAgIG1hcDogJ2ZpbGVfbWFwJyxcbiAgICBtZWRpYTogJ3BsYXlfY2lyY2xlJyxcbiAgICBtaWNyb2ZpY2hlOiAndGhlYXRlcnMnLFxuICAgIG1pY3JvZmlsbTogJ3RoZWF0ZXJzJyxcbiAgICBtaWNyb2Zvcm06ICd0aGVhdGVycycsXG4gICAgbW9kZWw6ICdiaWRfbGFuZHNjYXBlJyxcbiAgICBtb3ZpZTogJ21vdmllJyxcbiAgICBtdWx0aW1lZGlhOiAncGxheV9jaXJjbGUnLFxuICAgICdtdXNpYy1yZWNvcmRpbmcnOiAnYWxidW0nLFxuICAgICdtdXNpY2FsLXJlY29yZGluZyc6ICdhbGJ1bScsXG4gICAgbmV3c2xldHRlcjogJ2FydGljbGUnLFxuICAgIG5ld3NwYXBlcjogJ25ld3NwYXBlcicsXG4gICAgJ25ld3NwYXBlci1hcnRpY2xlJzogJ2Z1bGxfY292ZXJhZ2UnLFxuICAgIG9zdHJhY29uOiAnZGVzY3JpcHRpb24nLFxuICAgIG90aGVyOiAnZGVzY3JpcHRpb24nLFxuICAgIHBhaW50aW5nOiAncGFsZXR0ZScsXG4gICAgcGFsbWxlYWY6ICdlY28nLFxuICAgIHBhbXBobGV0OiAnbWFwJyxcbiAgICBwYXB5cnVzOiAnYXJ0aWNsZScsXG4gICAgcGVyZm9ybWFuY2U6ICdtdXNpY19ub3RlJyxcbiAgICBwZXJpb2RpY2FsOiAndHdvX3BhZ2VyJyxcbiAgICBwaG90b2dyYXBoOiAncGhvdG9fY2FtZXJhX2JhY2snLFxuICAgIHBpY3R1cmU6ICdpbWFnZScsXG4gICAgcG9lbTogJ2FydGljbGUnLFxuICAgIHBvc3RlcjogJ2ltYWdlJyxcbiAgICBwcmVzZW50YXRpb246ICdzbGlkZXNob3cnLFxuICAgICdwcmltYXJ5LXNvdXJjZSc6ICdpbnZlbnRvcnlfMicsXG4gICAgJ3ByaW1hcnktc291cmNlLWRvY3VtZW50JzogJ2FydGljbGUnLFxuICAgIHJlY29yZDogJ2FsYnVtJyxcbiAgICAncmVlbC10by1yZWVsJzogJ3ZpZGVvX2NhbWVyYV9iYWNrJyxcbiAgICAncmVmZXJlbmNlLWVudHJ5JzogJ2FydGljbGUnLFxuICAgIHJlcG9ydDogJ3N1bW1hcml6ZScsXG4gICAgJ3Jlc2VhcmNoLWRhdGEtc2V0JzogJ2RhdGFzZXQnLFxuICAgIHJldmlldzogJ3N1bW1hcml6ZScsXG4gICAgc2NvcmU6ICdxdWV1ZV9tdXNpYycsXG4gICAgc2NyaXB0OiAnYXJ0aWNsZScsXG4gICAgc2VyaWFsOiAnYXJ0aWNsZScsXG4gICAgc2xpZGU6ICdzbGlkZXNob3cnLFxuICAgIHNvZnR3YXJlOiAnY29kZScsXG4gICAgJ3NvdW5kLXJlY29yZGluZyc6ICdtaWMnLFxuICAgIHN0YW5kYXJkczogJ2FydGljbGUnLFxuICAgICdzdGF0aXN0aWNhbC1kYXRhLXNldCc6ICdkYXRhc2V0JyxcbiAgICAnc3RyZWFtaW5nLWF1ZGlvJzogJ3BsYXlfY2lyY2xlJyxcbiAgICAnc3RyZWFtaW5nLW1lZGlhJzogJ3BsYXlfY2lyY2xlJyxcbiAgICAnc3RyZWFtaW5nLXZpZGVvJzogJ3BsYXlfY2lyY2xlJyxcbiAgICAnc3R1ZGVudC1wcm9qZWN0JzogJ2FydGljbGUnLFxuICAgICd0ZWNobmljYWwtcmVwb3J0JzogJ3N1bW1hcml6ZScsXG4gICAgJ3RleHQtcmVzb3VyY2UnOiAnc3VtbWFyaXplJyxcbiAgICB1bmtub3duOiAnYXJ0aWNsZScsXG4gICAgdmhzOiAndGhlYXRlcnMnLFxuICAgIHZpZGVvOiAndmlkZW9jYW0nLFxuICAgIHdlYnNpdGU6ICdnbG9iZScsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIGl0ZW0gdHlwZSB0byBhbiBpY29uIHR5cGUgdG8gYmUgdXNlZCB3aXRoIEdvb2dsZSBNYXRlcmlhbCBJY29uc1xuICpcbiAqIEludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBhbiBpbXBvcnRlZCBmb250LCBzdWNoIGFzOiBgPGxpbmtcbiAgICAgICAgICAgIHJlbD1cInN0eWxlc2hlZXRcIlxuICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TWF0ZXJpYWwrU3ltYm9scytPdXRsaW5lZDpvcHN6LHdnaHQsRklMTCxHUkFEQDI0LDQwMCwxLDBcIlxuICAgICAgICAvPmBcbiAqXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vZm9udHMuZ29vZ2xlLmNvbS9pY29ucz9zZWxlY3RlZD1NYXRlcmlhbCtTeW1ib2xzK091dGxpbmVkOmludmVudG9yeV8yOkZJTExAMDt3Z2h0QDQwMDtHUkFEQDA7b3BzekAyNCZpY29uLnF1ZXJ5PWludmVudCZpY29uLnNpemU9MjQmaWNvbi5jb2xvcj0lMjM1ZjYzNjhcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdsaWJCeXVJdGVtVHlwZUljb24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxJdGVtVHlwZUljb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGl0ZW1UeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB0eXBlID0gaXRlbVR5cGUucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB0eXBlVG9JY29uTWFwW3R5cGUgYXMga2V5b2YgdHlwZW9mIHR5cGVUb0ljb25NYXBdID8/ICdhcnRpY2xlJztcbiAgICB9XG59XG4iXX0=
@@ -1,151 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, booleanAttribute, } from '@angular/core';
2
- import { NgClass } from '@angular/common';
3
- import { StatusButtonComponent, } from '../status-button/status-button.component';
4
- import * as i0 from "@angular/core";
5
- const purposeToStatusMap = {
6
- default: 'info',
7
- info: 'info',
8
- success: 'success',
9
- error: 'error',
10
- warning: 'warning',
11
- };
12
- export class SnackbarComponent {
13
- constructor() {
14
- this.purpose = 'default';
15
- this.title = 'Snackbar Title';
16
- this.description = 'Lorem ipsum';
17
- this.fieldPlaceholder = 'Placeholder';
18
- this.titleIcon = 'info';
19
- this.showTitle = true;
20
- this.showTitleIcon = true;
21
- this.titleIconFilled = false;
22
- this.showClose = true;
23
- this.showProgressBar = true;
24
- this.showField = true;
25
- this.showButton = true;
26
- this.autoDismiss = true;
27
- this.visible = true;
28
- this.progressMs = 5000;
29
- this.y = 24;
30
- this.closed = new EventEmitter();
31
- this.visibleChange = new EventEmitter();
32
- this.buttonClicked = new EventEmitter();
33
- this.isOpen = false;
34
- this.EXIT_MS = 300;
35
- }
36
- ngOnInit() {
37
- if (this.visible) {
38
- // enter on next tick
39
- setTimeout(() => (this.isOpen = true), 0);
40
- this.startDismissTimer();
41
- }
42
- }
43
- ngOnChanges(changes) {
44
- if ('visible' in changes) {
45
- // when parent toggles visible
46
- if (this.visible) {
47
- // becoming visible -> open + (re)start timer
48
- this.isOpen = false;
49
- setTimeout(() => (this.isOpen = true), 0);
50
- this.startDismissTimer();
51
- }
52
- else {
53
- // becoming hidden -> stop timers and ensure closed state
54
- this.clearDismissTimer();
55
- this.isOpen = false;
56
- }
57
- }
58
- }
59
- ngOnDestroy() {
60
- this.clearDismissTimer();
61
- }
62
- // used by the × button, done button, and auto-dismiss
63
- close(emitButtonClicked = false) {
64
- if (!this.isOpen && !this.visible)
65
- return;
66
- this.clearDismissTimer();
67
- this.isOpen = false; // triggers exit transition
68
- // after exit animation, hide + notify
69
- window.setTimeout(() => {
70
- if (this.visible) {
71
- this.visible = false;
72
- this.visibleChange.emit(false);
73
- }
74
- if (emitButtonClicked) {
75
- this.buttonClicked.emit();
76
- }
77
- this.closed.emit();
78
- }, this.EXIT_MS);
79
- }
80
- get status() {
81
- return purposeToStatusMap[this.purpose];
82
- }
83
- startDismissTimer() {
84
- if (!this.autoDismiss)
85
- return;
86
- this.clearDismissTimer();
87
- this.dismissTimer = window.setTimeout(() => this.close(), this.progressMs);
88
- }
89
- clearDismissTimer() {
90
- if (this.dismissTimer) {
91
- clearTimeout(this.dismissTimer);
92
- this.dismissTimer = undefined;
93
- }
94
- }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SnackbarComponent, isStandalone: true, selector: "lib-snackbar", inputs: { purpose: "purpose", title: "title", description: "description", fieldPlaceholder: "fieldPlaceholder", titleIcon: "titleIcon", showTitle: ["showTitle", "showTitle", booleanAttribute], showTitleIcon: ["showTitleIcon", "showTitleIcon", booleanAttribute], titleIconFilled: ["titleIconFilled", "titleIconFilled", booleanAttribute], showClose: ["showClose", "showClose", booleanAttribute], showProgressBar: ["showProgressBar", "showProgressBar", booleanAttribute], showField: ["showField", "showField", booleanAttribute], showButton: ["showButton", "showButton", booleanAttribute], autoDismiss: ["autoDismiss", "autoDismiss", booleanAttribute], visible: ["visible", "visible", booleanAttribute], progressMs: "progressMs", y: "y", statusButtonInputs: "statusButtonInputs" }, outputs: { closed: "closed", visibleChange: "visibleChange", buttonClicked: "buttonClicked" }, usesOnChanges: true, ngImport: i0, template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;max-width:26.25rem;width:calc(100% - 5rem);padding:1.25rem 1rem;justify-content:space-between;align-items:flex-start;gap:.25rem;position:relative;border-radius:var(--border-radius-md, 4px);border:1px solid var(--snackbar-border-color);background:var(--snackbar-bg);box-shadow:1px 1px 4px #00000040;color:var(--snackbar-text)}.snackbar__left{display:grid;gap:.5rem;flex:1 1 auto}.snackbar__left>.snackbar__title-row~*{margin-left:var(--snackbar-right-gutter, 1.85rem)}.snackbar__title-row{display:flex;align-items:center;gap:.25rem}.snackbar__title{margin:0;font-weight:400;font-size:1.2rem;line-height:1.2;color:var(--snackbar-title-color)}.snackbar__title-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}.snackbar__title-icon.has-icon{border-radius:50%;color:var(--snackbar-accent)}.snackbar__icon{font-weight:700;font-size:1rem;line-height:1}.snackbar__desc{margin:0;opacity:.9}.snackbar__input{width:100%;max-width:100%;box-sizing:border-box;padding:.5em;border-radius:4px;border:1px solid var(--snackbar-input-border);background:#fff;color:inherit}.snackbar__close{margin-left:.5em;border:0;background:transparent;color:inherit;opacity:.7;font-size:1.5rem;padding:.25rem;line-height:1;cursor:pointer}.snackbar__progress{position:absolute;left:0;right:0;bottom:-1px;height:4px;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.snackbar__progress-fill{height:100%;width:0%;background:var(--snackbar-progress);animation:fill var(--snackbar-progress-duration, 4s) linear forwards}@keyframes fill{to{width:100%}}.snackbar.is-default{--snackbar-border-color: var(--colors-border-primary, #d0d0d0);--snackbar-bg: var(--colors-surface-primary, white);--snackbar-text: #141414;--snackbar-title-color: #003995;--snackbar-icon-bg: #e5edf8;--snackbar-accent: #003995;--snackbar-input-border: #d0d0d0;--snackbar-progress: #003995}.snackbar.is-info{--snackbar-border-color: var(--colors-border-information, #457fa6);--snackbar-bg: var(--colors-surface-information, #ecf2f6);--snackbar-text: #24495c;--snackbar-title-color: #24495c;--snackbar-icon-bg: #a2bfd3;--snackbar-accent: #306a88;--snackbar-input-border: #a2bfd3;--snackbar-progress: #306a88}.snackbar.is-success{--snackbar-border-color: var(--colors-border-success, #3ba35a);--snackbar-bg: var(--colors-surface-success, #ebf6ee);--snackbar-text: #20522e;--snackbar-title-color: #20522e;--snackbar-icon-bg: #9dd1ac;--snackbar-accent: #2e7d3f;--snackbar-input-border: #9dd1ac;--snackbar-progress: #2e7d3f}.snackbar.is-warning{--snackbar-border-color: var(--colors-border-warning, #d1c844);--snackbar-bg: var(--colors-surface-warning, #faf9ec);--snackbar-text: #514a18;--snackbar-title-color: #514a18;--snackbar-icon-bg: #e8e3a1;--snackbar-accent: #7a6f13;--snackbar-input-border: #d1c844;--snackbar-progress: #7a6f13}.snackbar.is-error{--snackbar-border-color: var(--colors-border-error, #c73e3d);--snackbar-bg: var(--colors-surface-error, #f9ecec);--snackbar-text: #611a1a;--snackbar-title-color: #611a1a;--snackbar-icon-bg: #e39e9e;--snackbar-accent: #912525;--snackbar-input-border: #c73e3d;--snackbar-progress: #912525}.snackbar{position:fixed;top:24px;right:24px;z-index:1000;transform:translate(120%);transition:transform .6s ease}.snackbar.is-open{transform:translate(0)}lib-status-button{--status-button-padding: .25em .5em .25em 0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: StatusButtonComponent, selector: "lib-status-button", inputs: ["label", "status", "leftIcon", "rightIcon", "hideLeftIcon", "hideRightIcon", "clearVariant"] }] }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'lib-snackbar', standalone: true, imports: [NgClass, StatusButtonComponent], template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;max-width:26.25rem;width:calc(100% - 5rem);padding:1.25rem 1rem;justify-content:space-between;align-items:flex-start;gap:.25rem;position:relative;border-radius:var(--border-radius-md, 4px);border:1px solid var(--snackbar-border-color);background:var(--snackbar-bg);box-shadow:1px 1px 4px #00000040;color:var(--snackbar-text)}.snackbar__left{display:grid;gap:.5rem;flex:1 1 auto}.snackbar__left>.snackbar__title-row~*{margin-left:var(--snackbar-right-gutter, 1.85rem)}.snackbar__title-row{display:flex;align-items:center;gap:.25rem}.snackbar__title{margin:0;font-weight:400;font-size:1.2rem;line-height:1.2;color:var(--snackbar-title-color)}.snackbar__title-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}.snackbar__title-icon.has-icon{border-radius:50%;color:var(--snackbar-accent)}.snackbar__icon{font-weight:700;font-size:1rem;line-height:1}.snackbar__desc{margin:0;opacity:.9}.snackbar__input{width:100%;max-width:100%;box-sizing:border-box;padding:.5em;border-radius:4px;border:1px solid var(--snackbar-input-border);background:#fff;color:inherit}.snackbar__close{margin-left:.5em;border:0;background:transparent;color:inherit;opacity:.7;font-size:1.5rem;padding:.25rem;line-height:1;cursor:pointer}.snackbar__progress{position:absolute;left:0;right:0;bottom:-1px;height:4px;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.snackbar__progress-fill{height:100%;width:0%;background:var(--snackbar-progress);animation:fill var(--snackbar-progress-duration, 4s) linear forwards}@keyframes fill{to{width:100%}}.snackbar.is-default{--snackbar-border-color: var(--colors-border-primary, #d0d0d0);--snackbar-bg: var(--colors-surface-primary, white);--snackbar-text: #141414;--snackbar-title-color: #003995;--snackbar-icon-bg: #e5edf8;--snackbar-accent: #003995;--snackbar-input-border: #d0d0d0;--snackbar-progress: #003995}.snackbar.is-info{--snackbar-border-color: var(--colors-border-information, #457fa6);--snackbar-bg: var(--colors-surface-information, #ecf2f6);--snackbar-text: #24495c;--snackbar-title-color: #24495c;--snackbar-icon-bg: #a2bfd3;--snackbar-accent: #306a88;--snackbar-input-border: #a2bfd3;--snackbar-progress: #306a88}.snackbar.is-success{--snackbar-border-color: var(--colors-border-success, #3ba35a);--snackbar-bg: var(--colors-surface-success, #ebf6ee);--snackbar-text: #20522e;--snackbar-title-color: #20522e;--snackbar-icon-bg: #9dd1ac;--snackbar-accent: #2e7d3f;--snackbar-input-border: #9dd1ac;--snackbar-progress: #2e7d3f}.snackbar.is-warning{--snackbar-border-color: var(--colors-border-warning, #d1c844);--snackbar-bg: var(--colors-surface-warning, #faf9ec);--snackbar-text: #514a18;--snackbar-title-color: #514a18;--snackbar-icon-bg: #e8e3a1;--snackbar-accent: #7a6f13;--snackbar-input-border: #d1c844;--snackbar-progress: #7a6f13}.snackbar.is-error{--snackbar-border-color: var(--colors-border-error, #c73e3d);--snackbar-bg: var(--colors-surface-error, #f9ecec);--snackbar-text: #611a1a;--snackbar-title-color: #611a1a;--snackbar-icon-bg: #e39e9e;--snackbar-accent: #912525;--snackbar-input-border: #c73e3d;--snackbar-progress: #912525}.snackbar{position:fixed;top:24px;right:24px;z-index:1000;transform:translate(120%);transition:transform .6s ease}.snackbar.is-open{transform:translate(0)}lib-status-button{--status-button-padding: .25em .5em .25em 0}\n"] }]
101
- }], propDecorators: { purpose: [{
102
- type: Input
103
- }], title: [{
104
- type: Input
105
- }], description: [{
106
- type: Input
107
- }], fieldPlaceholder: [{
108
- type: Input
109
- }], titleIcon: [{
110
- type: Input
111
- }], showTitle: [{
112
- type: Input,
113
- args: [{ transform: booleanAttribute }]
114
- }], showTitleIcon: [{
115
- type: Input,
116
- args: [{ transform: booleanAttribute }]
117
- }], titleIconFilled: [{
118
- type: Input,
119
- args: [{ transform: booleanAttribute }]
120
- }], showClose: [{
121
- type: Input,
122
- args: [{ transform: booleanAttribute }]
123
- }], showProgressBar: [{
124
- type: Input,
125
- args: [{ transform: booleanAttribute }]
126
- }], showField: [{
127
- type: Input,
128
- args: [{ transform: booleanAttribute }]
129
- }], showButton: [{
130
- type: Input,
131
- args: [{ transform: booleanAttribute }]
132
- }], autoDismiss: [{
133
- type: Input,
134
- args: [{ transform: booleanAttribute }]
135
- }], visible: [{
136
- type: Input,
137
- args: [{ transform: booleanAttribute }]
138
- }], progressMs: [{
139
- type: Input
140
- }], y: [{
141
- type: Input
142
- }], statusButtonInputs: [{
143
- type: Input
144
- }], closed: [{
145
- type: Output
146
- }], visibleChange: [{
147
- type: Output
148
- }], buttonClicked: [{
149
- type: Output
150
- }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUtOLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNILHFCQUFxQixHQUd4QixNQUFNLDBDQUEwQyxDQUFDOztBQXlCbEQsTUFBTSxrQkFBa0IsR0FBb0M7SUFDeEQsT0FBTyxFQUFFLE1BQU07SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRYSxZQUFPLEdBQW9CLFNBQVMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFDSSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFB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QUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxDQUFDO3NCQUFULEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgU3RhdHVzQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0YXR1cyxcbiAgICBTdGF0dXNCdXR0b25JbnB1dHMsXG59IGZyb20gJy4uL3N0YXR1cy1idXR0b24vc3RhdHVzLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBTbmFja2JhclB1cnBvc2UgPSAnZGVmYXVsdCcgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrYmFySW5wdXRzIHtcbiAgICBwdXJwb3NlPzogU25hY2tiYXJQdXJwb3NlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHRpdGxlSWNvbj86IHN0cmluZztcbiAgICBmaWVsZFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHNob3dUaXRsZT86IGJvb2xlYW47XG4gICAgc2hvd1RpdGxlSWNvbj86IGJvb2xlYW47XG4gICAgdGl0bGVJY29uRmlsbGVkPzogYm9vbGVhbjtcbiAgICBzaG93Q2xvc2U/OiBib29sZWFuO1xuICAgIHNob3dQcm9ncmVzc0Jhcj86IGJvb2xlYW47XG4gICAgc2hvd0ZpZWxkPzogYm9vbGVhbjtcbiAgICBzaG93QnV0dG9uPzogYm9vbGVhbjtcbiAgICBwcm9ncmVzc01zPzogbnVtYmVyO1xuICAgIGF1dG9EaXNtaXNzPzogYm9vbGVhbjtcbiAgICB5PzogbnVtYmVyO1xuICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIHpJbmRleD86IG51bWJlcjtcbiAgICBzdGF0dXNCdXR0b25JbnB1dHM/OiBTdGF0dXNCdXR0b25JbnB1dHM7XG59XG5cbmNvbnN0IHB1cnBvc2VUb1N0YXR1c01hcDogUmVjb3JkPFNuYWNrYmFyUHVycG9zZSwgU3RhdHVzPiA9IHtcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gICAgaW5mbzogJ2luZm8nLFxuICAgIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1zbmFja2JhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgU3RhdHVzQnV0dG9uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVycG9zZTogU25hY2tiYXJQdXJwb3NlID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHRpdGxlID0gJ1NuYWNrYmFyIFRpdGxlJztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdMb3JlbSBpcHN1bSc7XG4gICAgQElucHV0KCkgZmllbGRQbGFjZWhvbGRlciA9ICdQbGFjZWhvbGRlcic7XG4gICAgQElucHV0KCkgdGl0bGVJY29uOiBzdHJpbmcgPSAnaW5mbyc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZUljb24gPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aXRsZUljb25GaWxsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0Nsb3NlID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0ZpZWxkID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9EaXNtaXNzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcHJvZ3Jlc3NNcyA9IDUwMDA7XG4gICAgQElucHV0KCkgeSA9IDI0O1xuICAgIEBJbnB1dCgpIHN0YXR1c0J1dHRvbklucHV0cz86IFN0YXR1c0J1dHRvbklucHV0cztcblxuICAgIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZGlzbWlzc1RpbWVyPzogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgRVhJVF9NUyA9IDMwMDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAvLyBlbnRlciBvbiBuZXh0IHRpY2tcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNPcGVuID0gdHJ1ZSksIDApO1xuICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ3Zpc2libGUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gcGFyZW50IHRvZ2dsZXMgdmlzaWJsZVxuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIC8vIGJlY29taW5nIHZpc2libGUgLT4gb3BlbiArIChyZSlzdGFydCB0aW1lclxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5pc09wZW4gPSB0cnVlKSwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBiZWNvbWluZyBoaWRkZW4gLT4gc3RvcCB0aW1lcnMgYW5kIGVuc3VyZSBjbG9zZWQgc3RhdGVcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgfVxuXG4gICAgLy8gdXNlZCBieSB0aGUgw5cgYnV0dG9uLCBkb25lIGJ1dHRvbiwgYW5kIGF1dG8tZGlzbWlzc1xuICAgIGNsb3NlKGVtaXRCdXR0b25DbGlja2VkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiAhdGhpcy52aXNpYmxlKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTsgLy8gdHJpZ2dlcnMgZXhpdCB0cmFuc2l0aW9uXG5cbiAgICAgICAgLy8gYWZ0ZXIgZXhpdCBhbmltYXRpb24sIGhpZGUgKyBub3RpZnlcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlbWl0QnV0dG9uQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgICAgIH0sIHRoaXMuRVhJVF9NUyk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBTdGF0dXMge1xuICAgICAgICByZXR1cm4gcHVycG9zZVRvU3RhdHVzTWFwW3RoaXMucHVycG9zZV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydERpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9EaXNtaXNzKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMucHJvZ3Jlc3NNcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckRpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc1RpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kaXNtaXNzVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHZpc2libGUpIHtcbiAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cInNuYWNrYmFyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2lzLWRlZmF1bHQnOiBwdXJwb3NlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnaXMtaW5mbyc6IHB1cnBvc2UgPT09ICdpbmZvJyxcbiAgICAgICAgICAgICdpcy1zdWNjZXNzJzogcHVycG9zZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ2lzLWVycm9yJzogcHVycG9zZSA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAgICdpcy13YXJuaW5nJzogcHVycG9zZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc09wZW4sXG4gICAgICAgIH1cIlxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgW3N0eWxlLi0tc25hY2tiYXItcHJvZ3Jlc3MtZHVyYXRpb25dPVwicHJvZ3Jlc3NNcyArICdtcydcIlxuICAgICAgICBbc3R5bGUudG9wLnB4XT1cInlcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19sZWZ0XCI+XG4gICAgICAgICAgICBAaWYoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX190aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NuYWNrYmFyX190aXRsZS1pY29uJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFzLWljb24nOiBzaG93VGl0bGUgJiYgc2hvd1RpdGxlSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3dUaXRsZSAmJiBzaG93VGl0bGVJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwidGl0bGVJY29uRmlsbGVkID8gJ21hdGVyaWFsLWljb25zJyA6ICdtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInNuYWNrYmFyLXRpdGxlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGVJY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzbmFja2Jhcl9fdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwic25hY2tiYXJfX2Rlc2NcIj5cbiAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgQGlmIChzaG93RmllbGQpIHtcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzbmFja2Jhcl9faW5wdXRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJmaWVsZFBsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2hvd0J1dHRvbikge1xuICAgICAgICAgICAgICAgIDxsaWItc3RhdHVzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17e3N0YXR1c0J1dHRvbklucHV0cz8ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGxlZnRJY29uPXt7c3RhdHVzQnV0dG9uSW5wdXRzPy5sZWZ0SWNvbn19XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0SWNvbj17e3N0YXR1c0J1dHRvbklucHV0cz8ucmlnaHRJY29ufX1cbiAgICAgICAgICAgICAgICAgICAgW2hpZGVMZWZ0SWNvbl09XCJzdGF0dXNCdXR0b25JbnB1dHM/LmhpZGVMZWZ0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlUmlnaHRJY29uXT1cInN0YXR1c0J1dHRvbklucHV0cz8uaGlkZVJpZ2h0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhclZhcmlhbnRdPVwic3RhdHVzQnV0dG9uSW5wdXRzPy5jbGVhclZhcmlhbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIlxuICAgICAgICAgICAgICAgID48L2xpYi1zdGF0dXMtYnV0dG9uPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInNuYWNrYmFyX19jbG9zZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJzaG93Q2xvc2UgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIMOXXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICBAaWYgKHNob3dQcm9ncmVzc0Jhcikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19wcm9ncmVzc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbmFja2Jhcl9fcHJvZ3Jlc3MtZmlsbFwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L3NlY3Rpb24+XG59XG4iXX0=
@@ -1,90 +0,0 @@
1
- import { Injectable, createComponent } from '@angular/core';
2
- import { SnackbarComponent } from './snackbar.component';
3
- import * as i0 from "@angular/core";
4
- export class SnackbarService {
5
- constructor(appRef, env) {
6
- this.appRef = appRef;
7
- this.env = env;
8
- }
9
- /**
10
- * This open method is what consuming code will use to create a snackbar
11
- * @param snackbarOptions interface
12
- * @param anchor HTML Element, optional. The snackbar's entrance and exit animations will happen on this element's Y axis (px)
13
- * @returns void.
14
- */
15
- open(snackbarOptions = {}, anchor) {
16
- const statusButtonInputs = {
17
- label: 'Done',
18
- hideLeftIcon: true,
19
- clearVariant: true,
20
- };
21
- const compRef = createComponent(SnackbarComponent, {
22
- environmentInjector: this.env,
23
- });
24
- const desiredY = anchor // could be clamped if above or below viewport
25
- ? anchor.getBoundingClientRect().top
26
- : snackbarOptions.y ?? 24;
27
- Object.assign(compRef.instance, {
28
- purpose: 'warning',
29
- title: 'Snackbar Title',
30
- description: 'Lorem ipsum is the standard dummy text in the design industry',
31
- titleIcon: 'info',
32
- fieldPlaceholder: 'Placeholder',
33
- showTitle: true,
34
- showTitleIcon: true,
35
- titleIconFilled: false,
36
- showClose: true,
37
- showProgressBar: true,
38
- showField: true,
39
- showButton: true,
40
- progressMs: 5000,
41
- autoDismiss: true,
42
- y: desiredY,
43
- right: 24,
44
- zIndex: 10000,
45
- visible: true,
46
- statusButtonInputs,
47
- ...snackbarOptions,
48
- });
49
- this.appRef.attachView(compRef.hostView);
50
- document.body.appendChild(compRef.location.nativeElement);
51
- compRef.changeDetectorRef.detectChanges();
52
- // Clamp Y after it’s in the DOM
53
- const margin = 8;
54
- const adjustY = () => {
55
- const host = compRef.location.nativeElement.querySelector('section.snackbar') ??
56
- compRef.location.nativeElement;
57
- const h = host.offsetHeight || 0;
58
- const maxTop = Math.max(margin, window.innerHeight - h - margin);
59
- const clamped = Math.min(Math.max(desiredY, margin), maxTop);
60
- if (compRef.instance.y !== clamped) {
61
- compRef.instance.y = clamped;
62
- compRef.changeDetectorRef.detectChanges();
63
- }
64
- };
65
- // Measure on next frame (styles applied)
66
- const rafId = requestAnimationFrame(adjustY);
67
- // re-clamp on resize (in case viewport changes while visible)
68
- const onResize = () => adjustY();
69
- window.addEventListener('resize', onResize);
70
- // Cleanup when closed
71
- const sub = compRef.instance.closed.subscribe(() => {
72
- sub.unsubscribe();
73
- cancelAnimationFrame(rafId);
74
- window.removeEventListener('resize', onResize);
75
- this.appRef.detachView(compRef.hostView);
76
- compRef.destroy();
77
- });
78
- return {
79
- close: () => compRef.instance.close(),
80
- buttonClicked: compRef.instance.buttonClicked,
81
- };
82
- }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarService, deps: [{ token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
84
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarService, providedIn: 'root' }); }
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarService, decorators: [{
87
- type: Injectable,
88
- args: [{ providedIn: 'root' }]
89
- }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7O0FBSXpFLE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFlBQ1ksTUFBc0IsRUFDdEIsR0FBd0I7UUFEeEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBcUI7SUFDakMsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLGtCQUFrQyxFQUFFLEVBQUUsTUFBb0I7UUFDM0QsTUFBTSxrQkFBa0IsR0FBdUI7WUFDM0MsS0FBSyxFQUFFLE1BQU07WUFDYixZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsSUFBSTtTQUNyQixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixFQUFFO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2hDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyw4Q0FBOEM7WUFDbEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUc7WUFDcEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUM1QixPQUFPLEVBQUUsU0FBUztZQUNsQixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLFdBQVcsRUFBRSwrREFBK0Q7WUFDNUUsU0FBUyxFQUFFLE1BQU07WUFDakIsZ0JBQWdCLEVB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QUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgQXBwbGljYXRpb25SZWYsIEVudmlyb25tZW50SW5qZWN0b3IsIGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQsIFNuYWNrYmFySW5wdXRzIH0gZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhdHVzQnV0dG9uSW5wdXRzIH0gZnJvbSAnLi4vc3RhdHVzLWJ1dHRvbi9zdGF0dXMtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU25hY2tiYXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGVudjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG9wZW4gbWV0aG9kIGlzIHdoYXQgY29uc3VtaW5nIGNvZGUgd2lsbCB1c2UgdG8gY3JlYXRlIGEgc25hY2tiYXJcbiAgICAgKiBAcGFyYW0gc25hY2tiYXJPcHRpb25zIGludGVyZmFjZVxuICAgICAqIEBwYXJhbSBhbmNob3IgSFRNTCBFbGVtZW50LCBvcHRpb25hbC4gVGhlIHNuYWNrYmFyJ3MgZW50cmFuY2UgYW5kIGV4aXQgYW5pbWF0aW9ucyB3aWxsIGhhcHBlbiBvbiB0aGlzIGVsZW1lbnQncyBZIGF4aXMgKHB4KVxuICAgICAqIEByZXR1cm5zIHZvaWQuXG4gICAgICovXG4gICAgb3BlbihzbmFja2Jhck9wdGlvbnM6IFNuYWNrYmFySW5wdXRzID0ge30sIGFuY2hvcj86IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHN0YXR1c0J1dHRvbklucHV0czogU3RhdHVzQnV0dG9uSW5wdXRzID0ge1xuICAgICAgICAgICAgbGFiZWw6ICdEb25lJyxcbiAgICAgICAgICAgIGhpZGVMZWZ0SWNvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNsZWFyVmFyaWFudDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY29tcFJlZiA9IGNyZWF0ZUNvbXBvbmVudChTbmFja2JhckNvbXBvbmVudCwge1xuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnYsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGRlc2lyZWRZID0gYW5jaG9yIC8vIGNvdWxkIGJlIGNsYW1wZWQgaWYgYWJvdmUgb3IgYmVsb3cgdmlld3BvcnRcbiAgICAgICAgICAgID8gYW5jaG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcFxuICAgICAgICAgICAgOiBzbmFja2Jhck9wdGlvbnMueSA/PyAyNDtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBSZWYuaW5zdGFuY2UsIHtcbiAgICAgICAgICAgIHB1cnBvc2U6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgIHRpdGxlOiAnU25hY2tiYXIgVGl0bGUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMb3JlbSBpcHN1bSBpcyB0aGUgc3RhbmRhcmQgZHVtbXkgdGV4dCBpbiB0aGUgZGVzaWduIGluZHVzdHJ5JyxcbiAgICAgICAgICAgIHRpdGxlSWNvbjogJ2luZm8nLFxuICAgICAgICAgICAgZmllbGRQbGFjZWhvbGRlcjogJ1BsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgIHNob3dUaXRsZTogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dUaXRsZUljb246IHRydWUsXG4gICAgICAgICAgICB0aXRsZUljb25GaWxsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc2hvd0Nsb3NlOiB0cnVlLFxuICAgICAgICAgICAgc2hvd1Byb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0ZpZWxkOiB0cnVlLFxuICAgICAgICAgICAgc2hvd0J1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHByb2dyZXNzTXM6IDUwMDAsXG4gICAgICAgICAgICBhdXRvRGlzbWlzczogdHJ1ZSxcbiAgICAgICAgICAgIHk6IGRlc2lyZWRZLFxuICAgICAgICAgICAgcmlnaHQ6IDI0LFxuICAgICAgICAgICAgekluZGV4OiAxMDAwMCxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBzdGF0dXNCdXR0b25JbnB1dHMsXG4gICAgICAgICAgICAuLi5zbmFja2Jhck9wdGlvbnMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29tcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29tcFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgLy8gQ2xhbXAgWSBhZnRlciBpdOKAmXMgaW4gdGhlIERPTVxuICAgICAgICBjb25zdCBtYXJnaW4gPSA4O1xuICAgICAgICBjb25zdCBhZGp1c3RZID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaG9zdDogSFRNTEVsZW1lbnQgPVxuICAgICAgICAgICAgICAgIChjb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3IoJ3NlY3Rpb24uc25hY2tiYXInKSA/P1xuICAgICAgICAgICAgICAgIChjb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuXG4gICAgICAgICAgICBjb25zdCBoID0gaG9zdC5vZmZzZXRIZWlnaHQgfHwgMDtcbiAgICAgICAgICAgIGNvbnN0IG1heFRvcCA9IE1hdGgubWF4KG1hcmdpbiwgd2luZG93LmlubmVySGVpZ2h0IC0gaCAtIG1hcmdpbik7XG4gICAgICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5taW4oTWF0aC5tYXgoZGVzaXJlZFksIG1hcmdpbiksIG1heFRvcCk7XG5cbiAgICAgICAgICAgIGlmIChjb21wUmVmLmluc3RhbmNlLnkgIT09IGNsYW1wZWQpIHtcbiAgICAgICAgICAgICAgICBjb21wUmVmLmluc3RhbmNlLnkgPSBjbGFtcGVkO1xuICAgICAgICAgICAgICAgIGNvbXBSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIE1lYXN1cmUgb24gbmV4dCBmcmFtZSAoc3R5bGVzIGFwcGxpZWQpXG4gICAgICAgIGNvbnN0IHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFkanVzdFkpO1xuXG4gICAgICAgIC8vIHJlLWNsYW1wIG9uIHJlc2l6ZSAoaW4gY2FzZSB2aWV3cG9ydCBjaGFuZ2VzIHdoaWxlIHZpc2libGUpXG4gICAgICAgIGNvbnN0IG9uUmVzaXplID0gKCkgPT4gYWRqdXN0WSgpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xuXG4gICAgICAgIC8vIENsZWFudXAgd2hlbiBjbG9zZWRcbiAgICAgICAgY29uc3Qgc3ViID0gY29tcFJlZi5pbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUocmFmSWQpO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcoY29tcFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICBjb21wUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNsb3NlOiAoKSA9PiBjb21wUmVmLmluc3RhbmNlLmNsb3NlKCksXG4gICAgICAgICAgICBidXR0b25DbGlja2VkOiBjb21wUmVmLmluc3RhbmNlLmJ1dHRvbkNsaWNrZWQsXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19