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/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, ElementRef, ViewContainerRef, AfterViewInit, Signal, ComponentRef, ChangeDetectorRef, OnInit, SimpleChanges, PipeTransform, InjectionToken } from '@angular/core';
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
- readonly panelClass: i0.InputSignal<string | string[] | Set<string> | {
44
- [key: string]: any;
45
- } | undefined>;
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", never, { "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, {}, never, ["*"], false, never>;
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 - A string, an array of strings, a set of strings or a
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
- /** The dropdown menu instance */
73
- readonly dropdown: i0.ModelSignal<C3DropdownComponent>;
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. Supports the same syntax as `ngClass`. */
77
- readonly dropdownClass: i0.InputSignal<string | string[] | Set<string> | {
78
- [key: string]: any;
79
- }>;
80
- constructor(_element: ElementRef<HTMLElement>, _overlay: Overlay, _viewContainerRef: ViewContainerRef);
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]", never, { "dropdown": { "alias": "c3DropdownTrigger"; "required": true; "isSignal": true; }; "dropdownDisabled": { "alias": "dropdownDisabled"; "required": false; "isSignal": true; }; "dropdownClass": { "alias": "dropdownClass"; "required": false; "isSignal": true; }; }, { "dropdown": "c3DropdownTriggerChange"; }, never, never, false, never>;
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
- 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, C3MenuComponent, C3MenuModule, C3NavItemComponent, C3OpenDialogDirective, C3PreventClickDirective, C3PreventKeyboardEventDirective, C3PromptDialogComponent, C3SafeUrlPipe, C3SelectOnFocusDirective, C3StopPropagationDirective, C3TraceCardAlignLeftDirective, C3TraceCardAlignRightDirective, C3TraceCardComponent, C3TraceCardContentComponent, C3TraceCardModule, C3TraceCardTitleComponent, C3TreeComponent, C3_FILE_DISPLAY_LIST, ConfirmDialogComponent, CustomFileEvent, FullScreenDirective, MAT_DROPDOWN_VALUE_ACCESSOR };
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c3-components",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
4
4
  "description": "C3 Components Library",
5
5
  "author": "c3ulnta0rk",
6
6
  "license": "MIT",