@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.
Files changed (153) hide show
  1. package/LICENSE +191 -0
  2. package/NOTICE +4 -0
  3. package/README.md +142 -3
  4. package/cli.js +26 -0
  5. package/pacem-themes.json +10 -0
  6. package/package.json +45 -6
  7. package/src/2d/index.css +44 -0
  8. package/src/3d/index.css +49 -0
  9. package/src/base/animations.css +82 -0
  10. package/src/base/attributes.css +19 -0
  11. package/src/base/backgrounds.css +37 -0
  12. package/src/base/body.css +199 -0
  13. package/src/base/content.css +4 -0
  14. package/src/base/icons.css +74 -0
  15. package/src/base/logging.css +5 -0
  16. package/src/base/overrides.css +3 -0
  17. package/src/base/preloader.css +17 -0
  18. package/src/base/reset.css +50 -0
  19. package/src/base/shell.css +3 -0
  20. package/src/base/text.css +184 -0
  21. package/src/basic/index.css +285 -0
  22. package/src/charts/generated/colors.css +49 -0
  23. package/src/charts/index.css +573 -0
  24. package/src/fx/index.css +230 -0
  25. package/src/layout/address.css +46 -0
  26. package/src/layout/animations.css +33 -0
  27. package/src/layout/borders.css +63 -0
  28. package/src/layout/box.css +271 -0
  29. package/src/layout/breadcrumbs.css +114 -0
  30. package/src/layout/cards.css +246 -0
  31. package/src/layout/coloring.css +862 -0
  32. package/src/layout/container.css +40 -0
  33. package/src/layout/corners.css +52 -0
  34. package/src/layout/datatable.css +324 -0
  35. package/src/layout/elevation.css +73 -0
  36. package/src/layout/fetch-feedback.css +125 -0
  37. package/src/layout/generated/borders.css +403 -0
  38. package/src/layout/generated/card-ribbon.css +94 -0
  39. package/src/layout/generated/card-sides.css +888 -0
  40. package/src/layout/generated/grid-system.css +308 -0
  41. package/src/layout/generated/grids.css +952 -0
  42. package/src/layout/generated/layout-stretch.css +132 -0
  43. package/src/layout/generated/positioning.css +323 -0
  44. package/src/layout/generated/sizing.css +478 -0
  45. package/src/layout/generated/spacing.css +1988 -0
  46. package/src/layout/generated/visibility.css +384 -0
  47. package/src/layout/grid-system.css +49 -0
  48. package/src/layout/grids.css +92 -0
  49. package/src/layout/index.css +39 -0
  50. package/src/layout/interactive.css +11 -0
  51. package/src/layout/layout.css +479 -0
  52. package/src/layout/lists.css +104 -0
  53. package/src/layout/other.css +25 -0
  54. package/src/layout/panels.css +337 -0
  55. package/src/layout/positioning.css +108 -0
  56. package/src/layout/scroll.css +85 -0
  57. package/src/layout/shapes.css +20 -0
  58. package/src/layout/shell.css +3 -0
  59. package/src/layout/sizing.css +25 -0
  60. package/src/layout/spacing.css +17 -0
  61. package/src/layout/superposition-system.css +116 -0
  62. package/src/layout/tokens-chips.css +15 -0
  63. package/src/layout/toolbar.css +30 -0
  64. package/src/layout/typography.css +106 -0
  65. package/src/layout/visibility.css +231 -0
  66. package/src/maps/index.css +20 -0
  67. package/src/media/index.css +6 -0
  68. package/src/media.css +18 -0
  69. package/src/pacem-content.css +24 -0
  70. package/src/pacem-shell.css +14 -0
  71. package/src/pacem.css +35 -0
  72. package/src/plus/carousel.css +327 -0
  73. package/src/plus/datagrid.css +68 -0
  74. package/src/plus/gallery.css +186 -0
  75. package/src/plus/icons.css +25 -0
  76. package/src/plus/index.css +7 -0
  77. package/src/plus/misc.css +194 -0
  78. package/src/scaffolding/calendar-picker.css +291 -0
  79. package/src/scaffolding/checkbox-radio.css +118 -0
  80. package/src/scaffolding/checkbox.css +200 -0
  81. package/src/scaffolding/childform.css +156 -0
  82. package/src/scaffolding/color.css +129 -0
  83. package/src/scaffolding/contenteditable.css +403 -0
  84. package/src/scaffolding/datepicker.css +126 -0
  85. package/src/scaffolding/elements.css +30 -0
  86. package/src/scaffolding/fieldset.css +346 -0
  87. package/src/scaffolding/form.css +36 -0
  88. package/src/scaffolding/formfield.css +364 -0
  89. package/src/scaffolding/generated/calendar-picker.css +40 -0
  90. package/src/scaffolding/generated/colors.css +115 -0
  91. package/src/scaffolding/generated/formfield.css +500 -0
  92. package/src/scaffolding/hierarchy.css +76 -0
  93. package/src/scaffolding/icons.css +64 -0
  94. package/src/scaffolding/image.css +195 -0
  95. package/src/scaffolding/index.css +40 -0
  96. package/src/scaffolding/input.css +163 -0
  97. package/src/scaffolding/inputs.css +77 -0
  98. package/src/scaffolding/latlng.css +173 -0
  99. package/src/scaffolding/markdown.css +14 -0
  100. package/src/scaffolding/password.css +7 -0
  101. package/src/scaffolding/pickers.css +150 -0
  102. package/src/scaffolding/radio.css +68 -0
  103. package/src/scaffolding/select.css +59 -0
  104. package/src/scaffolding/slider.css +236 -0
  105. package/src/scaffolding/snapshot.css +167 -0
  106. package/src/scaffolding/suggest.css +92 -0
  107. package/src/scaffolding/tags.css +132 -0
  108. package/src/scaffolding/textarea.css +45 -0
  109. package/src/scaffolding/upload.css +283 -0
  110. package/src/scaffolding/validators.css +29 -0
  111. package/src/tokens/colors.css +403 -0
  112. package/src/tokens/components.css +16 -0
  113. package/src/tokens/system.css +92 -0
  114. package/src/tokens/theme.css +221 -0
  115. package/src/traits.css +18 -0
  116. package/src/transforms/index.css +5 -0
  117. package/src/ui/anchor.css +55 -0
  118. package/src/ui/balloon.css +573 -0
  119. package/src/ui/binder.css +28 -0
  120. package/src/ui/blade.css +83 -0
  121. package/src/ui/bottom-sheet.css +53 -0
  122. package/src/ui/button.css +626 -0
  123. package/src/ui/calendar.css +415 -0
  124. package/src/ui/collapse.css +25 -0
  125. package/src/ui/dialog.css +230 -0
  126. package/src/ui/divider.css +42 -0
  127. package/src/ui/generated/calendar.css +363 -0
  128. package/src/ui/hidden.css +40 -0
  129. package/src/ui/icon.css +90 -0
  130. package/src/ui/image.css +140 -0
  131. package/src/ui/index.css +30 -0
  132. package/src/ui/led.css +84 -0
  133. package/src/ui/loader.css +174 -0
  134. package/src/ui/markdown.css +352 -0
  135. package/src/ui/marquee.css +41 -0
  136. package/src/ui/menu.css +386 -0
  137. package/src/ui/pager.css +133 -0
  138. package/src/ui/progressbar.css +137 -0
  139. package/src/ui/shell.css +4 -0
  140. package/src/ui/sidebar.css +103 -0
  141. package/src/ui/sticky-header.css +22 -0
  142. package/src/ui/tabs.css +355 -0
  143. package/src/ui/ticker.css +105 -0
  144. package/src/ui/timeline.css +106 -0
  145. package/src/ui/toast.css +182 -0
  146. package/src/ui/toc.css +58 -0
  147. package/src/ui/tuner.css +196 -0
  148. package/src/ui/view.css +30 -0
  149. package/src/ui/window.css +287 -0
  150. package/templates/theme.css +28 -0
  151. package/themebuilder.js +19 -0
  152. package/themes/dark.css +6 -0
  153. package/themes/light.css +97 -0
package/src/ui/led.css ADDED
@@ -0,0 +1,84 @@
1
+ @keyframes led-blink {
2
+ 0% { opacity: .5; }
3
+ 100% { opacity: 1; }
4
+ }
5
+
6
+ /* Private properties:
7
+ --pacem--led-s size (.LedSize())
8
+ --pacem--led-in inset background (.LedInset())
9
+ --pacem--led-c color when on (.LedOn()) */
10
+ .pacem-led {
11
+ --pacem--led-s: var(--pacem-grid-spacing);
12
+ --pacem--led-in: linear-gradient(to bottom, rgba(0,0,0,.5) 0, rgba(255,255,255,.2) 100%);
13
+ border-radius: 50%;
14
+ display: inline-block;
15
+ background-color: transparent;
16
+ width: var(--pacem--led-s);
17
+ height: var(--pacem--led-s);
18
+ padding: round(up, calc(var(--pacem--led-s) / 8), 1px);
19
+
20
+ :--light-scheme & {
21
+ --pacem--led-in: linear-gradient(to bottom, rgba(0,0,0,.25) 0, rgba(255,255,255,1) 100%);
22
+ padding: round(up, calc(var(--pacem--led-s) / 12), 1px);
23
+ }
24
+
25
+ :--shadows & {
26
+ background: var(--pacem--led-in);
27
+ }
28
+
29
+ &.led-inset {
30
+ background: var(--pacem--led-in);
31
+ }
32
+
33
+ &::before {
34
+ display: block;
35
+ border-radius: 50%;
36
+ height: 100%;
37
+ content: '';
38
+ background-color: var(--pacem-color-background);
39
+ }
40
+
41
+ &.led-small { --pacem--led-s: calc(var(--pacem-grid-spacing) * 2 / 3); }
42
+ &.led-smaller { --pacem--led-s: calc(var(--pacem-grid-spacing) / 2); }
43
+ &.led-tiny { --pacem--led-s: calc(var(--pacem-grid-spacing) / 3); }
44
+ &.led-big { --pacem--led-s: calc(var(--pacem-grid-spacing) * 1.25); }
45
+ &.led-bigger { --pacem--led-s: calc(var(--pacem-grid-spacing) * 1.5); }
46
+
47
+ &.led-on {
48
+ &.led-accent { --pacem--led-c: var(--pacem-color-accent); }
49
+ &.led-primary { --pacem--led-c: var(--pacem-color-primary); }
50
+ &.led-success { --pacem--led-c: var(--pacem-color-success); }
51
+ &.led-error { --pacem--led-c: var(--pacem-color-error); }
52
+ &.led-warning { --pacem--led-c: var(--pacem-color-warning); }
53
+ &.led-danger { --pacem--led-c: var(--pacem-color-danger); }
54
+ &.led-disabled { --pacem--led-c: var(--pacem-color-disabled); }
55
+
56
+ &:is(.led-accent, .led-primary, .led-success, .led-error, .led-warning, .led-danger, .led-disabled) {
57
+ --pacem--led-out: radial-gradient(ellipse at center, hsl(from var(--pacem--led-c) h s min(100, l + 10)) 0, var(--pacem--led-c) 50%);
58
+
59
+ &::before {
60
+ background-color: var(--pacem--led-c);
61
+ }
62
+
63
+ :--gradients &::before {
64
+ background: var(--pacem--led-out);
65
+ }
66
+
67
+ :--glows &::before {
68
+ box-shadow: 0 0 8px var(--pacem--led-c);
69
+ }
70
+
71
+ &.led-outset::before {
72
+ background: var(--pacem--led-out);
73
+ }
74
+
75
+ &.led-glow::before {
76
+ box-shadow: 0 0 8px var(--pacem--led-c);
77
+ }
78
+ }
79
+
80
+ &.led-blink::before {
81
+ animation: led-blink .3s ease-in-out alternate-reverse infinite;
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,174 @@
1
+ @keyframes rotate-anim {
2
+ 0% { transform: rotate(0deg); }
3
+ 100% { transform: rotate(360deg); }
4
+ }
5
+
6
+ /* .Spinner(border, size, background, gap): one rule, driven by private properties.
7
+ --pacem--sp-b ring width --pacem--sp-s outer size
8
+ --pacem--sp-c ring color --pacem--sp-g gap between the nested rings (loader-full)
9
+ --pacem--sp-w border-width (loader-thin)
10
+ --pacem--sp-v spinning arc color of the color classes (inherited by the nested rings)
11
+ --pacem--sp-top spinning arc color of the spinner otherwise: the small sizes re-declared the whole
12
+ border in Less, hiding the arc (the ring color) unless a color class is set */
13
+ pacem-loader {
14
+ display: block;
15
+ height: 100%;
16
+ pointer-events: none;
17
+
18
+ > div.pacem-loader {
19
+ height: 100%;
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ }
24
+
25
+ div.pacem-spinner {
26
+ --pacem--sp-b: calc(var(--pacem-grid-spacing) * .5);
27
+ --pacem--sp-s: 108px;
28
+ --pacem--sp-c: rgb(from var(--pacem-color-default) r g b / 10%);
29
+ --pacem--sp-top: var(--pacem-color-default);
30
+ width: calc(var(--pacem--sp-s) - 2 * var(--pacem--sp-b));
31
+ height: calc(var(--pacem--sp-s) - 2 * var(--pacem--sp-b));
32
+ border-radius: 50%;
33
+ border: var(--pacem--sp-b) solid var(--pacem--sp-c);
34
+ border-width: var(--pacem--sp-w, var(--pacem--sp-b));
35
+ position: relative;
36
+ border-top-color: var(--pacem--sp-v, var(--pacem--sp-top));
37
+ animation: rotate-anim linear 1s infinite both;
38
+
39
+ > div {
40
+ border-top-color: var(--pacem--sp-v, var(--pacem-color-default));
41
+ }
42
+
43
+ > div:nth-child(1) {
44
+ animation: rotate-anim linear 2s infinite both;
45
+ }
46
+
47
+ > div:nth-child(2) {
48
+ animation: rotate-anim linear 3s infinite both;
49
+ }
50
+ }
51
+
52
+ &:is(.loader-small, .loader-smaller) div.pacem-spinner {
53
+ --pacem--sp-top: var(--pacem--sp-c);
54
+ }
55
+
56
+ &.loader-small div.pacem-spinner {
57
+ --pacem--sp-b: calc(var(--pacem-grid-spacing) * .3333);
58
+ --pacem--sp-s: var(--pacem-grid-cell);
59
+ }
60
+
61
+ &.loader-smaller div.pacem-spinner {
62
+ --pacem--sp-b: calc(var(--pacem-grid-spacing) * .25);
63
+ --pacem--sp-s: calc(2 * var(--pacem-grid-spacing));
64
+ }
65
+
66
+ &.loader-thin div.pacem-spinner {
67
+ --pacem--sp-w: calc(var(--pacem-grid-spacing) / 8);
68
+ }
69
+
70
+ &.loader-full {
71
+ div.pacem-spinner {
72
+ --pacem--sp-b: 2px;
73
+ --pacem--sp-c: transparent;
74
+ --pacem--sp-g: calc(var(--pacem-grid-spacing) / 3);
75
+
76
+ > div {
77
+ --pacem--sp-i: calc(var(--pacem--sp-s) - 2 * var(--pacem--sp-b));
78
+ position: absolute;
79
+ border: var(--pacem--sp-b) solid var(--pacem--sp-c);
80
+ border-top-color: var(--pacem--sp-v, var(--pacem-color-default));
81
+ border-radius: 50%;
82
+ }
83
+
84
+ > div:nth-child(1) {
85
+ top: var(--pacem--sp-g);
86
+ left: var(--pacem--sp-g);
87
+ width: calc(var(--pacem--sp-i) - 2 * (var(--pacem--sp-b) + var(--pacem--sp-g)));
88
+ height: calc(var(--pacem--sp-i) - 2 * (var(--pacem--sp-b) + var(--pacem--sp-g)));
89
+ opacity: .75;
90
+ }
91
+
92
+ > div:nth-child(2) {
93
+ top: calc(2 * var(--pacem--sp-g) + var(--pacem--sp-b));
94
+ left: calc(2 * var(--pacem--sp-g) + var(--pacem--sp-b));
95
+ width: calc(var(--pacem--sp-i) - 4 * (var(--pacem--sp-b) + var(--pacem--sp-g)));
96
+ height: calc(var(--pacem--sp-i) - 4 * (var(--pacem--sp-b) + var(--pacem--sp-g)));
97
+ opacity: .5;
98
+ }
99
+ }
100
+
101
+ /* (beat loader-thin, as in Less) */
102
+ &.loader-small div.pacem-spinner {
103
+ --pacem--sp-b: 1px;
104
+ --pacem--sp-w: 1px;
105
+ --pacem--sp-g: calc(var(--pacem-grid-spacing) / 4);
106
+ }
107
+
108
+ &.loader-smaller div.pacem-spinner {
109
+ --pacem--sp-b: 1px;
110
+ --pacem--sp-w: 1px;
111
+ --pacem--sp-g: calc(var(--pacem-grid-spacing) / 6);
112
+ }
113
+ }
114
+
115
+ &.loader-accent div.pacem-spinner { --pacem--sp-v: var(--pacem-color-accent); }
116
+ &.loader-primary div.pacem-spinner { --pacem--sp-v: var(--pacem-color-primary); }
117
+ &.loader-success div.pacem-spinner { --pacem--sp-v: var(--pacem-color-success); }
118
+ &.loader-warning div.pacem-spinner { --pacem--sp-v: var(--pacem-color-warning); }
119
+ &.loader-danger div.pacem-spinner { --pacem--sp-v: var(--pacem-color-danger); }
120
+
121
+ svg.pacem-spinner {
122
+ height: 108px;
123
+ width: 108px;
124
+
125
+ g.gear {
126
+ animation: rotate-anim cubic-bezier(0.86, 0, 0.07, 1) 1.7s infinite both;
127
+
128
+ > circle {
129
+ fill: var(--pacem-color-default);
130
+ }
131
+ }
132
+
133
+ g.bounds {
134
+ animation: rotate-anim cubic-bezier(0.645, 0.045, 0.355, 1) 2.3s infinite reverse both;
135
+
136
+ > path {
137
+ stroke: var(--pacem-color-accent);
138
+ /* needed by Firefox */
139
+ fill: transparent;
140
+ }
141
+ }
142
+
143
+ g {
144
+ transform-box: fill-box;
145
+ transform-origin: center center;
146
+ }
147
+
148
+ circle.circle1 {
149
+ stroke: var(--pacem-color-primary);
150
+ }
151
+
152
+ circle.circle2 {
153
+ stroke: var(--pacem-color-accent);
154
+ }
155
+ }
156
+
157
+ .pacem-loader {
158
+ transition: transform .25s var(--pacem-easing-in-back);
159
+ transform: scale(0);
160
+
161
+ &.active {
162
+ transition-timing-function: var(--pacem-easing-out-back);
163
+ transform: scale(1);
164
+ }
165
+ }
166
+ }
167
+
168
+ /* (:root: in Less this rule was scoped by the shell selector, html[theme], and overrides the white background of
169
+ `html .pacem-preloader` in base/preloader.css) */
170
+ :root .pacem-preloader {
171
+ background: radial-gradient(ellipse at center, var(--pacem-color-background) 0%, var(--pacem-color-root) 50%);
172
+ background-color: var(--pacem-color-root);
173
+ background-size: contain;
174
+ }
@@ -0,0 +1,352 @@
1
+ /* (.pacem-markdown and pacem-markdown keep their own specificity: explicit selector lists) */
2
+ .pacem-markdown,
3
+ pacem-markdown {
4
+ display: block;
5
+ color: rgb(from var(--pacem-color-default) r g b / 80%);
6
+ text-rendering: optimizeLegibility;
7
+ }
8
+
9
+ .pacem-markdown :is(h1, h2, h3, h4),
10
+ pacem-markdown :is(h1, h2, h3, h4) {
11
+ margin: 0 0 .5em 0;
12
+ padding: 0;
13
+ font-weight: 700;
14
+ color: var(--pacem-color-default);
15
+ font-family: var(--pacem-font-main);
16
+ }
17
+
18
+ .pacem-markdown h1,
19
+ pacem-markdown h1 {
20
+ font-size: calc(2rem * var(--pacem-font-main-rem-factor));
21
+ line-height: 2rem;
22
+ border-bottom: 1px solid rgb(from var(--pacem-color-default) r g b / 10%);
23
+ color: var(--pacem-color-accent);
24
+ text-transform: var(--pacem-transform-heading);
25
+ }
26
+
27
+ .pacem-markdown h2,
28
+ pacem-markdown h2 {
29
+ font-size: calc(1.5rem * var(--pacem-font-main-rem-factor));
30
+ line-height: 1.5rem;
31
+ color: var(--pacem-color-primary);
32
+ border-bottom: 1px solid rgb(from var(--pacem-color-primary) r g b / 10%);
33
+ }
34
+
35
+ .pacem-markdown h3,
36
+ pacem-markdown h3 {
37
+ font-size: calc(1.125rem * var(--pacem-font-main-rem-factor));
38
+ line-height: 1.125rem;
39
+ }
40
+
41
+ .pacem-markdown h4,
42
+ pacem-markdown h4 {
43
+ font-size: calc(1.0625rem * var(--pacem-font-main-rem-factor));
44
+ line-height: 1.0625rem;
45
+ }
46
+
47
+ .pacem-markdown code,
48
+ pacem-markdown code {
49
+ white-space: pre;
50
+ margin: 0 0 1em 0;
51
+ font-size: calc(1rem * var(--pacem-font-tech-rem-factor));
52
+ }
53
+
54
+ .pacem-markdown pre > code,
55
+ .pacem-markdown code.pacem-code-block,
56
+ pacem-markdown pre > code,
57
+ pacem-markdown code.pacem-code-block {
58
+ display: block;
59
+ padding: 1em;
60
+ background-color: var(--pacem-color-codeblock-back);
61
+
62
+ span {
63
+ display: inline-block;
64
+ vertical-align: top;
65
+ }
66
+ }
67
+
68
+ .pacem-markdown pre > code::first-line,
69
+ .pacem-markdown code.pacem-code-block::first-line,
70
+ pacem-markdown pre > code::first-line,
71
+ pacem-markdown code.pacem-code-block::first-line {
72
+ line-height: normal;
73
+ }
74
+
75
+ .pacem-markdown p,
76
+ pacem-markdown p {
77
+ margin: 0 0 1em 0;
78
+ }
79
+
80
+ .pacem-markdown :is(ol, ul),
81
+ pacem-markdown :is(ol, ul) {
82
+ margin: 0 1em 1em 1em;
83
+ }
84
+
85
+ .pacem-markdown a,
86
+ pacem-markdown a {
87
+ color: var(--pacem-color-link);
88
+ }
89
+
90
+ .pacem-markdown blockquote,
91
+ pacem-markdown blockquote {
92
+ padding: 0 2em;
93
+ position: relative;
94
+ text-align: center;
95
+ font-size: 1.5em;
96
+ margin: 1em;
97
+ font-style: italic;
98
+ color: rgb(from var(--pacem-color-primary) r g b / 80%);
99
+ border: 0;
100
+
101
+ &::before,
102
+ &::after {
103
+ /* .Icon() */
104
+ content: 'format_quote';
105
+ position: absolute;
106
+ display: inline-block;
107
+ line-height: 1;
108
+ text-align: center;
109
+ font-family: var(--pacem-font-icons);
110
+ text-transform: none;
111
+ letter-spacing: normal;
112
+ word-wrap: normal;
113
+ white-space: nowrap;
114
+ direction: ltr;
115
+ -webkit-font-smoothing: antialiased;
116
+ text-rendering: optimizeLegibility;
117
+ -moz-osx-font-smoothing: grayscale;
118
+ font-feature-settings: 'liga';
119
+ transition: font-variation-settings .25s var(--pacem-easing-in-out-sine);
120
+ font-variation-settings: 'FILL' var(--pacem-font-icon-fill), 'wght' 400, 'GRAD' 0, 'opsz' 24;
121
+ font-size: 1.25em;
122
+ }
123
+
124
+ &::before {
125
+ transform: rotate(180deg);
126
+ top: 0;
127
+ left: 0;
128
+ }
129
+
130
+ &::after {
131
+ bottom: 0;
132
+ right: 0;
133
+ }
134
+
135
+ > p {
136
+ margin: .25em 0;
137
+ }
138
+
139
+ a {
140
+ text-decoration: underline;
141
+ }
142
+ }
143
+
144
+ .pacem-markdown.md-tech blockquote,
145
+ pacem-markdown.md-tech blockquote {
146
+ border: 1px solid var(--pacem-color-border);
147
+ padding: 1em 1em 1em 2em;
148
+ position: static;
149
+ text-align: inherit;
150
+ font-size: 1em;
151
+ margin: 1em 0;
152
+ font-style: normal;
153
+ color: inherit;
154
+ background-color: var(--pacem-color-button-back);
155
+ border-left: calc(var(--pacem-grid-spacing) / 6) solid var(--pacem-color-accent);
156
+ border-radius: var(--pacem-border-radius);
157
+
158
+ &::before,
159
+ &::after {
160
+ content: none;
161
+ }
162
+
163
+ > p {
164
+ margin: .25em 0;
165
+ }
166
+
167
+ a {
168
+ text-decoration: underline;
169
+ }
170
+ }
171
+
172
+ /* code blocks */
173
+ .pacem-markdown pre > code,
174
+ .pacem-markdown code.pacem-code-block,
175
+ pacem-markdown pre > code,
176
+ pacem-markdown code.pacem-code-block {
177
+ display: block;
178
+ color: var(--pacem-color-default);
179
+ font-size: calc(.9rem * var(--pacem-font-tech-rem-factor));
180
+ line-height: calc(1.5rem * var(--pacem-font-rem-factor));
181
+ }
182
+
183
+ /* syntax highlighting: --pacem--md-{kw,num,str,cmt,tag,attr} */
184
+ :is(.pacem-markdown, pacem-markdown) :is(pre > code, code.pacem-code-block) {
185
+ --pacem--md-kw: #69f;
186
+ --pacem--md-num: #f80;
187
+ --pacem--md-str: #66aaff;
188
+ --pacem--md-cmt: #6a6;
189
+ --pacem--md-tag: #c56263;
190
+ --pacem--md-attr: #fc5900;
191
+
192
+ :--light-scheme & {
193
+ --pacem--md-kw: #00f;
194
+ --pacem--md-num: #f00;
195
+ --pacem--md-str: #0088ff;
196
+ --pacem--md-cmt: #373;
197
+ --pacem--md-tag: #853233;
198
+ --pacem--md-attr: #f00;
199
+ }
200
+
201
+ &:is(.js, .javascript, .typescript, .c, .c-sharp, .csharp, .cpp) {
202
+ :is(.code-keyword, .pacem-keyword) {
203
+ font-weight: 700;
204
+ color: var(--pacem--md-kw);
205
+ }
206
+
207
+ :is(.code-number, .pacem-number) {
208
+ color: var(--pacem--md-num);
209
+ }
210
+
211
+ :is(.code-string, .pacem-string-char, .pacem-string) {
212
+ color: var(--pacem--md-str);
213
+ }
214
+
215
+ :is(.code-comment, .pacem-comment) {
216
+ color: var(--pacem--md-cmt);
217
+ }
218
+ }
219
+
220
+ &:is(.xml, .html) {
221
+ :is(.code-tag, .pacem-tag, .code-string, .pacem-string-char, .pacem-string) {
222
+ color: var(--pacem--md-kw);
223
+ }
224
+
225
+ :is(.code-tagname, .pacem-tag-name) {
226
+ color: var(--pacem--md-tag);
227
+ }
228
+
229
+ :is(.code-attribute, .pacem-attribute) {
230
+ color: var(--pacem--md-attr);
231
+ }
232
+
233
+ :is(.code-comment, .pacem-comment) {
234
+ color: #aaa;
235
+ }
236
+ }
237
+ }
238
+
239
+ /*
240
+ * language-agnostic syntax highlighting: fenced code of any language registered in foundation's Compile.Syntaxes
241
+ * is rendered as `code.code-highlighted` (plus `.code-markup` for markup), next to the per-language classes above
242
+ */
243
+ :is(.pacem-markdown, pacem-markdown) :is(pre > code, code.pacem-code-block).code-highlighted {
244
+
245
+ &:not(.code-markup) {
246
+ .code-keyword {
247
+ font-weight: 700;
248
+ color: var(--pacem--md-kw);
249
+ }
250
+
251
+ .code-number {
252
+ color: var(--pacem--md-num);
253
+ }
254
+
255
+ .code-string {
256
+ color: var(--pacem--md-str);
257
+ }
258
+
259
+ .code-comment {
260
+ color: var(--pacem--md-cmt);
261
+ }
262
+ }
263
+
264
+ &.code-markup {
265
+ :is(.code-tag, .code-string) {
266
+ color: var(--pacem--md-kw);
267
+ }
268
+
269
+ .code-tagname {
270
+ color: var(--pacem--md-tag);
271
+ }
272
+
273
+ .code-attribute {
274
+ color: var(--pacem--md-attr);
275
+ }
276
+
277
+ .code-keyword {
278
+ font-weight: 700;
279
+ }
280
+
281
+ .code-comment {
282
+ color: #aaa;
283
+ }
284
+ }
285
+ }
286
+
287
+ /* tables (GFM) */
288
+ .pacem-markdown table,
289
+ pacem-markdown table {
290
+ display: block;
291
+ max-width: 100%;
292
+ overflow-x: auto;
293
+ margin: 0 0 1em 0;
294
+ border-collapse: collapse;
295
+ }
296
+
297
+ .pacem-markdown :is(th, td),
298
+ pacem-markdown :is(th, td) {
299
+ padding: .375em .75em;
300
+ border: 1px solid var(--pacem-color-border);
301
+ }
302
+
303
+ .pacem-markdown th,
304
+ pacem-markdown th {
305
+ font-weight: 700;
306
+ color: var(--pacem-color-default);
307
+ background-color: var(--pacem-color-button-back);
308
+ }
309
+
310
+ .pacem-markdown tbody > tr:nth-child(even),
311
+ pacem-markdown tbody > tr:nth-child(even) {
312
+ background-color: rgb(from var(--pacem-color-default) r g b / 4%);
313
+ }
314
+
315
+ /* task lists (GFM) */
316
+ .pacem-markdown li.task-list-item,
317
+ pacem-markdown li.task-list-item {
318
+ list-style: none;
319
+
320
+ > input[type=checkbox] {
321
+ margin: 0 .25em 0 -1.25em;
322
+ vertical-align: middle;
323
+ }
324
+ }
325
+
326
+ /* footnotes (GFM) */
327
+ .pacem-markdown sup.footnote-ref,
328
+ pacem-markdown sup.footnote-ref {
329
+ line-height: 0;
330
+
331
+ > a {
332
+ padding: 0 .125em;
333
+ text-decoration: none;
334
+ }
335
+ }
336
+
337
+ .pacem-markdown .footnotes,
338
+ pacem-markdown .footnotes {
339
+ margin-top: 2em;
340
+ padding-top: 1em;
341
+ font-size: .875em;
342
+ border-top: 1px solid rgb(from var(--pacem-color-default) r g b / 10%);
343
+
344
+ .footnote-backref {
345
+ text-decoration: none;
346
+ }
347
+ }
348
+
349
+ .pacem-markdown > :last-child,
350
+ pacem-markdown > :last-child {
351
+ margin-bottom: 0;
352
+ }
@@ -0,0 +1,41 @@
1
+ pacem-marquee {
2
+ font-size: 1.05em;
3
+ color: var(--pacem-color-marquee-fore);
4
+ background-color: var(--pacem-color-marquee-back);
5
+ display: block;
6
+ overflow: hidden;
7
+ min-height: var(--pacem-grid-spacing);
8
+ line-height: var(--pacem-grid-spacing);
9
+ position: relative;
10
+
11
+ .pacem-marquee,
12
+ .pacem-marquee-overlap {
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ height: 100%;
17
+ }
18
+
19
+ .pacem-marquee-overlap {
20
+ min-width: 100%;
21
+ pointer-events: none;
22
+ z-index: 1;
23
+ }
24
+
25
+ .pacem-marquee {
26
+ white-space: nowrap;
27
+ z-index: 0;
28
+ }
29
+
30
+ &:hover .pacem-marquee {
31
+ animation-play-state: paused;
32
+ }
33
+
34
+ :--gradients & {
35
+ background: linear-gradient(to bottom, var(--pacem-color-marquee-back) 0, var(--pacem-color-marquee-back2) 100%);
36
+ }
37
+
38
+ :--shadows & .pacem-marquee-overlap {
39
+ box-shadow: inset calc(var(--pacem-grid-spacing) / 2) 0 calc(var(--pacem-grid-spacing) / 2) rgba(0,0,0,0.5), inset calc(var(--pacem-grid-spacing) / -2) 0 calc(var(--pacem-grid-spacing) / 2) rgba(0,0,0,0.5);
40
+ }
41
+ }