@bytebrand/fe-ui-core-autobahn 1.0.153 → 1.0.154
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.
- package/package.json +1 -1
- package/theme/md3.css +61 -1
- package/ui/MfieldCheckIcon.tsx +13 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bytebrand/fe-ui-core-autobahn",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.154",
|
|
4
4
|
"description": "auto.de md3 (Autobahn) design system — UI primitives, cards, chrome, VDP modules, theme CSS and locales. Ships raw TypeScript source (like fe-ui-core before it); each consumer's bundler compiles it.",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"license": "UNLICENSED",
|
package/theme/md3.css
CHANGED
|
@@ -1491,6 +1491,10 @@ line-height: 31px;
|
|
|
1491
1491
|
line-height: 15px;
|
|
1492
1492
|
color: #44464F;
|
|
1493
1493
|
margin-bottom: 2px;
|
|
1494
|
+
/* long submodels (e.g. "C4 1.2 Plus/Rückfahrkamera/Sitzheizung/Tempomat") use "/" instead of
|
|
1495
|
+
spaces between items, so the browser's default word-wrap sees one unbreakable "word" and
|
|
1496
|
+
overflows past the 296px aside instead of wrapping (ADV-238). */
|
|
1497
|
+
overflow-wrap: break-word;
|
|
1494
1498
|
}
|
|
1495
1499
|
.md3 .co-aside-finance {
|
|
1496
1500
|
font-family: 'Arial';
|
|
@@ -2923,6 +2927,13 @@ line-height: 31px;
|
|
|
2923
2927
|
height: 48px;
|
|
2924
2928
|
padding: 0 40px 0 10px;
|
|
2925
2929
|
}
|
|
2930
|
+
/* ADV-238: mandatory-but-empty Geburtsdatum must show the same red border as the other
|
|
2931
|
+
required fields. Same specificity as the rule above (two classes) so it only wins because
|
|
2932
|
+
it comes later in source order — .co-personal-grid .mfield--error can't reach in here, its
|
|
2933
|
+
border gets overridden by .co-birthdate .mfield right above for the same reason. */
|
|
2934
|
+
.md3 .co-birthdate .mfield--error {
|
|
2935
|
+
border: 1px solid #BA1A1A;
|
|
2936
|
+
}
|
|
2926
2937
|
/* on-the-border notch, matching .mfield-label--notch exactly (same mechanic as Vorwahl/
|
|
2927
2938
|
Telefonnummer's own label) instead of the earlier stacked-inside-the-box layout. */
|
|
2928
2939
|
.md3 .co-birthdate .mfield-label {
|
|
@@ -3090,6 +3101,25 @@ line-height: 31px;
|
|
|
3090
3101
|
.md3 .co-borrower-relationship .mselect-btn {
|
|
3091
3102
|
position: relative;
|
|
3092
3103
|
}
|
|
3104
|
+
/* ADV-240 QA (comment 35891): mandatory-but-empty red border — Dropdown has no built-in visual
|
|
3105
|
+
error state, so this keys off the `is-error` wrapper class PaymentDetailsNext.tsx adds. Three
|
|
3106
|
+
classes deep so it outranks both the base .mselect-btn idle box-shadow and this file's own
|
|
3107
|
+
.co-borrower-relationship .mselect-btn above without needing !important. */
|
|
3108
|
+
.md3 .co-borrower-relationship.is-error .mselect-btn {
|
|
3109
|
+
box-shadow: inset 0 0 0 1px #BA1A1A;
|
|
3110
|
+
}
|
|
3111
|
+
/* same chevron glyph as the ::after above, just stroke='%23BA1A1A' (red) instead of '%23005CFF'. */
|
|
3112
|
+
.md3 .co-borrower-relationship.is-error .mselect-btn::after {
|
|
3113
|
+
background-image: url("data:image/svg+xml,%3Csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M4%206L8%2010L12%206'%20stroke='%23BA1A1A'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
3114
|
+
}
|
|
3115
|
+
/* .co-borrower-relationship .mselect-btn:hover below is the SAME specificity (3 classes) as the
|
|
3116
|
+
.is-error border rule above and comes later in the file, so hovering an errored field was
|
|
3117
|
+
winning the box-shadow back to idle gray. One more class (:hover added to .is-error's own
|
|
3118
|
+
selector) outranks it regardless of source order — same fix shape as the co-birthdate
|
|
3119
|
+
:focus-within override above. */
|
|
3120
|
+
.md3 .co-borrower-relationship.is-error .mselect-btn:hover {
|
|
3121
|
+
box-shadow: inset 0 0 0 1px #BA1A1A;
|
|
3122
|
+
}
|
|
3093
3123
|
.md3 .co-borrower-relationship .mselect-btn:hover {
|
|
3094
3124
|
box-shadow: inset 0 0 0 1px var(--md-outline-variant);
|
|
3095
3125
|
}
|
|
@@ -3558,6 +3588,35 @@ line-height: 31px;
|
|
|
3558
3588
|
color: #1A1B22;
|
|
3559
3589
|
background: #FFFFFF;
|
|
3560
3590
|
}
|
|
3591
|
+
/* ADV-249 QA: Lieferadresse's "Abweichende Lieferadresse" form had no validation at all — this
|
|
3592
|
+
is its red error state, same red as .co-error (--md-error). Each field is now wrapped in
|
|
3593
|
+
.co-addr-form-item (the actual grid cell) so a per-field hint can sit directly under its own
|
|
3594
|
+
input instead of one generic message for the whole form. */
|
|
3595
|
+
.md3 .co-addr-form-item {
|
|
3596
|
+
display: flex;
|
|
3597
|
+
flex-direction: column;
|
|
3598
|
+
gap: 4px;
|
|
3599
|
+
min-width: 0;
|
|
3600
|
+
}
|
|
3601
|
+
.md3 .co-addr-form-field.is-error {
|
|
3602
|
+
border-color: var(--md-error);
|
|
3603
|
+
}
|
|
3604
|
+
/* native focus outline stacked on top of the red border looked like two rings at once
|
|
3605
|
+
(browser default blue + our red) — same inset-ring swap as .mtextarea:focus, red instead of
|
|
3606
|
+
blue while the field is still invalid. */
|
|
3607
|
+
.md3 .co-addr-form-field:focus {
|
|
3608
|
+
outline: 0;
|
|
3609
|
+
box-shadow: inset 0 0 0 2px #005CFF;
|
|
3610
|
+
}
|
|
3611
|
+
.md3 .co-addr-form-field.is-error:focus {
|
|
3612
|
+
box-shadow: inset 0 0 0 2px var(--md-error);
|
|
3613
|
+
}
|
|
3614
|
+
.md3 .co-addr-field-hint {
|
|
3615
|
+
color: var(--md-error);
|
|
3616
|
+
font-family: 'Arimo';
|
|
3617
|
+
font-size: 12px;
|
|
3618
|
+
line-height: 14px;
|
|
3619
|
+
}
|
|
3561
3620
|
.md3 .co-addr-form-actions {
|
|
3562
3621
|
grid-column: 1 / -1;
|
|
3563
3622
|
display: flex;
|
|
@@ -6419,7 +6478,8 @@ a.oo-warranty-link--icon:hover {
|
|
|
6419
6478
|
.md3 .enq-float input:focus-visible,
|
|
6420
6479
|
.md3 .enq-float textarea:focus-visible,
|
|
6421
6480
|
.md3 .enquiry-name-row input:focus-visible,
|
|
6422
|
-
.md3 .enquiry-email-wrap input:focus-visible
|
|
6481
|
+
.md3 .enquiry-email-wrap input:focus-visible,
|
|
6482
|
+
.md3 .co-addr-form-field:focus-visible {
|
|
6423
6483
|
box-shadow: none !important;
|
|
6424
6484
|
}
|
|
6425
6485
|
.md3 .link-accent {
|
package/ui/MfieldCheckIcon.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
// Figma-exact valid-field checkmark (.mfield-ok, FormField/MdField's showValid) — a distinct
|
|
4
|
-
// path/stroke from the generic lucide Check that Icon name="check" renders elsewhere, so it's
|
|
5
|
-
// its own tiny component rather than a REGISTRY entry in Icon.tsx (which would change every
|
|
6
|
-
// other "check" usage in the app too).
|
|
7
|
-
const MfieldCheckIcon: React.FunctionComponent = () => (
|
|
8
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
9
|
-
<path d="M13.3334 4L6.00002 11.3333L2.66669 8" stroke="#168A45" strokeWidth={2} strokeLinecap="round" strokeLinejoin="round" />
|
|
10
|
-
</svg>
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
export default MfieldCheckIcon;
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
// Figma-exact valid-field checkmark (.mfield-ok, FormField/MdField's showValid) — a distinct
|
|
4
|
+
// path/stroke from the generic lucide Check that Icon name="check" renders elsewhere, so it's
|
|
5
|
+
// its own tiny component rather than a REGISTRY entry in Icon.tsx (which would change every
|
|
6
|
+
// other "check" usage in the app too).
|
|
7
|
+
const MfieldCheckIcon: React.FunctionComponent = () => (
|
|
8
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
9
|
+
<path d="M13.3334 4L6.00002 11.3333L2.66669 8" stroke="#168A45" strokeWidth={2} strokeLinecap="round" strokeLinejoin="round" />
|
|
10
|
+
</svg>
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export default MfieldCheckIcon;
|