valtech-components 2.0.289 → 2.0.291

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.
@@ -0,0 +1,23 @@
1
+ import { TextMetadata } from '../components/atoms/text/types';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * ComprehensiveLinkTestComponent - Componente de prueba exhaustiva para el procesamiento de enlaces.
5
+ *
6
+ * Este componente demuestra todos los casos edge y escenarios complejos de procesamiento de enlaces,
7
+ * incluyendo puntuación, URLs complejas, y mezclas de formatos.
8
+ *
9
+ * @example Uso en template:
10
+ * ```html
11
+ * <val-comprehensive-link-test></val-comprehensive-link-test>
12
+ * ```
13
+ */
14
+ export declare class ComprehensiveLinkTestComponent {
15
+ punctuationProps: TextMetadata;
16
+ complexUrlProps: TextMetadata;
17
+ parenthesesProps: TextMetadata;
18
+ mixedFormatsProps: TextMetadata;
19
+ edgeCasesProps: TextMetadata;
20
+ devUrlsProps: TextMetadata;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<ComprehensiveLinkTestComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<ComprehensiveLinkTestComponent, "val-comprehensive-link-test", never, {}, {}, never, never, true, never>;
23
+ }
@@ -19,6 +19,8 @@ export declare class LinkProcessingExampleComponent {
19
19
  sameTabLinksProps: TextMetadata;
20
20
  markdownLinksProps: TextMetadata;
21
21
  mixedFormatsProps: TextMetadata;
22
+ punctuationTestProps: TextMetadata;
23
+ complexUrlsProps: TextMetadata;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<LinkProcessingExampleComponent, never>;
23
25
  static ɵcmp: i0.ɵɵComponentDeclaration<LinkProcessingExampleComponent, "val-link-processing-example", never, {}, {}, never, never, true, never>;
24
26
  }
@@ -37,6 +37,12 @@ export declare class LinkProcessorService {
37
37
  private readonly internalRouteRegex;
38
38
  private readonly markdownLinkRegex;
39
39
  constructor(sanitizer: DomSanitizer);
40
+ /**
41
+ * Limpia la puntuación del final de una URL.
42
+ * Mantiene caracteres válidos de URL pero remueve signos de puntuación comunes al final.
43
+ * Preserva parámetros de consulta, fragmentos y caracteres válidos en URLs.
44
+ */
45
+ private cleanUrlPunctuation;
40
46
  /**
41
47
  * Procesa texto para convertir enlaces en elementos <a> clickeables.
42
48
  * Detecta automáticamente URLs externas, rutas internas y enlaces estilo Markdown.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.289",
3
+ "version": "2.0.291",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0",
package/public-api.d.ts CHANGED
@@ -79,6 +79,7 @@ export * from './lib/components/organisms/wizard/wizard.component';
79
79
  export * from './lib/components/templates/layout/layout.component';
80
80
  export * from './lib/components/templates/simple/simple.component';
81
81
  export * from './lib/components/templates/simple/types';
82
+ export * from './lib/examples/comprehensive-link-test.component';
82
83
  export * from './lib/examples/custom-content-demo.component';
83
84
  export * from './lib/examples/link-processing-example.component';
84
85
  export * from './lib/services/content.service';
@@ -203,3 +203,37 @@ ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {
203
203
  padding: 0 !important;
204
204
  padding-bottom: 0.5rem !important;
205
205
  }
206
+
207
+ // Estilos para enlaces procesados automáticamente
208
+ .processed-link {
209
+ color: var(--ion-color-primary, #3880ff);
210
+ text-decoration: underline;
211
+ text-decoration-thickness: 1px;
212
+ text-underline-offset: 2px;
213
+ transition: color 0.3s ease;
214
+
215
+ &:hover {
216
+ color: var(--ion-color-primary-shade, #3171e0);
217
+ text-decoration-thickness: 2px;
218
+ }
219
+
220
+ &:active {
221
+ color: var(--ion-color-primary-tint, #4c8dff);
222
+ }
223
+ }
224
+
225
+ .external-link {
226
+ &::after {
227
+ content: ' ↗';
228
+ font-size: 0.8em;
229
+ opacity: 0.7;
230
+ }
231
+ }
232
+
233
+ .internal-link {
234
+ color: var(--ion-color-primary, #0cd1e8);
235
+
236
+ &:hover {
237
+ color: var(--ion-color-primary-shade, #0bb8cc);
238
+ }
239
+ }