@bytebrand/fe-ui-core-autobahn 1.0.92 → 1.0.93
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/cards/CarRow.tsx +1 -1
- package/compat/CookieModal/Modal.tsx +6 -22
- package/constants/RateSearchWidget.ts +3 -2
- package/constants/Search.ts +3 -1
- package/package.json +1 -1
- package/theme/md3.css +15 -2
package/cards/CarRow.tsx
CHANGED
|
@@ -176,7 +176,7 @@ const CarRow: React.FunctionComponent<CarRowProps> = ({
|
|
|
176
176
|
availability/Geprüft pill (not present in the Figma "mcard" export). */}
|
|
177
177
|
<div
|
|
178
178
|
className="hide-mobile"
|
|
179
|
-
style={{ position: 'absolute', bottom:
|
|
179
|
+
style={{ position: 'absolute', bottom: 20, left: 12, zIndex: 3, display: 'flex', alignItems: 'center', gap: 6 }}
|
|
180
180
|
>
|
|
181
181
|
{car.photos > 1 && (
|
|
182
182
|
<span className="mcard-photo-chip">
|
|
@@ -2,18 +2,8 @@
|
|
|
2
2
|
// BaseModalWrapper is replaced by a plain fixed overlay + centered surface.
|
|
3
3
|
// Deliberately NOT the kit ui/Modal — the cookie consent dialog has no title
|
|
4
4
|
// bar / close button and must not be dismissible without a choice.
|
|
5
|
-
//
|
|
6
|
-
// Rendered via ReactDOM.createPortal into document.body (same technique as
|
|
7
|
-
// ui/Modal.tsx) rather than inline in the page tree: a React hydration-mismatch
|
|
8
|
-
// error ANYWHERE else on the page (a known, separate bug — see the
|
|
9
|
-
// SearchNextPage isMobile SSR/CSR mismatch) can corrupt sibling reconciliation
|
|
10
|
-
// enough that an inline `position: fixed` overlay ends up mounted in the wrong
|
|
11
|
-
// place in the DOM (observed: appearing as plain content below the footer
|
|
12
|
-
// instead of as an overlay). A body-level portal is immune to that — its DOM
|
|
13
|
-
// node never lives inside the page's own React subtree.
|
|
14
5
|
|
|
15
6
|
import * as React from 'react';
|
|
16
|
-
import * as ReactDOM from 'react-dom';
|
|
17
7
|
|
|
18
8
|
import ModalsConfig from './ModalsConfig';
|
|
19
9
|
|
|
@@ -40,19 +30,13 @@ const SURFACE: React.CSSProperties = {
|
|
|
40
30
|
};
|
|
41
31
|
|
|
42
32
|
const BasicModal = ({ isVisible, toggleModal, name, modalProps, handleSentryInit }: IBasicModal) => {
|
|
43
|
-
if (!isVisible
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<div className='md3'>
|
|
49
|
-
<div style={OVERLAY} role='dialog' aria-modal='true' aria-label='Cookie-Einstellungen'>
|
|
50
|
-
<div style={SURFACE}>
|
|
51
|
-
{ModalsConfig[name] && ModalsConfig[name]({ ...modalProps, toggleModal, handleSentryInit })}
|
|
52
|
-
</div>
|
|
33
|
+
if (!isVisible) return null;
|
|
34
|
+
return (
|
|
35
|
+
<div style={OVERLAY} role='dialog' aria-modal='true' aria-label='Cookie-Einstellungen'>
|
|
36
|
+
<div style={SURFACE}>
|
|
37
|
+
{ModalsConfig[name] && ModalsConfig[name]({ ...modalProps, toggleModal, handleSentryInit })}
|
|
53
38
|
</div>
|
|
54
|
-
</div
|
|
55
|
-
document.body
|
|
39
|
+
</div>
|
|
56
40
|
);
|
|
57
41
|
};
|
|
58
42
|
|
|
@@ -6,8 +6,9 @@ export const FIRST_INSTALLMENT_FIX = [
|
|
|
6
6
|
];
|
|
7
7
|
|
|
8
8
|
export const MONTHLY_INSTALLMENT_FIX = [
|
|
9
|
-
'any', 50,
|
|
10
|
-
550, 600, 650, 700, 750, 800, 850, 900, 950, 1000,
|
|
9
|
+
'any', 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, // tslint:disable-line
|
|
10
|
+
550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, // tslint:disable-line
|
|
11
|
+
1050, 1100, 1150, 1200, 1250, 1300, 1350, 1400, 1450, 1500 // tslint:disable-line
|
|
11
12
|
];
|
|
12
13
|
|
|
13
14
|
export const PAYBACK_PERIOD_FIX = [
|
package/constants/Search.ts
CHANGED
|
@@ -58,7 +58,9 @@ export const IMAGES_COUNT_FIX = [
|
|
|
58
58
|
];
|
|
59
59
|
|
|
60
60
|
export const MILEAGE_FIX = [
|
|
61
|
-
0, 5000, 10000,
|
|
61
|
+
0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000,
|
|
62
|
+
55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000, 95000, 100000,
|
|
63
|
+
105000, 110000, 115000, 120000, 125000, 130000, 135000, 140000, 145000, 150000
|
|
62
64
|
];
|
|
63
65
|
|
|
64
66
|
export const POWER_FIX = [
|
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.93",
|
|
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
|
@@ -521,6 +521,12 @@ line-height: 31px;
|
|
|
521
521
|
border-color var(--dur-2) var(--ease-standard),
|
|
522
522
|
transform var(--dur-2) var(--ease-standard);
|
|
523
523
|
}
|
|
524
|
+
/* the hero search card has no clipped media (unlike other .mcard uses) and its
|
|
525
|
+
.mselect-menu dropdowns can grow past the card's own bounds — the base
|
|
526
|
+
.mcard overflow: hidden would otherwise cut off the option list. */
|
|
527
|
+
.md3 .hero-search {
|
|
528
|
+
overflow: visible;
|
|
529
|
+
}
|
|
524
530
|
.md3 .mcard--elevated {
|
|
525
531
|
border: 0;
|
|
526
532
|
box-shadow: var(--md-e1);
|
|
@@ -4154,10 +4160,17 @@ line-height: 31px;
|
|
|
4154
4160
|
margin: 6px 0 2px;
|
|
4155
4161
|
touch-action: none;
|
|
4156
4162
|
}
|
|
4163
|
+
/* inset 9px (half the 18px thumb, see ::-webkit-slider-thumb below) on each side — the native
|
|
4164
|
+
thumb's CENTER can only travel from thumbRadius to (width - thumbRadius) of the <input>'s own
|
|
4165
|
+
box, so it never physically reaches the container's true 0%/100% edge. Widening the input to
|
|
4166
|
+
overhang the container (the previous attempt here) just moves the mismatch: the thumb's outer
|
|
4167
|
+
half then pokes OUT past the container instead of stopping short of it. Insetting the visual
|
|
4168
|
+
track/fill to match the thumb's real (un-overhung) travel range instead — see .exslider-fill's
|
|
4169
|
+
calc() below — is the only way to get all three (track, fill, thumb) to line up flush. */
|
|
4157
4170
|
.md3 .exslider-track {
|
|
4158
4171
|
position: absolute;
|
|
4159
|
-
left:
|
|
4160
|
-
right:
|
|
4172
|
+
left: 9px;
|
|
4173
|
+
right: 9px;
|
|
4161
4174
|
top: 50%;
|
|
4162
4175
|
height: 4px;
|
|
4163
4176
|
transform: translateY(-50%);
|