@nucleus-suite-pe/core 2.1.0 → 2.3.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nucleus-suite-pe/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Capa compartida de la suite Nucleus: sesión única, permisos, tema y marco de aplicación para Angular.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"@angular/router": "^21.2.0",
|
|
28
28
|
"@angular/forms": "^21.2.0",
|
|
29
29
|
"primeicons": "^8.0.0",
|
|
30
|
-
"chart.js": "^4.4.0"
|
|
30
|
+
"chart.js": "^4.4.0",
|
|
31
|
+
"@angular/cdk": "^21.2.0"
|
|
31
32
|
},
|
|
32
33
|
"dependencies": {
|
|
33
34
|
"tslib": "^2.3.0"
|
package/styles/tokens.css
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap');
|
|
2
|
+
|
|
1
3
|
:root {
|
|
2
4
|
--ac-bg: #050508;
|
|
3
5
|
--ac-surface: #0d0d15;
|
|
@@ -8,14 +10,18 @@
|
|
|
8
10
|
--ac-accent: #7c6cf5;
|
|
9
11
|
--ac-on-accent: #ffffff;
|
|
10
12
|
|
|
11
|
-
--ns-frame-bg: #
|
|
12
|
-
--ns-frame-raised: #
|
|
13
|
+
--ns-frame-bg: #1f1646;
|
|
14
|
+
--ns-frame-raised: #2c2160;
|
|
13
15
|
--ns-frame-ink: #ece9fb;
|
|
14
|
-
--ns-frame-muted: #
|
|
15
|
-
--ns-frame-line: #
|
|
16
|
-
--ns-frame-glow: #
|
|
16
|
+
--ns-frame-muted: #9690af;
|
|
17
|
+
--ns-frame-line: #403863;
|
|
18
|
+
--ns-frame-glow: #a78bfa;
|
|
17
19
|
--ns-frame-on-glow: #101014;
|
|
18
20
|
|
|
21
|
+
--ns-success: #5bd98a;
|
|
22
|
+
--ns-danger: #f87171;
|
|
23
|
+
--ns-warning: #e0a33a;
|
|
24
|
+
|
|
19
25
|
--ns-shadow-1: 0 1px 2px rgb(0 0 0 / 28%);
|
|
20
26
|
--ns-shadow-2: 0 10px 34px rgb(0 0 0 / 45%);
|
|
21
27
|
--ns-accent-wash: #1d1a2b;
|
|
@@ -33,7 +39,10 @@
|
|
|
33
39
|
--ns-form-gap-y: calc(18px * var(--ns-density));
|
|
34
40
|
--ns-control-y: calc(0.55rem * var(--ns-density));
|
|
35
41
|
|
|
36
|
-
--ac-font: '
|
|
42
|
+
--ac-font: 'Figtree', 'Segoe UI', system-ui, sans-serif;
|
|
43
|
+
--ns-weight-text: 400;
|
|
44
|
+
--ns-weight-emphasis: 500;
|
|
45
|
+
--ns-weight-heading: 600;
|
|
37
46
|
--ac-radius-pill: 999px;
|
|
38
47
|
--ac-radius-box: 4px;
|
|
39
48
|
}
|
|
@@ -193,7 +202,7 @@ input {
|
|
|
193
202
|
background: var(--ns-header-bg);
|
|
194
203
|
color: var(--ns-header-ink);
|
|
195
204
|
font-size: 11px;
|
|
196
|
-
font-weight:
|
|
205
|
+
font-weight: var(--ns-weight-heading);
|
|
197
206
|
letter-spacing: 0.07em;
|
|
198
207
|
text-transform: uppercase;
|
|
199
208
|
}
|
|
@@ -249,7 +258,7 @@ input {
|
|
|
249
258
|
.ns-crumbs .p-breadcrumb-item:last-child .p-breadcrumb-item-label {
|
|
250
259
|
color: var(--ac-text);
|
|
251
260
|
font-size: 15px;
|
|
252
|
-
font-weight:
|
|
261
|
+
font-weight: var(--ns-weight-emphasis);
|
|
253
262
|
}
|
|
254
263
|
|
|
255
264
|
.ns-crumbs .p-breadcrumb-separator {
|
|
@@ -461,3 +470,84 @@ nucleus-metric .value,
|
|
|
461
470
|
nucleus-chart {
|
|
462
471
|
font-variant-numeric: tabular-nums;
|
|
463
472
|
}
|
|
473
|
+
|
|
474
|
+
:root .p-tag {
|
|
475
|
+
--ns-status: color-mix(in srgb, var(--ac-text) 58%, transparent);
|
|
476
|
+
|
|
477
|
+
display: inline-flex;
|
|
478
|
+
align-items: center;
|
|
479
|
+
gap: 7px;
|
|
480
|
+
padding: 3px 11px 3px 9px;
|
|
481
|
+
border: 1px solid color-mix(in srgb, var(--ns-status) 38%, transparent);
|
|
482
|
+
border-radius: var(--ac-radius-pill);
|
|
483
|
+
background: color-mix(in srgb, var(--ns-status) 13%, transparent);
|
|
484
|
+
color: var(--ns-status);
|
|
485
|
+
font-size: 12px;
|
|
486
|
+
font-weight: var(--ns-weight-emphasis);
|
|
487
|
+
line-height: 1.5;
|
|
488
|
+
white-space: nowrap;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
:root .p-tag::before {
|
|
492
|
+
width: 6px;
|
|
493
|
+
height: 6px;
|
|
494
|
+
flex: none;
|
|
495
|
+
border-radius: 50%;
|
|
496
|
+
background: var(--ns-status);
|
|
497
|
+
content: '';
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
:root .p-tag-success {
|
|
501
|
+
--ns-status: var(--ns-success);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
:root .p-tag-danger {
|
|
505
|
+
--ns-status: var(--ns-danger);
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
:root .p-tag-warn {
|
|
509
|
+
--ns-status: var(--ns-warning);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
:root .p-tag-info {
|
|
513
|
+
--ns-status: var(--ac-accent);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
.cdk-drag-preview {
|
|
517
|
+
border: 1px solid var(--ac-accent);
|
|
518
|
+
border-radius: 12px;
|
|
519
|
+
background: var(--ac-surface);
|
|
520
|
+
box-shadow: var(--ns-shadow-2);
|
|
521
|
+
opacity: 0.96;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.cdk-drag-preview .grip {
|
|
525
|
+
color: var(--ac-accent);
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
:root .card-actions .p-button-text.p-button-secondary,
|
|
529
|
+
:root .actions .p-button-text.p-button-secondary {
|
|
530
|
+
color: var(--ac-text-muted);
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
:root .card-actions .p-button-text.p-button-secondary:not(:disabled):hover,
|
|
534
|
+
:root .actions .p-button-text.p-button-secondary:not(:disabled):hover {
|
|
535
|
+
background: color-mix(in srgb, var(--ac-text) 10%, transparent);
|
|
536
|
+
color: var(--ac-text);
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
:root .card-actions .p-button-text.p-button-danger,
|
|
540
|
+
:root .actions .p-button-text.p-button-danger {
|
|
541
|
+
color: var(--ns-danger);
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
:root .card-actions .p-button-text.p-button-danger:not(:disabled):hover,
|
|
545
|
+
:root .actions .p-button-text.p-button-danger:not(:disabled):hover {
|
|
546
|
+
background: color-mix(in srgb, var(--ns-danger) 14%, transparent);
|
|
547
|
+
color: var(--ns-danger);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
:root .card-actions .p-button:disabled,
|
|
551
|
+
:root .actions .p-button:disabled {
|
|
552
|
+
opacity: 0.38;
|
|
553
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, Signal, TemplateRef, OnDestroy, ElementRef } from '@angular/core';
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, Signal, PipeTransform, TemplateRef, OnDestroy, ElementRef } from '@angular/core';
|
|
3
3
|
import { HttpContextToken, HttpInterceptorFn } from '@angular/common/http';
|
|
4
4
|
import { CanActivateFn } from '@angular/router';
|
|
5
5
|
import * as _nucleus_suite_pe_core from '@nucleus-suite-pe/core';
|
|
6
6
|
import * as _primeuix_themes from '@primeuix/themes';
|
|
7
7
|
import * as _primeuix_themes_types_base from '@primeuix/themes/types/base';
|
|
8
8
|
import { Popover } from 'primeng/popover';
|
|
9
|
+
import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
9
10
|
import { MenuItem } from 'primeng/api';
|
|
10
11
|
|
|
11
12
|
interface NucleusConfig {
|
|
@@ -132,6 +133,7 @@ interface CompanySummary {
|
|
|
132
133
|
readonly countryName: string | null;
|
|
133
134
|
readonly logoPath: string | null;
|
|
134
135
|
readonly status: number;
|
|
136
|
+
readonly isActive: boolean;
|
|
135
137
|
readonly isOwner: boolean;
|
|
136
138
|
readonly ownerUserId: string;
|
|
137
139
|
readonly siteCount: number;
|
|
@@ -308,6 +310,10 @@ interface CommonCopy {
|
|
|
308
310
|
readonly noColor: string;
|
|
309
311
|
readonly searchIcon: string;
|
|
310
312
|
readonly noMatches: string;
|
|
313
|
+
readonly reorderHandle: string;
|
|
314
|
+
readonly noResults: string;
|
|
315
|
+
readonly viewGrid: string;
|
|
316
|
+
readonly viewRows: string;
|
|
311
317
|
readonly sessionExpired: string;
|
|
312
318
|
readonly errorNetwork: string;
|
|
313
319
|
readonly errorTimeout: string;
|
|
@@ -344,6 +350,25 @@ declare function isOnOrBeforeToday(value: string | null | undefined): boolean;
|
|
|
344
350
|
declare function startOfDayUtc(value: string): string;
|
|
345
351
|
declare function endOfDayUtc(value: string): string;
|
|
346
352
|
|
|
353
|
+
declare function compactNumber(value: number): string;
|
|
354
|
+
declare function compactBytes(value: number): string;
|
|
355
|
+
declare function compactMegabytes(value: number): string;
|
|
356
|
+
declare class NucleusCompact implements PipeTransform {
|
|
357
|
+
transform(value: number | string | null | undefined, fallback?: string): string;
|
|
358
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusCompact, never>;
|
|
359
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NucleusCompact, "nucleusCompact", true>;
|
|
360
|
+
}
|
|
361
|
+
declare class NucleusBytes implements PipeTransform {
|
|
362
|
+
transform(value: number | string | null | undefined, fallback?: string): string;
|
|
363
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusBytes, never>;
|
|
364
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NucleusBytes, "nucleusBytes", true>;
|
|
365
|
+
}
|
|
366
|
+
declare class NucleusMegabytes implements PipeTransform {
|
|
367
|
+
transform(value: number | string | null | undefined, fallback?: string): string;
|
|
368
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusMegabytes, never>;
|
|
369
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NucleusMegabytes, "nucleusMegabytes", true>;
|
|
370
|
+
}
|
|
371
|
+
|
|
347
372
|
declare const FIELD_TARGETS: string;
|
|
348
373
|
declare function isReachable(element: HTMLElement): boolean;
|
|
349
374
|
declare function fieldsIn(root: HTMLElement): HTMLElement[];
|
|
@@ -498,10 +523,10 @@ declare function mixHex(foreground: string, background: string, ratio: number):
|
|
|
498
523
|
declare function meetsContrast(foreground: string, background: string, required: number): boolean;
|
|
499
524
|
declare function contrastIssue(scope: string, pair: string, foreground: string, background: string, required: number): ContrastIssue | null;
|
|
500
525
|
|
|
501
|
-
type FrameId = 'nucleus' | 'ember' | 'forest' | 'plum' | 'midnight' | 'slate' | 'ocean' | 'sand' | 'ink' | 'graphite' | 'paper' | 'mist';
|
|
502
|
-
type CanvasId = 'light' | 'dim' | 'dark';
|
|
526
|
+
type FrameId = 'nucleus' | 'ember' | 'forest' | 'plum' | 'midnight' | 'slate' | 'ocean' | 'sand' | 'ink' | 'graphite' | 'paper' | 'mist' | 'studio' | 'sage' | 'sky' | 'lavender';
|
|
527
|
+
type CanvasId = 'light' | 'soft' | 'dim' | 'dark';
|
|
503
528
|
type CanvasPreference = CanvasId | 'system';
|
|
504
|
-
type AccentId = 'violet' | 'blue' | 'cyan' | 'green' | 'lime' | 'amber' | 'orange' | 'rose' | 'red';
|
|
529
|
+
type AccentId = 'violet' | 'blue' | 'cyan' | 'green' | 'lime' | 'amber' | 'orange' | 'rose' | 'red' | 'indigo' | 'teal' | 'plum' | 'slate' | 'graphite';
|
|
505
530
|
type AccentPreference = AccentId | 'auto';
|
|
506
531
|
type DensityId = 'comfortable' | 'compact';
|
|
507
532
|
interface FrameTokens {
|
|
@@ -679,10 +704,12 @@ declare class NucleusMetric {
|
|
|
679
704
|
readonly hint: _angular_core.InputSignal<string>;
|
|
680
705
|
readonly link: _angular_core.InputSignal<string | unknown[]>;
|
|
681
706
|
readonly tone: _angular_core.InputSignal<MetricTone>;
|
|
707
|
+
readonly progress: _angular_core.InputSignal<number | null>;
|
|
708
|
+
protected readonly bar: _angular_core.Signal<number | null>;
|
|
682
709
|
readonly loading: _angular_core.InputSignal<boolean | null>;
|
|
683
710
|
protected readonly busy: _angular_core.Signal<boolean>;
|
|
684
711
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusMetric, never>;
|
|
685
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusMetric, "nucleus-metric", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
712
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusMetric, "nucleus-metric", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
686
713
|
}
|
|
687
714
|
|
|
688
715
|
interface TabItem {
|
|
@@ -837,8 +864,23 @@ declare class NucleusForm {
|
|
|
837
864
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusForm, "nucleus-form", never, { "fields": { "alias": "fields"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, [{ directive: typeof NucleusEnterAdvance; inputs: {}; outputs: {}; }]>;
|
|
838
865
|
}
|
|
839
866
|
|
|
867
|
+
interface NucleusLinkTarget {
|
|
868
|
+
readonly route: readonly unknown[];
|
|
869
|
+
readonly queryParams?: Record<string, unknown>;
|
|
870
|
+
}
|
|
871
|
+
declare class NucleusLink {
|
|
872
|
+
readonly route: _angular_core.InputSignal<readonly unknown[] | null>;
|
|
873
|
+
readonly queryParams: _angular_core.InputSignal<Record<string, unknown> | null>;
|
|
874
|
+
readonly href: _angular_core.InputSignal<string | null>;
|
|
875
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
876
|
+
readonly muted: _angular_core.InputSignal<boolean>;
|
|
877
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusLink, never>;
|
|
878
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusLink, "nucleus-link", never, { "route": { "alias": "route"; "required": false; "isSignal": true; }; "queryParams": { "alias": "queryParams"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "muted": { "alias": "muted"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
879
|
+
}
|
|
880
|
+
|
|
840
881
|
type ListAlign = 'left' | 'center' | 'right';
|
|
841
882
|
type ListColumnKind = 'text' | 'switch';
|
|
883
|
+
type ListColumnRole = 'identity' | 'status' | 'attribute' | 'hidden';
|
|
842
884
|
interface ListTag {
|
|
843
885
|
readonly label: string;
|
|
844
886
|
readonly severity?: 'success' | 'info' | 'warn' | 'danger' | 'secondary';
|
|
@@ -847,6 +889,7 @@ interface ListColumn<T = Record<string, unknown>> {
|
|
|
847
889
|
readonly key: string;
|
|
848
890
|
readonly header: string;
|
|
849
891
|
readonly kind?: ListColumnKind;
|
|
892
|
+
readonly role?: ListColumnRole;
|
|
850
893
|
readonly align?: ListAlign;
|
|
851
894
|
readonly strong?: boolean;
|
|
852
895
|
readonly width?: string;
|
|
@@ -855,6 +898,7 @@ interface ListColumn<T = Record<string, unknown>> {
|
|
|
855
898
|
readonly checked?: (row: T) => boolean;
|
|
856
899
|
readonly disabled?: (row: T) => boolean;
|
|
857
900
|
readonly hint?: (row: T) => string;
|
|
901
|
+
readonly link?: (row: T) => NucleusLinkTarget | null;
|
|
858
902
|
}
|
|
859
903
|
interface ListAction<T = Record<string, unknown>> {
|
|
860
904
|
readonly id: string;
|
|
@@ -892,9 +936,48 @@ declare class NucleusList<T extends object = Record<string, unknown>> {
|
|
|
892
936
|
readonly rowClass: _angular_core.InputSignal<(row: T) => string>;
|
|
893
937
|
readonly pageSize: _angular_core.InputSignal<number>;
|
|
894
938
|
readonly pageSizes: _angular_core.InputSignal<number[]>;
|
|
939
|
+
readonly cards: _angular_core.InputSignal<boolean>;
|
|
940
|
+
readonly reorderable: _angular_core.InputSignal<boolean>;
|
|
941
|
+
readonly searchable: _angular_core.InputSignal<boolean>;
|
|
942
|
+
readonly reorderGroup: _angular_core.InputSignal<((row: T) => string | null) | null>;
|
|
895
943
|
readonly action: _angular_core.OutputEmitterRef<ListActionEvent<T>>;
|
|
944
|
+
readonly reorder: _angular_core.OutputEmitterRef<T[]>;
|
|
945
|
+
readonly dragStart: _angular_core.OutputEmitterRef<T>;
|
|
896
946
|
readonly toggle: _angular_core.OutputEmitterRef<ListToggleEvent<T>>;
|
|
897
947
|
private readonly cells;
|
|
948
|
+
private readonly language;
|
|
949
|
+
private readonly viewport;
|
|
950
|
+
protected readonly copy: _angular_core.Signal<_nucleus_suite_pe_core.CommonCopy>;
|
|
951
|
+
protected readonly term: _angular_core.WritableSignal<string>;
|
|
952
|
+
private readonly chosenView;
|
|
953
|
+
protected readonly canChooseView: _angular_core.Signal<boolean>;
|
|
954
|
+
protected readonly view: _angular_core.Signal<"grid" | "rows">;
|
|
955
|
+
protected chooseView(value: 'grid' | 'rows'): void;
|
|
956
|
+
protected readonly filtered: _angular_core.Signal<T[]>;
|
|
957
|
+
protected readonly dragLocked: _angular_core.Signal<boolean>;
|
|
958
|
+
protected readonly showNoResults: _angular_core.Signal<boolean>;
|
|
959
|
+
protected onSearch(event: Event): void;
|
|
960
|
+
private readonly firstRow;
|
|
961
|
+
private readonly rowsOverride;
|
|
962
|
+
protected readonly compact: _angular_core.Signal<boolean>;
|
|
963
|
+
protected readonly rowsPerPage: _angular_core.Signal<number>;
|
|
964
|
+
protected readonly identityColumn: _angular_core.Signal<ListColumn<T> | null>;
|
|
965
|
+
protected readonly statusColumn: _angular_core.Signal<ListColumn<T> | null>;
|
|
966
|
+
protected readonly attributeColumns: _angular_core.Signal<readonly ListColumn<T>[]>;
|
|
967
|
+
protected readonly pagedRows: _angular_core.Signal<T[]>;
|
|
968
|
+
private readonly resetPage;
|
|
969
|
+
protected readonly page: _angular_core.Signal<number>;
|
|
970
|
+
protected readonly sortAllowed: (index: number, drag: CdkDrag<T>) => boolean;
|
|
971
|
+
protected onRowReorder(event: {
|
|
972
|
+
dragIndex?: number;
|
|
973
|
+
dropIndex?: number;
|
|
974
|
+
}): void;
|
|
975
|
+
protected onCardDrop(event: CdkDragDrop<unknown>): void;
|
|
976
|
+
private applyMove;
|
|
977
|
+
protected onPage(event: {
|
|
978
|
+
first?: number;
|
|
979
|
+
rows?: number;
|
|
980
|
+
}): void;
|
|
898
981
|
protected readonly paginate: _angular_core.Signal<boolean>;
|
|
899
982
|
protected readonly tableStyle: _angular_core.Signal<{
|
|
900
983
|
'min-width': string;
|
|
@@ -905,6 +988,7 @@ declare class NucleusList<T extends object = Record<string, unknown>> {
|
|
|
905
988
|
protected skeletonWidth(column: ListColumn<T>): string;
|
|
906
989
|
protected cellTemplate(key: string): TemplateRef<unknown> | null;
|
|
907
990
|
protected text(column: ListColumn<T>, row: T): string;
|
|
991
|
+
protected linkOf(column: ListColumn<T>, row: T): NucleusLinkTarget | null;
|
|
908
992
|
protected tagOf(column: ListColumn<T>, row: T): ListTag | null;
|
|
909
993
|
protected visibleActions(row: T): readonly ListAction<T>[];
|
|
910
994
|
protected isActionLocked(entry: ListAction<T>, row: T): boolean;
|
|
@@ -914,7 +998,7 @@ declare class NucleusList<T extends object = Record<string, unknown>> {
|
|
|
914
998
|
protected hintOf(column: ListColumn<T>, row: T): string;
|
|
915
999
|
protected flip(column: ListColumn<T>, row: T): void;
|
|
916
1000
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusList<any>, never>;
|
|
917
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusList<any>, "nucleus-list", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizes": { "alias": "pageSizes"; "required": false; "isSignal": true; }; }, { "action": "action"; "toggle": "toggle"; }, ["cells"], ["[nucleusListTitle]", "[nucleusListActions]"], true, never>;
|
|
1001
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusList<any>, "nucleus-list", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "empty": { "alias": "empty"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageSizes": { "alias": "pageSizes"; "required": false; "isSignal": true; }; "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "reorderGroup": { "alias": "reorderGroup"; "required": false; "isSignal": true; }; }, { "action": "action"; "reorder": "reorder"; "dragStart": "dragStart"; "toggle": "toggle"; }, ["cells"], ["[nucleusListTitle]", "[nucleusListActions]"], true, never>;
|
|
918
1002
|
}
|
|
919
1003
|
|
|
920
1004
|
interface TreeRow {
|
|
@@ -979,6 +1063,17 @@ declare class NucleusAppearance {
|
|
|
979
1063
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusAppearance, "nucleus-appearance", never, {}, {}, never, never, true, never>;
|
|
980
1064
|
}
|
|
981
1065
|
|
|
1066
|
+
declare const NUCLEUS_NARROW_QUERY = "(max-width: 720px)";
|
|
1067
|
+
declare class NucleusViewport {
|
|
1068
|
+
private readonly query;
|
|
1069
|
+
private readonly _narrow;
|
|
1070
|
+
readonly narrow: _angular_core.Signal<boolean>;
|
|
1071
|
+
constructor();
|
|
1072
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusViewport, never>;
|
|
1073
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NucleusViewport>;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
type MenuLayout = 'list' | 'grid';
|
|
982
1077
|
interface MenuTile {
|
|
983
1078
|
readonly label: string;
|
|
984
1079
|
readonly icon: string | null;
|
|
@@ -1015,9 +1110,14 @@ declare class NucleusMenu {
|
|
|
1015
1110
|
readonly emptyText: _angular_core.InputSignal<string>;
|
|
1016
1111
|
readonly keyboardHint: _angular_core.InputSignal<string>;
|
|
1017
1112
|
readonly width: _angular_core.InputSignal<number>;
|
|
1113
|
+
readonly layout: _angular_core.InputSignal<MenuLayout>;
|
|
1114
|
+
readonly columns: _angular_core.InputSignal<number>;
|
|
1018
1115
|
readonly select: _angular_core.OutputEmitterRef<MenuRow>;
|
|
1019
1116
|
readonly dismiss: _angular_core.OutputEmitterRef<void>;
|
|
1020
1117
|
protected readonly term: _angular_core.WritableSignal<string>;
|
|
1118
|
+
protected readonly grid: _angular_core.Signal<boolean>;
|
|
1119
|
+
private readonly keyed;
|
|
1120
|
+
private readonly pointed;
|
|
1021
1121
|
private readonly searchBox;
|
|
1022
1122
|
private readonly root;
|
|
1023
1123
|
protected readonly visible: _angular_core.Signal<readonly MenuSection[]>;
|
|
@@ -1031,11 +1131,13 @@ declare class NucleusMenu {
|
|
|
1031
1131
|
protected onTerm(value: string): void;
|
|
1032
1132
|
protected choose(row: MenuRow): void;
|
|
1033
1133
|
protected onKeydown(event: KeyboardEvent): void;
|
|
1134
|
+
private moveOf;
|
|
1034
1135
|
private step;
|
|
1136
|
+
private landing;
|
|
1035
1137
|
private scrollIntoView;
|
|
1036
1138
|
private focusEntry;
|
|
1037
1139
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NucleusMenu, never>;
|
|
1038
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusMenu, "nucleus-menu", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "keyboardHint": { "alias": "keyboardHint"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "select": "select"; "dismiss": "dismiss"; }, never, never, true, never>;
|
|
1140
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusMenu, "nucleus-menu", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "keyboardHint": { "alias": "keyboardHint"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "select": "select"; "dismiss": "dismiss"; }, never, never, true, never>;
|
|
1039
1141
|
}
|
|
1040
1142
|
|
|
1041
1143
|
declare class NucleusRecentApps {
|
|
@@ -1074,9 +1176,8 @@ interface ShellCopy {
|
|
|
1074
1176
|
readonly appsSwitch: string;
|
|
1075
1177
|
readonly appsSearch: string;
|
|
1076
1178
|
readonly appsNoMatch: string;
|
|
1077
|
-
readonly appsRecent: string;
|
|
1078
|
-
readonly appsAll: string;
|
|
1079
1179
|
readonly appsAvailable: string;
|
|
1180
|
+
readonly appsUpcoming: string;
|
|
1080
1181
|
readonly appsHere: string;
|
|
1081
1182
|
readonly keyboardHint: string;
|
|
1082
1183
|
readonly accountSwitchHint: string;
|
|
@@ -1178,7 +1279,6 @@ declare class NucleusShell {
|
|
|
1178
1279
|
protected readonly words: _angular_core.Signal<_nucleus_suite_pe_core.CommonCopy>;
|
|
1179
1280
|
protected readonly hasSiteContext: _angular_core.Signal<boolean>;
|
|
1180
1281
|
protected readonly launcherRich: _angular_core.Signal<boolean>;
|
|
1181
|
-
protected readonly launcherCount: _angular_core.Signal<string | null>;
|
|
1182
1282
|
protected readonly launcherSections: _angular_core.Signal<MenuSection[]>;
|
|
1183
1283
|
protected readonly accountSections: _angular_core.Signal<MenuSection[]>;
|
|
1184
1284
|
protected readonly accountContext: _angular_core.Signal<string>;
|
|
@@ -1214,5 +1314,5 @@ declare class NucleusShell {
|
|
|
1214
1314
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NucleusShell, "nucleus-shell", never, { "brand": { "alias": "brand"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "navItems": { "alias": "navItems"; "required": false; "isSignal": true; }; "activeNavId": { "alias": "activeNavId"; "required": false; "isSignal": true; }; "selectedMenuId": { "alias": "selectedMenuId"; "required": false; "isSignal": true; }; }, { "navSelect": "navSelect"; "menuSelect": "menuSelect"; }, never, ["[nucleusTop]", "*"], true, never>;
|
|
1215
1315
|
}
|
|
1216
1316
|
|
|
1217
|
-
export { ACCENTS, CANVASES, COMMON_COPY, CONTROL_CONTRAST, DEFAULT_APPEARANCE, DENSITIES, EMPTY_GEO_VALUE, FIELD_TARGETS, FRAMES, GEO_COPY, LEGACY_THEMES, NO_PERMISSIONS, NUCLEUS_ACCENTS, NUCLEUS_CONFIG, NUCLEUS_DARK_SELECTOR, NUCLEUS_FORCE_BEARER, NUCLEUS_HOME, NUCLEUS_ICONS, NUCLEUS_ICON_CATALOG, NUCLEUS_LANGS, NUCLEUS_LOGOUT_PARAM, NUCLEUS_SKIP_AUTH, NucleusAppearance, NucleusAuth, NucleusCache, NucleusCard, NucleusCell, NucleusColorPicker, NucleusEnterAdvance, NucleusFeedback, NucleusForm, NucleusGeo, NucleusGeoSelect, NucleusIconPicker, NucleusLanguage, NucleusList, NucleusLordicon, NucleusMark, NucleusMenu, NucleusMetric, NucleusMetrics, NucleusPage, NucleusPageActions, NucleusPreset, NucleusRecentApps, NucleusSessionAuth, NucleusShell, NucleusShortcut, NucleusShortcuts, NucleusStarfield, NucleusTabs, SHELL_COPY, SessionService, TEXT_CONTRAST, THEME_COPY, ThemeService, UserSyncService, accentById, accentLabelOf, accentOn, ariaKeysOf, auditAppearance, canvasById, clock, comboOf, commonCopyOf, consumeNucleusLogout, contrastIssue, contrastRatio, day, densityById, endOfDayUtc, fieldsIn, findMenuByRoute, flagOf, foldText, frameById, geoCopyOf, hasChildren, hasModifier, iconClassOf, iconNameOf, integer, isAccentPreference, isApplePlatform, isBeforeToday, isCanvasPreference, isDarkCanvas, isDensityId, isFieldSearchable, isFrameId, isHomeRoute, isNucleusConfigured, isOnOrBeforeToday, isReachable, isToday, isTypingTarget, isUnderRoute, isoDay, levelLabel, loadLordicon, loadNucleusConfig, matchMenuByRoute, matchesRow, meetsContrast, menuGlyph, menuTile, minutesAsClock, mixHex, money, moveTo, normalizeHomeRoute, normalizeKeys, nucleusAccessGuard, nucleusAuthInterceptor, nucleusErrorMessage, nucleusLang, nucleusLogoutUrl, nucleusParseDate, ownsUrl, percent, permissionsOf, provideNucleus, provideNucleusFeedback, provideNucleusHome, provideNucleusTheme, qty, readableOn, relativeLuminance, resolveAccent, resolveFieldSize, routePath, searchIcons, selectableRows, shiftDay, shortcutHint, signedMoney, stamp, startOfDayUtc, themeCopyOf, toNumber, toggleCollapsed, visibleTreeRows };
|
|
1218
|
-
export type { Accent, AccentId, AccentOption, AccentPreference, AccessScope, AppSummary, AppUser, Appearance, AuthSyncRequest, Canvas, CanvasEffects, CanvasId, CanvasPreference, CanvasTokens, CardSize, CommonCopy, CommonCopySet, CompanyOption, CompanyRelation, CompanySummary, ConfirmRequest, ContrastIssue, Crumb, Density, DensityId, FieldKind, FieldOption, FieldSize, FieldSpan, FormField, FormValue, Frame, FrameId, FrameTokens, GeoCopy, GeoCopySet, GeoCountry, GeoDivision, GeoLevel, GeoPlace, GeoValue, GlobalAccess, LauncherApp, ListAction, ListActionEvent, ListAlign, ListColumn, ListColumnKind, ListTag, ListToggleEvent, MeResponse, MenuNode, MenuPermissions, MenuRow, MenuSection, MenuTile, MetricTone, NucleusConfig, NucleusIdentity, NucleusLang, SessionTicket, ShellCopy, ShellNavItem, ShortcutBinding, Site, SiteAccess, Subscription, TabItem, ThemeCopy, TreeRow, UserProfile };
|
|
1317
|
+
export { ACCENTS, CANVASES, COMMON_COPY, CONTROL_CONTRAST, DEFAULT_APPEARANCE, DENSITIES, EMPTY_GEO_VALUE, FIELD_TARGETS, FRAMES, GEO_COPY, LEGACY_THEMES, NO_PERMISSIONS, NUCLEUS_ACCENTS, NUCLEUS_CONFIG, NUCLEUS_DARK_SELECTOR, NUCLEUS_FORCE_BEARER, NUCLEUS_HOME, NUCLEUS_ICONS, NUCLEUS_ICON_CATALOG, NUCLEUS_LANGS, NUCLEUS_LOGOUT_PARAM, NUCLEUS_NARROW_QUERY, NUCLEUS_SKIP_AUTH, NucleusAppearance, NucleusAuth, NucleusBytes, NucleusCache, NucleusCard, NucleusCell, NucleusColorPicker, NucleusCompact, NucleusEnterAdvance, NucleusFeedback, NucleusForm, NucleusGeo, NucleusGeoSelect, NucleusIconPicker, NucleusLanguage, NucleusLink, NucleusList, NucleusLordicon, NucleusMark, NucleusMegabytes, NucleusMenu, NucleusMetric, NucleusMetrics, NucleusPage, NucleusPageActions, NucleusPreset, NucleusRecentApps, NucleusSessionAuth, NucleusShell, NucleusShortcut, NucleusShortcuts, NucleusStarfield, NucleusTabs, NucleusViewport, SHELL_COPY, SessionService, TEXT_CONTRAST, THEME_COPY, ThemeService, UserSyncService, accentById, accentLabelOf, accentOn, ariaKeysOf, auditAppearance, canvasById, clock, comboOf, commonCopyOf, compactBytes, compactMegabytes, compactNumber, consumeNucleusLogout, contrastIssue, contrastRatio, day, densityById, endOfDayUtc, fieldsIn, findMenuByRoute, flagOf, foldText, frameById, geoCopyOf, hasChildren, hasModifier, iconClassOf, iconNameOf, integer, isAccentPreference, isApplePlatform, isBeforeToday, isCanvasPreference, isDarkCanvas, isDensityId, isFieldSearchable, isFrameId, isHomeRoute, isNucleusConfigured, isOnOrBeforeToday, isReachable, isToday, isTypingTarget, isUnderRoute, isoDay, levelLabel, loadLordicon, loadNucleusConfig, matchMenuByRoute, matchesRow, meetsContrast, menuGlyph, menuTile, minutesAsClock, mixHex, money, moveTo, normalizeHomeRoute, normalizeKeys, nucleusAccessGuard, nucleusAuthInterceptor, nucleusErrorMessage, nucleusLang, nucleusLogoutUrl, nucleusParseDate, ownsUrl, percent, permissionsOf, provideNucleus, provideNucleusFeedback, provideNucleusHome, provideNucleusTheme, qty, readableOn, relativeLuminance, resolveAccent, resolveFieldSize, routePath, searchIcons, selectableRows, shiftDay, shortcutHint, signedMoney, stamp, startOfDayUtc, themeCopyOf, toNumber, toggleCollapsed, visibleTreeRows };
|
|
1318
|
+
export type { Accent, AccentId, AccentOption, AccentPreference, AccessScope, AppSummary, AppUser, Appearance, AuthSyncRequest, Canvas, CanvasEffects, CanvasId, CanvasPreference, CanvasTokens, CardSize, CommonCopy, CommonCopySet, CompanyOption, CompanyRelation, CompanySummary, ConfirmRequest, ContrastIssue, Crumb, Density, DensityId, FieldKind, FieldOption, FieldSize, FieldSpan, FormField, FormValue, Frame, FrameId, FrameTokens, GeoCopy, GeoCopySet, GeoCountry, GeoDivision, GeoLevel, GeoPlace, GeoValue, GlobalAccess, LauncherApp, ListAction, ListActionEvent, ListAlign, ListColumn, ListColumnKind, ListColumnRole, ListTag, ListToggleEvent, MeResponse, MenuLayout, MenuNode, MenuPermissions, MenuRow, MenuSection, MenuTile, MetricTone, NucleusConfig, NucleusIdentity, NucleusLang, NucleusLinkTarget, SessionTicket, ShellCopy, ShellNavItem, ShortcutBinding, Site, SiteAccess, Subscription, TabItem, ThemeCopy, TreeRow, UserProfile };
|