valtech-components 2.0.598 → 2.0.600
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.
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +15 -3
- package/esm2022/lib/components/molecules/content-reaction/types.mjs +1 -1
- package/esm2022/lib/components/molecules/docs-api-table/docs-api-table.component.mjs +3 -3
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +81 -7
- package/esm2022/lib/components/molecules/footer-links/types.mjs +1 -1
- package/esm2022/lib/services/feedback/feedback.service.mjs +30 -1
- package/fesm2022/valtech-components.mjs +124 -10
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +1 -0
- package/lib/components/molecules/content-reaction/types.d.ts +6 -0
- package/lib/components/molecules/footer-links/types.d.ts +2 -0
- package/lib/components/organisms/article/article.component.d.ts +1 -1
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +1 -1
- package/lib/services/feedback/feedback.service.d.ts +19 -0
- package/package.json +1 -1
|
@@ -216,6 +216,35 @@ export class FeedbackService {
|
|
|
216
216
|
};
|
|
217
217
|
return firstValueFrom(this.http.post(this.baseUrl, request));
|
|
218
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Crea feedback anónimo (sin autenticación requerida).
|
|
221
|
+
* Usado para blogs, FAQs y contenido público.
|
|
222
|
+
*
|
|
223
|
+
* @param entityRef - Referencia a la entidad
|
|
224
|
+
* @param value - Valor de la reacción (negative, neutral, positive)
|
|
225
|
+
* @param comment - Comentario opcional (máx 500 caracteres)
|
|
226
|
+
* @returns Promise con la respuesta
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* // En un blog público
|
|
231
|
+
* const response = await this.feedbackService.createAnonymousReaction(
|
|
232
|
+
* { entityType: 'blog', entityId: 'my-post-slug' },
|
|
233
|
+
* 'positive'
|
|
234
|
+
* );
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
async createAnonymousReaction(entityRef, value, comment) {
|
|
238
|
+
const request = {
|
|
239
|
+
type: 'reaction',
|
|
240
|
+
entityRef,
|
|
241
|
+
reactionValue: value,
|
|
242
|
+
description: comment || '',
|
|
243
|
+
deviceContext: this.captureDeviceContext(),
|
|
244
|
+
appId: this.config.appId,
|
|
245
|
+
};
|
|
246
|
+
return firstValueFrom(this.http.post(`${this.baseUrl}/anonymous`, request));
|
|
247
|
+
}
|
|
219
248
|
// =========================================================================
|
|
220
249
|
// Helpers privados para detección de browser/OS
|
|
221
250
|
// =========================================================================
|
|
@@ -261,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
261
290
|
type: Injectable,
|
|
262
291
|
args: [{ providedIn: 'root' }]
|
|
263
292
|
}] });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzUXhEO0lBcFFDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FB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RSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOytHQXpRVSxlQUFlO21IQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVkFMVEVDSF9GRUVEQkFDS19DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1xuICBDcmVhdGVGZWVkYmFja1JlcXVlc3QsXG4gIENyZWF0ZUZlZWRiYWNrUmVzcG9uc2UsXG4gIEdldEZlZWRiYWNrUmVzcG9uc2UsXG4gIENoZWNrRmVlZGJhY2tSZXNwb25zZSxcbiAgRGV2aWNlQ29udGV4dCxcbiAgRmVlZGJhY2tUeXBlLFxuICBDb250ZW50UmVmLFxuICBFbnRpdHlSZWYsXG4gIFJlYWN0aW9uVmFsdWUsXG4gIEZlZWRiYWNrRmlyZXN0b3JlRG9jLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpcmVzdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9maXJlc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBwYXJhIGdlc3Rpb25hciBmZWVkYmFjayBkZSB1c3Vhcmlvcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogQENvbXBvbmVudCh7Li4ufSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIHByaXZhdGUgZmVlZGJhY2tTZXJ2aWNlID0gaW5qZWN0KEZlZWRiYWNrU2VydmljZSk7XG4gKlxuICogICBhc3luYyBzdWJtaXRGZWVkYmFjaygpIHtcbiAqICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFzeW5jKFxuICogICAgICAgJ2ZlZWRiYWNrJyxcbiAqICAgICAgICdNaSBjb21lbnRhcmlvJyxcbiAqICAgICAgICdEZXNjcmlwY2nDs24gZGV0YWxsYWRhLi4uJ1xuICogICAgICk7XG4gKiAgICAgY29uc29sZS5sb2coJ0ZlZWRiYWNrIGVudmlhZG86JywgcmVzcG9uc2UuZmVlZGJhY2tJZCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfRkVFREJBQ0tfQ09ORklHKTtcbiAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIGZpcmVzdG9yZSA9IGluamVjdChGaXJlc3RvcmVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFVSTCBiYXNlIHBhcmEgZW5kcG9pbnRzIGRlIGZlZWRiYWNrLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgYmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbmZpZy5hcGlVcmx9JHt0aGlzLmNvbmZpZy5mZWVkYmFja1ByZWZpeH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcHR1cmEgZWwgY29udGV4dG8gZGVsIGRpc3Bvc2l0aXZvIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBjYXB0dXJlRGV2aWNlQ29udGV4dCgpOiBEZXZpY2VDb250ZXh0IHtcbiAgICBjb25zdCB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZXI6IHRoaXMuZGV0ZWN0QnJvd3Nlcih1YSksXG4gICAgICBvczogdGhpcy5kZXRlY3RPUyh1YSksXG4gICAgICB2aWV3cG9ydDogYCR7d2luZG93LmlubmVyV2lkdGh9eCR7d2luZG93LmlubmVySGVpZ2h0fWAsXG4gICAgICBsYW5ndWFnZTogbmF2aWdhdG9yLmxhbmd1YWdlLFxuICAgICAgdXNlckFnZW50OiB1YSxcbiAgICAgIHBhZ2VVcmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjay5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGZlZWRiYWNrXG4gICAqIEBwYXJhbSB0aXRsZSAtIFTDrXR1bG8gZGVsIGZlZWRiYWNrXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIERlc2NyaXBjacOzbiBkZXRhbGxhZGFcbiAgICogQHBhcmFtIGF0dGFjaG1lbnRzIC0gVVJMcyBkZSBhcmNoaXZvcyBhZGp1bnRvcyAob3BjaW9uYWwpXG4gICAqIEBwYXJhbSBjb250ZW50UmVmIC0gUmVmZXJlbmNpYSBhIGNvbnRlbmlkbyBlc3BlY8OtZmljbyAob3BjaW9uYWwpXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29uIGxhIHJlc3B1ZXN0YVxuICAgKi9cbiAgY3JlYXRlKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZSxcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBhdHRhY2htZW50cyxcbiAgICAgIGNvbnRlbnRSZWYsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPih0aGlzLmJhc2VVcmwsIHJlcXVlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgdW4gbnVldm8gZmVlZGJhY2sgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFzeW5jKFxuICAgIHR5cGU6IEZlZWRiYWNrVHlwZSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM6IHN0cmluZ1tdID0gW10sXG4gICAgY29udGVudFJlZj86IENvbnRlbnRSZWZcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5jcmVhdGUodHlwZSwgdGl0bGUsIGRlc2NyaXB0aW9uLCBhdHRhY2htZW50cywgY29udGVudFJlZilcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEIChzb2xvIGVsIHByb3BpZXRhcmlvKS5cbiAgICpcbiAgICogQHBhcmFtIGZlZWRiYWNrSWQgLSBJRCBkZWwgZmVlZGJhY2tcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBnZXRCeUlkKGZlZWRiYWNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0RmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEdldEZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtmZWVkYmFja0lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9idGllbmUgdW4gZmVlZGJhY2sgcG9yIElEICh2ZXJzacOzbiBhc3luYy9hd2FpdCkuXG4gICAqL1xuICBhc3luYyBnZXRCeUlkQXN5bmMoZmVlZGJhY2tJZDogc3RyaW5nKTogUHJvbWlzZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuZ2V0QnlJZChmZWVkYmFja0lkKSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhIHNpIHVuIGFyY2hpdm8gY3VtcGxlIGNvbiBsYXMgcmVzdHJpY2Npb25lcy5cbiAgICovXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlKTogeyB2YWxpZDogYm9vbGVhbjsgZXJyb3I/OiBzdHJpbmcgfSB7XG4gICAgLy8gVmVyaWZpY2FyIHRhbWHDsW9cbiAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5jb25maWcubWF4RmlsZVNpemUhKSB7XG4gICAgICBjb25zdCBtYXhTaXplTUIgPSBNYXRoLnJvdW5kKHRoaXMuY29uZmlnLm1heEZpbGVTaXplISAvICgxMDI0ICogMTAyNCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogYEVsIGFyY2hpdm8gZXhjZWRlIGVsIHRhbWHDsW8gbcOheGltbyBkZSAke21heFNpemVNQn1NQmAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhciB0aXBvXG4gICAgY29uc3QgYWxsb3dlZFR5cGVzID0gdGhpcy5jb25maWcuYWxsb3dlZEZpbGVUeXBlcyB8fCBbXTtcbiAgICBjb25zdCBpc0FsbG93ZWQgPSBhbGxvd2VkVHlwZXMuc29tZSgocGF0dGVybikgPT4ge1xuICAgICAgaWYgKHBhdHRlcm4uZW5kc1dpdGgoJy8qJykpIHtcbiAgICAgICAgY29uc3QgYmFzZVR5cGUgPSBwYXR0ZXJuLnJlcGxhY2UoJy8qJywgJycpO1xuICAgICAgICByZXR1cm4gZmlsZS50eXBlLnN0YXJ0c1dpdGgoYmFzZVR5cGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbGUudHlwZSA9PT0gcGF0dGVybjtcbiAgICB9KTtcblxuICAgIGlmICghaXNBbGxvd2VkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiAnVGlwbyBkZSBhcmNoaXZvIG5vIHBlcm1pdGlkbycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSBsYSBjb25maWd1cmFjacOzbiBhY3R1YWwgZGVsIHNlcnZpY2lvLlxuICAgKi9cbiAgZ2V0Q29uZmlnKCk6IFJlYWRvbmx5PHR5cGVvZiB0aGlzLmNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUmVhY3Rpb24gTWV0aG9kcyAoQ29udGVudCBmZWVkYmFjayB3aXRoIGVtb2ppcylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBWZXJpZmljYSBzaSBlbCB1c3VhcmlvIHlhIGRpbyBmZWVkYmFjayBwYXJhIHVuYSBlbnRpZGFkIGVzcGVjw61maWNhLlxuICAgKlxuICAgKiBQcmltZXJvIGludGVudGEgbGVlciBkZSBGaXJlYmFzZSAocsOhcGlkbywgc2luIGxhdGVuY2lhIGRlIHJlZCBhbCBiYWNrZW5kKS5cbiAgICogU2kgRmlyZWJhc2Ugbm8gZXN0w6EgZGlzcG9uaWJsZSBvIGZhbGxhLCBoYWNlIGZhbGxiYWNrIGEgbGEgQVBJLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5VHlwZSAtIFRpcG8gZGUgZW50aWRhZCAoYXJ0aWNsZSwgZG9jcywgZmVhdHVyZSwgZXRjLilcbiAgICogQHBhcmFtIGVudGl0eUlkIC0gSUQgZGUgbGEgZW50aWRhZFxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGEgZGUgdmVyaWZpY2FjacOzblxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGNoZWNrID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY2hlY2tGZWVkYmFjaygnYXJ0aWNsZScsICdhcnQtMTIzJyk7XG4gICAqIGlmIChjaGVjay5oYXNGZWVkYmFjaykge1xuICAgKiAgIGNvbnNvbGUubG9nKCdZYSBkaW8gZmVlZGJhY2s6JywgY2hlY2sucmVhY3Rpb25WYWx1ZSk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjaGVja0ZlZWRiYWNrKFxuICAgIGVudGl0eVR5cGU6IHN0cmluZyxcbiAgICBlbnRpdHlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8Q2hlY2tGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgLy8gMS4gSW50ZW50YXIgRmlyZWJhc2UgcHJpbWVybyAoc2kgZXN0w6EgZGlzcG9uaWJsZSlcbiAgICBpZiAodGhpcy5maXJlc3RvcmUgJiYgdGhpcy5hdXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB1c2VySWQgPSB0aGlzLmF1dGgudXNlcigpPy51c2VySWQ7XG4gICAgICAgIGlmICh1c2VySWQpIHtcbiAgICAgICAgICAvLyBQYXRoOiBmZWVkYmFjay97ZW50aXR5VHlwZX0ve2VudGl0eUlkfS97dXNlcklkfVxuICAgICAgICAgIC8vIEZpcmVzdG9yZVNlcnZpY2UgYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgZWwgcHJlZmlqbyBhcHBzL3thcHBJZH0vXG4gICAgICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSBgZmVlZGJhY2svJHtlbnRpdHlUeXBlfS8ke2VudGl0eUlkfWA7XG4gICAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgdGhpcy5maXJlc3RvcmUuZ2V0RG9jPEZlZWRiYWNrRmlyZXN0b3JlRG9jPihcbiAgICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgICAgdXNlcklkXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChkb2MpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnJyxcbiAgICAgICAgICAgICAgaGFzRmVlZGJhY2s6IHRydWUsXG4gICAgICAgICAgICAgIGZlZWRiYWNrSWQ6IGRvYy5mZWVkYmFja0lkLFxuICAgICAgICAgICAgICB0eXBlOiBkb2MudHlwZSBhcyBGZWVkYmFja1R5cGUsXG4gICAgICAgICAgICAgIHJlYWN0aW9uVmFsdWU6IGRvYy5yZWFjdGlvblZhbHVlIGFzIFJlYWN0aW9uVmFsdWUsXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdDogZG9jLmNyZWF0ZWRBdD8udG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRG9jIG5vIGV4aXN0ZSA9IG5vIGhheSBmZWVkYmFja1xuICAgICAgICAgIHJldHVybiB7IG9wZXJhdGlvbklkOiAnJywgaGFzRmVlZGJhY2s6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignW0ZlZWRiYWNrU2VydmljZV0gRmlyZWJhc2UgY2hlY2sgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gQVBJOicsIGVycm9yKTtcbiAgICAgICAgLy8gRmFsbGJhY2sgYSBBUElcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAyLiBGYWxsYmFjazogbGxhbWFyIEFQSVxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgICAgZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eUlkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLmdldDxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vY2hlY2s/JHtwYXJhbXN9YClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgbyBhY3R1YWxpemEgdW5hIHJlYWNjacOzbiAoZmVlZGJhY2sgY29uIGVtb2ppKS5cbiAgICpcbiAgICogQHBhcmFtIGVudGl0eVJlZiAtIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGRlIGxhIHJlYWNjacOzbiAobmVnYXRpdmUsIG5ldXRyYWwsIHBvc2l0aXZlKVxuICAgKiBAcGFyYW0gY29tbWVudCAtIENvbWVudGFyaW8gb3BjaW9uYWwgKG3DoXggNTAwIGNhcmFjdGVyZXMpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYXJ0aWNsZScsIGVudGl0eUlkOiAnYXJ0LTEyMycgfSxcbiAgICogICAncG9zaXRpdmUnLFxuICAgKiAgICdNdXkgw7p0aWwhJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVJlYWN0aW9uKFxuICAgIGVudGl0eVJlZjogRW50aXR5UmVmLFxuICAgIHZhbHVlOiBSZWFjdGlvblZhbHVlLFxuICAgIGNvbW1lbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogJ3JlYWN0aW9uJyxcbiAgICAgIGVudGl0eVJlZixcbiAgICAgIHJlYWN0aW9uVmFsdWU6IHZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGNvbW1lbnQgfHwgJycsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdClcbiAgICApO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBIZWxwZXJzIHByaXZhZG9zIHBhcmEgZGV0ZWNjacOzbiBkZSBicm93c2VyL09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGRldGVjdEJyb3dzZXIodWE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdFZGcvJykpIHJldHVybiAnRWRnZSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdDaHJvbWUvJykpIHJldHVybiAnQ2hyb21lJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0ZpcmVmb3gvJykpIHJldHVybiAnRmlyZWZveCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdTYWZhcmkvJykgJiYgIXVhLmluY2x1ZGVzKCdDaHJvbWUnKSkgcmV0dXJuICdTYWZhcmknO1xuICAgIGlmICh1YS5pbmNsdWRlcygnT3BlcmEnKSB8fCB1YS5pbmNsdWRlcygnT1BSLycpKSByZXR1cm4gJ09wZXJhJztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RPUyh1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTAnKSkgcmV0dXJuICdXaW5kb3dzIDEwJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTEnKSkgcmV0dXJuICdXaW5kb3dzIDExJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MnKSkgcmV0dXJuICdXaW5kb3dzJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ01hYyBPUyBYJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gdWEubWF0Y2goL01hYyBPUyBYIChcXGQrWy5fXVxcZCspLyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIGBtYWNPUyAke21hdGNoWzFdLnJlcGxhY2UoJ18nLCAnLicpfWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ21hY09TJztcbiAgICB9XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdBbmRyb2lkJykpIHJldHVybiAnQW5kcm9pZCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdpUGhvbmUnKSB8fCB1YS5pbmNsdWRlcygnaVBhZCcpKSByZXR1cm4gJ2lPUyc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdMaW51eCcpKSByZXR1cm4gJ0xpbnV4JztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG59XG4iXX0=
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0EyU3hEO0lBelNDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FB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QUN0RCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2hELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBOVNVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIENyZWF0ZUZlZWRiYWNrUmVxdWVzdCxcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgR2V0RmVlZGJhY2tSZXNwb25zZSxcbiAgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlLFxuICBEZXZpY2VDb250ZXh0LFxuICBGZWVkYmFja1R5cGUsXG4gIENvbnRlbnRSZWYsXG4gIEVudGl0eVJlZixcbiAgUmVhY3Rpb25WYWx1ZSxcbiAgRmVlZGJhY2tGaXJlc3RvcmVEb2MsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2ZpcmVzdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2lvIHBhcmEgZ2VzdGlvbmFyIGZlZWRiYWNrIGRlIHVzdWFyaW9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBAQ29tcG9uZW50KHsuLi59KVxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcbiAqXG4gKiAgIGFzeW5jIHN1Ym1pdEZlZWRiYWNrKCkge1xuICogICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQXN5bmMoXG4gKiAgICAgICAnZmVlZGJhY2snLFxuICogICAgICAgJ01pIGNvbWVudGFyaW8nLFxuICogICAgICAgJ0Rlc2NyaXBjacOzbiBkZXRhbGxhZGEuLi4nXG4gKiAgICAgKTtcbiAqICAgICBjb25zb2xlLmxvZygnRmVlZGJhY2sgZW52aWFkbzonLCByZXNwb25zZS5mZWVkYmFja0lkKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVlZGJhY2tTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoVkFMVEVDSF9GRUVEQkFDS19DT05GSUcpO1xuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgZmlyZXN0b3JlID0gaW5qZWN0KEZpcmVzdG9yZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogVVJMIGJhc2UgcGFyYSBlbmRwb2ludHMgZGUgZmVlZGJhY2suXG4gICAqL1xuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLmFwaVVybH0ke3RoaXMuY29uZmlnLmZlZWRiYWNrUHJlZml4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ2FwdHVyYSBlbCBjb250ZXh0byBkZWwgZGlzcG9zaXRpdm8gYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIGNhcHR1cmVEZXZpY2VDb250ZXh0KCk6IERldmljZUNvbnRleHQge1xuICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnJvd3NlcjogdGhpcy5kZXRlY3RCcm93c2VyKHVhKSxcbiAgICAgIG9zOiB0aGlzLmRldGVjdE9TKHVhKSxcbiAgICAgIHZpZXdwb3J0OiBgJHt3aW5kb3cuaW5uZXJXaWR0aH14JHt3aW5kb3cuaW5uZXJIZWlnaHR9YCxcbiAgICAgIGxhbmd1YWdlOiBuYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICB1c2VyQWdlbnQ6IHVhLFxuICAgICAgcGFnZVVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIHVuIG51ZXZvIGZlZWRiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSAtIFRpcG8gZGUgZmVlZGJhY2tcbiAgICogQHBhcmFtIHRpdGxlIC0gVMOtdHVsbyBkZWwgZmVlZGJhY2tcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gRGVzY3JpcGNpw7NuIGRldGFsbGFkYVxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgLSBVUkxzIGRlIGFyY2hpdm9zIGFkanVudG9zIChvcGNpb25hbClcbiAgICogQHBhcmFtIGNvbnRlbnRSZWYgLSBSZWZlcmVuY2lhIGEgY29udGVuaWRvIGVzcGVjw61maWNvIChvcGNpb25hbClcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBjcmVhdGUoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlLFxuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgY29udGVudFJlZixcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjayAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQXN5bmMoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmNyZWF0ZSh0eXBlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGF0dGFjaG1lbnRzLCBjb250ZW50UmVmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHNvbG8gZWwgcHJvcGlldGFyaW8pLlxuICAgKlxuICAgKiBAcGFyYW0gZmVlZGJhY2tJZCAtIElEIGRlbCBmZWVkYmFja1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGdldEJ5SWQoZmVlZGJhY2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0RmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2ZlZWRiYWNrSWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGdldEJ5SWRBc3luYyhmZWVkYmFja0lkOiBzdHJpbmcpOiBQcm9taXNlPEdldEZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRCeUlkKGZlZWRiYWNrSWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGEgc2kgdW4gYXJjaGl2byBjdW1wbGUgY29uIGxhcyByZXN0cmljY2lvbmVzLlxuICAgKi9cbiAgdmFsaWRhdGVGaWxlKGZpbGU6IEZpbGUpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgICAvLyBWZXJpZmljYXIgdGFtYcOxb1xuICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLmNvbmZpZy5tYXhGaWxlU2l6ZSEpIHtcbiAgICAgIGNvbnN0IG1heFNpemVNQiA9IE1hdGgucm91bmQodGhpcy5jb25maWcubWF4RmlsZVNpemUhIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBgRWwgYXJjaGl2byBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7bWF4U2l6ZU1CfU1CYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2FyIHRpcG9cbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtdO1xuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWRUeXBlcy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICBpZiAocGF0dGVybi5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHBhdHRlcm4ucmVwbGFjZSgnLyonLCAnJyk7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsZS50eXBlID09PSBwYXR0ZXJuO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdUaXBvIGRlIGFyY2hpdm8gbm8gcGVybWl0aWRvJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZWwgc2VydmljaW8uXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8dHlwZW9mIHRoaXMuY29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSZWFjdGlvbiBNZXRob2RzIChDb250ZW50IGZlZWRiYWNrIHdpdGggZW1vamlzKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVsIHVzdWFyaW8geWEgZGlvIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQgZXNwZWPDrWZpY2EuXG4gICAqXG4gICAqIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIEZpcmViYXNlIChyw6FwaWRvLCBzaW4gbGF0ZW5jaWEgZGUgcmVkIGFsIGJhY2tlbmQpLlxuICAgKiBTaSBGaXJlYmFzZSBubyBlc3TDoSBkaXNwb25pYmxlIG8gZmFsbGEsIGhhY2UgZmFsbGJhY2sgYSBsYSBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGlwbyBkZSBlbnRpZGFkIChhcnRpY2xlLCBkb2NzLCBmZWF0dXJlLCBldGMuKVxuICAgKiBAcGFyYW0gZW50aXR5SWQgLSBJRCBkZSBsYSBlbnRpZGFkXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YSBkZSB2ZXJpZmljYWNpw7NuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jaGVja0ZlZWRiYWNrKCdhcnRpY2xlJywgJ2FydC0xMjMnKTtcbiAgICogaWYgKGNoZWNrLmhhc0ZlZWRiYWNrKSB7XG4gICAqICAgY29uc29sZS5sb2coJ1lhIGRpbyBmZWVkYmFjazonLCBjaGVjay5yZWFjdGlvblZhbHVlKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNoZWNrRmVlZGJhY2soXG4gICAgZW50aXR5VHlwZTogc3RyaW5nLFxuICAgIGVudGl0eUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICAvLyAxLiBJbnRlbnRhciBGaXJlYmFzZSBwcmltZXJvIChzaSBlc3TDoSBkaXNwb25pYmxlKVxuICAgIGlmICh0aGlzLmZpcmVzdG9yZSAmJiB0aGlzLmF1dGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVzZXJJZCA9IHRoaXMuYXV0aC51c2VyKCk/LnVzZXJJZDtcbiAgICAgICAgaWYgKHVzZXJJZCkge1xuICAgICAgICAgIC8vIFBhdGg6IGZlZWRiYWNrL3tlbnRpdHlUeXBlfS97ZW50aXR5SWR9L3t1c2VySWR9XG4gICAgICAgICAgLy8gRmlyZXN0b3JlU2VydmljZSBhZ3JlZ2EgYXV0b23DoXRpY2FtZW50ZSBlbCBwcmVmaWpvIGFwcHMve2FwcElkfS9cbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uUGF0aCA9IGBmZWVkYmFjay8ke2VudGl0eVR5cGV9LyR7ZW50aXR5SWR9YDtcbiAgICAgICAgICBjb25zdCBkb2MgPSBhd2FpdCB0aGlzLmZpcmVzdG9yZS5nZXREb2M8RmVlZGJhY2tGaXJlc3RvcmVEb2M+KFxuICAgICAgICAgICAgY29sbGVjdGlvblBhdGgsXG4gICAgICAgICAgICB1c2VySWRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGRvYykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uSWQ6ICcnLFxuICAgICAgICAgICAgICBoYXNGZWVkYmFjazogdHJ1ZSxcbiAgICAgICAgICAgICAgZmVlZGJhY2tJZDogZG9jLmZlZWRiYWNrSWQsXG4gICAgICAgICAgICAgIHR5cGU6IGRvYy50eXBlIGFzIEZlZWRiYWNrVHlwZSxcbiAgICAgICAgICAgICAgcmVhY3Rpb25WYWx1ZTogZG9jLnJlYWN0aW9uVmFsdWUgYXMgUmVhY3Rpb25WYWx1ZSxcbiAgICAgICAgICAgICAgY3JlYXRlZEF0OiBkb2MuY3JlYXRlZEF0Py50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEb2Mgbm8gZXhpc3RlID0gbm8gaGF5IGZlZWRiYWNrXG4gICAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uSWQ6ICcnLCBoYXNGZWVkYmFjazogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbRmVlZGJhY2tTZXJ2aWNlXSBGaXJlYmFzZSBjaGVjayBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBBUEk6JywgZXJyb3IpO1xuICAgICAgICAvLyBGYWxsYmFjayBhIEFQSVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIEZhbGxiYWNrOiBsbGFtYXIgQVBJXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgICBlbnRpdHlUeXBlLFxuICAgICAgZW50aXR5SWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PENoZWNrRmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9jaGVjaz8ke3BhcmFtc31gKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSBvIGFjdHVhbGl6YSB1bmEgcmVhY2Npw7NuIChmZWVkYmFjayBjb24gZW1vamkpLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5UmVmIC0gUmVmZXJlbmNpYSBhIGxhIGVudGlkYWRcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgZGUgbGEgcmVhY2Npw7NuIChuZWdhdGl2ZSwgbmV1dHJhbCwgcG9zaXRpdmUpXG4gICAqIEBwYXJhbSBjb21tZW50IC0gQ29tZW50YXJpbyBvcGNpb25hbCAobcOheCA1MDAgY2FyYWN0ZXJlcylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVSZWFjdGlvbihcbiAgICogICB7IGVudGl0eVR5cGU6ICdhcnRpY2xlJywgZW50aXR5SWQ6ICdhcnQtMTIzJyB9LFxuICAgKiAgICdwb3NpdGl2ZScsXG4gICAqICAgJ011eSDDunRpbCEnXG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlUmVhY3Rpb24oXG4gICAgZW50aXR5UmVmOiBFbnRpdHlSZWYsXG4gICAgdmFsdWU6IFJlYWN0aW9uVmFsdWUsXG4gICAgY29tbWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlOiAncmVhY3Rpb24nLFxuICAgICAgZW50aXR5UmVmLFxuICAgICAgcmVhY3Rpb25WYWx1ZTogdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29tbWVudCB8fCAnJyxcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4odGhpcy5iYXNlVXJsLCByZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSBmZWVkYmFjayBhbsOzbmltbyAoc2luIGF1dGVudGljYWNpw7NuIHJlcXVlcmlkYSkuXG4gICAqIFVzYWRvIHBhcmEgYmxvZ3MsIEZBUXMgeSBjb250ZW5pZG8gcMO6YmxpY28uXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFbiB1biBibG9nIHDDumJsaWNvXG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYmxvZycsIGVudGl0eUlkOiAnbXktcG9zdC1zbHVnJyB9LFxuICAgKiAgICdwb3NpdGl2ZSdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVBbm9ueW1vdXNSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICB0eXBlOiAncmVhY3Rpb24nIGFzIGNvbnN0LFxuICAgICAgZW50aXR5UmVmLFxuICAgICAgcmVhY3Rpb25WYWx1ZTogdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29tbWVudCB8fCAnJyxcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9hbm9ueW1vdXNgLCByZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEhlbHBlcnMgcHJpdmFkb3MgcGFyYSBkZXRlY2Npw7NuIGRlIGJyb3dzZXIvT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIHByaXZhdGUgZGV0ZWN0QnJvd3Nlcih1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0VkZy8nKSkgcmV0dXJuICdFZGdlJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0Nocm9tZS8nKSkgcmV0dXJuICdDaHJvbWUnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnRmlyZWZveC8nKSkgcmV0dXJuICdGaXJlZm94JztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1NhZmFyaS8nKSAmJiAhdWEuaW5jbHVkZXMoJ0Nocm9tZScpKSByZXR1cm4gJ1NhZmFyaSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdPcGVyYScpIHx8IHVhLmluY2x1ZGVzKCdPUFIvJykpIHJldHVybiAnT3BlcmEnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdE9TKHVhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMCcpKSByZXR1cm4gJ1dpbmRvd3MgMTAnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMScpKSByZXR1cm4gJ1dpbmRvd3MgMTEnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cycpKSByZXR1cm4gJ1dpbmRvd3MnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnTWFjIE9TIFgnKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSB1YS5tYXRjaCgvTWFjIE9TIFggKFxcZCtbLl9dXFxkKykvKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gYG1hY09TICR7bWF0Y2hbMV0ucmVwbGFjZSgnXycsICcuJyl9YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnbWFjT1MnO1xuICAgIH1cbiAgICBpZiAodWEuaW5jbHVkZXMoJ0FuZHJvaWQnKSkgcmV0dXJuICdBbmRyb2lkJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ2lQaG9uZScpIHx8IHVhLmluY2x1ZGVzKCdpUGFkJykpIHJldHVybiAnaU9TJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0xpbnV4JykpIHJldHVybiAnTGludXgnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17009,9 +17009,10 @@ class FooterLinksComponent {
|
|
|
17009
17009
|
<ion-col size="12" *ngIf="props.logo || props.socialLinks?.length">
|
|
17010
17010
|
<!-- Mobile layout: centered -->
|
|
17011
17011
|
<div class="mobile-layout">
|
|
17012
|
+
<!-- Light mode logo -->
|
|
17012
17013
|
<val-image
|
|
17013
17014
|
*ngIf="props.logo"
|
|
17014
|
-
class="logo-clickable"
|
|
17015
|
+
class="logo-clickable footer-logo footer-logo--light"
|
|
17015
17016
|
style="display: block; margin-top: 1rem;"
|
|
17016
17017
|
[props]="{
|
|
17017
17018
|
width: 14,
|
|
@@ -17026,6 +17027,24 @@ class FooterLinksComponent {
|
|
|
17026
17027
|
}"
|
|
17027
17028
|
(click)="onLogoClick()"
|
|
17028
17029
|
/>
|
|
17030
|
+
<!-- Dark mode logo -->
|
|
17031
|
+
<val-image
|
|
17032
|
+
*ngIf="props.logo && props.logoDark"
|
|
17033
|
+
class="logo-clickable footer-logo footer-logo--dark"
|
|
17034
|
+
style="display: block; margin-top: 1rem;"
|
|
17035
|
+
[props]="{
|
|
17036
|
+
width: 14,
|
|
17037
|
+
mode: 'box',
|
|
17038
|
+
shaded: false,
|
|
17039
|
+
bordered: false,
|
|
17040
|
+
size: 'small',
|
|
17041
|
+
src: props.logoDark,
|
|
17042
|
+
alt: props.logoAlt || 'Logo',
|
|
17043
|
+
limited: false,
|
|
17044
|
+
dark: true
|
|
17045
|
+
}"
|
|
17046
|
+
(click)="onLogoClick()"
|
|
17047
|
+
/>
|
|
17029
17048
|
<div class="social-links-container" *ngIf="props.socialLinks?.length" style="margin-top: 1rem">
|
|
17030
17049
|
<ion-button
|
|
17031
17050
|
*ngFor="let social of props.socialLinks"
|
|
@@ -17044,9 +17063,10 @@ class FooterLinksComponent {
|
|
|
17044
17063
|
|
|
17045
17064
|
<!-- Desktop layout: space-between -->
|
|
17046
17065
|
<div class="desktop-layout">
|
|
17066
|
+
<!-- Light mode logo -->
|
|
17047
17067
|
<val-image
|
|
17048
17068
|
*ngIf="props.logo"
|
|
17049
|
-
class="logo-clickable"
|
|
17069
|
+
class="logo-clickable footer-logo footer-logo--light"
|
|
17050
17070
|
[props]="{
|
|
17051
17071
|
width: 16,
|
|
17052
17072
|
mode: 'box',
|
|
@@ -17060,6 +17080,23 @@ class FooterLinksComponent {
|
|
|
17060
17080
|
}"
|
|
17061
17081
|
(click)="onLogoClick()"
|
|
17062
17082
|
/>
|
|
17083
|
+
<!-- Dark mode logo -->
|
|
17084
|
+
<val-image
|
|
17085
|
+
*ngIf="props.logo && props.logoDark"
|
|
17086
|
+
class="logo-clickable footer-logo footer-logo--dark"
|
|
17087
|
+
[props]="{
|
|
17088
|
+
width: 16,
|
|
17089
|
+
mode: 'box',
|
|
17090
|
+
shaded: false,
|
|
17091
|
+
bordered: false,
|
|
17092
|
+
size: 'small',
|
|
17093
|
+
src: props.logoDark,
|
|
17094
|
+
alt: props.logoAlt || 'Logo',
|
|
17095
|
+
limited: false,
|
|
17096
|
+
dark: true
|
|
17097
|
+
}"
|
|
17098
|
+
(click)="onLogoClick()"
|
|
17099
|
+
/>
|
|
17063
17100
|
<div class="social-links-container" *ngIf="props.socialLinks?.length">
|
|
17064
17101
|
<ion-button
|
|
17065
17102
|
*ngFor="let social of props.socialLinks"
|
|
@@ -17078,7 +17115,7 @@ class FooterLinksComponent {
|
|
|
17078
17115
|
</ion-col>
|
|
17079
17116
|
</ion-row>
|
|
17080
17117
|
</div>
|
|
17081
|
-
`, isInline: true, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:center;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:20px}.footer-links .logo-clickable{cursor:pointer}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DividerComponent, selector: "val-divider", inputs: ["props"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: LinksCakeComponent, selector: "val-links-cake", inputs: ["props"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }] }); }
|
|
17118
|
+
`, isInline: true, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:center;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:20px}.footer-links .logo-clickable{cursor:pointer}.footer-links .footer-logo--light{display:block}.footer-links .footer-logo--dark{display:none}@media (prefers-color-scheme: dark){.footer-links .footer-logo--light{display:none}.footer-links .footer-logo--dark{display:block}}.footer-links :host-context(.dark) .footer-logo--light{display:none}.footer-links :host-context(.dark) .footer-logo--dark{display:block}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DividerComponent, selector: "val-divider", inputs: ["props"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: LinksCakeComponent, selector: "val-links-cake", inputs: ["props"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }] }); }
|
|
17082
17119
|
}
|
|
17083
17120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FooterLinksComponent, decorators: [{
|
|
17084
17121
|
type: Component,
|
|
@@ -17116,9 +17153,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17116
17153
|
<ion-col size="12" *ngIf="props.logo || props.socialLinks?.length">
|
|
17117
17154
|
<!-- Mobile layout: centered -->
|
|
17118
17155
|
<div class="mobile-layout">
|
|
17156
|
+
<!-- Light mode logo -->
|
|
17119
17157
|
<val-image
|
|
17120
17158
|
*ngIf="props.logo"
|
|
17121
|
-
class="logo-clickable"
|
|
17159
|
+
class="logo-clickable footer-logo footer-logo--light"
|
|
17122
17160
|
style="display: block; margin-top: 1rem;"
|
|
17123
17161
|
[props]="{
|
|
17124
17162
|
width: 14,
|
|
@@ -17133,6 +17171,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17133
17171
|
}"
|
|
17134
17172
|
(click)="onLogoClick()"
|
|
17135
17173
|
/>
|
|
17174
|
+
<!-- Dark mode logo -->
|
|
17175
|
+
<val-image
|
|
17176
|
+
*ngIf="props.logo && props.logoDark"
|
|
17177
|
+
class="logo-clickable footer-logo footer-logo--dark"
|
|
17178
|
+
style="display: block; margin-top: 1rem;"
|
|
17179
|
+
[props]="{
|
|
17180
|
+
width: 14,
|
|
17181
|
+
mode: 'box',
|
|
17182
|
+
shaded: false,
|
|
17183
|
+
bordered: false,
|
|
17184
|
+
size: 'small',
|
|
17185
|
+
src: props.logoDark,
|
|
17186
|
+
alt: props.logoAlt || 'Logo',
|
|
17187
|
+
limited: false,
|
|
17188
|
+
dark: true
|
|
17189
|
+
}"
|
|
17190
|
+
(click)="onLogoClick()"
|
|
17191
|
+
/>
|
|
17136
17192
|
<div class="social-links-container" *ngIf="props.socialLinks?.length" style="margin-top: 1rem">
|
|
17137
17193
|
<ion-button
|
|
17138
17194
|
*ngFor="let social of props.socialLinks"
|
|
@@ -17151,9 +17207,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17151
17207
|
|
|
17152
17208
|
<!-- Desktop layout: space-between -->
|
|
17153
17209
|
<div class="desktop-layout">
|
|
17210
|
+
<!-- Light mode logo -->
|
|
17154
17211
|
<val-image
|
|
17155
17212
|
*ngIf="props.logo"
|
|
17156
|
-
class="logo-clickable"
|
|
17213
|
+
class="logo-clickable footer-logo footer-logo--light"
|
|
17157
17214
|
[props]="{
|
|
17158
17215
|
width: 16,
|
|
17159
17216
|
mode: 'box',
|
|
@@ -17167,6 +17224,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17167
17224
|
}"
|
|
17168
17225
|
(click)="onLogoClick()"
|
|
17169
17226
|
/>
|
|
17227
|
+
<!-- Dark mode logo -->
|
|
17228
|
+
<val-image
|
|
17229
|
+
*ngIf="props.logo && props.logoDark"
|
|
17230
|
+
class="logo-clickable footer-logo footer-logo--dark"
|
|
17231
|
+
[props]="{
|
|
17232
|
+
width: 16,
|
|
17233
|
+
mode: 'box',
|
|
17234
|
+
shaded: false,
|
|
17235
|
+
bordered: false,
|
|
17236
|
+
size: 'small',
|
|
17237
|
+
src: props.logoDark,
|
|
17238
|
+
alt: props.logoAlt || 'Logo',
|
|
17239
|
+
limited: false,
|
|
17240
|
+
dark: true
|
|
17241
|
+
}"
|
|
17242
|
+
(click)="onLogoClick()"
|
|
17243
|
+
/>
|
|
17170
17244
|
<div class="social-links-container" *ngIf="props.socialLinks?.length">
|
|
17171
17245
|
<ion-button
|
|
17172
17246
|
*ngFor="let social of props.socialLinks"
|
|
@@ -17185,7 +17259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17185
17259
|
</ion-col>
|
|
17186
17260
|
</ion-row>
|
|
17187
17261
|
</div>
|
|
17188
|
-
`, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:center;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:20px}.footer-links .logo-clickable{cursor:pointer}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"] }]
|
|
17262
|
+
`, styles: [".footer-links .mobile-layout{display:block;text-align:center;padding:8px 0}.footer-links .desktop-layout{display:none;align-items:center;justify-content:space-between;margin-top:16px;padding:8px 0}.footer-links .social-links-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;flex-wrap:wrap}.footer-links .social-button{--color: #666;--color-hover: #333;transition:all .2s ease;min-height:40px;min-width:40px;margin:0}.footer-links .social-button:hover{--color: #333;transform:translateY(-1px)}.footer-links .social-button ion-icon{font-size:20px}.footer-links .logo-clickable{cursor:pointer}.footer-links .footer-logo--light{display:block}.footer-links .footer-logo--dark{display:none}@media (prefers-color-scheme: dark){.footer-links .footer-logo--light{display:none}.footer-links .footer-logo--dark{display:block}}.footer-links :host-context(.dark) .footer-logo--light{display:none}.footer-links :host-context(.dark) .footer-logo--dark{display:block}@media (min-width: 768px){.footer-links .mobile-layout{display:none!important}.footer-links .desktop-layout{display:flex!important}.footer-links .social-links-container{margin-top:0;justify-content:flex-end}}@media (max-width: 767px){.footer-links .mobile-layout{display:block!important}.footer-links .desktop-layout{display:none!important}.footer-links .social-links-container{justify-content:center;margin-bottom:8px}}\n"] }]
|
|
17189
17263
|
}], propDecorators: { props: [{
|
|
17190
17264
|
type: Input
|
|
17191
17265
|
}], logoClick: [{
|
|
@@ -35020,6 +35094,35 @@ class FeedbackService {
|
|
|
35020
35094
|
};
|
|
35021
35095
|
return firstValueFrom(this.http.post(this.baseUrl, request));
|
|
35022
35096
|
}
|
|
35097
|
+
/**
|
|
35098
|
+
* Crea feedback anónimo (sin autenticación requerida).
|
|
35099
|
+
* Usado para blogs, FAQs y contenido público.
|
|
35100
|
+
*
|
|
35101
|
+
* @param entityRef - Referencia a la entidad
|
|
35102
|
+
* @param value - Valor de la reacción (negative, neutral, positive)
|
|
35103
|
+
* @param comment - Comentario opcional (máx 500 caracteres)
|
|
35104
|
+
* @returns Promise con la respuesta
|
|
35105
|
+
*
|
|
35106
|
+
* @example
|
|
35107
|
+
* ```typescript
|
|
35108
|
+
* // En un blog público
|
|
35109
|
+
* const response = await this.feedbackService.createAnonymousReaction(
|
|
35110
|
+
* { entityType: 'blog', entityId: 'my-post-slug' },
|
|
35111
|
+
* 'positive'
|
|
35112
|
+
* );
|
|
35113
|
+
* ```
|
|
35114
|
+
*/
|
|
35115
|
+
async createAnonymousReaction(entityRef, value, comment) {
|
|
35116
|
+
const request = {
|
|
35117
|
+
type: 'reaction',
|
|
35118
|
+
entityRef,
|
|
35119
|
+
reactionValue: value,
|
|
35120
|
+
description: comment || '',
|
|
35121
|
+
deviceContext: this.captureDeviceContext(),
|
|
35122
|
+
appId: this.config.appId,
|
|
35123
|
+
};
|
|
35124
|
+
return firstValueFrom(this.http.post(`${this.baseUrl}/anonymous`, request));
|
|
35125
|
+
}
|
|
35023
35126
|
// =========================================================================
|
|
35024
35127
|
// Helpers privados para detección de browser/OS
|
|
35025
35128
|
// =========================================================================
|
|
@@ -35497,6 +35600,7 @@ class ContentReactionComponent {
|
|
|
35497
35600
|
this.feedbackService = inject(FeedbackService);
|
|
35498
35601
|
this.toast = inject(ToastService);
|
|
35499
35602
|
this.i18n = inject(I18nService);
|
|
35603
|
+
this.auth = inject(AuthService, { optional: true });
|
|
35500
35604
|
this.props = {};
|
|
35501
35605
|
this.reactionSubmit = new EventEmitter();
|
|
35502
35606
|
this.reactionChange = new EventEmitter();
|
|
@@ -35600,12 +35704,22 @@ class ContentReactionComponent {
|
|
|
35600
35704
|
return;
|
|
35601
35705
|
this.state.update((s) => ({ ...s, isLoading: true, error: null }));
|
|
35602
35706
|
try {
|
|
35603
|
-
|
|
35707
|
+
// Determinar si usar endpoint anónimo o autenticado
|
|
35708
|
+
const isAuthenticated = this.auth?.isAuthenticated() ?? false;
|
|
35709
|
+
const useAnonymous = this.props.allowAnonymous && !isAuthenticated;
|
|
35710
|
+
if (useAnonymous) {
|
|
35711
|
+
// Usar endpoint anónimo (público)
|
|
35712
|
+
await this.feedbackService.createAnonymousReaction(props.entityRef, currentState.selectedValue, currentState.comment || undefined);
|
|
35713
|
+
}
|
|
35714
|
+
else {
|
|
35715
|
+
// Usar endpoint autenticado
|
|
35716
|
+
await this.feedbackService.createReaction(props.entityRef, currentState.selectedValue, currentState.comment || undefined);
|
|
35717
|
+
}
|
|
35604
35718
|
this.state.update((s) => ({
|
|
35605
35719
|
...s,
|
|
35606
35720
|
isLoading: false,
|
|
35607
35721
|
isSubmitted: true,
|
|
35608
|
-
hadPreviousReaction:
|
|
35722
|
+
hadPreviousReaction: !useAnonymous, // Solo para autenticados
|
|
35609
35723
|
}));
|
|
35610
35724
|
this.reactionSubmit.emit({
|
|
35611
35725
|
value: currentState.selectedValue,
|
|
@@ -36829,7 +36943,7 @@ class DocsApiTableComponent {
|
|
|
36829
36943
|
<p class="docs-api-table__empty">No items to display.</p>
|
|
36830
36944
|
}
|
|
36831
36945
|
</div>
|
|
36832
|
-
`, isInline: true, styles: [".docs-api-table{--table-bg: var(--ion-background-color, #fff);--table-border: var(--ion-border-color, #e0e0e0);--table-header-bg: #f8f9fa;--table-row-hover: rgba(0, 0, 0, .02);--table-text: var(--ion-text-color, #1a1a1a);--table-text-secondary: #5b6570;--code-bg: #f1f3f5;--code-text: #0d6efd;--type-bg: #e9ecef;--type-text: #495057;margin:1.5rem 0;font-family:var(--ion-font-family, system-ui, -apple-system, sans-serif)}.docs-api-table__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--table-text)}.docs-api-table__wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.docs-api-table__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.5;table-layout:fixed}.docs-api-table__th{text-align:left;padding:.625rem .75rem;font-weight:600;font-size:.8125rem;color:var(--table-text-secondary);background:var(--table-header-bg);border-bottom:2px solid var(--table-border);white-space:nowrap}.docs-api-table__th--name{width:120px}.docs-api-table__th--type{width:160px}.docs-api-table__th--default{width:110px}.docs-api-table__th--description{width:auto}.docs-api-table__td{padding:.625rem .75rem;border-bottom:1px solid var(--table-border);vertical-align:top;color:var(--table-text)}.docs-api-table__td--description{color:var(--table-text-secondary);line-height:1.5}.docs-api-table__row{transition:background-color .15s ease}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__row:last-child .docs-api-table__td{border-bottom:none}.docs-api-table__row--deprecated{opacity:.65}.docs-api-table__row--deprecated .docs-api-table__code{text-decoration:line-through}.docs-api-table__code{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;color:var(--code-text);background:var(--code-bg);padding:.125rem .375rem;border-radius:4px;word-break:break-word}.docs-api-table__type,.docs-api-table__default{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;color:var(--type-text);background:var(--type-bg);padding:.1875rem .375rem;border-radius:4px;white-space:normal;word-break:break-word}.docs-api-table__required{color:var(--ion-color-danger, #dc3545);font-weight:700;margin-left:.25rem;font-size:1rem;vertical-align:middle}.docs-api-table__badge{display:inline-block;margin-left:.5rem;padding:.1875rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#e9ecef;color:#495057;vertical-align:middle}.docs-api-table__badge--deprecated{background:#fff3cd;color:#856404}.docs-api-table__deprecation-note{margin-top:.5rem;font-size:.75rem;font-style:italic;color:#856404}.docs-api-table__empty{padding:3rem;text-align:center;color:var(--table-text-secondary);font-style:italic}.docs-api-table--bordered .docs-api-table__wrapper{border:1px solid var(--table-border);border-radius:12px;overflow-x:auto;overflow-y:hidden;background:var(--table-bg)}.docs-api-table--bordered .docs-api-table__th:first-child{border-top-left-radius:11px}.docs-api-table--bordered .docs-api-table__th:last-child{border-top-right-radius:11px}@media (max-width: 768px){.docs-api-table__table{display:block}.docs-api-table__table thead{display:none}.docs-api-table__table tbody{display:block}.docs-api-table__row{display:block;padding:1rem;margin-bottom:.5rem;border:1px solid var(--table-border);border-radius:8px;background:var(--table-bg)}.docs-api-table__row:last-child{margin-bottom:0}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__td{display:block;padding:.375rem 0;border:none!important}.docs-api-table__td:before{content:attr(data-label);display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--table-text-secondary);margin-bottom:.25rem}.docs-api-table__td--name{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--table-border)!important}.docs-api-table__td--description:before{display:none}.docs-api-table--bordered .docs-api-table__wrapper{border:none;border-radius:0;background:transparent}}:host-context(.dark) .docs-api-table,:host-context([color-scheme=dark]) .docs-api-table{--table-bg: #1e1e1e;--table-border: #3a3a3a;--table-header-bg: #252525;--table-row-hover: rgba(255, 255, 255, .03);--table-text: #f4f5f8;--table-text-secondary: #a0a0a0;--code-bg: rgba(56, 139, 253, .15);--code-text: #79b8ff;--type-bg: rgba(255, 255, 255, .08);--type-text: #c9d1d9}:host-context(.dark) .docs-api-table__badge,:host-context([color-scheme=dark]) .docs-api-table__badge{background:#ffffff14;color:#c9d1d9}:host-context(.dark) .docs-api-table__badge--deprecated,:host-context([color-scheme=dark]) .docs-api-table__badge--deprecated{background:#ffc10726;color:#ffc107}:host-context(.dark) .docs-api-table__deprecation-note,:host-context([color-scheme=dark]) .docs-api-table__deprecation-note{color:#ffc107}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
36946
|
+
`, isInline: true, styles: [".docs-api-table{--table-bg: var(--ion-background-color, #fff);--table-border: var(--ion-border-color, #e0e0e0);--table-header-bg: #f8f9fa;--table-row-hover: rgba(0, 0, 0, .02);--table-text: var(--ion-text-color, #1a1a1a);--table-text-secondary: #5b6570;--code-bg: #f1f3f5;--code-text: #0d6efd;--type-bg: #e9ecef;--type-text: #495057;margin:1.5rem 0;font-family:var(--ion-font-family, system-ui, -apple-system, sans-serif)}.docs-api-table__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--table-text)}.docs-api-table__wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.docs-api-table__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.5;table-layout:fixed}.docs-api-table__th{text-align:left;padding:.625rem .75rem;font-weight:600;font-size:.8125rem;color:var(--table-text-secondary);background:var(--table-header-bg);border-bottom:2px solid var(--table-border);white-space:nowrap}.docs-api-table__th--name{width:120px}.docs-api-table__th--type{width:160px}.docs-api-table__th--default{width:110px}.docs-api-table__th--description{width:auto}.docs-api-table__td{padding:.625rem .75rem;border-bottom:1px solid var(--table-border);vertical-align:top;color:var(--table-text)}.docs-api-table__td--description{color:var(--table-text-secondary);line-height:1.5}.docs-api-table__row{transition:background-color .15s ease}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__row:last-child .docs-api-table__td{border-bottom:none}.docs-api-table__row--deprecated{opacity:.65}.docs-api-table__row--deprecated .docs-api-table__code{text-decoration:line-through}.docs-api-table__code{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;color:var(--code-text);background:var(--code-bg);padding:.125rem .375rem;border-radius:4px;word-break:break-word}.docs-api-table__type,.docs-api-table__default{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;color:var(--type-text);background:var(--type-bg);padding:.1875rem .375rem;border-radius:4px;white-space:normal;word-break:break-word}.docs-api-table__required{color:var(--ion-color-danger, #dc3545);font-weight:700;margin-left:.25rem;font-size:1rem;vertical-align:middle}.docs-api-table__badge{display:inline-block;margin-left:.5rem;padding:.1875rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#e9ecef;color:#495057;vertical-align:middle}.docs-api-table__badge--deprecated{background:#fff3cd;color:#856404}.docs-api-table__deprecation-note{margin-top:.5rem;font-size:.75rem;font-style:italic;color:#856404}.docs-api-table__empty{padding:3rem;text-align:center;color:var(--table-text-secondary);font-style:italic}.docs-api-table--bordered .docs-api-table__wrapper{border:1px solid var(--table-border);border-radius:12px;overflow-x:auto;overflow-y:hidden;background:var(--table-bg)}.docs-api-table--bordered .docs-api-table__th:first-child{border-top-left-radius:11px}.docs-api-table--bordered .docs-api-table__th:last-child{border-top-right-radius:11px}@media (max-width: 768px){.docs-api-table__wrapper{overflow-x:visible}.docs-api-table__table{display:block;min-width:0;width:100%}.docs-api-table__table thead{display:none}.docs-api-table__table tbody{display:block}.docs-api-table__row{display:block;padding:1rem;margin-bottom:.5rem;border:1px solid var(--table-border);border-radius:8px;background:var(--table-bg)}.docs-api-table__row:last-child{margin-bottom:0}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__td{display:block;padding:.375rem 0;border:none!important;width:100%}.docs-api-table__td:before{content:attr(data-label);display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--table-text-secondary);margin-bottom:.25rem}.docs-api-table__td--name{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--table-border)!important}.docs-api-table__td--description:before{display:none}.docs-api-table--bordered .docs-api-table__wrapper{border:none;border-radius:0;background:transparent;overflow-x:visible}}:host-context(.dark) .docs-api-table,:host-context([color-scheme=dark]) .docs-api-table{--table-bg: #1e1e1e;--table-border: #3a3a3a;--table-header-bg: #252525;--table-row-hover: rgba(255, 255, 255, .03);--table-text: #f4f5f8;--table-text-secondary: #a0a0a0;--code-bg: rgba(56, 139, 253, .15);--code-text: #79b8ff;--type-bg: rgba(255, 255, 255, .08);--type-text: #c9d1d9}:host-context(.dark) .docs-api-table__badge,:host-context([color-scheme=dark]) .docs-api-table__badge{background:#ffffff14;color:#c9d1d9}:host-context(.dark) .docs-api-table__badge--deprecated,:host-context([color-scheme=dark]) .docs-api-table__badge--deprecated{background:#ffc10726;color:#ffc107}:host-context(.dark) .docs-api-table__deprecation-note,:host-context([color-scheme=dark]) .docs-api-table__deprecation-note{color:#ffc107}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
36833
36947
|
}
|
|
36834
36948
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsApiTableComponent, decorators: [{
|
|
36835
36949
|
type: Component,
|
|
@@ -36916,7 +37030,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
36916
37030
|
<p class="docs-api-table__empty">No items to display.</p>
|
|
36917
37031
|
}
|
|
36918
37032
|
</div>
|
|
36919
|
-
`, styles: [".docs-api-table{--table-bg: var(--ion-background-color, #fff);--table-border: var(--ion-border-color, #e0e0e0);--table-header-bg: #f8f9fa;--table-row-hover: rgba(0, 0, 0, .02);--table-text: var(--ion-text-color, #1a1a1a);--table-text-secondary: #5b6570;--code-bg: #f1f3f5;--code-text: #0d6efd;--type-bg: #e9ecef;--type-text: #495057;margin:1.5rem 0;font-family:var(--ion-font-family, system-ui, -apple-system, sans-serif)}.docs-api-table__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--table-text)}.docs-api-table__wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.docs-api-table__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.5;table-layout:fixed}.docs-api-table__th{text-align:left;padding:.625rem .75rem;font-weight:600;font-size:.8125rem;color:var(--table-text-secondary);background:var(--table-header-bg);border-bottom:2px solid var(--table-border);white-space:nowrap}.docs-api-table__th--name{width:120px}.docs-api-table__th--type{width:160px}.docs-api-table__th--default{width:110px}.docs-api-table__th--description{width:auto}.docs-api-table__td{padding:.625rem .75rem;border-bottom:1px solid var(--table-border);vertical-align:top;color:var(--table-text)}.docs-api-table__td--description{color:var(--table-text-secondary);line-height:1.5}.docs-api-table__row{transition:background-color .15s ease}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__row:last-child .docs-api-table__td{border-bottom:none}.docs-api-table__row--deprecated{opacity:.65}.docs-api-table__row--deprecated .docs-api-table__code{text-decoration:line-through}.docs-api-table__code{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;color:var(--code-text);background:var(--code-bg);padding:.125rem .375rem;border-radius:4px;word-break:break-word}.docs-api-table__type,.docs-api-table__default{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;color:var(--type-text);background:var(--type-bg);padding:.1875rem .375rem;border-radius:4px;white-space:normal;word-break:break-word}.docs-api-table__required{color:var(--ion-color-danger, #dc3545);font-weight:700;margin-left:.25rem;font-size:1rem;vertical-align:middle}.docs-api-table__badge{display:inline-block;margin-left:.5rem;padding:.1875rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#e9ecef;color:#495057;vertical-align:middle}.docs-api-table__badge--deprecated{background:#fff3cd;color:#856404}.docs-api-table__deprecation-note{margin-top:.5rem;font-size:.75rem;font-style:italic;color:#856404}.docs-api-table__empty{padding:3rem;text-align:center;color:var(--table-text-secondary);font-style:italic}.docs-api-table--bordered .docs-api-table__wrapper{border:1px solid var(--table-border);border-radius:12px;overflow-x:auto;overflow-y:hidden;background:var(--table-bg)}.docs-api-table--bordered .docs-api-table__th:first-child{border-top-left-radius:11px}.docs-api-table--bordered .docs-api-table__th:last-child{border-top-right-radius:11px}@media (max-width: 768px){.docs-api-table__table{display:block}.docs-api-table__table thead{display:none}.docs-api-table__table tbody{display:block}.docs-api-table__row{display:block;padding:1rem;margin-bottom:.5rem;border:1px solid var(--table-border);border-radius:8px;background:var(--table-bg)}.docs-api-table__row:last-child{margin-bottom:0}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__td{display:block;padding:.375rem 0;border:none!important}.docs-api-table__td:before{content:attr(data-label);display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--table-text-secondary);margin-bottom:.25rem}.docs-api-table__td--name{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--table-border)!important}.docs-api-table__td--description:before{display:none}.docs-api-table--bordered .docs-api-table__wrapper{border:none;border-radius:0;background:transparent}}:host-context(.dark) .docs-api-table,:host-context([color-scheme=dark]) .docs-api-table{--table-bg: #1e1e1e;--table-border: #3a3a3a;--table-header-bg: #252525;--table-row-hover: rgba(255, 255, 255, .03);--table-text: #f4f5f8;--table-text-secondary: #a0a0a0;--code-bg: rgba(56, 139, 253, .15);--code-text: #79b8ff;--type-bg: rgba(255, 255, 255, .08);--type-text: #c9d1d9}:host-context(.dark) .docs-api-table__badge,:host-context([color-scheme=dark]) .docs-api-table__badge{background:#ffffff14;color:#c9d1d9}:host-context(.dark) .docs-api-table__badge--deprecated,:host-context([color-scheme=dark]) .docs-api-table__badge--deprecated{background:#ffc10726;color:#ffc107}:host-context(.dark) .docs-api-table__deprecation-note,:host-context([color-scheme=dark]) .docs-api-table__deprecation-note{color:#ffc107}\n"] }]
|
|
37033
|
+
`, styles: [".docs-api-table{--table-bg: var(--ion-background-color, #fff);--table-border: var(--ion-border-color, #e0e0e0);--table-header-bg: #f8f9fa;--table-row-hover: rgba(0, 0, 0, .02);--table-text: var(--ion-text-color, #1a1a1a);--table-text-secondary: #5b6570;--code-bg: #f1f3f5;--code-text: #0d6efd;--type-bg: #e9ecef;--type-text: #495057;margin:1.5rem 0;font-family:var(--ion-font-family, system-ui, -apple-system, sans-serif)}.docs-api-table__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--table-text)}.docs-api-table__wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.docs-api-table__table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.5;table-layout:fixed}.docs-api-table__th{text-align:left;padding:.625rem .75rem;font-weight:600;font-size:.8125rem;color:var(--table-text-secondary);background:var(--table-header-bg);border-bottom:2px solid var(--table-border);white-space:nowrap}.docs-api-table__th--name{width:120px}.docs-api-table__th--type{width:160px}.docs-api-table__th--default{width:110px}.docs-api-table__th--description{width:auto}.docs-api-table__td{padding:.625rem .75rem;border-bottom:1px solid var(--table-border);vertical-align:top;color:var(--table-text)}.docs-api-table__td--description{color:var(--table-text-secondary);line-height:1.5}.docs-api-table__row{transition:background-color .15s ease}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__row:last-child .docs-api-table__td{border-bottom:none}.docs-api-table__row--deprecated{opacity:.65}.docs-api-table__row--deprecated .docs-api-table__code{text-decoration:line-through}.docs-api-table__code{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;color:var(--code-text);background:var(--code-bg);padding:.125rem .375rem;border-radius:4px;word-break:break-word}.docs-api-table__type,.docs-api-table__default{display:inline-block;font-family:SF Mono,Fira Code,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:500;color:var(--type-text);background:var(--type-bg);padding:.1875rem .375rem;border-radius:4px;white-space:normal;word-break:break-word}.docs-api-table__required{color:var(--ion-color-danger, #dc3545);font-weight:700;margin-left:.25rem;font-size:1rem;vertical-align:middle}.docs-api-table__badge{display:inline-block;margin-left:.5rem;padding:.1875rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;background:#e9ecef;color:#495057;vertical-align:middle}.docs-api-table__badge--deprecated{background:#fff3cd;color:#856404}.docs-api-table__deprecation-note{margin-top:.5rem;font-size:.75rem;font-style:italic;color:#856404}.docs-api-table__empty{padding:3rem;text-align:center;color:var(--table-text-secondary);font-style:italic}.docs-api-table--bordered .docs-api-table__wrapper{border:1px solid var(--table-border);border-radius:12px;overflow-x:auto;overflow-y:hidden;background:var(--table-bg)}.docs-api-table--bordered .docs-api-table__th:first-child{border-top-left-radius:11px}.docs-api-table--bordered .docs-api-table__th:last-child{border-top-right-radius:11px}@media (max-width: 768px){.docs-api-table__wrapper{overflow-x:visible}.docs-api-table__table{display:block;min-width:0;width:100%}.docs-api-table__table thead{display:none}.docs-api-table__table tbody{display:block}.docs-api-table__row{display:block;padding:1rem;margin-bottom:.5rem;border:1px solid var(--table-border);border-radius:8px;background:var(--table-bg)}.docs-api-table__row:last-child{margin-bottom:0}.docs-api-table__row:hover{background:var(--table-row-hover)}.docs-api-table__td{display:block;padding:.375rem 0;border:none!important;width:100%}.docs-api-table__td:before{content:attr(data-label);display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--table-text-secondary);margin-bottom:.25rem}.docs-api-table__td--name{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--table-border)!important}.docs-api-table__td--description:before{display:none}.docs-api-table--bordered .docs-api-table__wrapper{border:none;border-radius:0;background:transparent;overflow-x:visible}}:host-context(.dark) .docs-api-table,:host-context([color-scheme=dark]) .docs-api-table{--table-bg: #1e1e1e;--table-border: #3a3a3a;--table-header-bg: #252525;--table-row-hover: rgba(255, 255, 255, .03);--table-text: #f4f5f8;--table-text-secondary: #a0a0a0;--code-bg: rgba(56, 139, 253, .15);--code-text: #79b8ff;--type-bg: rgba(255, 255, 255, .08);--type-text: #c9d1d9}:host-context(.dark) .docs-api-table__badge,:host-context([color-scheme=dark]) .docs-api-table__badge{background:#ffffff14;color:#c9d1d9}:host-context(.dark) .docs-api-table__badge--deprecated,:host-context([color-scheme=dark]) .docs-api-table__badge--deprecated{background:#ffc10726;color:#ffc107}:host-context(.dark) .docs-api-table__deprecation-note,:host-context([color-scheme=dark]) .docs-api-table__deprecation-note{color:#ffc107}\n"] }]
|
|
36920
37034
|
}], propDecorators: { props: [{
|
|
36921
37035
|
type: Input
|
|
36922
37036
|
}] } });
|