@rangs/auth0-lib 0.0.18 → 0.0.19

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.
@@ -1,9 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, computed, Injectable, effect, NgModule, Component } from '@angular/core';
2
+ import { signal, computed, Injectable, effect, Component, NgModule } from '@angular/core';
3
3
  import * as i1 from '@auth0/auth0-angular';
4
4
  import { AuthModule as AuthModule$1 } from '@auth0/auth0-angular';
5
5
  import { BehaviorSubject, firstValueFrom } from 'rxjs';
6
- import { CommonModule } from '@angular/common';
7
6
 
8
7
  class CredentialingService {
9
8
  store = new Map();
@@ -229,24 +228,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
229
228
  }]
230
229
  }], ctorParameters: () => [{ type: i1.AuthService }] });
231
230
 
232
- class AuthModule {
233
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
234
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, imports: [AuthModule$1,
235
- TermsConditionsComponent] });
236
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, providers: [RoleContextService, TokenService], imports: [AuthModule$1,
237
- TermsConditionsComponent] });
238
- }
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, decorators: [{
240
- type: NgModule,
241
- args: [{
242
- imports: [
243
- AuthModule$1,
244
- TermsConditionsComponent,
245
- ],
246
- providers: [RoleContextService, TokenService]
247
- }]
248
- }] });
249
-
250
231
  class LegalService {
251
232
  _config = signal({
252
233
  companyName: 'Inspection Depot, Inc',
@@ -272,44 +253,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
272
253
  args: [{ providedIn: 'root' }]
273
254
  }] });
274
255
 
275
- class PrivacyPolicyComponent {
256
+ class TermsConditionsComponent {
276
257
  legal;
277
- website = computed(() => this.config().websiteUrl, ...(ngDevMode ? [{ debugName: "website" }] : []));
278
- privacyEmail = computed(() => this.config().privacyEmail, ...(ngDevMode ? [{ debugName: "privacyEmail" }] : []));
279
258
  constructor(legal) {
280
259
  this.legal = legal;
281
260
  }
282
261
  get config() {
283
262
  return this.legal.config;
284
263
  }
285
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
286
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: PrivacyPolicyComponent, isStandalone: true, selector: "app-privacy-policy", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
264
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
265
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: TermsConditionsComponent, isStandalone: false, selector: "app-terms-conditions", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] });
287
266
  }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, decorators: [{
289
268
  type: Component,
290
- args: [{ imports: [
291
- CommonModule
292
- ], standalone: true, selector: 'app-privacy-policy', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
269
+ args: [{ standalone: false, selector: 'app-terms-conditions', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
293
270
  }], ctorParameters: () => [{ type: LegalService }] });
294
271
 
295
- class TermsConditionsComponent {
272
+ class PrivacyPolicyComponent {
296
273
  legal;
274
+ website = computed(() => this.config().websiteUrl, ...(ngDevMode ? [{ debugName: "website" }] : []));
275
+ privacyEmail = computed(() => this.config().privacyEmail, ...(ngDevMode ? [{ debugName: "privacyEmail" }] : []));
297
276
  constructor(legal) {
298
277
  this.legal = legal;
299
278
  }
300
279
  get config() {
301
280
  return this.legal.config;
302
281
  }
303
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
304
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: TermsConditionsComponent, isStandalone: true, selector: "app-terms-conditions", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, deps: [{ token: LegalService }], target: i0.ɵɵFactoryTarget.Component });
283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: PrivacyPolicyComponent, isStandalone: false, selector: "app-privacy-policy", ngImport: i0, template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] });
305
284
  }
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TermsConditionsComponent, decorators: [{
285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: PrivacyPolicyComponent, decorators: [{
307
286
  type: Component,
308
- args: [{ imports: [
309
- CommonModule
310
- ], standalone: true, selector: 'app-terms-conditions', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
287
+ args: [{ standalone: false, selector: 'app-privacy-policy', template: "<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>", styles: [".legal-container{max-width:920px;margin:auto;padding:48px 24px;font-family:Inter,Roboto,sans-serif;line-height:1.75;color:#2c2c2c}.legal-container h1{font-size:34px;margin-bottom:8px}.legal-container .updated{font-size:13px;color:#777;margin-bottom:32px}.legal-container h2{margin-top:36px;font-size:20px;color:#1f4fd8}.legal-container ul{padding-left:22px}.legal-container a{color:#1f4fd8;text-decoration:none;font-weight:500}.legal-container address{margin-top:20px;font-style:normal}\n"] }]
311
288
  }], ctorParameters: () => [{ type: LegalService }] });
312
289
 
290
+ class AuthModule {
291
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
292
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, declarations: [TermsConditionsComponent,
293
+ PrivacyPolicyComponent], imports: [AuthModule$1], exports: [TermsConditionsComponent,
294
+ PrivacyPolicyComponent] });
295
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, providers: [RoleContextService, TokenService, LegalService], imports: [AuthModule$1] });
296
+ }
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: AuthModule, decorators: [{
298
+ type: NgModule,
299
+ args: [{
300
+ declarations: [
301
+ TermsConditionsComponent,
302
+ PrivacyPolicyComponent
303
+ ],
304
+ imports: [
305
+ AuthModule$1
306
+ ],
307
+ exports: [
308
+ TermsConditionsComponent,
309
+ PrivacyPolicyComponent
310
+ ],
311
+ providers: [RoleContextService, TokenService, LegalService]
312
+ }]
313
+ }] });
314
+
313
315
  /**
314
316
  * Generated bundle index. Do not edit.
315
317
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rangs-auth0-lib.mjs","sources":["../../../projects/auth0-lib/src/lib/services/credentialing.service.ts","../../../projects/auth0-lib/src/lib/services/role-context.service.ts","../../../projects/auth0-lib/src/lib/services/token.service.ts","../../../projects/auth0-lib/src/lib/auth.module.ts","../../../projects/auth0-lib/src/lib/src/legal.service.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.html","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.html","../../../projects/auth0-lib/src/rangs-auth0-lib.ts"],"sourcesContent":["import { computed, Injectable, Signal, signal } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CredentialingService {\r\n\r\n\r\n private store = new Map<string, ReturnType<typeof signal<any>>>();\r\n\r\n /** Get signal for a key (auto-create if missing) */\r\n get<T>(key: string): Signal<T | null> {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(null));\r\n }\r\n return computed(() => this.store.get(key)!());\r\n }\r\n\r\n /** Set value for a key */\r\n set<T>(key: string, value: T): void {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(value));\r\n } else {\r\n this.store.get(key)!.set(value);\r\n }\r\n }\r\n\r\n /** Optional: clear single key */\r\n clear(key: string): void {\r\n this.store.delete(key);\r\n }\r\n\r\n /** Optional: clear everything */\r\n clearAll(): void {\r\n this.store.clear();\r\n }\r\n\r\n}\r\n","import { Injectable, signal, computed, effect } from '@angular/core';\r\nimport { RoleContextModel } from './role-context.model';\r\n//import { NgxPermissionsService } from 'ngx-permissions';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { TempUserModel } from './temp-user.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleContextService {\r\n\r\n private readonly STORAGE_KEY = 'im-role-context';\r\n private readonly bc = new BroadcastChannel('im-role-context-channel');\r\n\r\n // Store role context in signal (without permissions)\r\n private contextSignal = signal<RoleContextModel | null>(this.getStoredContext());\r\n context = this.contextSignal;\r\n\r\n // Store role context in signal (without permissions)\r\n private tempUserContextSignal = signal<TempUserModel | null>(null);\r\n tempUserContext = this.tempUserContextSignal;\r\n\r\n /** For opening side Nav after tenant/role switch */\r\n private sidNav = new BehaviorSubject<RoleContextModel | null>(null);\r\n readonly sidNav$ = this.sidNav.asObservable();\r\n\r\n // Store role context in signal (without permissions)\r\n private cloudFrontUrlSignal = signal<string | null>(this.getCloudFrontUrl());\r\n cloudFrontUrl = this.cloudFrontUrlSignal;\r\n\r\n constructor(\r\n // private permissionsService: NgxPermissionsService\r\n ) {\r\n\r\n /** Sync from BroadcastChannel */\r\n this.bc.onmessage = (ev) => {\r\n if (!this.isSameContext(ev.data)) {\r\n this.showCustomPopup();\r\n }\r\n };\r\n\r\n /** Sync from LocalStorage events (multi-tab) */\r\n window.addEventListener('storage', (ev) => {\r\n if (ev.key === this.STORAGE_KEY) {\r\n const newCtx = ev.newValue ? JSON.parse(ev.newValue) : null;\r\n if (!this.isSameContext(newCtx)) {\r\n this.showCustomPopup();\r\n }\r\n }\r\n });\r\n\r\n // 🔥 IMPORTANT: Load permissions in memory — DO NOT save them\r\n effect(() => {\r\n const ctx = this.contextSignal();\r\n });\r\n }\r\n\r\n isSameContext(newCtx: RoleContextModel | null): boolean {\r\n const current = this.contextSignal();\r\n return !!current && !!newCtx && current.roleName === newCtx.roleName && current.tenantId === newCtx.tenantId;\r\n }\r\n\r\n private showCustomPopup() {\r\n const modal = document.getElementById('roleChangeModal')!;\r\n modal.style.display = 'flex';\r\n\r\n const okBtn = document.getElementById('roleChangeOkBtn')!;\r\n okBtn.onclick = () => {\r\n window.location.href = window.location.origin;\r\n };\r\n }\r\n\r\n // Set role context WITHOUT saving permissions to storage\r\n setContext(ctx: RoleContextModel | null) {\r\n // Clone without permissions\r\n const saveCtx = ctx ? { ...ctx, permissions: undefined } : null;\r\n this.applyContext(saveCtx, true);\r\n\r\n // Notify subscribers\r\n this.sidNav.next(ctx);\r\n\r\n }\r\n\r\n clearContext() {\r\n this.applyContext(null, true);\r\n }\r\n\r\n clearTempUserContext() {\r\n this.applyTempUserContext(null);\r\n }\r\n\r\n\r\n // Internal store + broadcast\r\n private applyContext(ctx: RoleContextModel | null, broadcast: boolean) {\r\n if (ctx) {\r\n\r\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(ctx));\r\n } else {\r\n localStorage.removeItem(this.STORAGE_KEY);\r\n }\r\n\r\n this.contextSignal.set(ctx);\r\n\r\n if (broadcast) this.bc.postMessage(ctx);\r\n }\r\n\r\n // Internal store for Temp User Context\r\n applyTempUserContext(ctx: TempUserModel | null) {\r\n this.tempUserContextSignal.set(ctx);\r\n\r\n }\r\n // Load existing context (no permissions)\r\n private getStoredContext(): RoleContextModel | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ? JSON.parse(raw) : null;\r\n }\r\n\r\n\r\n // Internal store for Cloud Front URL\r\n applyCloudUrl(ctx: string | null) {\r\n this.cloudFrontUrlSignal.set(ctx);\r\n }\r\n\r\n // Load Cloud Front URL\r\n private getCloudFrontUrl(): string | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ?? null;\r\n }\r\n\r\n // Role check used by directive\r\n hasAnyRole(roles: string[]) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return roles.some(r => r.toLowerCase() === currentRole);\r\n });\r\n }\r\n\r\n notAnyRole(roles: string[]) {\r\n return computed(() => !this.hasAnyRole(roles)());\r\n }\r\n\r\n hasRole(role: string) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return currentRole === role.toLowerCase();\r\n });\r\n }\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '@auth0/auth0-angular';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(private auth: AuthService) { }\r\n\r\n\r\n\r\n async isAuthenticated(): Promise<boolean> {\r\n return await firstValueFrom(this.auth.isAuthenticated$);\r\n }\r\n\r\n\r\n async getUserId(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.['user_id'] ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserEmail(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n //console.log(user);\r\n return user?.email ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserFirstName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.given_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n async getUserLastName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.family_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n async getUserFullName(): Promise<string> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n const fullName = `${user?.family_name ?? ''} ${user?.given_name ?? ''}`.trim();\r\n return fullName || '';\r\n } catch (err) {\r\n console.warn('User not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AuthModule as OAuthModule } from '@auth0/auth0-angular';\r\nimport { RoleContextService,TokenService } from './services';\r\nimport { TermsConditionsComponent } from '../public-api';\r\n\r\n@NgModule({\r\n imports: [\r\n OAuthModule,\r\n TermsConditionsComponent,\r\n \r\n ],\r\n providers: [RoleContextService, TokenService]\r\n})\r\nexport class AuthModule { }\r\n","import { Injectable, signal, WritableSignal } from '@angular/core';\r\nimport { LegalConfig } from './legal.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LegalService {\r\n\r\n private readonly _config: WritableSignal<LegalConfig> = signal({\r\n companyName: 'Inspection Depot, Inc',\r\n companyType: 'LLC',\r\n websiteUrl: 'https://www.bootog.com',\r\n supportEmail: 'support@bootog.com',\r\n privacyEmail: 'privacy@bootog.com',\r\n address: '3131 St Johns Bluff Rd S, Jacksonville, FL 32246',\r\n country: 'United States',\r\n privacyLastUpdated: 'September 30, 2025',\r\n termsLastUpdated: 'October 18, 2025'\r\n });\r\n\r\n readonly config = this._config.asReadonly();\r\n\r\n /** Optional: update dynamically from API / env / tenant */\r\n update(config: Partial<LegalConfig>) {\r\n this._config.update(c => ({ ...c, ...config }));\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n imports: [\r\n CommonModule\r\n ],\r\n standalone: true,\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrl: './privacy-policy.component.scss',\r\n})\r\nexport class PrivacyPolicyComponent {\r\n\r\n website = computed(() => this.config().websiteUrl);\r\n privacyEmail = computed(() => this.config().privacyEmail);\r\n\r\n constructor(private legal: LegalService) { }\r\n get config() {\r\n return this.legal.config;\r\n }\r\n\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n imports: [\r\n CommonModule\r\n ],\r\n standalone: true,\r\n selector: 'app-terms-conditions',\r\n templateUrl: './terms-conditions.component.html',\r\n styleUrl: './terms-conditions.component.scss',\r\n})\r\nexport class TermsConditionsComponent {\r\n\r\n constructor(private legal: LegalService) { }\r\n\r\n get config() {\r\n return this.legal.config;\r\n }\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["OAuthModule","i1.LegalService"],"mappings":"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"}
1
+ {"version":3,"file":"rangs-auth0-lib.mjs","sources":["../../../projects/auth0-lib/src/lib/services/credentialing.service.ts","../../../projects/auth0-lib/src/lib/services/role-context.service.ts","../../../projects/auth0-lib/src/lib/services/token.service.ts","../../../projects/auth0-lib/src/lib/src/legal.service.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.ts","../../../projects/auth0-lib/src/lib/src/terms-conditions/terms-conditions.component.html","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.ts","../../../projects/auth0-lib/src/lib/src/privacy-policy/privacy-policy.component.html","../../../projects/auth0-lib/src/lib/auth.module.ts","../../../projects/auth0-lib/src/rangs-auth0-lib.ts"],"sourcesContent":["import { computed, Injectable, Signal, signal } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CredentialingService {\r\n\r\n\r\n private store = new Map<string, ReturnType<typeof signal<any>>>();\r\n\r\n /** Get signal for a key (auto-create if missing) */\r\n get<T>(key: string): Signal<T | null> {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(null));\r\n }\r\n return computed(() => this.store.get(key)!());\r\n }\r\n\r\n /** Set value for a key */\r\n set<T>(key: string, value: T): void {\r\n if (!this.store.has(key)) {\r\n this.store.set(key, signal<T | null>(value));\r\n } else {\r\n this.store.get(key)!.set(value);\r\n }\r\n }\r\n\r\n /** Optional: clear single key */\r\n clear(key: string): void {\r\n this.store.delete(key);\r\n }\r\n\r\n /** Optional: clear everything */\r\n clearAll(): void {\r\n this.store.clear();\r\n }\r\n\r\n}\r\n","import { Injectable, signal, computed, effect } from '@angular/core';\r\nimport { RoleContextModel } from './role-context.model';\r\n//import { NgxPermissionsService } from 'ngx-permissions';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { TempUserModel } from './temp-user.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RoleContextService {\r\n\r\n private readonly STORAGE_KEY = 'im-role-context';\r\n private readonly bc = new BroadcastChannel('im-role-context-channel');\r\n\r\n // Store role context in signal (without permissions)\r\n private contextSignal = signal<RoleContextModel | null>(this.getStoredContext());\r\n context = this.contextSignal;\r\n\r\n // Store role context in signal (without permissions)\r\n private tempUserContextSignal = signal<TempUserModel | null>(null);\r\n tempUserContext = this.tempUserContextSignal;\r\n\r\n /** For opening side Nav after tenant/role switch */\r\n private sidNav = new BehaviorSubject<RoleContextModel | null>(null);\r\n readonly sidNav$ = this.sidNav.asObservable();\r\n\r\n // Store role context in signal (without permissions)\r\n private cloudFrontUrlSignal = signal<string | null>(this.getCloudFrontUrl());\r\n cloudFrontUrl = this.cloudFrontUrlSignal;\r\n\r\n constructor(\r\n // private permissionsService: NgxPermissionsService\r\n ) {\r\n\r\n /** Sync from BroadcastChannel */\r\n this.bc.onmessage = (ev) => {\r\n if (!this.isSameContext(ev.data)) {\r\n this.showCustomPopup();\r\n }\r\n };\r\n\r\n /** Sync from LocalStorage events (multi-tab) */\r\n window.addEventListener('storage', (ev) => {\r\n if (ev.key === this.STORAGE_KEY) {\r\n const newCtx = ev.newValue ? JSON.parse(ev.newValue) : null;\r\n if (!this.isSameContext(newCtx)) {\r\n this.showCustomPopup();\r\n }\r\n }\r\n });\r\n\r\n // 🔥 IMPORTANT: Load permissions in memory — DO NOT save them\r\n effect(() => {\r\n const ctx = this.contextSignal();\r\n });\r\n }\r\n\r\n isSameContext(newCtx: RoleContextModel | null): boolean {\r\n const current = this.contextSignal();\r\n return !!current && !!newCtx && current.roleName === newCtx.roleName && current.tenantId === newCtx.tenantId;\r\n }\r\n\r\n private showCustomPopup() {\r\n const modal = document.getElementById('roleChangeModal')!;\r\n modal.style.display = 'flex';\r\n\r\n const okBtn = document.getElementById('roleChangeOkBtn')!;\r\n okBtn.onclick = () => {\r\n window.location.href = window.location.origin;\r\n };\r\n }\r\n\r\n // Set role context WITHOUT saving permissions to storage\r\n setContext(ctx: RoleContextModel | null) {\r\n // Clone without permissions\r\n const saveCtx = ctx ? { ...ctx, permissions: undefined } : null;\r\n this.applyContext(saveCtx, true);\r\n\r\n // Notify subscribers\r\n this.sidNav.next(ctx);\r\n\r\n }\r\n\r\n clearContext() {\r\n this.applyContext(null, true);\r\n }\r\n\r\n clearTempUserContext() {\r\n this.applyTempUserContext(null);\r\n }\r\n\r\n\r\n // Internal store + broadcast\r\n private applyContext(ctx: RoleContextModel | null, broadcast: boolean) {\r\n if (ctx) {\r\n\r\n localStorage.setItem(this.STORAGE_KEY, JSON.stringify(ctx));\r\n } else {\r\n localStorage.removeItem(this.STORAGE_KEY);\r\n }\r\n\r\n this.contextSignal.set(ctx);\r\n\r\n if (broadcast) this.bc.postMessage(ctx);\r\n }\r\n\r\n // Internal store for Temp User Context\r\n applyTempUserContext(ctx: TempUserModel | null) {\r\n this.tempUserContextSignal.set(ctx);\r\n\r\n }\r\n // Load existing context (no permissions)\r\n private getStoredContext(): RoleContextModel | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ? JSON.parse(raw) : null;\r\n }\r\n\r\n\r\n // Internal store for Cloud Front URL\r\n applyCloudUrl(ctx: string | null) {\r\n this.cloudFrontUrlSignal.set(ctx);\r\n }\r\n\r\n // Load Cloud Front URL\r\n private getCloudFrontUrl(): string | null {\r\n const raw = localStorage.getItem(this.STORAGE_KEY);\r\n return raw ?? null;\r\n }\r\n\r\n // Role check used by directive\r\n hasAnyRole(roles: string[]) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return roles.some(r => r.toLowerCase() === currentRole);\r\n });\r\n }\r\n\r\n notAnyRole(roles: string[]) {\r\n return computed(() => !this.hasAnyRole(roles)());\r\n }\r\n\r\n hasRole(role: string) {\r\n return computed(() => {\r\n const currentRole = this.contextSignal()?.roleName?.toLowerCase();\r\n return currentRole === role.toLowerCase();\r\n });\r\n }\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '@auth0/auth0-angular';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(private auth: AuthService) { }\r\n\r\n\r\n\r\n async isAuthenticated(): Promise<boolean> {\r\n return await firstValueFrom(this.auth.isAuthenticated$);\r\n }\r\n\r\n\r\n async getUserId(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.['user_id'] ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserEmail(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n //console.log(user);\r\n return user?.email ?? null;\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return null;\r\n }\r\n }\r\n\r\n async getUserFirstName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.given_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n async getUserLastName(): Promise<string | null> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n return user?.family_name ?? '';\r\n } catch (err) {\r\n console.warn('User ID not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n async getUserFullName(): Promise<string> {\r\n try {\r\n const user = await firstValueFrom(this.auth.user$);\r\n const fullName = `${user?.family_name ?? ''} ${user?.given_name ?? ''}`.trim();\r\n return fullName || '';\r\n } catch (err) {\r\n console.warn('User not available:', err);\r\n return '';\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { Injectable, signal, WritableSignal } from '@angular/core';\r\nimport { LegalConfig } from './legal.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LegalService {\r\n\r\n private readonly _config: WritableSignal<LegalConfig> = signal({\r\n companyName: 'Inspection Depot, Inc',\r\n companyType: 'LLC',\r\n websiteUrl: 'https://www.bootog.com',\r\n supportEmail: 'support@bootog.com',\r\n privacyEmail: 'privacy@bootog.com',\r\n address: '3131 St Johns Bluff Rd S, Jacksonville, FL 32246',\r\n country: 'United States',\r\n privacyLastUpdated: 'September 30, 2025',\r\n termsLastUpdated: 'October 18, 2025'\r\n });\r\n\r\n readonly config = this._config.asReadonly();\r\n\r\n /** Optional: update dynamically from API / env / tenant */\r\n update(config: Partial<LegalConfig>) {\r\n this._config.update(c => ({ ...c, ...config }));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n standalone: false,\r\n selector: 'app-terms-conditions',\r\n templateUrl: './terms-conditions.component.html',\r\n styleUrl: './terms-conditions.component.scss',\r\n})\r\nexport class TermsConditionsComponent {\r\n\r\n constructor(private legal: LegalService) { }\r\n\r\n get config() {\r\n return this.legal.config;\r\n }\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Terms of Use</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().termsLastUpdated }}\r\n </p>\r\n\r\n <h2>Acceptance of Terms</h2>\r\n <p>\r\n By accessing {{ config().websiteUrl }},\r\n you agree to be bound by these Terms of Use\r\n provided by {{ config().companyName }}.\r\n </p>\r\n\r\n <h2>Eligibility</h2>\r\n <p>\r\n This Website is available only to users 18 years or older\r\n residing in the United States.\r\n </p>\r\n\r\n <h2>Intellectual Property</h2>\r\n <p>\r\n All content is owned by {{ config().companyName }}\r\n and protected by intellectual property laws.\r\n </p>\r\n\r\n <h2>Limitation of Liability</h2>\r\n <p>\r\n {{ config().companyName }} shall not be liable for damages\r\n arising from the use of this Website.\r\n </p>\r\n\r\n <h2>Governing Law</h2>\r\n <p>\r\n These terms are governed by the laws of the State of Florida.\r\n </p>\r\n\r\n <h2>Contact</h2>\r\n <p>\r\n Questions may be sent to\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </p>\r\n\r\n</section>","import { Component, computed, OnInit } from '@angular/core';\r\nimport { LegalService } from '../legal.service';\r\n@Component({\r\n standalone: false,\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrl: './privacy-policy.component.scss',\r\n})\r\nexport class PrivacyPolicyComponent {\r\n\r\n website = computed(() => this.config().websiteUrl);\r\n privacyEmail = computed(() => this.config().privacyEmail);\r\n\r\n constructor(private legal: LegalService) { }\r\n get config() {\r\n return this.legal.config;\r\n }\r\n\r\n}\r\n","<section class=\"legal-container\">\r\n\r\n <h1>Website Privacy Policy</h1>\r\n <p class=\"updated\">\r\n Last Updated: {{ config().privacyLastUpdated }}\r\n </p>\r\n\r\n <h2>Introduction</h2>\r\n <p>\r\n {{ config().companyName }}, a {{ config().companyType }},\r\n respects your privacy and is committed to protecting it.\r\n This policy explains how we collect, use, and safeguard information\r\n when you visit\r\n <a [href]=\"website()\" target=\"_blank\">{{ website() }}</a>.\r\n </p>\r\n\r\n <h2>Children Under the Age of 16</h2>\r\n <p>\r\n Our Website is not intended for children under 16 years of age.\r\n We do not knowingly collect personal information from children.\r\n If you believe we have collected such information, contact us at\r\n <a [href]=\"'mailto:' + privacyEmail()\">\r\n {{ privacyEmail() }}\r\n </a>.\r\n </p>\r\n\r\n <h2>Information We Collect</h2>\r\n <ul>\r\n <li>Personal identifiers (name, email, phone)</li>\r\n <li>Internet and device information</li>\r\n <li>Usage and interaction data</li>\r\n </ul>\r\n\r\n <h2>How We Use Information</h2>\r\n <ul>\r\n <li>To operate and maintain services</li>\r\n <li>To communicate with users</li>\r\n <li>To improve performance and security</li>\r\n <li>To comply with legal obligations</li>\r\n </ul>\r\n\r\n <h2>Disclosure of Information</h2>\r\n <p>\r\n We may share information with service providers, affiliates,\r\n or when required by law.\r\n </p>\r\n\r\n <h2>Data Security</h2>\r\n <p>\r\n While we implement reasonable safeguards, no system is 100% secure.\r\n </p>\r\n\r\n <h2>Contact Information</h2>\r\n <address>\r\n {{ config().companyName }}<br />\r\n {{ config().address }}<br />\r\n {{ config().country }}<br />\r\n Email:\r\n <a [href]=\"'mailto:' + config().supportEmail\">\r\n {{ config().supportEmail }}\r\n </a>\r\n </address>\r\n\r\n</section>","import { NgModule } from '@angular/core';\r\nimport { AuthModule as OAuthModule } from '@auth0/auth0-angular';\r\nimport { RoleContextService, TokenService } from './services';\r\nimport { TermsConditionsComponent } from './src/terms-conditions/terms-conditions.component';\r\nimport { PrivacyPolicyComponent } from './src/privacy-policy/privacy-policy.component';\r\nimport { LegalService } from '../public-api';\r\n@NgModule({\r\n declarations: [\r\n TermsConditionsComponent,\r\n PrivacyPolicyComponent\r\n ],\r\n imports: [\r\n OAuthModule\r\n ],\r\n exports: [\r\n TermsConditionsComponent,\r\n PrivacyPolicyComponent\r\n ],\r\n providers: [RoleContextService, TokenService, LegalService]\r\n})\r\nexport class AuthModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LegalService","OAuthModule"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Signal } from '@angular/core';
3
- import * as i1 from '@auth0/auth0-angular';
4
- import { AuthService } from '@auth0/auth0-angular';
5
3
  import * as _rangs_auth0_lib from '@rangs/auth0-lib';
4
+ import * as i3 from '@auth0/auth0-angular';
5
+ import { AuthService } from '@auth0/auth0-angular';
6
6
  import * as rxjs from 'rxjs';
7
7
 
8
8
  interface LegalConfig {
@@ -31,12 +31,22 @@ declare class TermsConditionsComponent {
31
31
  constructor(legal: LegalService);
32
32
  get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<TermsConditionsComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<TermsConditionsComponent, "app-terms-conditions", never, {}, {}, never, never, true, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TermsConditionsComponent, "app-terms-conditions", never, {}, {}, never, never, false, never>;
35
+ }
36
+
37
+ declare class PrivacyPolicyComponent {
38
+ private legal;
39
+ website: i0.Signal<string>;
40
+ privacyEmail: i0.Signal<string>;
41
+ constructor(legal: LegalService);
42
+ get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyPolicyComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyPolicyComponent, "app-privacy-policy", never, {}, {}, never, never, false, never>;
35
45
  }
36
46
 
37
47
  declare class AuthModule {
38
48
  static ɵfac: i0.ɵɵFactoryDeclaration<AuthModule, never>;
39
- static ɵmod: i0.ɵɵNgModuleDeclaration<AuthModule, never, [typeof i1.AuthModule, typeof TermsConditionsComponent], never>;
49
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AuthModule, [typeof TermsConditionsComponent, typeof PrivacyPolicyComponent], [typeof i3.AuthModule], [typeof TermsConditionsComponent, typeof PrivacyPolicyComponent]>;
40
50
  static ɵinj: i0.ɵɵInjectorDeclaration<AuthModule>;
41
51
  }
42
52
 
@@ -141,15 +151,5 @@ declare class CredentialingService {
141
151
  static ɵprov: i0.ɵɵInjectableDeclaration<CredentialingService>;
142
152
  }
143
153
 
144
- declare class PrivacyPolicyComponent {
145
- private legal;
146
- website: i0.Signal<string>;
147
- privacyEmail: i0.Signal<string>;
148
- constructor(legal: LegalService);
149
- get config(): i0.Signal<_rangs_auth0_lib.LegalConfig>;
150
- static ɵfac: i0.ɵɵFactoryDeclaration<PrivacyPolicyComponent, never>;
151
- static ɵcmp: i0.ɵɵComponentDeclaration<PrivacyPolicyComponent, "app-privacy-policy", never, {}, {}, never, never, true, never>;
152
- }
153
-
154
154
  export { AuthModule, CredentialingService, LegalService, PrivacyPolicyComponent, RoleContextService, TermsConditionsComponent, TokenService };
155
155
  export type { LegalConfig, RoleContextModel, TempUserModel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rangs/auth0-lib",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0",