@pacem/pacem-theme-less 1.0.0-amaldi

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 (211) hide show
  1. package/LICENSE +191 -0
  2. package/NOTICE +4 -0
  3. package/README.md +23 -0
  4. package/fonts-empty.less +11 -0
  5. package/pacem/2d/index.less +14 -0
  6. package/pacem/2d/stage.less +31 -0
  7. package/pacem/2d/text.less +16 -0
  8. package/pacem/3d/index.less +24 -0
  9. package/pacem/3d/stage.less +30 -0
  10. package/pacem/attributes.less +8 -0
  11. package/pacem/basic/dock.less +19 -0
  12. package/pacem/basic/drag-drop.less +75 -0
  13. package/pacem/basic/index.less +42 -0
  14. package/pacem/basic/repeater.less +3 -0
  15. package/pacem/basic/rescale.less +157 -0
  16. package/pacem/basic/resize.less +3 -0
  17. package/pacem/basic/scroll-aware.less +4 -0
  18. package/pacem/basic/swipe.less +22 -0
  19. package/pacem/basic/viewport-aware.less +4 -0
  20. package/pacem/body.less +197 -0
  21. package/pacem/charts/dark/column-line.less +10 -0
  22. package/pacem/charts/dark/column.less +61 -0
  23. package/pacem/charts/dark/index.less +9 -0
  24. package/pacem/charts/dark/line.less +111 -0
  25. package/pacem/charts/dark/pie.less +210 -0
  26. package/pacem/charts/dark/shared.less +88 -0
  27. package/pacem/charts/index.less +1 -0
  28. package/pacem/charts/light/index.less +2 -0
  29. package/pacem/charts/phousys/index.less +2 -0
  30. package/pacem/cms/datagrid-columns.less +41 -0
  31. package/pacem/cms/grid.less +23 -0
  32. package/pacem/cms/index.less +3 -0
  33. package/pacem/cms/shared.less +3 -0
  34. package/pacem/cms/widget.less +81 -0
  35. package/pacem/fonts-dark.less +7 -0
  36. package/pacem/fonts-light.less +7 -0
  37. package/pacem/fonts-none.less +1 -0
  38. package/pacem/fonts-phousys.less +8 -0
  39. package/pacem/fx/fancy.less +138 -0
  40. package/pacem/fx/gradient.less +21 -0
  41. package/pacem/fx/hero.less +12 -0
  42. package/pacem/fx/index.less +6 -0
  43. package/pacem/fx/list.less +11 -0
  44. package/pacem/fx/pulse.less +105 -0
  45. package/pacem/fx/ripple.less +66 -0
  46. package/pacem/icons.less +76 -0
  47. package/pacem/layout/animations.less +37 -0
  48. package/pacem/layout/dark/address.less +37 -0
  49. package/pacem/layout/dark/borders.less +102 -0
  50. package/pacem/layout/dark/breadcrumbs.less +85 -0
  51. package/pacem/layout/dark/cards.less +555 -0
  52. package/pacem/layout/dark/coloring.less +184 -0
  53. package/pacem/layout/dark/container.less +50 -0
  54. package/pacem/layout/dark/datatable.less +454 -0
  55. package/pacem/layout/dark/elevation.less +74 -0
  56. package/pacem/layout/dark/fetch-feedback.less +124 -0
  57. package/pacem/layout/dark/grid-system.less +181 -0
  58. package/pacem/layout/dark/grids.less +268 -0
  59. package/pacem/layout/dark/index.less +27 -0
  60. package/pacem/layout/dark/interactive.less +10 -0
  61. package/pacem/layout/dark/layout.less +616 -0
  62. package/pacem/layout/dark/lists.less +112 -0
  63. package/pacem/layout/dark/other.less +29 -0
  64. package/pacem/layout/dark/panels.less +299 -0
  65. package/pacem/layout/dark/positioning.less +273 -0
  66. package/pacem/layout/dark/scroll.less +93 -0
  67. package/pacem/layout/dark/shapes.less +22 -0
  68. package/pacem/layout/dark/sizing.less +108 -0
  69. package/pacem/layout/dark/spacing.less +296 -0
  70. package/pacem/layout/dark/superposition-system.less +116 -0
  71. package/pacem/layout/dark/tiles.less +71 -0
  72. package/pacem/layout/dark/tokens-chips.less +16 -0
  73. package/pacem/layout/dark/toolbar.less +32 -0
  74. package/pacem/layout/dark/typography.less +110 -0
  75. package/pacem/layout/dark/visibility.less +406 -0
  76. package/pacem/layout/index.less +2 -0
  77. package/pacem/layout/light/index.less +2 -0
  78. package/pacem/layout/light/layout.less +2 -0
  79. package/pacem/layout/mixins.less +445 -0
  80. package/pacem/layout/phousys/index.less +2 -0
  81. package/pacem/layout/phousys/layout.less +2 -0
  82. package/pacem/layout/shared.less +18 -0
  83. package/pacem/logging/console.less +3 -0
  84. package/pacem/logging/fps.less +6 -0
  85. package/pacem/logging/index.less +2 -0
  86. package/pacem/maps/index.less +21 -0
  87. package/pacem/media/dark/index.less +6 -0
  88. package/pacem/media/index.less +1 -0
  89. package/pacem/media/light/index.less +2 -0
  90. package/pacem/media/phousys/index.less +2 -0
  91. package/pacem/pacem-animations.less +202 -0
  92. package/pacem/pacem.less +448 -0
  93. package/pacem/palette-dark.less +0 -0
  94. package/pacem/palette-light.less +0 -0
  95. package/pacem/plus/carousel.less +370 -0
  96. package/pacem/plus/context-menu.less +31 -0
  97. package/pacem/plus/datagrid/datacell.less +10 -0
  98. package/pacem/plus/datagrid/headcell.less +32 -0
  99. package/pacem/plus/datagrid/index.less +48 -0
  100. package/pacem/plus/edit.less +42 -0
  101. package/pacem/plus/gallery.less +239 -0
  102. package/pacem/plus/index.less +7 -0
  103. package/pacem/plus/modal-form.less +27 -0
  104. package/pacem/plus/router-hash-state.less +6 -0
  105. package/pacem/reset.less +51 -0
  106. package/pacem/scaffolding/dark/calendar-picker.less +415 -0
  107. package/pacem/scaffolding/dark/char-counter.less +68 -0
  108. package/pacem/scaffolding/dark/chars.less +29 -0
  109. package/pacem/scaffolding/dark/checkbox-radio-shared.less +150 -0
  110. package/pacem/scaffolding/dark/checkbox.less +232 -0
  111. package/pacem/scaffolding/dark/childform.less +191 -0
  112. package/pacem/scaffolding/dark/color.less +128 -0
  113. package/pacem/scaffolding/dark/contenteditable/alignment.less +6 -0
  114. package/pacem/scaffolding/dark/contenteditable/dashboard.less +253 -0
  115. package/pacem/scaffolding/dark/contenteditable/index.less +4 -0
  116. package/pacem/scaffolding/dark/contenteditable/picture.less +74 -0
  117. package/pacem/scaffolding/dark/contenteditable/placeholder.less +24 -0
  118. package/pacem/scaffolding/dark/contenteditable.less +157 -0
  119. package/pacem/scaffolding/dark/datepicker.less +129 -0
  120. package/pacem/scaffolding/dark/dialog-overrides.less +32 -0
  121. package/pacem/scaffolding/dark/element-picker.less +11 -0
  122. package/pacem/scaffolding/dark/expression.less +34 -0
  123. package/pacem/scaffolding/dark/form.less +16 -0
  124. package/pacem/scaffolding/dark/formfield.less +1149 -0
  125. package/pacem/scaffolding/dark/geolocate.less +12 -0
  126. package/pacem/scaffolding/dark/hierarchy.less +82 -0
  127. package/pacem/scaffolding/dark/image.less +195 -0
  128. package/pacem/scaffolding/dark/index.less +57 -0
  129. package/pacem/scaffolding/dark/input.less +134 -0
  130. package/pacem/scaffolding/dark/latlng.less +163 -0
  131. package/pacem/scaffolding/dark/markdown.less +20 -0
  132. package/pacem/scaffolding/dark/namevalue-list.less +13 -0
  133. package/pacem/scaffolding/dark/number.less +12 -0
  134. package/pacem/scaffolding/dark/password.less +12 -0
  135. package/pacem/scaffolding/dark/property-picker.less +11 -0
  136. package/pacem/scaffolding/dark/radio.less +78 -0
  137. package/pacem/scaffolding/dark/search.less +29 -0
  138. package/pacem/scaffolding/dark/select.less +55 -0
  139. package/pacem/scaffolding/dark/slider.less +176 -0
  140. package/pacem/scaffolding/dark/snapshot.less +183 -0
  141. package/pacem/scaffolding/dark/suggest.less +115 -0
  142. package/pacem/scaffolding/dark/tags.less +149 -0
  143. package/pacem/scaffolding/dark/tel.less +11 -0
  144. package/pacem/scaffolding/dark/textarea.less +29 -0
  145. package/pacem/scaffolding/dark/upload.less +252 -0
  146. package/pacem/scaffolding/dark/url.less +9 -0
  147. package/pacem/scaffolding/dark/validators.less +36 -0
  148. package/pacem/scaffolding/index.less +2 -0
  149. package/pacem/scaffolding/light/index.less +2 -0
  150. package/pacem/scaffolding/phousys/index.less +2 -0
  151. package/pacem/scaffolding/shared.less +249 -0
  152. package/pacem/text-overrides.less +219 -0
  153. package/pacem/theme-dark.less +676 -0
  154. package/pacem/theme-light.less +119 -0
  155. package/pacem/theme-phousys-old.less +130 -0
  156. package/pacem/theme-phousys.less +153 -0
  157. package/pacem/transforms/index.less +7 -0
  158. package/pacem/ui/dark/anchor.less +45 -0
  159. package/pacem/ui/dark/balloon.less +566 -0
  160. package/pacem/ui/dark/binder.less +50 -0
  161. package/pacem/ui/dark/blade.less +110 -0
  162. package/pacem/ui/dark/body.less +5 -0
  163. package/pacem/ui/dark/bottom-sheet.less +69 -0
  164. package/pacem/ui/dark/button.less +716 -0
  165. package/pacem/ui/dark/calendar.less +660 -0
  166. package/pacem/ui/dark/collapse.less +23 -0
  167. package/pacem/ui/dark/dialog.less +17 -0
  168. package/pacem/ui/dark/divider.less +49 -0
  169. package/pacem/ui/dark/header-footer.less +5 -0
  170. package/pacem/ui/dark/icon.less +141 -0
  171. package/pacem/ui/dark/image.less +90 -0
  172. package/pacem/ui/dark/index.less +82 -0
  173. package/pacem/ui/dark/infinite-scroller.less +5 -0
  174. package/pacem/ui/dark/led.less +142 -0
  175. package/pacem/ui/dark/lightbox.less +140 -0
  176. package/pacem/ui/dark/loader.less +219 -0
  177. package/pacem/ui/dark/markdown.less +292 -0
  178. package/pacem/ui/dark/marquee.less +49 -0
  179. package/pacem/ui/dark/menu.less +578 -0
  180. package/pacem/ui/dark/pager.less +166 -0
  181. package/pacem/ui/dark/picture.less +146 -0
  182. package/pacem/ui/dark/progressbar.less +167 -0
  183. package/pacem/ui/dark/sidebar.less +144 -0
  184. package/pacem/ui/dark/slideshow.less +1 -0
  185. package/pacem/ui/dark/social.less +5 -0
  186. package/pacem/ui/dark/sticky-header.less +41 -0
  187. package/pacem/ui/dark/tabs.less +423 -0
  188. package/pacem/ui/dark/ticker.less +173 -0
  189. package/pacem/ui/dark/timeline.less +159 -0
  190. package/pacem/ui/dark/toast.less +232 -0
  191. package/pacem/ui/dark/toc.less +47 -0
  192. package/pacem/ui/dark/tuner.less +155 -0
  193. package/pacem/ui/dark/view.less +17 -0
  194. package/pacem/ui/dark/window.less +313 -0
  195. package/pacem/ui/dialog-vars.less +159 -0
  196. package/pacem/ui/index.less +1 -0
  197. package/pacem/ui/light/button.less +8 -0
  198. package/pacem/ui/light/index.less +3 -0
  199. package/pacem/ui/light/loader.less +2 -0
  200. package/pacem/ui/light/menu.less +2 -0
  201. package/pacem/ui/light/sidebar.less +2 -0
  202. package/pacem/ui/phousys/button.less +8 -0
  203. package/pacem/ui/phousys/index.less +3 -0
  204. package/pacem/ui/phousys/loader.less +2 -0
  205. package/pacem/ui/phousys/menu.less +2 -0
  206. package/pacem/ui/phousys/sidebar.less +2 -0
  207. package/pacem/ui/shared.less +125 -0
  208. package/package.json +39 -0
  209. package/shared.less +161 -0
  210. package/theme-empty.less +116 -0
  211. package/themebuilder.js +290 -0
@@ -0,0 +1,716 @@
1
+ @import "../shared";
2
+
3
+ @_side_padding: @grid_spacing / 2;
4
+ @_margin: @grid_spacing/3;
5
+ @_width: 2 * (@grid_cell + @_side_padding);
6
+ @_width_half: @grid_cell + 2 * @_side_padding;
7
+ @_height: @grid_spacing * 1.5;
8
+ @_border: 1px;
9
+ @_radius: ~"var(--@{PCSS}-border-button-radius)";
10
+
11
+ .@{PCSS}-button.button,
12
+ @{P}-button.button {
13
+ @_brd: @_border;
14
+ @_h: @_height;
15
+ height: @_h - 2 * @_brd;
16
+ line-height: $height;
17
+ padding: 0 @grid_spacing/1.5;
18
+ //min-width: @_width;
19
+ // background-color: @color_button_back;
20
+ box-sizing: border-box;
21
+ cursor: pointer;
22
+ border: @_brd solid transparent;
23
+ //margin: 0 @_margin @_margin 0;
24
+ transition: all .1s linear;
25
+ //color: @color_light;
26
+ border-radius: @_radius;
27
+
28
+ &.button-size {
29
+ padding: 0 @grid_spacing/2;
30
+ min-width: @_width;
31
+ // constrained min-width
32
+ &.size-small {
33
+ min-width: @_width_half;
34
+ }
35
+ // minimal size, depends on content
36
+ &.size-auto {
37
+ min-width: 0;
38
+ padding: 0 0 0 @grid_spacing/3;
39
+ height: @grid_spacing;
40
+
41
+ &[data-icon-glyph]::before {
42
+ font-size: 1rem;
43
+ line-height: @grid_spacing;
44
+ display: block;
45
+ }
46
+ }
47
+
48
+ &.size-stretch {
49
+ min-width: 0;
50
+ padding: 0 0 0 @grid_spacing/3;
51
+ height: auto;
52
+ line-height: inherit;
53
+
54
+ &[data-icon-glyph]::before {
55
+ font-size: 1rem;
56
+ line-height: 1;
57
+ display: block;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ .ButtonGradients() {
64
+ .GradientBorderVertical(1, 0, 100%, @color_button_border_light, @color_button_border_dark);
65
+ }
66
+
67
+ .ButtonNoGradients() {
68
+ border-top-color: @color_button_border_light;
69
+ border-bottom-color: @color_button_border;
70
+ border-right-color: @color_button_border;
71
+ border-left-color: @color_button_border;
72
+ }
73
+
74
+ .@{PCSS}-button.button when (@shadows = true) {
75
+ .ButtonShadows();
76
+ }
77
+
78
+ @{P}-button.button when (@shadows = true) {
79
+ .ButtonShadows();
80
+ }
81
+
82
+ .@{PCSS}-button.button when (@gradients = true) {
83
+ .ButtonGradients();
84
+ }
85
+
86
+ @{P}-button.button when (@gradients = true) {
87
+ .ButtonGradients();
88
+ }
89
+
90
+ .@{PCSS}-button.button when (@gradients = false) {
91
+ .ButtonNoGradients();
92
+ }
93
+
94
+ @{P}-button.button when (@gradients = false) {
95
+ .ButtonNoGradients();
96
+ }
97
+
98
+ .@{PCSS}-button,
99
+ a.@{PCSS}-button,
100
+ @{P}-button {
101
+ background-color: @color_button_back;
102
+ }
103
+
104
+ /*.@{PCSS}-balloon {
105
+
106
+ .@{PCSS}-button,
107
+ a.@{PCSS}-button,
108
+ @{P}-button {
109
+ background-color: @balloon_color;
110
+ }
111
+ }*/
112
+
113
+ .@{PCSS}-button,
114
+ a.@{PCSS}-button,
115
+ @{P}-button {
116
+ position: relative;
117
+ cursor: pointer;
118
+ display: inline-block;
119
+ vertical-align: middle;
120
+ margin: 0 @_margin @_margin 0;
121
+ user-select: none;
122
+
123
+ .ButtonColorize(@clr, @clr_fore) {
124
+ background: @clr;
125
+ color: @clr_fore;
126
+
127
+ @_darken_perc: @button_hover_percentage;
128
+
129
+ &:hover {
130
+ color: @clr_fore;
131
+ }
132
+
133
+ &:focus when (@glows = true) {
134
+ text-shadow: 0 0 8px @clr_fore;
135
+ }
136
+
137
+ &:hover when (@glows = true) {
138
+ text-shadow: 0 0 8px @clr_fore;
139
+ }
140
+
141
+ &:focus when (@dark_theme = false) {
142
+ background-color: darken(@clr, @_darken_perc);
143
+ }
144
+
145
+ &:hover when (@dark_theme = false) {
146
+ background-color: darken(@clr, @_darken_perc);
147
+ }
148
+
149
+ &:focus when (@dark_theme = true) {
150
+ background-color: lighten(@clr, @_darken_perc);
151
+ }
152
+
153
+ &:hover when (@dark_theme = true) {
154
+ background-color: lighten(@clr, @_darken_perc);
155
+ }
156
+ }
157
+
158
+ .ButtonColorize(@clr_name) {
159
+ @_fore: ~"var(--@{PCSS}-color-@{clr_name}-inverse)";
160
+ @_back: ~"var(--@{PCSS}-color-@{clr_name})";
161
+ background: @_back;
162
+ color: @_fore;
163
+
164
+ &:focus when (@glows = true) {
165
+ text-shadow: 0 0 8px @_fore;
166
+ }
167
+
168
+ &:hover when (@glows = true) {
169
+ text-shadow: 0 0 8px @_fore;
170
+ }
171
+
172
+ &:focus,
173
+ &:hover {
174
+ background-color: ~"var(--@{PCSS}-color-@{clr_name}-hover)";
175
+ color: ~"var(--@{PCSS}-color-@{clr_name}-inverse-hover)";
176
+ }
177
+ }
178
+
179
+ .ButtonColorize(@color_button_back, @color_button_fore);
180
+
181
+ .IconGlyphColorize(@color) {
182
+ &[data-icon-glyph]::before {
183
+ color: ~"var(--@{PCSS}-color-@{color})";
184
+ }
185
+
186
+ &:focus,
187
+ &:hover {
188
+ &[data-icon-glyph]::before {
189
+ color: ~"var(--@{PCSS}-color-@{color}-hover)";
190
+ }
191
+ }
192
+ }
193
+
194
+ &.button-invert {
195
+ .ButtonColorize(invert);
196
+ }
197
+
198
+ @_palette: @palette_colors;
199
+ @_colors: @semantic_colors;
200
+
201
+ each(@_colors, {
202
+
203
+ &.@{value},
204
+ &.button-@{value}{
205
+ .ButtonColorize(@value);
206
+ }
207
+
208
+ &.icon-glyph-@{value}{
209
+ .IconGlyphColorize(@value);
210
+ }
211
+ /*&.button-@{value}-container{
212
+ .ButtonColorize(~"@{value}-container");
213
+ }*/
214
+
215
+ });
216
+
217
+ each(@_palette, {
218
+
219
+ &.@{value},
220
+ &.button-@{value}{
221
+ .ButtonColorize(@value);
222
+ }
223
+
224
+ &.icon-glyph-@{value}{
225
+ .IconGlyphColorize(@value);
226
+ }
227
+ /*&.button-@{value}-container{
228
+ .ButtonColorize(~"@{value}-container");
229
+ }*/
230
+ });
231
+
232
+ &.exhalt,
233
+ &.button-exhalt {
234
+ .ButtonColorize(@color_highlight, @color_highlight_fore);
235
+ }
236
+
237
+ &.rise,
238
+ &.button-rise {
239
+ /*box-shadow: none;
240
+ border-image: none;*/
241
+ box-shadow: 0 2px @grid_spacing / 3 rgba(0,0,0,0.5);
242
+ margin: 0 @_margin @_margin 0;
243
+ }
244
+
245
+ &::before {
246
+ line-height: 1;
247
+ text-align: center;
248
+ .IconCore();
249
+ font-size: @grid_spacing;
250
+ }
251
+
252
+ &.button::before {
253
+ line-height: @_height - 2 * @_border;
254
+ }
255
+
256
+ &.add::before {
257
+ content: 'add';
258
+ }
259
+
260
+ &.remove::before {
261
+ content: 'remove';
262
+ }
263
+
264
+ &.edit::before {
265
+ content: 'edit';
266
+ }
267
+
268
+ &.save::before {
269
+ content: 'save';
270
+ }
271
+
272
+ &.check::before {
273
+ content: 'check';
274
+ }
275
+
276
+ &.clear::before {
277
+ content: 'clear';
278
+ }
279
+
280
+ &.delete::before {
281
+ content: 'delete';
282
+ }
283
+
284
+ &.copy::before {
285
+ content: 'file_copy';
286
+ }
287
+
288
+ &.toggle {
289
+
290
+ &::before {
291
+ transition: transform @easing_in_out_sine .333s;
292
+ overflow: hidden;
293
+ }
294
+
295
+ &.fullscreen::before {
296
+ content: 'fullscreen';
297
+ }
298
+
299
+ &.fullscreen-exit::before {
300
+ content: 'fullscreen_exit';
301
+ }
302
+
303
+ &.expand::before {
304
+ content: 'expand_more';
305
+ transform: rotate(0);
306
+ }
307
+
308
+ &.collapse::before {
309
+ content: 'expand_more';
310
+ transform: rotate(-180deg);
311
+ }
312
+ }
313
+
314
+ &.circular,
315
+ &.button-circular,
316
+ &.button-circle,
317
+ &.button-square {
318
+ width: 2 *@grid_spacing;
319
+ aspect-ratio: 1;
320
+ font-size: 0;
321
+ display: flex;
322
+ justify-content: center;
323
+ align-items: center;
324
+
325
+ &::before {
326
+ /*position: absolute;
327
+ top: 50%;
328
+ left: 50%;
329
+ margin-top: -@grid_spacing/2;
330
+ margin-left: -@grid_spacing/2;*/
331
+ }
332
+
333
+ &.square-small,
334
+ &.circle-small {
335
+ width: 1.5 *@grid_spacing;
336
+ // height: $width;
337
+
338
+ &::before {
339
+ font-size: @grid_spacing * .75;
340
+ /*margin-top: -@grid_spacing * (1.5 - .75)/2;
341
+ margin-left: $margin-top;*/
342
+ }
343
+ }
344
+
345
+ &.square-smaller,
346
+ &.circle-smaller {
347
+ width: @grid_spacing;
348
+ // height: $width;
349
+
350
+ &::before {
351
+ font-size: @grid_spacing * .5;
352
+ /*margin-top: -@grid_spacing * (0.5)/2;
353
+ margin-left: $margin-top;*/
354
+ }
355
+ }
356
+
357
+ &.square-auto,
358
+ &.circle-auto {
359
+ width: 100%;
360
+
361
+ &::before {
362
+ font-size: @grid_spacing;
363
+ text-size-adjust: 67%;
364
+ /*margin-top: -25%;
365
+ margin-left: -25%;*/
366
+ }
367
+ }
368
+ }
369
+
370
+ &.circular, &.button-circular, &.button-circle {
371
+ border-radius: 50%;
372
+ }
373
+
374
+ &.button-square {
375
+ border-radius: @_radius;
376
+
377
+ &.square-sharp {
378
+ border-radius: 0;
379
+ }
380
+ }
381
+ }
382
+
383
+ @{P}-button, .@{PCSS}-button {
384
+
385
+ &:focus when (@gradients = true) {
386
+ .GradientBorderVertical(1, 0, 100%, fade(@color_button_border_light, 20), fade(@color_button_border, 0));
387
+ }
388
+
389
+ &:focus when (@gradients = false) {
390
+ border-bottom-color: @color_button_border_dark;
391
+ }
392
+ // '.button-firm' class prevents the 'active' state (alongside with the 'disabled' state).
393
+ &:not(.@{PCSS}-disabled):not(.button-firm) {
394
+ &.@{PCSS}-active {
395
+ //border-image: none;
396
+ transform: translateY(@_border);
397
+ box-shadow: none;
398
+ }
399
+
400
+ &.@{PCSS}-active when (@gradients = true) {
401
+ .GradientBorderVertical(1, 0, 100%, fade(@color_button_border_dark, 10), fade(@color_button_border_light, 10));
402
+ }
403
+
404
+ &.@{PCSS}-active when (@gradients = false) {
405
+ border-top-color: @color_button_border;
406
+ border-bottom-color: @color_button_border_light;
407
+ }
408
+ }
409
+ }
410
+
411
+ .ButtonText() {
412
+ cursor: pointer;
413
+ // picked from below
414
+ font-family: ~"var(--@{PCSS}-font-btn)";
415
+ font-size: @button_fontsize;
416
+ text-align: center;
417
+ }
418
+ //:host
419
+ .@{PCSS}-button,
420
+ @{P}-button {
421
+ .ButtonText();
422
+ }
423
+
424
+ @{P}-button when (@uppercase_buttons = true) {
425
+ text-transform: uppercase;
426
+ }
427
+
428
+ .@{PCSS}-button when (@uppercase_buttons = true) {
429
+ text-transform: uppercase;
430
+ }
431
+ //:host([disabled]),
432
+ .@{PCSS}-button.@{PCSS}-disabled,
433
+ @{P}-button.@{PCSS}-disabled,
434
+ .@{PCSS}-button.@{PCSS}-disabled:hover,
435
+ @{P}-button.@{PCSS}-disabled:hover,
436
+ // non-components
437
+ a.@{PCSS}-button[disabled],
438
+ button.@{PCSS}-button[disabled]:hover,
439
+ input.@{PCSS}-button[disabled],
440
+ a.@{PCSS}-button[disabled]:hover,
441
+ button.@{PCSS}-button[disabled]:hover,
442
+ input.@{PCSS}-button[disabled]:hover {
443
+ cursor: default;
444
+ //color: fade(@color_button_fore, 30);
445
+ text-shadow: none;
446
+ pointer-events: none;
447
+ }
448
+
449
+ .@{PCSS}-button,
450
+ @{P}-button,
451
+ .@{PCSS}-button:hover,
452
+ @{P}-button:hover,
453
+ .@{PCSS}-button:focus,
454
+ @{P}-button:focus {
455
+ // color: inherit;
456
+ &.@{PCSS}-disabled {
457
+ @_fore: ~"var(--@{PCSS}-color-disabled-button-inverse-rgb)";
458
+ @_back: ~"var(--@{PCSS}-color-disabled-button)";
459
+ //color: fade(@color_button_fore, 30);
460
+ //background-color: @color_button_back;
461
+ color: rgba(@_fore, .4);
462
+ background-color: @_back;
463
+ cursor: default;
464
+ }
465
+
466
+ &.@{PCSS}-disabled when (@gradients = true) {
467
+ .GradientBorderVertical(1, 0, 50%, fade(@color_button_border_light, 10), fade(@color_button_border, 0));
468
+ //border-color: transparent;
469
+ }
470
+
471
+ &.@{PCSS}-disabled when (@shadows = true) {
472
+ box-shadow: 0 2px 2px rgba(0,0,0,0.1);
473
+ }
474
+
475
+ &.@{PCSS}-disabled when (@gradients = false) {
476
+ //border-color: #f0f0f0;
477
+ border-color: transparent;
478
+ }
479
+ // flat: no background at all
480
+ &.flat,
481
+ &.button-flat {
482
+ background-color: transparent;
483
+ }
484
+ }
485
+ /* #endregion */
486
+ body.@{PCSS}-animations {
487
+ .@{PCSS}-button, a.@{PCSS}-button, @{P}-button {
488
+ transition: color .1s, background .15s;
489
+ }
490
+ }
491
+
492
+ @{P}-buttonset {
493
+ display: block;
494
+ border: 4px solid transparent;
495
+ transition: border .25s linear;
496
+ position: relative;
497
+
498
+ &:focus {
499
+ border-color: @color_suggest_border;
500
+ }
501
+ /*&:focus::before{
502
+ .Icon('keyboard_arrow_down');
503
+ color: @color_primary;
504
+ top: -@grid_spacing;
505
+ left: 50%;
506
+ margin-left: -@grid_spacing/2;
507
+ animation: shooting-star .4s linear both;
508
+ //z-index: 2;
509
+ }*/
510
+ }
511
+
512
+ .@{PCSS}-buttonset {
513
+ .HorizontalItemSet(button);
514
+ padding: @grid_spacing/2 0 0 0;
515
+
516
+ &.buttons when (@shadows = true) {
517
+ .@{PCSS}-buttonset-left, .buttonset-left,
518
+ .@{PCSS}-buttonset-center, .buttonset-center,
519
+ .@{PCSS}-buttonset-right, .buttonset-right {
520
+ .ButtonShadows();
521
+ }
522
+ }
523
+
524
+ @{P}-button,
525
+ .@{PCSS}-button {
526
+ .HorizontalItem(button);
527
+ margin: 0;
528
+ box-shadow: none;
529
+ }
530
+ }
531
+
532
+ .@{PCSS}-contextmenu {
533
+ margin: 0;
534
+ padding: 0;
535
+
536
+ @{P}-button,
537
+ .@{PCSS}-button {
538
+
539
+ @_side_pad: @grid_spacing * 1.25;
540
+ @_v_pad: @grid_spacing * .5;
541
+
542
+ display: block;
543
+ margin: 0;
544
+ padding: @_v_pad @_side_pad;
545
+ box-shadow: none;
546
+ border: none;
547
+ background: transparent;
548
+ height: auto;
549
+ line-height: 1;
550
+ .FontStd(1);
551
+ border-radius: 0;
552
+ text-transform: none;
553
+ text-align: left;
554
+ width: @grid_spacing * 5;
555
+ .Ellipsed();
556
+
557
+ &::before {
558
+ font-size: 1em;
559
+ width: @_side_pad;
560
+ text-align: center;
561
+ position: absolute;
562
+ left: 0;
563
+ top: @font_icon_offset + @_v_pad;
564
+ content: '';
565
+ }
566
+
567
+ &:hover,
568
+ &:focus {
569
+
570
+ &:not(.@{PCSS}-disabled) {
571
+ background-color: @color_contextmenu_hover_back;
572
+ color: @color_contextmenu_hover_fore;
573
+ }
574
+
575
+ &.@{PCSS}-disabled {
576
+ background-color: transparent;
577
+ }
578
+ }
579
+ }
580
+
581
+ hr {
582
+ border: 0;
583
+ height: 1px;
584
+ background-color: fade(@color_dark, 10);
585
+ border-bottom: 1px solid fade(@color_light, 5);
586
+ margin: @grid_spacing / 6 @grid_spacing / 8;
587
+ }
588
+ }
589
+ // icon injection
590
+ @{P}-button,
591
+ .@{PCSS}-button {
592
+
593
+ &[data-icon-glyph] {
594
+ &::before {
595
+ content: attr(data-icon-glyph);
596
+ }
597
+
598
+ &.icon-glyph-normal::before {
599
+ font-size: 1rem;
600
+ }
601
+
602
+ &.icon-glyph-tiny::before {
603
+ font-size: @grid_spacing/3;
604
+ }
605
+
606
+ &.icon-glyph-small::before {
607
+ font-size: 2 * @grid_spacing/3;
608
+ }
609
+
610
+ &.icon-glyph-smaller::before {
611
+ font-size: @grid_spacing/2;
612
+ }
613
+ }
614
+
615
+ &[data-icon-url]::before {
616
+ // will work in a far future
617
+ content: attr(data-icon-url url);
618
+ }
619
+
620
+ &.button[data-icon-glyph]::before {
621
+ vertical-align: bottom;
622
+ margin-right: @grid_spacing/3;
623
+ }
624
+ }
625
+
626
+ @{P}-button.dropdown-toggle {
627
+ padding-right: 1.5 * @grid_spacing;
628
+ margin-bottom: 0;
629
+ position: relative;
630
+
631
+ &::after {
632
+ .Icon('arrow_drop_down');
633
+ right: .25 * @grid_spacing;
634
+ //top: .5 * (@_height - @grid_spacing) - @_border;
635
+ top: 50%;
636
+ margin-top: -@grid_spacing/2;
637
+ transition: transform .25s @easing_in_out_sine;
638
+ }
639
+
640
+ &.dropdown-open::after {
641
+ transform: rotate(-180deg);
642
+ }
643
+ }
644
+
645
+ .@{PCSS}-button.dropdown-item,
646
+ @{P}-button.dropdown-item {
647
+ display: block;
648
+ margin: 0;
649
+ height: @_height;
650
+ line-height: @_height;
651
+ border-top: 1px solid @color_suggest_border_light;
652
+ border-bottom: 1px solid @color_suggest_border_dark;
653
+
654
+ &.selected {
655
+ background-color: @color_accent;
656
+ color: @color_accent_inv;
657
+ }
658
+
659
+ &:hover,
660
+ &:focus {
661
+ background-color: @color_suggest_focus_back;
662
+ color: @color_suggest_focus_fore;
663
+ }
664
+ }
665
+ // icon rotations
666
+ @{P}-button,
667
+ .@{PCSS}-button {
668
+
669
+ &.icon-rotate {
670
+
671
+ &::before {
672
+ display: inline-block;
673
+ transform-origin: center center;
674
+ }
675
+ // rotate
676
+ &.rotate-45::before {
677
+ transform: rotate(45deg);
678
+ }
679
+
680
+ &.rotate-90::before {
681
+ transform: rotate(90deg);
682
+ }
683
+
684
+ &.rotate-135::before {
685
+ transform: rotate(135deg);
686
+ }
687
+
688
+ &.rotate-180::before {
689
+ transform: rotate(180deg);
690
+ }
691
+
692
+ &.rotate-225::before {
693
+ transform: rotate(225deg);
694
+ }
695
+
696
+ &.rotate-270::before {
697
+ transform: rotate(270deg);
698
+ }
699
+
700
+ &.rotate-315::before {
701
+ transform: rotate(315deg);
702
+ }
703
+ }
704
+ }
705
+ // animations
706
+ .@{PCSS}-animations {
707
+
708
+ @{P}-button,
709
+ .@{PCSS}-button {
710
+ transition: background-color @easing_in_out_sine .125s, color @easing_in_out_sine .15s;
711
+
712
+ &.icon-rotate::before {
713
+ transition: background-color @easing_in_out_sine .125s, color @easing_in_out_sine .15s,transform @easing_in_out_sine .2s;
714
+ }
715
+ }
716
+ }