@bytebrand/fe-ui-core-autobahn 1.0.135 → 1.0.137
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 +30 -30
- package/ui/FormField.tsx +6 -1
- package/vdp/VdpModules.tsx +22 -1
package/package.json
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@bytebrand/fe-ui-core-autobahn",
|
|
3
|
-
"version": "1.0.
|
|
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
|
-
"main": "index.ts",
|
|
6
|
-
"license": "UNLICENSED",
|
|
7
|
-
"peerDependencies": {
|
|
8
|
-
"react": "^18.0.0",
|
|
9
|
-
"react-dom": "^18.0.0"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@bytebrand/car-schema-selectors": "^2.0.7",
|
|
13
|
-
"@bytebrand/fe-financing": "^5.14.20",
|
|
14
|
-
"classnames": "2.2.6",
|
|
15
|
-
"clsx": "^2.1.1",
|
|
16
|
-
"d3-format": "1.4.5",
|
|
17
|
-
"js-cookie": "^2.2.0",
|
|
18
|
-
"lodash": "^4.17.21",
|
|
19
|
-
"lucide-react": "^0.288.0",
|
|
20
|
-
"mobx-react": "^7.6.0",
|
|
21
|
-
"moment": "^2.29.1",
|
|
22
|
-
"qs": "^6.6.0",
|
|
23
|
-
"react-device-detect": "^2.1.2",
|
|
24
|
-
"react-grid-system": "^5.0.2",
|
|
25
|
-
"react-lazyload": "^3.2.0",
|
|
26
|
-
"react-scroll": "^1.9.3",
|
|
27
|
-
"react-slick": "^0.29.0",
|
|
28
|
-
"slick-carousel": "1.8.1"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@bytebrand/fe-ui-core-autobahn",
|
|
3
|
+
"version": "1.0.137",
|
|
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
|
+
"main": "index.ts",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"peerDependencies": {
|
|
8
|
+
"react": "^18.0.0",
|
|
9
|
+
"react-dom": "^18.0.0"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@bytebrand/car-schema-selectors": "^2.0.7",
|
|
13
|
+
"@bytebrand/fe-financing": "^5.14.20",
|
|
14
|
+
"classnames": "2.2.6",
|
|
15
|
+
"clsx": "^2.1.1",
|
|
16
|
+
"d3-format": "1.4.5",
|
|
17
|
+
"js-cookie": "^2.2.0",
|
|
18
|
+
"lodash": "^4.17.21",
|
|
19
|
+
"lucide-react": "^0.288.0",
|
|
20
|
+
"mobx-react": "^7.6.0",
|
|
21
|
+
"moment": "^2.29.1",
|
|
22
|
+
"qs": "^6.6.0",
|
|
23
|
+
"react-device-detect": "^2.1.2",
|
|
24
|
+
"react-grid-system": "^5.0.2",
|
|
25
|
+
"react-lazyload": "^3.2.0",
|
|
26
|
+
"react-scroll": "^1.9.3",
|
|
27
|
+
"react-slick": "^0.29.0",
|
|
28
|
+
"slick-carousel": "1.8.1"
|
|
29
|
+
}
|
|
30
|
+
}
|
package/ui/FormField.tsx
CHANGED
|
@@ -21,7 +21,12 @@ export interface FormFieldProps {
|
|
|
21
21
|
/** override the field's own type (e.g. force 'password'). */
|
|
22
22
|
type?: string;
|
|
23
23
|
id?: string;
|
|
24
|
-
|
|
24
|
+
/** Any WHATWG autofill-detail token ('given-name', 'family-name', 'email', 'tel', …), not
|
|
25
|
+
* just 'on'/'off' — narrower typing here previously blocked callers from disambiguating
|
|
26
|
+
* structurally-similar fields (e.g. firstName/lastName) for the browser's own autofill,
|
|
27
|
+
* which can otherwise fill the same value into both (confirmed live: Chrome's
|
|
28
|
+
* profile-autofill on RegistrationForm.tsx's firstName/lastName, corrupting Odoo leads). */
|
|
29
|
+
autoComplete?: string;
|
|
25
30
|
disabled?: boolean;
|
|
26
31
|
onKeyPress?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
27
32
|
/** suppress the built-in label (for layouts that supply their own external label next to the field). */
|
package/vdp/VdpModules.tsx
CHANGED
|
@@ -2239,6 +2239,21 @@ export const FinanceDetailsModal: React.FunctionComponent<FinanceDetailsModalPro
|
|
|
2239
2239
|
return () => window.clearTimeout(timer);
|
|
2240
2240
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2241
2241
|
}, [open, initialShowBreakdown]);
|
|
2242
|
+
// in-sheet "Finanzierungs-/Leasingdetails" toggle (mobile): expanding the breakdown alone left
|
|
2243
|
+
// it below the fold — scroll the sheet body all the way down (same end state as opening via
|
|
2244
|
+
// the page's details link). Waits out .fin-modal--expanded's 0.35s min-height transition: a
|
|
2245
|
+
// smooth scroll started while the sheet is still growing gets cut short after a few px.
|
|
2246
|
+
// Collapsing doesn't scroll.
|
|
2247
|
+
const revealBreakdownRef = React.useRef(false);
|
|
2248
|
+
React.useEffect(() => {
|
|
2249
|
+
if (!showBreakdown || !revealBreakdownRef.current) return;
|
|
2250
|
+
revealBreakdownRef.current = false;
|
|
2251
|
+
const timer = window.setTimeout(() => {
|
|
2252
|
+
const body = mobileBreakdownRef.current?.closest('.fin-modal-body') as HTMLElement | null | undefined;
|
|
2253
|
+
if (body) body.scrollTo({ top: body.scrollHeight, behavior: 'smooth' });
|
|
2254
|
+
}, 400);
|
|
2255
|
+
return () => window.clearTimeout(timer);
|
|
2256
|
+
}, [showBreakdown]);
|
|
2242
2257
|
|
|
2243
2258
|
// mobile-only: swipe-down-to-dismiss on the grabber/header (the mockup's drag handle).
|
|
2244
2259
|
// The sheet follows the finger (imperative transform — no re-renders while dragging);
|
|
@@ -3411,7 +3426,13 @@ export const FinanceDetailsModal: React.FunctionComponent<FinanceDetailsModalPro
|
|
|
3411
3426
|
</div>
|
|
3412
3427
|
|
|
3413
3428
|
{/* centered ⓘ details toggle (mockup shows no chevron) */}
|
|
3414
|
-
<button
|
|
3429
|
+
<button
|
|
3430
|
+
type="button"
|
|
3431
|
+
onClick={() => {
|
|
3432
|
+
revealBreakdownRef.current = !showBreakdown;
|
|
3433
|
+
setShowBreakdown((v) => !v);
|
|
3434
|
+
}}
|
|
3435
|
+
style={{ ...expanderBtnStyle, justifyContent: 'center', padding: '2px 0 20px' }}>
|
|
3415
3436
|
<span
|
|
3416
3437
|
style={{
|
|
3417
3438
|
display: 'inline-flex',
|