@hestia-earth/ui-components 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +24 -0
  2. package/auth/auth.service.d.ts +10 -0
  3. package/auth/public-api.d.ts +1 -0
  4. package/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.d.ts +40 -0
  5. package/bibliographies/bibliographies.module.d.ts +10 -0
  6. package/bibliographies/public-api.d.ts +2 -0
  7. package/bundles/hestia-earth-ui-components.umd.js +7570 -0
  8. package/bundles/hestia-earth-ui-components.umd.js.map +1 -0
  9. package/common/bind-once.directive.d.ts +10 -0
  10. package/common/blank-node-diffs/blank-node-diffs.component.d.ts +18 -0
  11. package/common/blank-node-state/blank-node-state.component.d.ts +36 -0
  12. package/common/blank-node-state-notice/blank-node-state-notice.component.d.ts +9 -0
  13. package/common/blank-node-value-delta/blank-node-value-delta.component.d.ts +13 -0
  14. package/common/click-outside.directive.d.ts +10 -0
  15. package/common/clipboard/clipboard.component.d.ts +16 -0
  16. package/common/common.module.d.ts +37 -0
  17. package/common/common.service.d.ts +11 -0
  18. package/common/default.pipe.d.ts +7 -0
  19. package/common/ellipsis.pipe.d.ts +7 -0
  20. package/common/get.pipe.d.ts +7 -0
  21. package/common/key-to-label.pipe.d.ts +7 -0
  22. package/common/keys.pipe.d.ts +7 -0
  23. package/common/link-key-value/link-key-value.component.d.ts +16 -0
  24. package/common/logs-utils.d.ts +17 -0
  25. package/common/maps-drawing-confirm/maps-drawing-confirm.component.d.ts +28 -0
  26. package/common/maps-utils.d.ts +70 -0
  27. package/common/pluralize.pipe.d.ts +7 -0
  28. package/common/popover/popover.component.d.ts +16 -0
  29. package/common/popover-confirm/popover-confirm.component.d.ts +15 -0
  30. package/common/precision.pipe.d.ts +7 -0
  31. package/common/public-api.d.ts +30 -0
  32. package/common/schema-version-link/schema-version-link.component.d.ts +10 -0
  33. package/common/skeleton-text/skeleton-text.component.d.ts +11 -0
  34. package/common/social-tags/social-tags.component.d.ts +12 -0
  35. package/common/tags-input.directive.d.ts +20 -0
  36. package/common/times.pipe.d.ts +7 -0
  37. package/common/toast/toast.component.d.ts +19 -0
  38. package/common/toast.service.d.ts +16 -0
  39. package/common/unit-converter/unit-converter.component.d.ts +25 -0
  40. package/common/utils.d.ts +88 -0
  41. package/cycles/cycles-activity/cycles-activity.component.d.ts +31 -0
  42. package/cycles/cycles-activity-logs/cycles-activity-logs.component.d.ts +25 -0
  43. package/cycles/cycles-completeness/cycles-completeness.component.d.ts +14 -0
  44. package/cycles/cycles-emissions/cycles-emissions.component.d.ts +40 -0
  45. package/cycles/cycles-emissions-chart/cycles-emissions-chart.component.d.ts +18 -0
  46. package/cycles/cycles-emissions-logs/cycles-emissions-logs.component.d.ts +23 -0
  47. package/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.d.ts +8 -0
  48. package/cycles/cycles-result/cycles-result.component.d.ts +13 -0
  49. package/cycles/cycles-suggest-form/cycles-suggest-form.component.d.ts +24 -0
  50. package/cycles/cycles.model.d.ts +7 -0
  51. package/cycles/cycles.module.d.ts +19 -0
  52. package/cycles/public-api.d.ts +10 -0
  53. package/engine/aggregation-engine.service.d.ts +71 -0
  54. package/engine/engine.service.d.ts +61 -0
  55. package/engine/public-api.d.ts +2 -0
  56. package/esm2015/auth/auth.service.js +19 -0
  57. package/esm2015/auth/public-api.js +2 -0
  58. package/esm2015/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.js +100 -0
  59. package/esm2015/bibliographies/bibliographies.module.js +30 -0
  60. package/esm2015/bibliographies/public-api.js +3 -0
  61. package/esm2015/common/bind-once.directive.js +23 -0
  62. package/esm2015/common/blank-node-diffs/blank-node-diffs.component.js +47 -0
  63. package/esm2015/common/blank-node-state/blank-node-state.component.js +90 -0
  64. package/esm2015/common/blank-node-state-notice/blank-node-state-notice.component.js +27 -0
  65. package/esm2015/common/blank-node-value-delta/blank-node-value-delta.component.js +41 -0
  66. package/esm2015/common/click-outside.directive.js +28 -0
  67. package/esm2015/common/clipboard/clipboard.component.js +69 -0
  68. package/esm2015/common/common.module.js +144 -0
  69. package/esm2015/common/common.service.js +29 -0
  70. package/esm2015/common/default.pipe.js +23 -0
  71. package/esm2015/common/ellipsis.pipe.js +17 -0
  72. package/esm2015/common/get.pipe.js +17 -0
  73. package/esm2015/common/key-to-label.pipe.js +18 -0
  74. package/esm2015/common/keys.pipe.js +20 -0
  75. package/esm2015/common/link-key-value/link-key-value.component.js +55 -0
  76. package/esm2015/common/logs-utils.js +49 -0
  77. package/esm2015/common/maps-drawing-confirm/maps-drawing-confirm.component.js +89 -0
  78. package/esm2015/common/maps-utils.js +101 -0
  79. package/esm2015/common/pluralize.pipe.js +17 -0
  80. package/esm2015/common/popover/popover.component.js +37 -0
  81. package/esm2015/common/popover-confirm/popover-confirm.component.js +38 -0
  82. package/esm2015/common/precision.pipe.js +20 -0
  83. package/esm2015/common/public-api.js +31 -0
  84. package/esm2015/common/schema-version-link/schema-version-link.component.js +39 -0
  85. package/esm2015/common/skeleton-text/skeleton-text.component.js +44 -0
  86. package/esm2015/common/social-tags/social-tags.component.js +37 -0
  87. package/esm2015/common/tags-input.directive.js +74 -0
  88. package/esm2015/common/times.pipe.js +16 -0
  89. package/esm2015/common/toast/toast.component.js +37 -0
  90. package/esm2015/common/toast.service.js +36 -0
  91. package/esm2015/common/unit-converter/unit-converter.component.js +73 -0
  92. package/esm2015/common/utils.js +245 -0
  93. package/esm2015/cycles/cycles-activity/cycles-activity.component.js +92 -0
  94. package/esm2015/cycles/cycles-activity-logs/cycles-activity-logs.component.js +48 -0
  95. package/esm2015/cycles/cycles-completeness/cycles-completeness.component.js +41 -0
  96. package/esm2015/cycles/cycles-emissions/cycles-emissions.component.js +121 -0
  97. package/esm2015/cycles/cycles-emissions-chart/cycles-emissions-chart.component.js +93 -0
  98. package/esm2015/cycles/cycles-emissions-logs/cycles-emissions-logs.component.js +63 -0
  99. package/esm2015/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.js +22 -0
  100. package/esm2015/cycles/cycles-result/cycles-result.component.js +92 -0
  101. package/esm2015/cycles/cycles-suggest-form/cycles-suggest-form.component.js +83 -0
  102. package/esm2015/cycles/cycles.model.js +2 -0
  103. package/esm2015/cycles/cycles.module.js +66 -0
  104. package/esm2015/cycles/public-api.js +11 -0
  105. package/esm2015/engine/aggregation-engine.service.js +126 -0
  106. package/esm2015/engine/engine.service.js +78 -0
  107. package/esm2015/engine/public-api.js +3 -0
  108. package/esm2015/files/files-error.model.js +180 -0
  109. package/esm2015/files/files-form/files-form.component.js +439 -0
  110. package/esm2015/files/files-form.model.js +548 -0
  111. package/esm2015/files/files.module.js +42 -0
  112. package/esm2015/files/public-api.js +3 -0
  113. package/esm2015/fontawesome/fontawesome.module.js +36 -0
  114. package/esm2015/fontawesome/public-api.js +2 -0
  115. package/esm2015/hestia-earth-ui-components.js +5 -0
  116. package/esm2015/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.js +161 -0
  117. package/esm2015/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.js +142 -0
  118. package/esm2015/impact-assessments/impact-assessments-products/impact-assessments-products.component.js +252 -0
  119. package/esm2015/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.js +68 -0
  120. package/esm2015/impact-assessments/impact-assessments.model.js +2 -0
  121. package/esm2015/impact-assessments/impact-assessments.module.js +47 -0
  122. package/esm2015/impact-assessments/public-api.js +7 -0
  123. package/esm2015/mendeley/mendeley.service.js +35 -0
  124. package/esm2015/mendeley/public-api.js +2 -0
  125. package/esm2015/node/node-csv-export-confirm/node-csv-export-confirm.component.js +65 -0
  126. package/esm2015/node/node-csv-select-headers/node-csv-select-headers.component.js +119 -0
  127. package/esm2015/node/node-csv.service.js +24 -0
  128. package/esm2015/node/node-diffs/node-diffs.component.js +67 -0
  129. package/esm2015/node/node-diffs/node-diffs.model.js +6 -0
  130. package/esm2015/node/node-icon/node-icon.component.js +37 -0
  131. package/esm2015/node/node-link/node-link.component.js +33 -0
  132. package/esm2015/node/node-logs-file/node-logs-file.component.js +63 -0
  133. package/esm2015/node/node-logs-models/node-logs-models.component.js +188 -0
  134. package/esm2015/node/node-missing-lookup-factors/node-missing-lookup-factors.component.js +34 -0
  135. package/esm2015/node/node-value-details/node-value-details.component.js +46 -0
  136. package/esm2015/node/node.module.js +67 -0
  137. package/esm2015/node/node.service.js +113 -0
  138. package/esm2015/node/public-api.js +13 -0
  139. package/esm2015/public-api.js +16 -0
  140. package/esm2015/schema/public-api.js +2 -0
  141. package/esm2015/schema/schema.service.js +167 -0
  142. package/esm2015/search/public-api.js +4 -0
  143. package/esm2015/search/search.model.js +204 -0
  144. package/esm2015/search/search.module.js +13 -0
  145. package/esm2015/search/search.service.js +99 -0
  146. package/esm2015/sites/public-api.js +6 -0
  147. package/esm2015/sites/sites-maps/sites-maps.component.js +162 -0
  148. package/esm2015/sites/sites-measurements/sites-measurements.component.js +78 -0
  149. package/esm2015/sites/sites-measurements-logs/sites-measurements-logs.component.js +63 -0
  150. package/esm2015/sites/sites.model.js +10 -0
  151. package/esm2015/sites/sites.module.js +42 -0
  152. package/esm2015/terms/public-api.js +2 -0
  153. package/esm2015/terms/terms.model.js +184 -0
  154. package/esm2015/users/public-api.js +2 -0
  155. package/esm2015/users/users.service.js +17 -0
  156. package/fesm2015/hestia-earth-ui-components.js +5920 -0
  157. package/fesm2015/hestia-earth-ui-components.js.map +1 -0
  158. package/files/files-error.model.d.ts +40 -0
  159. package/files/files-form/files-form.component.d.ts +94 -0
  160. package/files/files-form.model.d.ts +113 -0
  161. package/files/files.module.d.ts +13 -0
  162. package/files/public-api.d.ts +2 -0
  163. package/fontawesome/fontawesome.module.d.ts +10 -0
  164. package/fontawesome/public-api.d.ts +1 -0
  165. package/hestia-earth-ui-components.d.ts +5 -0
  166. package/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.d.ts +28 -0
  167. package/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.d.ts +25 -0
  168. package/impact-assessments/impact-assessments-products/impact-assessments-products.component.d.ts +77 -0
  169. package/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.d.ts +25 -0
  170. package/impact-assessments/impact-assessments.model.d.ts +6 -0
  171. package/impact-assessments/impact-assessments.module.d.ts +15 -0
  172. package/impact-assessments/public-api.d.ts +6 -0
  173. package/mendeley/mendeley.service.d.ts +25 -0
  174. package/mendeley/public-api.d.ts +1 -0
  175. package/node/node-csv-export-confirm/node-csv-export-confirm.component.d.ts +32 -0
  176. package/node/node-csv-select-headers/node-csv-select-headers.component.d.ts +42 -0
  177. package/node/node-csv.service.d.ts +9 -0
  178. package/node/node-diffs/node-diffs.component.d.ts +23 -0
  179. package/node/node-diffs/node-diffs.model.d.ts +4 -0
  180. package/node/node-icon/node-icon.component.d.ts +8 -0
  181. package/node/node-link/node-link.component.d.ts +11 -0
  182. package/node/node-logs-file/node-logs-file.component.d.ts +31 -0
  183. package/node/node-logs-models/node-logs-models.component.d.ts +72 -0
  184. package/node/node-missing-lookup-factors/node-missing-lookup-factors.component.d.ts +14 -0
  185. package/node/node-value-details/node-value-details.component.d.ts +17 -0
  186. package/node/node.module.d.ts +20 -0
  187. package/node/node.service.d.ts +70 -0
  188. package/node/public-api.d.ts +12 -0
  189. package/package.json +53 -0
  190. package/public-api.d.ts +15 -0
  191. package/schema/public-api.d.ts +1 -0
  192. package/schema/schema.service.d.ts +51 -0
  193. package/search/public-api.d.ts +3 -0
  194. package/search/search.model.d.ts +243 -0
  195. package/search/search.module.d.ts +7 -0
  196. package/search/search.service.d.ts +129 -0
  197. package/sites/public-api.d.ts +5 -0
  198. package/sites/sites-maps/sites-maps.component.d.ts +35 -0
  199. package/sites/sites-measurements/sites-measurements.component.d.ts +31 -0
  200. package/sites/sites-measurements-logs/sites-measurements-logs.component.d.ts +23 -0
  201. package/sites/sites.model.d.ts +10 -0
  202. package/sites/sites.module.d.ts +13 -0
  203. package/styles.scss +197 -0
  204. package/terms/public-api.d.ts +1 -0
  205. package/terms/terms.model.d.ts +21 -0
  206. package/users/public-api.d.ts +1 -0
  207. package/users/users.service.d.ts +7 -0
@@ -0,0 +1,101 @@
1
+ export const locationQuery = (bounds, searchField = 'location') => {
2
+ const topRight = bounds.getNorthEast();
3
+ const bottomLeft = bounds.getSouthWest();
4
+ return {
5
+ geo_bounding_box: {
6
+ [searchField]: {
7
+ top_left: { lat: topRight.lat(), lon: bottomLeft.lng() },
8
+ bottom_right: { lat: bottomLeft.lat(), lon: topRight.lng() },
9
+ }
10
+ }
11
+ };
12
+ };
13
+ export const fillColor = '#00F';
14
+ export const strokeColor = '#00A';
15
+ export const fillStyle = {
16
+ fillColor,
17
+ fillOpacity: 0.6
18
+ };
19
+ export const strokeStyle = {
20
+ strokeColor,
21
+ strokeOpacity: 0.6,
22
+ strokeWeight: 1
23
+ };
24
+ export const clustererImage = 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m';
25
+ const getCoordinatesForPercent = (percent) => {
26
+ const x = Math.cos(2 * Math.PI * percent);
27
+ const y = Math.sin(2 * Math.PI * percent);
28
+ return [x, y];
29
+ };
30
+ const pieUrl = (configs, size) => {
31
+ let cumulativePercent = 0;
32
+ return 'data:image/svg+xml;utf-8,' + encodeURIComponent(`
33
+ <svg width="${size}" height="${size}" viewBox="-1 -1 2 2" xmlns="http://www.w3.org/2000/svg">${configs.map(({ percent, color }) => {
34
+ const [startX, startY] = getCoordinatesForPercent(cumulativePercent);
35
+ cumulativePercent += percent;
36
+ const [endX, endY] = getCoordinatesForPercent(cumulativePercent);
37
+ const largeArcFlag = percent > .5 ? 1 : 0;
38
+ const pathData = [
39
+ `M ${startX} ${startY}`,
40
+ `A 1 1 0 ${largeArcFlag} 1 ${endX} ${endY}`,
41
+ `L 0 0`, // Line
42
+ ].join(' ');
43
+ return `<path fill="${color}" d="${pathData}"></path>`;
44
+ }).join('')}</svg>
45
+ `.trim());
46
+ };
47
+ export const markerPie = (configs, size = 7) => ({
48
+ anchor: new google.maps.Point(size / 2, size / 2),
49
+ url: pieUrl(configs, size),
50
+ labelOrigin: new google.maps.Point(0, -2)
51
+ });
52
+ export const markerIcon = (scale = 7) => (Object.assign(Object.assign(Object.assign({ path: google.maps.SymbolPath.CIRCLE }, fillStyle), strokeStyle), { scale, labelOrigin: new google.maps.Point(0, -2) }));
53
+ export const createMarker = (position, text = '', color = fillColor, scale) => (position && position.lat && position.lng ? new google.maps.Marker({
54
+ position,
55
+ label: { color, text },
56
+ icon: markerIcon(scale)
57
+ }) : undefined);
58
+ const feature = Object.freeze({
59
+ type: 'Feature',
60
+ properties: {},
61
+ geometry: {
62
+ type: 'Polygon',
63
+ coordinates: []
64
+ }
65
+ });
66
+ export const defaultFeature = () => (Object.assign({}, feature));
67
+ export const pointToCoordinates = (point) => [point.lng(), point.lat()];
68
+ export const coordinatesToPoint = (values) => Array.isArray(values[0]) ?
69
+ values.map((v) => coordinatesToPoint(v)) :
70
+ new google.maps.LatLng(values[1], values[0]);
71
+ export const polygonToCoordinates = (polygon) => polygon.getPaths().getArray().map(path => {
72
+ const points = path.getArray();
73
+ return [
74
+ ...points.map(pointToCoordinates),
75
+ pointToCoordinates(points[0])
76
+ ];
77
+ })[0];
78
+ const coordinatesToPolygon = (coordinates) => new google.maps.Polygon(Object.assign({ paths: coordinates.map(coordinatesToPoint).filter(Boolean) }, strokeStyle));
79
+ export const addPolygonToFeature = (feat, polygon) => {
80
+ var _a;
81
+ return feat.type === 'FeatureCollection' ?
82
+ feat.features.push(addPolygonToFeature(defaultFeature(), polygon)) : (feat.type === 'GeometryCollection' ?
83
+ feat.geometries.map(geometry => (geometry.coordinates || []).push(polygonToCoordinates(polygon))) :
84
+ (((_a = feat.geometry) === null || _a === void 0 ? void 0 : _a.coordinates) || []).push(polygonToCoordinates(polygon)));
85
+ };
86
+ export const polygonsFromFeature = (feat) => {
87
+ var _a;
88
+ return feat.type === 'FeatureCollection' ?
89
+ feat.features.flatMap(polygonsFromFeature) : (feat.type === 'GeometryCollection' ?
90
+ feat.geometries.flatMap(geometry => (geometry.coordinates || []).map(coordinatesToPolygon)) :
91
+ (((_a = feat.geometry) === null || _a === void 0 ? void 0 : _a.coordinates) || []).map(coordinatesToPolygon));
92
+ };
93
+ export const polygonBounds = (polygon) => {
94
+ var _a;
95
+ return polygon ?
96
+ Array.isArray(polygon) ?
97
+ polygon.reduce((prev, curr) => prev.extend(polygonBounds(curr)), new google.maps.LatLngBounds()) :
98
+ (((_a = polygon.getPath()) === null || _a === void 0 ? void 0 : _a.getArray()) || []).reduce((prev, curr) => prev.extend(curr), new google.maps.LatLngBounds()) :
99
+ undefined;
100
+ };
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vbWFwcy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFnQyxFQUFFLFdBQVcsR0FBRyxVQUFVLEVBQUUsRUFBRTtJQUMxRixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLE9BQU87UUFDTCxnQkFBZ0IsRUFBRTtZQUNoQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNiLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDeEQsWUFBWSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFO2FBQzdEO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUNoQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUN2QixTQUFTO0lBQ1QsV0FBVyxFQUFFLEdBQUc7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixXQUFXO0lBQ1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsWUFBWSxFQUFFLENBQUM7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyx3RkFBd0YsQ0FBQztBQUd2SCxNQUFNLHdCQUF3QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDbkQsTUFB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IChib3VuZHM6IGdvb2dsZS5tYXBzLkxhdExuZ0JvdW5kcywgc2VhcmNoRmllbGQgPSAnbG9jYXRpb24nKSA9PiB7XG4gIGNvbnN0IHRvcFJpZ2h0ID0gYm91bmRzLmdldE5vcnRoRWFzdCgpO1xuICBjb25zdCBib3R0b21MZWZ0ID0gYm91bmRzLmdldFNvdXRoV2VzdCgpO1xuICByZXR1cm4ge1xuICAgIGdlb19ib3VuZGluZ19ib3g6IHtcbiAgICAgIFtzZWFyY2hGaWVsZF06IHtcbiAgICAgICAgdG9wX2xlZnQ6IHsgbGF0OiB0b3BSaWdodC5sYXQoKSwgbG9uOiBib3R0b21MZWZ0LmxuZygpIH0sXG4gICAgICAgIGJvdHRvbV9yaWdodDogeyBsYXQ6IGJvdHRvbUxlZnQubGF0KCksIGxvbjogdG9wUmlnaHQubG5nKCkgfSxcbiAgICAgIH1cbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZmlsbENvbG9yID0gJyMwMEYnO1xuZXhwb3J0IGNvbnN0IHN0cm9rZUNvbG9yID0gJyMwMEEnO1xuXG5leHBvcnQgY29uc3QgZmlsbFN0eWxlID0ge1xuICBmaWxsQ29sb3IsXG4gIGZpbGxPcGFjaXR5OiAwLjZcbn07XG5cbmV4cG9ydCBjb25zdCBzdHJva2VTdHlsZSA9IHtcbiAgc3Ryb2tlQ29sb3IsXG4gIHN0cm9rZU9wYWNpdHk6IDAuNixcbiAgc3Ryb2tlV2VpZ2h0OiAxXG59O1xuXG5leHBvcnQgY29uc3QgY2x1c3RlcmVySW1hZ2UgPSAnaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvZXhhbXBsZXMvbWFya2VyY2x1c3RlcmVyL20nO1xuXG5cbmNvbnN0IGdldENvb3JkaW5hdGVzRm9yUGVyY2VudCA9IChwZXJjZW50OiBudW1iZXIpID0+IHtcbiAgY29uc3QgeCA9IE1hdGguY29zKDIgKiBNYXRoLlBJICogcGVyY2VudCk7XG4gIGNvbnN0IHkgPSBNYXRoLnNpbigyICogTWF0aC5QSSAqIHBlcmNlbnQpO1xuICByZXR1cm4gW3gsIHldO1xufTtcblxuaW50ZXJmYWNlIElNYXJrZXJQaWVDb25maWcge1xuICBwZXJjZW50OiBudW1iZXI7XG4gIGNvbG9yOiBzdHJpbmc7XG59XG5cbmNvbnN0IHBpZVVybCA9IChjb25maWdzOiBJTWFya2VyUGllQ29uZmlnW10sIHNpemU6IG51bWJlcikgPT4ge1xuICBsZXQgY3VtdWxhdGl2ZVBlcmNlbnQgPSAwO1xuXG4gIHJldHVybiAnZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LCcgKyBlbmNvZGVVUklDb21wb25lbnQoYFxuICAgIDxzdmcgd2lkdGg9XCIke3NpemV9XCIgaGVpZ2h0PVwiJHtzaXplfVwiIHZpZXdCb3g9XCItMSAtMSAyIDJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+JHtcbiAgICBjb25maWdzLm1hcCgoeyBwZXJjZW50LCBjb2xvciB9KSA9PiB7XG4gICAgICBjb25zdCBbc3RhcnRYLCBzdGFydFldID0gZ2V0Q29vcmRpbmF0ZXNGb3JQZXJjZW50KGN1bXVsYXRpdmVQZXJjZW50KTtcbiAgICAgIGN1bXVsYXRpdmVQZXJjZW50ICs9IHBlcmNlbnQ7XG4gICAgICBjb25zdCBbZW5kWCwgZW5kWV0gPSBnZXRDb29yZGluYXRlc0ZvclBlcmNlbnQoY3VtdWxhdGl2ZVBlcmNlbnQpO1xuICAgICAgY29uc3QgbGFyZ2VBcmNGbGFnID0gcGVyY2VudCA+IC41ID8gMSA6IDA7XG4gICAgICBjb25zdCBwYXRoRGF0YSA9IFtcbiAgICAgICAgYE0gJHtzdGFydFh9ICR7c3RhcnRZfWAsIC8vIE1vdmVcbiAgICAgICAgYEEgMSAxIDAgJHtsYXJnZUFyY0ZsYWd9IDEgJHtlbmRYfSAke2VuZFl9YCwgLy8gQXJjXG4gICAgICAgIGBMIDAgMGAsIC8vIExpbmVcbiAgICAgIF0uam9pbignICcpO1xuICAgICAgcmV0dXJuIGA8cGF0aCBmaWxsPVwiJHtjb2xvcn1cIiBkPVwiJHtwYXRoRGF0YX1cIj48L3BhdGg+YDtcbiAgICB9KS5qb2luKCcnKX08L3N2Zz5cbiAgYC50cmltKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlclBpZSA9IChjb25maWdzOiBJTWFya2VyUGllQ29uZmlnW10sIHNpemUgPSA3KSA9PiAoe1xuICBhbmNob3I6IG5ldyBnb29nbGUubWFwcy5Qb2ludChzaXplIC8gMiwgc2l6ZSAvIDIpLFxuICB1cmw6IHBpZVVybChjb25maWdzLCBzaXplKSxcbiAgbGFiZWxPcmlnaW46IG5ldyBnb29nbGUubWFwcy5Qb2ludCgwLCAtMilcbn0pO1xuXG5leHBvcnQgY29uc3QgbWFya2VySWNvbiA9IChzY2FsZSA9IDcpOiBnb29nbGUubWFwcy5TeW1ib2wgPT4gKHtcbiAgcGF0aDogZ29vZ2xlLm1hcHMuU3ltYm9sUGF0aC5DSVJDTEUsXG4gIC4uLmZpbGxTdHlsZSxcbiAgLi4uc3Ryb2tlU3R5bGUsXG4gIHNjYWxlLFxuICBsYWJlbE9yaWdpbjogbmV3IGdvb2dsZS5tYXBzLlBvaW50KDAsIC0yKVxufSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYXJrZXIgPSAoXG4gIHBvc2l0aW9uPzogZ29vZ2xlLm1hcHMuTGF0TG5nIHwgZ29vZ2xlLm1hcHMuUmVhZG9ubHlMYXRMbmdMaXRlcmFsLCB0ZXh0ID0gJycsIGNvbG9yID0gZmlsbENvbG9yLCBzY2FsZT86IG51bWJlclxuKSA9PiAoXG4gIHBvc2l0aW9uICYmIHBvc2l0aW9uLmxhdCAmJiBwb3NpdGlvbi5sbmcgPyBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcbiAgICBwb3NpdGlvbixcbiAgICBsYWJlbDogeyBjb2xvciwgdGV4dCB9LFxuICAgIGljb246IG1hcmtlckljb24oc2NhbGUpXG4gIH0pIDogdW5kZWZpbmVkXG4pIGFzIGdvb2dsZS5tYXBzLk1hcmtlcjtcblxuaW50ZXJmYWNlIElQb2x5Z29uIHtcbiAgdHlwZTogJ1BvbHlnb24nO1xuICBjb29yZGluYXRlczogbnVtYmVyW11bXVtdO1xufVxuXG5pbnRlcmZhY2UgSU11bHRpUG9seWdvbiB7XG4gIHR5cGU6ICdNdWx0aVBvbHlnb24nO1xuICBjb29yZGluYXRlczogbnVtYmVyW11bXVtdO1xufVxuXG50eXBlIGdlb21ldHJ5ID0gSVBvbHlnb24gfCBJTXVsdGlQb2x5Z29uO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGZWF0dXJlIHtcbiAgdHlwZTogJ0ZlYXR1cmUnO1xuICBwcm9wZXJ0aWVzOiBhbnk7XG4gIGdlb21ldHJ5OiBnZW9tZXRyeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmVhdHVyZUNvbGxlY3Rpb24ge1xuICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nO1xuICBmZWF0dXJlczogSUZlYXR1cmVbXTtcbn1cblxuaW50ZXJmYWNlIEdlb21ldHJ5Q29sbGVjdGlvbiB7XG4gIHR5cGU6ICdHZW9tZXRyeUNvbGxlY3Rpb24nO1xuICBnZW9tZXRyaWVzOiBnZW9tZXRyeVtdO1xufVxuXG50eXBlIGZlYXR1cmUgPSBJRmVhdHVyZSB8IElGZWF0dXJlQ29sbGVjdGlvbiB8IEdlb21ldHJ5Q29sbGVjdGlvbjtcblxuY29uc3QgZmVhdHVyZTogSUZlYXR1cmUgPSBPYmplY3QuZnJlZXplKHtcbiAgdHlwZTogJ0ZlYXR1cmUnLFxuICBwcm9wZXJ0aWVzOiB7fSxcbiAgZ2VvbWV0cnk6IHtcbiAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgY29vcmRpbmF0ZXM6IFtdXG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEZlYXR1cmUgPSAoKTogSUZlYXR1cmUgPT4gKHsgLi4uZmVhdHVyZSB9KTtcblxuZXhwb3J0IGNvbnN0IHBvaW50VG9Db29yZGluYXRlcyA9IChwb2ludDogZ29vZ2xlLm1hcHMuTGF0TG5nKSA9PiBbcG9pbnQubG5nKCksIHBvaW50LmxhdCgpXTtcblxuZXhwb3J0IGNvbnN0IGNvb3JkaW5hdGVzVG9Qb2ludCA9ICh2YWx1ZXM6IChudW1iZXIgfCBudW1iZXJbXSlbXSkgPT5cbiAgQXJyYXkuaXNBcnJheSh2YWx1ZXNbMF0pID9cbiAgICB2YWx1ZXMubWFwKCh2OiBhbnkpID0+IGNvb3JkaW5hdGVzVG9Qb2ludCh2KSkgOlxuICAgIG5ldyBnb29nbGUubWFwcy5MYXRMbmcoKHZhbHVlcyBhcyBudW1iZXJbXSlbMV0sICh2YWx1ZXMgYXMgbnVtYmVyW10pWzBdKTtcblxuZXhwb3J0IGNvbnN0IHBvbHlnb25Ub0Nvb3JkaW5hdGVzID0gKHBvbHlnb246IGdvb2dsZS5tYXBzLlBvbHlnb24pID0+IHBvbHlnb24uZ2V0UGF0aHMoKS5nZXRBcnJheSgpLm1hcChwYXRoID0+IHtcbiAgY29uc3QgcG9pbnRzID0gcGF0aC5nZXRBcnJheSgpO1xuICByZXR1cm4gW1xuICAgIC4uLnBvaW50cy5tYXAocG9pbnRUb0Nvb3JkaW5hdGVzKSxcbiAgICBwb2ludFRvQ29vcmRpbmF0ZXMocG9pbnRzWzBdKVxuICBdO1xufSlbMF07XG5cbmNvbnN0IGNvb3JkaW5hdGVzVG9Qb2x5Z29uID0gKGNvb3JkaW5hdGVzOiBudW1iZXJbXVtdKSA9PiBuZXcgZ29vZ2xlLm1hcHMuUG9seWdvbih7XG4gIHBhdGhzOiBjb29yZGluYXRlcy5tYXAoY29vcmRpbmF0ZXNUb1BvaW50KS5maWx0ZXIoQm9vbGVhbiksXG4gIC4uLnN0cm9rZVN0eWxlXG59KTtcblxuZXhwb3J0IGNvbnN0IGFkZFBvbHlnb25Ub0ZlYXR1cmUgPSAoZmVhdDogZmVhdHVyZSwgcG9seWdvbjogZ29vZ2xlLm1hcHMuUG9seWdvbikgPT5cbiAgZmVhdC50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nID9cbiAgICBmZWF0LmZlYXR1cmVzLnB1c2goYWRkUG9seWdvblRvRmVhdHVyZShkZWZhdWx0RmVhdHVyZSgpLCBwb2x5Z29uKSkgOiAoXG4gICAgICBmZWF0LnR5cGUgPT09ICdHZW9tZXRyeUNvbGxlY3Rpb24nID9cbiAgICAgICAgZmVhdC5nZW9tZXRyaWVzLm1hcChnZW9tZXRyeSA9PiAoZ2VvbWV0cnkuY29vcmRpbmF0ZXMgfHwgW10pLnB1c2gocG9seWdvblRvQ29vcmRpbmF0ZXMocG9seWdvbikpKSA6XG4gICAgICAgIChmZWF0Lmdlb21ldHJ5Py5jb29yZGluYXRlcyB8fCBbXSkucHVzaChwb2x5Z29uVG9Db29yZGluYXRlcyhwb2x5Z29uKSlcbiAgICApXG4gIDtcblxuZXhwb3J0IGNvbnN0IHBvbHlnb25zRnJvbUZlYXR1cmUgPSAoZmVhdDogZmVhdHVyZSk6IGdvb2dsZS5tYXBzLlBvbHlnb25bXSA9PlxuICBmZWF0LnR5cGUgPT09ICdGZWF0dXJlQ29sbGVjdGlvbicgP1xuICAgIGZlYXQuZmVhdHVyZXMuZmxhdE1hcChwb2x5Z29uc0Zyb21GZWF0dXJlKSA6IChcbiAgICAgIGZlYXQudHlwZSA9PT0gJ0dlb21ldHJ5Q29sbGVjdGlvbicgP1xuICAgICAgICBmZWF0Lmdlb21ldHJpZXMuZmxhdE1hcChnZW9tZXRyeSA9PiAoZ2VvbWV0cnkuY29vcmRpbmF0ZXMgfHwgW10pLm1hcChjb29yZGluYXRlc1RvUG9seWdvbikpIDpcbiAgICAgICAgKGZlYXQuZ2VvbWV0cnk/LmNvb3JkaW5hdGVzIHx8IFtdKS5tYXAoY29vcmRpbmF0ZXNUb1BvbHlnb24pXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHBvbHlnb25Cb3VuZHMgPSAocG9seWdvbj86IGdvb2dsZS5tYXBzLlBvbHlnb24gfCBnb29nbGUubWFwcy5Qb2x5Z29uW10pID0+XG4gIHBvbHlnb24gP1xuICAgIEFycmF5LmlzQXJyYXkocG9seWdvbikgP1xuICAgICAgcG9seWdvbi5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYuZXh0ZW5kKHBvbHlnb25Cb3VuZHMoY3VycikpLCBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nQm91bmRzKCkpIDpcbiAgICAgIChwb2x5Z29uLmdldFBhdGgoKT8uZ2V0QXJyYXkoKSB8fCBbXSkucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2LmV4dGVuZChjdXJyKSwgbmV3IGdvb2dsZS5tYXBzLkxhdExuZ0JvdW5kcygpKSA6XG4gICAgdW5kZWZpbmVkO1xuIl19
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as pluralize from 'pluralize';
3
+ import * as i0 from "@angular/core";
4
+ export class PluralizePipe {
5
+ transform(value, times = 0) {
6
+ return pluralize(value, times);
7
+ }
8
+ }
9
+ PluralizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PluralizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ PluralizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PluralizePipe, name: "pluralize" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PluralizePipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'pluralize'
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1cmFsaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3BsdXJhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sV0FBVyxDQUFDOztBQUt2QyxNQUFNLE9BQU8sYUFBYTtJQUN4QixTQUFTLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOzsyR0FIVSxhQUFhO3lHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBwbHVyYWxpemUgZnJvbSAncGx1cmFsaXplJztcblxuQFBpcGUoe1xuICBuYW1lOiAncGx1cmFsaXplJ1xufSlcbmV4cG9ydCBjbGFzcyBQbHVyYWxpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCB0aW1lcyA9IDApOiB1bmtub3duIHtcbiAgICByZXR1cm4gcGx1cmFsaXplKHZhbHVlLCB0aW1lcyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Component, HostListener, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class PopoverComponent {
5
+ constructor() {
6
+ this.message = '';
7
+ this.data = {};
8
+ this.position = 'left';
9
+ this.active = false;
10
+ }
11
+ onClick($event) {
12
+ $event.stopPropagation();
13
+ this.active = true;
14
+ }
15
+ }
16
+ PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PopoverComponent, selector: "he-popover", inputs: { message: "message", content: "content", data: "data", position: "position" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"is-inline-block popover is-popover-{{position}}\" [class.is-popover-active]=\"active\">\n <ng-content></ng-content>\n\n <div class=\"popover-content\">\n\n <ng-template\n [ngTemplateOutlet]=\"content || ct\"\n [ngTemplateOutletContext]=\"{message: message, data: data}\"\n ></ng-template>\n\n <footer>\n <ng-content select=\"[actions]\"></ng-content>\n <button class=\"button is-small\" (click)=\"$event.stopPropagation(); active = false\">\n <span i18n=\"@@cancel\">Close</span>\n </button>\n </footer>\n </div>\n</div>\n\n<ng-template #ct>\n <p class=\"mb-2 is-pre-wrap\" [innerHtml]=\"message\"></p>\n</ng-template>\n", styles: [":host{cursor:pointer;display:block}.popover{position:relative;display:inline-block}.popover .popover-content{z-index:99999;position:absolute;display:none;font-size:.75rem;padding:.4rem .8rem;color:#4a4a4a;background-color:#fff;border-radius:4px;box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;width:max-content;max-width:24rem}.popover .popover-content:before{position:absolute;content:\"\";border-style:solid;pointer-events:none;height:0;width:0;top:100%;left:50%;border-color:transparent;border-bottom-color:#fff;border-left-color:#fff;border-width:.4rem;margin-left:-.4rem;margin-top:-.4rem;transform-origin:center;box-shadow:-1px 1px 2px #0a0a0a33}.popover .popover-content{top:auto!important;bottom:100%!important;left:50%!important;right:auto!important;transform:translate(-50%,-.7rem)!important}.popover .popover-content:before{top:100%!important;bottom:auto!important;left:50%!important;right:auto!important;transform:rotate(-45deg)}.popover.is-popover-right .popover-content{top:auto!important;bottom:50%!important;left:100%!important;right:auto!important;transform:translate(.7rem,50%)!important}.popover.is-popover-right .popover-content:before{top:50%!important;bottom:auto!important;left:0!important;right:auto!important;transform:rotate(45deg)}.popover.is-popover-bottom .popover-content{top:100%!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translate(-50%,.7rem)!important}.popover.is-popover-bottom .popover-content:before{top:0!important;bottom:auto!important;left:50%!important;right:auto!important;transform:rotate(135deg)}.popover.is-popover-left .popover-content{top:auto!important;bottom:50%!important;left:auto!important;right:100%!important;transform:translate(-.7rem,50%)!important}.popover.is-popover-left .popover-content:before{top:50%!important;bottom:auto!important;left:100%!important;right:auto!important;transform:rotate(-135deg)}.popover.is-popover-active .popover-content,.popover.is-popover-hover:hover .popover-content,.popover .popover-trigger:focus~.popover-content{display:block}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverComponent, decorators: [{
19
+ type: Component,
20
+ args: [{
21
+ selector: 'he-popover',
22
+ templateUrl: './popover.component.html',
23
+ styleUrls: ['./popover.component.scss']
24
+ }]
25
+ }], propDecorators: { message: [{
26
+ type: Input
27
+ }], content: [{
28
+ type: Input
29
+ }], data: [{
30
+ type: Input
31
+ }], position: [{
32
+ type: Input
33
+ }], onClick: [{
34
+ type: HostListener,
35
+ args: ['click', ['$event']]
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQVk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBT1MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUliLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZixhQUFRLEdBQWtDLE1BQU0sQ0FBQztRQVFqRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCO0lBTkMsT0FBTyxDQUFDLE1BQU07UUFDWixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQzs7OEdBZFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsK0xDWjdCLDJxQkFzQkE7NEZEVmEsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDeEM7OEJBR1EsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudENvbnRleHQge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY29udGVudD86IFRlbXBsYXRlUmVmPENvbnRlbnRDb250ZXh0PjtcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IGFueSA9IHt9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb246ICd0b3AnfCdyaWdodCd8J2JvdHRvbSd8J2xlZnQnID0gJ2xlZnQnO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljaygkZXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cImlzLWlubGluZS1ibG9jayBwb3BvdmVyIGlzLXBvcG92ZXIte3twb3NpdGlvbn19XCIgW2NsYXNzLmlzLXBvcG92ZXItYWN0aXZlXT1cImFjdGl2ZVwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudFwiPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50IHx8IGN0XCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bWVzc2FnZTogbWVzc2FnZSwgZGF0YTogZGF0YX1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuXG4gICAgPGZvb3Rlcj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25zXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtc21hbGxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBhY3RpdmUgPSBmYWxzZVwiPlxuICAgICAgICA8c3BhbiBpMThuPVwiQEBjYW5jZWxcIj5DbG9zZTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2N0PlxuICA8cCBjbGFzcz1cIm1iLTIgaXMtcHJlLXdyYXBcIiBbaW5uZXJIdG1sXT1cIm1lc3NhZ2VcIj48L3A+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,38 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { PopoverComponent } from '../popover/popover.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../popover/popover.component";
5
+ export class PopoverConfirmComponent {
6
+ constructor() {
7
+ this.confirmed = new EventEmitter();
8
+ this.data = {};
9
+ }
10
+ confirm() {
11
+ this.confirmed.next(this.data);
12
+ this.popover.active = false;
13
+ }
14
+ }
15
+ PopoverConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ PopoverConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PopoverConfirmComponent, selector: "he-popover-confirm", inputs: { message: "message", content: "content", position: "position", popoverClass: "popoverClass" }, outputs: { confirmed: "confirmed" }, viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "<he-popover [message]=\"message\" [content]=\"content\" [data]=\"data\" [position]=\"position\" [class]=\"popoverClass\">\n <ng-content></ng-content>\n\n <ng-container actions>\n <button class=\"button is-small is-primary mr-2\" (click)=\"$event.stopPropagation(); confirm()\">\n <span i18n=\"@@confirm\">Confirm</span>\n </button>\n </ng-container>\n</he-popover>\n", styles: ["he-popover{height:100%;width:100%}\n"], components: [{ type: i1.PopoverComponent, selector: "he-popover", inputs: ["message", "content", "data", "position"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopoverConfirmComponent, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'he-popover-confirm',
21
+ templateUrl: './popover-confirm.component.html',
22
+ styleUrls: ['./popover-confirm.component.scss']
23
+ }]
24
+ }], propDecorators: { popover: [{
25
+ type: ViewChild,
26
+ args: [PopoverComponent]
27
+ }], message: [{
28
+ type: Input
29
+ }], content: [{
30
+ type: Input
31
+ }], position: [{
32
+ type: Input
33
+ }], popoverClass: [{
34
+ type: Input
35
+ }], confirmed: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vcG9wb3Zlci1jb25maXJtL3BvcG92ZXItY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPaEYsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQW1CUyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVwQyxTQUFJLEdBQVEsRUFBRSxDQUFDO0tBTXZCO0lBSlEsT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7cUhBckJVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLGdQQUN2QixnQkFBZ0IsZ0RDVjdCLDhYQVNBOzRGREFhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDaEQ7OEJBR1MsT0FBTztzQkFEZCxTQUFTO3VCQUFDLGdCQUFnQjtnQkFJcEIsT0FBTztzQkFEYixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250ZW50Q29udGV4dCwgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1wb3BvdmVyLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci1jb25maXJtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbmZpcm1Db21wb25lbnQge1xuICBAVmlld0NoaWxkKFBvcG92ZXJDb21wb25lbnQpXG4gIHByaXZhdGUgcG9wb3Zlcj86IFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb250ZW50PzogVGVtcGxhdGVSZWY8Q29udGVudENvbnRleHQ+O1xuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3BvdmVyQ2xhc3M/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb25maXJtZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgZGF0YTogYW55ID0ge307XG5cbiAgcHVibGljIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jb25maXJtZWQubmV4dCh0aGlzLmRhdGEpO1xuICAgIHRoaXMucG9wb3ZlciEuYWN0aXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxoZS1wb3BvdmVyIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiBbY29udGVudF09XCJjb250ZW50XCIgW2RhdGFdPVwiZGF0YVwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtjbGFzc109XCJwb3BvdmVyQ2xhc3NcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250YWluZXIgYWN0aW9ucz5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGlzLXNtYWxsIGlzLXByaW1hcnkgbXItMlwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGNvbmZpcm0oKVwiPlxuICAgICAgPHNwYW4gaTE4bj1cIkBAY29uZmlybVwiPkNvbmZpcm08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9oZS1wb3BvdmVyPlxuIl19
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isUndefined, isNumber, toPrecision } from '@hestia-earth/utils';
3
+ import * as i0 from "@angular/core";
4
+ export class PrecisionPipe {
5
+ transform(value, precision) {
6
+ return isUndefined(value) ?
7
+ null : (isNumber(value) ?
8
+ `${toPrecision(parseFloat(`${value}`), parseInt(`${precision}`, 10))}`.replace(/\.00$/, '') :
9
+ value);
10
+ }
11
+ }
12
+ PrecisionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PrecisionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ PrecisionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PrecisionPipe, name: "precision" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PrecisionPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'precision'
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlY2lzaW9uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3ByZWNpc2lvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt6RSxNQUFNLE9BQU8sYUFBYTtJQUN4QixTQUFTLENBQUMsS0FBb0IsRUFBRSxTQUF5QjtRQUN2RCxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDTCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNmLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RixLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7OzJHQVJVLGFBQWE7eUdBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCBpc051bWJlciwgdG9QcmVjaXNpb24gfSBmcm9tICdAaGVzdGlhLWVhcnRoL3V0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAncHJlY2lzaW9uJ1xufSlcbmV4cG9ydCBjbGFzcyBQcmVjaXNpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nfG51bWJlciwgcHJlY2lzaW9uPzogc3RyaW5nfG51bWJlcikge1xuICAgIHJldHVybiBpc1VuZGVmaW5lZCh2YWx1ZSkgP1xuICAgICAgbnVsbCA6IChcbiAgICAgICAgaXNOdW1iZXIodmFsdWUpID9cbiAgICAgICAgICBgJHt0b1ByZWNpc2lvbihwYXJzZUZsb2F0KGAke3ZhbHVlfWApLCBwYXJzZUludChgJHtwcmVjaXNpb259YCwgMTApKX1gLnJlcGxhY2UoL1xcLjAwJC8sICcnKSA6XG4gICAgICAgICAgdmFsdWVcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ export * from './common.module';
2
+ export * from './common.service';
3
+ export * from './toast.service';
4
+ export * from './logs-utils';
5
+ export * from './utils';
6
+ export { BlankNodeDiffsComponent } from './blank-node-diffs/blank-node-diffs.component';
7
+ export { BlankNodeStateComponent } from './blank-node-state/blank-node-state.component';
8
+ export { BlankNodeStateNoticeComponent } from './blank-node-state-notice/blank-node-state-notice.component';
9
+ export { BlankNodeValueDeltaComponent } from './blank-node-value-delta/blank-node-value-delta.component';
10
+ export { ClipboardComponent } from './clipboard/clipboard.component';
11
+ export { LinkKeyValueComponent } from './link-key-value/link-key-value.component';
12
+ export { MapsDrawingConfirmComponent } from './maps-drawing-confirm/maps-drawing-confirm.component';
13
+ export { PopoverComponent } from './popover/popover.component';
14
+ export { PopoverConfirmComponent } from './popover-confirm/popover-confirm.component';
15
+ export { SchemaVersionLinkComponent } from './schema-version-link/schema-version-link.component';
16
+ export { SkeletonTextComponent } from './skeleton-text/skeleton-text.component';
17
+ export { SocialTagsComponent } from './social-tags/social-tags.component';
18
+ export { ToastComponent } from './toast/toast.component';
19
+ export { UnitConverterComponent } from './unit-converter/unit-converter.component';
20
+ export { BindOnceDirective } from './bind-once.directive';
21
+ export { ClickOutsideDirective } from './click-outside.directive';
22
+ export { DefaultPipe } from './default.pipe';
23
+ export { EllipsisPipe } from './ellipsis.pipe';
24
+ export { GetPipe } from './get.pipe';
25
+ export { KeyToLabelPipe } from './key-to-label.pipe';
26
+ export { KeysPipe } from './keys.pipe';
27
+ export { PluralizePipe } from './pluralize.pipe';
28
+ export { PrecisionPipe } from './precision.pipe';
29
+ export { TagsInputDirective } from './tags-input.directive';
30
+ export { TimesPipe } from './times.pipe';
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ3MtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEJsYW5rTm9kZURpZmZzQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLWRpZmZzL2JsYW5rLW5vZGUtZGlmZnMuY29tcG9uZW50JztcbmV4cG9ydCB7IEJsYW5rTm9kZVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLXN0YXRlL2JsYW5rLW5vZGUtc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7IEJsYW5rTm9kZVN0YXRlTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmxhbmtOb2RlVmFsdWVEZWx0YUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS12YWx1ZS1kZWx0YS9ibGFuay1ub2RlLXZhbHVlLWRlbHRhLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDbGlwYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQuY29tcG9uZW50JztcbmV4cG9ydCB7IExpbmtLZXlWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vbGluay1rZXktdmFsdWUvbGluay1rZXktdmFsdWUuY29tcG9uZW50JztcbmV4cG9ydCB7IE1hcHNEcmF3aW5nQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vbWFwcy1kcmF3aW5nLWNvbmZpcm0vbWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUG9wb3ZlckNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNjaGVtYVZlcnNpb25MaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9zY2hlbWEtdmVyc2lvbi1saW5rL3NjaGVtYS12ZXJzaW9uLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCB7IFNrZWxldG9uVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2tlbGV0b24tdGV4dC9za2VsZXRvbi10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTb2NpYWxUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9zb2NpYWwtdGFncy9zb2NpYWwtdGFncy5jb21wb25lbnQnO1xuZXhwb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBVbml0Q29udmVydGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bml0LWNvbnZlcnRlci91bml0LWNvbnZlcnRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmluZE9uY2VEaXJlY3RpdmUgfSBmcm9tICcuL2JpbmQtb25jZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZWZhdWx0UGlwZSB9IGZyb20gJy4vZGVmYXVsdC5waXBlJztcbmV4cG9ydCB7IEVsbGlwc2lzUGlwZSB9IGZyb20gJy4vZWxsaXBzaXMucGlwZSc7XG5leHBvcnQgeyBHZXRQaXBlIH0gZnJvbSAnLi9nZXQucGlwZSc7XG5leHBvcnQgeyBLZXlUb0xhYmVsUGlwZSB9IGZyb20gJy4va2V5LXRvLWxhYmVsLnBpcGUnO1xuZXhwb3J0IHsgS2V5c1BpcGUgfSBmcm9tICcuL2tleXMucGlwZSc7XG5leHBvcnQgeyBQbHVyYWxpemVQaXBlIH0gZnJvbSAnLi9wbHVyYWxpemUucGlwZSc7XG5leHBvcnQgeyBQcmVjaXNpb25QaXBlIH0gZnJvbSAnLi9wcmVjaXNpb24ucGlwZSc7XG5leHBvcnQgeyBUYWdzSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL3RhZ3MtaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFRpbWVzUGlwZSB9IGZyb20gJy4vdGltZXMucGlwZSc7XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { baseUrl } from '../utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@fortawesome/angular-fontawesome";
5
+ import * as i2 from "../bind-once.directive";
6
+ import * as i3 from "@angular/common";
7
+ export class SchemaVersionLinkComponent {
8
+ constructor() {
9
+ this.showExternalLink = true;
10
+ this.linkClass = '';
11
+ }
12
+ get url() {
13
+ return [
14
+ baseUrl(),
15
+ 'schema',
16
+ this.node.schemaVersion,
17
+ this.node['@type']
18
+ ].filter(Boolean).join('/');
19
+ }
20
+ }
21
+ SchemaVersionLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SchemaVersionLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ SchemaVersionLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SchemaVersionLinkComponent, selector: "he-schema-version-link", inputs: { node: "node", showExternalLink: "showExternalLink", linkClass: "linkClass", text: "text" }, ngImport: i0, template: "<ng-container *bindOnce=\"url\">\n <a [href]=\"url\" target=\"_blank\" [class]=\"linkClass\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n <fa-icon class=\"ml-2\" icon=\"external-link-alt\" size=\"sm\" *ngIf=\"showExternalLink\"></fa-icon>\n </a>\n</ng-container>\n", styles: ["a{color:inherit}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], directives: [{ type: i2.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SchemaVersionLinkComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'he-schema-version-link',
27
+ templateUrl: './schema-version-link.component.html',
28
+ styleUrls: ['./schema-version-link.component.scss']
29
+ }]
30
+ }], propDecorators: { node: [{
31
+ type: Input
32
+ }], showExternalLink: [{
33
+ type: Input
34
+ }], linkClass: [{
35
+ type: Input
36
+ }], text: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXZlcnNpb24tbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3NjaGVtYS12ZXJzaW9uLWxpbmsvc2NoZW1hLXZlcnNpb24tbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3NjaGVtYS12ZXJzaW9uLWxpbmsvc2NoZW1hLXZlcnNpb24tbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQU9uQyxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBU1MscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxFQUFFLENBQUM7S0FZdkI7SUFSQyxJQUFXLEdBQUc7UUFDWixPQUFPO1lBQ0wsT0FBTyxFQUFFO1lBQ1QsUUFBUTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNuQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7d0hBakJVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLG9LQ1R2Qyx5U0FNQTs0RkRHYSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLHNDQUFzQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7aUJBQ3BEOzhCQUdTLElBQUk7c0JBRFgsS0FBSztnQkFHQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYmFzZVVybCB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtc2NoZW1hLXZlcnNpb24tbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlbWEtdmVyc2lvbi1saW5rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZW1hLXZlcnNpb24tbGluay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNjaGVtYVZlcnNpb25MaW5rQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBub2RlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxMaW5rID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGxpbmtDbGFzcyA9ICcnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dD86IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHVybCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYmFzZVVybCgpLFxuICAgICAgJ3NjaGVtYScsXG4gICAgICB0aGlzLm5vZGUuc2NoZW1hVmVyc2lvbixcbiAgICAgIHRoaXMubm9kZVsnQHR5cGUnXVxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJy8nKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqYmluZE9uY2U9XCJ1cmxcIj5cbiAgPGEgW2hyZWZdPVwidXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgW2NsYXNzXT1cImxpbmtDbGFzc1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPGZhLWljb24gY2xhc3M9XCJtbC0yXCIgaWNvbj1cImV4dGVybmFsLWxpbmstYWx0XCIgc2l6ZT1cInNtXCIgKm5nSWY9XCJzaG93RXh0ZXJuYWxMaW5rXCI+PC9mYS1pY29uPlxuICA8L2E+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SkeletonTextComponent {
4
+ constructor() {
5
+ this.animated = true;
6
+ this.width = 100;
7
+ this.height = 'inherit';
8
+ }
9
+ get isAnimated() {
10
+ return this.animated;
11
+ }
12
+ get hasWidth() {
13
+ return `${this.width}%`;
14
+ }
15
+ get hasHeight() {
16
+ return this.height;
17
+ }
18
+ }
19
+ SkeletonTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkeletonTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ SkeletonTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkeletonTextComponent, selector: "he-skeleton-text", inputs: { animated: "animated", width: "width", height: "height" }, host: { properties: { "class.is-animated": "this.isAnimated", "style.width": "this.hasWidth", "style.height": "this.hasHeight" } }, ngImport: i0, template: "<span>&nbsp;</span>\n", styles: [":host{border-radius:2px;display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:rgba(0,0,0,.065);line-height:10px;-webkit-user-select:none;user-select:none;pointer-events:none}span{display:inline-block}:host(.is-animated){position:relative;background:linear-gradient(to right,rgba(0,0,0,.065) 8%,rgba(0,0,0,.135) 18%,rgba(0,0,0,.065) 33%);background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}\n"] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkeletonTextComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: 'he-skeleton-text',
25
+ templateUrl: './skeleton-text.component.html',
26
+ styleUrls: ['./skeleton-text.component.scss']
27
+ }]
28
+ }], propDecorators: { animated: [{
29
+ type: Input
30
+ }], width: [{
31
+ type: Input
32
+ }], height: [{
33
+ type: Input
34
+ }], isAnimated: [{
35
+ type: HostBinding,
36
+ args: ['class.is-animated']
37
+ }], hasWidth: [{
38
+ type: HostBinding,
39
+ args: ['style.width']
40
+ }], hasHeight: [{
41
+ type: HostBinding,
42
+ args: ['style.height']
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3NrZWxldG9uLXRleHQvc2tlbGV0b24tdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3NrZWxldG9uLXRleHQvc2tlbGV0b24tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzlELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFPVSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLFVBQUssR0FBRyxHQUFHLENBQUM7UUFFWixXQUFNLEdBQUcsU0FBUyxDQUFDO0tBZ0I1QjtJQWRDLElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O21IQXJCVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixnUUNQbEMsdUJBQ0E7NEZETWEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5Qzs4QkFHUyxRQUFRO3NCQURmLEtBQUs7Z0JBR0UsS0FBSztzQkFEWixLQUFLO2dCQUdFLE1BQU07c0JBRGIsS0FBSztnQkFJRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU01QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsYUFBYTtnQkFNdEIsU0FBUztzQkFEWixXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1za2VsZXRvbi10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NrZWxldG9uLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9za2VsZXRvbi10ZXh0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2tlbGV0b25UZXh0Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBhbmltYXRlZCA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgd2lkdGggPSAxMDA7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgaGVpZ2h0ID0gJ2luaGVyaXQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtYW5pbWF0ZWQnKVxuICBnZXQgaXNBbmltYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICBnZXQgaGFzV2lkdGgoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMud2lkdGh9JWA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gIGdldCBoYXNIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVpZ2h0O1xuICB9XG59XG4iLCI8c3Bhbj4mbmJzcDs8L3NwYW4+XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class SocialTagsComponent {
5
+ constructor(meta) {
6
+ this.meta = meta;
7
+ this.config = {};
8
+ this.classes = 'is-hidden';
9
+ }
10
+ ngOnInit() {
11
+ this.meta.addTag({ charset: 'UTF-8' });
12
+ const config = Object.assign({ 'og:url': window.location.href.split('?')[0] }, this.config);
13
+ Object.keys(config).map(name => {
14
+ const content = config[name];
15
+ this.meta.updateTag({ name, content });
16
+ if (name === 'og:description') {
17
+ this.meta.updateTag({ name: 'description', content });
18
+ }
19
+ });
20
+ }
21
+ }
22
+ SocialTagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SocialTagsComponent, deps: [{ token: i1.Meta }], target: i0.ɵɵFactoryTarget.Component });
23
+ SocialTagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SocialTagsComponent, selector: "he-social-tags", inputs: { config: "config" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<span></span>\n", styles: [""] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SocialTagsComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'he-social-tags',
28
+ templateUrl: './social-tags.component.html',
29
+ styleUrls: ['./social-tags.component.scss']
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i1.Meta }]; }, propDecorators: { config: [{
32
+ type: Input
33
+ }], classes: [{
34
+ type: HostBinding,
35
+ args: ['class']
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9zb2NpYWwtdGFncy9zb2NpYWwtdGFncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3NvY2lhbC10YWdzL3NvY2lhbC10YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXRFLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFDVSxJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtRQVpaLFdBQU0sR0FNVixFQUFFLENBQUM7UUFHQSxZQUFPLEdBQUcsV0FBVyxDQUFDO0lBSXpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUV2QyxNQUFNLE1BQU0sbUJBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FDZixDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEEvQlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdUlDUmhDLGlCQUNBOzRGRE9hLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDNUM7MkZBR1MsTUFBTTtzQkFEYixLQUFLO2dCQVVDLE9BQU87c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1zb2NpYWwtdGFncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zb2NpYWwtdGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NvY2lhbC10YWdzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU29jaWFsVGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgY29uZmlnOiB7XG4gICAgJ29nOnR5cGUnPzogc3RyaW5nO1xuICAgICdvZzp1cmwnPzogc3RyaW5nO1xuICAgICdvZzp0aXRsZSc/OiBzdHJpbmc7XG4gICAgJ29nOmRlc2NyaXB0aW9uJz86IHN0cmluZztcbiAgICAnb2c6aW1hZ2UnPzogc3RyaW5nO1xuICB9ID0ge307XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyBjbGFzc2VzID0gJ2lzLWhpZGRlbic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXRhOiBNZXRhXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tZXRhLmFkZFRhZyh7IGNoYXJzZXQ6ICdVVEYtOCcgfSk7XG5cbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAnb2c6dXJsJzogd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVswXSxcbiAgICAgIC4uLnRoaXMuY29uZmlnXG4gICAgfTtcbiAgICBPYmplY3Qua2V5cyhjb25maWcpLm1hcChuYW1lID0+IHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb25maWdbbmFtZV07XG4gICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgbmFtZSwgY29udGVudCB9KTtcbiAgICAgIGlmIChuYW1lID09PSAnb2c6ZGVzY3JpcHRpb24nKSB7XG4gICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50IH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8c3Bhbj48L3NwYW4+XG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { __rest } from "tslib";
2
+ import { Directive, Input } from '@angular/core';
3
+ import BulmaTagsInput from '@hestia-earth/bulma-tagsinput';
4
+ import * as i0 from "@angular/core";
5
+ const restrictToType = {
6
+ number: val => parseFloat(val) === +val ? val : false
7
+ };
8
+ export class TagsInputDirective {
9
+ constructor(elementRef) {
10
+ this.elementRef = elementRef;
11
+ this.inputEvents = [];
12
+ this.appTagsInput = {};
13
+ }
14
+ ngAfterViewInit() {
15
+ const { enabled } = this.appTagsInput;
16
+ const { localName } = this.input;
17
+ setTimeout(() => !this.tagsInput && enabled && localName === 'input' && this.enableTagsInput());
18
+ }
19
+ ngOnDestroy() {
20
+ this.inputEvents.map(({ event, listener }) => this.tagsInputInput.removeEventListener(event, listener));
21
+ this.inputEvents = [];
22
+ this.tagsInput = null;
23
+ }
24
+ get input() {
25
+ return this.elementRef.nativeElement;
26
+ }
27
+ get tagsInputNode() {
28
+ return this.elementRef.nativeElement.parentNode.querySelectorAll('.tags-input')[0];
29
+ }
30
+ get tagsInputInput() {
31
+ return this.tagsInputNode.querySelectorAll('.input')[0];
32
+ }
33
+ setInputEvent({ event, listener }) {
34
+ this.tagsInputInput.addEventListener(event, listener);
35
+ this.inputEvents.push({ event, listener });
36
+ }
37
+ mapValue(value) {
38
+ return this.appTagsInput.items.type in restrictToType ? restrictToType[this.appTagsInput.items.type](value) : value;
39
+ }
40
+ addInputValue(value) {
41
+ if (value && this.mapValue(value)) {
42
+ this.tagsInput.add(value);
43
+ this.tagsInputInput.value = '';
44
+ }
45
+ }
46
+ enableTagsInput() {
47
+ try {
48
+ const _a = this.appTagsInput, { enabled, items } = _a, options = __rest(_a, ["enabled", "items"]);
49
+ this.tagsInput = new BulmaTagsInput(this.input, options);
50
+ // TODO: remove when fixed, @see https://github.com/CreativeBulma/bulma-tagsinput/issues/23
51
+ const classes = ['is-small', 'is-large'].filter(v => this.input.classList.contains(v));
52
+ classes.map(v => this.tagsInputNode.classList.add(v));
53
+ // regex pattern matching
54
+ this.tagsInput.on('before.add', value => this.mapValue(value));
55
+ // add item on blur if value
56
+ const onBlur = () => this.addInputValue(this.tagsInputInput.value);
57
+ this.setInputEvent({ event: 'blur', listener: onBlur });
58
+ }
59
+ catch (err) {
60
+ console.error(err);
61
+ }
62
+ }
63
+ }
64
+ TagsInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TagsInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
65
+ TagsInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TagsInputDirective, selector: "[appTagsInput]", inputs: { appTagsInput: "appTagsInput" }, ngImport: i0 });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TagsInputDirective, decorators: [{
67
+ type: Directive,
68
+ args: [{
69
+ selector: '[appTagsInput]'
70
+ }]
71
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { appTagsInput: [{
72
+ type: Input
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3RhZ3MtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxjQUFjLE1BQU0sK0JBQStCLENBQUM7O0FBNkIzRCxNQUFNLGNBQWMsR0FFaEI7SUFDRixNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSztDQUN0RCxDQUFDO0FBVUYsTUFBTSxPQUFPLGtCQUFrQjtJQU83QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBRzNCLGlCQUFZLEdBQXNCLEVBQUUsQ0FBQztJQUVBLENBQUM7SUFFOUMsZUFBZTtRQUNiLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hH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NEZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjtpR0FNUyxZQUFZO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgQnVsbWFUYWdzSW5wdXQgZnJvbSAnQGhlc3RpYS1lYXJ0aC9idWxtYS10YWdzaW5wdXQnO1xuXG5pbnRlcmZhY2UgSVRhZ3NJbnB1dE9wdGlvbnMge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgaXRlbXM/OiBhbnk7XG4gIGFsbG93RHVwbGljYXRlcz86IGJvb2xlYW47XG5cdGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xuXHRjbGVhclNlbGVjdGlvbk9uVHlwaW5nPzogYm9vbGVhbjtcblx0Y2xvc2VEcm9wZG93bk9uSXRlbVNlbGVjdD86IGJvb2xlYW47XG5cdGRlbGltaXRlcj86IHN0cmluZztcblx0ZnJlZUlucHV0PzogYm9vbGVhbjtcblx0aGlnaGxpZ2h0RHVwbGljYXRlPzogYm9vbGVhbjtcblx0aGlnaGxpZ2h0TWF0Y2hlc1N0cmluZz86IGJvb2xlYW47XG5cdGl0ZW1WYWx1ZT86IHN0cmluZztcbiAgaXRlbVRleHQ/OiBzdHJpbmc7XG5cdG1heFRhZ3M/OiBudW1iZXI7XG5cdG1heENoYXJzPzogbnVtYmVyO1xuXHRtaW5DaGFycz86IG51bWJlcjtcblx0bm9SZXN1bHRzTGFiZWw/OiBzdHJpbmc7XG5cdHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXHRyZW1vdmFibGU/OiBib29sZWFuO1xuXHRzZWFyY2hNaW5DaGFycz86IG51bWJlcjtcblx0c2VhcmNoT24/OiAndGV4dCd8J3ZhbHVlJztcblx0c2VsZWN0YWJsZT86IGJvb2xlYW47XG5cdHNvdXJjZT86IGFueTtcblx0dGFnQ2xhc3M/OiBzdHJpbmc7XG5cdHRyaW0/OiBib29sZWFuO1xufVxuXG5jb25zdCByZXN0cmljdFRvVHlwZToge1xuICBbdHlwZTogc3RyaW5nXTogKHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZ3xudW1iZXJ8Ym9vbGVhbjtcbn0gPSB7XG4gIG51bWJlcjogdmFsID0+IHBhcnNlRmxvYXQodmFsKSA9PT0gK3ZhbCA/IHZhbCA6IGZhbHNlXG59O1xuXG5pbnRlcmZhY2UgSUV2ZW50IHtcbiAgZXZlbnQ6IGFueTtcbiAgbGlzdGVuZXI6IGFueTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcFRhZ3NJbnB1dF0nXG59KVxuZXhwb3J0IGNsYXNzIFRhZ3NJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdGFnc0lucHV0OiBCdWxtYVRhZ3NJbnB1dDtcbiAgcHJpdmF0ZSBpbnB1dEV2ZW50czogSUV2ZW50W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwcml2YXRlIGFwcFRhZ3NJbnB1dDogSVRhZ3NJbnB1dE9wdGlvbnMgPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHsgZW5hYmxlZCB9ID0gdGhpcy5hcHBUYWdzSW5wdXQ7XG4gICAgY29uc3QgeyBsb2NhbE5hbWUgfSA9IHRoaXMuaW5wdXQ7XG4gICAgc2V0VGltZW91dCgoKSA9PiAhdGhpcy50YWdzSW5wdXQgJiYgZW5hYmxlZCAmJiBsb2NhbE5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5lbmFibGVUYWdzSW5wdXQoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmlucHV0RXZlbnRzLm1hcCgoeyBldmVudCwgbGlzdGVuZXIgfSkgPT4gdGhpcy50YWdzSW5wdXRJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lcikpO1xuICAgIHRoaXMuaW5wdXRFdmVudHMgPSBbXTtcbiAgICB0aGlzLnRhZ3NJbnB1dCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldCBpbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhZ3NJbnB1dE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbCgnLnRhZ3MtaW5wdXQnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhZ3NJbnB1dElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLnRhZ3NJbnB1dE5vZGUucXVlcnlTZWxlY3RvckFsbCgnLmlucHV0JylbMF0gYXMgSFRNTElucHV0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRFdmVudCh7IGV2ZW50LCBsaXN0ZW5lciB9OiBJRXZlbnQpIHtcbiAgICB0aGlzLnRhZ3NJbnB1dElucHV0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB0aGlzLmlucHV0RXZlbnRzLnB1c2goeyBldmVudCwgbGlzdGVuZXIgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcHBUYWdzSW5wdXQuaXRlbXMudHlwZSBpbiByZXN0cmljdFRvVHlwZSA/IHJlc3RyaWN0VG9UeXBlW3RoaXMuYXBwVGFnc0lucHV0Lml0ZW1zLnR5cGVdKHZhbHVlKSA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbnB1dFZhbHVlKHZhbHVlPzogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMubWFwVmFsdWUodmFsdWUpKSB7XG4gICAgICB0aGlzLnRhZ3NJbnB1dC5hZGQodmFsdWUpO1xuICAgICAgdGhpcy50YWdzSW5wdXRJbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlVGFnc0lucHV0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGVuYWJsZWQsIGl0ZW1zLCAuLi5vcHRpb25zIH0gPSB0aGlzLmFwcFRhZ3NJbnB1dDtcbiAgICAgIHRoaXMudGFnc0lucHV0ID0gbmV3IEJ1bG1hVGFnc0lucHV0KHRoaXMuaW5wdXQsIG9wdGlvbnMpO1xuXG4gICAgICAvLyBUT0RPOiByZW1vdmUgd2hlbiBmaXhlZCwgQHNlZSBodHRwczovL2dpdGh1Yi5jb20vQ3JlYXRpdmVCdWxtYS9idWxtYS10YWdzaW5wdXQvaXNzdWVzLzIzXG4gICAgICBjb25zdCBjbGFzc2VzID0gWydpcy1zbWFsbCcsICdpcy1sYXJnZSddLmZpbHRlcih2ID0+IHRoaXMuaW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKHYpKTtcbiAgICAgIGNsYXNzZXMubWFwKHYgPT4gdGhpcy50YWdzSW5wdXROb2RlLmNsYXNzTGlzdC5hZGQodikpO1xuXG4gICAgICAvLyByZWdleCBwYXR0ZXJuIG1hdGNoaW5nXG4gICAgICB0aGlzLnRhZ3NJbnB1dC5vbignYmVmb3JlLmFkZCcsIHZhbHVlID0+IHRoaXMubWFwVmFsdWUodmFsdWUpKTtcblxuICAgICAgLy8gYWRkIGl0ZW0gb24gYmx1ciBpZiB2YWx1ZVxuICAgICAgY29uc3Qgb25CbHVyID0gKCkgPT4gdGhpcy5hZGRJbnB1dFZhbHVlKHRoaXMudGFnc0lucHV0SW5wdXQudmFsdWUpO1xuICAgICAgdGhpcy5zZXRJbnB1dEV2ZW50KHsgZXZlbnQ6ICdibHVyJywgbGlzdGVuZXI6IG9uQmx1ciB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TimesPipe {
4
+ transform(times) {
5
+ return (new Array(times)).fill(1);
6
+ }
7
+ }
8
+ TimesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TimesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimesPipe, name: "times" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimesPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'times'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vdGltZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsU0FBUyxDQUFDLEtBQWE7UUFDckIsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O3VHQUhVLFNBQVM7cUdBQVQsU0FBUzs0RkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxPQUFPO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0aW1lcydcbn0pXG5leHBvcnQgY2xhc3MgVGltZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh0aW1lczogbnVtYmVyKTogdW5rbm93biB7XG4gICAgcmV0dXJuIChuZXcgQXJyYXkodGltZXMpKS5maWxsKDEpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../toast.service";
4
+ import * as i2 from "@angular/common";
5
+ export class ToastComponent {
6
+ constructor(toastService) {
7
+ this.toastService = toastService;
8
+ this.subscriptions = [];
9
+ this.toasts = [];
10
+ }
11
+ ngOnInit() {
12
+ this.subscriptions.push(this.toastService.toasts.subscribe(toast => this.add(toast)));
13
+ }
14
+ ngOnDestroy() {
15
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
16
+ }
17
+ add(toast) {
18
+ this.toasts.push(toast);
19
+ if (toast.duration) {
20
+ toast.timeout = setTimeout(() => this.dismiss(toast), toast.duration);
21
+ }
22
+ }
23
+ dismiss(toast) {
24
+ this.toasts.splice(this.toasts.findIndex(val => val.id === toast.id), 1);
25
+ }
26
+ }
27
+ ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component });
28
+ ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ToastComponent, selector: "he-toast", ngImport: i0, template: "<div class=\"mb-3 columns is-centered is-vcentered\">\n <div class=\"notification is-{{toast.color}}\" role=\"alert\" *ngFor=\"let toast of toasts\">\n <button class=\"delete\" aria-label=\"delete\" (click)=\"dismiss(toast)\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <strong [ngSwitch]=\"toast.color\">\n <ng-container *ngSwitchCase=\"'danger'\">\n <ng-container [ngSwitch]=\"toast.message\">\n <span *ngSwitchCase=\"'Unauthorized'\">You are not allowed to perform this action.</span>\n <span *ngSwitchCase=\"'form-invalid'\">Please fix all the errors on this page.</span>\n <span *ngSwitchCase=\"'users-email-already-taken'\">Email already taken.</span>\n <span *ngSwitchCase=\"'users-auth-already-taken'\">Account already connected.</span>\n <span *ngSwitchDefault>\n <span *ngIf=\"toast.showRawMessage\">{{toast.message}}</span>\n <span [class.is-hidden]=\"toast.showRawMessage\">An unknown error occurred. Please try again later.</span>\n </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span *ngIf=\"toast.showRawMessage\">{{toast.message}}</span>\n <span [class.is-hidden]=\"toast.showRawMessage\">An unknown error occurred. Please try again later.</span>\n </ng-container>\n </strong>\n </div>\n</div>\n", styles: [":host{bottom:0;position:fixed;width:100%}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToastComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'he-toast',
33
+ templateUrl: './toast.component.html',
34
+ styleUrls: ['./toast.component.scss']
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.ToastService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBYzdELE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQ1UsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFMNUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLFdBQU0sR0FBb0IsRUFBRSxDQUFDO0lBSWpDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxHQUFHLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLEtBQUssQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7OzRHQTFCVSxjQUFjO2dHQUFkLGNBQWMsZ0RDZDNCLDYzQ0F5QkE7NEZEWGEsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRvYXN0U2VydmljZSwgSVRvYXN0IH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XG5cbmludGVyZmFjZSBJVG9hc3RUaW1lb3V0IGV4dGVuZHMgSVRvYXN0IHtcbiAgdGltZW91dD86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgcHVibGljIHRvYXN0czogSVRvYXN0VGltZW91dFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy50b2FzdFNlcnZpY2UudG9hc3RzLnN1YnNjcmliZSh0b2FzdCA9PiB0aGlzLmFkZCh0b2FzdCkpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcml2YXRlIGFkZCh0b2FzdDogSVRvYXN0VGltZW91dCkge1xuICAgIHRoaXMudG9hc3RzLnB1c2godG9hc3QpO1xuICAgIGlmICh0b2FzdC5kdXJhdGlvbikge1xuICAgICAgdG9hc3QudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kaXNtaXNzKHRvYXN0KSwgdG9hc3QuZHVyYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzKHRvYXN0OiBJVG9hc3RUaW1lb3V0KSB7XG4gICAgdGhpcy50b2FzdHMuc3BsaWNlKHRoaXMudG9hc3RzLmZpbmRJbmRleCh2YWwgPT4gdmFsLmlkID09PSB0b2FzdC5pZCksIDEpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWItMyBjb2x1bW5zIGlzLWNlbnRlcmVkIGlzLXZjZW50ZXJlZFwiPlxuICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uIGlzLXt7dG9hc3QuY29sb3J9fVwiIHJvbGU9XCJhbGVydFwiICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHNcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZGVsZXRlXCIgYXJpYS1sYWJlbD1cImRlbGV0ZVwiIChjbGljayk9XCJkaXNtaXNzKHRvYXN0KVwiPlxuICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8c3Ryb25nIFtuZ1N3aXRjaF09XCJ0b2FzdC5jb2xvclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhbmdlcidcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidG9hc3QubWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInVW5hdXRob3JpemVkJ1wiPllvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbi48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmb3JtLWludmFsaWQnXCI+UGxlYXNlIGZpeCBhbGwgdGhlIGVycm9ycyBvbiB0aGlzIHBhZ2UuPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndXNlcnMtZW1haWwtYWxyZWFkeS10YWtlbidcIj5FbWFpbCBhbHJlYWR5IHRha2VuLjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXJzLWF1dGgtYWxyZWFkeS10YWtlbidcIj5BY2NvdW50IGFscmVhZHkgY29ubmVjdGVkLjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b2FzdC5zaG93UmF3TWVzc2FnZVwiPnt7dG9hc3QubWVzc2FnZX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gW2NsYXNzLmlzLWhpZGRlbl09XCJ0b2FzdC5zaG93UmF3TWVzc2FnZVwiPkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b2FzdC5zaG93UmF3TWVzc2FnZVwiPnt7dG9hc3QubWVzc2FnZX19PC9zcGFuPlxuICAgICAgICA8c3BhbiBbY2xhc3MuaXMtaGlkZGVuXT1cInRvYXN0LnNob3dSYXdNZXNzYWdlXCI+QW4gdW5rbm93biBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3N0cm9uZz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==