1- :root {
2- --formkit-error-color : #ef9a9a ;
3- }
1+ @use ' sass:math' ;
42
5- .formkit-form > .formkit-messages {
6- margin : 4px 0 ;
7- .formkit-message {
8- font-size : 0.8rem ;
9- }
10- }
3+ $gutter-width : 0.5rem ;
114
12- .formkit-outer {
13- margin : 0 ;
14- padding-bottom : 0.8rem ;
15-
16- .formkit-inner {.p-formkit { .p-formkit-icon {
17- box-sizing : border-box ;
18- width : 100% ;
19- } .p-inputtext , .p-textarea , .p-password , .p-multiselect , .p-select , .p-editor {
20- box-sizing : border-box ;
21- width : 100% ;
22- & .p-colorpicker-preview {
23- width : 2rem ;
24- }
25- }}
26- }
5+ // Breakpoints e.g. https://tailwindcss.com/docs/responsive-design
6+ $grid-breakpoints : (
7+ sm : 640px ,
8+ md : 768px ,
9+ lg : 1024px ,
10+ xl : 1280px ,
11+ xxl : 1536px
12+ ) !default ;
2713
28- ul {
29- margin-block-start : 2px ;
30- margin-block-end : 2px ;
31- }
32- .formkit-messages {
33- padding : 4px 0 0 0 ;.formkit-message {
34- padding : 0 ;
35- margin : 0 ;
36- color : var (--formkit-error-color );
37- list-style : none ;
38- font-size : 0.8rem ;
39- }
40- }
14+ @function breakpoint-min ($name , $breakpoints : $grid-breakpoints ) {
15+ $min : map-get ($breakpoints , $name );
16+ @return if ($min != 0 , $min , null );
4117}
4218
43- .formkit-outer [data-type = " primeToggleSwitch" ], .formkit-outer [data-type = " primeCheckbox" ], .formkit-outer [data-type = " primeTriStateCheckbox" ], .formkit-outer [data-type = " primeRadioButton" ] {
44- .formkit-inner {.formkit-prime-right {
45- margin-left : 10px ;
46- font-size : 1rem ;
47- }.formkit-prime-left {
48- margin-right : 10px ;
49- font-size : 1rem ;
19+ @mixin media-breakpoint-up ($name , $breakpoints : $grid-breakpoints ) {
20+ $min : breakpoint-min ($name , $breakpoints );
21+ @if $min {
22+ @media (min-width : $min ) {
23+ @content ;
5024 }
25+ } @else {
26+ @content ;
5127 }
5228}
5329
54- .formkit-label {
55- display : block ;
56- margin : 0 ;
57- padding-bottom : 0.5rem ;
58- font-weight : bold ;
59- font-size : 0.8rem ;
30+ :root {
31+ --formkit-error-color : #ef9a9a ;
6032}
6133
62- .formkit-fieldset {
63- margin : 0 ;
64- padding : 0 ;
65- border-radius : 0 ;
66- border : 0 ;
67-
68- & :focus-within {
69- border : 0 ;
34+ .formkit-form {
35+ // General message item styling
36+ .formkit-messages {
37+ margin : 0.125rem 0 ;
38+ padding-top : 0.25rem ;
39+ padding-left : 0 ;
7040 }
7141
72- & > .formkit-help {
73- margin-top : 0 ;
74- margin-bottom : 0 ;
42+ .formkit-message {
43+ list-style : none ;
44+ padding : 0 ;
45+ margin : 0 ;
46+ color : var (--formkit-error-color );
47+ font-size : 0.8rem ;
7548 }
76- }
7749
78- .formkit-legend {
79- display : block ;
80- margin : 0 ;
81- padding : 0 ;
82- }
50+ // Single form element
51+ .formkit-outer {
52+ padding-bottom : 0.8rem ;
8353
84- .formkit-help {
85- margin : 4px 0 0 0 ;
86- font-size : 0.8rem ;
87- color : var (--text-color-secondary );
88- }
54+ .formkit-inner {
55+ .p-formkit {
56+ .p-formkit-icon {
57+ box-sizing : border-box ;
58+ width : 100% ;
59+ }
8960
90- .formkit-messages {
91- padding : 0 ;
92- }
61+ .p-inputtext , .p-textarea , .p-password , .p-multiselect , .p-select , .p-editor {
62+ box-sizing : border-box ;
63+ width : 100 % ;
9364
94- .formkit-message {
95- padding : 0 ;
96- margin : 0 ;
97- color : var ( --formkit-error-color );
98- list-style : none ;
99- font-size : 0.8 rem ;
100- }
65+ & .p-colorpicker-preview {
66+ width : 2 rem ;
67+ }
68+ }
69+
70+ }
71+ }
10172
102- .formkit-actions {
103- padding-top : 0.5rem ;
73+ .formkit-help {
74+ margin : 0.25rem 0 0 0 ;
75+ font-size : 0.8rem ;
76+ color : var (--text-color-secondary );
77+ }
10478
105- }
79+ }
10680
107- .p-formkit-radio-label {
108- margin-left : 1rem ;
109- }
81+ // Label for single form element
82+ .formkit-label {
83+ display : block ;
84+ margin : 0 ;
85+ padding-bottom : 0.5rem ;
86+ font-weight : bold ;
87+ font-size : 0.8rem ;
88+ }
11089
111- .formkit-prefix-icon {
112- padding-right : 0.5rem ;
113- }
90+ // Wrapper for input element plus prefix, suffix and icons
91+ .p-formkit {
92+ > * {
93+ margin-right : 0.5rem ;
11494
115- .formkit-prefix {
116- padding-right : 0.5rem ;
117- }
95+ & :last-child , & :only-child {
96+ margin-right : 0 ;
97+ }
98+ }
99+ }
118100
119- .formkit-suffix-icon {
120- padding-left : 0.5rem ;
121- }
101+ // Used in Prime RadioButton
102+ .p-formkit-options {
103+ display : flex ;
104+ flex-wrap : wrap ;
105+ gap : 0.5rem ;
106+
107+ .p-formkit-option {
108+ display : flex ;
109+ align-items : center ;
110+ label {
111+ margin-left : 0.5rem ;
112+ }
113+ }
114+ }
122115
123- .formkit-suffix {
124- padding-left : 0.5rem ;
125- }
116+ // Do we need this?
117+ .formkit-fieldset {
118+ margin : 0 ;
119+ padding : 0 ;
120+ border-radius : 0 ;
121+ border : 0 ;
126122
123+ & :focus-within {
124+ border : 0 ;
125+ }
127126
127+ & > .formkit-help {
128+ margin-top : 0 ;
129+ margin-bottom : 0 ;
130+ }
131+ }
128132
129- .p-formkit-data-debug {
130- pre , span {
131- font-size : 0.75rem ;line-height : 1rem ;
133+ // Do we need this?
134+ .formkit-legend {
135+ display : block ;
136+ margin : 0 ;
137+ padding : 0 ;
132138 }
133- }
134139
135- .p-formkit-data-view {
140+ // Submit button etc.
141+ .formkit-actions {
142+ padding-top : 0.5rem ;
143+ }
136144
145+ // Debug
146+ .p-formkit-data-debug {
147+ pre , span {
148+ font-size : 0.75rem ;
149+ line-height : 1rem ;
150+ }
151+ }
137152}
138153
139- .p-formkit-data-edit {
140-
154+ // Change column behaviour in larger views
155+ @include media-breakpoint-up (lg) {
156+ .formkit-form {
157+ display : flex ;
158+ flex-wrap : wrap ;
159+ margin-left : - $gutter-width ;
160+ margin-right : - $gutter-width ;
161+
162+ & > * {
163+ flex-shrink : 0 ;
164+ width : 100% ;
165+ max-width : 100% ;
166+ padding-left : $gutter-width ;
167+ padding-right : $gutter-width ;
168+ }
169+ }
170+ @for $i from 1 through 12 {
171+ .col-#{$i } {
172+ width : percentage (math .div ($i , 12 ));
173+ }
174+ }
141175}
0 commit comments