@pacem/pacem-theme-css 0.0.0-stage → 2.0.0-abel
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 +191 -0
- package/NOTICE +4 -0
- package/README.md +142 -3
- package/cli.js +26 -0
- package/pacem-themes.json +10 -0
- package/package.json +45 -6
- package/src/2d/index.css +44 -0
- package/src/3d/index.css +49 -0
- package/src/base/animations.css +82 -0
- package/src/base/attributes.css +19 -0
- package/src/base/backgrounds.css +37 -0
- package/src/base/body.css +199 -0
- package/src/base/content.css +4 -0
- package/src/base/icons.css +74 -0
- package/src/base/logging.css +5 -0
- package/src/base/overrides.css +3 -0
- package/src/base/preloader.css +17 -0
- package/src/base/reset.css +50 -0
- package/src/base/shell.css +3 -0
- package/src/base/text.css +184 -0
- package/src/basic/index.css +285 -0
- package/src/charts/generated/colors.css +49 -0
- package/src/charts/index.css +573 -0
- package/src/fx/index.css +230 -0
- package/src/layout/address.css +46 -0
- package/src/layout/animations.css +33 -0
- package/src/layout/borders.css +63 -0
- package/src/layout/box.css +271 -0
- package/src/layout/breadcrumbs.css +114 -0
- package/src/layout/cards.css +246 -0
- package/src/layout/coloring.css +862 -0
- package/src/layout/container.css +40 -0
- package/src/layout/corners.css +52 -0
- package/src/layout/datatable.css +324 -0
- package/src/layout/elevation.css +73 -0
- package/src/layout/fetch-feedback.css +125 -0
- package/src/layout/generated/borders.css +403 -0
- package/src/layout/generated/card-ribbon.css +94 -0
- package/src/layout/generated/card-sides.css +888 -0
- package/src/layout/generated/grid-system.css +308 -0
- package/src/layout/generated/grids.css +952 -0
- package/src/layout/generated/layout-stretch.css +132 -0
- package/src/layout/generated/positioning.css +323 -0
- package/src/layout/generated/sizing.css +478 -0
- package/src/layout/generated/spacing.css +1988 -0
- package/src/layout/generated/visibility.css +384 -0
- package/src/layout/grid-system.css +49 -0
- package/src/layout/grids.css +92 -0
- package/src/layout/index.css +39 -0
- package/src/layout/interactive.css +11 -0
- package/src/layout/layout.css +479 -0
- package/src/layout/lists.css +104 -0
- package/src/layout/other.css +25 -0
- package/src/layout/panels.css +337 -0
- package/src/layout/positioning.css +108 -0
- package/src/layout/scroll.css +85 -0
- package/src/layout/shapes.css +20 -0
- package/src/layout/shell.css +3 -0
- package/src/layout/sizing.css +25 -0
- package/src/layout/spacing.css +17 -0
- package/src/layout/superposition-system.css +116 -0
- package/src/layout/tokens-chips.css +15 -0
- package/src/layout/toolbar.css +30 -0
- package/src/layout/typography.css +106 -0
- package/src/layout/visibility.css +231 -0
- package/src/maps/index.css +20 -0
- package/src/media/index.css +6 -0
- package/src/media.css +18 -0
- package/src/pacem-content.css +24 -0
- package/src/pacem-shell.css +14 -0
- package/src/pacem.css +35 -0
- package/src/plus/carousel.css +327 -0
- package/src/plus/datagrid.css +68 -0
- package/src/plus/gallery.css +186 -0
- package/src/plus/icons.css +25 -0
- package/src/plus/index.css +7 -0
- package/src/plus/misc.css +194 -0
- package/src/scaffolding/calendar-picker.css +291 -0
- package/src/scaffolding/checkbox-radio.css +118 -0
- package/src/scaffolding/checkbox.css +200 -0
- package/src/scaffolding/childform.css +156 -0
- package/src/scaffolding/color.css +129 -0
- package/src/scaffolding/contenteditable.css +403 -0
- package/src/scaffolding/datepicker.css +126 -0
- package/src/scaffolding/elements.css +30 -0
- package/src/scaffolding/fieldset.css +346 -0
- package/src/scaffolding/form.css +36 -0
- package/src/scaffolding/formfield.css +364 -0
- package/src/scaffolding/generated/calendar-picker.css +40 -0
- package/src/scaffolding/generated/colors.css +115 -0
- package/src/scaffolding/generated/formfield.css +500 -0
- package/src/scaffolding/hierarchy.css +76 -0
- package/src/scaffolding/icons.css +64 -0
- package/src/scaffolding/image.css +195 -0
- package/src/scaffolding/index.css +40 -0
- package/src/scaffolding/input.css +163 -0
- package/src/scaffolding/inputs.css +77 -0
- package/src/scaffolding/latlng.css +173 -0
- package/src/scaffolding/markdown.css +14 -0
- package/src/scaffolding/password.css +7 -0
- package/src/scaffolding/pickers.css +150 -0
- package/src/scaffolding/radio.css +68 -0
- package/src/scaffolding/select.css +59 -0
- package/src/scaffolding/slider.css +236 -0
- package/src/scaffolding/snapshot.css +167 -0
- package/src/scaffolding/suggest.css +92 -0
- package/src/scaffolding/tags.css +132 -0
- package/src/scaffolding/textarea.css +45 -0
- package/src/scaffolding/upload.css +283 -0
- package/src/scaffolding/validators.css +29 -0
- package/src/tokens/colors.css +403 -0
- package/src/tokens/components.css +16 -0
- package/src/tokens/system.css +92 -0
- package/src/tokens/theme.css +221 -0
- package/src/traits.css +18 -0
- package/src/transforms/index.css +5 -0
- package/src/ui/anchor.css +55 -0
- package/src/ui/balloon.css +573 -0
- package/src/ui/binder.css +28 -0
- package/src/ui/blade.css +83 -0
- package/src/ui/bottom-sheet.css +53 -0
- package/src/ui/button.css +626 -0
- package/src/ui/calendar.css +415 -0
- package/src/ui/collapse.css +25 -0
- package/src/ui/dialog.css +230 -0
- package/src/ui/divider.css +42 -0
- package/src/ui/generated/calendar.css +363 -0
- package/src/ui/hidden.css +40 -0
- package/src/ui/icon.css +90 -0
- package/src/ui/image.css +140 -0
- package/src/ui/index.css +30 -0
- package/src/ui/led.css +84 -0
- package/src/ui/loader.css +174 -0
- package/src/ui/markdown.css +352 -0
- package/src/ui/marquee.css +41 -0
- package/src/ui/menu.css +386 -0
- package/src/ui/pager.css +133 -0
- package/src/ui/progressbar.css +137 -0
- package/src/ui/shell.css +4 -0
- package/src/ui/sidebar.css +103 -0
- package/src/ui/sticky-header.css +22 -0
- package/src/ui/tabs.css +355 -0
- package/src/ui/ticker.css +105 -0
- package/src/ui/timeline.css +106 -0
- package/src/ui/toast.css +182 -0
- package/src/ui/toc.css +58 -0
- package/src/ui/tuner.css +196 -0
- package/src/ui/view.css +30 -0
- package/src/ui/window.css +287 -0
- package/templates/theme.css +28 -0
- package/themebuilder.js +19 -0
- package/themes/dark.css +6 -0
- package/themes/light.css +97 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
.pacem-contain {
|
|
2
|
+
contain: size;
|
|
3
|
+
|
|
4
|
+
&.contain-none {
|
|
5
|
+
contain: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&.contain-strict {
|
|
9
|
+
contain: strict;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&.contain-inline-size {
|
|
13
|
+
contain: inline-size;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&.contain-layout {
|
|
17
|
+
contain: layout;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&.contain-style {
|
|
21
|
+
contain: style;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.contain-paint {
|
|
25
|
+
contain: paint;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.pacem-container {
|
|
30
|
+
container-type: inline-size;
|
|
31
|
+
container-name: pacem;
|
|
32
|
+
|
|
33
|
+
&.container-size {
|
|
34
|
+
container-type: size;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&.container-normal {
|
|
38
|
+
container-type: normal;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* Corner decorations (.Corners() of the Less theme), shared by every *-corners class.
|
|
2
|
+
Less baked the color into SVG data uris, once per color: here a single rule draws them with gradients,
|
|
3
|
+
driven by private custom properties that each context assigns:
|
|
4
|
+
--pacem--corners-color decoration color
|
|
5
|
+
--pacem--corners-radius > 0: arcs of that radius; 0: straight brackets
|
|
6
|
+
--pacem--corners-size bracket length
|
|
7
|
+
Zero specificity: the decorations only ever competed with .fill-gradient, which keeps winning. */
|
|
8
|
+
|
|
9
|
+
:where(
|
|
10
|
+
.pacem-panel.panel-corners,
|
|
11
|
+
.pacem-card.card-corners,
|
|
12
|
+
.breadcrumb.breadcrumb-corners,
|
|
13
|
+
table.pacem-datatable :is(th, td).datacell-corners,
|
|
14
|
+
.pacem-datatable :is(.pacem-headcell.headcell-corners, .pacem-datacell.datacell-corners, .pacem-footcell.footcell-corners),
|
|
15
|
+
.pacem-datatable:is(.datatable-accent, .datatable-primary, .datatable-success, .datatable-danger, .datatable-warning, .datatable-error, .datatable-disabled) .pacem-datatable.datatable-corners,
|
|
16
|
+
pacem-window.window-corners
|
|
17
|
+
),
|
|
18
|
+
/* (pseudo-elements cannot go in :where(); see ui/dialog.css and plus/misc.css) */
|
|
19
|
+
pacem-lightbox.lightbox-corners::part(lightbox),
|
|
20
|
+
pacem-dialog:is(.modal-corners, .dialog-corners)::part(lightbox),
|
|
21
|
+
pacem-modal-form:is(.modal-corners, .dialog-corners)::part(lightbox) {
|
|
22
|
+
--pacem--r: var(--pacem--corners-radius, 0px);
|
|
23
|
+
--pacem--s: var(--pacem--corners-size, var(--pacem-corner-size));
|
|
24
|
+
--pacem--on: sign(var(--pacem--r));
|
|
25
|
+
/* straight brackets (radius = 0) */
|
|
26
|
+
--pacem--cs: rgb(from var(--pacem--corners-color) r g b / calc(alpha * (1 - var(--pacem--on))));
|
|
27
|
+
--pacem--l: linear-gradient(var(--pacem--cs), var(--pacem--cs));
|
|
28
|
+
/* arcs (radius > 0) */
|
|
29
|
+
--pacem--ca: rgb(from var(--pacem--corners-color) r g b / calc(alpha * var(--pacem--on)));
|
|
30
|
+
--pacem--ring: transparent calc(var(--pacem--r) - 1px), var(--pacem--ca) calc(var(--pacem--r) - 1px), var(--pacem--ca) calc(var(--pacem--r) + 1px), transparent calc(var(--pacem--r) + 1px);
|
|
31
|
+
|
|
32
|
+
background-image:
|
|
33
|
+
var(--pacem--l), var(--pacem--l), var(--pacem--l), var(--pacem--l), var(--pacem--l), var(--pacem--l), var(--pacem--l), var(--pacem--l),
|
|
34
|
+
radial-gradient(circle at 100% 100%, var(--pacem--ring)), radial-gradient(circle at 0 100%, var(--pacem--ring)),
|
|
35
|
+
radial-gradient(circle at 0 0, var(--pacem--ring)), radial-gradient(circle at 100% 0, var(--pacem--ring));
|
|
36
|
+
background-size:
|
|
37
|
+
var(--pacem--s) 1px, 1px var(--pacem--s), var(--pacem--s) 1px, 1px var(--pacem--s),
|
|
38
|
+
var(--pacem--s) 1px, 1px var(--pacem--s), var(--pacem--s) 1px, 1px var(--pacem--s),
|
|
39
|
+
var(--pacem--r) var(--pacem--r), var(--pacem--r) var(--pacem--r), var(--pacem--r) var(--pacem--r), var(--pacem--r) var(--pacem--r);
|
|
40
|
+
background-position: left top, left top, right top, right top, right bottom, right bottom, left bottom, left bottom, left top, right top, right bottom, left bottom;
|
|
41
|
+
background-repeat: no-repeat;
|
|
42
|
+
background-origin: border-box;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* margin to avoid corners disappearing */
|
|
46
|
+
.pacem-panel.panel-corners.corners-safe,
|
|
47
|
+
.pacem-card.card-corners.corners-safe,
|
|
48
|
+
.breadcrumb.breadcrumb-corners.corners-safe,
|
|
49
|
+
table.pacem-datatable :is(th, td).datacell-corners.corners-safe,
|
|
50
|
+
.pacem-datatable :is(.pacem-headcell.headcell-corners, .pacem-datacell.datacell-corners, .pacem-footcell.footcell-corners).corners-safe {
|
|
51
|
+
margin: 1px;
|
|
52
|
+
}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/* Datatables: <table class="pacem-datatable"> and the grid-based .pacem-datatable.
|
|
2
|
+
Variants (.datatable-{color}, .datacell-{color}, .headcell-{color}, .footcell-{color}) only assign
|
|
3
|
+
--pacem--dt; the colorized rules are written once. --pacem--dt inherits from the table to its cells,
|
|
4
|
+
like the descendant selectors of the Less theme. */
|
|
5
|
+
|
|
6
|
+
@custom-selector :--dt-variants :is(.datatable-accent, .datatable-primary, .datatable-success, .datatable-danger, .datatable-warning, .datatable-error, .datatable-disabled);
|
|
7
|
+
@custom-selector :--cell-variants :is(.datacell-accent, .datacell-primary, .datacell-success, .datacell-danger, .datacell-warning, .datacell-error, .datacell-disabled);
|
|
8
|
+
@custom-selector :--headcell-variants :is(.headcell-accent, .headcell-primary, .headcell-success, .headcell-danger, .headcell-warning, .headcell-error, .headcell-disabled);
|
|
9
|
+
@custom-selector :--footcell-variants :is(.footcell-accent, .footcell-primary, .footcell-success, .footcell-danger, .footcell-warning, .footcell-error, .footcell-disabled);
|
|
10
|
+
|
|
11
|
+
:is(.datatable-accent, .datacell-accent, .headcell-accent, .footcell-accent) { --pacem--dt: var(--pacem-color-accent); }
|
|
12
|
+
:is(.datatable-primary, .datacell-primary, .headcell-primary, .footcell-primary) { --pacem--dt: var(--pacem-color-primary); }
|
|
13
|
+
:is(.datatable-success, .datacell-success, .headcell-success, .footcell-success) { --pacem--dt: var(--pacem-color-success); }
|
|
14
|
+
:is(.datatable-danger, .datacell-danger, .headcell-danger, .footcell-danger) { --pacem--dt: var(--pacem-color-danger); }
|
|
15
|
+
:is(.datatable-warning, .datacell-warning, .headcell-warning, .footcell-warning) { --pacem--dt: var(--pacem-color-warning); }
|
|
16
|
+
:is(.datatable-error, .datacell-error, .headcell-error, .footcell-error) { --pacem--dt: var(--pacem-color-error); }
|
|
17
|
+
:is(.datatable-disabled, .datacell-disabled, .headcell-disabled, .footcell-disabled) { --pacem--dt: var(--pacem-color-disabled); }
|
|
18
|
+
|
|
19
|
+
/* #region <table> */
|
|
20
|
+
|
|
21
|
+
table.pacem-datatable {
|
|
22
|
+
border-collapse: collapse;
|
|
23
|
+
border-left: 1px solid var(--pacem-color-border);
|
|
24
|
+
border-right: 1px solid var(--pacem-color-border);
|
|
25
|
+
width: 100%;
|
|
26
|
+
table-layout: fixed;
|
|
27
|
+
|
|
28
|
+
thead td, thead th {
|
|
29
|
+
font-weight: 700;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* (Less also emitted `color: invert(...)`, an invalid declaration: dropped) */
|
|
33
|
+
tbody tr:hover {
|
|
34
|
+
background-color: rgb(from var(--pacem-color-border) r g b / 5%);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
th, td {
|
|
38
|
+
&.datacell-corners {
|
|
39
|
+
--pacem--corners-color: rgb(from var(--pacem-color-border) r g b / 100%);
|
|
40
|
+
--pacem--corners-size: var(--pacem-corner-datacell-size);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
border-left: none;
|
|
44
|
+
border-right: none;
|
|
45
|
+
border-top: 1px solid var(--pacem-color-border);
|
|
46
|
+
border-bottom: 1px solid var(--pacem-color-border);
|
|
47
|
+
padding: round(calc(var(--pacem-grid-spacing) / 3), 1px);
|
|
48
|
+
margin: 0;
|
|
49
|
+
height: 100%;
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
|
|
52
|
+
&.datacell-auto {
|
|
53
|
+
width: 1%;
|
|
54
|
+
white-space: nowrap;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&.datacell-right {
|
|
58
|
+
text-align: right;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&.datacell-center {
|
|
62
|
+
text-align: center;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&.datacell-middle {
|
|
66
|
+
vertical-align: middle;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&.datacell-reset {
|
|
70
|
+
padding: 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&.datacell-truncate {
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
text-overflow: ellipsis;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* whole table */
|
|
81
|
+
&:--dt-variants {
|
|
82
|
+
border-left-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
83
|
+
border-right-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* (a list: the table and the cell variants keep the specificity they had in Less) */
|
|
87
|
+
&:--dt-variants :is(td, th),
|
|
88
|
+
& td:--cell-variants {
|
|
89
|
+
border-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
90
|
+
|
|
91
|
+
&.datacell-corners {
|
|
92
|
+
--pacem--corners-color: rgb(from var(--pacem--dt) r g b / 25%);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&.datacell-filled {
|
|
96
|
+
background-color: rgb(from var(--pacem--dt) r g b / 10%);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* #endregion */
|
|
102
|
+
|
|
103
|
+
/* #region grid */
|
|
104
|
+
|
|
105
|
+
.pacem-datatable {
|
|
106
|
+
display: grid;
|
|
107
|
+
grid-gap: 0;
|
|
108
|
+
border-left: 1px solid var(--pacem-color-border);
|
|
109
|
+
border-right: 1px solid var(--pacem-color-border);
|
|
110
|
+
border-top: 1px solid var(--pacem-color-border);
|
|
111
|
+
border-bottom: 0 !important;
|
|
112
|
+
position: relative;
|
|
113
|
+
|
|
114
|
+
.pacem-datarow {
|
|
115
|
+
z-index: 0;
|
|
116
|
+
pointer-events: none;
|
|
117
|
+
background-color: var(--pacem-datarow-color);
|
|
118
|
+
|
|
119
|
+
&.datarow-alt {
|
|
120
|
+
background-color: var(--pacem-datarow-alt-color);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.pacem-datacell:hover ~ .pacem-datarow {
|
|
125
|
+
background-color: var(--pacem-datarow-hover-color);
|
|
126
|
+
|
|
127
|
+
+ .pacem-datacell ~ .pacem-datarow {
|
|
128
|
+
background-color: var(--pacem-datarow-color);
|
|
129
|
+
|
|
130
|
+
&.datarow-alt {
|
|
131
|
+
background-color: var(--pacem-datarow-alt-color);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* .DataCell() */
|
|
137
|
+
:is(.pacem-headcell, .pacem-datacell, .pacem-footcell) {
|
|
138
|
+
display: flex;
|
|
139
|
+
box-sizing: border-box;
|
|
140
|
+
padding: calc(var(--pacem-grid-spacing) / 3) calc(var(--pacem-grid-spacing) / 2);
|
|
141
|
+
border-top: 0 solid var(--pacem-color-border);
|
|
142
|
+
border-bottom: 1px solid var(--pacem-color-border);
|
|
143
|
+
min-width: 0;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
:is(.pacem-headcell.headcell-corners, .pacem-datacell.datacell-corners, .pacem-footcell.footcell-corners) {
|
|
147
|
+
--pacem--corners-color: var(--pacem-color-border);
|
|
148
|
+
--pacem--corners-size: var(--pacem-corner-datacell-size);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
:is(.pacem-headcell.headcell-right, .pacem-datacell.datacell-right, .pacem-footcell.footcell-right) {
|
|
152
|
+
justify-content: flex-end;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
:is(.pacem-headcell.headcell-left, .pacem-datacell.datacell-left, .pacem-footcell.footcell-left) {
|
|
156
|
+
justify-content: flex-start;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
:is(.pacem-headcell.headcell-center, .pacem-datacell.datacell-center, .pacem-footcell.footcell-center) {
|
|
160
|
+
justify-content: center;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:is(.pacem-headcell.headcell-fill, .pacem-datacell.datacell-fill, .pacem-footcell.footcell-fill) {
|
|
164
|
+
justify-content: stretch;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
:is(.pacem-headcell.headcell-middle, .pacem-datacell.datacell-middle, .pacem-footcell.footcell-middle) {
|
|
168
|
+
align-items: center;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
:is(.pacem-headcell.headcell-top, .pacem-datacell.datacell-top, .pacem-footcell.footcell-top) {
|
|
172
|
+
align-items: flex-start;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
:is(.pacem-headcell.headcell-bottom, .pacem-datacell.datacell-bottom, .pacem-footcell.footcell-bottom) {
|
|
176
|
+
align-items: flex-end;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* .DataCellColorize2() */
|
|
180
|
+
:is(.pacem-headcell:--headcell-variants.headcell-corners, .pacem-datacell:--cell-variants.datacell-corners, .pacem-footcell:--footcell-variants.footcell-corners) {
|
|
181
|
+
--pacem--corners-color: rgb(from var(--pacem--dt) r g b / 12.5%);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
:is(.pacem-headcell:--headcell-variants.headcell-filled, .pacem-datacell:--cell-variants.datacell-filled, .pacem-footcell:--footcell-variants.footcell-filled) {
|
|
185
|
+
background-color: rgb(from var(--pacem--dt) r g b / 10%);
|
|
186
|
+
border-left-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
187
|
+
border-right-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.pacem-headcell {
|
|
191
|
+
z-index: 2;
|
|
192
|
+
font-weight: bold;
|
|
193
|
+
|
|
194
|
+
&.headcell-sticky {
|
|
195
|
+
position: sticky;
|
|
196
|
+
top: 0;
|
|
197
|
+
background: var(--pacem-color-background);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/* .DataTableColorize2(): (sic) it targets nested .pacem-datatable elements */
|
|
202
|
+
&:--dt-variants {
|
|
203
|
+
border-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
204
|
+
|
|
205
|
+
.pacem-datatable {
|
|
206
|
+
border-bottom-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
207
|
+
|
|
208
|
+
&.datatable-corners {
|
|
209
|
+
--pacem--corners-color: rgb(from var(--pacem--dt) r g b / 12.5%);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
&.datatable-filled {
|
|
213
|
+
background-color: rgb(from var(--pacem--dt) r g b / 10%);
|
|
214
|
+
border-left-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
215
|
+
border-right-color: rgb(from var(--pacem--dt) r g b / 20%);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.pacem-datacell,
|
|
221
|
+
.pacem-footcell {
|
|
222
|
+
z-index: 1;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.pacem-headcell.headcell-truncate,
|
|
226
|
+
.pacem-headcell.headcell-ellipsed,
|
|
227
|
+
.pacem-datacell.datacell-truncate,
|
|
228
|
+
.pacem-datacell.datacell-ellipsed,
|
|
229
|
+
.pacem-footcell.footcell-truncate,
|
|
230
|
+
.pacem-footcell.footcell-ellipsed {
|
|
231
|
+
overflow: hidden;
|
|
232
|
+
white-space: nowrap;
|
|
233
|
+
text-overflow: ellipsis;
|
|
234
|
+
display: block;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.pacem-datacell,
|
|
238
|
+
.pacem-datarow {
|
|
239
|
+
&.datarow-off,
|
|
240
|
+
&.datacell-off {
|
|
241
|
+
opacity: 0.4;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/* .ToolButtons() */
|
|
246
|
+
:is(.pacem-headcell.headcell-tools, .pacem-datacell.datacell-tools, .pacem-footcell.footcell-tools) {
|
|
247
|
+
.pacem-button,
|
|
248
|
+
pacem-button {
|
|
249
|
+
width: calc(var(--pacem-grid-spacing) * 1.3333);
|
|
250
|
+
height: var(--pacem-grid-spacing);
|
|
251
|
+
margin: 0;
|
|
252
|
+
|
|
253
|
+
&.button-square,
|
|
254
|
+
&.circular,
|
|
255
|
+
&.button-circle,
|
|
256
|
+
&.button-circular {
|
|
257
|
+
width: var(--pacem-grid-spacing);
|
|
258
|
+
margin: 0 calc(var(--pacem-grid-spacing) / 6);
|
|
259
|
+
|
|
260
|
+
&::before {
|
|
261
|
+
font-size: calc(var(--pacem-grid-spacing) * 2 / 3);
|
|
262
|
+
line-height: var(--pacem-grid-spacing);
|
|
263
|
+
width: var(--pacem-grid-spacing);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
&:is(.border-solid, .border-dotted, .border-dashed) {
|
|
270
|
+
border-left-style: var(--pacem--border-style);
|
|
271
|
+
border-top-style: var(--pacem--border-style);
|
|
272
|
+
border-right-style: var(--pacem--border-style);
|
|
273
|
+
|
|
274
|
+
:is(.pacem-headcell, .pacem-datacell, .pacem-footcell) {
|
|
275
|
+
border-bottom-style: var(--pacem--border-style);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
:is(.pacem-headcell, .pacem-datacell, .pacem-footcell):is(.border-solid, .border-dotted, .border-dashed) {
|
|
280
|
+
border-bottom-style: var(--pacem--border-style);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
&.datatable-no-sideborders {
|
|
284
|
+
border-left-width: 0;
|
|
285
|
+
border-right-width: 0;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
&.datatable-noborders {
|
|
289
|
+
border-width: 0;
|
|
290
|
+
|
|
291
|
+
.pacem-datacell.datacell-lastrow {
|
|
292
|
+
border-bottom-width: 0;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.pacem-footcell {
|
|
296
|
+
border-top: 1px solid var(--pacem-color-border);
|
|
297
|
+
border-bottom-width: 0;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
&:is(.border-dotted, .border-dashed) .pacem-footcell {
|
|
301
|
+
border-top-style: var(--pacem--border-style);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
&.datatable-norows {
|
|
306
|
+
.pacem-datarow {
|
|
307
|
+
background-color: transparent;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.pacem-datacell:hover ~ .pacem-datarow {
|
|
311
|
+
background-color: var(--pacem-datarow-hover-color);
|
|
312
|
+
|
|
313
|
+
+ .pacem-datacell ~ .pacem-datarow {
|
|
314
|
+
background-color: transparent;
|
|
315
|
+
|
|
316
|
+
&.datarow-alt {
|
|
317
|
+
background-color: transparent;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/* #endregion */
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
.pacem-rise {
|
|
2
|
+
|
|
3
|
+
/* border */
|
|
4
|
+
&:not(.rise-noborder) {
|
|
5
|
+
border: 1px solid;
|
|
6
|
+
border-top-color: var(--pacem-color-border-light);
|
|
7
|
+
border-bottom-color: var(--pacem-color-border-dark);
|
|
8
|
+
border-left-color: var(--pacem-color-border-dawn);
|
|
9
|
+
border-right-color: var(--pacem-color-border-dusk);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
box-shadow: 0 calc(var(--pacem-grid-spacing) / 6) var(--pacem-grid-spacing) var(--pacem-color-shadow);
|
|
13
|
+
|
|
14
|
+
&.rise-none {
|
|
15
|
+
box-shadow: none;
|
|
16
|
+
border-color: rgb(from var(--pacem-color-shadow) r g b / 0%);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.rise--1, &.rise-hover--1:hover, &.rise-hover--1:focus {
|
|
20
|
+
box-shadow: 0 1px 1px var(--pacem-color-shadow);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.rise--2, &.rise-hover--2:hover, &.rise-hover--2:focus {
|
|
24
|
+
box-shadow: 0 2px 4px var(--pacem-color-shadow);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.rise--3, &.rise-hover--3:hover, &.rise-hover--3:focus {
|
|
28
|
+
box-shadow: 0 3px 9px var(--pacem-color-shadow);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.rise--4, &.rise-hover--4:hover, &.rise-hover--4:focus {
|
|
32
|
+
box-shadow: 0 4px 16px var(--pacem-color-shadow);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&.rise--5, &.rise-hover--5:hover, &.rise-hover--5:focus {
|
|
36
|
+
box-shadow: 0 5px 25px var(--pacem-color-shadow);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&.rise--1,
|
|
40
|
+
&.rise--2,
|
|
41
|
+
&.rise--3,
|
|
42
|
+
&.rise--4,
|
|
43
|
+
&.rise--5,
|
|
44
|
+
&.rise-hover--1:hover,
|
|
45
|
+
&.rise-hover--2:hover,
|
|
46
|
+
&.rise-hover--3:hover,
|
|
47
|
+
&.rise-hover--4:hover,
|
|
48
|
+
&.rise-hover--5:hover,
|
|
49
|
+
&.rise-hover--1:focus,
|
|
50
|
+
&.rise-hover--2:focus,
|
|
51
|
+
&.rise-hover--3:focus,
|
|
52
|
+
&.rise-hover--4:focus,
|
|
53
|
+
&.rise-hover--5:focus {
|
|
54
|
+
&:not(.rise-noborder) {
|
|
55
|
+
border: 1px solid;
|
|
56
|
+
border-top-color: var(--pacem-color-border-light);
|
|
57
|
+
border-bottom-color: var(--pacem-color-border-dark);
|
|
58
|
+
border-left-color: var(--pacem-color-border-dawn);
|
|
59
|
+
border-right-color: var(--pacem-color-border-dusk);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&.rise-hover-none:hover,
|
|
64
|
+
&.rise-hover-none:focus {
|
|
65
|
+
box-shadow: none;
|
|
66
|
+
border-color: rgb(from var(--pacem-color-shadow) r g b / 0%);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* animations */
|
|
71
|
+
.pacem-animations .pacem-rise {
|
|
72
|
+
transition: box-shadow var(--pacem-easing-in-out-sine) .2s, border-color var(--pacem-easing-in-out-sine) .2s .05s;
|
|
73
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
@keyframes -fetching-anim {
|
|
2
|
+
0% {
|
|
3
|
+
background-position-x: 0;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
100% {
|
|
7
|
+
background-position-x: 100px;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* .fetch-feedback: --pacem--feedback is assigned by .feedback-{color} */
|
|
12
|
+
.fetch-feedback {
|
|
13
|
+
--pacem--feedback-off: rgb(from var(--pacem--feedback, var(--pacem-color-default)) r g b / 0);
|
|
14
|
+
--pacem--feedback-on: var(--pacem--feedback, var(--pacem-color-default));
|
|
15
|
+
display: block;
|
|
16
|
+
transform: translateX(-100%);
|
|
17
|
+
transition: transform var(--pacem-easing-in-sine) .2s .2s;
|
|
18
|
+
height: 1px;
|
|
19
|
+
|
|
20
|
+
&.feedback-thick {
|
|
21
|
+
height: 2px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.feedback-thicker {
|
|
25
|
+
height: 4px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.feedback-auto {
|
|
29
|
+
height: auto;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:--gradients & {
|
|
33
|
+
background: linear-gradient(to right, var(--pacem--feedback-on) 0%, var(--pacem--feedback-off) 50%, var(--pacem--feedback-off) 50%, var(--pacem--feedback-on) 100%);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:--no-gradients & {
|
|
37
|
+
background: linear-gradient(to right, var(--pacem--feedback-on) 0%, var(--pacem--feedback-on) 50%, var(--pacem--feedback-off) 50%, var(--pacem--feedback-off) 100%);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
background-repeat: repeat-x;
|
|
41
|
+
background-size: 100px;
|
|
42
|
+
|
|
43
|
+
&.feedback-gradient {
|
|
44
|
+
background: linear-gradient(to right, var(--pacem--feedback-on) 0%, var(--pacem--feedback-off) 50%, var(--pacem--feedback-off) 50%, var(--pacem--feedback-on) 100%);
|
|
45
|
+
background-repeat: repeat-x;
|
|
46
|
+
background-size: 100px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&.feedback-root { --pacem--feedback: var(--pacem-color-root); }
|
|
50
|
+
&.feedback-background { --pacem--feedback: var(--pacem-color-background); }
|
|
51
|
+
&.feedback-default { --pacem--feedback: var(--pacem-color-default); }
|
|
52
|
+
&.feedback-invert { --pacem--feedback: var(--pacem-color-invert); }
|
|
53
|
+
&.feedback-primary { --pacem--feedback: var(--pacem-color-primary); }
|
|
54
|
+
&.feedback-secondary { --pacem--feedback: var(--pacem-color-secondary); }
|
|
55
|
+
&.feedback-accent { --pacem--feedback: var(--pacem-color-accent); }
|
|
56
|
+
&.feedback-info { --pacem--feedback: var(--pacem-color-info); }
|
|
57
|
+
&.feedback-success { --pacem--feedback: var(--pacem-color-success); }
|
|
58
|
+
&.feedback-warning { --pacem--feedback: var(--pacem-color-warning); }
|
|
59
|
+
&.feedback-danger { --pacem--feedback: var(--pacem-color-danger); }
|
|
60
|
+
&.feedback-error { --pacem--feedback: var(--pacem-color-error); }
|
|
61
|
+
&.feedback-disabled { --pacem--feedback: var(--pacem-color-disabled); }
|
|
62
|
+
&.feedback-green { --pacem--feedback: var(--pacem-color-green); }
|
|
63
|
+
&.feedback-yellow { --pacem--feedback: var(--pacem-color-yellow); }
|
|
64
|
+
&.feedback-brown { --pacem--feedback: var(--pacem-color-brown); }
|
|
65
|
+
&.feedback-red { --pacem--feedback: var(--pacem-color-red); }
|
|
66
|
+
&.feedback-pink { --pacem--feedback: var(--pacem-color-pink); }
|
|
67
|
+
&.feedback-blue { --pacem--feedback: var(--pacem-color-blue); }
|
|
68
|
+
&.feedback-orange { --pacem--feedback: var(--pacem-color-orange); }
|
|
69
|
+
&.feedback-purple { --pacem--feedback: var(--pacem-color-purple); }
|
|
70
|
+
&.feedback-teal { --pacem--feedback: var(--pacem-color-teal); }
|
|
71
|
+
&.feedback-gray { --pacem--feedback: var(--pacem-color-gray); }
|
|
72
|
+
|
|
73
|
+
&.feedback-small {
|
|
74
|
+
background-size: 50px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&.fetching {
|
|
78
|
+
transform: translateX(0);
|
|
79
|
+
animation: -fetching-anim linear .0725s both infinite;
|
|
80
|
+
|
|
81
|
+
&.feedback-small {
|
|
82
|
+
animation-duration: .145s;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&.anim-slow {
|
|
86
|
+
animation-duration: .125s;
|
|
87
|
+
|
|
88
|
+
&.feedback-small {
|
|
89
|
+
/* double the duration since half is the size (and the offset of the background-position-x in the animation remains the same) */
|
|
90
|
+
animation-duration: .25s;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* default positioning inside known elements
|
|
97
|
+
(explicit selectors: .pacem-header and header[pacem] have different specificity) */
|
|
98
|
+
.pacem-header .fetch-feedback,
|
|
99
|
+
header[pacem] .fetch-feedback,
|
|
100
|
+
.pacem-footer .fetch-feedback,
|
|
101
|
+
footer[pacem] .fetch-feedback {
|
|
102
|
+
position: absolute;
|
|
103
|
+
left: 0;
|
|
104
|
+
right: 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.pacem-header .fetch-feedback.feedback-top,
|
|
108
|
+
header[pacem] .fetch-feedback.feedback-top {
|
|
109
|
+
top: 0;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.pacem-header .fetch-feedback:not(.feedback-top),
|
|
113
|
+
header[pacem] .fetch-feedback:not(.feedback-top) {
|
|
114
|
+
bottom: 0;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.pacem-footer .fetch-feedback.feedback-bottom,
|
|
118
|
+
footer[pacem] .fetch-feedback.feedback-bottom {
|
|
119
|
+
bottom: 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.pacem-footer .fetch-feedback:not(.feedback-bottom),
|
|
123
|
+
footer[pacem] .fetch-feedback:not(.feedback-bottom) {
|
|
124
|
+
top: 0;
|
|
125
|
+
}
|