@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
@@ -0,0 +1,195 @@
1
+ /* Image editing and input. Tools margin: round(spacing * 1.3333). */
2
+ pacem-dialog pacem-edit-image {
3
+ overflow: hidden;
4
+ display: block;
5
+
6
+ pacem-img {
7
+ display: inline-block;
8
+ font-size: 0;
9
+ border: solid calc(var(--pacem-grid-spacing) / 3) transparent;
10
+ width: 25%;
11
+ box-sizing: border-box;
12
+ min-height: 90px;
13
+
14
+ &.pacem-selected {
15
+ border-color: var(--pacem-color-highlight);
16
+ }
17
+ }
18
+
19
+ .pacem-edit-image {
20
+ transition: transform var(--pacem-easing-default) .3s;
21
+ display: flex;
22
+ flex-direction: row;
23
+
24
+ > div {
25
+ position: relative;
26
+ flex: 0 0 100%;
27
+
28
+ &:nth-child(2) {
29
+ display: flex;
30
+ justify-content: center;
31
+ }
32
+ }
33
+
34
+ &:is(.pacem-snapshot-enabled, .pacem-upload-enabled) pacem-input-search {
35
+ margin-right: round(calc(var(--pacem-grid-spacing) * 1.3333), 1px);
36
+ }
37
+
38
+ pacem-upload {
39
+ position: absolute;
40
+ top: 0;
41
+ right: 0;
42
+
43
+ .pacem-upload-filewrapper::before {
44
+ /* .Icon(): icons.css */
45
+ content: 'file_upload';
46
+ font-size: var(--pacem-font-icon-size);
47
+ cursor: pointer;
48
+ }
49
+ }
50
+
51
+ pacem-button.pacem-snapshot {
52
+ position: absolute;
53
+ top: 0;
54
+ right: 0;
55
+ width: var(--pacem-grid-spacing);
56
+ height: var(--pacem-grid-spacing);
57
+
58
+ &::before {
59
+ /* .Icon(): icons.css */
60
+ content: 'add_a_photo';
61
+ font-size: var(--pacem-font-icon-size);
62
+ }
63
+ }
64
+
65
+ &.pacem-snapshot-enabled.pacem-upload-enabled {
66
+ pacem-input-search {
67
+ margin-right: calc(var(--pacem-grid-spacing) * 4);
68
+ }
69
+
70
+ pacem-upload {
71
+ right: calc(var(--pacem-grid-spacing) * 2);
72
+ }
73
+ }
74
+
75
+ &.pacem-snapshot {
76
+ transform: translateX(-100%);
77
+ }
78
+ }
79
+
80
+ /* a 10px line at the bottom of 32px */
81
+ pacem-progressbar {
82
+ margin: calc(2 * var(--pacem-grid-spacing)) 0;
83
+
84
+ .pacem-progressbar {
85
+ background: linear-gradient(to bottom, transparent 0, transparent 22px, rgba(0,0,0,0.1) 22px, rgba(0,0,0,0.1) 32px);
86
+ }
87
+ }
88
+ }
89
+
90
+ pacem-input-image {
91
+ display: inline-block;
92
+
93
+ .pacem-input-image {
94
+ position: relative;
95
+ min-height: calc(2 * var(--pacem-grid-spacing));
96
+ /* .FormFieldItemMultiline() */
97
+ min-width: 417px;
98
+ padding-right: round(calc(var(--pacem-grid-spacing) * 1.3333), 1px);
99
+
100
+ textarea.pacem-input {
101
+ line-height: 1.5;
102
+ display: block;
103
+ width: 100%;
104
+ resize: none;
105
+ }
106
+
107
+ pacem-img {
108
+ min-height: calc(var(--pacem-grid-spacing) * 5);
109
+ width: 100%;
110
+ height: 100%;
111
+ background-color: rgb(from var(--pacem-color-default) r g b / 10%);
112
+ }
113
+
114
+ .pacem-input-image-dashboard {
115
+ position: absolute;
116
+ right: 0;
117
+ top: 0;
118
+ width: var(--pacem-grid-spacing);
119
+ height: 100%;
120
+
121
+ pacem-button {
122
+ display: block;
123
+ font-size: 0;
124
+ width: var(--pacem-grid-spacing);
125
+ height: var(--pacem-grid-spacing);
126
+ background: transparent;
127
+
128
+ &.pacem-edit::before {
129
+ /* .Icon(): icons.css */
130
+ content: 'edit';
131
+ font-size: var(--pacem-font-icon-size);
132
+ }
133
+
134
+ &.pacem-clear::before {
135
+ /* .Icon(): icons.css */
136
+ content: 'clear';
137
+ font-size: var(--pacem-font-icon-size);
138
+ }
139
+
140
+ &::before {
141
+ left: 0;
142
+ top: 0;
143
+ }
144
+ }
145
+ }
146
+
147
+ pacem-input-url {
148
+ display: block;
149
+ margin-top: calc(var(--pacem-grid-spacing) / 4);
150
+
151
+ .pacem-input {
152
+ min-width: 417px;
153
+ }
154
+ }
155
+ }
156
+
157
+ dl {
158
+ padding: calc(var(--pacem-grid-spacing) / 6) 0;
159
+ overflow: hidden;
160
+ height: calc(var(--pacem-grid-spacing) * 1.3333);
161
+
162
+ :is(dt, dd) {
163
+ line-height: calc(var(--pacem-grid-spacing) * 1.3333 * .5);
164
+ height: calc(var(--pacem-grid-spacing) * 1.3333 * .5);
165
+ }
166
+
167
+ dt {
168
+ float: left;
169
+ vertical-align: middle;
170
+ width: calc(var(--pacem-grid-spacing) / 1.5);
171
+ background: center center no-repeat;
172
+ background-size: contain;
173
+ font-size: 0;
174
+
175
+ &:nth-of-type(2)::before {
176
+ /* .Icon(): icons.css */
177
+ content: 'file_download';
178
+ font-size: calc(var(--pacem-grid-spacing) / 2);
179
+ }
180
+
181
+ &:nth-of-type(1)::before {
182
+ /* .Icon(): icons.css */
183
+ content: 'crop_free';
184
+ font-size: calc(var(--pacem-grid-spacing) / 2);
185
+ }
186
+ }
187
+
188
+ dd {
189
+ clear: right;
190
+ margin-left: var(--pacem-grid-spacing);
191
+ font-family: var(--pacem-font-tech);
192
+ font-size: calc(.8rem * var(--pacem-font-tech-rem-factor));
193
+ }
194
+ }
195
+ }
@@ -0,0 +1,40 @@
1
+ /* scaffolding (form fields), same order as theme/less/pacem/scaffolding/dark/index.less.
2
+ (icons.css: the .Icon() declarations of the whole folder, see there; generated/colors.css: the color classes'
3
+ private properties, which nothing else declares.) */
4
+ @import "icons.css";
5
+ @import "generated/colors.css";
6
+ @import "elements.css";
7
+ @import "validators.css";
8
+ @import "input.css";
9
+ @import "password.css";
10
+ @import "textarea.css";
11
+ @import "markdown.css";
12
+ @import "select.css";
13
+ @import "datepicker.css";
14
+ @import "latlng.css";
15
+ @import "upload.css";
16
+ @import "checkbox-radio.css";
17
+ @import "checkbox.css";
18
+ @import "radio.css";
19
+ @import "contenteditable.css";
20
+ /* search, url, tel */
21
+ @import "inputs.css";
22
+ @import "color.css";
23
+ /* number, suggest */
24
+ @import "suggest.css";
25
+ @import "tags.css";
26
+ @import "snapshot.css";
27
+ @import "image.css";
28
+ @import "slider.css";
29
+ @import "hierarchy.css";
30
+ @import "generated/calendar-picker.css";
31
+ @import "calendar-picker.css";
32
+ /* namevalue-list, element-picker, property-picker, expression, char-counter, geolocate, chars */
33
+ @import "pickers.css";
34
+ @import "childform.css";
35
+ /* formfield.less, in three parts */
36
+ @import "formfield.css";
37
+ @import "generated/formfield.css";
38
+ @import "fieldset.css";
39
+ /* form, dialog-overrides */
40
+ @import "form.css";
@@ -0,0 +1,163 @@
1
+ /* Field elements: input.less, and the .FormFieldItemWrapper() mixin (scaffolding/shared.less) of every field.
2
+
3
+ Less applied the wrapper element by element, in the file of each one: being made of the same rules on type
4
+ selectors only (equal specificity), it is written once here for all of them (:--fields), where Less applied it
5
+ first. Exceptions, written where Less applied them: `.upload-std pacem-upload` (upload.css: its own rules must
6
+ precede the wrapper) and the slider in a form field (slider.css: only the core, on contextual selectors).
7
+ pacem-contenteditable takes the core only (.FormFieldItemWrapperCore()).
8
+
9
+ Form field items (.FormFieldItem()): their min-height covers one border (underlined fields) or two (boxed). */
10
+ @custom-selector :--fields :is(pacem-input-text, pacem-input-chars, pacem-input-password, pacem-input-tel, pacem-input-url,
11
+ pacem-input-email, pacem-input-search, pacem-suggest, pacem-checkbox, pacem-radio, pacem-textarea, pacem-textarea-markdown,
12
+ pacem-input-number, pacem-calendar-picker, pacem-select, pacem-datetime-picker, pacem-latlng, pacem-radio-list,
13
+ pacem-checkbox-list, pacem-input-color, pacem-tags, pacem-element-picker, pacem-property-picker, pacem-expression,
14
+ pacem-geolocate);
15
+ @custom-selector :--cores :is(:--fields, pacem-contenteditable);
16
+ /* the elements of input.less */
17
+ @custom-selector :--inputs :is(pacem-input-text, pacem-input-chars, pacem-input-password, pacem-input-tel, pacem-input-url,
18
+ pacem-input-email, pacem-input-search, pacem-suggest, pacem-checkbox, pacem-radio, pacem-textarea, pacem-textarea-markdown,
19
+ pacem-input-number, pacem-calendar-picker);
20
+ /* the toggleable ones */
21
+ @custom-selector :--toggles :is(pacem-input-text, pacem-input-password, pacem-input-tel, pacem-input-url, pacem-input-email,
22
+ pacem-input-search, pacem-suggest, pacem-textarea, pacem-textarea-markdown, pacem-input-number);
23
+
24
+ /* #region .FormFieldItemWrapper() */
25
+ :--fields {
26
+ font-size: 1em;
27
+ position: relative;
28
+ display: block;
29
+ }
30
+
31
+ @media (--pacem-lg) {
32
+ :--fields:not(.field-stretch) {
33
+ min-width: 199px;
34
+ display: inline-block;
35
+ }
36
+ }
37
+
38
+ /* .FormFieldItemWrapperCore() */
39
+ :--field-underline :--cores :is(.pacem-viewfinder, .pacem-input) {
40
+ border: 0;
41
+ border-bottom: var(--pacem-border-field-size) solid;
42
+ }
43
+
44
+ :--field-box :--cores :is(.pacem-viewfinder, .pacem-input) {
45
+ border: var(--pacem-border-field-size) solid;
46
+ }
47
+
48
+ :--cores :is(.pacem-viewfinder, .pacem-input) {
49
+ border-color: rgb(from var(--pacem-color-default) r g b / 20%);
50
+ background-color: var(--pacem-color-input-back);
51
+ border-radius: var(--pacem-border-input-radius);
52
+ }
53
+
54
+ /* nested .pacem-input or .pacem-viewfinder don't show borders */
55
+ :--cores .pacem-viewfinder :is(.pacem-input, .pacem-viewfinder) {
56
+ border: none;
57
+ border-radius: 0;
58
+ background: none;
59
+ }
60
+
61
+ :--cores .pacem-viewfinder .pacem-input {
62
+ padding: 0;
63
+ }
64
+
65
+ :--cores.pacem-focus {
66
+ color: var(--pacem-color-field-fore-focus);
67
+ }
68
+
69
+ :--cores.pacem-focus :is(.pacem-input, .pacem-viewfinder) {
70
+ border-color: rgb(from var(--pacem-color-default) r g b / 40%);
71
+ }
72
+
73
+ :--field-outline :--cores.pacem-focus :is(.pacem-input, .pacem-viewfinder) {
74
+ box-shadow: 0 0 0 var(--pacem-field-outline-width) var(--pacem-color-field-outline);
75
+ }
76
+
77
+ :--no-field-outline :--cores.pacem-focus.pacem-outline :is(.pacem-input, .pacem-viewfinder) {
78
+ box-shadow: 0 0 0 2px var(--pacem-color-default);
79
+ }
80
+
81
+ /* nested .pacem-input or .pacem-viewfinder don't show the outline */
82
+ :--cores.pacem-focus .pacem-viewfinder :is(.pacem-input, .pacem-viewfinder) {
83
+ box-shadow: none;
84
+ }
85
+
86
+ :--cores .pacem-readonly {
87
+ font-size: calc(1.1rem * var(--pacem-font-std-rem-factor));
88
+ display: block;
89
+ min-height: var(--pacem-field-height);
90
+ line-height: 1.5;
91
+ /* (replaces the bottom border) */
92
+ margin-bottom: var(--pacem-border-field-size);
93
+ }
94
+
95
+ :--field-underline :--cores .pacem-readonly {
96
+ margin-top: 0;
97
+ }
98
+
99
+ /* (replaces the top border) */
100
+ :--field-box :--cores .pacem-readonly {
101
+ margin-top: var(--pacem-border-field-size);
102
+ }
103
+
104
+ :--cores [hidden] {
105
+ display: none !important;
106
+ }
107
+ /* #endregion */
108
+
109
+ :--inputs .pacem-input {
110
+ /* .FormFieldItem() */
111
+ padding: 0 calc(var(--pacem-grid-spacing) / 3);
112
+ font-family: var(--pacem-font-std);
113
+ font-size: calc(1.1rem * var(--pacem-font-std-rem-factor));
114
+ box-sizing: border-box;
115
+ color: var(--pacem-color-field-fore);
116
+ /* .FormFieldItemInline() */
117
+ min-width: 0;
118
+ width: 100%;
119
+ line-height: var(--pacem-field-height);
120
+
121
+ &::placeholder {
122
+ color: var(--pacem-color-watermark);
123
+ font-style: italic;
124
+ font-family: var(--pacem-font-std);
125
+ }
126
+ }
127
+
128
+ :--field-underline :--inputs .pacem-input {
129
+ min-height: calc(var(--pacem-field-height) + var(--pacem-border-field-size));
130
+ }
131
+
132
+ :--field-box :--inputs .pacem-input {
133
+ min-height: calc(var(--pacem-field-height) + 2 * var(--pacem-border-field-size));
134
+ }
135
+
136
+ :--inputs::before {
137
+ color: var(--pacem-color-input-icon);
138
+ }
139
+
140
+ :--inputs.pacem-focus::before {
141
+ color: var(--pacem-color-field-fore);
142
+ }
143
+
144
+ @media (--pacem-lg) {
145
+ pacem-form-field.field-stretch > pacem-form > .pacem-input-container :is(pacem-input-text, pacem-input-password, pacem-input-tel,
146
+ pacem-input-url, pacem-input-email, pacem-input-search, pacem-suggest, pacem-checkbox, pacem-radio, pacem-textarea,
147
+ pacem-textarea-markdown, pacem-input-number, pacem-calendar-picker) {
148
+ min-width: 0;
149
+ }
150
+ }
151
+
152
+ /* toggle: the input shows its box on focus only (.ToggleBlur(), .ToggleAnim()) */
153
+ pacem-form-field.field-toggle :--toggles:not(.pacem-focus) > .pacem-input,
154
+ :--toggles.input-toggle:not(.pacem-focus) > .pacem-input {
155
+ border-color: transparent;
156
+ background-color: transparent;
157
+ padding: 0;
158
+ }
159
+
160
+ .pacem-body.pacem-animations pacem-form-field.field-toggle :--toggles > .pacem-input,
161
+ .pacem-body.pacem-animations :--toggles.input-toggle > .pacem-input {
162
+ transition: padding .2s var(--pacem-easing-in-out-sine), background-color .25s linear, border-color .25s linear;
163
+ }
@@ -0,0 +1,77 @@
1
+ /* The small field files of scaffolding/dark: search.less, url.less, tel.less (.FormFieldIcon()). */
2
+
3
+ /* #region search */
4
+ pacem-input-search {
5
+ display: block;
6
+ position: relative;
7
+
8
+ &::before {
9
+ /* .Icon(): icons.css */
10
+ content: 'search';
11
+ font-size: var(--pacem-font-icon-size);
12
+ left: 0;
13
+ }
14
+
15
+ input[type=search] {
16
+ border: none;
17
+ border-bottom: 1px solid rgb(from var(--pacem-theme-light) r g b / 10%);
18
+ padding-bottom: calc(var(--pacem-grid-spacing) / 2);
19
+ padding-left: calc(1.25 * var(--pacem-grid-spacing));
20
+ margin-bottom: calc(var(--pacem-grid-spacing) / 1.5);
21
+ display: block;
22
+ width: 100%;
23
+ font-family: var(--pacem-font-main);
24
+ font-size: calc(1.2rem * var(--pacem-font-main-rem-factor));
25
+ color: var(--pacem-color-default);
26
+ height: calc(1.25 * var(--pacem-grid-spacing));
27
+ box-sizing: border-box;
28
+ }
29
+ }
30
+ /* #endregion */
31
+
32
+ /* #region url, tel: .FormFieldIcon() */
33
+ :is(pacem-input-url, pacem-input-tel) {
34
+ position: relative;
35
+
36
+ .pacem-input {
37
+ padding-left: var(--pacem-field-height);
38
+ box-sizing: border-box;
39
+ }
40
+
41
+ &::before {
42
+ /* .Icon(): icons.css */
43
+ font-size: calc(1.1rem * var(--pacem-font-rem-factor));
44
+ line-height: var(--pacem-field-height);
45
+ left: calc(var(--pacem-grid-spacing) / 3);
46
+ top: 1px;
47
+ }
48
+
49
+ &.pacem-invalid::before {
50
+ color: var(--pacem-color-field-fore-error);
51
+ }
52
+ }
53
+
54
+ pacem-input-url::before {
55
+ content: 'link';
56
+ transform: rotate(-45deg);
57
+ }
58
+
59
+ pacem-input-tel::before {
60
+ content: 'dialpad';
61
+ }
62
+
63
+ /* .FormFieldLabelIcon() */
64
+ pacem-input-tel.pacem-readonly {
65
+ padding-left: var(--pacem-grid-spacing);
66
+
67
+ &::before {
68
+ /* .Icon(): icons.css */
69
+ content: 'dialpad';
70
+ font-size: calc(1.1rem * var(--pacem-font-rem-factor));
71
+ line-height: calc(1.5 * 1.1 * var(--pacem-font-rem-factor));
72
+ color: var(--pacem-color-input-toggle);
73
+ left: 0;
74
+ top: 0;
75
+ }
76
+ }
77
+ /* #endregion */
@@ -0,0 +1,173 @@
1
+ /* (.FormFieldItemWrapper(): input.css; .FormFieldItemMultiline(): textarea.css)
2
+ The details' row height: ceil(grid spacing * 1.3333 * 1.5) / 3. */
3
+ pacem-latlng {
4
+ .pacem-map {
5
+ margin-top: calc(var(--pacem-grid-spacing) / 2);
6
+ }
7
+
8
+ .pacem-latlng {
9
+ .pacem-latlng-fields {
10
+ display: flex;
11
+ flex-wrap: nowrap;
12
+
13
+ pacem-input-number {
14
+ padding-left: var(--pacem-grid-spacing);
15
+ position: relative;
16
+ box-sizing: border-box;
17
+
18
+ .pacem-input {
19
+ padding-left: calc(var(--pacem-grid-spacing) / 6);
20
+ text-align: left;
21
+
22
+ @media (--pacem-lg) {
23
+ min-width: calc(199px - var(--pacem-grid-spacing));
24
+ }
25
+ }
26
+
27
+ &.pacem-lat::before {
28
+ /* .Icon(): icons.css */
29
+ content: 'swap_vert';
30
+ font-size: var(--pacem-font-icon-size);
31
+ }
32
+
33
+ &.pacem-lng::before {
34
+ /* .Icon(): icons.css */
35
+ content: 'swap_horiz';
36
+ font-size: var(--pacem-font-icon-size);
37
+ }
38
+
39
+ &:is(.pacem-lat, .pacem-lng)::before {
40
+ left: 0;
41
+ color: var(--pacem-color-default);
42
+ line-height: var(--pacem-field-height);
43
+ }
44
+ }
45
+ }
46
+
47
+ dl {
48
+ padding: calc(var(--pacem-grid-spacing) / 6) 0 calc(var(--pacem-grid-spacing) / 2) 0;
49
+ overflow: hidden;
50
+ height: round(up, calc(var(--pacem-grid-spacing) * 1.3333 * 1.5), 1px);
51
+
52
+ :is(dt, dd) {
53
+ height: calc(round(up, calc(var(--pacem-grid-spacing) * 1.3333 * 1.5), 1px) / 3);
54
+ line-height: calc(round(up, calc(var(--pacem-grid-spacing) * 1.3333 * 1.5), 1px) / 3);
55
+ }
56
+
57
+ dt {
58
+ float: left;
59
+ vertical-align: middle;
60
+ width: calc(var(--pacem-grid-spacing) / 1.5);
61
+ background: center center no-repeat;
62
+ background-size: contain;
63
+ font-size: 0;
64
+
65
+ &:nth-of-type(3)::before {
66
+ /* .Icon(): icons.css */
67
+ content: 'language';
68
+ font-size: calc(var(--pacem-grid-spacing) / 2);
69
+ }
70
+
71
+ &:nth-of-type(2)::before {
72
+ /* .Icon(): icons.css */
73
+ content: 'location_on';
74
+ font-size: calc(var(--pacem-grid-spacing) / 2);
75
+ }
76
+
77
+ &:nth-of-type(1)::before {
78
+ /* .Icon(): icons.css */
79
+ content: 'short_text';
80
+ font-size: calc(var(--pacem-grid-spacing) / 2);
81
+ }
82
+
83
+ &::before {
84
+ position: static !important;
85
+ line-height: calc(round(up, calc(var(--pacem-grid-spacing) * 1.3333 * 1.5), 1px) / 3) !important;
86
+ }
87
+ }
88
+
89
+ dd {
90
+ clear: right;
91
+ font-family: var(--pacem-font-tech);
92
+ font-size: calc(.8rem * var(--pacem-font-tech-rem-factor));
93
+ /* .Ellipsed() */
94
+ white-space: nowrap;
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ max-width: calc(417px - var(--pacem-grid-spacing) / 1.5);
98
+
99
+ &:nth-of-type(3) {
100
+ color: rgb(from var(--pacem-color-tech) r g b / 100%);
101
+
102
+ pacem-span {
103
+ position: relative;
104
+ padding-left: var(--pacem-grid-spacing);
105
+ display: inline-block;
106
+
107
+ &::before {
108
+ color: var(--pacem-color-default);
109
+ position: absolute;
110
+ left: 0;
111
+ top: 0;
112
+ }
113
+ }
114
+ }
115
+
116
+ pacem-span.pacem-lat-north::before {
117
+ content: 'N';
118
+ }
119
+
120
+ pacem-span.pacem-lat-south::before {
121
+ content: 'S';
122
+ }
123
+
124
+ pacem-span.pacem-lng-east::before {
125
+ content: 'E';
126
+ }
127
+
128
+ pacem-span.pacem-lng-west::before {
129
+ content: 'W';
130
+ }
131
+ }
132
+
133
+ &.pacem-hidden {
134
+ transition: all .3s;
135
+ transform: none;
136
+ height: 0;
137
+ }
138
+
139
+ &.pacem-shown {
140
+ transition: all .3s .1s;
141
+ transform: none;
142
+ }
143
+ }
144
+ }
145
+
146
+ .pacem-readonly {
147
+ padding-left: var(--pacem-grid-spacing);
148
+ line-height: var(--pacem-field-height);
149
+ /* .Ellipsed() */
150
+ white-space: nowrap;
151
+ overflow: hidden;
152
+ text-overflow: ellipsis;
153
+ max-width: 417px;
154
+
155
+ &::before {
156
+ /* .Icon(): icons.css */
157
+ content: 'location_on';
158
+ font-size: calc(var(--pacem-grid-spacing) * 5 / 6);
159
+ line-height: var(--pacem-field-height);
160
+ color: var(--pacem-color-primary);
161
+ left: 0;
162
+ }
163
+
164
+ small {
165
+ color: rgb(from var(--pacem-color-default) r g b / 60%);
166
+ font-size: .8em;
167
+
168
+ &::before {
169
+ content: ' - ';
170
+ }
171
+ }
172
+ }
173
+ }
@@ -0,0 +1,14 @@
1
+ /* (.FormFieldItemMultiline(): textarea.css) */
2
+ pacem-textarea-markdown .pacem-readonly {
3
+ line-height: 1;
4
+ }
5
+
6
+ pacem-textarea-markdown.pacem-readonly .pacem-readonly {
7
+ > :first-child {
8
+ margin-top: 0;
9
+ }
10
+
11
+ > :last-child {
12
+ margin-bottom: 0;
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ pacem-input-password i.pacem-icon.pacem-clickable {
2
+ margin-left: calc(-1 * var(--pacem-grid-spacing));
3
+ }
4
+
5
+ pacem-input-password :is(input[type=password], input[type=text]) {
6
+ padding-right: calc(var(--pacem-grid-spacing) * 1.25);
7
+ }