@oslokommune/punkt-css 12.15.0 → 12.17.1

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,287 @@
1
+ /*
2
+ * Checkbox and radio
3
+ *
4
+ *
5
+ */
6
+ .pkt-input-check, .pkt-input-check__input, .pkt-input-check__input-checkbox, .pkt-input-check__input--tile {
7
+ --pkt-color-input-background-normal: var(--pkt-color-brand-neutrals-white);
8
+ --pkt-color-input-border-active: var(--pkt-color-brand-warm-blue-1000);
9
+ --pkt-color-input-border-disabled: var(--pkt-color-grays-gray-300);
10
+ --pkt-color-input-border-error: var(--pkt-color-brand-red-1000);
11
+ --pkt-color-input-border-hover: var(--pkt-color-brand-warm-blue-1000);
12
+ --pkt-color-input-border-normal: var(--pkt-color-brand-dark-blue-1000);
13
+ --pkt-color-input-check-border: var(--pkt-color-input-border-normal);
14
+ --pkt-color-input-text-active: var(--pkt-color-brand-warm-blue-1000);
15
+ --pkt-color-input-text-disabled: var(--pkt-color-grays-gray-500);
16
+ --pkt-color-input-text-hover: var(--pkt-color-brand-warm-blue-1000);
17
+ --pkt-color-input-text-error: var(--pkt-color-brand-red-1000);
18
+ }
19
+ [data-mode=dark] .pkt-input-check, [data-mode=dark] .pkt-input-check__input, [data-mode=dark] .pkt-input-check__input-checkbox, [data-mode=dark] .pkt-input-check__input--tile {
20
+ --pkt-color-input-background-normal: var(--pkt-color-brand-dark-blue-1000);
21
+ --pkt-color-input-border-active: var(--pkt-color-brand-blue-500);
22
+ --pkt-color-input-border-disabled: var(--pkt-color-grays-gray-200);
23
+ --pkt-color-input-border-error: var(--pkt-color-brand-red-1000);
24
+ --pkt-color-input-border-hover: var(--pkt-color-brand-blue-500);
25
+ --pkt-color-input-border-normal: var(--pkt-color-brand-neutrals-white);
26
+ --pkt-color-input-check-border: var(--pkt-color-input-border-normal);
27
+ --pkt-color-input-text-active: var(--pkt-color-brand-blue-500);
28
+ --pkt-color-input-text-disabled: var(--pkt-color-grays-gray-200);
29
+ --pkt-color-input-text-hover: var(--pkt-color-brand-blue-500);
30
+ --pkt-color-input-text-error: var(--pkt-color-brand-red-1000);
31
+ }
32
+
33
+ .pkt-input-check {
34
+ display: flex;
35
+ flex-direction: column;
36
+ row-gap: 1rem;
37
+ }
38
+ .pkt-input-check__input {
39
+ display: flex;
40
+ }
41
+ .pkt-input-check__input-label {
42
+ color: var(--pkt-color-text-body-default);
43
+ padding-left: 0.5rem;
44
+ letter-spacing: -0.2px;
45
+ font-weight: 300;
46
+ font-size: 1rem;
47
+ line-height: 1.5rem;
48
+ }
49
+ .pkt-input-check__input-helptext {
50
+ padding-top: 0.5rem;
51
+ max-width: 21.875rem;
52
+ color: var(--pkt-color-text-body-default);
53
+ letter-spacing: -0.2px;
54
+ font-weight: 300;
55
+ font-size: 0.875rem;
56
+ line-height: 1.375rem;
57
+ }
58
+ .pkt-input-check__input:hover > .pkt-input-check__input-checkbox:not(:disabled) + .pkt-input-check__input-label {
59
+ color: var(--pkt-color-input-text-hover);
60
+ }
61
+ .pkt-input-check__input-checkbox {
62
+ appearance: none;
63
+ background-color: var(--pkt-color-input-background-normal);
64
+ border: 2px solid var(--pkt-color-input-check-border);
65
+ width: 1.5rem;
66
+ height: 1.5rem;
67
+ flex-shrink: 0;
68
+ transition: all 0.3s ease-out;
69
+ }
70
+ .pkt-input-check__input-checkbox[type=checkbox] {
71
+ border-radius: 0;
72
+ }
73
+ .pkt-input-check__input-checkbox[type=checkbox][role=switch] {
74
+ position: relative;
75
+ height: calc(1.5rem + 2px);
76
+ width: 2.5rem;
77
+ border-radius: calc(0.75rem + 2px);
78
+ }
79
+ .pkt-input-check__input-checkbox[type=checkbox][role=switch]:after {
80
+ display: block;
81
+ content: "";
82
+ border: 2px solid var(--pkt-color-input-check-border);
83
+ background-color: var(--pkt-color-input-background-normal);
84
+ position: absolute;
85
+ top: -1px;
86
+ bottom: -1px;
87
+ left: -1px;
88
+ width: 1.5rem;
89
+ border-radius: 0.75rem;
90
+ transition: all 0.3s ease-out;
91
+ }
92
+ .pkt-input-check__input-checkbox[type=radio] {
93
+ border-radius: 50%;
94
+ border: none;
95
+ width: 1.25rem;
96
+ height: 1.25rem;
97
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-normal);
98
+ }
99
+ .pkt-input-check__input-checkbox:focus-visible:not(:disabled) + .pkt-input-check__input-label {
100
+ color: var(--pkt-color-input-text-hover);
101
+ }
102
+ .pkt-input-check__input-checkbox[type=checkbox]:hover {
103
+ --pkt-color-input-check-border: var(--pkt-color-input-border-hover);
104
+ }
105
+ .pkt-input-check__input-checkbox[type=checkbox]:active:not(:disabled) {
106
+ --pkt-color-input-check-border: var(--pkt-color-input-border-active);
107
+ outline: 6px solid var(--pkt-color-input-border-active);
108
+ }
109
+ .pkt-input-check__input-checkbox[type=checkbox]:focus-visible {
110
+ --pkt-color-input-check-border: var(--pkt-color-input-border-active);
111
+ outline: 4px solid var(--pkt-color-border-states-focus);
112
+ outline-offset: 0;
113
+ }
114
+ .pkt-input-check__input-checkbox[type=radio]:hover {
115
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-hover);
116
+ outline-color: var(--pkt-color-input-border-hover);
117
+ }
118
+ .pkt-input-check__input-checkbox:checked[type=checkbox] {
119
+ --svg: url(https://punkt-cdn.oslo.kommune.no/12.17/icons/check-medium.svg);
120
+ position: relative;
121
+ background-color: var(--pkt-color-input-border-normal);
122
+ }
123
+ .pkt-input-check__input-checkbox:checked:not([role=switch])[type=checkbox]:before {
124
+ content: "";
125
+ position: absolute;
126
+ top: 0;
127
+ left: 0;
128
+ width: 100%;
129
+ height: 100%;
130
+ z-index: -1;
131
+ }
132
+ .pkt-input-check__input-checkbox:checked:not([role=switch])[type=checkbox]:after {
133
+ content: "";
134
+ position: absolute;
135
+ top: 50%;
136
+ left: 50%;
137
+ transform: translate(-50%, -50%);
138
+ width: 24px;
139
+ height: 24px;
140
+ background-image: var(--svg);
141
+ background-repeat: no-repeat;
142
+ filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(271deg) brightness(105%) contrast(101%);
143
+ }
144
+ .pkt-input-check__input-checkbox:checked[role=switch]:after {
145
+ left: calc(100% + 1px);
146
+ transform: translate(-100%, 0);
147
+ background-image: var(--svg);
148
+ background-repeat: no-repeat;
149
+ }
150
+ .pkt-input-check__input-checkbox:checked[type=radio] {
151
+ background-color: var(--pkt-color-input-border-normal);
152
+ border: 3px solid var(--pkt-color-input-background-normal);
153
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-normal);
154
+ }
155
+ .pkt-input-check__input-checkbox:checked[type=checkbox]:focus-visible {
156
+ background-color: var(--pkt-color-input-border-active);
157
+ }
158
+ .pkt-input-check__input-checkbox:checked[type=checkbox]:hover {
159
+ background-color: var(--pkt-color-input-border-hover);
160
+ }
161
+ .pkt-input-check__input-checkbox:checked[type=radio]:focus-visible {
162
+ background-color: var(--pkt-color-input-border-active);
163
+ border: 3px solid var(--pkt-color-input-background-normal);
164
+ outline: none;
165
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-active), 0px 0px 0px 0.375rem var(--pkt-color-border-states-focus);
166
+ }
167
+ .pkt-input-check__input-checkbox:checked[type=radio]:hover {
168
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-hover);
169
+ background-color: var(--pkt-color-input-border-hover);
170
+ }
171
+ .pkt-input-check__input-checkbox:disabled[type=checkbox] {
172
+ background-color: var(--pkt-color-surface-default-gray);
173
+ --pkt-color-input-check-border: var(--pkt-color-input-border-disabled);
174
+ cursor: not-allowed;
175
+ }
176
+ .pkt-input-check__input-checkbox:disabled[type=checkbox][role=switch]:checked:after {
177
+ --svg: url(https://punkt-cdn.oslo.kommune.no/12.17/icons/check-medium.svg);
178
+ --pkt-color-input-check-border: var(--pkt-color-input-border-normal);
179
+ filter: grayscale(100%) brightness(400%);
180
+ }
181
+ .pkt-input-check__input-checkbox:disabled[type=radio] {
182
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-disabled);
183
+ background-color: var(--pkt-color-surface-default-gray);
184
+ cursor: not-allowed;
185
+ outline-color: var(--pkt-color-input-border-disabled);
186
+ }
187
+ .pkt-input-check__input-checkbox:disabled:checked[type=checkbox] {
188
+ background-color: var(--pkt-color-input-border-disabled);
189
+ --pkt-color-input-check-border: var(--pkt-color-input-border-disabled);
190
+ }
191
+ .pkt-input-check__input-checkbox:disabled:checked[type=radio] {
192
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-disabled);
193
+ background-color: var(--pkt-color-input-border-disabled);
194
+ }
195
+ .pkt-input-check__input-checkbox:disabled + .pkt-inputwrapper {
196
+ color: var(--pkt-color-input-text-disabled);
197
+ cursor: not-allowed;
198
+ }
199
+ .pkt-input-check__input-checkbox--error[type=checkbox]:not([role=switch]):checked:after {
200
+ filter: brightness(0) saturate(100%) invert(15%) sepia(11%) saturate(5273%) hue-rotate(212deg) brightness(96%) contrast(94%);
201
+ }
202
+ .pkt-input-check__input-checkbox--error[type=checkbox], .pkt-input-check__input-checkbox--error[type=checkbox]:hover, .pkt-input-check__input-checkbox--error[type=checkbox]:focus-visible, .pkt-input-check__input-checkbox--error[type=checkbox]:checked, .pkt-input-check__input-checkbox--error[type=checkbox]:checked:focus-visible, .pkt-input-check__input-checkbox--error[type=checkbox]:checked:hover, .pkt-input-check__input-checkbox--error[type=checkbox]:active:not(:disabled), .pkt-input-check__input-checkbox--error:checked[type=checkbox]:checked:before {
203
+ background-color: var(--pkt-color-surface-default-faded-red);
204
+ --pkt-color-input-check-border: var(--pkt-color-input-border-error);
205
+ outline-color: var(--pkt-color-input-border-error);
206
+ }
207
+ .pkt-input-check__input-checkbox--error[type=radio], .pkt-input-check__input-checkbox--error[type=radio]:hover, .pkt-input-check__input-checkbox--error[type=radio]:focus-visible, .pkt-input-check__input-checkbox--error[type=radio]:hover, .pkt-input-check__input-checkbox--error[type=radio]:active:not(:disabled) {
208
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-error);
209
+ background-color: var(--pkt-color-surface-default-faded-red);
210
+ }
211
+ .pkt-input-check__input-checkbox--error[type=radio]:checked, .pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible, .pkt-input-check__input-checkbox--error[type=radio]:checked:hover, .pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible + .pkt-input-check__input--tile {
212
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-input-border-error);
213
+ background-color: var(--pkt-color-input-border-active);
214
+ }
215
+ .pkt-input-check__input-checkbox--error[type=radio]:checked:hover, .pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible {
216
+ background-color: var(--pkt-color-input-border-active);
217
+ }
218
+ .pkt-input-check__input--tile {
219
+ border: 2px solid var(--pkt-color-border-subtle);
220
+ width: 21.875rem;
221
+ position: relative;
222
+ /* TODO - Wait on firefox-support!
223
+ &:has(:checked) {
224
+ border-color: var(--choice-checked-rb-bc);
225
+ }*/
226
+ }
227
+ .pkt-input-check__input--tile .pkt-input-check__input-label:before {
228
+ content: "";
229
+ }
230
+ .pkt-input-check__input--tile > .pkt-input-check__input-label {
231
+ padding: 1rem 1rem 1rem 0.5rem;
232
+ width: 100%;
233
+ }
234
+ .pkt-input-check__input--tile > .pkt-input-check__input-checkbox {
235
+ margin: 1rem 0 1rem 1rem;
236
+ }
237
+ .pkt-input-check__input--tile .pkt-input-check__input-checkbox:checked:not(:disabled) + .pkt-input-check__input-label:before {
238
+ content: "";
239
+ position: absolute;
240
+ left: -2px;
241
+ right: -2px;
242
+ bottom: -2px;
243
+ top: -2px;
244
+ border: 2px solid var(--pkt-color-border-default);
245
+ pointer-events: none;
246
+ }
247
+ .pkt-input-check__input--tile:focus-within {
248
+ background-color: var(--pkt-color-input-background-normal);
249
+ border-color: var(--pkt-color-border-states-active);
250
+ outline: 4px solid var(--pkt-color-border-states-focus);
251
+ }
252
+ .pkt-input-check__input--tile:hover:not(.pkt-input-check__input--tile-disabled) {
253
+ border-color: var(--pkt-color-border-states-hover);
254
+ }
255
+ .pkt-input-check__input--tile:hover > .pkt-input-check__input-checkbox:checked + .pkt-input-check__input-label:before {
256
+ border-color: var(--pkt-color-border-states-hover);
257
+ }
258
+ .pkt-input-check__input--tile:active:not(:disabled) > .pkt-input-check__input-checkbox:checked + .pkt-input-check__input-label:before {
259
+ border-color: var(--pkt-color-border-states-active);
260
+ }
261
+ .pkt-input-check__input--tile:disabled {
262
+ border-color: var(--pkt-color-border-states-disabled);
263
+ }
264
+ .pkt-input-check__input--tile .pkt-input-check__input-checkbox:not(.pkt-input-check__input-checkbox--error):checked[type=radio]:focus-visible {
265
+ box-shadow: 0px 0px 0px 0.125rem var(--pkt-color-border-states-active);
266
+ }
267
+ .pkt-input-check__input--tile .pkt-input-check__input-checkbox[type=checkbox]:focus-visible {
268
+ outline: none;
269
+ }
270
+
271
+ [data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox]:not([role=switch]):after {
272
+ filter: brightness(0) saturate(100%) invert(15%) sepia(11%) saturate(5273%) hue-rotate(212deg) brightness(96%) contrast(94%);
273
+ }
274
+ [data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:checked:not(:disabled) {
275
+ background-color: var(--pkt-color-input-border-hover);
276
+ border-color: var(--pkt-color-input-border-hover);
277
+ }
278
+ [data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:checked:after {
279
+ background-color: var(--pkt-color-brand-neutrals-white);
280
+ }
281
+ [data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:disabled:not(:checked) {
282
+ background-color: transparent;
283
+ }
284
+ [data-mode=dark] .pkt-input-check__input-checkbox--error[type=checkbox][role=switch]:is(input), [data-mode=dark] .pkt-input-check__input-checkbox--error[type=checkbox][role=switch]:is(input):checked:checked {
285
+ background-color: var(--pkt-color-surface-default-faded-red);
286
+ border-color: var(--pkt-color-input-border-error);
287
+ }
@@ -0,0 +1 @@
1
+ .pkt-input-check,.pkt-input-check__input,.pkt-input-check__input-checkbox,.pkt-input-check__input--tile{--pkt-color-input-background-normal: var(--pkt-color-brand-neutrals-white);--pkt-color-input-border-active: var(--pkt-color-brand-warm-blue-1000);--pkt-color-input-border-disabled: var(--pkt-color-grays-gray-300);--pkt-color-input-border-error: var(--pkt-color-brand-red-1000);--pkt-color-input-border-hover: var(--pkt-color-brand-warm-blue-1000);--pkt-color-input-border-normal: var(--pkt-color-brand-dark-blue-1000);--pkt-color-input-check-border: var(--pkt-color-input-border-normal);--pkt-color-input-text-active: var(--pkt-color-brand-warm-blue-1000);--pkt-color-input-text-disabled: var(--pkt-color-grays-gray-500);--pkt-color-input-text-hover: var(--pkt-color-brand-warm-blue-1000);--pkt-color-input-text-error: var(--pkt-color-brand-red-1000)}[data-mode=dark] .pkt-input-check,[data-mode=dark] .pkt-input-check__input,[data-mode=dark] .pkt-input-check__input-checkbox,[data-mode=dark] .pkt-input-check__input--tile{--pkt-color-input-background-normal: var(--pkt-color-brand-dark-blue-1000);--pkt-color-input-border-active: var(--pkt-color-brand-blue-500);--pkt-color-input-border-disabled: var(--pkt-color-grays-gray-200);--pkt-color-input-border-error: var(--pkt-color-brand-red-1000);--pkt-color-input-border-hover: var(--pkt-color-brand-blue-500);--pkt-color-input-border-normal: var(--pkt-color-brand-neutrals-white);--pkt-color-input-check-border: var(--pkt-color-input-border-normal);--pkt-color-input-text-active: var(--pkt-color-brand-blue-500);--pkt-color-input-text-disabled: var(--pkt-color-grays-gray-200);--pkt-color-input-text-hover: var(--pkt-color-brand-blue-500);--pkt-color-input-text-error: var(--pkt-color-brand-red-1000)}.pkt-input-check{display:flex;flex-direction:column;row-gap:1rem}.pkt-input-check__input{display:flex}.pkt-input-check__input-label{color:var(--pkt-color-text-body-default);padding-left:.5rem;letter-spacing:-0.2px;font-weight:300;font-size:1rem;line-height:1.5rem}.pkt-input-check__input-helptext{padding-top:.5rem;max-width:21.875rem;color:var(--pkt-color-text-body-default);letter-spacing:-0.2px;font-weight:300;font-size:.875rem;line-height:1.375rem}.pkt-input-check__input:hover>.pkt-input-check__input-checkbox:not(:disabled)+.pkt-input-check__input-label{color:var(--pkt-color-input-text-hover)}.pkt-input-check__input-checkbox{appearance:none;background-color:var(--pkt-color-input-background-normal);border:2px solid var(--pkt-color-input-check-border);width:1.5rem;height:1.5rem;flex-shrink:0;transition:all .3s ease-out}.pkt-input-check__input-checkbox[type=checkbox]{border-radius:0}.pkt-input-check__input-checkbox[type=checkbox][role=switch]{position:relative;height:calc(1.5rem + 2px);width:2.5rem;border-radius:calc(.75rem + 2px)}.pkt-input-check__input-checkbox[type=checkbox][role=switch]:after{display:block;content:"";border:2px solid var(--pkt-color-input-check-border);background-color:var(--pkt-color-input-background-normal);position:absolute;top:-1px;bottom:-1px;left:-1px;width:1.5rem;border-radius:.75rem;transition:all .3s ease-out}.pkt-input-check__input-checkbox[type=radio]{border-radius:50%;border:none;width:1.25rem;height:1.25rem;box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-normal)}.pkt-input-check__input-checkbox:focus-visible:not(:disabled)+.pkt-input-check__input-label{color:var(--pkt-color-input-text-hover)}.pkt-input-check__input-checkbox[type=checkbox]:hover{--pkt-color-input-check-border: var(--pkt-color-input-border-hover)}.pkt-input-check__input-checkbox[type=checkbox]:active:not(:disabled){--pkt-color-input-check-border: var(--pkt-color-input-border-active);outline:6px solid var(--pkt-color-input-border-active)}.pkt-input-check__input-checkbox[type=checkbox]:focus-visible{--pkt-color-input-check-border: var(--pkt-color-input-border-active);outline:4px solid var(--pkt-color-border-states-focus);outline-offset:0}.pkt-input-check__input-checkbox[type=radio]:hover{box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-hover);outline-color:var(--pkt-color-input-border-hover)}.pkt-input-check__input-checkbox:checked[type=checkbox]{--svg: url(https://punkt-cdn.oslo.kommune.no/12.17/icons/check-medium.svg);position:relative;background-color:var(--pkt-color-input-border-normal)}.pkt-input-check__input-checkbox:checked:not([role=switch])[type=checkbox]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.pkt-input-check__input-checkbox:checked:not([role=switch])[type=checkbox]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:24px;height:24px;background-image:var(--svg);background-repeat:no-repeat;filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(271deg) brightness(105%) contrast(101%)}.pkt-input-check__input-checkbox:checked[role=switch]:after{left:calc(100% + 1px);transform:translate(-100%, 0);background-image:var(--svg);background-repeat:no-repeat}.pkt-input-check__input-checkbox:checked[type=radio]{background-color:var(--pkt-color-input-border-normal);border:3px solid var(--pkt-color-input-background-normal);box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-normal)}.pkt-input-check__input-checkbox:checked[type=checkbox]:focus-visible{background-color:var(--pkt-color-input-border-active)}.pkt-input-check__input-checkbox:checked[type=checkbox]:hover{background-color:var(--pkt-color-input-border-hover)}.pkt-input-check__input-checkbox:checked[type=radio]:focus-visible{background-color:var(--pkt-color-input-border-active);border:3px solid var(--pkt-color-input-background-normal);outline:none;box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-active),0px 0px 0px .375rem var(--pkt-color-border-states-focus)}.pkt-input-check__input-checkbox:checked[type=radio]:hover{box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-hover);background-color:var(--pkt-color-input-border-hover)}.pkt-input-check__input-checkbox:disabled[type=checkbox]{background-color:var(--pkt-color-surface-default-gray);--pkt-color-input-check-border: var(--pkt-color-input-border-disabled);cursor:not-allowed}.pkt-input-check__input-checkbox:disabled[type=checkbox][role=switch]:checked:after{--svg: url(https://punkt-cdn.oslo.kommune.no/12.17/icons/check-medium.svg);--pkt-color-input-check-border: var(--pkt-color-input-border-normal);filter:grayscale(100%) brightness(400%)}.pkt-input-check__input-checkbox:disabled[type=radio]{box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-disabled);background-color:var(--pkt-color-surface-default-gray);cursor:not-allowed;outline-color:var(--pkt-color-input-border-disabled)}.pkt-input-check__input-checkbox:disabled:checked[type=checkbox]{background-color:var(--pkt-color-input-border-disabled);--pkt-color-input-check-border: var(--pkt-color-input-border-disabled)}.pkt-input-check__input-checkbox:disabled:checked[type=radio]{box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-disabled);background-color:var(--pkt-color-input-border-disabled)}.pkt-input-check__input-checkbox:disabled+.pkt-inputwrapper{color:var(--pkt-color-input-text-disabled);cursor:not-allowed}.pkt-input-check__input-checkbox--error[type=checkbox]:not([role=switch]):checked:after{filter:brightness(0) saturate(100%) invert(15%) sepia(11%) saturate(5273%) hue-rotate(212deg) brightness(96%) contrast(94%)}.pkt-input-check__input-checkbox--error[type=checkbox],.pkt-input-check__input-checkbox--error[type=checkbox]:hover,.pkt-input-check__input-checkbox--error[type=checkbox]:focus-visible,.pkt-input-check__input-checkbox--error[type=checkbox]:checked,.pkt-input-check__input-checkbox--error[type=checkbox]:checked:focus-visible,.pkt-input-check__input-checkbox--error[type=checkbox]:checked:hover,.pkt-input-check__input-checkbox--error[type=checkbox]:active:not(:disabled),.pkt-input-check__input-checkbox--error:checked[type=checkbox]:checked:before{background-color:var(--pkt-color-surface-default-faded-red);--pkt-color-input-check-border: var(--pkt-color-input-border-error);outline-color:var(--pkt-color-input-border-error)}.pkt-input-check__input-checkbox--error[type=radio],.pkt-input-check__input-checkbox--error[type=radio]:hover,.pkt-input-check__input-checkbox--error[type=radio]:focus-visible,.pkt-input-check__input-checkbox--error[type=radio]:hover,.pkt-input-check__input-checkbox--error[type=radio]:active:not(:disabled){box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-error);background-color:var(--pkt-color-surface-default-faded-red)}.pkt-input-check__input-checkbox--error[type=radio]:checked,.pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible,.pkt-input-check__input-checkbox--error[type=radio]:checked:hover,.pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible+.pkt-input-check__input--tile{box-shadow:0px 0px 0px .125rem var(--pkt-color-input-border-error);background-color:var(--pkt-color-input-border-active)}.pkt-input-check__input-checkbox--error[type=radio]:checked:hover,.pkt-input-check__input-checkbox--error[type=radio]:checked:focus-visible{background-color:var(--pkt-color-input-border-active)}.pkt-input-check__input--tile{border:2px solid var(--pkt-color-border-subtle);width:21.875rem;position:relative}.pkt-input-check__input--tile .pkt-input-check__input-label:before{content:""}.pkt-input-check__input--tile>.pkt-input-check__input-label{padding:1rem 1rem 1rem .5rem;width:100%}.pkt-input-check__input--tile>.pkt-input-check__input-checkbox{margin:1rem 0 1rem 1rem}.pkt-input-check__input--tile .pkt-input-check__input-checkbox:checked:not(:disabled)+.pkt-input-check__input-label:before{content:"";position:absolute;left:-2px;right:-2px;bottom:-2px;top:-2px;border:2px solid var(--pkt-color-border-default);pointer-events:none}.pkt-input-check__input--tile:focus-within{background-color:var(--pkt-color-input-background-normal);border-color:var(--pkt-color-border-states-active);outline:4px solid var(--pkt-color-border-states-focus)}.pkt-input-check__input--tile:hover:not(.pkt-input-check__input--tile-disabled){border-color:var(--pkt-color-border-states-hover)}.pkt-input-check__input--tile:hover>.pkt-input-check__input-checkbox:checked+.pkt-input-check__input-label:before{border-color:var(--pkt-color-border-states-hover)}.pkt-input-check__input--tile:active:not(:disabled)>.pkt-input-check__input-checkbox:checked+.pkt-input-check__input-label:before{border-color:var(--pkt-color-border-states-active)}.pkt-input-check__input--tile:disabled{border-color:var(--pkt-color-border-states-disabled)}.pkt-input-check__input--tile .pkt-input-check__input-checkbox:not(.pkt-input-check__input-checkbox--error):checked[type=radio]:focus-visible{box-shadow:0px 0px 0px .125rem var(--pkt-color-border-states-active)}.pkt-input-check__input--tile .pkt-input-check__input-checkbox[type=checkbox]:focus-visible{outline:none}[data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox]:not([role=switch]):after{filter:brightness(0) saturate(100%) invert(15%) sepia(11%) saturate(5273%) hue-rotate(212deg) brightness(96%) contrast(94%)}[data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:checked:not(:disabled){background-color:var(--pkt-color-input-border-hover);border-color:var(--pkt-color-input-border-hover)}[data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:checked:after{background-color:var(--pkt-color-brand-neutrals-white)}[data-mode=dark] .pkt-input-check__input-checkbox[type=checkbox][role=switch]:disabled:not(:checked){background-color:rgba(0,0,0,0)}[data-mode=dark] .pkt-input-check__input-checkbox--error[type=checkbox][role=switch]:is(input),[data-mode=dark] .pkt-input-check__input-checkbox--error[type=checkbox][role=switch]:is(input):checked:checked{background-color:var(--pkt-color-surface-default-faded-red);border-color:var(--pkt-color-input-border-error)}
@@ -0,0 +1,104 @@
1
+ /*
2
+ * Form elements
3
+ * https://css-tricks.com/html-inputs-and-labels-a-love-story/
4
+ *
5
+ */
6
+ /* TODO: move to animation.scss */
7
+ @keyframes enter {
8
+ from {
9
+ transform: scaleY(0);
10
+ }
11
+ to {
12
+ transform: scaleY(1);
13
+ }
14
+ }
15
+ /* TODO: Contemplate and decide if this should be split up to multiple files or not.
16
+ * button is only one without pkt-form prefix. Is that ok???
17
+ */
18
+ .pkt-form {
19
+ /* EXPLICIT LABEL (recommended for use)
20
+ * - the label is connected to an input via "for" and "id"
21
+ */
22
+ }
23
+ .pkt-form-group {
24
+ margin-bottom: 1.5rem;
25
+ }
26
+ .pkt-form-group:focus-within {
27
+ color: var(--pkt-color-brand-warm-blue-1000);
28
+ }
29
+ .pkt-form-label {
30
+ width: 100%;
31
+ }
32
+ .pkt-form-label > p:first-child {
33
+ display: inline;
34
+ }
35
+ .pkt-form-help {
36
+ margin: 0.25em 0;
37
+ font-size: 0.875rem;
38
+ line-height: 1.25em;
39
+ opacity: 0.9;
40
+ }
41
+ .pkt-form-validation {
42
+ animation: enter 0.2s ease-in forwards;
43
+ background-color: var(--pkt-color-brand-red-1000);
44
+ border: 2px solid var(--pkt-color-brand-red-1000);
45
+ font-size: 0.875rem;
46
+ line-height: 2rem;
47
+ margin: 1rem 0 0;
48
+ padding: 0.4375rem 0.5rem;
49
+ transform-origin: 0 0;
50
+ }
51
+ .pkt-form-validation--warning {
52
+ background-color: var(--pkt-color-brand-yellow-1000);
53
+ border-color: var(--pkt-color-brand-yellow-1000);
54
+ }
55
+ .pkt-form-validation--error {
56
+ background-color: var(--pkt-color-brand-red-1000);
57
+ border-color: var(--pkt-color-brand-red-1000);
58
+ }
59
+ .pkt-form-input, .pkt-form-textarea {
60
+ appearance: none;
61
+ background-clip: padding-box;
62
+ background-color: var(--pkt-color-brand-neutrals-white);
63
+ border: 2px solid var(--pkt-color-brand-dark-blue-1000);
64
+ border-radius: 0;
65
+ color: var(--pkt-color-brand-dark-blue-1000);
66
+ display: block;
67
+ font-size: 1rem;
68
+ font-weight: 400;
69
+ line-height: 2rem;
70
+ margin: 0;
71
+ padding: 0.4375rem 0.5rem;
72
+ position: relative;
73
+ width: 100%;
74
+ /* Placeholder
75
+ * 1. Override Firefox's default opacity
76
+ */
77
+ }
78
+ .pkt-form-input:focus, .pkt-form-textarea:focus {
79
+ background-color: var(--pkt-color-brand-neutrals-white);
80
+ border-color: var(--pkt-color-brand-warm-blue-1000);
81
+ box-shadow: 0 0 var(--pkt-color-brand-warm-blue-1000);
82
+ color: var(--pkt-color-brand-warm-blue-1000);
83
+ outline: 2px solid var(--pkt-color-brand-warm-blue-1000);
84
+ }
85
+ .pkt-form-input::placeholder, .pkt-form-textarea::placeholder {
86
+ color: var(--pkt-color-grays-gray-300);
87
+ opacity: 1;
88
+ /* 1 */
89
+ }
90
+ .pkt-form-input + .pkt-form-validation, .pkt-form-textarea + .pkt-form-validation {
91
+ display: none;
92
+ }
93
+ .pkt-form-input:not(:placeholder-shown):invalid, .pkt-form-textarea:not(:placeholder-shown):invalid {
94
+ border-color: var(--pkt-color-brand-red-1000);
95
+ }
96
+ .pkt-form-input:not(:placeholder-shown):invalid + .pkt-form-validation, .pkt-form-textarea:not(:placeholder-shown):invalid + .pkt-form-validation {
97
+ display: inherit;
98
+ }
99
+ .pkt-form-input:disabled, .pkt-form-input[readonly], .pkt-form-textarea:disabled, .pkt-form-textarea[readonly] {
100
+ background-color: var(--pkt-color-brand-neutrals-200);
101
+ border-color: var(--pkt-color-grays-gray-300);
102
+ color: var(--pkt-color-grays-gray-300);
103
+ cursor: inherit;
104
+ }
@@ -0,0 +1 @@
1
+ @keyframes enter{from{transform:scaleY(0)}to{transform:scaleY(1)}}.pkt-form-group{margin-bottom:1.5rem}.pkt-form-group:focus-within{color:var(--pkt-color-brand-warm-blue-1000)}.pkt-form-label{width:100%}.pkt-form-label>p:first-child{display:inline}.pkt-form-help{margin:.25em 0;font-size:.875rem;line-height:1.25em;opacity:.9}.pkt-form-validation{animation:enter .2s ease-in forwards;background-color:var(--pkt-color-brand-red-1000);border:2px solid var(--pkt-color-brand-red-1000);font-size:.875rem;line-height:2rem;margin:1rem 0 0;padding:.4375rem .5rem;transform-origin:0 0}.pkt-form-validation--warning{background-color:var(--pkt-color-brand-yellow-1000);border-color:var(--pkt-color-brand-yellow-1000)}.pkt-form-validation--error{background-color:var(--pkt-color-brand-red-1000);border-color:var(--pkt-color-brand-red-1000)}.pkt-form-input,.pkt-form-textarea{appearance:none;background-clip:padding-box;background-color:var(--pkt-color-brand-neutrals-white);border:2px solid var(--pkt-color-brand-dark-blue-1000);border-radius:0;color:var(--pkt-color-brand-dark-blue-1000);display:block;font-size:1rem;font-weight:400;line-height:2rem;margin:0;padding:.4375rem .5rem;position:relative;width:100%}.pkt-form-input:focus,.pkt-form-textarea:focus{background-color:var(--pkt-color-brand-neutrals-white);border-color:var(--pkt-color-brand-warm-blue-1000);box-shadow:0 0 var(--pkt-color-brand-warm-blue-1000);color:var(--pkt-color-brand-warm-blue-1000);outline:2px solid var(--pkt-color-brand-warm-blue-1000)}.pkt-form-input::placeholder,.pkt-form-textarea::placeholder{color:var(--pkt-color-grays-gray-300);opacity:1}.pkt-form-input+.pkt-form-validation,.pkt-form-textarea+.pkt-form-validation{display:none}.pkt-form-input:not(:placeholder-shown):invalid,.pkt-form-textarea:not(:placeholder-shown):invalid{border-color:var(--pkt-color-brand-red-1000)}.pkt-form-input:not(:placeholder-shown):invalid+.pkt-form-validation,.pkt-form-textarea:not(:placeholder-shown):invalid+.pkt-form-validation{display:inherit}.pkt-form-input:disabled,.pkt-form-input[readonly],.pkt-form-textarea:disabled,.pkt-form-textarea[readonly]{background-color:var(--pkt-color-brand-neutrals-200);border-color:var(--pkt-color-grays-gray-300);color:var(--pkt-color-grays-gray-300);cursor:inherit}
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Horisontal divider <hr>
3
+ */
4
+ .pkt-hr {
5
+ border: 0;
6
+ width: 100%;
7
+ border-top: 1px solid var(--pkt-color-grays-gray-200);
8
+ }
@@ -0,0 +1 @@
1
+ .pkt-hr{border:0;width:100%;border-top:1px solid var(--pkt-color-grays-gray-200)}
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Image elements
3
+ */
4
+ /*
5
+ DEBATE:
6
+ CSS reset in minside-frontend sets all images to be fluid by default. However, this breaks
7
+ a lot of third-party widgets like Google Maps, as they are not expecting the images within themselves
8
+ to be resized from the outside.
9
+
10
+ Therefore, this is removed from the reset here, and images who need to be fluid need a class for it.
11
+ */
12
+ .img-fluid {
13
+ max-width: 100%;
14
+ height: auto;
15
+ }
16
+
17
+ .img-round {
18
+ border-radius: 50%;
19
+ overflow: hidden;
20
+ object-fit: cover;
21
+ }
22
+
23
+ .figure {
24
+ display: inline-block;
25
+ }
@@ -0,0 +1 @@
1
+ .img-fluid{max-width:100%;height:auto}.img-round{border-radius:50%;overflow:hidden;object-fit:cover}.figure{display:inline-block}