@entake/particle 17.0.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 (208) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +396 -0
  3. package/app/modules/accordion/accordion.component.d.ts +26 -0
  4. package/app/modules/accordion/accordion.module.d.ts +11 -0
  5. package/app/modules/accordion/directives/accordion-content.directive.d.ts +8 -0
  6. package/app/modules/accordion/directives/accordion-header.directive.d.ts +8 -0
  7. package/app/modules/accordion/directives/accordion-item.directive.d.ts +13 -0
  8. package/app/modules/background-carousel/background-carousel.directive.d.ts +42 -0
  9. package/app/modules/background-carousel/carousel-options.model.d.ts +30 -0
  10. package/app/modules/background-carousel/particle-background-carousel.module.d.ts +8 -0
  11. package/app/modules/checkbox/checkbox.component.d.ts +43 -0
  12. package/app/modules/checkbox/checkbox.module.d.ts +9 -0
  13. package/app/modules/color-picker/color-picker.component.d.ts +149 -0
  14. package/app/modules/color-picker/color-picker.module.d.ts +9 -0
  15. package/app/modules/date-picker/components/calendar/calendar.component.d.ts +211 -0
  16. package/app/modules/date-picker/components/date-range-picker/date-range-picker.component.d.ts +95 -0
  17. package/app/modules/date-picker/date-picker.component.d.ts +259 -0
  18. package/app/modules/date-picker/date-picker.module.d.ts +15 -0
  19. package/app/modules/dialog/dialog.component.d.ts +87 -0
  20. package/app/modules/dialog/dialog.module.d.ts +9 -0
  21. package/app/modules/dropdown/dropdown.component.d.ts +288 -0
  22. package/app/modules/dropdown/dropdown.module.d.ts +9 -0
  23. package/app/modules/dropdown/models/dropdown-option-group.model.d.ts +16 -0
  24. package/app/modules/dropdown/models/dropdown-option.model.d.ts +25 -0
  25. package/app/modules/endpoint-state/components/endpoint-state.component.d.ts +46 -0
  26. package/app/modules/endpoint-state/endpoint-state.module.d.ts +8 -0
  27. package/app/modules/icons/components/icon-select.component.d.ts +229 -0
  28. package/app/modules/icons/models/fontawesome-icons-brands.model.d.ts +13 -0
  29. package/app/modules/icons/models/fontawesome-icons-regular.model.d.ts +13 -0
  30. package/app/modules/icons/models/fontawesome-icons-solid.model.d.ts +13 -0
  31. package/app/modules/icons/models/particle-icons-light.model.d.ts +197 -0
  32. package/app/modules/icons/models/particle-icons-regular.model.d.ts +205 -0
  33. package/app/modules/icons/models/particle-icons-solid.model.d.ts +365 -0
  34. package/app/modules/icons/particle-icons.module.d.ts +13 -0
  35. package/app/modules/icons/services/icons.service.d.ts +44 -0
  36. package/app/modules/idle-timeout/idle-timeout.component.d.ts +35 -0
  37. package/app/modules/idle-timeout/idle-timer.d.ts +14 -0
  38. package/app/modules/idle-timeout/particle-idle-timeout.module.d.ts +9 -0
  39. package/app/modules/input-mask/input-mask.component.d.ts +86 -0
  40. package/app/modules/input-mask/input-mask.module.d.ts +8 -0
  41. package/app/modules/keyfilter/keyfilter.directive.d.ts +60 -0
  42. package/app/modules/keyfilter/keyfilter.module.d.ts +8 -0
  43. package/app/modules/layout/components/layout-full-framing/layout-full-framing.component.d.ts +27 -0
  44. package/app/modules/layout/components/layout-fullwidth-sidebar/layout-fullwidth-sidebar.component.d.ts +23 -0
  45. package/app/modules/layout/layout.module.d.ts +10 -0
  46. package/app/modules/loader/components/loader.component.d.ts +11 -0
  47. package/app/modules/loader/loader.module.d.ts +8 -0
  48. package/app/modules/multi-select/models/multi-select-option-group.model.d.ts +16 -0
  49. package/app/modules/multi-select/models/multi-select-option.model.d.ts +25 -0
  50. package/app/modules/multi-select/multi-select.component.d.ts +279 -0
  51. package/app/modules/multi-select/multi-select.module.d.ts +8 -0
  52. package/app/modules/notification/models/notification.model.d.ts +21 -0
  53. package/app/modules/notification/notification.component.d.ts +46 -0
  54. package/app/modules/notification/notification.module.d.ts +8 -0
  55. package/app/modules/notification/services/notification.service.d.ts +54 -0
  56. package/app/modules/ordinal-number-pipe/ordinal-number-pipe.module.d.ts +8 -0
  57. package/app/modules/ordinal-number-pipe/ordinal-number.pipe.d.ts +15 -0
  58. package/app/modules/paginator/pagination-event.model.d.ts +24 -0
  59. package/app/modules/paginator/paginator.component.d.ts +103 -0
  60. package/app/modules/paginator/particle-paginator.module.d.ts +13 -0
  61. package/app/modules/popover/popover.component.d.ts +140 -0
  62. package/app/modules/popover/popover.module.d.ts +9 -0
  63. package/app/modules/profile-pic/particle-profile-pic.module.d.ts +9 -0
  64. package/app/modules/profile-pic/profile-pic.component.d.ts +32 -0
  65. package/app/modules/progress-bar/progress-bar.component.d.ts +16 -0
  66. package/app/modules/progress-bar/progress-bar.module.d.ts +8 -0
  67. package/app/modules/push-container/particle-push-container.module.d.ts +9 -0
  68. package/app/modules/push-container/push-container-state.model.d.ts +7 -0
  69. package/app/modules/push-container/push-container.component.d.ts +137 -0
  70. package/app/modules/rich-text/particle-rich-text.module.d.ts +15 -0
  71. package/app/modules/rich-text/render-rich-text.component.d.ts +6 -0
  72. package/app/modules/rich-text/rich-text-capabilities.model.d.ts +7 -0
  73. package/app/modules/rich-text/rich-text.component.d.ts +48 -0
  74. package/app/modules/scroll-to-top/particle-scroll-to-top.module.d.ts +8 -0
  75. package/app/modules/scroll-to-top/scroll-to-top.component.d.ts +19 -0
  76. package/app/modules/slideover/particle-slideover.module.d.ts +8 -0
  77. package/app/modules/slideover/slideover.component.d.ts +35 -0
  78. package/app/modules/slider/slider.component.d.ts +143 -0
  79. package/app/modules/slider/slider.module.d.ts +9 -0
  80. package/app/modules/theming/components/theming.component.d.ts +43 -0
  81. package/app/modules/theming/models/theme.model.d.ts +88 -0
  82. package/app/modules/theming/services/theme-change-detection.service.d.ts +26 -0
  83. package/app/modules/theming/services/theming.service.d.ts +142 -0
  84. package/app/modules/theming/theming.module.d.ts +12 -0
  85. package/app/modules/toggle-switch/models/toggle-options.model.d.ts +11 -0
  86. package/app/modules/toggle-switch/toggle-switch.component.d.ts +43 -0
  87. package/app/modules/toggle-switch/toggle-switch.module.d.ts +8 -0
  88. package/app/modules/tooltip/tooltip.directive.d.ts +157 -0
  89. package/app/modules/tooltip/tooltip.module.d.ts +8 -0
  90. package/app/modules/week-picker/week-picker.component.d.ts +289 -0
  91. package/app/modules/week-picker/week-picker.module.d.ts +13 -0
  92. package/app/shared/enums/endpoint-status.enum.d.ts +9 -0
  93. package/app/shared/interceptors/json.interceptor.d.ts +17 -0
  94. package/app/shared/models/auditable.model.d.ts +21 -0
  95. package/app/shared/models/data-list.model.d.ts +9 -0
  96. package/app/shared/models/id.model.d.ts +9 -0
  97. package/app/shared/models/observable-container.d.ts +8 -0
  98. package/app/shared/models/particle-component-text.model.d.ts +211 -0
  99. package/app/shared/services/base-data.service.d.ts +130 -0
  100. package/app/shared/services/dialog.service.d.ts +10 -0
  101. package/app/shared/services/local-storage.service.d.ts +41 -0
  102. package/esm2022/app/modules/accordion/accordion.component.mjs +101 -0
  103. package/esm2022/app/modules/accordion/accordion.module.mjs +37 -0
  104. package/esm2022/app/modules/accordion/directives/accordion-content.directive.mjs +17 -0
  105. package/esm2022/app/modules/accordion/directives/accordion-header.directive.mjs +17 -0
  106. package/esm2022/app/modules/accordion/directives/accordion-item.directive.mjs +36 -0
  107. package/esm2022/app/modules/background-carousel/background-carousel.directive.mjs +91 -0
  108. package/esm2022/app/modules/background-carousel/carousel-options.model.mjs +36 -0
  109. package/esm2022/app/modules/background-carousel/particle-background-carousel.module.mjs +24 -0
  110. package/esm2022/app/modules/checkbox/checkbox.component.mjs +108 -0
  111. package/esm2022/app/modules/checkbox/checkbox.module.mjs +28 -0
  112. package/esm2022/app/modules/color-picker/color-picker.component.mjs +306 -0
  113. package/esm2022/app/modules/color-picker/color-picker.module.mjs +19 -0
  114. package/esm2022/app/modules/date-picker/components/calendar/calendar.component.mjs +496 -0
  115. package/esm2022/app/modules/date-picker/components/date-range-picker/date-range-picker.component.mjs +250 -0
  116. package/esm2022/app/modules/date-picker/date-picker.component.mjs +538 -0
  117. package/esm2022/app/modules/date-picker/date-picker.module.mjs +56 -0
  118. package/esm2022/app/modules/dialog/dialog.component.mjs +177 -0
  119. package/esm2022/app/modules/dialog/dialog.module.mjs +28 -0
  120. package/esm2022/app/modules/dropdown/dropdown.component.mjs +682 -0
  121. package/esm2022/app/modules/dropdown/dropdown.module.mjs +28 -0
  122. package/esm2022/app/modules/dropdown/models/dropdown-option-group.model.mjs +2 -0
  123. package/esm2022/app/modules/dropdown/models/dropdown-option.model.mjs +2 -0
  124. package/esm2022/app/modules/endpoint-state/components/endpoint-state.component.mjs +75 -0
  125. package/esm2022/app/modules/endpoint-state/endpoint-state.module.mjs +22 -0
  126. package/esm2022/app/modules/icons/components/icon-select.component.mjs +377 -0
  127. package/esm2022/app/modules/icons/models/fontawesome-icons-brands.model.mjs +471 -0
  128. package/esm2022/app/modules/icons/models/fontawesome-icons-regular.model.mjs +166 -0
  129. package/esm2022/app/modules/icons/models/fontawesome-icons-solid.model.mjs +1016 -0
  130. package/esm2022/app/modules/icons/models/particle-icons-light.model.mjs +310 -0
  131. package/esm2022/app/modules/icons/models/particle-icons-regular.model.mjs +324 -0
  132. package/esm2022/app/modules/icons/models/particle-icons-solid.model.mjs +581 -0
  133. package/esm2022/app/modules/icons/particle-icons.module.mjs +66 -0
  134. package/esm2022/app/modules/icons/services/icons.service.mjs +86 -0
  135. package/esm2022/app/modules/idle-timeout/idle-timeout.component.mjs +85 -0
  136. package/esm2022/app/modules/idle-timeout/idle-timer.mjs +66 -0
  137. package/esm2022/app/modules/idle-timeout/particle-idle-timeout.module.mjs +28 -0
  138. package/esm2022/app/modules/input-mask/input-mask.component.mjs +594 -0
  139. package/esm2022/app/modules/input-mask/input-mask.module.mjs +18 -0
  140. package/esm2022/app/modules/keyfilter/keyfilter.directive.mjs +158 -0
  141. package/esm2022/app/modules/keyfilter/keyfilter.module.mjs +18 -0
  142. package/esm2022/app/modules/layout/components/layout-full-framing/layout-full-framing.component.mjs +79 -0
  143. package/esm2022/app/modules/layout/components/layout-fullwidth-sidebar/layout-fullwidth-sidebar.component.mjs +65 -0
  144. package/esm2022/app/modules/layout/layout.module.mjs +33 -0
  145. package/esm2022/app/modules/loader/components/loader.component.mjs +30 -0
  146. package/esm2022/app/modules/loader/loader.module.mjs +24 -0
  147. package/esm2022/app/modules/multi-select/models/multi-select-option-group.model.mjs +2 -0
  148. package/esm2022/app/modules/multi-select/models/multi-select-option.model.mjs +2 -0
  149. package/esm2022/app/modules/multi-select/multi-select.component.mjs +665 -0
  150. package/esm2022/app/modules/multi-select/multi-select.module.mjs +18 -0
  151. package/esm2022/app/modules/notification/models/notification.model.mjs +2 -0
  152. package/esm2022/app/modules/notification/notification.component.mjs +122 -0
  153. package/esm2022/app/modules/notification/notification.module.mjs +18 -0
  154. package/esm2022/app/modules/notification/services/notification.service.mjs +84 -0
  155. package/esm2022/app/modules/ordinal-number-pipe/ordinal-number-pipe.module.mjs +20 -0
  156. package/esm2022/app/modules/ordinal-number-pipe/ordinal-number.pipe.mjs +49 -0
  157. package/esm2022/app/modules/paginator/pagination-event.model.mjs +29 -0
  158. package/esm2022/app/modules/paginator/paginator.component.mjs +207 -0
  159. package/esm2022/app/modules/paginator/particle-paginator.module.mjs +48 -0
  160. package/esm2022/app/modules/popover/popover.component.mjs +352 -0
  161. package/esm2022/app/modules/popover/popover.module.mjs +24 -0
  162. package/esm2022/app/modules/profile-pic/particle-profile-pic.module.mjs +28 -0
  163. package/esm2022/app/modules/profile-pic/profile-pic.component.mjs +74 -0
  164. package/esm2022/app/modules/progress-bar/progress-bar.component.mjs +43 -0
  165. package/esm2022/app/modules/progress-bar/progress-bar.module.mjs +24 -0
  166. package/esm2022/app/modules/push-container/particle-push-container.module.mjs +26 -0
  167. package/esm2022/app/modules/push-container/push-container-state.model.mjs +2 -0
  168. package/esm2022/app/modules/push-container/push-container.component.mjs +363 -0
  169. package/esm2022/app/modules/rich-text/particle-rich-text.module.mjs +64 -0
  170. package/esm2022/app/modules/rich-text/render-rich-text.component.mjs +18 -0
  171. package/esm2022/app/modules/rich-text/rich-text-capabilities.model.mjs +2 -0
  172. package/esm2022/app/modules/rich-text/rich-text.component.mjs +187 -0
  173. package/esm2022/app/modules/scroll-to-top/particle-scroll-to-top.module.mjs +24 -0
  174. package/esm2022/app/modules/scroll-to-top/scroll-to-top.component.mjs +49 -0
  175. package/esm2022/app/modules/slideover/particle-slideover.module.mjs +24 -0
  176. package/esm2022/app/modules/slideover/slideover.component.mjs +115 -0
  177. package/esm2022/app/modules/slider/slider.component.mjs +243 -0
  178. package/esm2022/app/modules/slider/slider.module.mjs +26 -0
  179. package/esm2022/app/modules/theming/components/theming.component.mjs +86 -0
  180. package/esm2022/app/modules/theming/models/theme.model.mjs +9 -0
  181. package/esm2022/app/modules/theming/services/theme-change-detection.service.mjs +38 -0
  182. package/esm2022/app/modules/theming/services/theming.service.mjs +507 -0
  183. package/esm2022/app/modules/theming/theming.module.mjs +55 -0
  184. package/esm2022/app/modules/toggle-switch/models/toggle-options.model.mjs +2 -0
  185. package/esm2022/app/modules/toggle-switch/toggle-switch.component.mjs +107 -0
  186. package/esm2022/app/modules/toggle-switch/toggle-switch.module.mjs +24 -0
  187. package/esm2022/app/modules/tooltip/tooltip.directive.mjs +381 -0
  188. package/esm2022/app/modules/tooltip/tooltip.module.mjs +18 -0
  189. package/esm2022/app/modules/week-picker/week-picker.component.mjs +511 -0
  190. package/esm2022/app/modules/week-picker/week-picker.module.mjs +40 -0
  191. package/esm2022/app/shared/enums/endpoint-status.enum.mjs +11 -0
  192. package/esm2022/app/shared/interceptors/json.interceptor.mjs +23 -0
  193. package/esm2022/app/shared/models/auditable.model.mjs +2 -0
  194. package/esm2022/app/shared/models/data-list.model.mjs +2 -0
  195. package/esm2022/app/shared/models/id.model.mjs +2 -0
  196. package/esm2022/app/shared/models/observable-container.mjs +15 -0
  197. package/esm2022/app/shared/models/particle-component-text.model.mjs +2 -0
  198. package/esm2022/app/shared/services/base-data.service.mjs +190 -0
  199. package/esm2022/app/shared/services/dialog.service.mjs +50 -0
  200. package/esm2022/app/shared/services/local-storage.service.mjs +60 -0
  201. package/esm2022/entake-particle.mjs +5 -0
  202. package/esm2022/public_api.mjs +98 -0
  203. package/fesm2022/entake-particle.mjs +12477 -0
  204. package/fesm2022/entake-particle.mjs.map +1 -0
  205. package/index.d.ts +5 -0
  206. package/package.json +65 -0
  207. package/particle.css +1 -0
  208. package/public_api.d.ts +97 -0
@@ -0,0 +1,363 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../tooltip/tooltip.directive";
6
+ /**
7
+ * Push Container that'll either push the content or overlay the content based on screen width.
8
+ */
9
+ export class PushContainerComponent {
10
+ _width = 230;
11
+ /**
12
+ * Width of the container in pixels.
13
+ */
14
+ set width(width) {
15
+ this._width = width;
16
+ this.setMargin(width + 'px');
17
+ this.updateContainerState();
18
+ }
19
+ get width() {
20
+ return this._width;
21
+ }
22
+ /**
23
+ * Show the side panel on load?
24
+ */
25
+ showSidePanel = false;
26
+ /**
27
+ * Main Content ID that will be pushed by this
28
+ */
29
+ mainContentId = null;
30
+ /**
31
+ * Side to push from (left/right)
32
+ */
33
+ side = 'left';
34
+ /**
35
+ * Top offset to account for a nav bar
36
+ */
37
+ set topOffset(topOffset) {
38
+ this._topOffset = topOffset;
39
+ this._originalTopOffset = topOffset;
40
+ this.setDefaultHeight();
41
+ this.updateContainerState();
42
+ }
43
+ get topOffset() {
44
+ return this._topOffset;
45
+ }
46
+ _topOffset = '0px';
47
+ set bottomOffset(bottomOffset) {
48
+ this._bottomOffset = bottomOffset;
49
+ this.setDefaultHeight();
50
+ this.updateContainerState();
51
+ }
52
+ get bottomOffset() {
53
+ return this._bottomOffset;
54
+ }
55
+ _bottomOffset = '0px';
56
+ /**
57
+ * If the screen resizes, it will either overlay or close depending on this variable
58
+ */
59
+ closeOnResize = false;
60
+ /**
61
+ * Background color for the container
62
+ */
63
+ backgroundColorClass = 'content_color';
64
+ /**
65
+ * Breakpoint that will make the container take over the screen when it's crossed.
66
+ */
67
+ breakpoint = 769;
68
+ /**
69
+ * Whether to always hide the close button, defaults to false.
70
+ */
71
+ hideCloseButton = false;
72
+ showTabOnClose = false;
73
+ tabColorClass = 'content_color_dark_2';
74
+ text = {
75
+ close: 'Close',
76
+ expand: 'Expand'
77
+ };
78
+ /**
79
+ * Event emitter for open
80
+ */
81
+ opened = new EventEmitter();
82
+ /**
83
+ * Event emitter for close
84
+ */
85
+ closed = new EventEmitter();
86
+ /**
87
+ * Visibility variable for accessibility
88
+ */
89
+ visibility = false;
90
+ unclickable = false;
91
+ /**
92
+ * Private variable to detect if the breakpoint is exceeded
93
+ */
94
+ breakpointExceeded = false;
95
+ containerState = new BehaviorSubject({});
96
+ zIndex = null;
97
+ _height = null;
98
+ _lastWidth = 0;
99
+ _originalTopOffset = null;
100
+ _originalHideCloseButton = null;
101
+ /**
102
+ * Constructor
103
+ */
104
+ ngOnInit() {
105
+ this.visibility = this.showSidePanel;
106
+ }
107
+ /**
108
+ * Show or close the push container on load depending on the state passed in.
109
+ */
110
+ ngAfterViewInit() {
111
+ this._lastWidth = window.innerWidth;
112
+ this._originalTopOffset = this.topOffset + '';
113
+ this._originalHideCloseButton = Boolean(this.hideCloseButton);
114
+ this.setDefaultHeight();
115
+ const element = document.getElementById(this.mainContentId);
116
+ if (element) {
117
+ element.style.transition = 'all 0.2s ease-in-out';
118
+ }
119
+ if (window.innerWidth > 768 && this.showSidePanel) {
120
+ this.setMargin(this.width + 'px');
121
+ }
122
+ else {
123
+ setTimeout(() => {
124
+ this.close();
125
+ }, 100);
126
+ }
127
+ setTimeout(() => {
128
+ if (this.breakpoint && (window.innerWidth <= this.breakpoint)) {
129
+ this.breakpointExceeded = true;
130
+ }
131
+ this.updateContainerState();
132
+ });
133
+ }
134
+ /**
135
+ * Close the push container on destroy
136
+ */
137
+ ngOnDestroy() {
138
+ this.showTabOnClose = false;
139
+ this.close();
140
+ }
141
+ /**
142
+ * Monitor the screen size and perform actions as specified by the input options
143
+ *
144
+ * @param event
145
+ */
146
+ onResize(event) {
147
+ if (event.target.innerWidth <= 768 && this._lastWidth > 768 && this.showSidePanel) {
148
+ if (this.closeOnResize) {
149
+ this.showSidePanel = false;
150
+ setTimeout(() => this.visibility = false, 200);
151
+ this.closed.emit();
152
+ }
153
+ this.setMargin('0px');
154
+ }
155
+ else if (event.target.innerWidth > 768 && this.showSidePanel) {
156
+ this.setMargin(this.width + 'px');
157
+ this.topOffset = this._originalTopOffset + '';
158
+ this.hideCloseButton = Boolean(this._originalHideCloseButton);
159
+ this.zIndex = null;
160
+ this.setDefaultHeight();
161
+ }
162
+ if (event.target.innerWidth > 768 && this._lastWidth <= 768 && this.closeOnResize) {
163
+ this.showSidePanel = true;
164
+ this.visibility = true;
165
+ this.opened.emit();
166
+ this.setMargin(this.width + 'px');
167
+ }
168
+ if (this.breakpoint) {
169
+ this.breakpointExceeded = event.target.innerWidth < this.breakpoint;
170
+ }
171
+ this.updateContainerState();
172
+ this._lastWidth = event.target.innerWidth;
173
+ }
174
+ /**
175
+ * Open or close based on current state.
176
+ */
177
+ toggle() {
178
+ if (!this.unclickable) {
179
+ this.unclickable = true;
180
+ setTimeout(() => this.unclickable = false, 500);
181
+ if (this.showSidePanel) {
182
+ this.close();
183
+ }
184
+ else {
185
+ this.open();
186
+ }
187
+ }
188
+ }
189
+ /**
190
+ * Open the push container
191
+ *
192
+ * @param init
193
+ */
194
+ open(init) {
195
+ if (init && window.innerWidth <= 768) {
196
+ return;
197
+ }
198
+ this.visibility = true;
199
+ this.showSidePanel = true;
200
+ this.opened.emit({});
201
+ if (window.innerWidth > 768) {
202
+ this.setMargin(this.width + 'px');
203
+ this._topOffset = this._originalTopOffset;
204
+ }
205
+ else {
206
+ this._topOffset = '0';
207
+ this.zIndex = 'var(--z-overlay)';
208
+ this.hideCloseButton = false;
209
+ this._height = '100%';
210
+ }
211
+ this.updateContainerState();
212
+ }
213
+ /**
214
+ * Close the push container
215
+ */
216
+ close() {
217
+ this.showSidePanel = false;
218
+ this.closed.emit({});
219
+ this.setMargin('0px');
220
+ this.setDefaultHeight();
221
+ this.updateContainerState();
222
+ setTimeout(() => {
223
+ this.visibility = false;
224
+ this.topOffset = this._originalTopOffset + '';
225
+ this.hideCloseButton = Boolean(this._originalHideCloseButton);
226
+ this.zIndex = null;
227
+ }, 200);
228
+ }
229
+ /**
230
+ * Set the margin
231
+ *
232
+ * @param size
233
+ */
234
+ setMargin(size) {
235
+ const element = document.getElementById(this.mainContentId);
236
+ if (!element) {
237
+ return;
238
+ }
239
+ if (this.showTabOnClose && size === '0px' && window.innerWidth > 768) {
240
+ size = '15px';
241
+ }
242
+ if (this.side.toLowerCase() === 'left') {
243
+ element.style.marginLeft = size;
244
+ if (size === '0px') {
245
+ element.style.removeProperty('margin-left');
246
+ }
247
+ }
248
+ else if (this.side.toLowerCase() === 'right') {
249
+ element.style.marginRight = size;
250
+ if (size === '0px') {
251
+ element.style.removeProperty('margin-right');
252
+ }
253
+ }
254
+ }
255
+ /**
256
+ * Get the width of the container
257
+ */
258
+ getWidth() {
259
+ if (this.breakpointExceeded && this.showSidePanel) {
260
+ return '100%';
261
+ }
262
+ else {
263
+ return this.width + 'px';
264
+ }
265
+ }
266
+ /**
267
+ * Get the side panel class based on the current state.
268
+ */
269
+ getSidePanelClass() {
270
+ if (this.showSidePanel) {
271
+ return this.backgroundColorClass + ' layout_sidebar_active_' + this.side.toLowerCase();
272
+ }
273
+ else {
274
+ return this.backgroundColorClass + ' layout_sidebar_inactive_' + this.side.toLowerCase();
275
+ }
276
+ }
277
+ /**
278
+ * Get the left size based on the options
279
+ */
280
+ getLeftProperty() {
281
+ if (this.side !== 'left') {
282
+ return '';
283
+ }
284
+ else {
285
+ if (this.showSidePanel) {
286
+ return '0';
287
+ }
288
+ else {
289
+ return '-' + this.width + 'px';
290
+ }
291
+ }
292
+ }
293
+ /**
294
+ * Get the right size based on the options
295
+ */
296
+ getRightProperty() {
297
+ if (this.side !== 'right') {
298
+ return '';
299
+ }
300
+ else {
301
+ if (this.showSidePanel) {
302
+ return '0';
303
+ }
304
+ else {
305
+ return '-' + (this.width + 20) + 'px';
306
+ }
307
+ }
308
+ }
309
+ updateContainerState() {
310
+ this.containerState.next({
311
+ right: this.getRightProperty(),
312
+ left: this.getLeftProperty(),
313
+ sidePanelClass: this.getSidePanelClass(),
314
+ height: this._height,
315
+ topOffset: this._topOffset
316
+ });
317
+ }
318
+ setDefaultHeight() {
319
+ const offset = +this.topOffset.replace(/\D/g, "") +
320
+ +this.bottomOffset.replace(/\D/g, "");
321
+ this._height = `calc(100% - ${offset}px)`;
322
+ }
323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: PushContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
324
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: PushContainerComponent, selector: "particle-push-container", inputs: { width: "width", showSidePanel: "showSidePanel", mainContentId: "mainContentId", side: "side", topOffset: "topOffset", bottomOffset: "bottomOffset", closeOnResize: "closeOnResize", backgroundColorClass: "backgroundColorClass", breakpoint: "breakpoint", hideCloseButton: "hideCloseButton", showTabOnClose: "showTabOnClose", tabColorClass: "tabColorClass", text: "text" }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<ng-container *ngIf=\"containerState | async as state\">\r\n <div class=\"layout_sidebar\"\r\n [ngClass]=\"state.sidePanelClass\"\r\n [style.top]=\"state.topOffset\"\r\n [style.height]=\"state.height\"\r\n [style.width]=\"(breakpointExceeded && showSidePanel) ? '100%' : width + 'px'\"\r\n [style.left]=\"state.left\"\r\n [style.right]=\"state.right\"\r\n [style.visibility]=\"visibility ? 'visible' : 'hidden'\"\r\n [style.z-index]=\"zIndex\">\r\n <div class=\"push_close_bar\" *ngIf=\"(!hideCloseButton || breakpointExceeded) && !hideCloseButton\">\r\n <button (click)=\"close()\" class=\"data_hide_button access\" tabindex=\"0\" [attr.aria-label]=\"text.close\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"showSidePanel\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"!visibility && showTabOnClose\"\r\n class=\"btn md side_panel_tab center_center hide_element access\"\r\n [ngClass]=\"tabColorClass\"\r\n [style.top]=\"state.topOffset\"\r\n [style.height]=\"'calc(100% - ' + state.topOffset + ')'\"\r\n (click)=\"open()\"\r\n [style.left]=\"side === 'left' ? 0 : undefined\"\r\n [style.right]=\"side !== 'left' ? 0 : undefined\"\r\n [particleTooltip]=\"text.expand\"\r\n [attr.aria-label]=\"text.expand\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div class=\"text md\">\r\n <i [ngClass]=\"side === 'left' ? 'fas fa-angle-right' : 'fas fa-angle-left'\"></i>\r\n </div>\r\n </button>\r\n</ng-container>\r\n", styles: [".layout_sidebar{position:fixed;-webkit-user-select:none;user-select:none}.push_close_bar{position:absolute;right:0;top:0;width:45px;height:45px;display:flex;justify-content:center;align-items:center}.layout_sidebar_inactive_left,.layout_sidebar_active_left{transition:left .2s ease-in-out}.layout_sidebar_inactive_right,.layout_sidebar_active_right{transition:right .2s ease-in-out}.side_panel_push{margin-left:230px;float:left;position:relative}.side_panel_push_inactive{display:none}.side_panel_tab{position:fixed;z-index:var(--z-overlay);-webkit-user-select:none;user-select:none;width:15px;overflow:hidden;cursor:pointer;box-shadow:5px 0 3px -1px #00000059;transition:all .2s ease-in-out}.side_panel_tab:hover{width:25px}.data_hide_button{float:right;display:flex;align-items:center;justify-content:center;font-size:9pt;min-height:20px;height:20px;min-width:20px;width:20px;border-radius:50%;cursor:pointer;padding:0;transition:all .2s ease-in-out;background-color:#ffffffe6;color:#0006;border:1px solid rgba(0,0,0,.1)}.data_hide_button:hover{background-color:#0000004d;color:#fffc;border:1px solid rgba(0,0,0,.1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
325
+ }
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: PushContainerComponent, decorators: [{
327
+ type: Component,
328
+ args: [{ selector: 'particle-push-container', template: "<ng-container *ngIf=\"containerState | async as state\">\r\n <div class=\"layout_sidebar\"\r\n [ngClass]=\"state.sidePanelClass\"\r\n [style.top]=\"state.topOffset\"\r\n [style.height]=\"state.height\"\r\n [style.width]=\"(breakpointExceeded && showSidePanel) ? '100%' : width + 'px'\"\r\n [style.left]=\"state.left\"\r\n [style.right]=\"state.right\"\r\n [style.visibility]=\"visibility ? 'visible' : 'hidden'\"\r\n [style.z-index]=\"zIndex\">\r\n <div class=\"push_close_bar\" *ngIf=\"(!hideCloseButton || breakpointExceeded) && !hideCloseButton\">\r\n <button (click)=\"close()\" class=\"data_hide_button access\" tabindex=\"0\" [attr.aria-label]=\"text.close\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"showSidePanel\">\r\n <ng-content></ng-content>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"!visibility && showTabOnClose\"\r\n class=\"btn md side_panel_tab center_center hide_element access\"\r\n [ngClass]=\"tabColorClass\"\r\n [style.top]=\"state.topOffset\"\r\n [style.height]=\"'calc(100% - ' + state.topOffset + ')'\"\r\n (click)=\"open()\"\r\n [style.left]=\"side === 'left' ? 0 : undefined\"\r\n [style.right]=\"side !== 'left' ? 0 : undefined\"\r\n [particleTooltip]=\"text.expand\"\r\n [attr.aria-label]=\"text.expand\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div class=\"text md\">\r\n <i [ngClass]=\"side === 'left' ? 'fas fa-angle-right' : 'fas fa-angle-left'\"></i>\r\n </div>\r\n </button>\r\n</ng-container>\r\n", styles: [".layout_sidebar{position:fixed;-webkit-user-select:none;user-select:none}.push_close_bar{position:absolute;right:0;top:0;width:45px;height:45px;display:flex;justify-content:center;align-items:center}.layout_sidebar_inactive_left,.layout_sidebar_active_left{transition:left .2s ease-in-out}.layout_sidebar_inactive_right,.layout_sidebar_active_right{transition:right .2s ease-in-out}.side_panel_push{margin-left:230px;float:left;position:relative}.side_panel_push_inactive{display:none}.side_panel_tab{position:fixed;z-index:var(--z-overlay);-webkit-user-select:none;user-select:none;width:15px;overflow:hidden;cursor:pointer;box-shadow:5px 0 3px -1px #00000059;transition:all .2s ease-in-out}.side_panel_tab:hover{width:25px}.data_hide_button{float:right;display:flex;align-items:center;justify-content:center;font-size:9pt;min-height:20px;height:20px;min-width:20px;width:20px;border-radius:50%;cursor:pointer;padding:0;transition:all .2s ease-in-out;background-color:#ffffffe6;color:#0006;border:1px solid rgba(0,0,0,.1)}.data_hide_button:hover{background-color:#0000004d;color:#fffc;border:1px solid rgba(0,0,0,.1)}\n"] }]
329
+ }], propDecorators: { width: [{
330
+ type: Input
331
+ }], showSidePanel: [{
332
+ type: Input
333
+ }], mainContentId: [{
334
+ type: Input
335
+ }], side: [{
336
+ type: Input
337
+ }], topOffset: [{
338
+ type: Input
339
+ }], bottomOffset: [{
340
+ type: Input
341
+ }], closeOnResize: [{
342
+ type: Input
343
+ }], backgroundColorClass: [{
344
+ type: Input
345
+ }], breakpoint: [{
346
+ type: Input
347
+ }], hideCloseButton: [{
348
+ type: Input
349
+ }], showTabOnClose: [{
350
+ type: Input
351
+ }], tabColorClass: [{
352
+ type: Input
353
+ }], text: [{
354
+ type: Input
355
+ }], opened: [{
356
+ type: Output
357
+ }], closed: [{
358
+ type: Output
359
+ }], onResize: [{
360
+ type: HostListener,
361
+ args: ['window:resize', ['$event']]
362
+ }] } });
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3B1c2gtY29udGFpbmVyL3B1c2gtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9wdXNoLWNvbnRhaW5lci9wdXNoLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7QUFHckM7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBRXpCLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFFckI7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBRUgsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0Qjs7T0FFRztJQUVILGFBQWEsR0FBVyxJQUFXLENBQUM7SUFFcEM7O09BRUc7SUFFSCxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBRWQ7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxTQUFpQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FB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TixJQUFJO3NCQURILEtBQUs7Z0JBVU4sTUFBTTtzQkFETCxNQUFNO2dCQU9QLE1BQU07c0JBREwsTUFBTTtnQkE2RVAsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1B1c2hDb250YWluZXJTdGF0ZX0gZnJvbSAnLi9wdXNoLWNvbnRhaW5lci1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtQdXNoQ29udGFpbmVyVGV4dH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9wYXJ0aWNsZS1jb21wb25lbnQtdGV4dC5tb2RlbCc7XHJcblxyXG4vKipcclxuICogUHVzaCBDb250YWluZXIgdGhhdCdsbCBlaXRoZXIgcHVzaCB0aGUgY29udGVudCBvciBvdmVybGF5IHRoZSBjb250ZW50IGJhc2VkIG9uIHNjcmVlbiB3aWR0aC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGFydGljbGUtcHVzaC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wdXNoLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcHVzaC1jb250YWluZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQdXNoQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIF93aWR0aCA9IDIzMDtcclxuXHJcbiAgLyoqXHJcbiAgICogV2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBwaXhlbHMuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgd2lkdGgod2lkdGg6IG51bWJlcikge1xyXG4gICAgdGhpcy5fd2lkdGggPSB3aWR0aDtcclxuICAgIHRoaXMuc2V0TWFyZ2luKHdpZHRoICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lclN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgd2lkdGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgdGhlIHNpZGUgcGFuZWwgb24gbG9hZD9cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNob3dTaWRlUGFuZWwgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWFpbiBDb250ZW50IElEIHRoYXQgd2lsbCBiZSBwdXNoZWQgYnkgdGhpc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbWFpbkNvbnRlbnRJZDogc3RyaW5nID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNpZGUgdG8gcHVzaCBmcm9tIChsZWZ0L3JpZ2h0KVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2lkZSA9ICdsZWZ0JztcclxuXHJcbiAgLyoqXHJcbiAgICogVG9wIG9mZnNldCB0byBhY2NvdW50IGZvciBhIG5hdiBiYXJcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b3BPZmZzZXQodG9wT2Zmc2V0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3RvcE9mZnNldCA9IHRvcE9mZnNldDtcclxuICAgIHRoaXMuX29yaWdpbmFsVG9wT2Zmc2V0ID0gdG9wT2Zmc2V0O1xyXG4gICAgdGhpcy5zZXREZWZhdWx0SGVpZ2h0KCk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lclN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdG9wT2Zmc2V0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdG9wT2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdG9wT2Zmc2V0ID0gJzBweCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGJvdHRvbU9mZnNldChib3R0b21PZmZzZXQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fYm90dG9tT2Zmc2V0ID0gYm90dG9tT2Zmc2V0O1xyXG4gICAgdGhpcy5zZXREZWZhdWx0SGVpZ2h0KCk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lclN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgYm90dG9tT2Zmc2V0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm90dG9tT2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYm90dG9tT2Zmc2V0ID0gJzBweCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBzY3JlZW4gcmVzaXplcywgaXQgd2lsbCBlaXRoZXIgb3ZlcmxheSBvciBjbG9zZSBkZXBlbmRpbmcgb24gdGhpcyB2YXJpYWJsZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgY2xvc2VPblJlc2l6ZSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBiYWNrZ3JvdW5kQ29sb3JDbGFzcyA9ICdjb250ZW50X2NvbG9yJztcclxuXHJcbiAgLyoqXHJcbiAgICogQnJlYWtwb2ludCB0aGF0IHdpbGwgbWFrZSB0aGUgY29udGFpbmVyIHRha2Ugb3ZlciB0aGUgc2NyZWVuIHdoZW4gaXQncyBjcm9zc2VkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYnJlYWtwb2ludCA9IDc2OTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0byBhbHdheXMgaGlkZSB0aGUgY2xvc2UgYnV0dG9uLCBkZWZhdWx0cyB0byBmYWxzZS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGhpZGVDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUYWJPbkNsb3NlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGFiQ29sb3JDbGFzcyA9ICdjb250ZW50X2NvbG9yX2RhcmtfMic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dDogUHVzaENvbnRhaW5lclRleHQgPSB7XHJcbiAgICBjbG9zZTogJ0Nsb3NlJyxcclxuICAgIGV4cGFuZDogJ0V4cGFuZCdcclxuICB9IGFzIFB1c2hDb250YWluZXJUZXh0O1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVyIGZvciBvcGVuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgb3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlciBmb3IgY2xvc2VcclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBWaXNpYmlsaXR5IHZhcmlhYmxlIGZvciBhY2Nlc3NpYmlsaXR5XHJcbiAgICovXHJcbiAgdmlzaWJpbGl0eSA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHVuY2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByaXZhdGUgdmFyaWFibGUgdG8gZGV0ZWN0IGlmIHRoZSBicmVha3BvaW50IGlzIGV4Y2VlZGVkXHJcbiAgICovXHJcbiAgYnJlYWtwb2ludEV4Y2VlZGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnRhaW5lclN0YXRlOiBCZWhhdmlvclN1YmplY3Q8UHVzaENvbnRhaW5lclN0YXRlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHVzaENvbnRhaW5lclN0YXRlPih7fSBhcyBQdXNoQ29udGFpbmVyU3RhdGUpO1xyXG5cclxuICB6SW5kZXg6IHN0cmluZyA9IG51bGwgYXMgYW55O1xyXG4gIHByaXZhdGUgX2hlaWdodDogc3RyaW5nID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIHByaXZhdGUgX2xhc3RXaWR0aCA9IDA7XHJcbiAgcHJpdmF0ZSBfb3JpZ2luYWxUb3BPZmZzZXQ6IHN0cmluZyA9IG51bGwgYXMgYW55O1xyXG4gIHByaXZhdGUgX29yaWdpbmFsSGlkZUNsb3NlQnV0dG9uOiBib29sZWFuID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2liaWxpdHkgPSB0aGlzLnNob3dTaWRlUGFuZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaG93IG9yIGNsb3NlIHRoZSBwdXNoIGNvbnRhaW5lciBvbiBsb2FkIGRlcGVuZGluZyBvbiB0aGUgc3RhdGUgcGFzc2VkIGluLlxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xhc3RXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgdGhpcy5fb3JpZ2luYWxUb3BPZmZzZXQgPSB0aGlzLnRvcE9mZnNldCArICcnO1xyXG4gICAgdGhpcy5fb3JpZ2luYWxIaWRlQ2xvc2VCdXR0b24gPSBCb29sZWFuKHRoaXMuaGlkZUNsb3NlQnV0dG9uKTtcclxuICAgIHRoaXMuc2V0RGVmYXVsdEhlaWdodCgpO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm1haW5Db250ZW50SWQpO1xyXG5cclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgIGVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbiA9ICdhbGwgMC4ycyBlYXNlLWluLW91dCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gNzY4ICYmIHRoaXMuc2hvd1NpZGVQYW5lbCkge1xyXG4gICAgICB0aGlzLnNldE1hcmdpbih0aGlzLndpZHRoICsgJ3B4Jyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnQgJiYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IHRoaXMuYnJlYWtwb2ludCkpIHtcclxuICAgICAgICB0aGlzLmJyZWFrcG9pbnRFeGNlZWRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlQ29udGFpbmVyU3RhdGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xvc2UgdGhlIHB1c2ggY29udGFpbmVyIG9uIGRlc3Ryb3lcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RhYk9uQ2xvc2UgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vbml0b3IgdGhlIHNjcmVlbiBzaXplIGFuZCBwZXJmb3JtIGFjdGlvbnMgYXMgc3BlY2lmaWVkIGJ5IHRoZSBpbnB1dCBvcHRpb25zXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGggPD0gNzY4ICYmIHRoaXMuX2xhc3RXaWR0aCA+IDc2OCAmJiB0aGlzLnNob3dTaWRlUGFuZWwpIHtcclxuICAgICAgaWYgKHRoaXMuY2xvc2VPblJlc2l6ZSkge1xyXG4gICAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IGZhbHNlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy52aXNpYmlsaXR5ID0gZmFsc2UsIDIwMCk7XHJcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNldE1hcmdpbignMHB4Jyk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoID4gNzY4ICYmIHRoaXMuc2hvd1NpZGVQYW5lbCkge1xyXG4gICAgICB0aGlzLnNldE1hcmdpbih0aGlzLndpZHRoICsgJ3B4Jyk7XHJcbiAgICAgIHRoaXMudG9wT2Zmc2V0ID0gdGhpcy5fb3JpZ2luYWxUb3BPZmZzZXQgKyAnJztcclxuICAgICAgdGhpcy5oaWRlQ2xvc2VCdXR0b24gPSBCb29sZWFuKHRoaXMuX29yaWdpbmFsSGlkZUNsb3NlQnV0dG9uKTtcclxuICAgICAgdGhpcy56SW5kZXggPSBudWxsIGFzIGFueTtcclxuICAgICAgdGhpcy5zZXREZWZhdWx0SGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoID4gNzY4ICYmIHRoaXMuX2xhc3RXaWR0aCA8PSA3NjggJiYgdGhpcy5jbG9zZU9uUmVzaXplKSB7XHJcbiAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICAgIHRoaXMudmlzaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcclxuXHJcbiAgICAgIHRoaXMuc2V0TWFyZ2luKHRoaXMud2lkdGggKyAncHgnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5icmVha3BvaW50KSB7XHJcbiAgICAgIHRoaXMuYnJlYWtwb2ludEV4Y2VlZGVkID0gZXZlbnQudGFyZ2V0LmlubmVyV2lkdGggPCB0aGlzLmJyZWFrcG9pbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVDb250YWluZXJTdGF0ZSgpO1xyXG4gICAgdGhpcy5fbGFzdFdpZHRoID0gZXZlbnQudGFyZ2V0LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPcGVuIG9yIGNsb3NlIGJhc2VkIG9uIGN1cnJlbnQgc3RhdGUuXHJcbiAgICovXHJcbiAgdG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnVuY2xpY2thYmxlKSB7XHJcbiAgICAgIHRoaXMudW5jbGlja2FibGUgPSB0cnVlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudW5jbGlja2FibGUgPSBmYWxzZSwgNTAwKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNob3dTaWRlUGFuZWwpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gdGhlIHB1c2ggY29udGFpbmVyXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaW5pdFxyXG4gICAqL1xyXG4gIG9wZW4oaW5pdD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpbml0ICYmIHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2OCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB0aGlzLm9wZW5lZC5lbWl0KHt9KTtcclxuXHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPiA3NjgpIHtcclxuICAgICAgdGhpcy5zZXRNYXJnaW4odGhpcy53aWR0aCArICdweCcpO1xyXG4gICAgICB0aGlzLl90b3BPZmZzZXQgPSB0aGlzLl9vcmlnaW5hbFRvcE9mZnNldDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3RvcE9mZnNldCA9ICcwJztcclxuICAgICAgdGhpcy56SW5kZXggPSAndmFyKC0tei1vdmVybGF5KSc7XHJcbiAgICAgIHRoaXMuaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2hlaWdodCA9ICcxMDAlJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUNvbnRhaW5lclN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbG9zZSB0aGUgcHVzaCBjb250YWluZXJcclxuICAgKi9cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbG9zZWQuZW1pdCh7fSk7XHJcbiAgICB0aGlzLnNldE1hcmdpbignMHB4Jyk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRIZWlnaHQoKTtcclxuICAgIHRoaXMudXBkYXRlQ29udGFpbmVyU3RhdGUoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9wT2Zmc2V0ID0gdGhpcy5fb3JpZ2luYWxUb3BPZmZzZXQgKyAnJztcclxuICAgICAgdGhpcy5oaWRlQ2xvc2VCdXR0b24gPSBCb29sZWFuKHRoaXMuX29yaWdpbmFsSGlkZUNsb3NlQnV0dG9uKTtcclxuICAgICAgdGhpcy56SW5kZXggPSBudWxsIGFzIGFueTtcclxuICAgIH0sIDIwMCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIG1hcmdpblxyXG4gICAqXHJcbiAgICogQHBhcmFtIHNpemVcclxuICAgKi9cclxuICBwcml2YXRlIHNldE1hcmdpbihzaXplOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm1haW5Db250ZW50SWQpO1xyXG4gICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zaG93VGFiT25DbG9zZSAmJiBzaXplID09PSAnMHB4JyAmJiB3aW5kb3cuaW5uZXJXaWR0aCA+IDc2OCkge1xyXG4gICAgICBzaXplID0gJzE1cHgnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNpZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIGVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHNpemU7XHJcblxyXG4gICAgICBpZiAoc2l6ZSA9PT0gJzBweCcpIHtcclxuICAgICAgICBlbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdtYXJnaW4tbGVmdCcpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2lkZS50b0xvd2VyQ2FzZSgpID09PSAncmlnaHQnKSB7XHJcbiAgICAgIGVsZW1lbnQuc3R5bGUubWFyZ2luUmlnaHQgPSBzaXplO1xyXG5cclxuICAgICAgaWYgKHNpemUgPT09ICcwcHgnKSB7XHJcbiAgICAgICAgZWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnbWFyZ2luLXJpZ2h0Jyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIGdldFdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5icmVha3BvaW50RXhjZWVkZWQgJiYgdGhpcy5zaG93U2lkZVBhbmVsKSB7XHJcbiAgICAgIHJldHVybiAnMTAwJSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy53aWR0aCArICdweCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHNpZGUgcGFuZWwgY2xhc3MgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRTaWRlUGFuZWxDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuc2hvd1NpZGVQYW5lbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5iYWNrZ3JvdW5kQ29sb3JDbGFzcyArICcgbGF5b3V0X3NpZGViYXJfYWN0aXZlXycgKyB0aGlzLnNpZGUudG9Mb3dlckNhc2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmJhY2tncm91bmRDb2xvckNsYXNzICsgJyBsYXlvdXRfc2lkZWJhcl9pbmFjdGl2ZV8nICsgdGhpcy5zaWRlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGxlZnQgc2l6ZSBiYXNlZCBvbiB0aGUgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0TGVmdFByb3BlcnR5KCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5zaWRlICE9PSAnbGVmdCcpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd1NpZGVQYW5lbCkge1xyXG4gICAgICAgIHJldHVybiAnMCc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICctJyArIHRoaXMud2lkdGggKyAncHgnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIHJpZ2h0IHNpemUgYmFzZWQgb24gdGhlIG9wdGlvbnNcclxuICAgKi9cclxuICBwcml2YXRlIGdldFJpZ2h0UHJvcGVydHkoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNpZGUgIT09ICdyaWdodCcpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd1NpZGVQYW5lbCkge1xyXG4gICAgICAgIHJldHVybiAnMCc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICctJyArICh0aGlzLndpZHRoICsgMjApICsgJ3B4JztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXJTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udGFpbmVyU3RhdGUubmV4dCh7XHJcbiAgICAgIHJpZ2h0OiB0aGlzLmdldFJpZ2h0UHJvcGVydHkoKSxcclxuICAgICAgbGVmdDogdGhpcy5nZXRMZWZ0UHJvcGVydHkoKSxcclxuICAgICAgc2lkZVBhbmVsQ2xhc3M6IHRoaXMuZ2V0U2lkZVBhbmVsQ2xhc3MoKSxcclxuICAgICAgaGVpZ2h0OiB0aGlzLl9oZWlnaHQsXHJcbiAgICAgIHRvcE9mZnNldDogdGhpcy5fdG9wT2Zmc2V0XHJcbiAgICB9IGFzIFB1c2hDb250YWluZXJTdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRIZWlnaHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBvZmZzZXQ6IG51bWJlciA9ICt0aGlzLnRvcE9mZnNldC5yZXBsYWNlKC9cXEQvZywgXCJcIikgK1xyXG4gICAgICArdGhpcy5ib3R0b21PZmZzZXQucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgIHRoaXMuX2hlaWdodCA9IGBjYWxjKDEwMCUgLSAke29mZnNldH1weClgO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRhaW5lclN0YXRlIHwgYXN5bmMgYXMgc3RhdGVcIj5cclxuICA8ZGl2IGNsYXNzPVwibGF5b3V0X3NpZGViYXJcIlxyXG4gICAgW25nQ2xhc3NdPVwic3RhdGUuc2lkZVBhbmVsQ2xhc3NcIlxyXG4gICAgW3N0eWxlLnRvcF09XCJzdGF0ZS50b3BPZmZzZXRcIlxyXG4gICAgW3N0eWxlLmhlaWdodF09XCJzdGF0ZS5oZWlnaHRcIlxyXG4gICAgW3N0eWxlLndpZHRoXT1cIihicmVha3BvaW50RXhjZWVkZWQgJiYgc2hvd1NpZGVQYW5lbCkgPyAnMTAwJScgOiB3aWR0aCArICdweCdcIlxyXG4gICAgW3N0eWxlLmxlZnRdPVwic3RhdGUubGVmdFwiXHJcbiAgICBbc3R5bGUucmlnaHRdPVwic3RhdGUucmlnaHRcIlxyXG4gICAgW3N0eWxlLnZpc2liaWxpdHldPVwidmlzaWJpbGl0eSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCJcclxuICAgIFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInB1c2hfY2xvc2VfYmFyXCIgKm5nSWY9XCIoIWhpZGVDbG9zZUJ1dHRvbiB8fCBicmVha3BvaW50RXhjZWVkZWQpICYmICFoaWRlQ2xvc2VCdXR0b25cIj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIGNsYXNzPVwiZGF0YV9oaWRlX2J1dHRvbiBhY2Nlc3NcIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQuY2xvc2VcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U2lkZVBhbmVsXCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b25cclxuICAgICpuZ0lmPVwiIXZpc2liaWxpdHkgJiYgc2hvd1RhYk9uQ2xvc2VcIlxyXG4gICAgY2xhc3M9XCJidG4gbWQgc2lkZV9wYW5lbF90YWIgY2VudGVyX2NlbnRlciBoaWRlX2VsZW1lbnQgYWNjZXNzXCJcclxuICAgIFtuZ0NsYXNzXT1cInRhYkNvbG9yQ2xhc3NcIlxyXG4gICAgW3N0eWxlLnRvcF09XCJzdGF0ZS50b3BPZmZzZXRcIlxyXG4gICAgW3N0eWxlLmhlaWdodF09XCInY2FsYygxMDAlIC0gJyArIHN0YXRlLnRvcE9mZnNldCArICcpJ1wiXHJcbiAgICAoY2xpY2spPVwib3BlbigpXCJcclxuICAgIFtzdHlsZS5sZWZ0XT1cInNpZGUgPT09ICdsZWZ0JyA/IDAgOiB1bmRlZmluZWRcIlxyXG4gICAgW3N0eWxlLnJpZ2h0XT1cInNpZGUgIT09ICdsZWZ0JyA/IDAgOiB1bmRlZmluZWRcIlxyXG4gICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LmV4cGFuZFwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQuZXhwYW5kXCJcclxuICAgIHRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dCBtZFwiPlxyXG4gICAgICA8aSBbbmdDbGFzc109XCJzaWRlID09PSAnbGVmdCcgPyAnZmFzIGZhLWFuZ2xlLXJpZ2h0JyA6ICdmYXMgZmEtYW5nbGUtbGVmdCdcIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { RichTextComponent } from './rich-text.component';
4
+ import { ParticleTooltipModule } from '../tooltip/tooltip.module';
5
+ import { NgxTiptapModule } from 'ngx-tiptap';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { BrowserModule } from '@angular/platform-browser';
8
+ import { RenderRichTextComponent } from './render-rich-text.component';
9
+ import { DOMPURIFY_CONFIG, NgDompurifyModule } from '@tinkoff/ng-dompurify';
10
+ import { ParticleDialogModule } from '../dialog/dialog.module';
11
+ import * as i0 from "@angular/core";
12
+ export class ParticleRichTextModule {
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ParticleRichTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.2", ngImport: i0, type: ParticleRichTextModule, declarations: [RichTextComponent,
15
+ RenderRichTextComponent], imports: [CommonModule,
16
+ ParticleTooltipModule,
17
+ NgxTiptapModule,
18
+ FormsModule,
19
+ BrowserModule,
20
+ NgDompurifyModule,
21
+ ParticleDialogModule], exports: [RichTextComponent,
22
+ RenderRichTextComponent] });
23
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ParticleRichTextModule, providers: [
24
+ {
25
+ provide: DOMPURIFY_CONFIG,
26
+ useValue: { ADD_ATTR: ['target'] },
27
+ },
28
+ ], imports: [CommonModule,
29
+ ParticleTooltipModule,
30
+ NgxTiptapModule,
31
+ FormsModule,
32
+ BrowserModule,
33
+ NgDompurifyModule,
34
+ ParticleDialogModule] });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: ParticleRichTextModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ declarations: [
40
+ RichTextComponent,
41
+ RenderRichTextComponent
42
+ ],
43
+ imports: [
44
+ CommonModule,
45
+ ParticleTooltipModule,
46
+ NgxTiptapModule,
47
+ FormsModule,
48
+ BrowserModule,
49
+ NgDompurifyModule,
50
+ ParticleDialogModule
51
+ ],
52
+ providers: [
53
+ {
54
+ provide: DOMPURIFY_CONFIG,
55
+ useValue: { ADD_ATTR: ['target'] },
56
+ },
57
+ ],
58
+ exports: [
59
+ RichTextComponent,
60
+ RenderRichTextComponent
61
+ ]
62
+ }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGUtcmljaC10ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcGFydGljbGUtcmljaC10ZXh0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBMkI3RCxNQUFNLE9BQU8sc0JBQXNCO3VHQUF0QixzQkFBc0I7d0dBQXRCLHNCQUFzQixpQkF2Qi9CLGlCQUFpQjtZQUNqQix1QkFBdUIsYUFHdkIsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsV0FBVztZQUNYLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsb0JBQW9CLGFBU3BCLGlCQUFpQjtZQUNqQix1QkFBdUI7d0dBR2Qsc0JBQXNCLGFBWHRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7YUFDakM7U0FDRixZQWJDLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLFdBQVc7WUFDWCxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLG9CQUFvQjs7MkZBYVgsc0JBQXNCO2tCQXpCbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixvQkFBb0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBQzt5QkFDakM7cUJBQ0Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsdUJBQXVCO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtSaWNoVGV4dENvbXBvbmVudH0gZnJvbSAnLi9yaWNoLXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHtQYXJ0aWNsZVRvb2x0aXBNb2R1bGV9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQge05neFRpcHRhcE1vZHVsZX0gZnJvbSAnbmd4LXRpcHRhcCc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtCcm93c2VyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtSZW5kZXJSaWNoVGV4dENvbXBvbmVudH0gZnJvbSAnLi9yZW5kZXItcmljaC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RE9NUFVSSUZZX0NPTkZJRywgTmdEb21wdXJpZnlNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLWRvbXB1cmlmeSc7XHJcbmltcG9ydCB7UGFydGljbGVEaWFsb2dNb2R1bGV9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSaWNoVGV4dENvbXBvbmVudCxcclxuICAgIFJlbmRlclJpY2hUZXh0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQYXJ0aWNsZVRvb2x0aXBNb2R1bGUsXHJcbiAgICBOZ3hUaXB0YXBNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBOZ0RvbXB1cmlmeU1vZHVsZSxcclxuICAgIFBhcnRpY2xlRGlhbG9nTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRE9NUFVSSUZZX0NPTkZJRyxcclxuICAgICAgdXNlVmFsdWU6IHtBRERfQVRUUjogWyd0YXJnZXQnXX0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUmljaFRleHRDb21wb25lbnQsXHJcbiAgICBSZW5kZXJSaWNoVGV4dENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcnRpY2xlUmljaFRleHRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@tinkoff/ng-dompurify";
4
+ export class RenderRichTextComponent {
5
+ html = '';
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: RenderRichTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: RenderRichTextComponent, selector: "particle-render-rich-text", inputs: { html: "html" }, ngImport: i0, template: `<div class="ent_r2l_txt" [innerHTML]="html | dompurify"></div>`, isInline: true, dependencies: [{ kind: "pipe", type: i1.NgDompurifyPipe, name: "dompurify" }] });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: RenderRichTextComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'particle-render-rich-text',
13
+ template: `<div class="ent_r2l_txt" [innerHTML]="html | dompurify"></div>`
14
+ }]
15
+ }], propDecorators: { html: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvcmljaC10ZXh0L3JlbmRlci1yaWNoLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFNL0MsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxJQUFJLEdBQUcsRUFBRSxDQUFDO3VHQUhDLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDJGQUZ4QixnRUFBZ0U7OzJGQUUvRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLGdFQUFnRTtpQkFDM0U7OEJBSUMsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGFydGljbGUtcmVuZGVyLXJpY2gtdGV4dCcsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiZW50X3IybF90eHRcIiBbaW5uZXJIVE1MXT1cImh0bWwgfCBkb21wdXJpZnlcIj48L2Rpdj5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJSaWNoVGV4dENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaHRtbCA9ICcnO1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LWNhcGFiaWxpdGllcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcmljaC10ZXh0LWNhcGFiaWxpdGllcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSaWNoVGV4dENhcGFiaWxpdGllcyB7XHJcbiAgaGVhZGluZzogYm9vbGVhbjtcclxuICB0ZXh0RGVjb3JhdGlvbjogYm9vbGVhbjtcclxuICBsaXN0OiBib29sZWFuO1xyXG4gIGFsaWdubWVudDogYm9vbGVhbjtcclxuICBsaW5rOiBib29sZWFuO1xyXG59XHJcbiJdfQ==