valtech-components 2.0.442 → 2.0.444

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.
@@ -1582,32 +1582,32 @@ class LinkProcessorService {
1582
1582
  let processedText = text;
1583
1583
  // 1. Procesar enlaces estilo Markdown [texto](url) primero
1584
1584
  if (processMarkdownLinks) {
1585
- // Usar exec en bucle (compatible con ES2018)
1586
- const markdownMatches = [];
1587
- this.markdownLinkRegex.lastIndex = 0;
1588
- let mdMatch;
1589
- while ((mdMatch = this.markdownLinkRegex.exec(processedText)) !== null) {
1590
- markdownMatches.push(mdMatch);
1591
- }
1585
+ // // Usar exec en bucle (compatible con ES2018)
1586
+ // const markdownMatches: RegExpExecArray[] = [];
1587
+ // this.markdownLinkRegex.lastIndex = 0;
1588
+ // let mdMatch: RegExpExecArray | null;
1589
+ // while ((mdMatch = this.markdownLinkRegex.exec(processedText)) !== null) {
1590
+ // markdownMatches.push(mdMatch);
1591
+ // }
1592
1592
  // Procesar de atrás hacia adelante para mantener las posiciones
1593
- for (let i = markdownMatches.length - 1; i >= 0; i--) {
1594
- const match = markdownMatches[i];
1595
- const [fullMatch, linkText, url] = match;
1596
- const startIndex = match.index;
1597
- const endIndex = startIndex + fullMatch.length;
1598
- hasLinks = true;
1599
- const isExternal = /^https?:\/\//.test(url);
1600
- const target = (isExternal ? openExternalInNewTab : openInternalInNewTab)
1601
- ? isExternal
1602
- ? ' target="_blank" rel="noopener noreferrer"'
1603
- : ' target="_blank"'
1604
- : '';
1605
- const typeClass = isExternal ? externalLinkClass : internalLinkClass;
1606
- const classes = `${linkClass} ${typeClass}`.trim();
1607
- const linkHtml = `<a href="${url}"${target} class="${classes}">${linkText}</a>`;
1608
- processedText =
1609
- processedText.substring(0, startIndex) + linkHtml + processedText.substring(endIndex);
1610
- }
1593
+ // for (let i = markdownMatches.length - 1; i >= 0; i--) {
1594
+ // const match = markdownMatches[i];
1595
+ // const [fullMatch, linkText, url] = match;
1596
+ // const startIndex = match.index!;
1597
+ // const endIndex = startIndex + fullMatch.length;
1598
+ // hasLinks = true;
1599
+ // const isExternal = /^https?:\/\//.test(url);
1600
+ // const target = (isExternal ? openExternalInNewTab : openInternalInNewTab)
1601
+ // ? isExternal
1602
+ // ? ' target="_blank" rel="noopener noreferrer"'
1603
+ // : ' target="_blank"'
1604
+ // : '';
1605
+ // const typeClass = isExternal ? externalLinkClass : internalLinkClass;
1606
+ // const classes = `${linkClass} ${typeClass}`.trim();
1607
+ // const linkHtml = `<a href="${url}"${target} class="${classes}">${linkText}</a>`;
1608
+ // processedText =
1609
+ // processedText.substring(0, startIndex) + linkHtml + processedText.substring(endIndex);
1610
+ // }
1611
1611
  }
1612
1612
  // 2. Procesar URLs externas directas
1613
1613
  // Usar exec en bucle (compatible con ES2018)
@@ -1645,35 +1645,35 @@ class LinkProcessorService {
1645
1645
  processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
1646
1646
  }
1647
1647
  // 3. Procesar rutas internas
1648
- // Usar exec en bucle (compatible con ES2018)
1649
- const internalMatches = [];
1650
- this.internalRouteRegex.lastIndex = 0;
1651
- let internalMatch;
1652
- while ((internalMatch = this.internalRouteRegex.exec(processedText)) !== null) {
1653
- internalMatches.push(internalMatch);
1654
- }
1648
+ // // Usar exec en bucle (compatible con ES2018)
1649
+ // const internalMatches: RegExpExecArray[] = [];
1650
+ // this.internalRouteRegex.lastIndex = 0;
1651
+ // let internalMatch: RegExpExecArray | null;
1652
+ // while ((internalMatch = this.internalRouteRegex.exec(processedText)) !== null) {
1653
+ // internalMatches.push(internalMatch);
1654
+ // }
1655
1655
  // Procesar de atrás hacia adelante para mantener las posiciones
1656
- for (let i = internalMatches.length - 1; i >= 0; i--) {
1657
- const match = internalMatches[i];
1658
- const [fullMatch, prefix, route] = match;
1659
- const startIndex = match.index;
1660
- const endIndex = startIndex + fullMatch.length;
1661
- // Verificar que no esté ya dentro de un enlace HTML existente
1662
- const textBefore = processedText.substring(0, startIndex);
1663
- const lastOpenTag = textBefore.lastIndexOf('<a ');
1664
- const lastCloseTag = textBefore.lastIndexOf('</a>');
1665
- // Si hay un tag <a abierto sin cerrar, no procesamos
1666
- if (lastOpenTag > lastCloseTag) {
1667
- continue;
1668
- }
1669
- hasLinks = true;
1670
- const target = openInternalInNewTab ? ' target="_blank"' : '';
1671
- const classes = `${linkClass} ${internalLinkClass}`.trim();
1672
- const linkHtml = `<a href="${route}"${target} class="${classes}">${route}</a>`;
1673
- const replacement = `${prefix}${linkHtml}`;
1674
- processedText =
1675
- processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
1676
- }
1656
+ // for (let i = internalMatches.length - 1; i >= 0; i--) {
1657
+ // const match = internalMatches[i];
1658
+ // const [fullMatch, prefix, route] = match;
1659
+ // const startIndex = match.index!;
1660
+ // const endIndex = startIndex + fullMatch.length;
1661
+ // // Verificar que no esté ya dentro de un enlace HTML existente
1662
+ // const textBefore = processedText.substring(0, startIndex);
1663
+ // const lastOpenTag = textBefore.lastIndexOf('<a ');
1664
+ // const lastCloseTag = textBefore.lastIndexOf('</a>');
1665
+ // // Si hay un tag <a abierto sin cerrar, no procesamos
1666
+ // if (lastOpenTag > lastCloseTag) {
1667
+ // continue;
1668
+ // }
1669
+ // hasLinks = true;
1670
+ // const target = openInternalInNewTab ? ' target="_blank"' : '';
1671
+ // const classes = `${linkClass} ${internalLinkClass}`.trim();
1672
+ // const linkHtml = `<a href="${route}"${target} class="${classes}">${route}</a>`;
1673
+ // const replacement = `${prefix}${linkHtml}`;
1674
+ // processedText =
1675
+ // processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
1676
+ // }
1677
1677
  // Si hay enlaces, sanitizar el HTML
1678
1678
  if (hasLinks) {
1679
1679
  return this.sanitizer.bypassSecurityTrustHtml(processedText);
@@ -24482,11 +24482,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
24482
24482
  * ```
24483
24483
  */
24484
24484
  class AuthService {
24485
- constructor(config, http, router, injector, stateService, tokenService, storageService, syncService, firebaseService) {
24485
+ constructor(config, http, router, stateService, tokenService, storageService, syncService, firebaseService) {
24486
24486
  this.config = config;
24487
24487
  this.http = http;
24488
24488
  this.router = router;
24489
- this.injector = injector;
24490
24489
  this.stateService = stateService;
24491
24490
  this.tokenService = tokenService;
24492
24491
  this.storageService = storageService;
@@ -24891,7 +24890,7 @@ class AuthService {
24891
24890
  console.warn('[ValtechAuth] Firebase signout failed:', error);
24892
24891
  }
24893
24892
  }
24894
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1$5.HttpClient }, { token: i1$4.Router }, { token: i0.Injector }, { token: AuthStateService }, { token: TokenService }, { token: AuthStorageService }, { token: AuthSyncService }, { token: FirebaseService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24893
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1$5.HttpClient }, { token: i1$4.Router }, { token: AuthStateService }, { token: TokenService }, { token: AuthStorageService }, { token: AuthSyncService }, { token: FirebaseService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24895
24894
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, providedIn: 'root' }); }
24896
24895
  }
24897
24896
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, decorators: [{
@@ -24900,7 +24899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
24900
24899
  }], ctorParameters: () => [{ type: undefined, decorators: [{
24901
24900
  type: Inject,
24902
24901
  args: [VALTECH_AUTH_CONFIG]
24903
- }] }, { type: i1$5.HttpClient }, { type: i1$4.Router }, { type: i0.Injector }, { type: AuthStateService }, { type: TokenService }, { type: AuthStorageService }, { type: AuthSyncService }, { type: FirebaseService }] });
24902
+ }] }, { type: i1$5.HttpClient }, { type: i1$4.Router }, { type: AuthStateService }, { type: TokenService }, { type: AuthStorageService }, { type: AuthSyncService }, { type: FirebaseService }] });
24904
24903
 
24905
24904
  // Control de estado de refresco (singleton a nivel de módulo)
24906
24905
  let isRefreshing = false;