valtech-components 4.0.72 → 4.0.73
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/chip-group/chip-group.component.mjs +2 -4
- package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +2 -4
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +2 -4
- package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +2 -4
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +2 -4
- package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +2 -4
- package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +2 -4
- package/esm2022/lib/components/molecules/font-size-selector/font-size-selector.component.mjs +2 -4
- package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +2 -4
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +2 -4
- package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +2 -4
- package/esm2022/lib/components/molecules/rating/rating.component.mjs +2 -4
- package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +2 -4
- package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/account-view/account-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +3 -7
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +3 -7
- package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/auth-cta/auth-cta.component.mjs +2 -4
- package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +2 -4
- package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -7
- package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -7
- package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +2 -4
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/preferences-view/preferences-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/profile-view/profile-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.component.mjs +2 -4
- package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +2 -4
- package/esm2022/lib/components/organisms/settings-hub/settings-hub.component.mjs +3 -7
- package/esm2022/lib/components/organisms/share-profile-modal/share-profile-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.component.mjs +2 -4
- package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +3 -7
- package/esm2022/lib/services/i18n/i18n.service.mjs +21 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +66 -136
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +2 -2
- package/lib/components/molecules/cta-card/cta-card.component.d.ts +1 -1
- package/lib/components/molecules/metric-card/metric-card.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +5 -5
- package/lib/components/organisms/auth-cta/auth-cta.component.d.ts +1 -1
- package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
- package/lib/services/i18n/i18n.service.d.ts +7 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.73';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -1664,6 +1664,26 @@ class I18nService {
|
|
|
1664
1664
|
[namespace]: content,
|
|
1665
1665
|
}));
|
|
1666
1666
|
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Registra defaults para un namespace, mezclando solo las keys ausentes por idioma.
|
|
1669
|
+
* A diferencia de `registerContent`, no sobreescribe keys que el consumer ya registró.
|
|
1670
|
+
* Úsalo en componentes de la lib para que sus defaults funcionen incluso cuando el
|
|
1671
|
+
* consumer registró el namespace de forma parcial.
|
|
1672
|
+
*/
|
|
1673
|
+
registerDefaults(namespace, defaults) {
|
|
1674
|
+
this._content.update(store => {
|
|
1675
|
+
const existing = store[namespace];
|
|
1676
|
+
if (!existing)
|
|
1677
|
+
return { ...store, [namespace]: defaults };
|
|
1678
|
+
const merged = { ...existing };
|
|
1679
|
+
for (const lang of Object.keys(defaults)) {
|
|
1680
|
+
const defLang = defaults[lang] ?? {};
|
|
1681
|
+
const curLang = (existing[lang] ?? {});
|
|
1682
|
+
merged[lang] = { ...defLang, ...curLang };
|
|
1683
|
+
}
|
|
1684
|
+
return { ...store, [namespace]: merged };
|
|
1685
|
+
});
|
|
1686
|
+
}
|
|
1667
1687
|
/**
|
|
1668
1688
|
* Registra múltiples namespaces de una vez
|
|
1669
1689
|
*
|
|
@@ -16046,9 +16066,7 @@ class DateInputComponent {
|
|
|
16046
16066
|
*/
|
|
16047
16067
|
this.resolvedProps = {};
|
|
16048
16068
|
// Auto-registro de defaults i18n (anti key-faltante → anti storm de CD).
|
|
16049
|
-
|
|
16050
|
-
this.i18n.registerContent('DateInput', DATE_INPUT_I18N);
|
|
16051
|
-
}
|
|
16069
|
+
this.i18n.registerDefaults('DateInput', DATE_INPUT_I18N);
|
|
16052
16070
|
}
|
|
16053
16071
|
/** Done button text - from props or i18n default */
|
|
16054
16072
|
get doneText() {
|
|
@@ -17097,9 +17115,7 @@ class FontSizeSelectorComponent {
|
|
|
17097
17115
|
this.i18n = inject(I18nService);
|
|
17098
17116
|
this.popoverId = `font-size-selector-${Math.random().toString(36).slice(2, 8)}`;
|
|
17099
17117
|
this.currentSize = this.fontSizeService.size;
|
|
17100
|
-
|
|
17101
|
-
this.i18n.registerContent('FontSizeSelector', FONT_SIZE_SELECTOR_I18N);
|
|
17102
|
-
}
|
|
17118
|
+
this.i18n.registerDefaults('FontSizeSelector', FONT_SIZE_SELECTOR_I18N);
|
|
17103
17119
|
}
|
|
17104
17120
|
get options() {
|
|
17105
17121
|
return [
|
|
@@ -18036,9 +18052,7 @@ class PasswordInputComponent {
|
|
|
18036
18052
|
*/
|
|
18037
18053
|
this.resolvedProps = {};
|
|
18038
18054
|
this.hidePassword = true;
|
|
18039
|
-
|
|
18040
|
-
this.i18n.registerContent('PasswordInput', PASSWORD_INPUT_I18N);
|
|
18041
|
-
}
|
|
18055
|
+
this.i18n.registerDefaults('PasswordInput', PASSWORD_INPUT_I18N);
|
|
18042
18056
|
}
|
|
18043
18057
|
/** Aria-label del botón mostrar/ocultar según el estado de visibilidad. */
|
|
18044
18058
|
toggleLabel() {
|
|
@@ -20073,9 +20087,7 @@ class CommandDisplayComponent {
|
|
|
20073
20087
|
this.i18n = inject(I18nService);
|
|
20074
20088
|
/** Mensaje anunciado por el lector de pantalla al copiar. */
|
|
20075
20089
|
this.copiedMessage = '';
|
|
20076
|
-
|
|
20077
|
-
this.i18n.registerContent('CommandDisplay', COMMAND_DISPLAY_I18N);
|
|
20078
|
-
}
|
|
20090
|
+
this.i18n.registerDefaults('CommandDisplay', COMMAND_DISPLAY_I18N);
|
|
20079
20091
|
}
|
|
20080
20092
|
copyLabel() {
|
|
20081
20093
|
this.i18n.lang();
|
|
@@ -20665,9 +20677,7 @@ class PaginationComponent {
|
|
|
20665
20677
|
this.pageChange = new EventEmitter();
|
|
20666
20678
|
this.visiblePages = [];
|
|
20667
20679
|
this.totalPages = 1;
|
|
20668
|
-
|
|
20669
|
-
this.i18n.registerContent('Pagination', PAGINATION_I18N);
|
|
20670
|
-
}
|
|
20680
|
+
this.i18n.registerDefaults('Pagination', PAGINATION_I18N);
|
|
20671
20681
|
}
|
|
20672
20682
|
t(key) {
|
|
20673
20683
|
this.i18n.lang();
|
|
@@ -21197,9 +21207,7 @@ class ChipGroupComponent {
|
|
|
21197
21207
|
this.selectionChange = new EventEmitter();
|
|
21198
21208
|
this.chipRemove = new EventEmitter();
|
|
21199
21209
|
this.chipClick = new EventEmitter();
|
|
21200
|
-
|
|
21201
|
-
this.i18n.registerContent('ChipGroup', CHIP_GROUP_I18N);
|
|
21202
|
-
}
|
|
21210
|
+
this.i18n.registerDefaults('ChipGroup', CHIP_GROUP_I18N);
|
|
21203
21211
|
}
|
|
21204
21212
|
ngOnInit() {
|
|
21205
21213
|
this.resolveProps();
|
|
@@ -21395,9 +21403,7 @@ class RatingComponent {
|
|
|
21395
21403
|
this.resolvedProps = {};
|
|
21396
21404
|
this.ratingChange = new EventEmitter();
|
|
21397
21405
|
this.hoverValue = null;
|
|
21398
|
-
|
|
21399
|
-
this.i18n.registerContent('Rating', RATING_I18N);
|
|
21400
|
-
}
|
|
21406
|
+
this.i18n.registerDefaults('Rating', RATING_I18N);
|
|
21401
21407
|
}
|
|
21402
21408
|
ngOnInit() {
|
|
21403
21409
|
this.resolveProps();
|
|
@@ -22008,9 +22014,7 @@ class CommentComponent {
|
|
|
22008
22014
|
this.loadMoreClick = new EventEmitter();
|
|
22009
22015
|
this.collapseToggle = new EventEmitter();
|
|
22010
22016
|
this.displayContent = '';
|
|
22011
|
-
|
|
22012
|
-
this.i18n.registerContent('Comment', COMMENT_I18N);
|
|
22013
|
-
}
|
|
22017
|
+
this.i18n.registerDefaults('Comment', COMMENT_I18N);
|
|
22014
22018
|
}
|
|
22015
22019
|
ngOnInit() {
|
|
22016
22020
|
this.displayContent = this.props.content || this.props.contentFallback || '';
|
|
@@ -25953,9 +25957,7 @@ class FeaturesListComponent {
|
|
|
25953
25957
|
}
|
|
25954
25958
|
return color;
|
|
25955
25959
|
});
|
|
25956
|
-
|
|
25957
|
-
this.i18n.registerContent('FeaturesList', FEATURES_LIST_I18N);
|
|
25958
|
-
}
|
|
25960
|
+
this.i18n.registerDefaults('FeaturesList', FEATURES_LIST_I18N);
|
|
25959
25961
|
}
|
|
25960
25962
|
toggle() {
|
|
25961
25963
|
this._expanded.set(!this._expanded());
|
|
@@ -29237,9 +29239,7 @@ class PermissionSelectorComponent {
|
|
|
29237
29239
|
};
|
|
29238
29240
|
});
|
|
29239
29241
|
});
|
|
29240
|
-
|
|
29241
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$l, PERMISSION_SELECTOR_I18N);
|
|
29242
|
-
}
|
|
29242
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$l, PERMISSION_SELECTOR_I18N);
|
|
29243
29243
|
}
|
|
29244
29244
|
toggleAction(code) {
|
|
29245
29245
|
const sel = new Set(this.selected());
|
|
@@ -31896,9 +31896,7 @@ class DatePickerComponent {
|
|
|
31896
31896
|
this.sheetOpen = signal(false);
|
|
31897
31897
|
/** true cuando el calendario ya se construyó y es visible (fade-in). */
|
|
31898
31898
|
this.calReady = signal(false);
|
|
31899
|
-
|
|
31900
|
-
this.i18n.registerContent(I18N_NS$2, DATE_PICKER_I18N);
|
|
31901
|
-
}
|
|
31899
|
+
this.i18n.registerDefaults(I18N_NS$2, DATE_PICKER_I18N);
|
|
31902
31900
|
}
|
|
31903
31901
|
get triggerId() {
|
|
31904
31902
|
if (!this.props.token) {
|
|
@@ -34546,9 +34544,7 @@ class ShareProfileModalComponent {
|
|
|
34546
34544
|
}));
|
|
34547
34545
|
this.displayName = computed(() => this.config().title || this.config().name || this.t('title'));
|
|
34548
34546
|
this.caption = computed(() => this.config().caption || this.t('caption'));
|
|
34549
|
-
|
|
34550
|
-
this.i18n.registerContent('ShareProfileModal', SHARE_PROFILE_MODAL_I18N);
|
|
34551
|
-
}
|
|
34547
|
+
this.i18n.registerDefaults('ShareProfileModal', SHARE_PROFILE_MODAL_I18N);
|
|
34552
34548
|
}
|
|
34553
34549
|
t(key) {
|
|
34554
34550
|
this.i18n.lang();
|
|
@@ -44023,9 +44019,7 @@ class ProfileViewComponent {
|
|
|
44023
44019
|
// Auto-registro i18n — respeta override del consumer. El namespace puede
|
|
44024
44020
|
// venir de @Input.config o del route data; lo resolvemos acá.
|
|
44025
44021
|
const ns = this.ns;
|
|
44026
|
-
|
|
44027
|
-
this.i18n.registerContent(ns, PROFILE_VIEW_I18N);
|
|
44028
|
-
}
|
|
44022
|
+
this.i18n.registerDefaults(ns, PROFILE_VIEW_I18N);
|
|
44029
44023
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
44030
44024
|
connectPageRefresh(() => this.loadFromApi());
|
|
44031
44025
|
effect(onCleanup => {
|
|
@@ -44901,9 +44895,7 @@ class PreferencesViewComponent {
|
|
|
44901
44895
|
// Auto-registro i18n — respeta override del consumer. El namespace puede
|
|
44902
44896
|
// venir de @Input.config o del route data; lo resolvemos acá.
|
|
44903
44897
|
const ns = this.ns;
|
|
44904
|
-
|
|
44905
|
-
this.i18n.registerContent(ns, PREFERENCES_VIEW_I18N);
|
|
44906
|
-
}
|
|
44898
|
+
this.i18n.registerDefaults(ns, PREFERENCES_VIEW_I18N);
|
|
44907
44899
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
44908
44900
|
}
|
|
44909
44901
|
async onThemeChange(value) {
|
|
@@ -45439,13 +45431,9 @@ class SettingsHubComponent {
|
|
|
45439
45431
|
// Auto-registro i18n — respeta override del consumer. Los namespaces pueden
|
|
45440
45432
|
// venir de @Input.config o del route data; los resolvemos acá.
|
|
45441
45433
|
const labelsNs = this.labelsNs;
|
|
45442
|
-
|
|
45443
|
-
this.i18n.registerContent(labelsNs, SETTINGS_HUB_LABELS_I18N);
|
|
45444
|
-
}
|
|
45434
|
+
this.i18n.registerDefaults(labelsNs, SETTINGS_HUB_LABELS_I18N);
|
|
45445
45435
|
const pageNs = this.pageNs;
|
|
45446
|
-
|
|
45447
|
-
this.i18n.registerContent(pageNs, SETTINGS_HUB_PAGE_I18N);
|
|
45448
|
-
}
|
|
45436
|
+
this.i18n.registerDefaults(pageNs, SETTINGS_HUB_PAGE_I18N);
|
|
45449
45437
|
this.nav.setBackHeader('pageTitle', pageNs, { withMenu: true });
|
|
45450
45438
|
}
|
|
45451
45439
|
onActionClick(action) {
|
|
@@ -46689,9 +46677,7 @@ class SecurityViewComponent {
|
|
|
46689
46677
|
},
|
|
46690
46678
|
}));
|
|
46691
46679
|
const ns = this.ns;
|
|
46692
|
-
|
|
46693
|
-
this.i18n.registerContent(ns, SECURITY_VIEW_I18N);
|
|
46694
|
-
}
|
|
46680
|
+
this.i18n.registerDefaults(ns, SECURITY_VIEW_I18N);
|
|
46695
46681
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
46696
46682
|
// Carga inicial de sesiones - recarga reactiva a cambio de locale para
|
|
46697
46683
|
// que los textos y metadatos se mantengan frescos. Los devices solo se
|
|
@@ -47493,9 +47479,7 @@ class CreateOrgModalComponent {
|
|
|
47493
47479
|
this.dismissed = new EventEmitter();
|
|
47494
47480
|
this.created = new EventEmitter();
|
|
47495
47481
|
this._busy = signal(false);
|
|
47496
|
-
|
|
47497
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$h, CREATE_ORG_MODAL_I18N);
|
|
47498
|
-
}
|
|
47482
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$h, CREATE_ORG_MODAL_I18N);
|
|
47499
47483
|
this.formMeta = signal(this.buildFormMeta());
|
|
47500
47484
|
effect(() => {
|
|
47501
47485
|
this.i18n.lang();
|
|
@@ -47858,9 +47842,7 @@ class DeleteAccountModalComponent {
|
|
|
47858
47842
|
],
|
|
47859
47843
|
actions: this.submitBtn('delete-code-submit', 'confirmCta'),
|
|
47860
47844
|
}));
|
|
47861
|
-
|
|
47862
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$g, DELETE_ACCOUNT_MODAL_I18N);
|
|
47863
|
-
}
|
|
47845
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$g, DELETE_ACCOUNT_MODAL_I18N);
|
|
47864
47846
|
}
|
|
47865
47847
|
submitBtn(token, textKey) {
|
|
47866
47848
|
return {
|
|
@@ -48128,9 +48110,7 @@ class OrgInfoSheetComponent {
|
|
|
48128
48110
|
];
|
|
48129
48111
|
});
|
|
48130
48112
|
addIcons({ peopleOutline, swapHorizontalOutline, mailOutline, codeSlashOutline, shieldCheckmarkOutline, warningOutline });
|
|
48131
|
-
|
|
48132
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$f, ORG_INFO_SHEET_I18N);
|
|
48133
|
-
}
|
|
48113
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$f, ORG_INFO_SHEET_I18N);
|
|
48134
48114
|
}
|
|
48135
48115
|
dismiss() {
|
|
48136
48116
|
this._modalRef?.dismiss(null, 'cancel');
|
|
@@ -48347,9 +48327,7 @@ class SwitchOrgModalComponent {
|
|
|
48347
48327
|
return list;
|
|
48348
48328
|
return list.filter(o => o.name.toLowerCase().includes(q));
|
|
48349
48329
|
});
|
|
48350
|
-
|
|
48351
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$e, SWITCH_ORG_MODAL_I18N);
|
|
48352
|
-
}
|
|
48330
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$e, SWITCH_ORG_MODAL_I18N);
|
|
48353
48331
|
this.loadOrgs();
|
|
48354
48332
|
}
|
|
48355
48333
|
onQueryChange(value) {
|
|
@@ -48889,9 +48867,7 @@ class AccountViewComponent {
|
|
|
48889
48867
|
token: 'account-switch',
|
|
48890
48868
|
}));
|
|
48891
48869
|
const ns = this.ns;
|
|
48892
|
-
|
|
48893
|
-
this.i18n.registerContent(ns, ACCOUNT_VIEW_I18N);
|
|
48894
|
-
}
|
|
48870
|
+
this.i18n.registerDefaults(ns, ACCOUNT_VIEW_I18N);
|
|
48895
48871
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
48896
48872
|
this.loadOrgs();
|
|
48897
48873
|
this.loadPendingInvites();
|
|
@@ -49630,9 +49606,7 @@ class EditOrgModalComponent {
|
|
|
49630
49606
|
const name = this.org?.name ?? '';
|
|
49631
49607
|
return name.slice(0, 2).toUpperCase() || '?';
|
|
49632
49608
|
});
|
|
49633
|
-
|
|
49634
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$c, EDIT_ORG_MODAL_I18N);
|
|
49635
|
-
}
|
|
49609
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$c, EDIT_ORG_MODAL_I18N);
|
|
49636
49610
|
this.formMeta = signal(this.buildFormMeta());
|
|
49637
49611
|
effect(() => {
|
|
49638
49612
|
this.i18n.lang();
|
|
@@ -50032,9 +50006,7 @@ class InviteMemberModalComponent {
|
|
|
50032
50006
|
state: this.sending() ? ComponentStates.WORKING : ComponentStates.ENABLED,
|
|
50033
50007
|
}));
|
|
50034
50008
|
this.searchSubject = new Subject();
|
|
50035
|
-
|
|
50036
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$b, INVITE_MEMBER_MODAL_I18N);
|
|
50037
|
-
}
|
|
50009
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$b, INVITE_MEMBER_MODAL_I18N);
|
|
50038
50010
|
this.roleSub = this.roleControl.valueChanges.subscribe(v => {
|
|
50039
50011
|
if (v)
|
|
50040
50012
|
this.selectedRole.set(v);
|
|
@@ -50737,14 +50709,10 @@ class MemberDetailModalComponent {
|
|
|
50737
50709
|
type: 'button',
|
|
50738
50710
|
state: this.working() ? ComponentStates.WORKING : ComponentStates.ENABLED,
|
|
50739
50711
|
}));
|
|
50740
|
-
|
|
50741
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$a, MEMBER_DETAIL_MODAL_I18N);
|
|
50742
|
-
}
|
|
50712
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$a, MEMBER_DETAIL_MODAL_I18N);
|
|
50743
50713
|
}
|
|
50744
50714
|
ngOnInit() {
|
|
50745
|
-
|
|
50746
|
-
this.i18n.registerContent(this.i18nNamespace, MEMBER_DETAIL_MODAL_I18N);
|
|
50747
|
-
}
|
|
50715
|
+
this.i18n.registerDefaults(this.i18nNamespace, MEMBER_DETAIL_MODAL_I18N);
|
|
50748
50716
|
const roleName = this.member?.roles?.[0] ?? '';
|
|
50749
50717
|
// Resolve the role name to its UUID -- the select uses r.id (UUID) as value
|
|
50750
50718
|
const matched = this.availableRoles.find(r => r.name === roleName);
|
|
@@ -51227,9 +51195,7 @@ class PermissionsViewComponent {
|
|
|
51227
51195
|
state: this.loading() ? ComponentStates.DISABLED : ComponentStates.ENABLED,
|
|
51228
51196
|
}));
|
|
51229
51197
|
const ns = this.ns;
|
|
51230
|
-
|
|
51231
|
-
this.i18n.registerContent(ns, PERMISSIONS_VIEW_I18N);
|
|
51232
|
-
}
|
|
51198
|
+
this.i18n.registerDefaults(ns, PERMISSIONS_VIEW_I18N);
|
|
51233
51199
|
this.load();
|
|
51234
51200
|
connectPageRefresh(() => this.load());
|
|
51235
51201
|
}
|
|
@@ -51796,14 +51762,10 @@ class TransferOwnershipModalComponent {
|
|
|
51796
51762
|
return this.members.filter(m => m.name?.toLowerCase().includes(q) || m.email?.toLowerCase().includes(q) || m.userId.toLowerCase().includes(q));
|
|
51797
51763
|
});
|
|
51798
51764
|
this.noResultsLabel = computed(() => `${this.t('noResults')} "${this.query()}"`);
|
|
51799
|
-
|
|
51800
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$8, TRANSFER_OWNERSHIP_MODAL_I18N);
|
|
51801
|
-
}
|
|
51765
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$8, TRANSFER_OWNERSHIP_MODAL_I18N);
|
|
51802
51766
|
}
|
|
51803
51767
|
ngOnInit() {
|
|
51804
|
-
|
|
51805
|
-
this.i18n.registerContent(this.i18nNamespace, TRANSFER_OWNERSHIP_MODAL_I18N);
|
|
51806
|
-
}
|
|
51768
|
+
this.i18n.registerDefaults(this.i18nNamespace, TRANSFER_OWNERSHIP_MODAL_I18N);
|
|
51807
51769
|
}
|
|
51808
51770
|
confirm() {
|
|
51809
51771
|
const id = this.selectedId();
|
|
@@ -52135,14 +52097,10 @@ class MemberImportModalComponent {
|
|
|
52135
52097
|
return this.t('summary');
|
|
52136
52098
|
return `${this.t('summary')}: ${s.created} ${this.t('created')} · ${s.assigned} ${this.t('assigned')} · ${s.skipped} ${this.t('skipped')} · ${s.failed} ${this.t('failed')}`;
|
|
52137
52099
|
});
|
|
52138
|
-
|
|
52139
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$7, MEMBER_IMPORT_MODAL_I18N);
|
|
52140
|
-
}
|
|
52100
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$7, MEMBER_IMPORT_MODAL_I18N);
|
|
52141
52101
|
}
|
|
52142
52102
|
ngOnInit() {
|
|
52143
|
-
|
|
52144
|
-
this.i18n.registerContent(this.i18nNamespace, MEMBER_IMPORT_MODAL_I18N);
|
|
52145
|
-
}
|
|
52103
|
+
this.i18n.registerDefaults(this.i18nNamespace, MEMBER_IMPORT_MODAL_I18N);
|
|
52146
52104
|
}
|
|
52147
52105
|
/** Carga un archivo CSV seleccionado: lee su texto al textarea (`csv`). */
|
|
52148
52106
|
onFileSelected(event) {
|
|
@@ -52996,9 +52954,7 @@ class OrganizationViewComponent {
|
|
|
52996
52954
|
/** Guarda para detectar el primer disparo del effect (evita doble carga). */
|
|
52997
52955
|
this.lastLoadedOrgId = null;
|
|
52998
52956
|
const ns = this.ns;
|
|
52999
|
-
|
|
53000
|
-
this.i18n.registerContent(ns, ORGANIZATION_VIEW_I18N);
|
|
53001
|
-
}
|
|
52957
|
+
this.i18n.registerDefaults(ns, ORGANIZATION_VIEW_I18N);
|
|
53002
52958
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
53003
52959
|
// Auto-reload en org-switch: reacciona a activeOrgId() y recarga org + miembros
|
|
53004
52960
|
// cuando el usuario cambia de organización activa mientras la vista está
|
|
@@ -54332,9 +54288,7 @@ class NotificationPreferencesViewComponent {
|
|
|
54332
54288
|
return `${t.slice(0, 22)}…${t.slice(-6)}`;
|
|
54333
54289
|
});
|
|
54334
54290
|
const ns = this.ns;
|
|
54335
|
-
|
|
54336
|
-
this.i18n.registerContent(ns, NOTIFICATION_PREFERENCES_VIEW_I18N);
|
|
54337
|
-
}
|
|
54291
|
+
this.i18n.registerDefaults(ns, NOTIFICATION_PREFERENCES_VIEW_I18N);
|
|
54338
54292
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
54339
54293
|
void this.refreshBrowserState();
|
|
54340
54294
|
// Re-aplicar header en cambio de idioma.
|
|
@@ -55042,14 +54996,10 @@ class ApiKeyCreateModalComponent {
|
|
|
55042
54996
|
actions: submitButton,
|
|
55043
54997
|
};
|
|
55044
54998
|
});
|
|
55045
|
-
|
|
55046
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE$4, API_KEYS_MODAL_I18N);
|
|
55047
|
-
}
|
|
54999
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE$4, API_KEYS_MODAL_I18N);
|
|
55048
55000
|
}
|
|
55049
55001
|
ngOnInit() {
|
|
55050
|
-
|
|
55051
|
-
this.i18n.registerContent(this.i18nNamespace, API_KEYS_MODAL_I18N);
|
|
55052
|
-
}
|
|
55002
|
+
this.i18n.registerDefaults(this.i18nNamespace, API_KEYS_MODAL_I18N);
|
|
55053
55003
|
this.loadCatalog();
|
|
55054
55004
|
}
|
|
55055
55005
|
/**
|
|
@@ -55365,9 +55315,7 @@ class ApiKeysViewComponent {
|
|
|
55365
55315
|
this.i18n.lang();
|
|
55366
55316
|
return { variant: 'empty', title: this.tt('empty'), description: this.tt('emptyHint') };
|
|
55367
55317
|
});
|
|
55368
|
-
|
|
55369
|
-
this.i18n.registerContent(this.ns, API_KEYS_VIEW_I18N);
|
|
55370
|
-
}
|
|
55318
|
+
this.i18n.registerDefaults(this.ns, API_KEYS_VIEW_I18N);
|
|
55371
55319
|
this.nav.setBackHeader('pageTitle', this.ns, { withMenu: true });
|
|
55372
55320
|
this.load();
|
|
55373
55321
|
connectPageRefresh(() => this.load());
|
|
@@ -56116,9 +56064,7 @@ class NotificationsViewComponent {
|
|
|
56116
56064
|
state: this._loadingMore() ? ComponentStates.WORKING : ComponentStates.ENABLED,
|
|
56117
56065
|
}));
|
|
56118
56066
|
const ns = this.ns;
|
|
56119
|
-
|
|
56120
|
-
this.i18n.registerContent(ns, NOTIFICATIONS_VIEW_I18N);
|
|
56121
|
-
}
|
|
56067
|
+
this.i18n.registerDefaults(ns, NOTIFICATIONS_VIEW_I18N);
|
|
56122
56068
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
56123
56069
|
// Re-aplicar header en cambio de idioma.
|
|
56124
56070
|
effect(() => {
|
|
@@ -56738,9 +56684,7 @@ class ContentReactionComponent {
|
|
|
56738
56684
|
// Auto-registro de defaults i18n (es/en) si el consumer no proveyó el
|
|
56739
56685
|
// namespace. Garantiza que `t()` nunca caiga en key faltante. Ver
|
|
56740
56686
|
// CONTENT_REACTION_I18N. Idempotente: solo la 1ª instancia registra.
|
|
56741
|
-
|
|
56742
|
-
this.i18n.registerContent('ContentReaction', CONTENT_REACTION_I18N);
|
|
56743
|
-
}
|
|
56687
|
+
this.i18n.registerDefaults('ContentReaction', CONTENT_REACTION_I18N);
|
|
56744
56688
|
}
|
|
56745
56689
|
/** Cierra el modal/sheet contenedor (si el componente se abrió vía ModalService). */
|
|
56746
56690
|
close() {
|
|
@@ -57080,9 +57024,7 @@ class AboutViewComponent {
|
|
|
57080
57024
|
};
|
|
57081
57025
|
});
|
|
57082
57026
|
const ns = this.ns;
|
|
57083
|
-
|
|
57084
|
-
this.i18n.registerContent(ns, ABOUT_VIEW_I18N);
|
|
57085
|
-
}
|
|
57027
|
+
this.i18n.registerDefaults(ns, ABOUT_VIEW_I18N);
|
|
57086
57028
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
57087
57029
|
}
|
|
57088
57030
|
/** Helper i18n bound al namespace resuelto. Reactivo vía `lang()`. */
|
|
@@ -57544,9 +57486,7 @@ class FieldListComponent {
|
|
|
57544
57486
|
const max = this.props.max;
|
|
57545
57487
|
return max == null || this.rowsSig().length < max;
|
|
57546
57488
|
});
|
|
57547
|
-
|
|
57548
|
-
this.i18n.registerContent(I18N_NS$1, FIELD_LIST_I18N);
|
|
57549
|
-
}
|
|
57489
|
+
this.i18n.registerDefaults(I18N_NS$1, FIELD_LIST_I18N);
|
|
57550
57490
|
}
|
|
57551
57491
|
ngOnChanges(changes) {
|
|
57552
57492
|
// Re-siembra solo si cambió la referencia de items entrante (evita pisar lo
|
|
@@ -57793,14 +57733,10 @@ class ApiKeysModalComponent {
|
|
|
57793
57733
|
actions: submitButton,
|
|
57794
57734
|
};
|
|
57795
57735
|
});
|
|
57796
|
-
|
|
57797
|
-
this.i18n.registerContent(DEFAULT_NAMESPACE, API_KEYS_MODAL_I18N);
|
|
57798
|
-
}
|
|
57736
|
+
this.i18n.registerDefaults(DEFAULT_NAMESPACE, API_KEYS_MODAL_I18N);
|
|
57799
57737
|
}
|
|
57800
57738
|
ngOnInit() {
|
|
57801
|
-
|
|
57802
|
-
this.i18n.registerContent(this.i18nNamespace, API_KEYS_MODAL_I18N);
|
|
57803
|
-
}
|
|
57739
|
+
this.i18n.registerDefaults(this.i18nNamespace, API_KEYS_MODAL_I18N);
|
|
57804
57740
|
this.refresh();
|
|
57805
57741
|
this.loadCatalog();
|
|
57806
57742
|
}
|
|
@@ -67988,9 +67924,7 @@ class AuthCtaComponent {
|
|
|
67988
67924
|
return undefined;
|
|
67989
67925
|
return IONIC_COLORS.includes(bg) ? `var(--ion-color-${bg})` : bg;
|
|
67990
67926
|
});
|
|
67991
|
-
|
|
67992
|
-
this.i18n.registerContent('AuthCta', AUTH_CTA_I18N);
|
|
67993
|
-
}
|
|
67927
|
+
this.i18n.registerDefaults('AuthCta', AUTH_CTA_I18N);
|
|
67994
67928
|
}
|
|
67995
67929
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthCtaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67996
67930
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AuthCtaComponent, isStandalone: true, selector: "val-auth-cta", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onLogin: "onLogin", onRegister: "onRegister" }, ngImport: i0, template: `
|
|
@@ -68201,9 +68135,7 @@ class TicketCardComponent {
|
|
|
68201
68135
|
}
|
|
68202
68136
|
return '';
|
|
68203
68137
|
});
|
|
68204
|
-
|
|
68205
|
-
this.i18n.registerContent('TicketCard', TICKET_CARD_I18N);
|
|
68206
|
-
}
|
|
68138
|
+
this.i18n.registerDefaults('TicketCard', TICKET_CARD_I18N);
|
|
68207
68139
|
// Regenera el QR cuando cambia el token o el tamaño.
|
|
68208
68140
|
effect(() => {
|
|
68209
68141
|
const token = this.props().qrToken;
|
|
@@ -68391,9 +68323,7 @@ class QrScannerComponent {
|
|
|
68391
68323
|
this.lastValue = '';
|
|
68392
68324
|
this.lastAt = 0;
|
|
68393
68325
|
this.viewReady = false;
|
|
68394
|
-
|
|
68395
|
-
this.i18n.registerContent('QrScanner', QR_SCANNER_I18N);
|
|
68396
|
-
}
|
|
68326
|
+
this.i18n.registerDefaults('QrScanner', QR_SCANNER_I18N);
|
|
68397
68327
|
}
|
|
68398
68328
|
ngAfterViewInit() {
|
|
68399
68329
|
this.viewReady = true;
|