@phila/phila-ui-core 1.0.10 → 1.0.12

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.
@@ -0,0 +1,350 @@
1
+ /*
2
+ Shared input styles
3
+ Used by all input components
4
+ */
5
+
6
+ input::-webkit-input-placeholder {
7
+ color: $grey-medium !important;
8
+ opacity: 1 !important;
9
+ }
10
+
11
+ input::-moz-placeholder {
12
+ color: $grey-medium !important;
13
+ opacity: 1 !important;
14
+ }
15
+ /* FF 4-18 */
16
+ input:-moz-placeholder {
17
+ color: $grey-medium !important;
18
+ opacity: 1 !important;
19
+ }
20
+ /* FF 19+ */
21
+ input:-ms-input-placeholder {
22
+ color: $grey-medium !important;
23
+ opacity: 1 !important;
24
+ }
25
+
26
+ input::placeholder {
27
+ color: $grey-medium !important;
28
+ opacity: 1 !important;
29
+ }
30
+
31
+ input:focus::-webkit-input-placeholder {
32
+ color: transparent;
33
+ }
34
+
35
+ input:focus:-moz-placeholder {
36
+ color: transparent;
37
+ }
38
+ /* FF 4-18 */
39
+ input:focus::-moz-placeholder {
40
+ color: transparent;
41
+ }
42
+ /* FF 19+ */
43
+ input:focus:-ms-input-placeholder {
44
+ color: transparent;
45
+ }
46
+
47
+ .is-field-info {
48
+ margin: 0 0.5rem;
49
+ font-size: 0.875rem;
50
+ padding: 0 0 0.5rem 0;
51
+ + .has-error {
52
+ margin-top: 0.15rem;
53
+ }
54
+ }
55
+ .is-field-info-important {
56
+ @extend .is-field-info;
57
+ background-color: $ben-franklin-blue-light;
58
+ padding: 1rem;
59
+ }
60
+
61
+ form {
62
+ .form-padding {
63
+ padding: 0 0.5rem;
64
+ }
65
+ fieldset {
66
+ legend {
67
+ font-size: 0.875rem;
68
+ padding: 0 0.5rem;
69
+ font-weight: bold;
70
+ }
71
+ }
72
+ .field {
73
+ margin-bottom: 0 !important;
74
+ }
75
+ .form-submit {
76
+ padding-top: 1.5rem;
77
+ padding-bottom: 1.5rem;
78
+ }
79
+ }
80
+
81
+ .input-wrap {
82
+ padding: 0.5rem 0.5rem 0.5rem;
83
+ position: relative;
84
+ label {
85
+ font-size: 0.875rem;
86
+ color: $grey-dark;
87
+ font-weight: $weight-bold;
88
+ line-height: 1.5rem;
89
+ margin-bottom: 0.5rem;
90
+ display: block;
91
+ }
92
+ .is-field-info {
93
+ margin: 0;
94
+ }
95
+ &.required {
96
+ &.input-textbox,
97
+ &.input-textarea,
98
+ &.input-dropdown {
99
+ label {
100
+ &:after {
101
+ content: "*";
102
+ font-size: 0.875rem;
103
+ }
104
+ }
105
+ }
106
+ }
107
+ &.has-error {
108
+ background-color: $error-light;
109
+ margin-bottom: 2px;
110
+ .select select,
111
+ .input,
112
+ .textarea {
113
+ border: 2px solid $love-park-red-dark !important;
114
+ &:focus {
115
+ border: 2px solid $love-park-red-dark !important;
116
+ }
117
+ }
118
+ .input-error-msg {
119
+ font-size: 0.9rem;
120
+ color: $love-park-red-dark;
121
+ font-weight: $weight-semibold;
122
+ line-height: 1.2;
123
+ position: relative;
124
+ margin-top: 0.4rem;
125
+ .icon {
126
+ font-size: 1rem;
127
+ width: 1rem;
128
+ position: absolute;
129
+ top: -3px;
130
+ left: 1px;
131
+ }
132
+ span:last-child {
133
+ left: 1.3rem;
134
+ padding-right: 1.3rem;
135
+ position: relative;
136
+ display: inline-block;
137
+ }
138
+ }
139
+ &.input-textbox,
140
+ &.input-textarea,
141
+ &.input-dropdown {
142
+ label {
143
+ color: $love-park-red-dark;
144
+ }
145
+ }
146
+ &.input-checkbox,
147
+ &.input-radio {
148
+ legend {
149
+ color: $love-park-red-dark;
150
+ }
151
+ }
152
+ }
153
+ &.inner-label {
154
+ &.input-textbox,
155
+ &.input-dropdown,
156
+ &.input-textarea {
157
+ .control {
158
+ overflow: hidden;
159
+ }
160
+ label {
161
+ position: absolute;
162
+ top: 1px;
163
+ left: 0;
164
+ z-index: 5;
165
+ padding: 0 0 0 0.9rem;
166
+ white-space: nowrap;
167
+ }
168
+ }
169
+ input::-webkit-input-placeholder {
170
+ color: $grey-dark !important;
171
+ opacity: 1 !important;
172
+ }
173
+
174
+ input::-moz-placeholder {
175
+ color: $grey-dark !important;
176
+ opacity: 1 !important;
177
+ }
178
+ /* FF 4-18 */
179
+ input:-moz-placeholder {
180
+ color: $grey-dark !important;
181
+ opacity: 1 !important;
182
+ }
183
+ /* FF 19+ */
184
+ input:-ms-input-placeholder {
185
+ color: $grey-dark !important;
186
+ opacity: 1 !important;
187
+ }
188
+
189
+ input::placeholder {
190
+ color: $grey-dark !important;
191
+ opacity: 1 !important;
192
+ }
193
+ }
194
+ .input,
195
+ .textarea,
196
+ .select select {
197
+ border-bottom: 1px solid #979797;
198
+ font-size: 1.063rem;
199
+ &:focus {
200
+ background-color: $white;
201
+ border: 2px solid $electric-blue !important;
202
+ }
203
+ }
204
+ &.input-checkbox,
205
+ &.input-radio {
206
+ .control {
207
+ margin-bottom: 0.5rem;
208
+ }
209
+ label {
210
+ top: 0;
211
+ left: 0;
212
+ page-break-inside: avoid;
213
+ -webkit-column-break-inside: avoid;
214
+ break-inside: avoid;
215
+ font-weight: $weight-normal;
216
+ }
217
+ fieldset {
218
+ legend {
219
+ padding: 0 0 0.1rem 0;
220
+ }
221
+ }
222
+
223
+ &.small-checkradio {
224
+ .control {
225
+ margin-bottom: 0.1rem;
226
+ }
227
+ .is-checkradio[type="checkbox"] + label {
228
+ margin-left: 1.5rem;
229
+ font-size: $size-small;
230
+ &:before {
231
+ width: 1.125rem;
232
+ height: 1.125rem;
233
+ left: -1.5rem !important;
234
+ top: 0.18rem;
235
+ }
236
+ &:after {
237
+ top: 0.3rem;
238
+ left: -1.1rem !important;
239
+ }
240
+ }
241
+
242
+ .is-checkradio[type="radio"] + label {
243
+ margin-left: 1.5rem !important;
244
+ font-size: $size-small;
245
+ &:before {
246
+ width: 1.125rem;
247
+ height: 1.125rem;
248
+ left: -1.5rem !important;
249
+ top: 0.18rem;
250
+ }
251
+ &:after {
252
+ transform: scale(0.3);
253
+ top: 0rem;
254
+ left: -1.7rem !important;
255
+ }
256
+ }
257
+ }
258
+
259
+ &.required {
260
+ fieldset legend {
261
+ &:after {
262
+ content: "*";
263
+ font-size: 0.875rem;
264
+ }
265
+ }
266
+ }
267
+ .is-checkradio[type="checkbox"]:checked {
268
+ + label {
269
+ &:before {
270
+ border-color: transparent !important;
271
+ background-color: $ben-franklin-blue;
272
+ }
273
+ &:after {
274
+ font-weight: $weight-semibold;
275
+ border-color: $white !important;
276
+ }
277
+ }
278
+ }
279
+
280
+ .is-checkradio[type="radio"]:checked {
281
+ + label {
282
+ &:before {
283
+ border-color: transparent !important;
284
+ background-color: $ben-franklin-blue;
285
+ }
286
+ &:after {
287
+ background-color: $white;
288
+ }
289
+ }
290
+ }
291
+
292
+ .is-checkradio + label:before {
293
+ border: 0.09rem solid #a1a1a1 !important;
294
+ left: -2rem !important;
295
+ }
296
+ .is-checkradio[type="checkbox"] + label:after {
297
+ top: 0.3rem;
298
+ left: -1.4rem !important;
299
+ }
300
+ .is-checkradio[type="radio"] + label:after {
301
+ left: -2rem !important;
302
+ }
303
+ .is-checkradio + label {
304
+ display: inline-block;
305
+ font-size: 1.063rem;
306
+ margin: 0 0 0 2rem;
307
+ padding: 0;
308
+ &:hover {
309
+ &:before {
310
+ border-color: $ben-franklin-blue !important;
311
+ }
312
+ }
313
+ }
314
+ }
315
+ .supplemental-text {
316
+ font-size: $size-small;
317
+ padding: 0.2rem 0.75rem 0 0.8rem;
318
+ line-height: 1rem;
319
+ }
320
+ }
321
+
322
+ .field {
323
+ .control {
324
+ &.is-loading {
325
+ // &:after {
326
+ // top: calc(50% - 1.75rem);
327
+ // }
328
+ span.icon {
329
+ opacity: 0 !important;
330
+ }
331
+ }
332
+ &.has-icons-right,
333
+ &.has-icons-left {
334
+ span.input-icon.is-right,
335
+ span.input-icon.is-left {
336
+ height: 3.5rem;
337
+ font-size: 1.2rem;
338
+ color: $grey-medium;
339
+ }
340
+ .select {
341
+ label {
342
+ padding-left: 2.85rem;
343
+ }
344
+ select {
345
+ padding-left: 2.5rem;
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
@@ -0,0 +1,220 @@
1
+ @mixin heading {
2
+ font-family: $family-secondary;
3
+ color: $grey-dark;
4
+ font-weight: $weight-semibold;
5
+ margin: 0 0 0.5rem 0;
6
+ }
7
+
8
+ @mixin heading-1 {
9
+ @include heading;
10
+ line-height: 2.5rem;
11
+ font-size: 2rem !important;
12
+ }
13
+
14
+ @mixin heading-2 {
15
+ @include heading;
16
+ line-height: 2.1875rem;
17
+ font-size: 1.75rem !important;
18
+ }
19
+
20
+ @mixin heading-3 {
21
+ @include heading;
22
+ line-height: 1.875rem;
23
+ font-size: 1.5rem !important;
24
+ }
25
+
26
+ @mixin heading-4 {
27
+ @include heading;
28
+ line-height: 1.5625rem;
29
+ font-size: 1.25rem !important;
30
+ }
31
+
32
+ @mixin heading-5 {
33
+ @include heading;
34
+ line-height: 1.25rem;
35
+ font-size: 1rem !important;
36
+ }
37
+
38
+ @mixin heading-6 {
39
+ @include heading;
40
+ line-height: 1.25rem;
41
+ font-size: 1rem !important;
42
+ font-weight: $weight-normal;
43
+ text-transform: uppercase;
44
+ }
45
+
46
+ @mixin headings-set-sizes {
47
+ &.is-1 {
48
+ @include heading-1;
49
+ }
50
+
51
+ &.is-2 {
52
+ @include heading-2;
53
+ }
54
+
55
+ &.is-3 {
56
+ @include heading-3;
57
+ }
58
+
59
+ &.is-4 {
60
+ @include heading-4;
61
+ }
62
+
63
+ &.is-5 {
64
+ @include heading-5;
65
+ }
66
+
67
+ &.is-6 {
68
+ @include heading-6;
69
+ }
70
+ }
71
+
72
+ @mixin font-sizes {
73
+ &.is-small {
74
+ font-size: $size-small;
75
+ }
76
+
77
+ &.is-medium,
78
+ &.is-normal {
79
+ font-size: $size-medium;
80
+ }
81
+
82
+ &.is-large {
83
+ font-size: $size-large;
84
+ }
85
+ }
86
+
87
+ @mixin link {
88
+ color: $ben-franklin-blue-dark;
89
+ text-decoration: underline;
90
+ font-weight: $weight-bold;
91
+
92
+ &.external-link,
93
+ &.is-external-link {
94
+ display: inline-block;
95
+ &:after {
96
+ content: "\f35d";
97
+ font-family: "Font Awesome 5 Pro";
98
+ font-weight: 900;
99
+ display: inline-block;
100
+ font-size: $size-small;
101
+ margin-left: 0.25rem;
102
+ }
103
+ }
104
+ &.is-inverted {
105
+ color: $white;
106
+ }
107
+ }
108
+
109
+ @mixin small-link {
110
+ font-size: $size-small;
111
+ &.external-link,
112
+ &.is-external-link {
113
+ &:after {
114
+ font-size: 0.7rem;
115
+ }
116
+ }
117
+ }
118
+
119
+ @mixin table-styles {
120
+ width: 100%;
121
+ border: 0;
122
+ thead {
123
+ tr {
124
+ th {
125
+ background-clip: padding-box;
126
+ position: relative;
127
+ background-color: $grey-dark;
128
+ color: $white;
129
+ font-weight: $weight-semibold;
130
+ font-size: $size-small;
131
+ border: 3px solid $white;
132
+ padding: 10px 8px;
133
+ line-height: 18px;
134
+ &.sortable {
135
+ cursor: pointer;
136
+ padding-right: 20px;
137
+ &:before,
138
+ &:after {
139
+ border-radius: 1px;
140
+ border: 5px solid transparent;
141
+ content: "";
142
+ display: block;
143
+ height: 0;
144
+ right: 8px;
145
+ top: 8px;
146
+ position: absolute;
147
+ width: 0;
148
+ }
149
+ &:before {
150
+ border-bottom-color: #b5b5b5;
151
+ }
152
+ &:after {
153
+ border-top-color: #b5b5b5;
154
+ margin-top: 12px;
155
+ }
156
+ &:hover {
157
+ &:before {
158
+ border-bottom-color: $white;
159
+ }
160
+ &:after {
161
+ border-top-color: $white;
162
+ }
163
+ }
164
+ &.sorting {
165
+ background-color: $ben-franklin-blue;
166
+ color: $white;
167
+ &.sorting-asc {
168
+ &:before {
169
+ border-bottom-color: $white;
170
+ }
171
+ &:after {
172
+ border-top-color: #85b4e6;
173
+ }
174
+ }
175
+ &.sorting-desc {
176
+ &:before {
177
+ border-bottom-color: #85b4e6;
178
+ }
179
+ &:after {
180
+ border-top-color: $white;
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ tbody {
189
+ tr {
190
+ &:nth-of-type(even) {
191
+ td {
192
+ background-color: #d8d8d8;
193
+ }
194
+ }
195
+ td {
196
+ background-clip: padding-box;
197
+ position: relative;
198
+ background-color: $ghost-grey;
199
+ color: $grey-dark;
200
+ font-size: $size-small;
201
+ border: 3px solid $white;
202
+ padding: 10px 8px;
203
+ line-height: 20px;
204
+ }
205
+ }
206
+ }
207
+
208
+ &.is-align-middle {
209
+ td,
210
+ th {
211
+ vertical-align: middle;
212
+ }
213
+ }
214
+
215
+ &.table-responsive {
216
+ width: 100%;
217
+ overflow: hidden;
218
+ overflow-x: auto;
219
+ }
220
+ }
@@ -0,0 +1,10 @@
1
+ /*
2
+ Table Styles
3
+ PhilaUI table styles applied to the .table class, and compatible with the vue-good-table plugin
4
+ */
5
+
6
+ @import "mixins";
7
+
8
+ table.table {
9
+ @include table-styles;
10
+ }
@@ -0,0 +1,29 @@
1
+ /*
2
+ Input Textbox Styles
3
+ Applied to the Textbox component and other components that inherit the Textbox visuals
4
+ */
5
+ .input-textbox {
6
+ .input {
7
+ height: 3.5rem;
8
+ }
9
+ &.inner-label {
10
+ .input {
11
+ + label {
12
+ opacity: 0;
13
+ }
14
+ &:not(:placeholder-shown),
15
+ &:focus {
16
+ padding: 1rem 2.2rem 0 0.75rem;
17
+ + label {
18
+ opacity: 1;
19
+ }
20
+ }
21
+ }
22
+ .input:not(:-ms-input-placeholder) {
23
+ padding: 1rem 2.2rem 0 0.75rem;
24
+ + label {
25
+ opacity: 1;
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,86 @@
1
+ @import './colors.scss';
2
+ @import './derived-colors.scss';
3
+ @import './fonts.scss';
4
+
5
+ $family-sans-serif: 'Open Sans', BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
6
+
7
+ $family-secondary: Montserrat, BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
8
+
9
+ $radius: 0;
10
+ $radius-large: 0;
11
+ $notification-padding: 1rem 2.5rem 1rem 1rem;
12
+
13
+ // NAVBAR OVERRIDES
14
+ $navbar-item-img-max-height: 75px;
15
+ $navbar-padding-vertical: 0.5rem;
16
+ $navbar-padding-horizontal: 1rem;
17
+ $navbar-background-color: $ben-franklin-blue-dark;
18
+ $navbar-item-color: $white;
19
+ $navbar-item-hover-background-color: transparent;
20
+ $navbar-item-hover-color: $electric-blue;
21
+
22
+ $navbar-dropdown-radius: 0;
23
+ $navbar-dropdown-boxed-radius: 0;
24
+ $navbar-dropdown-boxed-shadow: none;
25
+
26
+ // FOOTER OVERRIDES
27
+ $footer-background-color: $ben-franklin-blue-dark;
28
+ $footer-padding: rem-calc(10px);
29
+ $footer-color: $white;
30
+
31
+ // INPUT OVERRIDES
32
+ $input-background-color: $ghost-grey;
33
+ $input-focus-box-shadow-size: none;
34
+ $input-border-color: transparent;
35
+ $input-hover-border-color: transparent;
36
+ $input-focus-border-color: $electric-blue;
37
+ $input-shadow: none;
38
+
39
+ // TABS
40
+ $tabs-boxed-link-hover-background-color: none;
41
+ $tabs-link-hover-color: $ben-franklin-blue-dark;
42
+
43
+ // TABLES
44
+ $table-striped-row-even-background-color: $ghost-grey;
45
+
46
+ // MODALS
47
+ $modal-content-width: 760px;
48
+ $modal-card-head-padding: 15px;
49
+ $modal-card-body-padding: 15px;
50
+
51
+ //TITLE OVERRIDE
52
+ $title-line-height: 1.4;
53
+
54
+
55
+ //Bulma unchanged defaults
56
+ $body-background-color: $white;
57
+ $body-size: 16px;
58
+ $body-min-width: 300px;
59
+ $body-rendering: optimizeLegibility;
60
+ $body-weight: 400;
61
+
62
+
63
+ //Bulma Existing and overwritten
64
+ $button-padding-vertical: 0.75rem;
65
+ $button-padding-horizontal: 1.5rem;
66
+
67
+ $size-small: 0.875rem;
68
+ $size-medium: 1rem;
69
+ $size-normal: 1rem;
70
+ $size-large: 1.125rem;
71
+
72
+ $line-height-medium: 1.5rem;
73
+ $line-height-large: 2rem;
74
+
75
+ $body-line-height: 1.5rem;
76
+
77
+ $size-1: 2rem;
78
+ $size-2: 1.75rem;
79
+ $size-3: 1.25rem;
80
+ $size-4: 1.125rem;
81
+ $size-5: $size-small;
82
+ $size-6: $size-small;
83
+ $size-7: $size-small;
84
+ $link-hover: $ben-franklin-blue-dark;
85
+
86
+ $tablet: 768px !default;
@@ -0,0 +1 @@
1
+ @import "vue-good-table.scss";
@@ -0,0 +1,15 @@
1
+ .vgt-inner-wrap {
2
+ border-radius: 0;
3
+ box-shadow: none;
4
+ table.table thead tr th button {
5
+ width: 100%;
6
+ height: 100%;
7
+ padding: 0 .5rem;
8
+ position: absolute;
9
+ top: 0;
10
+ left: 0;
11
+ opacity: 0;
12
+ background-color: transparent;
13
+ cursor: pointer;
14
+ }
15
+ }