@ngb-bootstrap/core 0.0.0 → 0.1.0-next.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/LICENSE +201 -0
- package/NOTICE +18 -0
- package/README.md +26 -0
- package/fesm2022/ngb-bootstrap-core-alert.mjs +154 -0
- package/fesm2022/ngb-bootstrap-core-alert.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-badge.mjs +100 -0
- package/fesm2022/ngb-bootstrap-core-badge.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-breadcrumb.mjs +135 -0
- package/fesm2022/ngb-bootstrap-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-button.mjs +513 -0
- package/fesm2022/ngb-bootstrap-core-button.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-card.mjs +540 -0
- package/fesm2022/ngb-bootstrap-core-card.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-cdk.mjs +282 -0
- package/fesm2022/ngb-bootstrap-core-cdk.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-checkbox.mjs +165 -0
- package/fesm2022/ngb-bootstrap-core-checkbox.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-chips.mjs +512 -0
- package/fesm2022/ngb-bootstrap-core-chips.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-floating-label.mjs +83 -0
- package/fesm2022/ngb-bootstrap-core-floating-label.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-footer.mjs +48 -0
- package/fesm2022/ngb-bootstrap-core-footer.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-icon.mjs +243 -0
- package/fesm2022/ngb-bootstrap-core-icon.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-input.mjs +540 -0
- package/fesm2022/ngb-bootstrap-core-input.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-layout.mjs +272 -0
- package/fesm2022/ngb-bootstrap-core-layout.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-navbar.mjs +150 -0
- package/fesm2022/ngb-bootstrap-core-navbar.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-radio.mjs +279 -0
- package/fesm2022/ngb-bootstrap-core-radio.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-sidebar.mjs +425 -0
- package/fesm2022/ngb-bootstrap-core-sidebar.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-spinner.mjs +126 -0
- package/fesm2022/ngb-bootstrap-core-spinner.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core-switch.mjs +147 -0
- package/fesm2022/ngb-bootstrap-core-switch.mjs.map +1 -0
- package/fesm2022/ngb-bootstrap-core.mjs +69 -0
- package/fesm2022/ngb-bootstrap-core.mjs.map +1 -0
- package/ngb-bootstrap.css +827 -0
- package/package.json +118 -4
- package/styles/_breadcrumb.scss +9 -0
- package/styles/_button.scss +14 -0
- package/styles/_card.scss +86 -0
- package/styles/_chip.scss +10 -0
- package/styles/_choice.scss +14 -0
- package/styles/_contrast.scss +23 -0
- package/styles/_icon.scss +62 -0
- package/styles/_index.scss +33 -0
- package/styles/_input.scss +9 -0
- package/styles/_layout.scss +602 -0
- package/styles/_overlay.scss +14 -0
- package/styles/_tokens.scss +29 -0
- package/styles/_typography.scss +77 -0
- package/styles/ngb-bootstrap.scss +2 -0
- package/types/ngb-bootstrap-core-alert.d.ts +65 -0
- package/types/ngb-bootstrap-core-badge.d.ts +38 -0
- package/types/ngb-bootstrap-core-breadcrumb.d.ts +32 -0
- package/types/ngb-bootstrap-core-button.d.ts +177 -0
- package/types/ngb-bootstrap-core-card.d.ts +154 -0
- package/types/ngb-bootstrap-core-cdk.d.ts +165 -0
- package/types/ngb-bootstrap-core-checkbox.d.ts +53 -0
- package/types/ngb-bootstrap-core-chips.d.ts +170 -0
- package/types/ngb-bootstrap-core-floating-label.d.ts +22 -0
- package/types/ngb-bootstrap-core-footer.d.ts +16 -0
- package/types/ngb-bootstrap-core-icon.d.ts +99 -0
- package/types/ngb-bootstrap-core-input.d.ts +208 -0
- package/types/ngb-bootstrap-core-layout.d.ts +102 -0
- package/types/ngb-bootstrap-core-navbar.d.ts +33 -0
- package/types/ngb-bootstrap-core-radio.d.ts +96 -0
- package/types/ngb-bootstrap-core-sidebar.d.ts +62 -0
- package/types/ngb-bootstrap-core-spinner.d.ts +49 -0
- package/types/ngb-bootstrap-core-switch.d.ts +44 -0
- package/types/ngb-bootstrap-core.d.ts +82 -0
package/package.json
CHANGED
|
@@ -1,10 +1,124 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngb-bootstrap/core",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"description": "Angular components built on Bootstrap 6 CSS.
|
|
3
|
+
"version": "0.1.0-next.0",
|
|
4
|
+
"description": "Angular components built on Bootstrap 6 CSS.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/Angular-Bootstrap-Project/angular-bootstrap.git"
|
|
9
|
-
|
|
8
|
+
"url": "git+https://github.com/Angular-Bootstrap-Project/angular-bootstrap.git",
|
|
9
|
+
"directory": "projects/core"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"angular",
|
|
13
|
+
"bootstrap",
|
|
14
|
+
"bootstrap6",
|
|
15
|
+
"components",
|
|
16
|
+
"ui"
|
|
17
|
+
],
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"@angular/cdk": ">=22.0.0 <24.0.0",
|
|
20
|
+
"@angular/common": ">=22.0.0 <24.0.0",
|
|
21
|
+
"@angular/core": ">=22.0.0 <24.0.0",
|
|
22
|
+
"@angular/forms": ">=22.0.0 <24.0.0",
|
|
23
|
+
"@angular/platform-browser": ">=22.0.0 <24.0.0",
|
|
24
|
+
"@angular/router": ">=22.0.0 <24.0.0",
|
|
25
|
+
"@ngb-bootstrap/icons": "0.1.0-next.0",
|
|
26
|
+
"bootstrap": "6.0.0-alpha.1"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"tslib": "^2.3.0"
|
|
30
|
+
},
|
|
31
|
+
"exports": {
|
|
32
|
+
"./styles": {
|
|
33
|
+
"sass": "./styles/_index.scss"
|
|
34
|
+
},
|
|
35
|
+
"./styles/*": "./styles/*",
|
|
36
|
+
"./ngb-bootstrap.css": "./ngb-bootstrap.css",
|
|
37
|
+
"./package.json": {
|
|
38
|
+
"default": "./package.json"
|
|
39
|
+
},
|
|
40
|
+
".": {
|
|
41
|
+
"types": "./types/ngb-bootstrap-core.d.ts",
|
|
42
|
+
"default": "./fesm2022/ngb-bootstrap-core.mjs"
|
|
43
|
+
},
|
|
44
|
+
"./alert": {
|
|
45
|
+
"types": "./types/ngb-bootstrap-core-alert.d.ts",
|
|
46
|
+
"default": "./fesm2022/ngb-bootstrap-core-alert.mjs"
|
|
47
|
+
},
|
|
48
|
+
"./badge": {
|
|
49
|
+
"types": "./types/ngb-bootstrap-core-badge.d.ts",
|
|
50
|
+
"default": "./fesm2022/ngb-bootstrap-core-badge.mjs"
|
|
51
|
+
},
|
|
52
|
+
"./breadcrumb": {
|
|
53
|
+
"types": "./types/ngb-bootstrap-core-breadcrumb.d.ts",
|
|
54
|
+
"default": "./fesm2022/ngb-bootstrap-core-breadcrumb.mjs"
|
|
55
|
+
},
|
|
56
|
+
"./button": {
|
|
57
|
+
"types": "./types/ngb-bootstrap-core-button.d.ts",
|
|
58
|
+
"default": "./fesm2022/ngb-bootstrap-core-button.mjs"
|
|
59
|
+
},
|
|
60
|
+
"./card": {
|
|
61
|
+
"types": "./types/ngb-bootstrap-core-card.d.ts",
|
|
62
|
+
"default": "./fesm2022/ngb-bootstrap-core-card.mjs"
|
|
63
|
+
},
|
|
64
|
+
"./cdk": {
|
|
65
|
+
"types": "./types/ngb-bootstrap-core-cdk.d.ts",
|
|
66
|
+
"default": "./fesm2022/ngb-bootstrap-core-cdk.mjs"
|
|
67
|
+
},
|
|
68
|
+
"./checkbox": {
|
|
69
|
+
"types": "./types/ngb-bootstrap-core-checkbox.d.ts",
|
|
70
|
+
"default": "./fesm2022/ngb-bootstrap-core-checkbox.mjs"
|
|
71
|
+
},
|
|
72
|
+
"./chips": {
|
|
73
|
+
"types": "./types/ngb-bootstrap-core-chips.d.ts",
|
|
74
|
+
"default": "./fesm2022/ngb-bootstrap-core-chips.mjs"
|
|
75
|
+
},
|
|
76
|
+
"./floating-label": {
|
|
77
|
+
"types": "./types/ngb-bootstrap-core-floating-label.d.ts",
|
|
78
|
+
"default": "./fesm2022/ngb-bootstrap-core-floating-label.mjs"
|
|
79
|
+
},
|
|
80
|
+
"./footer": {
|
|
81
|
+
"types": "./types/ngb-bootstrap-core-footer.d.ts",
|
|
82
|
+
"default": "./fesm2022/ngb-bootstrap-core-footer.mjs"
|
|
83
|
+
},
|
|
84
|
+
"./icon": {
|
|
85
|
+
"types": "./types/ngb-bootstrap-core-icon.d.ts",
|
|
86
|
+
"default": "./fesm2022/ngb-bootstrap-core-icon.mjs"
|
|
87
|
+
},
|
|
88
|
+
"./input": {
|
|
89
|
+
"types": "./types/ngb-bootstrap-core-input.d.ts",
|
|
90
|
+
"default": "./fesm2022/ngb-bootstrap-core-input.mjs"
|
|
91
|
+
},
|
|
92
|
+
"./layout": {
|
|
93
|
+
"types": "./types/ngb-bootstrap-core-layout.d.ts",
|
|
94
|
+
"default": "./fesm2022/ngb-bootstrap-core-layout.mjs"
|
|
95
|
+
},
|
|
96
|
+
"./navbar": {
|
|
97
|
+
"types": "./types/ngb-bootstrap-core-navbar.d.ts",
|
|
98
|
+
"default": "./fesm2022/ngb-bootstrap-core-navbar.mjs"
|
|
99
|
+
},
|
|
100
|
+
"./radio": {
|
|
101
|
+
"types": "./types/ngb-bootstrap-core-radio.d.ts",
|
|
102
|
+
"default": "./fesm2022/ngb-bootstrap-core-radio.mjs"
|
|
103
|
+
},
|
|
104
|
+
"./sidebar": {
|
|
105
|
+
"types": "./types/ngb-bootstrap-core-sidebar.d.ts",
|
|
106
|
+
"default": "./fesm2022/ngb-bootstrap-core-sidebar.mjs"
|
|
107
|
+
},
|
|
108
|
+
"./spinner": {
|
|
109
|
+
"types": "./types/ngb-bootstrap-core-spinner.d.ts",
|
|
110
|
+
"default": "./fesm2022/ngb-bootstrap-core-spinner.mjs"
|
|
111
|
+
},
|
|
112
|
+
"./switch": {
|
|
113
|
+
"types": "./types/ngb-bootstrap-core-switch.d.ts",
|
|
114
|
+
"default": "./fesm2022/ngb-bootstrap-core-switch.mjs"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"sideEffects": [
|
|
118
|
+
"*.css",
|
|
119
|
+
"*.scss"
|
|
120
|
+
],
|
|
121
|
+
"module": "fesm2022/ngb-bootstrap-core.mjs",
|
|
122
|
+
"typings": "types/ngb-bootstrap-core.d.ts",
|
|
123
|
+
"type": "module"
|
|
10
124
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// <ngb-breadcrumb>: Bootstrap colours links with --fg-3, which the Taiga type scale makes a 40%
|
|
2
|
+
// tint (2.4:1 on white). Use --fg-2 instead so links meet WCAG AA contrast (4.5:1).
|
|
3
|
+
|
|
4
|
+
@layer components {
|
|
5
|
+
.breadcrumb {
|
|
6
|
+
--breadcrumb-link-color: var(--fg-2);
|
|
7
|
+
--breadcrumb-link-hover-color: var(--fg-body);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Square icon buttons: Bootstrap's .btn-icon only sets aspect-ratio, which leaves the width to the
|
|
2
|
+
// content. Fix both sides to the button's size tokens (--btn-min-height follows .btn-xs/sm/lg) and
|
|
3
|
+
// scale the icon with them.
|
|
4
|
+
|
|
5
|
+
@layer components {
|
|
6
|
+
.btn-icon {
|
|
7
|
+
inline-size: var(--btn-min-height);
|
|
8
|
+
block-size: var(--btn-min-height);
|
|
9
|
+
|
|
10
|
+
> .ngb-icon {
|
|
11
|
+
--ngb-icon-size: 1.25em;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Collapsible card: a borderless "large card" on a floating surface. The summary is always
|
|
2
|
+
// visible; the hidden content folds with a grid-template-rows transition (0fr to 1fr), so no
|
|
3
|
+
// height is measured in JS. While collapsed, a narrower strip peeks out under the card
|
|
4
|
+
// (decorative, a pseudo-element). The collapsed region is also `inert` in the markup; `visibility`
|
|
5
|
+
// is only here to keep it from painting once the transition ends.
|
|
6
|
+
|
|
7
|
+
@layer components {
|
|
8
|
+
.ngb-collapsible-card {
|
|
9
|
+
--card-border-width: 0;
|
|
10
|
+
--card-border-radius: calc(var(--radius-9) * 1.5);
|
|
11
|
+
--card-inner-border-radius: var(--card-border-radius);
|
|
12
|
+
--card-box-shadow: 0 0.0625rem 0.25rem oklch(0 0 0 / 0.04);
|
|
13
|
+
--card-bg: light-dark(var(--bg-body), var(--bg-2));
|
|
14
|
+
--collapsible-peek-bg: var(--bg-3);
|
|
15
|
+
--collapsible-peek-height: 0.75rem;
|
|
16
|
+
--collapsible-peek-inset: var(--card-spacer-x);
|
|
17
|
+
|
|
18
|
+
padding: var(--card-spacer-y) var(--card-spacer-x);
|
|
19
|
+
// Room for the peek strip, which hangs below the card box.
|
|
20
|
+
margin-block-end: var(--collapsible-peek-height);
|
|
21
|
+
|
|
22
|
+
&:not(.ngb-collapsible-expanded)::after {
|
|
23
|
+
position: absolute;
|
|
24
|
+
inset-block-start: 100%;
|
|
25
|
+
inset-inline: var(--collapsible-peek-inset);
|
|
26
|
+
height: var(--collapsible-peek-height);
|
|
27
|
+
pointer-events: none;
|
|
28
|
+
content: '';
|
|
29
|
+
background-color: var(--collapsible-peek-bg);
|
|
30
|
+
border-end-start-radius: var(--radius-7);
|
|
31
|
+
border-end-end-radius: var(--radius-7);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ngb-collapsible-region {
|
|
36
|
+
display: grid;
|
|
37
|
+
grid-template-rows: 0fr;
|
|
38
|
+
visibility: hidden;
|
|
39
|
+
transition:
|
|
40
|
+
grid-template-rows 0.3s cubic-bezier(0.2, 0, 0.4, 0.9),
|
|
41
|
+
visibility 0s linear 0.3s;
|
|
42
|
+
|
|
43
|
+
.ngb-collapsible-expanded > & {
|
|
44
|
+
grid-template-rows: 1fr;
|
|
45
|
+
visibility: visible;
|
|
46
|
+
transition-delay: 0s;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.ngb-collapsible-region-inner {
|
|
51
|
+
min-height: 0;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ngb-collapsible-region-content {
|
|
56
|
+
padding-block-start: var(--card-spacer-y);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Grey subtle button, blue chevron.
|
|
60
|
+
.ngb-collapsible-toggle {
|
|
61
|
+
--ngb-icon-fill-1: var(--primary-fg);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ngb-collapsible-toggle > ngb-icon {
|
|
65
|
+
transition: transform 0.3s cubic-bezier(0.2, 0, 0.4, 0.9);
|
|
66
|
+
|
|
67
|
+
// Points down when collapsed, up when expanded.
|
|
68
|
+
.ngb-collapsible-expanded & {
|
|
69
|
+
transform: rotate(180deg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ngb-collapsible-static {
|
|
74
|
+
.ngb-collapsible-region,
|
|
75
|
+
.ngb-collapsible-toggle > ngb-icon {
|
|
76
|
+
transition: none;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@media (prefers-reduced-motion: reduce) {
|
|
81
|
+
.ngb-collapsible-region,
|
|
82
|
+
.ngb-collapsible-toggle > ngb-icon {
|
|
83
|
+
transition: none;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// <ngb-chip-group>: lays out a wrapping row of Bootstrap `.chip`s. The spacing follows the chip's
|
|
2
|
+
// own gap token, so it adapts when an app changes `--chip-gap`.
|
|
3
|
+
|
|
4
|
+
@layer components {
|
|
5
|
+
.chip-group {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-wrap: wrap;
|
|
8
|
+
gap: calc(var(--chip-gap, 0.3125rem) * 1.5);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Groups of radios (<ngb-radio-group>). Each item is a Bootstrap .form-field.
|
|
2
|
+
|
|
3
|
+
@layer components {
|
|
4
|
+
.ngb-choice-group {
|
|
5
|
+
display: grid;
|
|
6
|
+
gap: 0.5rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.ngb-choice-group-inline {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
gap: 0.5rem 1.5rem;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Bootstrap 6.0.0-alpha.1's default palette fails WCAG AA contrast in a few places: white text on
|
|
2
|
+
// solid primary (3.6:1), success (2.8:1) and danger (4.4:1), and light-mode text in subtle and
|
|
3
|
+
// outline variants of primary, success, info and warning (3.1 to 4.3:1). Each token below moves to
|
|
4
|
+
// the lightest step of the same hue that reaches 4.5:1. Dark-mode text already passes and is kept.
|
|
5
|
+
// Turn it off with: @use "@ngb-bootstrap/core/styles" with ($ngb-accessible-colors: false);
|
|
6
|
+
|
|
7
|
+
$ngb-accessible-colors: true !default;
|
|
8
|
+
|
|
9
|
+
@if $ngb-accessible-colors {
|
|
10
|
+
// Unlayered for the same reason as the typography tokens: Bootstrap's :root tokens sit outside
|
|
11
|
+
// any cascade layer, so a layered override would lose.
|
|
12
|
+
:root {
|
|
13
|
+
// Solid fills behind white text.
|
|
14
|
+
--primary-bg: var(--blue-600);
|
|
15
|
+
--success-bg: var(--green-700);
|
|
16
|
+
--danger-bg: var(--red-600);
|
|
17
|
+
// Text on the page and on the theme's subtle background.
|
|
18
|
+
--primary-fg: light-dark(var(--blue-700), var(--blue-400));
|
|
19
|
+
--success-fg: light-dark(var(--green-700), var(--green-400));
|
|
20
|
+
--info-fg: light-dark(var(--cyan-700), var(--cyan-400));
|
|
21
|
+
--warning-fg: light-dark(var(--yellow-800), var(--yellow-400));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// <ngb-icon>: sizing and IconPark's four themes.
|
|
2
|
+
// The generated SVGs read --ngb-icon-color-1…4. Each theme maps them onto the public fill tokens,
|
|
3
|
+
// which can be set on any ancestor:
|
|
4
|
+
// --ngb-icon-fill-1 main stroke and fill (default: currentColor)
|
|
5
|
+
// --ngb-icon-fill-2 accent fill (default: --primary-bg)
|
|
6
|
+
// --ngb-icon-fill-3 inner lines on solid shapes (default: --bg-body)
|
|
7
|
+
// --ngb-icon-fill-4 secondary accent (default: --info-bg)
|
|
8
|
+
// --ngb-icon-size, --ngb-icon-stroke-width, --ngb-icon-linecap, --ngb-icon-linejoin
|
|
9
|
+
|
|
10
|
+
@layer components {
|
|
11
|
+
.ngb-icon {
|
|
12
|
+
--ngb-icon-fill-1-resolved: var(--ngb-icon-fill-1, currentColor);
|
|
13
|
+
--ngb-icon-fill-2-resolved: var(--ngb-icon-fill-2, var(--primary-bg));
|
|
14
|
+
--ngb-icon-fill-3-resolved: var(--ngb-icon-fill-3, var(--bg-body));
|
|
15
|
+
--ngb-icon-fill-4-resolved: var(--ngb-icon-fill-4, var(--info-bg));
|
|
16
|
+
|
|
17
|
+
display: inline-block;
|
|
18
|
+
flex-shrink: 0;
|
|
19
|
+
inline-size: var(--ngb-icon-size, 1em);
|
|
20
|
+
block-size: var(--ngb-icon-size, 1em);
|
|
21
|
+
line-height: 0;
|
|
22
|
+
vertical-align: -0.125em;
|
|
23
|
+
|
|
24
|
+
> svg {
|
|
25
|
+
display: block;
|
|
26
|
+
inline-size: 100%;
|
|
27
|
+
block-size: 100%;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.ngb-icon-outline {
|
|
32
|
+
--ngb-icon-color-1: var(--ngb-icon-fill-1-resolved);
|
|
33
|
+
--ngb-icon-color-2: none;
|
|
34
|
+
--ngb-icon-color-3: var(--ngb-icon-fill-1-resolved);
|
|
35
|
+
--ngb-icon-color-4: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ngb-icon-filled {
|
|
39
|
+
--ngb-icon-color-1: var(--ngb-icon-fill-1-resolved);
|
|
40
|
+
--ngb-icon-color-2: var(--ngb-icon-fill-1-resolved);
|
|
41
|
+
--ngb-icon-color-3: var(--ngb-icon-fill-3-resolved);
|
|
42
|
+
--ngb-icon-color-4: var(--ngb-icon-fill-3-resolved);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.ngb-icon-two-tone {
|
|
46
|
+
--ngb-icon-color-1: var(--ngb-icon-fill-1-resolved);
|
|
47
|
+
--ngb-icon-color-2: var(--ngb-icon-fill-2-resolved);
|
|
48
|
+
--ngb-icon-color-3: var(--ngb-icon-fill-1-resolved);
|
|
49
|
+
--ngb-icon-color-4: var(--ngb-icon-fill-2-resolved);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.ngb-icon-multi-color {
|
|
53
|
+
--ngb-icon-color-1: var(--ngb-icon-fill-1-resolved);
|
|
54
|
+
--ngb-icon-color-2: var(--ngb-icon-fill-2-resolved);
|
|
55
|
+
--ngb-icon-color-3: var(--ngb-icon-fill-3-resolved);
|
|
56
|
+
--ngb-icon-color-4: var(--ngb-icon-fill-4-resolved);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ngb-icon-rtl:dir(rtl) {
|
|
60
|
+
transform: scaleX(-1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// @ngb-bootstrap/core stylesheet.
|
|
2
|
+
// Load AFTER Bootstrap 6:
|
|
3
|
+
// @use "bootstrap/scss/bootstrap.scss";
|
|
4
|
+
// @use "@ngb-bootstrap/core/styles";
|
|
5
|
+
// Component styles for things Bootstrap lacks are added here as they are built.
|
|
6
|
+
@forward 'tokens';
|
|
7
|
+
@forward 'typography';
|
|
8
|
+
@forward 'contrast';
|
|
9
|
+
@use 'tokens' as t;
|
|
10
|
+
@use 'bootstrap/scss/mixins/_tokens.scss' as *;
|
|
11
|
+
@use 'typography';
|
|
12
|
+
@use 'contrast';
|
|
13
|
+
@use 'icon';
|
|
14
|
+
@use 'breadcrumb';
|
|
15
|
+
@use 'button';
|
|
16
|
+
@use 'choice';
|
|
17
|
+
@use 'chip';
|
|
18
|
+
@use 'input';
|
|
19
|
+
@use 'card';
|
|
20
|
+
@use 'layout';
|
|
21
|
+
@use 'overlay';
|
|
22
|
+
|
|
23
|
+
@layer components {
|
|
24
|
+
:root {
|
|
25
|
+
@include tokens(t.$ngb-root-tokens);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (prefers-reduced-motion: reduce) {
|
|
29
|
+
:root {
|
|
30
|
+
--ngb-transition-duration: 0s;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// The clear button of ngb-textfield sits in a trailing .input-group-text cell. Give the cell the
|
|
2
|
+
// input's background so it reads as part of the field, and trim its padding around the small X.
|
|
3
|
+
|
|
4
|
+
@layer components {
|
|
5
|
+
.ngb-textfield-clear {
|
|
6
|
+
padding-inline: 0.5rem;
|
|
7
|
+
background-color: var(--btn-input-bg);
|
|
8
|
+
}
|
|
9
|
+
}
|