valtech-components 2.0.741 → 2.0.743
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/atoms/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
- package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
- package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
- package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
- package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
- package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
- package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
- package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
- package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
- package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
- package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +3 -3
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +5 -11
- package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +5 -11
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
- package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
- package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
- package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +23 -5
- package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
- package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
- package/esm2022/lib/components/organisms/article/article.component.mjs +5 -2
- package/esm2022/lib/components/organisms/article/types.mjs +2 -2
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
- package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
- package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
- package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +3 -3
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
- package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +3 -3
- package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
- package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +3 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +126 -115
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/notes-box/types.d.ts +6 -2
- package/lib/components/organisms/article/types.d.ts +6 -2
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/styles/alert.scss +13 -12
- package/src/lib/components/styles/media-queries.scss +22 -1
- package/src/lib/components/styles/overrides.scss +5 -4
- package/src/lib/components/styles/variables.scss +28 -23
|
@@ -4,11 +4,13 @@ import { Color } from '@ionic/core';
|
|
|
4
4
|
*
|
|
5
5
|
* @property color - The background color of the box.
|
|
6
6
|
* @property textColor - The color of the text.
|
|
7
|
-
* @property prefix - Optional prefix text (bold).
|
|
8
|
-
* @property text - The main text content.
|
|
7
|
+
* @property prefix - Optional prefix text (bold). Pass `''` (empty string) to suppress the prefix entirely.
|
|
8
|
+
* @property text - The main text content. May contain `<strong>` / `<b>` tags when `allowPartialBold` is enabled.
|
|
9
9
|
* @property size - The size of the text and box ('small' | 'medium' | 'large' | 'xlarge').
|
|
10
10
|
* @property rounded - Whether the box has rounded corners.
|
|
11
11
|
* @property padding - Custom padding for the box (optional).
|
|
12
|
+
* @property allowPartialBold - Render inline `<strong>`/`<b>` tags in `text` as bold via innerHTML. Default `false`.
|
|
13
|
+
* @property processLinks - Auto-process URLs and `[text](url)` markdown links in `text`. Default `false`.
|
|
12
14
|
*/
|
|
13
15
|
export interface NotesBoxMetadata {
|
|
14
16
|
color: Color;
|
|
@@ -18,4 +20,6 @@ export interface NotesBoxMetadata {
|
|
|
18
20
|
size: 'small' | 'medium' | 'large' | 'xlarge';
|
|
19
21
|
rounded: boolean;
|
|
20
22
|
padding?: string;
|
|
23
|
+
allowPartialBold?: boolean;
|
|
24
|
+
processLinks?: boolean;
|
|
21
25
|
}
|
|
@@ -105,9 +105,9 @@ export interface ArticleCodeElement extends BaseArticleElement {
|
|
|
105
105
|
export interface ArticleNoteElement extends BaseArticleElement {
|
|
106
106
|
type: 'note';
|
|
107
107
|
props: {
|
|
108
|
-
/** Texto principal de la nota */
|
|
108
|
+
/** Texto principal de la nota. Puede contener `<strong>`/`<b>` si `allowPartialBold` está activo. */
|
|
109
109
|
text: string;
|
|
110
|
-
/** Prefijo en negrita (ej: "Nota:") */
|
|
110
|
+
/** Prefijo en negrita (ej: "Nota:"). Pasa `''` (string vacío) para suprimir el prefijo. */
|
|
111
111
|
prefix?: string;
|
|
112
112
|
/** Color de fondo */
|
|
113
113
|
color?: Color;
|
|
@@ -119,6 +119,10 @@ export interface ArticleNoteElement extends BaseArticleElement {
|
|
|
119
119
|
rounded?: boolean;
|
|
120
120
|
/** Padding personalizado */
|
|
121
121
|
padding?: string;
|
|
122
|
+
/** Renderiza `<strong>`/`<b>` inline en `text` via innerHTML. Default `false`. */
|
|
123
|
+
allowPartialBold?: boolean;
|
|
124
|
+
/** Procesa URLs y `[text](url)` en `text`. Default `false`. */
|
|
125
|
+
processLinks?: boolean;
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
/**
|
package/lib/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -117,16 +117,17 @@ ion-alert.val-alert {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
/* Dark mode —
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
120
|
+
/* Dark mode — class-based (ThemeService toggle `body.dark`/`html.ion-palette-dark`).
|
|
121
|
+
No usar `@media (prefers-color-scheme: dark)` porque pisaba el manual toggle. */
|
|
122
|
+
body.dark ion-alert.val-alert,
|
|
123
|
+
html.ion-palette-dark ion-alert.val-alert,
|
|
124
|
+
body[data-theme='dark'] ion-alert.val-alert {
|
|
125
|
+
--val-alert-bg: var(--ion-background-color, #1c1c1e);
|
|
126
|
+
--val-alert-border: rgba(255, 255, 255, 0.08);
|
|
127
|
+
--val-alert-text: var(--ion-text-color, #ffffff);
|
|
128
|
+
--val-alert-text-muted: rgba(255, 255, 255, 0.7);
|
|
129
|
+
--val-alert-btn-bg: rgba(255, 255, 255, 0.06);
|
|
130
|
+
--val-alert-btn-bg-hover: rgba(255, 255, 255, 0.12);
|
|
131
|
+
--val-alert-btn-bg-active: rgba(255, 255, 255, 0.18);
|
|
132
|
+
--val-alert-btn-border: rgba(255, 255, 255, 0.06);
|
|
132
133
|
}
|
|
@@ -59,8 +59,29 @@
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
// Class-based dark mode. Apps deben usar `dark.class.css` palette de Ionic
|
|
63
|
+
// + ThemeService que toggle `body.dark` / `html.ion-palette-dark`.
|
|
64
|
+
// El mixin se mantiene para compatibilidad con consumers existentes,
|
|
65
|
+
// pero ya NO usa `@media (prefers-color-scheme: dark)` para evitar
|
|
66
|
+
// pintar dark según OS aunque el user tenga tema light manual.
|
|
67
|
+
//
|
|
68
|
+
// Uso desde un component-level .scss (top-level, NO dentro de `:host`):
|
|
69
|
+
// @include dark { ... }
|
|
62
70
|
@mixin dark {
|
|
63
|
-
|
|
71
|
+
:host-context(.dark),
|
|
72
|
+
:host-context(.ion-palette-dark),
|
|
73
|
+
:host-context(html.ion-palette-dark),
|
|
74
|
+
:host-context(body.dark),
|
|
75
|
+
:host-context([data-theme='dark']) {
|
|
76
|
+
@content;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Variante global (no usa :host-context) — para SCSS NO de componente.
|
|
81
|
+
@mixin dark-global {
|
|
82
|
+
body.dark,
|
|
83
|
+
html.ion-palette-dark,
|
|
84
|
+
[data-theme='dark'] {
|
|
64
85
|
@content;
|
|
65
86
|
}
|
|
66
87
|
}
|
|
@@ -185,10 +185,11 @@ ion-modal {
|
|
|
185
185
|
|
|
186
186
|
.img-black {
|
|
187
187
|
filter: invert(0);
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
}
|
|
189
|
+
body.dark .img-black,
|
|
190
|
+
html.ion-palette-dark .img-black,
|
|
191
|
+
body[data-theme='dark'] .img-black {
|
|
192
|
+
filter: invert(1);
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
.ion-datetime-button-overlay ion-datetime.datetime-grid {
|
|
@@ -125,34 +125,39 @@ $color-default-placeholder: #afbacc;
|
|
|
125
125
|
--ion-color-medium-shade: #8b8b8b;
|
|
126
126
|
--ion-color-medium-tint: #a8a8a8;
|
|
127
127
|
|
|
128
|
-
@media (prefers-color-scheme: dark) {
|
|
129
|
-
--ion-color-texti: #8fc1ff;
|
|
130
|
-
--ion-color-texti-rgb: 143, 193, 255;
|
|
131
|
-
--ion-color-texti-contrast: #000000;
|
|
132
|
-
--ion-color-texti-contrast-rgb: 0, 0, 0;
|
|
133
|
-
--ion-color-texti-shade: #7eaae0;
|
|
134
|
-
--ion-color-texti-tint: #9ac7ff;
|
|
135
|
-
|
|
136
|
-
--ion-color-darki: #ffffff;
|
|
137
|
-
--ion-color-darki-rgb: 255, 255, 255;
|
|
138
|
-
--ion-color-darki-contrast: #000000;
|
|
139
|
-
--ion-color-darki-contrast-rgb: 0, 0, 0;
|
|
140
|
-
--ion-color-darki-shade: #e0e0e0;
|
|
141
|
-
--ion-color-darki-tint: #ffffff;
|
|
142
|
-
|
|
143
|
-
--ion-color-primary: #8f49f8;
|
|
144
|
-
--ion-color-primary-rgb: 143, 73, 248;
|
|
145
|
-
--ion-color-primary-contrast: #ffffff;
|
|
146
|
-
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
147
|
-
--ion-color-primary-shade: #7e40da;
|
|
148
|
-
--ion-color-primary-tint: #9a5bf9;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
128
|
--swiper-pagination-color: var(--ion-color-primary);
|
|
152
129
|
--swiper-navigation-color: var(--ion-color-primary);
|
|
153
130
|
--swiper-pagination-bullet-inactive-color: var(--ion-color-medium);
|
|
154
131
|
}
|
|
155
132
|
|
|
133
|
+
// Class-based dark mode (ThemeService toggle body.dark/html.ion-palette-dark).
|
|
134
|
+
// Reemplaza la regla `@media (prefers-color-scheme: dark)` previa que pisaba el
|
|
135
|
+
// manual toggle del user.
|
|
136
|
+
body.dark,
|
|
137
|
+
html.ion-palette-dark,
|
|
138
|
+
body[data-theme='dark'] {
|
|
139
|
+
--ion-color-texti: #8fc1ff;
|
|
140
|
+
--ion-color-texti-rgb: 143, 193, 255;
|
|
141
|
+
--ion-color-texti-contrast: #000000;
|
|
142
|
+
--ion-color-texti-contrast-rgb: 0, 0, 0;
|
|
143
|
+
--ion-color-texti-shade: #7eaae0;
|
|
144
|
+
--ion-color-texti-tint: #9ac7ff;
|
|
145
|
+
|
|
146
|
+
--ion-color-darki: #ffffff;
|
|
147
|
+
--ion-color-darki-rgb: 255, 255, 255;
|
|
148
|
+
--ion-color-darki-contrast: #000000;
|
|
149
|
+
--ion-color-darki-contrast-rgb: 0, 0, 0;
|
|
150
|
+
--ion-color-darki-shade: #e0e0e0;
|
|
151
|
+
--ion-color-darki-tint: #ffffff;
|
|
152
|
+
|
|
153
|
+
--ion-color-primary: #8f49f8;
|
|
154
|
+
--ion-color-primary-rgb: 143, 73, 248;
|
|
155
|
+
--ion-color-primary-contrast: #ffffff;
|
|
156
|
+
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
157
|
+
--ion-color-primary-shade: #7e40da;
|
|
158
|
+
--ion-color-primary-tint: #9a5bf9;
|
|
159
|
+
}
|
|
160
|
+
|
|
156
161
|
.ion-color-texti {
|
|
157
162
|
--ion-color-base: var(--ion-color-texti);
|
|
158
163
|
--ion-color-base-rgb: var(--ion-color-texti-rgb);
|