@resolve-components/theme 1.0.0 → 1.2.1
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/accordion/rc-accordion.scss +141 -0
- package/alert/rc-alert.scss +158 -0
- package/autocomplete/rc-autocomplete.scss +64 -0
- package/badge/rc-badge.scss +57 -0
- package/button/rc-button.scss +198 -0
- package/card/rc-card.scss +31 -0
- package/checkbox/rc-checkbox.scss +163 -0
- package/chip/rc-chip.scss +172 -0
- package/datepicker/rc-datepicker.scss +322 -0
- package/dialog/rc-dialog.scss +114 -0
- package/fesm2022/resolve-components-theme.mjs +44 -30
- package/fesm2022/resolve-components-theme.mjs.map +1 -1
- package/file-upload/rc-file-upload.scss +143 -0
- package/icon/rc-icon.scss +47 -0
- package/infinite-scroll/rc-infinite-scroll.scss +54 -0
- package/input/rc-input.scss +156 -0
- package/menu/rc-menu.scss +84 -0
- package/navbar/rc-navbar.scss +112 -0
- package/package.json +16 -9
- package/paginator/rc-paginator.scss +86 -0
- package/progress-bar/rc-progress-bar.scss +88 -0
- package/radio/rc-radio.scss +124 -0
- package/schematics/ng-add/index.js +149 -69
- package/schematics/ng-add/schema.json +15 -1
- package/select/rc-select.scss +197 -0
- package/sidenav/rc-sidenav.scss +154 -0
- package/slider/rc-slider.scss +311 -0
- package/spinner/rc-spinner.scss +106 -0
- package/{src/lib/styles → styles}/theming/_mapping.scss +2 -1
- package/table/rc-table.scss +147 -0
- package/tabs/rc-tabs.scss +155 -0
- package/toast/rc-toast.scss +228 -0
- package/toggle/rc-toggle.scss +138 -0
- package/tooltip/rc-tooltip.scss +34 -0
- package/tree/rc-tree.scss +114 -0
- package/types/resolve-components-theme.d.ts +32 -31
- package/virtual-scroll/rc-virtual-scroll.scss +38 -0
- /package/{src/lib/styles → styles}/_all.scss +0 -0
- /package/{src/lib/styles → styles}/_globals.scss +0 -0
- /package/{src/lib/styles → styles}/_themes.scss +0 -0
- /package/{src/lib/styles → styles}/_theming.scss +0 -0
- /package/{src/lib/styles → styles}/themes/_dark.scss +0 -0
- /package/{src/lib/styles → styles}/themes/_default.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_animation.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_functions.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_get-value.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_install.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_register.scss +0 -0
- /package/{src/lib/styles → styles}/theming/_theming-variables.scss +0 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// rc-toggle Resolve Components Toggle Switch (Themed)
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
@use '../styles/theming/get-value' as *;
|
|
6
|
+
@use '../styles/theming/install' as *;
|
|
7
|
+
@use '../styles/theming/animation' as *;
|
|
8
|
+
|
|
9
|
+
@include rc-install-component() {
|
|
10
|
+
.rc-toggle {
|
|
11
|
+
display: inline-flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: rc-theme('toggle-gap');
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
user-select: none;
|
|
16
|
+
font-family: rc-theme('toggle-font-family');
|
|
17
|
+
font-size: rc-theme('toggle-md-font-size');
|
|
18
|
+
color: rc-theme('toggle-text-color');
|
|
19
|
+
|
|
20
|
+
// ── Sizes ──────────────────────────────────────────────────────────────
|
|
21
|
+
|
|
22
|
+
&-sm {
|
|
23
|
+
font-size: rc-theme('toggle-sm-font-size');
|
|
24
|
+
gap: rc-theme('toggle-gap');
|
|
25
|
+
|
|
26
|
+
.rc-toggle-track {
|
|
27
|
+
width: rc-theme('toggle-sm-track-width');
|
|
28
|
+
height: rc-theme('toggle-sm-track-height');
|
|
29
|
+
border-radius: rc-theme('toggle-sm-track-border-radius');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.rc-toggle-thumb {
|
|
33
|
+
width: rc-theme('toggle-sm-thumb-size');
|
|
34
|
+
height: rc-theme('toggle-sm-thumb-size');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&-md {
|
|
39
|
+
font-size: rc-theme('toggle-md-font-size');
|
|
40
|
+
|
|
41
|
+
.rc-toggle-track {
|
|
42
|
+
width: rc-theme('toggle-md-track-width');
|
|
43
|
+
height: rc-theme('toggle-md-track-height');
|
|
44
|
+
border-radius: rc-theme('toggle-md-track-border-radius');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.rc-toggle-thumb {
|
|
48
|
+
width: rc-theme('toggle-md-thumb-size');
|
|
49
|
+
height: rc-theme('toggle-md-thumb-size');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&-lg {
|
|
54
|
+
font-size: rc-theme('toggle-lg-font-size');
|
|
55
|
+
|
|
56
|
+
.rc-toggle-track {
|
|
57
|
+
width: rc-theme('toggle-lg-track-width');
|
|
58
|
+
height: rc-theme('toggle-lg-track-height');
|
|
59
|
+
border-radius: rc-theme('toggle-lg-track-border-radius');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.rc-toggle-thumb {
|
|
63
|
+
width: rc-theme('toggle-lg-thumb-size');
|
|
64
|
+
height: rc-theme('toggle-lg-thumb-size');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ── Checked state ──────────────────────────────────────────────────────
|
|
69
|
+
|
|
70
|
+
&-checked {
|
|
71
|
+
.rc-toggle-track {
|
|
72
|
+
background: rc-theme('toggle-checked-track-color');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.rc-toggle-thumb {
|
|
76
|
+
transform: translateX(calc(100% + rc-theme('toggle-thumb-gap') * 2));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// ── Disabled state ────────────────────────────────────────────────────
|
|
81
|
+
|
|
82
|
+
&-disabled {
|
|
83
|
+
opacity: rc-theme('toggle-disabled-opacity');
|
|
84
|
+
cursor: not-allowed;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// ── Focus ring ────────────────────────────────────────────────────────
|
|
88
|
+
|
|
89
|
+
&:focus-visible .rc-toggle-track {
|
|
90
|
+
outline: 2px solid rc-theme('toggle-focus-outline-color');
|
|
91
|
+
outline-offset: 2px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// ── Hover ────────────────────────────────────────────────────────────
|
|
95
|
+
|
|
96
|
+
&:not(.rc-toggle-disabled):not(.rc-toggle-checked):hover .rc-toggle-track {
|
|
97
|
+
background: rc-theme('toggle-hover-track-color');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&:not(.rc-toggle-disabled).rc-toggle-checked:hover .rc-toggle-track {
|
|
101
|
+
background: rc-theme('toggle-checked-hover-track-color');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// ── Label position ─────────────────────────────────────────────────────
|
|
105
|
+
|
|
106
|
+
&-label-left {
|
|
107
|
+
flex-direction: row-reverse;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// ── Parts ─────────────────────────────────────────────────────────────
|
|
111
|
+
|
|
112
|
+
&-track {
|
|
113
|
+
position: relative;
|
|
114
|
+
flex-shrink: 0;
|
|
115
|
+
background: rc-theme('toggle-track-color');
|
|
116
|
+
@include rc-component-animation(background, $speed: 'normal');
|
|
117
|
+
display: flex;
|
|
118
|
+
align-items: center;
|
|
119
|
+
padding: rc-theme('toggle-thumb-gap');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
&-thumb {
|
|
123
|
+
flex-shrink: 0;
|
|
124
|
+
border-radius: 50%;
|
|
125
|
+
background: rc-theme('toggle-thumb-color');
|
|
126
|
+
box-shadow: rc-theme('toggle-thumb-shadow');
|
|
127
|
+
@include rc-component-animation(
|
|
128
|
+
transform,
|
|
129
|
+
$speed: 'normal',
|
|
130
|
+
$timing: cubic-bezier(0.4, 0, 0.2, 1)
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
&-label {
|
|
135
|
+
line-height: 1.5;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@use '../styles/theming' as *;
|
|
2
|
+
|
|
3
|
+
@include rc-install-component() {
|
|
4
|
+
.rc-tooltip-panel {
|
|
5
|
+
// CDK overlay panel - removes default pointer-events none
|
|
6
|
+
pointer-events: none;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.rc-tooltip-bubble {
|
|
10
|
+
display: inline-block;
|
|
11
|
+
max-width: rc-theme('tooltip-max-width');
|
|
12
|
+
padding: rc-theme('tooltip-padding');
|
|
13
|
+
background: rc-theme('tooltip-background');
|
|
14
|
+
color: rc-theme('tooltip-text-color');
|
|
15
|
+
font-family: rc-theme('tooltip-font-family');
|
|
16
|
+
font-size: rc-theme('tooltip-font-size');
|
|
17
|
+
line-height: 1.5;
|
|
18
|
+
border-radius: rc-theme('tooltip-border-radius');
|
|
19
|
+
word-break: break-word;
|
|
20
|
+
animation: rc-tooltip-in 120ms ease-out;
|
|
21
|
+
box-shadow: rc-theme('tooltip-shadow');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@keyframes rc-tooltip-in {
|
|
25
|
+
from {
|
|
26
|
+
opacity: 0;
|
|
27
|
+
transform: scale(0.95);
|
|
28
|
+
}
|
|
29
|
+
to {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
transform: scale(1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// rc-tree Resolve Components Tree (Themed)
|
|
3
|
+
// =============================================================================
|
|
4
|
+
|
|
5
|
+
@use '../styles/theming/get-value' as *;
|
|
6
|
+
@use '../styles/theming/install' as *;
|
|
7
|
+
@use '../styles/theming/animation' as *;
|
|
8
|
+
|
|
9
|
+
@include rc-install-component() {
|
|
10
|
+
// ── Container ──────────────────────────────────────────────────────────────
|
|
11
|
+
.rc-tree {
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
font-family: rc-theme('tree-font-family');
|
|
15
|
+
font-size: rc-theme('tree-font-size');
|
|
16
|
+
color: rc-theme('tree-text-color');
|
|
17
|
+
background: rc-theme('tree-background');
|
|
18
|
+
border: 1px solid rc-theme('tree-border-color');
|
|
19
|
+
border-radius: rc-theme('tree-border-radius');
|
|
20
|
+
padding: rc-theme('tree-padding');
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// ── Node ───────────────────────────────────────────────────────────────────
|
|
25
|
+
.rc-tree-node {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// ── Row ────────────────────────────────────────────────────────────────────
|
|
31
|
+
.rc-tree-node-row {
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: 0.25rem;
|
|
35
|
+
min-height: rc-theme('tree-row-height');
|
|
36
|
+
padding-top: 0.125rem;
|
|
37
|
+
padding-bottom: 0.125rem;
|
|
38
|
+
padding-right: 0.5rem;
|
|
39
|
+
border-radius: rc-theme('tree-row-border-radius');
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
@include rc-component-animation(
|
|
42
|
+
background,
|
|
43
|
+
$duration: rc-theme('tree-transition-duration'),
|
|
44
|
+
$timing: rc-theme('tree-transition-timing')
|
|
45
|
+
);
|
|
46
|
+
user-select: none;
|
|
47
|
+
|
|
48
|
+
&:hover:not(.rc-tree-node-disabled) {
|
|
49
|
+
background: rc-theme('tree-row-hover-background');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&:focus-visible {
|
|
53
|
+
outline: 2px solid rc-theme('tree-focus-color');
|
|
54
|
+
outline-offset: -1px;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// ── Selected ───────────────────────────────────────────────────────────────
|
|
59
|
+
.rc-tree-node-selected {
|
|
60
|
+
background: rc-theme('tree-row-selected-background') !important;
|
|
61
|
+
color: rc-theme('tree-row-selected-color');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// ── Disabled ───────────────────────────────────────────────────────────────
|
|
65
|
+
.rc-tree-node-disabled {
|
|
66
|
+
opacity: rc-theme('tree-disabled-opacity');
|
|
67
|
+
cursor: not-allowed;
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ── Expand button (layout only — appearance from rcButton) ─────────────────
|
|
72
|
+
.rc-tree-expand-btn {
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// ── Leaf spacer (placeholder width to align labels with sibling branches) ──
|
|
77
|
+
.rc-tree-node-leaf-spacer {
|
|
78
|
+
// Match the sm icon-only rcButton size so labels stay aligned
|
|
79
|
+
display: inline-flex;
|
|
80
|
+
flex-shrink: 0;
|
|
81
|
+
width: 2rem;
|
|
82
|
+
height: 2rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// ── Chevron icon ───────────────────────────────────────────────────────────
|
|
86
|
+
.rc-tree-chevron {
|
|
87
|
+
@include rc-component-animation(
|
|
88
|
+
transform,
|
|
89
|
+
$duration: rc-theme('tree-transition-duration'),
|
|
90
|
+
$timing: rc-theme('tree-transition-timing')
|
|
91
|
+
);
|
|
92
|
+
transform: rotate(-90deg); // pointing right = collapsed
|
|
93
|
+
color: rc-theme('tree-icon-color');
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.rc-tree-chevron-open {
|
|
97
|
+
transform: rotate(0deg); // pointing down = expanded
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// ── Label ──────────────────────────────────────────────────────────────────
|
|
101
|
+
.rc-tree-node-label {
|
|
102
|
+
flex: 1;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
text-overflow: ellipsis;
|
|
106
|
+
line-height: 1.4;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// ── Children container ─────────────────────────────────────────────────────
|
|
110
|
+
.rc-tree-node-children {
|
|
111
|
+
display: flex;
|
|
112
|
+
flex-direction: column;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -263,7 +263,7 @@ declare class ResolveComponents {
|
|
|
263
263
|
|
|
264
264
|
/** Shape / visual style of the button. */
|
|
265
265
|
type RcButtonVariant = 'filled' | 'outline' | 'ghost';
|
|
266
|
-
/** Semantic
|
|
266
|
+
/** Semantic color / importance of the button. */
|
|
267
267
|
type RcButtonStatus = 'primary' | 'secondary' | 'danger' | 'info' | 'success' | 'warning';
|
|
268
268
|
type RcButtonSize = 'sm' | 'md' | 'lg';
|
|
269
269
|
/**
|
|
@@ -307,7 +307,7 @@ type RcButtonSize = 'sm' | 'md' | 'lg';
|
|
|
307
307
|
* ```
|
|
308
308
|
*
|
|
309
309
|
* @input variant - Visual shape: `'filled'` | `'outline'` | `'ghost'`. Default: `'filled'`
|
|
310
|
-
* @input status - Semantic
|
|
310
|
+
* @input status - Semantic color: `'primary'` | `'secondary'` | `'danger'` | `'info'` | `'success'` | `'warning'`. Default: `'primary'`
|
|
311
311
|
* @input size - Button size: `'sm'` | `'md'` | `'lg'`. Default: `'md'`
|
|
312
312
|
* @input disabled - Whether the element is disabled. Default: `false`
|
|
313
313
|
* @input iconOnly - Renders as a square icon-only button. Default: `false`
|
|
@@ -315,10 +315,10 @@ type RcButtonSize = 'sm' | 'md' | 'lg';
|
|
|
315
315
|
*
|
|
316
316
|
* Variants (shape):
|
|
317
317
|
* - `filled` Solid background — default
|
|
318
|
-
* - `outline` Transparent with
|
|
318
|
+
* - `outline` Transparent with colored border
|
|
319
319
|
* - `ghost` Fully transparent, hover reveals background
|
|
320
320
|
*
|
|
321
|
-
* Status (
|
|
321
|
+
* Status (color):
|
|
322
322
|
* - `primary` Blue — main call-to-action
|
|
323
323
|
* - `secondary` Gray — secondary / neutral action
|
|
324
324
|
* - `danger` Red — destructive / irreversible action
|
|
@@ -329,7 +329,7 @@ type RcButtonSize = 'sm' | 'md' | 'lg';
|
|
|
329
329
|
declare class RcButtonComponent {
|
|
330
330
|
/** Visual shape of the button */
|
|
331
331
|
variant: RcButtonVariant;
|
|
332
|
-
/** Semantic
|
|
332
|
+
/** Semantic color / importance */
|
|
333
333
|
status: RcButtonStatus;
|
|
334
334
|
/** Button size */
|
|
335
335
|
size: RcButtonSize;
|
|
@@ -344,7 +344,7 @@ declare class RcButtonComponent {
|
|
|
344
344
|
static ɵcmp: i0.ɵɵComponentDeclaration<RcButtonComponent, "button[rcButton], a[rcButton], input[type=submit][rcButton], input[type=button][rcButton], input[type=reset][rcButton]", never, { "variant": { "alias": "variant"; "required": false; }; "status": { "alias": "status"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
/**
|
|
347
|
+
/** Color status of the badge. */
|
|
348
348
|
type RcBadgeStatus = 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
349
349
|
/** @deprecated Use `RcBadgeStatus` instead. */
|
|
350
350
|
type RcBadgeVariant = RcBadgeStatus;
|
|
@@ -362,7 +362,7 @@ type RcBadgeSize = 'sm' | 'md';
|
|
|
362
362
|
* ```
|
|
363
363
|
*/
|
|
364
364
|
declare class RcBadgeComponent {
|
|
365
|
-
/**
|
|
365
|
+
/** Color status of the badge. */
|
|
366
366
|
status: RcBadgeStatus;
|
|
367
367
|
/** Badge size. */
|
|
368
368
|
size: RcBadgeSize;
|
|
@@ -416,7 +416,7 @@ type RcIconStatus = 'basic' | 'primary' | 'success' | 'warning' | 'danger' | 'in
|
|
|
416
416
|
* <rc-icon name="star"></rc-icon>
|
|
417
417
|
* ```
|
|
418
418
|
*
|
|
419
|
-
* @example With status
|
|
419
|
+
* @example With status color
|
|
420
420
|
* ```html
|
|
421
421
|
* <rc-icon name="checkmark-circle" status="success"></rc-icon>
|
|
422
422
|
* <rc-icon name="alert-circle" status="danger"></rc-icon>
|
|
@@ -441,15 +441,15 @@ type RcIconStatus = 'basic' | 'primary' | 'success' | 'warning' | 'danger' | 'in
|
|
|
441
441
|
* ```
|
|
442
442
|
*
|
|
443
443
|
* @input name - Eva Icons icon name (e.g. `'star'`, `'home'`, `'checkmark'`)
|
|
444
|
-
* @input status -
|
|
444
|
+
* @input status - Color variant using semantic theme tokens. Default: `'basic'`
|
|
445
445
|
*/
|
|
446
446
|
declare class RcIconComponent implements OnChanges {
|
|
447
447
|
private sanitizer;
|
|
448
448
|
/** Eva Icons icon name */
|
|
449
449
|
name: string;
|
|
450
450
|
/**
|
|
451
|
-
*
|
|
452
|
-
* `'basic'` inherits the surrounding text
|
|
451
|
+
* Color status applied via theme CSS custom properties.
|
|
452
|
+
* `'basic'` inherits the surrounding text color.
|
|
453
453
|
*/
|
|
454
454
|
status: RcIconStatus;
|
|
455
455
|
svgHtml: SafeHtml;
|
|
@@ -482,8 +482,8 @@ declare class RcTabComponent {
|
|
|
482
482
|
/** Optional Eva Icons icon name shown before the label */
|
|
483
483
|
icon?: string;
|
|
484
484
|
/**
|
|
485
|
-
* Semantic status —
|
|
486
|
-
* `'basic'` uses the default primary
|
|
485
|
+
* Semantic status — colors the active tab indicator.
|
|
486
|
+
* `'basic'` uses the default primary color.
|
|
487
487
|
*/
|
|
488
488
|
status: RcTabStatus;
|
|
489
489
|
/** When true the tab header is non-interactive */
|
|
@@ -558,14 +558,14 @@ type RcAlertVariant = 'subtle' | 'filled' | 'outline';
|
|
|
558
558
|
* </rc-alert>
|
|
559
559
|
* ```
|
|
560
560
|
*
|
|
561
|
-
* @input status - Semantic status
|
|
561
|
+
* @input status - Semantic status color. Default: `'info'`
|
|
562
562
|
* @input variant - Visual style. Default: `'subtle'`
|
|
563
563
|
* @input title - Optional bold heading above the message.
|
|
564
564
|
* @input dismissible - Shows a close button. Default: `false`
|
|
565
565
|
* @output dismissed - Emits when the close button is clicked.
|
|
566
566
|
*/
|
|
567
567
|
declare class RcAlertComponent {
|
|
568
|
-
/** Semantic status
|
|
568
|
+
/** Semantic status color */
|
|
569
569
|
status: RcAlertStatus;
|
|
570
570
|
/** Visual style variant */
|
|
571
571
|
variant: RcAlertVariant;
|
|
@@ -590,7 +590,7 @@ interface RcToastConfig {
|
|
|
590
590
|
message: string;
|
|
591
591
|
/** Optional bold heading above the message. */
|
|
592
592
|
title?: string;
|
|
593
|
-
/** Semantic status
|
|
593
|
+
/** Semantic status color. Default: `'info'` */
|
|
594
594
|
status?: RcToastStatus;
|
|
595
595
|
/**
|
|
596
596
|
* Auto-dismiss delay in milliseconds.
|
|
@@ -1315,7 +1315,7 @@ type RcChipSize = 'sm' | 'md';
|
|
|
1315
1315
|
* <rc-chip [disabled]="true">Not available</rc-chip>
|
|
1316
1316
|
* ```
|
|
1317
1317
|
*
|
|
1318
|
-
* @input status -
|
|
1318
|
+
* @input status - Color status. Default: `'default'`
|
|
1319
1319
|
* @input size - Chip size. Default: `'md'`
|
|
1320
1320
|
* @input icon - Eva Icons icon name shown before the label.
|
|
1321
1321
|
* @input closeable - Shows a close/remove button. Default: `false`
|
|
@@ -1325,7 +1325,7 @@ type RcChipSize = 'sm' | 'md';
|
|
|
1325
1325
|
* @output closed - Emits when the close button is clicked (and not disabled).
|
|
1326
1326
|
*/
|
|
1327
1327
|
declare class RcChipComponent {
|
|
1328
|
-
/**
|
|
1328
|
+
/** Color status */
|
|
1329
1329
|
status: RcChipStatus;
|
|
1330
1330
|
/** Chip size */
|
|
1331
1331
|
size: RcChipSize;
|
|
@@ -2164,7 +2164,7 @@ declare class RcSidenavContainerComponent implements RcSidenavContainerRef, Afte
|
|
|
2164
2164
|
static ɵcmp: i0.ɵɵComponentDeclaration<RcSidenavContainerComponent, "rc-sidenav-container", never, {}, {}, ["_contentSidenavs"], ["rc-sidenav", "rc-sidenav-content", "*"], true, never>;
|
|
2165
2165
|
}
|
|
2166
2166
|
|
|
2167
|
-
/**
|
|
2167
|
+
/** Color variant for the navbar. */
|
|
2168
2168
|
type RcNavbarColor = 'default' | 'primary';
|
|
2169
2169
|
/** CSS position strategy. */
|
|
2170
2170
|
type RcNavbarPosition = 'static' | 'sticky' | 'fixed';
|
|
@@ -2259,7 +2259,7 @@ declare class RcNavbarRowComponent {
|
|
|
2259
2259
|
* </rc-navbar>
|
|
2260
2260
|
* ```
|
|
2261
2261
|
*
|
|
2262
|
-
* @example Primary
|
|
2262
|
+
* @example Primary color + sticky
|
|
2263
2263
|
* ```html
|
|
2264
2264
|
* <rc-navbar color="primary" position="sticky">…</rc-navbar>
|
|
2265
2265
|
* ```
|
|
@@ -2294,9 +2294,9 @@ declare class RcNavbarRowComponent {
|
|
|
2294
2294
|
*/
|
|
2295
2295
|
declare class RcNavbarComponent {
|
|
2296
2296
|
/**
|
|
2297
|
-
*
|
|
2297
|
+
* Color variant.
|
|
2298
2298
|
* - `'default'` — white / surface background (default)
|
|
2299
|
-
* - `'primary'` — primary brand
|
|
2299
|
+
* - `'primary'` — primary brand color
|
|
2300
2300
|
*/
|
|
2301
2301
|
color: RcNavbarColor;
|
|
2302
2302
|
/**
|
|
@@ -2592,7 +2592,7 @@ declare class RcTreeComponent implements OnChanges {
|
|
|
2592
2592
|
static ɵcmp: i0.ɵɵComponentDeclaration<RcTreeComponent, "rc-tree", never, { "nodes": { "alias": "nodes"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "expandedIds": { "alias": "expandedIds"; "required": false; }; }, { "selectionChange": "selectionChange"; "nodeClick": "nodeClick"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; }, never, never, true, never>;
|
|
2593
2593
|
}
|
|
2594
2594
|
|
|
2595
|
-
/**
|
|
2595
|
+
/** Color variant for the spinner circle. */
|
|
2596
2596
|
type RcSpinnerStatus = 'primary' | 'info' | 'success' | 'warning' | 'danger' | 'basic';
|
|
2597
2597
|
/** Size variant for the spinner. */
|
|
2598
2598
|
type RcSpinnerSize = 'sm' | 'md' | 'lg';
|
|
@@ -2609,7 +2609,7 @@ type RcSpinnerSize = 'sm' | 'md' | 'lg';
|
|
|
2609
2609
|
* <rc-spinner status="danger" message="Saving failed — retrying…"></rc-spinner>
|
|
2610
2610
|
* ```
|
|
2611
2611
|
*
|
|
2612
|
-
* @example Status
|
|
2612
|
+
* @example Status colors
|
|
2613
2613
|
* ```html
|
|
2614
2614
|
* <rc-spinner status="primary"></rc-spinner>
|
|
2615
2615
|
* <rc-spinner status="info"></rc-spinner>
|
|
@@ -2620,7 +2620,7 @@ type RcSpinnerSize = 'sm' | 'md' | 'lg';
|
|
|
2620
2620
|
* ```
|
|
2621
2621
|
*/
|
|
2622
2622
|
declare class RcSpinnerComponent {
|
|
2623
|
-
/**
|
|
2623
|
+
/** Color status of the spinner circle. Default: `'primary'` */
|
|
2624
2624
|
status: RcSpinnerStatus;
|
|
2625
2625
|
/** Visual size of the spinner. Default: `'md'` */
|
|
2626
2626
|
size: RcSpinnerSize;
|
|
@@ -2663,7 +2663,7 @@ declare class RcSpinnerComponent {
|
|
|
2663
2663
|
declare class RcSpinnerDirective implements OnChanges, OnDestroy {
|
|
2664
2664
|
/** When `true`, the spinner overlay is rendered inside the host element. */
|
|
2665
2665
|
rcSpinner: boolean;
|
|
2666
|
-
/**
|
|
2666
|
+
/** Color status forwarded to the inner `rc-spinner`. Default: `'primary'` */
|
|
2667
2667
|
rcSpinnerStatus: RcSpinnerStatus;
|
|
2668
2668
|
/** Size forwarded to the inner `rc-spinner`. Default: `'md'` */
|
|
2669
2669
|
rcSpinnerSize: RcSpinnerSize;
|
|
@@ -2679,7 +2679,7 @@ declare class RcSpinnerDirective implements OnChanges, OnDestroy {
|
|
|
2679
2679
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RcSpinnerDirective, "[rcSpinner]", never, { "rcSpinner": { "alias": "rcSpinner"; "required": false; }; "rcSpinnerStatus": { "alias": "rcSpinnerStatus"; "required": false; }; "rcSpinnerSize": { "alias": "rcSpinnerSize"; "required": false; }; "rcSpinnerMessage": { "alias": "rcSpinnerMessage"; "required": false; }; }, {}, never, never, true, never>;
|
|
2680
2680
|
}
|
|
2681
2681
|
|
|
2682
|
-
/** Status
|
|
2682
|
+
/** Status color variant for the progress bar fill. */
|
|
2683
2683
|
type RcProgressBarStatus = 'primary' | 'info' | 'success' | 'warning' | 'danger';
|
|
2684
2684
|
/**
|
|
2685
2685
|
* A themed horizontal progress bar — determinate or indeterminate.
|
|
@@ -2692,7 +2692,7 @@ type RcProgressBarStatus = 'primary' | 'info' | 'success' | 'warning' | 'danger'
|
|
|
2692
2692
|
* <rc-progress-bar [value]="60"></rc-progress-bar>
|
|
2693
2693
|
* ```
|
|
2694
2694
|
*
|
|
2695
|
-
* @example Status
|
|
2695
|
+
* @example Status colors
|
|
2696
2696
|
* ```html
|
|
2697
2697
|
* <rc-progress-bar [value]="80" status="success"></rc-progress-bar>
|
|
2698
2698
|
* <rc-progress-bar [value]="20" status="danger"></rc-progress-bar>
|
|
@@ -2716,7 +2716,7 @@ type RcProgressBarStatus = 'primary' | 'info' | 'success' | 'warning' | 'danger'
|
|
|
2716
2716
|
declare class RcProgressBarComponent {
|
|
2717
2717
|
/** Progress value from 0 to 100. Ignored when `indeterminate` is true. Default: `0` */
|
|
2718
2718
|
value: number;
|
|
2719
|
-
/**
|
|
2719
|
+
/** Color variant of the fill. Default: `'primary'` */
|
|
2720
2720
|
status: RcProgressBarStatus;
|
|
2721
2721
|
/** When true, shows an animated looping bar. Default: `false` */
|
|
2722
2722
|
indeterminate: boolean;
|
|
@@ -2941,7 +2941,7 @@ declare class RcTooltipDirective implements OnDestroy {
|
|
|
2941
2941
|
declare class RcMenuItemComponent {
|
|
2942
2942
|
/** Eva icon name for the leading icon slot. */
|
|
2943
2943
|
icon: string;
|
|
2944
|
-
/** Renders the item with danger (red) text
|
|
2944
|
+
/** Renders the item with danger (red) text coloring. Default: `false` */
|
|
2945
2945
|
danger: boolean;
|
|
2946
2946
|
/** Prevents clicking. Default: `false` */
|
|
2947
2947
|
disabled: boolean;
|
|
@@ -3074,7 +3074,7 @@ declare class RcInfiniteScrollComponent implements AfterViewInit, OnChanges, OnD
|
|
|
3074
3074
|
* Default: `false` — the page scroll triggers loading.
|
|
3075
3075
|
*/
|
|
3076
3076
|
scrollable: boolean;
|
|
3077
|
-
/**
|
|
3077
|
+
/** Color variant passed to the internal `<rc-spinner>`. Default: `'primary'` */
|
|
3078
3078
|
spinnerStatus: RcSpinnerStatus;
|
|
3079
3079
|
/** Optional message displayed beneath the spinner while loading. */
|
|
3080
3080
|
loadingMessage: string;
|
|
@@ -3095,6 +3095,7 @@ declare class RcInfiniteScrollComponent implements AfterViewInit, OnChanges, OnD
|
|
|
3095
3095
|
loadMore: EventEmitter<void>;
|
|
3096
3096
|
private observer?;
|
|
3097
3097
|
private isSentinelVisible;
|
|
3098
|
+
private pendingEmit;
|
|
3098
3099
|
ngAfterViewInit(): void;
|
|
3099
3100
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3100
3101
|
ngOnDestroy(): void;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@use '../styles/theming' as *;
|
|
2
|
+
|
|
3
|
+
@include rc-install-component() {
|
|
4
|
+
.rc-virtual-scroll-viewport {
|
|
5
|
+
display: block;
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.rc-virtual-scroll-inner {
|
|
10
|
+
width: 100%;
|
|
11
|
+
background-color: rc-theme('virtual-scroll-background-color');
|
|
12
|
+
border: 1px solid rc-theme('virtual-scroll-border-color');
|
|
13
|
+
border-radius: rc-theme('virtual-scroll-border-radius');
|
|
14
|
+
overflow: auto;
|
|
15
|
+
|
|
16
|
+
// Styled scrollbar
|
|
17
|
+
scrollbar-width: thin;
|
|
18
|
+
scrollbar-color: rc-theme('virtual-scroll-thumb-color')
|
|
19
|
+
rc-theme('virtual-scroll-track-color');
|
|
20
|
+
|
|
21
|
+
&::-webkit-scrollbar {
|
|
22
|
+
width: 6px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&::-webkit-scrollbar-track {
|
|
26
|
+
background: rc-theme('virtual-scroll-track-color');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&::-webkit-scrollbar-thumb {
|
|
30
|
+
background: rc-theme('virtual-scroll-thumb-color');
|
|
31
|
+
border-radius: 3px;
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
background: rc-theme('virtual-scroll-thumb-hover-color');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|