@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,1149 @@
1
+ @import "../shared";
2
+ @import "../../ui/shared";
3
+
4
+ @keyframes pacem-rotate-anim {
5
+ 0% {
6
+ transform: rotate(0);
7
+ }
8
+
9
+ 100% {
10
+ transform: rotate(360deg);
11
+ }
12
+ }
13
+
14
+ @keyframes pacem-autocomplete-anim {
15
+ 0% {
16
+ opacity: 0;
17
+ transform: translateY(@grid_spacing);
18
+ }
19
+
20
+ 100% {
21
+ opacity: 1;
22
+ transform: translateY(0);
23
+ }
24
+ }
25
+
26
+ @_left: @grid_spacing * 5 / 6;
27
+ @_h: @_left;
28
+
29
+ @keyframes pacem-label-anim {
30
+ 0% {
31
+ //transform: translateY(@_h) scale(1.125) translateX(0) translateZ(0);
32
+ }
33
+
34
+ 100% {
35
+ //transform: translateY(0) scale(1);
36
+ }
37
+ }
38
+
39
+ @keyframes pacem-label-before-anim {
40
+ 0% {
41
+ transform: rotate(-180deg);
42
+ }
43
+
44
+ 100% {
45
+ transform: rotate(0);
46
+ }
47
+ }
48
+
49
+ @keyframes pacem-label-before-anim-inline {
50
+ 0% {
51
+ transform: rotate(-90deg);
52
+ }
53
+
54
+ 100% {
55
+ transform: rotate(0);
56
+ }
57
+ }
58
+
59
+ @keyframes pacem-input-container-anim {
60
+ 0% {
61
+ // DO NOT ANIMATE this, FireFox and IE will get the correct positioning of the auto-complete component broken.
62
+ //transform: /*translateX(0) translateY(0) translateZ(0)*/ scale(.1);
63
+ //opacity: .0; // opacity animation is EVIL!
64
+ }
65
+
66
+ 100% {
67
+ //transform: /*translateX(0)*/ scale(1);
68
+ //opacity: 1;
69
+ }
70
+ }
71
+
72
+ @{P}-form-field {
73
+ display: flex;
74
+ align-content: stretch;
75
+ align-items: stretch;
76
+
77
+ > @{P}-form {
78
+ flex: 1 1 auto;
79
+ }
80
+ }
81
+
82
+ @_input_container_pad_top: @field_padding_top;
83
+
84
+ .@{PCSS}-field {
85
+ margin-bottom: @grid_spacing / 3;
86
+ z-index: 0;
87
+ padding: @grid_spacing/3 0 @_h 0;
88
+ border-radius: @border_field_radius;
89
+ transition: background linear .3s, border linear .3s;
90
+
91
+ @_thumb_border: @grid_spacing/12; // 2px
92
+ > label.@{PCSS}-label {
93
+ position: relative;
94
+ //height: @_h;
95
+ //line-height: @_h;
96
+ padding-left: @_h;
97
+ display: inline-block;
98
+ // align-items: center;
99
+ color: @color_field_label;
100
+ .FontMain(1.05);
101
+ animation: pacem-label-anim .25s ease-in-out both;
102
+ // field appearance borrowed from -inline:
103
+ min-height: @field_height;
104
+ .LabelTopMargin();
105
+ }
106
+
107
+ .@{PCSS}-input-container {
108
+ padding: @_input_container_pad_top @_left 0 @_left;
109
+ //animation: pacem-input-container-anim .3s ease-in .2s both;
110
+ }
111
+
112
+ .@{PCSS}-validators {
113
+ list-style-type: none;
114
+ color: @color_danger;
115
+ margin-top: @border_field_size;
116
+
117
+ > * {
118
+ // display: list-item;
119
+ //min-height: @grid_spacing;
120
+ //line-height: @grid_spacing;
121
+ }
122
+ }
123
+
124
+ img.@{PCSS}-readonly {
125
+ padding: 0;
126
+ border: @_thumb_border solid @color_default;
127
+ margin: @grid_spacing/3 0 @grid_spacing/3 @_left;
128
+ }
129
+
130
+ .@{PCSS}-viewfinder,
131
+ .@{PCSS}-input {
132
+ transition: border-color .22s linear;
133
+ }
134
+
135
+ &.@{PCSS}-invalid {
136
+
137
+ > .@{PCSS}-input-container {
138
+ > :not(@{P}-childform) /* childform should break the rule */ {
139
+
140
+ .@{PCSS}-viewfinder,
141
+ .@{PCSS}-input {
142
+ border-color: fade(@color_error, 20);
143
+ }
144
+ }
145
+
146
+ &.@{PCSS}-fieldgroup {
147
+ > .fieldgroup-prepend, > .fieldgroup-append {
148
+ border-color: fade(@color_error, 20);
149
+ }
150
+ }
151
+ }
152
+
153
+ &.@{PCSS}-dirty {
154
+ > .@{PCSS}-input-container {
155
+ > :not(@{P}-childform) /* childform should break the rule */ {
156
+ .@{PCSS}-viewfinder,
157
+ .@{PCSS}-input {
158
+ border-color: @color_error;
159
+ }
160
+ }
161
+
162
+ &.@{PCSS}-fieldgroup {
163
+ > .fieldgroup-prepend, > .fieldgroup-append {
164
+ border-color: @color_error;
165
+ }
166
+ }
167
+ }
168
+ }
169
+
170
+ > .@{PCSS}-input-container {
171
+ > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
172
+
173
+ .@{PCSS}-viewfinder,
174
+ .@{PCSS}-input {
175
+ .Outline(fade(@color_error, 40));
176
+ }
177
+ }
178
+ }
179
+ }
180
+
181
+ &.@{PCSS}-has-value {
182
+
183
+ &.@{PCSS}-valid {
184
+
185
+ &.@{PCSS}-dirty {
186
+
187
+ > .@{PCSS}-input-container {
188
+ > :not(@{P}-childform) /* childform should break the rule */ {
189
+
190
+ .@{PCSS}-viewfinder,
191
+ .@{PCSS}-input {
192
+ border-color: fade( @color_success, 100);
193
+ }
194
+ }
195
+
196
+ &.@{PCSS}-fieldgroup {
197
+ > .fieldgroup-prepend, > .fieldgroup-append {
198
+ border-color: fade( @color_success, 100);
199
+ }
200
+ }
201
+ }
202
+ }
203
+
204
+ &.@{PCSS}-pristine {
205
+
206
+ > .@{PCSS}-input-container {
207
+ > :not(@{P}-childform) /* childform should break the rule */ {
208
+ .@{PCSS}-viewfinder,
209
+ .@{PCSS}-input {
210
+ border-color: fade( @color_success, 40);
211
+ }
212
+ }
213
+
214
+ &.@{PCSS}-fieldgroup {
215
+ > .fieldgroup-prepend, > .fieldgroup-append {
216
+ border-color: fade(@color_success, 40);
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ > .@{PCSS}-input-container {
223
+ > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
224
+
225
+ .@{PCSS}-viewfinder,
226
+ .@{PCSS}-input {
227
+ .Outline(fade(@color_success, 40));
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+
235
+ // lazy-validation
236
+ .lazy-validation > @{P}-form-field > .@{PCSS}-field.@{PCSS}-pristine {
237
+ .@{PCSS}-viewfinder,
238
+ .@{PCSS}-input {
239
+ .Outline(@color_field_outline);
240
+ border-color: @color_border;
241
+ }
242
+ }
243
+
244
+ // force outline
245
+ @{P}-form-field.field-outline when (@field_outline_width = 0) {
246
+
247
+ .@{PCSS}-field {
248
+
249
+ > .@{PCSS}-input-container > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
250
+
251
+ .@{PCSS}-viewfinder,
252
+ .@{PCSS}-input {
253
+ .Outline(2px, @color_field_outline);
254
+ }
255
+ }
256
+
257
+
258
+ &.@{PCSS}-invalid {
259
+
260
+ > .@{PCSS}-input-container > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
261
+
262
+ .@{PCSS}-viewfinder,
263
+ .@{PCSS}-input {
264
+ .Outline(2px, fade(@color_error, 40));
265
+ }
266
+ }
267
+ }
268
+
269
+ &.@{PCSS}-has-value.@{PCSS}-valid {
270
+
271
+ > .@{PCSS}-input-container > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
272
+
273
+ .@{PCSS}-viewfinder,
274
+ .@{PCSS}-input {
275
+ .Outline(2px, fade(@color_success, 40));
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+
282
+ .lazy-validation > @{P}-form-field.field-outline when (@field_outline_width = 0) {
283
+ .@{PCSS}-field.@{PCSS}-valid,
284
+ .@{PCSS}-field.@{PCSS}-invalid {
285
+ &.@{PCSS}-pristine {
286
+ > .@{PCSS}-input-container > .@{PCSS}-focus:not(@{P}-childform) /* childform should break the rule */ {
287
+
288
+ .@{PCSS}-viewfinder,
289
+ .@{PCSS}-input {
290
+ .Outline(2px, @color_field_outline);
291
+ }
292
+ }
293
+ }
294
+ }
295
+ }
296
+
297
+ .@{PCSS}-field when (@border_field_underline = false) {
298
+ border: @border_field_size solid transparent;
299
+ }
300
+
301
+ .@{PCSS}-field when (@border_field_underline = true) {
302
+ border-bottom: @border_field_size solid transparent;
303
+ }
304
+
305
+ .FieldInline() {
306
+ display: flex;
307
+ flex-flow: row nowrap;
308
+ align-items: flex-start;
309
+ align-content: stretch;
310
+
311
+ > label.@{PCSS}-label {
312
+ flex: 0 0 @grid_spacing * 5 - @grid_spacing;
313
+ }
314
+
315
+ > .@{PCSS}-input-container {
316
+ flex: 1 1 auto;
317
+ }
318
+
319
+ &.@{PCSS}-editable {
320
+
321
+ > label.@{PCSS}-label {
322
+
323
+ &::before {
324
+ .Icon('keyboard_arrow_right', @grid_spacing / 1.5);
325
+ top: 3px;
326
+ left: 3px;
327
+ animation: pacem-label-before-anim-inline .3s ease-in .5s both;
328
+ }
329
+ }
330
+ }
331
+
332
+ &.@{PCSS}-readonly {
333
+ > label.@{PCSS}-label {
334
+ flex-basis: @grid_spacing * 5;
335
+ margin-left: 0;
336
+ }
337
+
338
+ > .@{PCSS}-input-container {
339
+ & when (@border_field_underline = false) {
340
+ margin-top: @field_readonly_top + @border_field_size;
341
+ }
342
+
343
+ & when (@border_field_underline = true) {
344
+ margin-top: @field_readonly_top;
345
+ }
346
+ }
347
+ }
348
+ }
349
+
350
+ @{P}-form-field.field-inline > .@{PCSS}-field {
351
+ .FieldInline();
352
+ }
353
+
354
+ @{P}-form-field.field-center > .@{PCSS}-field > .@{PCSS}-input-container {
355
+ text-align: center;
356
+ }
357
+
358
+ .@{PCSS}-field.@{PCSS}-editable {
359
+
360
+ &:not(.@{PCSS}-has-value) {
361
+
362
+ select.@{PCSS}-select:not(:focus) /*,
363
+ input::-webkit-datetime-edit */ {
364
+ .Watermark();
365
+ }
366
+ }
367
+
368
+ div[contenteditable][pacem]:focus,
369
+ .@{PCSS}-input:focus,
370
+ .@{PCSS}-input:focus + label,
371
+ select.@{PCSS}-select:focus /*,
372
+ input::-webkit-datetime-edit */ {
373
+ color: @color_input_fore_focus;
374
+ }
375
+ }
376
+
377
+ .@{PCSS}-animations {
378
+ .@{PCSS}-field {
379
+ div[contenteditable][pacem]:focus,
380
+ .@{PCSS}-input:focus,
381
+ .@{PCSS}-input:focus + label,
382
+ select.@{PCSS}-select:focus /*,
383
+ input::-webkit-datetime-edit */ {
384
+ transition: color .2s;
385
+ }
386
+ }
387
+ }
388
+
389
+ .@{PCSS}-input-container .@{PCSS}-latlng {
390
+ .@{PCSS}-latlng-fields[hidden] {
391
+ display: none !important;
392
+ }
393
+ }
394
+ // EDITABLE VS READONLY
395
+ .@{PCSS}-field.@{PCSS}-editable {
396
+ background-color: @color_field_back;
397
+ border-color: transparent;
398
+
399
+ > label.@{PCSS}-label {
400
+ margin-left: @_h;
401
+
402
+ &::before {
403
+ .Icon('keyboard_arrow_down', @grid_spacing / 1.5);
404
+ position: absolute;
405
+ top: @_h * .1;
406
+ left: 0;
407
+ display: block;
408
+ width: @_h * .8;
409
+ height: @_h * .8;
410
+ animation: pacem-label-before-anim .3s ease-in .5s both;
411
+ }
412
+ }
413
+ }
414
+
415
+ .@{PCSS}-form {
416
+ .@{PCSS}-buttonset.buttons {
417
+ padding-top: 0;
418
+ }
419
+ }
420
+
421
+ // fetching
422
+ .@{PCSS}-field.@{PCSS}-editable {
423
+
424
+ &.@{PCSS}-fetching {
425
+ label.@{PCSS}-label::before {
426
+ .Icon('refresh', @grid_spacing / 1.5);
427
+ animation: pacem-rotate-anim .67s linear infinite;
428
+ }
429
+ }
430
+ }
431
+
432
+ /* #region "minimal" aspect */
433
+
434
+ .form-minimal > @{P}-form-field:not(.field-full),
435
+ @{P}-form-field.field-minimal {
436
+
437
+ > @{P}-form.@{PCSS}-field {
438
+ background-color: transparent;
439
+ box-shadow: none;
440
+ border: 0;
441
+ margin: 0;
442
+ padding-top: 0;
443
+ padding-bottom: @grid_spacing/3;
444
+
445
+ > label.@{PCSS}-label {
446
+ margin: 0;
447
+ .FontMainSize(@field_minimal_fontsize);
448
+ min-height: 0;
449
+ height: @field_minimal_label_height;
450
+ line-height: $height;
451
+ }
452
+
453
+ &.@{PCSS}-editable {
454
+ > label.@{PCSS}-label {
455
+
456
+ &::after {
457
+ display: none;
458
+ }
459
+ }
460
+ }
461
+
462
+ &.@{PCSS}-readonly > label.@{PCSS}-label {
463
+ padding-left: 0;
464
+ }
465
+
466
+ &.@{PCSS}-editable {
467
+ > label.@{PCSS}-label:not(.@{PCSS}-tooltip) {
468
+ padding-left: 0;
469
+
470
+ &::before {
471
+ display: none;
472
+ }
473
+ }
474
+ }
475
+
476
+ > .@{PCSS}-input-container {
477
+ padding-left: 0;
478
+ padding-right: 0;
479
+ }
480
+
481
+ &.@{PCSS}-readonly > .@{PCSS}-input-container {
482
+ // padding-top: @grid_spacing/3;
483
+ .@{PCSS}-readonly:not(@{P}-childform) {
484
+ .@{PCSS}-readonly {
485
+ display: flex;
486
+ align-items: center;
487
+ }
488
+ }
489
+
490
+ > @{P}-childform.@{PCSS}-readonly {
491
+
492
+ @{P}-form.@{PCSS}-readonly, @{P}-childform.@{PCSS}-readonly {
493
+ display: block;
494
+ }
495
+ }
496
+
497
+ .@{PCSS}-readonly::before {
498
+ line-height: @field_height;
499
+ }
500
+ }
501
+ }
502
+ }
503
+
504
+ .form-minimal > @{P}-form-field:not(.field-full),
505
+ @{P}-form-field.field-minimal {
506
+ > @{P}-form.@{PCSS}-field.@{PCSS}-editable.@{PCSS}-fetching {
507
+ label.@{PCSS}-label::after {
508
+ .Icon('refresh', @grid_spacing / 1.5);
509
+ animation: pacem-rotate-anim .67s linear infinite;
510
+ }
511
+ }
512
+ }
513
+
514
+ /* #endregion */
515
+
516
+ // no label
517
+ .form-nolabels > @{P}-form-field:not(.field-label),
518
+ @{P}-form-field.field-nolabel {
519
+ > .@{PCSS}-field {
520
+
521
+ > label.@{PCSS}-label {
522
+ display: none;
523
+ }
524
+
525
+ > .@{PCSS}-input-container {
526
+ padding-top: 0;
527
+ }
528
+ }
529
+ }
530
+
531
+ @media (min-width: @threshold_lg) {
532
+ // stretch
533
+ @{P}-form-field.field-stretch {
534
+
535
+ @{P}-input-text,
536
+ @{P}-input-password,
537
+ @{P}-input-tel,
538
+ @{P}-input-url,
539
+ @{P}-input-email,
540
+ @{P}-input-search,
541
+ @{P}-suggest,
542
+ @{P}-select,
543
+ @{P}-checkbox,
544
+ @{P}-radio,
545
+ @{P}-checkbox-list,
546
+ @{P}-radio-list,
547
+ @{P}-textarea,
548
+ @{P}-textarea-markdown,
549
+ @{P}-datetime-picker,
550
+ @{P}-calendar-picker,
551
+ @{P}-upload,
552
+ @{P}-tags,
553
+ @{P}-latlng,
554
+ @{P}-input-number {
555
+ //min-width: @field_min_width;
556
+ min-width: 0;
557
+ max-width: none;
558
+ display: block;
559
+ }
560
+ }
561
+ }
562
+ // #region screen sizes
563
+ @media (max-width: @threshold_sm - 1) {
564
+
565
+ @{P}-form-field.field-xs-inline > .@{PCSS}-field {
566
+ .FieldInline();
567
+ }
568
+
569
+ .form-xs-nolabels > @{P}-form-field:not(.field-label),
570
+ @{P}-form-field.field-xs-nolabel {
571
+ > .@{PCSS}-field > label.@{PCSS}-label {
572
+ display: none;
573
+ }
574
+ }
575
+
576
+ @{P}-form-field.field-xs-label > .@{PCSS}-field > label.@{PCSS}-label {
577
+ display: inherit;
578
+ }
579
+ }
580
+
581
+ @media (min-width: @threshold_sm) {
582
+
583
+ @{P}-form-field.field-sm-inline > .@{PCSS}-field {
584
+ .FieldInline();
585
+ }
586
+
587
+ .form-sm-nolabels > @{P}-form-field:not(.field-label),
588
+ @{P}-form-field.field-sm-nolabel {
589
+ > .@{PCSS}-field > label.@{PCSS}-label {
590
+ display: none;
591
+ }
592
+ }
593
+
594
+ @{P}-form-field.field-sm-label > .@{PCSS}-field > label.@{PCSS}-label {
595
+ display: inherit;
596
+ }
597
+ }
598
+
599
+ @media (min-width: @threshold_md) {
600
+
601
+ @{P}-form-field.field-md-inline > .@{PCSS}-field {
602
+ .FieldInline();
603
+ }
604
+
605
+ .form-md-nolabels > @{P}-form-field:not(.field-label),
606
+ @{P}-form-field.field-md-nolabel {
607
+ > .@{PCSS}-field > label.@{PCSS}-label {
608
+ display: none;
609
+ }
610
+ }
611
+
612
+ @{P}-form-field.field-md-label > .@{PCSS}-field > label.@{PCSS}-label {
613
+ display: inherit;
614
+ }
615
+ }
616
+
617
+ @media (min-width: @threshold_lg) {
618
+
619
+ @{P}-form-field.field-lg-inline > .@{PCSS}-field {
620
+ .FieldInline();
621
+ }
622
+
623
+ .form-lg-nolabels > @{P}-form-field:not(.field-label),
624
+ @{P}-form-field.field-lg-nolabel {
625
+ > .@{PCSS}-field > label.@{PCSS}-label {
626
+ display: none;
627
+ }
628
+ }
629
+
630
+ @{P}-form-field.field-lg-label > .@{PCSS}-field > label.@{PCSS}-label {
631
+ display: inherit;
632
+ }
633
+ }
634
+
635
+ @media (min-width: @threshold_xl) {
636
+
637
+ @{P}-form-field.field-xl-inline > .@{PCSS}-field {
638
+ .FieldInline();
639
+ }
640
+
641
+ .form-xl-nolabels > @{P}-form-field:not(.field-label),
642
+ @{P}-form-field.field-xl-nolabel {
643
+ > .@{PCSS}-field > label.@{PCSS}-label {
644
+ display: none;
645
+ }
646
+ }
647
+
648
+ @{P}-form-field.field-xl-label > .@{PCSS}-field > label.@{PCSS}-label {
649
+ display: inherit;
650
+ }
651
+ }
652
+
653
+ @media (min-width: @threshold_hd) {
654
+
655
+ @{P}-form-field.field-hd-inline > .@{PCSS}-field {
656
+ .FieldInline();
657
+ }
658
+
659
+ .form-hd-nolabels > @{P}-form-field:not(.field-label),
660
+ @{P}-form-field.field-hd-nolabel {
661
+ > .@{PCSS}-field > label.@{PCSS}-label {
662
+ display: none;
663
+ }
664
+ }
665
+
666
+ @{P}-form-field.field-hd-label > .@{PCSS}-field > label.@{PCSS}-label {
667
+ display: inherit;
668
+ }
669
+ }
670
+
671
+ @media (min-width: @threshold_2k) {
672
+
673
+ @{P}-form-field.field-2k-inline > .@{PCSS}-field {
674
+ .FieldInline();
675
+ }
676
+
677
+ .form-2k-nolabels > @{P}-form-field:not(.field-label),
678
+ @{P}-form-field.field-2k-nolabel {
679
+ > .@{PCSS}-field > label.@{PCSS}-label {
680
+ display: none;
681
+ }
682
+ }
683
+
684
+ @{P}-form-field.field-2k-label > .@{PCSS}-field > label.@{PCSS}-label {
685
+ display: inherit;
686
+ }
687
+ }
688
+
689
+ @media (min-width: @threshold_4k) {
690
+
691
+ @{P}-form-field.field-4k-inline > .@{PCSS}-field {
692
+ .FieldInline();
693
+ }
694
+
695
+ .form-4k-nolabels > @{P}-form-field:not(.field-label),
696
+ @{P}-form-field.field-4k-nolabel {
697
+ > .@{PCSS}-field > label.@{PCSS}-label {
698
+ display: none;
699
+ }
700
+ }
701
+
702
+ @{P}-form-field.field-4k-label > .@{PCSS}-field > label.@{PCSS}-label {
703
+ display: inherit;
704
+ }
705
+ }
706
+
707
+ @media (orientation: landscape) {
708
+
709
+ @{P}-form-field.field-h-inline > .@{PCSS}-field {
710
+ .FieldInline();
711
+ }
712
+
713
+ .form-h-nolabels > @{P}-form-field:not(.field-label),
714
+ @{P}-form-field.field-h-nolabel {
715
+ > .@{PCSS}-field > label.@{PCSS}-label {
716
+ display: none;
717
+ }
718
+ }
719
+
720
+ @{P}-form-field.field-h-label > .@{PCSS}-field > label.@{PCSS}-label {
721
+ display: inherit;
722
+ }
723
+ }
724
+
725
+ @media (orientation: portrait) {
726
+
727
+ @{P}-form-field.field-v-inline > .@{PCSS}-field {
728
+ .FieldInline();
729
+ }
730
+
731
+ .form-v-nolabels > @{P}-form-field:not(.field-label),
732
+ @{P}-form-field.field-v-nolabel {
733
+ > .@{PCSS}-field > label.@{PCSS}-label {
734
+ display: none;
735
+ }
736
+ }
737
+
738
+ @{P}-form-field.field-v-label > .@{PCSS}-field > label.@{PCSS}-label {
739
+ display: inherit;
740
+ }
741
+ }
742
+ // #endregion
743
+
744
+ /* #region label tooltip*/
745
+ .@{PCSS}-field {
746
+ &.@{PCSS}-editable {
747
+ > label.@{PCSS}-label {
748
+
749
+ &.@{PCSS}-tooltip::before {
750
+ content: 'info' !important;
751
+ animation: none !important;
752
+ }
753
+
754
+ &.@{PCSS}-required:after {
755
+ content: '*';
756
+ .FontTech(1.1);
757
+ }
758
+ }
759
+ }
760
+ }
761
+
762
+ @{P}-balloon.@{PCSS}-field-tooltip {
763
+ // pick reference (DRY!) eventually
764
+ @_balloon_arrow_offset: @grid_spacing / 3; // < when 'start' or 'end' -aligned
765
+ @_balloon_arrow_size: @grid_spacing;
766
+ @_info_icon_size: @grid_spacing / 1.5;
767
+ @_y_padding: (@field_height - @_info_icon_size)/2;
768
+
769
+ @_adjustment: -@_balloon_arrow_offset - @_balloon_arrow_size/2 + @_info_icon_size/2; // -@_left * .7
770
+ &.balloon-top.balloon-start,
771
+ &.balloon-bottom.balloon-start {
772
+ margin-left: @_adjustment;
773
+ }
774
+
775
+ &.balloon-top.balloon-end,
776
+ &.balloon-bottom.balloon-end {
777
+ margin-left: -@_adjustment - @_y_padding;
778
+ }
779
+
780
+ &.balloon-left.balloon-start,
781
+ &.balloon-right.balloon-start {
782
+ margin-top: @_adjustment;
783
+ }
784
+
785
+ &.balloon-left.balloon-end,
786
+ &.balloon-right.balloon-end {
787
+ margin-top: -@_adjustment - @_y_padding;
788
+ }
789
+ }
790
+ /* #endregion*/
791
+
792
+ .@{PCSS}-field.@{PCSS}-editable when (@shadows = true) {
793
+ box-shadow: 0 2px @grid_spacing / 3 rgba(0,0,0,0.25);
794
+ }
795
+
796
+ .@{PCSS}-field.@{PCSS}-editable when (@shadows = false) {
797
+ box-shadow: 0 2px @grid_spacing / 8 rgba(0,0,0,0.05);
798
+ }
799
+
800
+ .@{PCSS}-field.@{PCSS}-readonly {
801
+ background-color: transparent;
802
+ box-shadow: none;
803
+ border-color: fade(@color_default, 5);
804
+ }
805
+
806
+ // FieldSet
807
+ .@{PCSS}-fieldset {
808
+ .HorizontalItemSet(field);
809
+
810
+ .@{PCSS}-fieldset-left, .@{PCSS}-fieldset-center, .@{PCSS}-fieldset-right, .@{PCSS}-fieldset-auto,
811
+ .fieldset-left, .fieldset-center, .fieldset-right, .fieldset-auto {
812
+ background-color: @color_input_back;
813
+ border-radius: @border_input_radius;
814
+
815
+ .@{PCSS}-viewfinder,
816
+ .@{PCSS}-input {
817
+
818
+ &:not(.@{PCSS}-fieldgroup):not(.input-group) {
819
+ background: none;
820
+ border-radius: 0;
821
+ }
822
+ }
823
+
824
+ > * {
825
+
826
+ &:first-child when (@border_input_radius > 0) {
827
+ .@{PCSS}-viewfinder, .@{PCSS}-input {
828
+ border-top-left-radius: @border_input_radius;
829
+ border-bottom-left-radius: @border_input_radius;
830
+ }
831
+ }
832
+
833
+ &:last-child when (@border_input_radius > 0) {
834
+ .@{PCSS}-viewfinder, .@{PCSS}-input {
835
+ border-top-right-radius: @border_input_radius;
836
+ border-bottom-right-radius: @border_input_radius;
837
+ }
838
+ }
839
+
840
+ &:not(:last-child):not(.fieldset-last)::after {
841
+ // content: '|';
842
+ }
843
+ }
844
+ }
845
+ }
846
+
847
+ .@{PCSS}-fieldgroup,
848
+ .input-group {
849
+ display: grid;
850
+ grid-template-columns: auto 1fr auto;
851
+ justify-content: start;
852
+ grid-template-areas: "prepend main append";
853
+
854
+ > * {
855
+ min-height: @field_height;
856
+ grid-area: main;
857
+
858
+ &.fieldgroup-prepend,
859
+ &.input-group-prepend,
860
+ &.fieldgroup-append,
861
+ &.input-group-append {
862
+ background-color: @color_input_back;
863
+ color: @color_field_fore;
864
+ min-width: @border_input_radius;
865
+
866
+ .@{PCSS}-icon {
867
+ font-size: @grid_spacing;
868
+ height: @field_height;
869
+ line-height: @field_height;
870
+ }
871
+
872
+ @{P}-button {
873
+ line-height: 1;
874
+ margin: .5 *( @field_height - @grid_spacing) @grid_spacing / 3 0 0;
875
+
876
+ &::before {
877
+ display: block;
878
+ }
879
+ }
880
+ }
881
+
882
+ &.fieldgroup-prepend,
883
+ &.input-group-prepend {
884
+ grid-area: prepend;
885
+ border-top-left-radius: @border_input_radius;
886
+ border-bottom-left-radius: @border_input_radius;
887
+ }
888
+
889
+ &.fieldgroup-append,
890
+ &.input-group-append {
891
+ grid-area: append;
892
+ border-top-right-radius: @border_input_radius;
893
+ border-bottom-right-radius: @border_input_radius;
894
+ }
895
+
896
+ .@{PCSS}-viewfinder, .@{PCSS}-input {
897
+ border-radius: 0 !important;
898
+ border-left: none !important;
899
+ border-right: none !important;
900
+ }
901
+
902
+ .@{PCSS}-input {
903
+ min-height: 0;
904
+ }
905
+ }
906
+
907
+ .@{PCSS}-focus ~ .fieldgroup-prepend,
908
+ .@{PCSS}-focus ~ .input-group-prepend {
909
+ color: @color_input_fore_focus;
910
+ }
911
+
912
+ .@{PCSS}-focus ~ .fieldgroup-append,
913
+ .@{PCSS}-focus ~ .input-group-append {
914
+ color: @color_input_fore_focus;
915
+ }
916
+
917
+ &:not(.@{PCSS}-viewfinder) {
918
+
919
+ > * {
920
+
921
+ &.fieldgroup-prepend,
922
+ &.input-group-prepend,
923
+ &.fieldgroup-append,
924
+ &.input-group-append {
925
+ .FormFieldItemBorder();
926
+ }
927
+
928
+ &.fieldgroup-prepend,
929
+ &.input-group-prepend {
930
+ border-right: none;
931
+ }
932
+
933
+ &.fieldgroup-append,
934
+ &.input-group-append {
935
+ border-left: none;
936
+ }
937
+ }
938
+
939
+ .@{PCSS}-focus ~ .fieldgroup-prepend,
940
+ .@{PCSS}-focus ~ .input-group-prepend {
941
+ border-color: fade(@color_default, 40);
942
+ }
943
+
944
+ .@{PCSS}-focus ~ .fieldgroup-append,
945
+ .@{PCSS}-focus ~ .input-group-append {
946
+ border-color: fade(@color_default, 40);
947
+ }
948
+ }
949
+ // Remove outline from fields in fieldgroups (they look ugly).
950
+ // TODO: think about a pure CSS solution.
951
+ > *.@{PCSS}-focus {
952
+
953
+ .@{PCSS}-viewfinder,
954
+ .@{PCSS}-input {
955
+ .NoOutline();
956
+ }
957
+ }
958
+ }
959
+ // reset bg for groups nested inside sets
960
+ .@{PCSS}-fieldset {
961
+
962
+ .@{PCSS}-fieldgroup,
963
+ input-group {
964
+
965
+ .fieldgroup-prepend,
966
+ .input-group-prepend,
967
+ .fieldgroup-append,
968
+ .input-group-append {
969
+ background: none;
970
+ }
971
+
972
+ &:not(:first-child):not(.fieldgroup-first) {
973
+
974
+ .fieldgroup-prepend,
975
+ .input-group-prepend {
976
+ border-radius: 0;
977
+ border-left: none;
978
+ }
979
+ }
980
+
981
+ &:not(:last-child):not(.fieldgroup-last) {
982
+
983
+ .fieldgroup-append,
984
+ .input-group-append {
985
+ border-radius: 0;
986
+ border-right: none;
987
+ }
988
+ }
989
+ }
990
+ }
991
+
992
+ .@{PCSS}-field {
993
+
994
+ > .@{PCSS}-input-container.@{PCSS}-fieldgroup {
995
+ justify-content: start;
996
+ align-items: start;
997
+
998
+ .@{PCSS}-readonly {
999
+ // reset the borders-replacers
1000
+ // since the fieldgroup already shows borders
1001
+ margin: 0;
1002
+ }
1003
+
1004
+ .fieldgroup-append,
1005
+ //.input-group-prepend,
1006
+ //.input-group-append,
1007
+ .fieldgroup-prepend {
1008
+ display: flex;
1009
+ flex: 0 0 auto;
1010
+ flex-wrap: nowrap;
1011
+ align-items: center;
1012
+
1013
+ > @{P}-button {
1014
+ box-sizing: border-box;
1015
+ height: @field_height;
1016
+ margin: 0;
1017
+ display: block;
1018
+
1019
+ &::before {
1020
+ font-size: 1.1rem;
1021
+ line-height: @field_height;
1022
+ }
1023
+ //&.button {
1024
+ padding: 0 @grid_spacing/3;
1025
+
1026
+ &::before {
1027
+ margin: 0;
1028
+ }
1029
+ //}
1030
+ }
1031
+ }
1032
+
1033
+ .fieldgroup-prepend.@{PCSS}-buttonset {
1034
+ /*& when (@border_field_underline = false) {
1035
+ padding-left: @border_field_size;
1036
+ }*/
1037
+ > @{P}-button {
1038
+ &:first-of-type {
1039
+ border-top-left-radius: @border_input_radius;
1040
+ border-bottom-left-radius: @border_input_radius;
1041
+ }
1042
+
1043
+ &:last-of-type {
1044
+ border-top-right-radius: 0;
1045
+ border-bottom-right-radius: 0;
1046
+ }
1047
+ }
1048
+ }
1049
+
1050
+ .fieldgroup-append.@{PCSS}-buttonset {
1051
+ /*& when (@border_field_underline = false) {
1052
+ padding-right: @border_field_size;
1053
+ }*/
1054
+ > @{P}-button {
1055
+
1056
+ &:last-of-type {
1057
+ border-top-right-radius: @border_input_radius;
1058
+ border-bottom-right-radius: @border_input_radius;
1059
+ }
1060
+
1061
+ &:first-of-type {
1062
+ border-top-left-radius: 0;
1063
+ border-bottom-left-radius: 0;
1064
+ }
1065
+ }
1066
+ }
1067
+ }
1068
+
1069
+ &.@{PCSS}-readonly {
1070
+ &.@{PCSS}-invalid,
1071
+ &.@{PCSS}-valid,
1072
+ &.@{PCSS}-has-value {
1073
+ > .@{PCSS}-input-container.@{PCSS}-fieldgroup {
1074
+
1075
+ @_bdr_grp_clr: @color_border;
1076
+ @_grp_bckgrnd: none;
1077
+
1078
+ > .fieldgroup-append,
1079
+ //.input-group-prepend,
1080
+ //.input-group-append,
1081
+ > .fieldgroup-prepend {
1082
+ border-color: @_bdr_grp_clr !important;
1083
+ border-style: dashed;
1084
+ background: @_grp_bckgrnd;
1085
+ }
1086
+
1087
+ > .fieldgroup-prepend {
1088
+ border-right: 0;
1089
+ padding-right: @grid_spacing/4;
1090
+ }
1091
+
1092
+ > .fieldgroup-append {
1093
+ border-left: 0;
1094
+ padding-left: @grid_spacing/4;
1095
+ }
1096
+
1097
+ .@{PCSS}-readonly when (@border_field_underline = false) {
1098
+ border-top: @border_field_size dashed @_bdr_grp_clr;
1099
+ border-bottom: $border-top;
1100
+ }
1101
+
1102
+ .@{PCSS}-readonly when (@border_field_underline = true) {
1103
+ border-bottom: @border_field_size dashed @_bdr_grp_clr;
1104
+ }
1105
+ // make readonly 'inline'and ellipsed
1106
+ .@{PCSS}-readonly:not([hidden]) {
1107
+ display: block !important;
1108
+ .Ellipsed();
1109
+ }
1110
+ // nested readonly (remove border)
1111
+ .@{PCSS}-readonly {
1112
+ background: @_grp_bckgrnd;
1113
+
1114
+ .@{PCSS}-readonly {
1115
+ border: 0;
1116
+ background: none;
1117
+ // TODO: review this
1118
+ line-height: @field_height;
1119
+ }
1120
+ }
1121
+ }
1122
+ }
1123
+ }
1124
+ }
1125
+
1126
+ @media (min-width: @threshold_lg) {
1127
+
1128
+ .@{PCSS}-field > .@{PCSS}-input-container.@{PCSS}-fieldgroup {
1129
+ grid-template-columns: repeat(3, auto);
1130
+ }
1131
+
1132
+ // stretch
1133
+ @{P}-form-field.field-stretch > .@{PCSS}-field {
1134
+
1135
+ > .@{PCSS}-input-container.@{PCSS}-fieldgroup {
1136
+ grid-template-columns: auto 1fr auto;
1137
+ justify-content: stretch;
1138
+ }
1139
+ }
1140
+ }
1141
+ // ANIMATIONS
1142
+ .@{PCSS}-body.@{PCSS}-animations {
1143
+ @{P}-form-field > .@{PCSS}-field {
1144
+
1145
+ > label.@{PCSS}-label {
1146
+ transition: margin .2s @easing_in_out_sine, flex .2s @easing_in_out_sine;
1147
+ }
1148
+ }
1149
+ }