c3-components 0.15.2 → 0.16.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/fesm2022/c3-components.mjs +681 -88
- package/fesm2022/c3-components.mjs.map +1 -1
- package/index.d.ts +258 -31
- package/lib/c3-modal/styles/_c3-modal.scss +39 -0
- package/lib/c3-navbar/styles/_c3-navbar.scss +65 -0
- package/lib/c3-rounded-title/styles/_c3-rounded-title.scss +37 -0
- package/lib/c3-styles/_c3-core.scss +8 -0
- package/lib/c3-tabs/components/c3-tabs/c3-tabs.component.scss +39 -0
- package/lib/c3-tabs/styles/_c3-tabs.scss +19 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { HttpHeaders, HttpContext, HttpParams, HttpClient } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { TemplateRef, OnDestroy,
|
|
4
|
-
import * as i4 from '@angular/cdk/overlay';
|
|
5
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
+
import { TemplateRef, OnDestroy, AfterViewInit, Signal, ViewContainerRef, ComponentRef, ChangeDetectorRef, OnInit, SimpleChanges, ElementRef, PipeTransform, InjectionToken, QueryList } from '@angular/core';
|
|
6
4
|
import * as i3 from '@angular/common';
|
|
5
|
+
import * as i4 from '@angular/cdk/overlay';
|
|
7
6
|
import * as i10 from '@angular/material/dialog';
|
|
8
7
|
import { MatDialogRef, MatDialogContainer, MatDialogState, MatDialogConfig, MatDialog } from '@angular/material/dialog';
|
|
9
8
|
import * as i8 from '@angular/forms';
|
|
@@ -23,6 +22,7 @@ import * as i7 from '@angular/material/tooltip';
|
|
|
23
22
|
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
24
23
|
import { MatTreeFlattener, MatTreeFlatDataSource } from '@angular/material/tree';
|
|
25
24
|
import * as i4$1 from '@angular/router';
|
|
25
|
+
import { RouterLink } from '@angular/router';
|
|
26
26
|
import * as i5$1 from '@angular/material/core';
|
|
27
27
|
|
|
28
28
|
interface HttpClientOptions {
|
|
@@ -39,45 +39,59 @@ interface HttpClientOptions {
|
|
|
39
39
|
withCredentials?: boolean;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
type NgClassType$1 = string | string[] | Set<string> | {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
};
|
|
42
45
|
declare class C3DropdownComponent {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
/** Classes set directly on the component via [panelClass]. */
|
|
47
|
+
readonly panelClass: i0.InputSignal<NgClassType$1 | undefined>;
|
|
48
|
+
/** Classes set by the trigger directive via [c3DropdownClass] or [dropdownClass]. */
|
|
49
|
+
readonly dropdownClass: i0.WritableSignal<NgClassType$1 | undefined>;
|
|
50
|
+
/** Whether the dropdown is currently open. */
|
|
46
51
|
readonly isOpen: i0.WritableSignal<boolean>;
|
|
47
52
|
readonly template: i0.Signal<TemplateRef<any>>;
|
|
53
|
+
/** Merges panelClass (from component input) and dropdownClass (from trigger). */
|
|
54
|
+
readonly mergedClass: i0.Signal<NgClassType$1>;
|
|
48
55
|
private readonly _changeDetectorRef;
|
|
49
56
|
constructor();
|
|
50
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<C3DropdownComponent, never>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<C3DropdownComponent, "c3-dropdown",
|
|
58
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3DropdownComponent, "c3-dropdown", ["c3Dropdown"], { "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
|
|
52
59
|
}
|
|
53
60
|
|
|
54
61
|
declare const MAT_DROPDOWN_VALUE_ACCESSOR: any;
|
|
62
|
+
type NgClassType = string | string[] | Set<string> | {
|
|
63
|
+
[key: string]: any;
|
|
64
|
+
};
|
|
55
65
|
/**
|
|
56
66
|
* @description The C3DropdownTrigger directive is used to display or hide a dropdown menu
|
|
57
67
|
* C3DropdownComponent when an item is clicked.
|
|
58
|
-
* @selector [c3Dropdown]
|
|
68
|
+
* @selector [c3Dropdown], [c3DropdownTrigger]
|
|
59
69
|
* @exportAs c3DropdownTrigger
|
|
60
70
|
* @input c3Dropdown - A reference to an instance of C3DropdownComponent.
|
|
71
|
+
* @input c3DropdownTrigger - A reference to an instance of C3DropdownComponent (alias).
|
|
61
72
|
* @input c3DropdownDisabled - A boolean indicating whether the directive should be disabled.
|
|
62
|
-
* @input c3DropdownClass
|
|
63
|
-
* object representing the CSS classes to be applied to the dropdown menu.
|
|
73
|
+
* @input c3DropdownClass / dropdownClass - CSS classes to be applied to the dropdown panel.
|
|
64
74
|
*/
|
|
65
75
|
declare class C3DropdownTrigger implements OnDestroy {
|
|
66
|
-
private _element;
|
|
67
|
-
private _overlay;
|
|
68
|
-
private _viewContainerRef;
|
|
69
76
|
private overlayRef?;
|
|
70
77
|
private _closingActionsSubscription;
|
|
71
78
|
private _destroyed;
|
|
72
|
-
|
|
73
|
-
readonly
|
|
79
|
+
private readonly _element;
|
|
80
|
+
private readonly _overlay;
|
|
81
|
+
private readonly _viewContainerRef;
|
|
82
|
+
/** The dropdown menu instance (via [c3Dropdown] binding). */
|
|
83
|
+
readonly c3Dropdown: i0.InputSignal<C3DropdownComponent | null>;
|
|
84
|
+
/** The dropdown menu instance (via [c3DropdownTrigger] binding). */
|
|
85
|
+
readonly c3DropdownTrigger: i0.InputSignal<C3DropdownComponent | null>;
|
|
86
|
+
/** Resolved dropdown reference (supports both binding syntaxes). */
|
|
87
|
+
private readonly _dropdown;
|
|
74
88
|
/** Whether the dropdown is disabled. */
|
|
75
89
|
readonly dropdownDisabled: i0.InputSignal<boolean>;
|
|
76
|
-
/** Classes to be passed to the dropdown menu
|
|
77
|
-
readonly
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
constructor(
|
|
90
|
+
/** Classes to be passed to the dropdown menu via [c3DropdownClass]. */
|
|
91
|
+
readonly c3DropdownClass: i0.InputSignal<NgClassType | undefined>;
|
|
92
|
+
/** Classes to be passed to the dropdown menu via [dropdownClass]. */
|
|
93
|
+
readonly dropdownClass: i0.InputSignal<NgClassType | undefined>;
|
|
94
|
+
constructor();
|
|
81
95
|
onClick(): void;
|
|
82
96
|
ngOnDestroy(): void;
|
|
83
97
|
show(): void;
|
|
@@ -86,7 +100,7 @@ declare class C3DropdownTrigger implements OnDestroy {
|
|
|
86
100
|
/** Returns a stream that emits whenever an action that should close the menu occurs. */
|
|
87
101
|
private _menuClosingActions;
|
|
88
102
|
static ɵfac: i0.ɵɵFactoryDeclaration<C3DropdownTrigger, never>;
|
|
89
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<C3DropdownTrigger, "[c3DropdownTrigger]",
|
|
103
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<C3DropdownTrigger, "[c3Dropdown], [c3DropdownTrigger]", ["c3DropdownTrigger"], { "c3Dropdown": { "alias": "c3Dropdown"; "required": false; "isSignal": true; }; "c3DropdownTrigger": { "alias": "c3DropdownTrigger"; "required": false; "isSignal": true; }; "dropdownDisabled": { "alias": "c3DropdownDisabled"; "required": false; "isSignal": true; }; "c3DropdownClass": { "alias": "c3DropdownClass"; "required": false; "isSignal": true; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
90
104
|
}
|
|
91
105
|
|
|
92
106
|
declare class C3DropdownModule {
|
|
@@ -615,15 +629,6 @@ declare class C3FileDisplayGridComponent {
|
|
|
615
629
|
static ɵcmp: i0.ɵɵComponentDeclaration<C3FileDisplayGridComponent, "c3-file-display-grid", never, { "files": { "alias": "files"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "cardSize": { "alias": "cardSize"; "required": false; "isSignal": true; }; "displayFn": { "alias": "displayFn"; "required": false; "isSignal": true; }; "deletable": { "alias": "deletable"; "required": false; "isSignal": true; }; }, { "onDelete": "onDelete"; }, never, never, true, never>;
|
|
616
630
|
}
|
|
617
631
|
|
|
618
|
-
declare class C3FileDisplayListColumnDefDirective {
|
|
619
|
-
readonly title: i0.InputSignal<string>;
|
|
620
|
-
readonly classList: i0.InputSignal<string[]>;
|
|
621
|
-
private readonly _table;
|
|
622
|
-
readonly headerCellDef: i0.Signal<C3FileDisplayListHeaderCellDefDirective | undefined>;
|
|
623
|
-
readonly cellDef: i0.Signal<C3FileDisplayListCellDefDirective | undefined>;
|
|
624
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<C3FileDisplayListColumnDefDirective, never>;
|
|
625
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<C3FileDisplayListColumnDefDirective, "[c3FileDisplayListColumnDef]", never, { "title": { "alias": "c3FileDisplayListColumnDef"; "required": true; "isSignal": true; }; "classList": { "alias": "classList"; "required": false; "isSignal": true; }; }, {}, ["headerCellDef", "cellDef"], never, true, never>;
|
|
626
|
-
}
|
|
627
632
|
declare class C3FileDisplayListHeaderCellDefDirective {
|
|
628
633
|
template: TemplateRef<any>;
|
|
629
634
|
static ɵfac: i0.ɵɵFactoryDeclaration<C3FileDisplayListHeaderCellDefDirective, never>;
|
|
@@ -634,6 +639,15 @@ declare class C3FileDisplayListCellDefDirective {
|
|
|
634
639
|
static ɵfac: i0.ɵɵFactoryDeclaration<C3FileDisplayListCellDefDirective, never>;
|
|
635
640
|
static ɵdir: i0.ɵɵDirectiveDeclaration<C3FileDisplayListCellDefDirective, "[c3FileDisplayListCellDef]", never, {}, {}, never, never, true, never>;
|
|
636
641
|
}
|
|
642
|
+
declare class C3FileDisplayListColumnDefDirective {
|
|
643
|
+
readonly title: i0.InputSignal<string>;
|
|
644
|
+
readonly classList: i0.InputSignal<string[]>;
|
|
645
|
+
private readonly _table;
|
|
646
|
+
readonly headerCellDef: i0.Signal<any>;
|
|
647
|
+
readonly cellDef: i0.Signal<any>;
|
|
648
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3FileDisplayListColumnDefDirective, never>;
|
|
649
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<C3FileDisplayListColumnDefDirective, "[c3FileDisplayListColumnDef]", never, { "title": { "alias": "c3FileDisplayListColumnDef"; "required": true; "isSignal": true; }; "classList": { "alias": "classList"; "required": false; "isSignal": true; }; }, {}, ["headerCellDef", "cellDef"], never, true, never>;
|
|
650
|
+
}
|
|
637
651
|
|
|
638
652
|
declare class C3FileDisplayListComponent {
|
|
639
653
|
readonly files: i0.InputSignal<(FileMetadata & {
|
|
@@ -902,5 +916,218 @@ declare class C3MenuModule {
|
|
|
902
916
|
static ɵinj: i0.ɵɵInjectorDeclaration<C3MenuModule>;
|
|
903
917
|
}
|
|
904
918
|
|
|
905
|
-
|
|
919
|
+
/**
|
|
920
|
+
* @description Directive that highlights matching text within the host element's content.
|
|
921
|
+
* Wraps matched text in `<span class="c3-highlight">` inside a `<span class="c3-highlight_container">`.
|
|
922
|
+
*
|
|
923
|
+
* @selector [c3HighlightText]
|
|
924
|
+
* @input c3HighlightText - The text to highlight.
|
|
925
|
+
* @input c3HighlightTextCaseSensitive - Whether the match should be case-sensitive (default: false).
|
|
926
|
+
*
|
|
927
|
+
* @example
|
|
928
|
+
* ```html
|
|
929
|
+
* <p [c3HighlightText]="searchTerm">Some text to search in</p>
|
|
930
|
+
* <p [c3HighlightText]="searchTerm" [c3HighlightTextCaseSensitive]="true">Case-sensitive match</p>
|
|
931
|
+
* ```
|
|
932
|
+
*/
|
|
933
|
+
declare class C3HighlightTextDirective {
|
|
934
|
+
/** The text string to highlight within the host element. */
|
|
935
|
+
readonly highlightText: i0.InputSignal<string>;
|
|
936
|
+
/** Whether the highlighting should be case-sensitive. Defaults to false. */
|
|
937
|
+
readonly caseSensitive: i0.InputSignal<boolean>;
|
|
938
|
+
private readonly _el;
|
|
939
|
+
constructor();
|
|
940
|
+
/** Walks the DOM tree and wraps matching text nodes in highlight spans. */
|
|
941
|
+
private _applyHighlight;
|
|
942
|
+
/** Escapes special regex characters in the search text. */
|
|
943
|
+
private _escapeRegExp;
|
|
944
|
+
/** Removes all previously applied highlight wrappers, restoring original text nodes. */
|
|
945
|
+
private _resetHighlights;
|
|
946
|
+
/** Recursively collects all text nodes within an element. */
|
|
947
|
+
private _getTextNodes;
|
|
948
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3HighlightTextDirective, never>;
|
|
949
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<C3HighlightTextDirective, "[c3HighlightText]", never, { "highlightText": { "alias": "c3HighlightText"; "required": false; "isSignal": true; }; "caseSensitive": { "alias": "c3HighlightTextCaseSensitive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
declare class C3HighlightTextModule {
|
|
953
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3HighlightTextModule, never>;
|
|
954
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<C3HighlightTextModule, never, [typeof C3HighlightTextDirective], [typeof C3HighlightTextDirective]>;
|
|
955
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<C3HighlightTextModule>;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
/**
|
|
959
|
+
* @description A rounded title container that wraps projected content in a pill-shaped element.
|
|
960
|
+
* Styled via the `c3-rounded-title-theme` SCSS mixin.
|
|
961
|
+
*
|
|
962
|
+
* @selector c3-rounded-title
|
|
963
|
+
*
|
|
964
|
+
* @example
|
|
965
|
+
* ```html
|
|
966
|
+
* <c3-rounded-title>My Section Title</c3-rounded-title>
|
|
967
|
+
* ```
|
|
968
|
+
*/
|
|
969
|
+
declare class C3RoundedTitleComponent {
|
|
970
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3RoundedTitleComponent, never>;
|
|
971
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3RoundedTitleComponent, "c3-rounded-title", never, {}, {}, never, ["*"], true, never>;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
declare class C3RoundedTitleModule {
|
|
975
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3RoundedTitleModule, never>;
|
|
976
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<C3RoundedTitleModule, never, [typeof C3RoundedTitleComponent], [typeof C3RoundedTitleComponent]>;
|
|
977
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<C3RoundedTitleModule>;
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* @description A simple navigation bar component with elevation.
|
|
982
|
+
* Content is projected via `ng-content`. Styled via the `c3-navbar-theme` SCSS mixin.
|
|
983
|
+
*
|
|
984
|
+
* @selector c3-navbar
|
|
985
|
+
*
|
|
986
|
+
* @example
|
|
987
|
+
* ```html
|
|
988
|
+
* <c3-navbar>
|
|
989
|
+
* <a routerLink="/home" routerLinkActive="selected">Home</a>
|
|
990
|
+
* <a routerLink="/settings" routerLinkActive="selected">Settings</a>
|
|
991
|
+
* </c3-navbar>
|
|
992
|
+
* ```
|
|
993
|
+
*/
|
|
994
|
+
declare class C3NavbarComponent {
|
|
995
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3NavbarComponent, never>;
|
|
996
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3NavbarComponent, "c3-navbar", never, {}, {}, never, ["*"], true, never>;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
declare class C3NavbarModule {
|
|
1000
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3NavbarModule, never>;
|
|
1001
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<C3NavbarModule, never, [typeof C3NavbarComponent], [typeof C3NavbarComponent]>;
|
|
1002
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<C3NavbarModule>;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
/**
|
|
1006
|
+
* @description A side-panel modal component that slides in from the right.
|
|
1007
|
+
* Uses a `router-outlet` for content and provides a close button that navigates
|
|
1008
|
+
* back to the computed return route.
|
|
1009
|
+
*
|
|
1010
|
+
* The return route is automatically computed from the current route tree,
|
|
1011
|
+
* or can be overridden via the `returnRoute` input.
|
|
1012
|
+
*
|
|
1013
|
+
* @selector c3-modal
|
|
1014
|
+
*
|
|
1015
|
+
* @example
|
|
1016
|
+
* ```html
|
|
1017
|
+
* <!-- Auto-computed return route -->
|
|
1018
|
+
* <c3-modal></c3-modal>
|
|
1019
|
+
*
|
|
1020
|
+
* <!-- Custom return route -->
|
|
1021
|
+
* <c3-modal returnRoute="/dashboard"></c3-modal>
|
|
1022
|
+
* ```
|
|
1023
|
+
*/
|
|
1024
|
+
declare class C3ModalComponent implements AfterViewInit, OnDestroy {
|
|
1025
|
+
/** Override the auto-computed return route. */
|
|
1026
|
+
readonly returnRoute: i0.InputSignal<string | null>;
|
|
1027
|
+
/** Resolved return route (input override or auto-computed). */
|
|
1028
|
+
readonly _returnRoute: i0.WritableSignal<string>;
|
|
1029
|
+
readonly height: i0.WritableSignal<string>;
|
|
1030
|
+
readonly posButton: i0.WritableSignal<number>;
|
|
1031
|
+
readonly container: i0.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
1032
|
+
private readonly _activatedRoute;
|
|
1033
|
+
private readonly _cdr;
|
|
1034
|
+
private readonly _platformId;
|
|
1035
|
+
private _containerWatcher?;
|
|
1036
|
+
private _resizeListener?;
|
|
1037
|
+
constructor();
|
|
1038
|
+
ngAfterViewInit(): void;
|
|
1039
|
+
ngOnDestroy(): void;
|
|
1040
|
+
private _updateHeight;
|
|
1041
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3ModalComponent, never>;
|
|
1042
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3ModalComponent, "c3-modal", never, { "returnRoute": { "alias": "returnRoute"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
declare class C3ModalModule {
|
|
1046
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3ModalModule, never>;
|
|
1047
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<C3ModalModule, never, [typeof C3ModalComponent], [typeof C3ModalComponent]>;
|
|
1048
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<C3ModalModule>;
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
/**
|
|
1052
|
+
* @description A single tab item used inside `c3-tabs`.
|
|
1053
|
+
* Provides a ripple effect and wraps projected content.
|
|
1054
|
+
*
|
|
1055
|
+
* @selector c3-tab, [c3-tab]
|
|
1056
|
+
*
|
|
1057
|
+
* @example
|
|
1058
|
+
* ```html
|
|
1059
|
+
* <c3-tabs>
|
|
1060
|
+
* <c3-tab><a routerLink="/page-a">Page A</a></c3-tab>
|
|
1061
|
+
* <c3-tab><a routerLink="/page-b">Page B</a></c3-tab>
|
|
1062
|
+
* </c3-tabs>
|
|
1063
|
+
* ```
|
|
1064
|
+
*/
|
|
1065
|
+
declare class C3TabComponent {
|
|
1066
|
+
readonly elementRef: ElementRef<any>;
|
|
1067
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3TabComponent, never>;
|
|
1068
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3TabComponent, "c3-tab, [c3-tab]", never, {}, {}, never, ["*"], true, never>;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* @description A pill-shaped tab bar with an animated background indicator
|
|
1073
|
+
* that slides to the active tab. Works with Angular Router to auto-detect
|
|
1074
|
+
* the active route.
|
|
1075
|
+
*
|
|
1076
|
+
* @selector c3-tabs, [c3-tabs]
|
|
1077
|
+
* @input ignoreQueryParams - If true, query params are ignored when matching active route.
|
|
1078
|
+
*
|
|
1079
|
+
* @example
|
|
1080
|
+
* ```html
|
|
1081
|
+
* <c3-tabs>
|
|
1082
|
+
* <c3-tab><a routerLink="/page-a">Page A</a></c3-tab>
|
|
1083
|
+
* <c3-tab><a routerLink="/page-b">Page B</a></c3-tab>
|
|
1084
|
+
* </c3-tabs>
|
|
1085
|
+
*
|
|
1086
|
+
* <!-- Ignore query params for route matching -->
|
|
1087
|
+
* <c3-tabs [ignoreQueryParams]="true">
|
|
1088
|
+
* <c3-tab><a routerLink="/search" [queryParams]="{ q: 'test' }">Search</a></c3-tab>
|
|
1089
|
+
* </c3-tabs>
|
|
1090
|
+
* ```
|
|
1091
|
+
*/
|
|
1092
|
+
declare class C3TabsComponent implements AfterViewInit {
|
|
1093
|
+
/** Whether to ignore query parameters when matching the active route. */
|
|
1094
|
+
readonly ignoreQueryParams: i0.InputSignal<boolean>;
|
|
1095
|
+
containerElement: ElementRef;
|
|
1096
|
+
items: QueryList<C3TabComponent>;
|
|
1097
|
+
links: QueryList<RouterLink>;
|
|
1098
|
+
selectedItem: C3TabComponent | undefined;
|
|
1099
|
+
btnBackgroundOffset: number | string;
|
|
1100
|
+
btnWidth: number | string;
|
|
1101
|
+
private readonly _router;
|
|
1102
|
+
private readonly _cdr;
|
|
1103
|
+
private readonly _platformId;
|
|
1104
|
+
private readonly _destroyRef;
|
|
1105
|
+
ngAfterViewInit(): void;
|
|
1106
|
+
/**
|
|
1107
|
+
* Gets the left position of an element relative to the viewport.
|
|
1108
|
+
* Returns 0 on server platform.
|
|
1109
|
+
*/
|
|
1110
|
+
getLeftPositionElement(element: Element): number;
|
|
1111
|
+
/** Computes the offset for the sliding background indicator. */
|
|
1112
|
+
getBtnBackgroundOffset(): number | string;
|
|
1113
|
+
/** Selects a tab by index and updates the indicator position. */
|
|
1114
|
+
setSelectedItem(index?: number): void;
|
|
1115
|
+
/**
|
|
1116
|
+
* Finds the active tab index by matching router links.
|
|
1117
|
+
* When multiple links match, the most specific one (most query params) wins.
|
|
1118
|
+
*/
|
|
1119
|
+
private _getActiveTabIndex;
|
|
1120
|
+
/** Updates the sliding indicator position and width. */
|
|
1121
|
+
private _setBtn;
|
|
1122
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3TabsComponent, never>;
|
|
1123
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<C3TabsComponent, "c3-tabs, [c3-tabs]", never, { "ignoreQueryParams": { "alias": "ignoreQueryParams"; "required": false; "isSignal": true; }; }, {}, ["items", "links"], ["*"], false, never>;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
declare class C3TabsModule {
|
|
1127
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<C3TabsModule, never>;
|
|
1128
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<C3TabsModule, [typeof C3TabsComponent], [typeof i3.CommonModule, typeof i4$1.RouterModule, typeof i5$1.MatRippleModule, typeof C3TabComponent], [typeof C3TabsComponent, typeof C3TabComponent]>;
|
|
1129
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<C3TabsModule>;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
export { C3AlertDialogComponent, C3AutoAnimateDirective, C3DialogEmbedChildComponent, C3DialogModule, C3DialogService, C3DialogTemplateComponent, C3DropdownComponent, C3DropdownModule, C3DropdownTrigger, C3ExpansionComponent, C3ExpansionHeaderComponent, C3ExpansionModule, C3FileDisplayCardComponent, C3FileDisplayGridComponent, C3FileDisplayIconComponent, C3FileDisplayListCellDefDirective, C3FileDisplayListColumnDefDirective, C3FileDisplayListComponent, C3FileDisplayListHeaderCellDefDirective, C3FileDisplayerModule, C3FileViewer, C3FileViewerComponent, C3FileViewerDialog, C3FileViewerDialogComponent, C3FileViewerModule, C3FlowingMenuComponent, C3FlowingMenuItemComponent, C3FlowingMenuItemContentComponent, C3FlowingMenuModule, C3HighlightTextDirective, C3HighlightTextModule, C3MenuComponent, C3MenuModule, C3ModalComponent, C3ModalModule, C3NavItemComponent, C3NavbarComponent, C3NavbarModule, C3OpenDialogDirective, C3PreventClickDirective, C3PreventKeyboardEventDirective, C3PromptDialogComponent, C3RoundedTitleComponent, C3RoundedTitleModule, C3SafeUrlPipe, C3SelectOnFocusDirective, C3StopPropagationDirective, C3TabComponent, C3TabsComponent, C3TabsModule, C3TraceCardAlignLeftDirective, C3TraceCardAlignRightDirective, C3TraceCardComponent, C3TraceCardContentComponent, C3TraceCardModule, C3TraceCardTitleComponent, C3TreeComponent, C3_FILE_DISPLAY_LIST, ConfirmDialogComponent, CustomFileEvent, FullScreenDirective, MAT_DROPDOWN_VALUE_ACCESSOR };
|
|
906
1133
|
export type { AlertConfig, C3CreateDialogFromComponentConfig, C3CreateDialogFromComponentResult, C3FileCardSize, C3FileViewerConfig, ConfirmConfig, FileMetadata, FileNode, HttpClientOptions, PromptConfig, TreeType, VariantFile };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@use "@angular/material" as mat;
|
|
2
|
+
|
|
3
|
+
@mixin c3-modal-theme($theme) {
|
|
4
|
+
$bg-card: mat.get-theme-color($theme, background, card);
|
|
5
|
+
|
|
6
|
+
.c3-modal {
|
|
7
|
+
.container {
|
|
8
|
+
position: fixed;
|
|
9
|
+
z-index: 100;
|
|
10
|
+
top: 0;
|
|
11
|
+
right: 0;
|
|
12
|
+
min-height: 400px;
|
|
13
|
+
overflow: auto;
|
|
14
|
+
overflow-x: hidden;
|
|
15
|
+
background: $bg-card;
|
|
16
|
+
border-left: 1px solid rgba(255, 255, 255, 0.03);
|
|
17
|
+
min-width: 720px;
|
|
18
|
+
|
|
19
|
+
> div {
|
|
20
|
+
margin: 20px;
|
|
21
|
+
min-height: calc(100% - 40px);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.outer {
|
|
26
|
+
position: absolute;
|
|
27
|
+
top: 0;
|
|
28
|
+
left: 0;
|
|
29
|
+
width: 100%;
|
|
30
|
+
height: 100%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.close-button {
|
|
34
|
+
position: fixed;
|
|
35
|
+
z-index: 101;
|
|
36
|
+
top: 1rem;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
@use "@angular/material" as mat;
|
|
2
|
+
|
|
3
|
+
@mixin c3-navbar-theme($theme) {
|
|
4
|
+
$bg: mat.get-theme-color($theme, background, background);
|
|
5
|
+
$accent: mat.get-theme-color($theme, accent);
|
|
6
|
+
$is-dark-theme: if(mat.get-theme-type($theme) == dark, true, false);
|
|
7
|
+
|
|
8
|
+
.c3-navbar {
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 36px;
|
|
11
|
+
display: flex;
|
|
12
|
+
background-color: $bg;
|
|
13
|
+
|
|
14
|
+
&.fixed {
|
|
15
|
+
position: fixed;
|
|
16
|
+
width: calc(100% - 60px);
|
|
17
|
+
left: 60px;
|
|
18
|
+
height: 36px;
|
|
19
|
+
display: flex;
|
|
20
|
+
overflow-x: hidden;
|
|
21
|
+
overflow-y: hidden;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&:hover {
|
|
25
|
+
overflow-x: visible;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
a {
|
|
29
|
+
display: block;
|
|
30
|
+
flex-direction: row;
|
|
31
|
+
min-width: 150px;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
padding: 0 16px;
|
|
34
|
+
text-decoration: none;
|
|
35
|
+
line-height: 1.8em;
|
|
36
|
+
border-top: 3px solid transparent;
|
|
37
|
+
border-right: 1px solid #ffffff1a;
|
|
38
|
+
color: inherit;
|
|
39
|
+
|
|
40
|
+
&:last-of-type {
|
|
41
|
+
border-right: none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&.selected {
|
|
45
|
+
border-top: 3px solid $accent;
|
|
46
|
+
|
|
47
|
+
@if $is-dark-theme {
|
|
48
|
+
background-color: $accent;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&.flex a {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex: 1;
|
|
56
|
+
padding-left: 16px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.spacer {
|
|
60
|
+
display: block;
|
|
61
|
+
flex-direction: row;
|
|
62
|
+
min-width: 100px;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@use "@angular/material" as mat;
|
|
2
|
+
|
|
3
|
+
@mixin c3-rounded-title-theme($theme) {
|
|
4
|
+
$bg-accent: mat.get-theme-color($theme, accent);
|
|
5
|
+
$bg-primary: mat.get-theme-color($theme, primary);
|
|
6
|
+
$is-dark-theme: if(mat.get-theme-type($theme) == dark, true, false);
|
|
7
|
+
|
|
8
|
+
.c3-rounded-title {
|
|
9
|
+
$menuText-height: 44px;
|
|
10
|
+
|
|
11
|
+
position: relative;
|
|
12
|
+
display: flex;
|
|
13
|
+
border-radius: 26px;
|
|
14
|
+
height: $menuText-height;
|
|
15
|
+
padding: 4px;
|
|
16
|
+
|
|
17
|
+
@if $is-dark-theme {
|
|
18
|
+
background-color: $bg-accent;
|
|
19
|
+
} @else {
|
|
20
|
+
background-color: $bg-accent;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.title {
|
|
24
|
+
z-index: 1;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
transition: 0.5s all ease;
|
|
27
|
+
line-height: calc($menuText-height - 8px);
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
color: white;
|
|
30
|
+
padding: 0 8px;
|
|
31
|
+
width: 100%;
|
|
32
|
+
background: $bg-primary;
|
|
33
|
+
border-radius: 18px;
|
|
34
|
+
user-select: none;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
@use "../c3-expansion/styles/_c3-expansion" as *;
|
|
5
5
|
@use "../c3-flowing-menu/styles/c3-flowing-menu" as *;
|
|
6
6
|
@use "../c3-menu/styles/c3-menu" as *;
|
|
7
|
+
@use "../c3-tabs/styles/c3-tabs" as *;
|
|
8
|
+
@use "../c3-navbar/styles/c3-navbar" as *;
|
|
9
|
+
@use "../c3-modal/styles/c3-modal" as *;
|
|
10
|
+
@use "../c3-rounded-title/styles/c3-rounded-title" as *;
|
|
7
11
|
|
|
8
12
|
@mixin c3-core($theme) {
|
|
9
13
|
@include c3-root-variables($theme);
|
|
@@ -12,6 +16,10 @@
|
|
|
12
16
|
@include c3-expansion($theme);
|
|
13
17
|
@include c3-flowing-menu($theme);
|
|
14
18
|
@include c3-menu-theme();
|
|
19
|
+
@include c3-tabs-theme($theme);
|
|
20
|
+
@include c3-navbar-theme($theme);
|
|
21
|
+
@include c3-modal-theme($theme);
|
|
22
|
+
@include c3-rounded-title-theme($theme);
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
@mixin c3-core-m3($theme) {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Base structure; colors come from c3-tabs theme mixin
|
|
2
|
+
.c3-tabs {
|
|
3
|
+
display: block;
|
|
4
|
+
|
|
5
|
+
.menu-text__container {
|
|
6
|
+
$menuText-height: 44px;
|
|
7
|
+
|
|
8
|
+
position: relative;
|
|
9
|
+
display: flex;
|
|
10
|
+
border-radius: 26px;
|
|
11
|
+
height: $menuText-height;
|
|
12
|
+
padding: 4px;
|
|
13
|
+
|
|
14
|
+
.item,
|
|
15
|
+
.item a {
|
|
16
|
+
z-index: 1;
|
|
17
|
+
cursor: pointer;
|
|
18
|
+
transition: 0.5s all ease;
|
|
19
|
+
line-height: calc($menuText-height - 8px);
|
|
20
|
+
text-decoration: none;
|
|
21
|
+
color: white;
|
|
22
|
+
padding: 0 8px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.item:not(.active),
|
|
26
|
+
.item:not(.active) a {
|
|
27
|
+
color: white;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.toggle-btn__background {
|
|
31
|
+
position: absolute;
|
|
32
|
+
width: 70px;
|
|
33
|
+
border-radius: 18px;
|
|
34
|
+
height: calc($menuText-height - 8px);
|
|
35
|
+
transition: 0.5s all ease;
|
|
36
|
+
user-select: none;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@use "@angular/material" as mat;
|
|
2
|
+
|
|
3
|
+
@mixin c3-tabs-theme($theme) {
|
|
4
|
+
$primary: mat.get-theme-color($theme, primary);
|
|
5
|
+
$accent: mat.get-theme-color($theme, accent);
|
|
6
|
+
$is-dark-theme: mat.get-theme-type($theme) == dark;
|
|
7
|
+
|
|
8
|
+
.c3-tabs .menu-text__container {
|
|
9
|
+
@if $is-dark-theme {
|
|
10
|
+
background-color: color-mix(in srgb, #{$accent} 70%, black);
|
|
11
|
+
} @else {
|
|
12
|
+
background-color: color-mix(in srgb, #{$accent} 50%, white);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.toggle-btn__background {
|
|
16
|
+
background: #{$primary};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|