@entur/form 8.1.10 → 8.2.0

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 (2) hide show
  1. package/dist/styles.css +398 -394
  2. package/package.json +5 -5
package/dist/styles.css CHANGED
@@ -87,14 +87,12 @@
87
87
  .eds-contrast .eds-checkbox__container:active input:indeterminate + .eds-checkbox__icon {
88
88
  background-color: var(--components-form-checkbox-contrast-fill-selected);
89
89
  }
90
- .eds-checkbox__container:focus + .eds-checkbox__icon,
91
- .eds-checkbox__container :focus-within + .eds-checkbox__icon {
90
+ .eds-checkbox__container:has(:focus-visible) .eds-checkbox__icon {
92
91
  outline: 2px solid #181c56;
93
92
  outline-color: var(--basecolors-stroke-focus-standard);
94
93
  outline-offset: 0.125rem;
95
94
  }
96
- .eds-contrast .eds-checkbox__container:focus + .eds-checkbox__icon,
97
- .eds-contrast .eds-checkbox__container :focus-within + .eds-checkbox__icon {
95
+ .eds-contrast .eds-checkbox__container:has(:focus-visible) .eds-checkbox__icon {
98
96
  outline-color: var(--basecolors-stroke-focus-contrast);
99
97
  }
100
98
  .eds-checkbox--disabled {
@@ -143,193 +141,92 @@
143
141
  stroke-dashoffset: 0;
144
142
  }
145
143
  }
144
+ .eds-fieldset {
145
+ margin: 0;
146
+ padding: 0;
147
+ border: 0;
148
+ }
146
149
  /* DO NOT CHANGE!*/
147
150
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
148
- .eds-form-control__field-and-feedback-text {
149
- display: flex;
150
- flex-direction: column;
151
- height: -moz-fit-content;
152
- height: fit-content;
153
- width: 100%;
154
- }
155
- .eds-form-control__field-and-feedback-text--has-tooltip {
156
- padding-right: 2rem;
157
- }
158
- .eds-form-control-wrapper {
151
+ .eds-form-component--radio__container {
159
152
  display: flex;
153
+ justify-content: center;
160
154
  align-items: center;
161
155
  position: relative;
162
- flex: 1;
163
- min-height: 3rem;
164
- padding-left: 1rem;
165
- padding-right: 1rem;
166
- background-color: var(--components-form-baseform-standard-fill-default);
167
- border-radius: 0.25rem;
168
- border: 0.125rem solid var(--components-form-baseform-standard-border-default);
169
- box-shadow: 0 0 0 transparent;
170
- color: var(--components-form-baseform-standard-text-content);
171
- transition: border-color 0.1s ease-in-out;
172
- }
173
- .eds-form-control-wrapper:focus-within, .eds-form-control-wrapper:hover {
174
- border-color: var(--components-form-baseform-standard-border-interactive);
175
- }
176
- .eds-contrast .eds-form-control-wrapper:hover {
177
- border-color: var(--components-form-baseform-contrast-border-interactive);
178
- }
179
- .eds-form-control-wrapper:focus-within {
180
- outline: 1px solid var(--components-form-baseform-standard-border-interactive);
181
- }
182
- .eds-contrast .eds-form-control-wrapper:focus-within {
183
- outline: var(--components-form-baseform-contrast-border-interactive);
184
- }
185
- .eds-form-control-wrapper ::-moz-placeholder {
186
- color: var(--components-form-baseform-standard-text-label);
187
- }
188
- .eds-form-control-wrapper ::placeholder {
189
- color: var(--components-form-baseform-standard-text-label);
190
- }
191
- .eds-form-control-wrapper--disabled {
192
- border-color: transparent;
193
- background-color: var(--components-form-baseform-standard-fill-disabled);
194
- pointer-events: none;
195
- color: var(--components-form-baseform-standard-text-disabled);
196
- }
197
- .eds-form-control-wrapper--disabled .eds-input-group__label {
198
- color: var(--components-form-baseform-standard-text-disabled);
199
- }
200
- .eds-contrast .eds-form-control-wrapper--disabled {
201
- border-color: transparent;
202
- background-color: var(--components-form-baseform-contrast-fill-disabled);
203
- color: var(--components-form-baseform-contrast-text-disabled);
204
- }
205
- .eds-contrast .eds-form-control-wrapper--disabled .eds-input-group__label {
206
- color: var(--components-form-baseform-contrast-text-disabled);
207
- }
208
- .eds-form-control-wrapper--disabled::before, .eds-form-control-wrapper--disabled::after {
209
- display: none;
210
- }
211
- .eds-form-control-wrapper--readonly {
212
- border-color: transparent;
213
- pointer-events: none;
214
- cursor: default;
215
- background: var(--components-form-baseform-standard-fill-readonly);
216
- border: var(--components-form-baseform-standard-fill-readonly);
217
- }
218
- .eds-contrast .eds-form-control-wrapper--readonly {
219
- background: var(--components-form-baseform-contrast-fill-readonly);
220
- color: var(--components-form-baseform-contrast-text-description);
221
- border: var(--components-form-baseform-contrast-fill-readonly);
222
- }
223
- .eds-contrast .eds-form-control-wrapper--readonly .eds-input-group__label {
224
- color: var(--components-form-baseform-contrast-text-description);
225
- }
226
- .eds-form-control-wrapper--readonly::before, .eds-form-control-wrapper--readonly::after {
227
- display: none;
228
- }
229
- .eds-form-control-wrapper--size-medium .eds-form-control,
230
- .eds-form-control-wrapper--size-medium .eds-form-control__append,
231
- .eds-form-control-wrapper--size-medium .eds-form-control__prepend {
232
- font-size: 1rem;
233
- line-height: 1rem;
156
+ cursor: pointer;
157
+ height: 2rem;
158
+ width: -moz-fit-content;
159
+ width: fit-content;
160
+ -webkit-user-select: none;
161
+ -moz-user-select: none;
162
+ user-select: none;
234
163
  }
235
- .eds-form-control-wrapper--size-large {
236
- min-height: 4rem;
164
+ .eds-form-component--radio__container :hover ~ .eds-form-component--radio__radio {
165
+ background-color: var(--components-form-radio-standard-fill-hover);
237
166
  }
238
- .eds-form-control-wrapper--size-large .eds-form-control,
239
- .eds-form-control-wrapper--size-large .eds-form-control__append,
240
- .eds-form-control-wrapper--size-large .eds-form-control__prepend {
241
- font-size: 1.5rem;
167
+ .eds-contrast .eds-form-component--radio__container :hover ~ .eds-form-component--radio__radio {
168
+ background-color: var(--components-form-radio-contrast-fill-hover);
242
169
  }
243
- .eds-form-control-wrapper--success {
244
- border-color: var(--components-form-baseform-standard-border-success);
170
+ .eds-form-component--radio__container input {
171
+ position: absolute;
172
+ opacity: 0;
173
+ cursor: pointer;
174
+ height: 0;
175
+ width: 0;
245
176
  }
246
- .eds-form-control-wrapper--success:focus-within {
247
- border-color: var(--components-form-baseform-standard-border-success);
177
+ .eds-form-component--radio__container input:checked ~ .eds-form-component--radio__radio .eds-form-component--radio__circle {
178
+ height: 0.625rem;
179
+ width: 0.625rem;
248
180
  }
249
- .eds-contrast .eds-form-control-wrapper--success {
250
- border-color: var(--components-form-baseform-standard-border-success);
181
+ .eds-form-component--radio__container input:focus-visible ~ .eds-form-component--radio__radio {
182
+ outline: 2px solid #181c56;
183
+ outline-color: var(--basecolors-stroke-focus-standard);
184
+ outline-offset: 0.125rem;
251
185
  }
252
- .eds-contrast .eds-form-control-wrapper--success:focus-within {
253
- border-color: var(--components-form-baseform-contrast-border-success);
186
+ .eds-contrast .eds-form-component--radio__container input:focus-visible ~ .eds-form-component--radio__radio {
187
+ outline-color: var(--basecolors-stroke-focus-contrast);
254
188
  }
255
- .eds-form-control-wrapper--error, .eds-form-control-wrapper--negative {
256
- border-color: var(--components-form-baseform-standard-border-negative);
189
+ .eds-form-component--radio__container .eds-form-component--radio__radio {
190
+ position: relative;
191
+ height: 1.25rem;
192
+ width: 1.25rem;
193
+ margin-right: 1rem;
194
+ background-color: var(--components-form-radio-standard-fill-default);
195
+ border: 0.125rem solid var(--components-form-radio-standard-border);
196
+ border-radius: 50%;
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: center;
257
200
  }
258
- .eds-form-control-wrapper--error:focus-within, .eds-form-control-wrapper--negative:focus-within {
259
- border-color: var(--components-form-baseform-standard-border-negative);
201
+ .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio {
202
+ background-color: var(--components-form-radio-contrast-fill-default);
203
+ border-color: var(--components-form-radio-contrast-border);
260
204
  }
261
- .eds-contrast .eds-form-control-wrapper--error, .eds-contrast .eds-form-control-wrapper--negative {
262
- border-color: var(--components-form-baseform-contrast-border-negative);
205
+ .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled {
206
+ background: var(--components-form-baseform-contrast-fill-disabled);
207
+ border-color: var(--components-form-baseform-contrast-text-disabled);
208
+ cursor: not-allowed;
263
209
  }
264
- .eds-contrast .eds-form-control-wrapper--error:focus-within, .eds-contrast .eds-form-control-wrapper--negative:focus-within {
265
- border-color: var(--components-form-baseform-contrast-border-negative);
210
+ .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled:hover {
211
+ border-color: var(--components-form-baseform-contrast-text-disabled);
266
212
  }
267
- .eds-contrast .eds-form-control .eds-tooltip {
268
- background: var(--components-tooltip-tooltip-standard-fill);
269
- color: var(--components-tooltip-tooltip-standard-text);
270
- box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
213
+ .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled {
214
+ background: var(--components-form-baseform-contrast-fill-disabled);
215
+ border-color: var(--components-form-baseform-contrast-text-disabled);
271
216
  }
272
- .eds-form-control .eds-tooltip::after {
273
- background: var(--components-tooltip-tooltip-standard-fill);
217
+ .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled ~ .eds-form-component--radio__label {
218
+ color: var(--components-form-baseform-contrast-text-disabled);
274
219
  }
275
-
276
- .eds-form-control {
220
+ .eds-form-component--radio__container .eds-form-component--radio__radio .eds-form-component--radio__circle {
277
221
  display: block;
278
- -webkit-appearance: none;
279
- -moz-appearance: none;
280
- appearance: none;
281
- width: 100%;
282
- height: 100%;
283
- padding: 20px 0rem 0.25rem;
284
- font-family: inherit;
285
- font-size: 1rem;
286
- line-height: 1rem;
287
- border: 0;
288
- color: var(--components-form-baseform-standard-text-content);
289
- background-color: transparent;
290
- }
291
- .eds-form-control::-moz-placeholder {
292
- opacity: 0;
293
- -moz-transition: opacity 0.2s ease-in-out;
294
- transition: opacity 0.2s ease-in-out;
295
- }
296
- .eds-form-control::placeholder {
297
- opacity: 0;
298
- transition: opacity 0.2s ease-in-out;
299
- }
300
- .eds-form-control:focus {
301
- outline: none;
302
- }
303
- .eds-form-control:focus::-moz-placeholder {
304
- opacity: 1;
305
- }
306
- .eds-form-control:focus::placeholder {
307
- opacity: 1;
308
- }
309
- .eds-form-control__prepend, .eds-form-control__append {
310
- position: relative;
311
- line-height: inherit;
312
- }
313
- .eds-form-control__prepend--tooltip, .eds-form-control__append--tooltip {
314
- all: unset;
315
- position: absolute;
316
- display: flex;
317
- align-items: center;
318
- justify-content: center;
319
- height: 1.5rem;
320
- width: 1.5rem;
321
- right: -2rem;
322
- border-radius: 100%;
323
- color: var(--primary-text-color);
324
- cursor: pointer;
325
- }
326
- .eds-form-control__prepend {
327
- margin-right: 0.75rem;
328
- margin-left: 0;
222
+ width: 0;
223
+ height: 0;
224
+ border-radius: 50%;
225
+ background-color: var(--components-form-radio-standard-fill-selected);
226
+ transition: width 0.1s ease-in-out, height 0.1s ease-in-out;
329
227
  }
330
- .eds-form-control__append {
331
- margin-right: 0;
332
- margin-left: 0.75rem;
228
+ .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio .eds-form-component--radio__circle {
229
+ background-color: var(--components-form-radio-contrast-icon);
333
230
  }
334
231
  /* DO NOT CHANGE!*/
335
232
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
@@ -404,211 +301,281 @@
404
301
  .eds-contrast .eds-feedback-text__icon--warning circle {
405
302
  fill: var(--components-form-feedbacktext-warning-contrast-icon-symbol);
406
303
  }
407
- .eds-fieldset {
408
- margin: 0;
409
- padding: 0;
410
- border: 0;
411
- }
412
304
  /* DO NOT CHANGE!*/
413
305
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
414
- .eds-switch {
415
- cursor: pointer;
306
+ .eds-input-group {
307
+ color: inherit;
308
+ display: block;
309
+ position: relative;
310
+ }
311
+ .eds-input-group__label {
312
+ color: var(--components-form-baseform-standard-text-label);
313
+ display: flex;
314
+ font-size: 1rem;
315
+ position: absolute;
316
+ line-height: 1rem;
317
+ height: 3rem;
318
+ padding-left: 0;
319
+ top: 1rem;
320
+ transition: top 0.2s ease-in-out, font-size 0.2s ease-in-out, padding 0.2s ease-in-out, line-height ease-in-out 0.2s;
416
321
  -webkit-user-select: none;
417
322
  -moz-user-select: none;
418
323
  user-select: none;
419
- padding: 0.5rem 0;
420
- width: -moz-fit-content;
421
- width: fit-content;
422
- }
423
- .eds-switch input {
424
- opacity: 0;
425
324
  pointer-events: none;
426
- position: absolute;
427
325
  }
428
- .eds-switch--right {
429
- display: flex;
430
- flex-direction: row;
431
- align-items: center;
326
+ .eds-form-control-wrapper--is-filled .eds-input-group__label {
327
+ top: 0.375rem;
328
+ font-size: 0.75rem;
329
+ line-height: 0.75rem;
330
+ height: 10px;
331
+ padding: 0;
432
332
  }
433
- .eds-switch--bottom {
333
+ .eds-textarea__label .eds-form-control-wrapper--is-filled .eds-input-group__label {
334
+ box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
335
+ background: var(--textarea-label-background);
336
+ width: calc(100% - 1rem - 1rem - 4px);
337
+ }
338
+ .eds-form-control-wrapper--is-filled.eds-form-control-wrapper--size-large .eds-input-group__label {
339
+ top: 0.5rem;
340
+ font-size: 0.875rem;
341
+ line-height: 1rem;
342
+ padding: 0;
343
+ }
344
+ .eds-form-control-wrapper--size-large .eds-input-group__label {
345
+ top: 0.75rem;
346
+ font-size: 1.5rem;
347
+ line-height: 2.25rem;
348
+ }
349
+ .eds-input-group__label--filled {
350
+ top: 0.375rem;
351
+ font-size: 0.75rem;
352
+ line-height: 0.75rem;
353
+ height: 10px;
354
+ padding: 0;
355
+ }
356
+ .eds-textarea__label .eds-input-group__label--filled {
357
+ box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
358
+ background: var(--textarea-label-background);
359
+ width: calc(100% - 1rem - 1rem - 4px);
360
+ }
361
+ .eds-form-control-wrapper--size-large .eds-input-group__label--filled {
362
+ top: 0.5rem;
363
+ font-size: 0.875rem;
364
+ line-height: 1rem;
365
+ padding: 0;
366
+ }
367
+
368
+ .eds-form-control-wrapper:focus-within .eds-input-group__label {
369
+ top: 0.375rem;
370
+ font-size: 0.75rem;
371
+ line-height: 0.75rem;
372
+ height: 10px;
373
+ padding: 0;
374
+ }
375
+ .eds-textarea__label .eds-form-control-wrapper:focus-within .eds-input-group__label {
376
+ box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
377
+ background: var(--textarea-label-background);
378
+ width: calc(100% - 1rem - 1rem - 4px);
379
+ }
380
+ .eds-form-control-wrapper--size-large:focus-within .eds-input-group__label {
381
+ top: 0.5rem;
382
+ font-size: 0.875rem;
383
+ line-height: 1rem;
384
+ padding: 0;
385
+ }
386
+ /* DO NOT CHANGE!*/
387
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
388
+ .eds-form-control__field-and-feedback-text {
434
389
  display: flex;
435
390
  flex-direction: column;
436
- align-items: center;
391
+ height: -moz-fit-content;
392
+ height: fit-content;
393
+ width: 100%;
437
394
  }
438
- .eds-switch__circle {
439
- border-radius: 50%;
440
- height: 1.25rem;
441
- width: 1.25rem;
442
- content: "";
395
+ .eds-form-control__field-and-feedback-text--has-tooltip {
396
+ padding-right: 2rem;
397
+ }
398
+ .eds-form-control-wrapper {
443
399
  display: flex;
444
400
  align-items: center;
445
- justify-content: center;
446
- transition: left 0.1s ease-in-out, background-color 0.1s ease-in-out;
447
- box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
448
- background-color: var(--components-form-switch-standard-switch);
449
- top: 0.125rem;
450
- left: 0.125rem;
451
401
  position: relative;
402
+ flex: 1;
403
+ min-height: 3rem;
404
+ padding-left: 1rem;
405
+ padding-right: 1rem;
406
+ background-color: var(--components-form-baseform-standard-fill-default);
407
+ border-radius: 0.25rem;
408
+ border: 0.125rem solid var(--components-form-baseform-standard-border-default);
409
+ box-shadow: 0 0 0 transparent;
410
+ color: var(--components-form-baseform-standard-text-content);
411
+ transition: border-color 0.1s ease-in-out;
452
412
  }
453
- .eds-switch__switch--large .eds-switch__circle {
454
- height: 1.75rem;
455
- width: 1.75rem;
456
- }
457
- .eds-contrast .eds-switch__circle {
458
- box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.5);
413
+ .eds-form-control-wrapper:hover {
414
+ border-color: var(--components-form-baseform-standard-border-interactive);
459
415
  }
460
- .eds-switch__switch {
461
- position: relative;
462
- background-color: var(--components-form-switch-standard-fill-false);
463
- content: "";
464
- display: block;
465
- transition: background-color 0.1s ease-in-out;
466
- height: 1.5rem;
467
- width: 3rem;
468
- border-radius: 1.5rem;
469
- box-shadow: inset 0px 2px 2px -1px rgba(0, 0, 0, 0.1);
416
+ .eds-contrast .eds-form-control-wrapper:hover {
417
+ border-color: var(--components-form-baseform-contrast-border-interactive);
470
418
  }
471
- .eds-contrast .eds-switch__switch {
472
- background-color: var(--components-form-switch-contrast-fill-false);
419
+ .eds-form-control-wrapper:focus-within {
420
+ border-color: var(--components-form-baseform-standard-border-interactive);
421
+ outline: 2px solid var(--components-form-baseform-standard-border-interactive);
473
422
  }
474
- .eds-switch--right .eds-switch__switch {
475
- margin-right: 0.75rem;
423
+ .eds-contrast .eds-form-control-wrapper:focus-within {
424
+ border-color: var(--components-form-baseform-contrast-border-interactive);
425
+ outline-color: var(--components-form-baseform-contrast-border-interactive);
476
426
  }
477
- .eds-switch__switch svg g,
478
- .eds-switch__switch path {
479
- fill: var(--components-form-switch-standard-icon-false);
480
- transition: fill ease-in-out 0.1s;
427
+ .eds-form-control-wrapper ::-moz-placeholder {
428
+ color: var(--components-form-baseform-standard-text-label);
481
429
  }
482
- .eds-contrast .eds-switch__switch svg g,
483
- .eds-contrast .eds-switch__switch path {
484
- fill: var(--components-form-switch-contrast-icon-false);
430
+ .eds-form-control-wrapper ::placeholder {
431
+ color: var(--components-form-baseform-standard-text-label);
485
432
  }
486
- :checked + .eds-switch__switch {
487
- background-color: var(--eds-switch-color);
433
+ .eds-form-control-wrapper--disabled {
434
+ border-color: transparent;
435
+ background-color: var(--components-form-baseform-standard-fill-disabled);
436
+ pointer-events: none;
437
+ color: var(--components-form-baseform-standard-text-disabled);
488
438
  }
489
- :checked + .eds-switch__switch .eds-switch__circle {
490
- left: 1.625rem;
439
+ .eds-form-control-wrapper--disabled .eds-input-group__label {
440
+ color: var(--components-form-baseform-standard-text-disabled);
491
441
  }
492
- :checked + .eds-switch__switch .eds-switch__circle svg g,
493
- :checked + .eds-switch__switch .eds-switch__circle path {
494
- fill: var(--eds-switch-color);
442
+ .eds-contrast .eds-form-control-wrapper--disabled {
443
+ border-color: transparent;
444
+ background-color: var(--components-form-baseform-contrast-fill-disabled);
445
+ color: var(--components-form-baseform-contrast-text-disabled);
495
446
  }
496
- .eds-contrast :checked + .eds-switch__switch {
497
- background-color: var(--eds-switch-contrast-color);
447
+ .eds-contrast .eds-form-control-wrapper--disabled .eds-input-group__label {
448
+ color: var(--components-form-baseform-contrast-text-disabled);
498
449
  }
499
- :focus + .eds-switch__switch {
500
- outline: 2px solid #181c56;
501
- outline-color: var(--basecolors-stroke-focus-standard);
502
- outline-offset: 0.125rem;
450
+ .eds-form-control-wrapper--disabled::before, .eds-form-control-wrapper--disabled::after {
451
+ display: none;
503
452
  }
504
- .eds-contrast :focus + .eds-switch__switch {
505
- outline-color: var(--basecolors-stroke-focus-contrast);
453
+ .eds-form-control-wrapper--readonly {
454
+ border-color: transparent;
455
+ pointer-events: none;
456
+ cursor: default;
457
+ background: var(--components-form-baseform-standard-fill-readonly);
458
+ border: var(--components-form-baseform-standard-fill-readonly);
506
459
  }
507
- .eds-switch__switch--large {
508
- width: 3.75rem;
509
- height: 2rem;
510
- border-radius: 3.75rem;
460
+ .eds-contrast .eds-form-control-wrapper--readonly {
461
+ background: var(--components-form-baseform-contrast-fill-readonly);
462
+ color: var(--components-form-baseform-contrast-text-description);
463
+ border: var(--components-form-baseform-contrast-fill-readonly);
511
464
  }
512
- :checked + .eds-switch__switch--large .eds-switch__circle {
513
- left: 1.875rem;
465
+ .eds-contrast .eds-form-control-wrapper--readonly .eds-input-group__label {
466
+ color: var(--components-form-baseform-contrast-text-description);
514
467
  }
515
- .eds-switch__switch--large svg {
516
- position: relative;
517
- right: 0.05rem;
468
+ .eds-form-control-wrapper--readonly::before, .eds-form-control-wrapper--readonly::after {
469
+ display: none;
518
470
  }
519
- .eds-switch__label--large--right {
471
+ .eds-form-control-wrapper--size-medium .eds-form-control,
472
+ .eds-form-control-wrapper--size-medium .eds-form-control__append,
473
+ .eds-form-control-wrapper--size-medium .eds-form-control__prepend {
520
474
  font-size: 1rem;
475
+ line-height: 1rem;
521
476
  }
522
- .eds-switch__label--large--bottom {
523
- font-size: 0.875rem;
477
+ .eds-form-control-wrapper--size-large {
478
+ min-height: 4rem;
524
479
  }
525
- .eds-switch__label--medium--right {
526
- font-size: 0.875rem;
480
+ .eds-form-control-wrapper--size-large .eds-form-control,
481
+ .eds-form-control-wrapper--size-large .eds-form-control__append,
482
+ .eds-form-control-wrapper--size-large .eds-form-control__prepend {
483
+ font-size: 1.5rem;
527
484
  }
528
- .eds-switch__label--medium--bottom {
529
- font-size: 0.75rem;
485
+ .eds-form-control-wrapper--success {
486
+ border-color: var(--components-form-baseform-standard-border-success);
530
487
  }
531
- /* DO NOT CHANGE!*/
532
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
533
- .eds-input-group {
534
- color: inherit;
535
- display: block;
536
- position: relative;
488
+ .eds-form-control-wrapper--success:focus-within {
489
+ border-color: var(--components-form-baseform-standard-border-success);
490
+ outline-color: var(--components-form-baseform-standard-border-success);
537
491
  }
538
- .eds-input-group__label {
539
- color: var(--components-form-baseform-standard-text-label);
540
- display: flex;
541
- font-size: 1rem;
542
- position: absolute;
543
- line-height: 1rem;
544
- height: 3rem;
545
- padding-left: 0;
546
- top: 1rem;
547
- transition: top 0.2s ease-in-out, font-size 0.2s ease-in-out, padding 0.2s ease-in-out, line-height ease-in-out 0.2s;
548
- -webkit-user-select: none;
549
- -moz-user-select: none;
550
- user-select: none;
551
- pointer-events: none;
492
+ .eds-contrast .eds-form-control-wrapper--success {
493
+ border-color: var(--components-form-baseform-standard-border-success);
494
+ }
495
+ .eds-contrast .eds-form-control-wrapper--success:focus-within {
496
+ border-color: var(--components-form-baseform-contrast-border-success);
497
+ outline-color: var(--components-form-baseform-contrast-border-success);
498
+ }
499
+ .eds-form-control-wrapper--error, .eds-form-control-wrapper--negative {
500
+ border-color: var(--components-form-baseform-standard-border-negative);
501
+ }
502
+ .eds-form-control-wrapper--error:focus-within, .eds-form-control-wrapper--negative:focus-within {
503
+ border-color: var(--components-form-baseform-standard-border-negative);
504
+ outline-color: var(--components-form-baseform-standard-border-negative);
505
+ }
506
+ .eds-contrast .eds-form-control-wrapper--error, .eds-contrast .eds-form-control-wrapper--negative {
507
+ border-color: var(--components-form-baseform-contrast-border-negative);
508
+ }
509
+ .eds-contrast .eds-form-control-wrapper--error:focus-within, .eds-contrast .eds-form-control-wrapper--negative:focus-within {
510
+ border-color: var(--components-form-baseform-contrast-border-negative);
511
+ outline-color: var(--components-form-baseform-contrast-border-negative);
552
512
  }
553
- .eds-form-control-wrapper--is-filled .eds-input-group__label {
554
- top: 0.375rem;
555
- font-size: 0.75rem;
556
- line-height: 0.75rem;
557
- height: 10px;
558
- padding: 0;
513
+ .eds-contrast .eds-form-control .eds-tooltip {
514
+ background: var(--components-tooltip-tooltip-standard-fill);
515
+ color: var(--components-tooltip-tooltip-standard-text);
516
+ box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
559
517
  }
560
- .eds-textarea__label .eds-form-control-wrapper--is-filled .eds-input-group__label {
561
- box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
562
- background: var(--textarea-label-background);
563
- width: calc(100% - 1rem - 1rem - 4px);
518
+ .eds-form-control .eds-tooltip::after {
519
+ background: var(--components-tooltip-tooltip-standard-fill);
564
520
  }
565
- .eds-form-control-wrapper--is-filled.eds-form-control-wrapper--size-large .eds-input-group__label {
566
- top: 0.5rem;
567
- font-size: 0.875rem;
521
+
522
+ .eds-form-control {
523
+ display: block;
524
+ -webkit-appearance: none;
525
+ -moz-appearance: none;
526
+ appearance: none;
527
+ width: 100%;
528
+ height: 100%;
529
+ padding: 20px 0rem 0.25rem;
530
+ font-family: inherit;
531
+ font-size: 1rem;
568
532
  line-height: 1rem;
569
- padding: 0;
533
+ border: 0;
534
+ color: var(--components-form-baseform-standard-text-content);
535
+ background-color: transparent;
570
536
  }
571
- .eds-form-control-wrapper--size-large .eds-input-group__label {
572
- top: 0.75rem;
573
- font-size: 1.5rem;
574
- line-height: 2.25rem;
537
+ .eds-form-control::-moz-placeholder {
538
+ opacity: 0;
539
+ -moz-transition: opacity 0.2s ease-in-out;
540
+ transition: opacity 0.2s ease-in-out;
575
541
  }
576
- .eds-input-group__label--filled {
577
- top: 0.375rem;
578
- font-size: 0.75rem;
579
- line-height: 0.75rem;
580
- height: 10px;
581
- padding: 0;
542
+ .eds-form-control::placeholder {
543
+ opacity: 0;
544
+ transition: opacity 0.2s ease-in-out;
582
545
  }
583
- .eds-textarea__label .eds-input-group__label--filled {
584
- box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
585
- background: var(--textarea-label-background);
586
- width: calc(100% - 1rem - 1rem - 4px);
546
+ .eds-form-control:focus {
547
+ outline: none;
587
548
  }
588
- .eds-form-control-wrapper--size-large .eds-input-group__label--filled {
589
- top: 0.5rem;
590
- font-size: 0.875rem;
591
- line-height: 1rem;
592
- padding: 0;
549
+ .eds-form-control:focus::-moz-placeholder {
550
+ opacity: 1;
593
551
  }
594
-
595
- .eds-form-control-wrapper:focus-within .eds-input-group__label {
596
- top: 0.375rem;
597
- font-size: 0.75rem;
598
- line-height: 0.75rem;
599
- height: 10px;
600
- padding: 0;
552
+ .eds-form-control:focus::placeholder {
553
+ opacity: 1;
601
554
  }
602
- .eds-textarea__label .eds-form-control-wrapper:focus-within .eds-input-group__label {
603
- box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
604
- background: var(--textarea-label-background);
605
- width: calc(100% - 1rem - 1rem - 4px);
555
+ .eds-form-control__prepend, .eds-form-control__append {
556
+ position: relative;
557
+ line-height: inherit;
606
558
  }
607
- .eds-form-control-wrapper--size-large:focus-within .eds-input-group__label {
608
- top: 0.5rem;
609
- font-size: 0.875rem;
610
- line-height: 1rem;
611
- padding: 0;
559
+ .eds-form-control__prepend--tooltip, .eds-form-control__append--tooltip {
560
+ all: unset;
561
+ position: absolute;
562
+ display: flex;
563
+ align-items: center;
564
+ justify-content: center;
565
+ height: 1.5rem;
566
+ width: 1.5rem;
567
+ right: -2rem;
568
+ border-radius: 100%;
569
+ color: var(--primary-text-color);
570
+ cursor: pointer;
571
+ }
572
+ .eds-form-control__prepend {
573
+ margin-right: 0.75rem;
574
+ margin-left: 0;
575
+ }
576
+ .eds-form-control__append {
577
+ margin-right: 0;
578
+ margin-left: 0.75rem;
612
579
  }
613
580
  /* DO NOT CHANGE!*/
614
581
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
@@ -776,94 +743,131 @@
776
743
  }
777
744
  /* DO NOT CHANGE!*/
778
745
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
779
- .eds-form-component--radio__container {
780
- display: flex;
781
- justify-content: center;
782
- align-items: center;
783
- position: relative;
746
+ .eds-switch {
784
747
  cursor: pointer;
785
- height: 2rem;
786
- width: -moz-fit-content;
787
- width: fit-content;
788
748
  -webkit-user-select: none;
789
749
  -moz-user-select: none;
790
750
  user-select: none;
751
+ padding: 0.5rem 0;
752
+ width: -moz-fit-content;
753
+ width: fit-content;
791
754
  }
792
- .eds-form-component--radio__container :hover ~ .eds-form-component--radio__radio {
793
- background-color: var(--components-form-radio-standard-fill-hover);
794
- }
795
- .eds-contrast .eds-form-component--radio__container :hover ~ .eds-form-component--radio__radio {
796
- background-color: var(--components-form-radio-contrast-fill-hover);
797
- }
798
- .eds-form-component--radio__container input {
799
- position: absolute;
755
+ .eds-switch input {
800
756
  opacity: 0;
801
- cursor: pointer;
802
- height: 0;
803
- width: 0;
804
- }
805
- .eds-form-component--radio__container input:checked ~ .eds-form-component--radio__radio .eds-form-component--radio__circle {
806
- height: 0.625rem;
807
- width: 0.625rem;
757
+ pointer-events: none;
758
+ position: absolute;
808
759
  }
809
- .eds-form-component--radio__container input:focus ~ .eds-form-component--radio__radio {
810
- outline: 2px solid #181c56;
811
- outline-color: var(--basecolors-stroke-focus-standard);
812
- outline-offset: 0.125rem;
760
+ .eds-switch--right {
761
+ display: flex;
762
+ flex-direction: row;
763
+ align-items: center;
813
764
  }
814
- .eds-contrast .eds-form-component--radio__container input:focus ~ .eds-form-component--radio__radio {
815
- outline-color: var(--basecolors-stroke-focus-contrast);
765
+ .eds-switch--bottom {
766
+ display: flex;
767
+ flex-direction: column;
768
+ align-items: center;
816
769
  }
817
- .eds-form-component--radio__container .eds-form-component--radio__radio {
818
- position: relative;
770
+ .eds-switch__circle {
771
+ border-radius: 50%;
819
772
  height: 1.25rem;
820
773
  width: 1.25rem;
821
- margin-right: 1rem;
822
- background-color: var(--components-form-radio-standard-fill-default);
823
- border: 0.125rem solid var(--components-form-radio-standard-border);
824
- border-radius: 50%;
774
+ content: "";
825
775
  display: flex;
826
776
  align-items: center;
827
777
  justify-content: center;
778
+ transition: left 0.1s ease-in-out, background-color 0.1s ease-in-out;
779
+ box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
780
+ background-color: var(--components-form-switch-standard-switch);
781
+ top: 0.125rem;
782
+ left: 0.125rem;
783
+ position: relative;
828
784
  }
829
- .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio {
830
- background-color: var(--components-form-radio-contrast-fill-default);
831
- border-color: var(--components-form-radio-contrast-border);
785
+ .eds-switch__switch--large .eds-switch__circle {
786
+ height: 1.75rem;
787
+ width: 1.75rem;
832
788
  }
833
- .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled {
834
- background: var(--components-form-baseform-contrast-fill-disabled);
835
- border-color: var(--components-form-baseform-contrast-text-disabled);
836
- cursor: not-allowed;
789
+ .eds-contrast .eds-switch__circle {
790
+ box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.5);
837
791
  }
838
- .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled:hover {
839
- border-color: var(--components-form-baseform-contrast-text-disabled);
792
+ .eds-switch__switch {
793
+ position: relative;
794
+ background-color: var(--components-form-switch-standard-fill-false);
795
+ content: "";
796
+ display: block;
797
+ transition: background-color 0.1s ease-in-out;
798
+ height: 1.5rem;
799
+ width: 3rem;
800
+ border-radius: 1.5rem;
801
+ box-shadow: inset 0px 2px 2px -1px rgba(0, 0, 0, 0.1);
840
802
  }
841
- .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled {
842
- background: var(--components-form-baseform-contrast-fill-disabled);
843
- border-color: var(--components-form-baseform-contrast-text-disabled);
803
+ .eds-contrast .eds-switch__switch {
804
+ background-color: var(--components-form-switch-contrast-fill-false);
844
805
  }
845
- .eds-form-component--radio__container .eds-form-component--radio__radio.eds-form-component--radio__radio--disabled ~ .eds-form-component--radio__label {
846
- color: var(--components-form-baseform-contrast-text-disabled);
806
+ .eds-switch--right .eds-switch__switch {
807
+ margin-right: 0.75rem;
847
808
  }
848
- .eds-form-component--radio__container .eds-form-component--radio__radio .eds-form-component--radio__circle {
849
- display: block;
850
- width: 0;
851
- height: 0;
852
- border-radius: 50%;
853
- background-color: var(--components-form-radio-standard-fill-selected);
854
- transition: width 0.1s ease-in-out, height 0.1s ease-in-out;
809
+ .eds-switch__switch svg g,
810
+ .eds-switch__switch path {
811
+ fill: var(--components-form-switch-standard-icon-false);
812
+ transition: fill ease-in-out 0.1s;
855
813
  }
856
- .eds-contrast .eds-form-component--radio__container .eds-form-component--radio__radio .eds-form-component--radio__circle {
857
- background-color: var(--components-form-radio-contrast-icon);
814
+ .eds-contrast .eds-switch__switch svg g,
815
+ .eds-contrast .eds-switch__switch path {
816
+ fill: var(--components-form-switch-contrast-icon-false);
817
+ }
818
+ :checked + .eds-switch__switch {
819
+ background-color: var(--eds-switch-color);
820
+ }
821
+ :checked + .eds-switch__switch .eds-switch__circle {
822
+ left: 1.625rem;
823
+ }
824
+ :checked + .eds-switch__switch .eds-switch__circle svg g,
825
+ :checked + .eds-switch__switch .eds-switch__circle path {
826
+ fill: var(--eds-switch-color);
827
+ }
828
+ .eds-contrast :checked + .eds-switch__switch {
829
+ background-color: var(--eds-switch-contrast-color);
830
+ }
831
+ :focus-visible + .eds-switch__switch {
832
+ outline: 2px solid #181c56;
833
+ outline-color: var(--basecolors-stroke-focus-standard);
834
+ outline-offset: 0.125rem;
835
+ }
836
+ .eds-contrast :focus-visible + .eds-switch__switch {
837
+ outline-color: var(--basecolors-stroke-focus-contrast);
838
+ }
839
+ .eds-switch__switch--large {
840
+ width: 3.75rem;
841
+ height: 2rem;
842
+ border-radius: 3.75rem;
843
+ }
844
+ :checked + .eds-switch__switch--large .eds-switch__circle {
845
+ left: 1.875rem;
846
+ }
847
+ .eds-switch__switch--large svg {
848
+ position: relative;
849
+ right: 0.05rem;
850
+ }
851
+ .eds-switch__label--large--right {
852
+ font-size: 1rem;
853
+ }
854
+ .eds-switch__label--large--bottom {
855
+ font-size: 0.875rem;
856
+ }
857
+ .eds-switch__label--medium--right {
858
+ font-size: 0.875rem;
859
+ }
860
+ .eds-switch__label--medium--bottom {
861
+ font-size: 0.75rem;
858
862
  }
859
863
  /* DO NOT CHANGE!*/
860
864
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
861
- .eds-input-panel:focus-within .eds-input-panel__container {
865
+ .eds-input-panel:has(:focus-visible) .eds-input-panel__container {
862
866
  outline: 2px solid #181c56;
863
867
  outline-color: var(--basecolors-stroke-focus-standard);
864
868
  outline-offset: 0.125rem;
865
869
  }
866
- .eds-contrast .eds-input-panel:focus-within .eds-input-panel__container {
870
+ .eds-contrast .eds-input-panel:has(:focus-visible) .eds-input-panel__container {
867
871
  outline-color: var(--basecolors-stroke-focus-contrast);
868
872
  }
869
873
  .eds-input-panel > input {
@@ -1022,7 +1026,7 @@ input:disabled + .eds-input-panel__container {
1022
1026
  .eds-textfield__clear-button:hover {
1023
1027
  background: var(--components-form-basepanel-standard-fill-hover);
1024
1028
  }
1025
- .eds-textfield__clear-button:focus {
1029
+ .eds-textfield__clear-button:focus-visible {
1026
1030
  outline: 2px solid #181c56;
1027
1031
  outline-color: var(--basecolors-stroke-focus-standard);
1028
1032
  outline-offset: 0.125rem;
@@ -1112,20 +1116,20 @@ input:disabled + .eds-input-panel__container {
1112
1116
  box-shadow: 0 0.0625rem 0.1875rem rgb(57, 61, 121);
1113
1117
  color: var(--components-form-segmentedcontrol-contrast-text-selected);
1114
1118
  }
1115
- .eds-segmented-choice input:focus:not(:checked) + .eds-base-segmented {
1119
+ .eds-segmented-choice input:focus-visible:not(:checked) + .eds-base-segmented {
1116
1120
  outline: 2px solid #181c56;
1117
1121
  outline-color: var(--basecolors-stroke-focus-standard);
1118
1122
  outline-offset: 0.125rem;
1119
1123
  }
1120
- .eds-contrast .eds-segmented-choice input:focus:not(:checked) + .eds-base-segmented {
1124
+ .eds-contrast .eds-segmented-choice input:focus-visible:not(:checked) + .eds-base-segmented {
1121
1125
  outline-color: var(--basecolors-stroke-focus-contrast);
1122
1126
  }
1123
- .eds-segmented-choice input:focus:checked + .eds-base-segmented {
1127
+ .eds-segmented-choice input:focus-visible:checked + .eds-base-segmented {
1124
1128
  outline: 2px solid #181c56;
1125
1129
  outline-color: var(--basecolors-stroke-focus-standard);
1126
1130
  outline-offset: 0.125rem;
1127
1131
  }
1128
- .eds-contrast .eds-segmented-choice input:focus:checked + .eds-base-segmented {
1132
+ .eds-contrast .eds-segmented-choice input:focus-visible:checked + .eds-base-segmented {
1129
1133
  outline-color: var(--basecolors-stroke-focus-contrast);
1130
1134
  }
1131
1135
  /* DO NOT CHANGE!*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/form",
3
- "version": "8.1.10",
3
+ "version": "8.2.0",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/form.esm.js",
@@ -27,16 +27,16 @@
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/button": "^3.2.38",
30
+ "@entur/button": "^3.3.0",
31
31
  "@entur/icons": "^7.6.0",
32
32
  "@entur/tokens": "^3.17.5",
33
- "@entur/tooltip": "^5.1.6",
34
- "@entur/typography": "^1.8.51",
33
+ "@entur/tooltip": "^5.2.0",
34
+ "@entur/typography": "^1.9.0",
35
35
  "@entur/utils": "^0.12.2",
36
36
  "classnames": "^2.3.1"
37
37
  },
38
38
  "devDependencies": {
39
39
  "dts-cli": "2.0.5"
40
40
  },
41
- "gitHead": "1a989376d61ab59a8c554a9cab733039aef8b2eb"
41
+ "gitHead": "2a0e12f4ccbc65c2c8a115690b4895ff01ee7f06"
42
42
  }