@djangocfg/layouts 2.1.499 → 2.1.501
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@djangocfg/layouts",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.501",
|
|
4
4
|
"description": "Simple, straightforward layout components for Next.js - import and use with props",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"layouts",
|
|
@@ -89,12 +89,12 @@
|
|
|
89
89
|
"check": "tsc --noEmit"
|
|
90
90
|
},
|
|
91
91
|
"peerDependencies": {
|
|
92
|
-
"@djangocfg/analytics": "^2.1.
|
|
93
|
-
"@djangocfg/api": "^2.1.
|
|
94
|
-
"@djangocfg/centrifugo": "^2.1.
|
|
95
|
-
"@djangocfg/devtools": "^2.1.
|
|
96
|
-
"@djangocfg/i18n": "^2.1.
|
|
97
|
-
"@djangocfg/ui-core": "^2.1.
|
|
92
|
+
"@djangocfg/analytics": "^2.1.501",
|
|
93
|
+
"@djangocfg/api": "^2.1.501",
|
|
94
|
+
"@djangocfg/centrifugo": "^2.1.501",
|
|
95
|
+
"@djangocfg/devtools": "^2.1.501",
|
|
96
|
+
"@djangocfg/i18n": "^2.1.501",
|
|
97
|
+
"@djangocfg/ui-core": "^2.1.501",
|
|
98
98
|
"@hookform/resolvers": "^5.2.2",
|
|
99
99
|
"consola": "^3.4.2",
|
|
100
100
|
"lucide-react": "^0.545.0",
|
|
@@ -124,14 +124,14 @@
|
|
|
124
124
|
"uuid": "^11.1.1"
|
|
125
125
|
},
|
|
126
126
|
"devDependencies": {
|
|
127
|
-
"@djangocfg/analytics": "^2.1.
|
|
128
|
-
"@djangocfg/api": "^2.1.
|
|
129
|
-
"@djangocfg/centrifugo": "^2.1.
|
|
130
|
-
"@djangocfg/devtools": "^2.1.
|
|
131
|
-
"@djangocfg/i18n": "^2.1.
|
|
132
|
-
"@djangocfg/typescript-config": "^2.1.
|
|
133
|
-
"@djangocfg/ui-core": "^2.1.
|
|
134
|
-
"@djangocfg/ui-tools": "^2.1.
|
|
127
|
+
"@djangocfg/analytics": "^2.1.501",
|
|
128
|
+
"@djangocfg/api": "^2.1.501",
|
|
129
|
+
"@djangocfg/centrifugo": "^2.1.501",
|
|
130
|
+
"@djangocfg/devtools": "^2.1.501",
|
|
131
|
+
"@djangocfg/i18n": "^2.1.501",
|
|
132
|
+
"@djangocfg/typescript-config": "^2.1.501",
|
|
133
|
+
"@djangocfg/ui-core": "^2.1.501",
|
|
134
|
+
"@djangocfg/ui-tools": "^2.1.501",
|
|
135
135
|
"@types/node": "^25.9.5",
|
|
136
136
|
"@types/react": "19.2.15",
|
|
137
137
|
"@types/react-dom": "19.2.3",
|
|
@@ -129,8 +129,17 @@ function DefaultFooterRaw({ config }: DefaultFooterProps) {
|
|
|
129
129
|
const copyright = copyrightProp || `© ${currentYear}. All rights reserved.`;
|
|
130
130
|
const credits = creditsProp;
|
|
131
131
|
|
|
132
|
-
/**
|
|
133
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Space below the footer's last row.
|
|
134
|
+
*
|
|
135
|
+
* The fallback is deliberately NOT `0px`: `env(safe-area-inset-bottom)`
|
|
136
|
+
* resolves to zero on every device without a home indicator and in every
|
|
137
|
+
* desktop browser, which left the final row (theme + locale controls on
|
|
138
|
+
* mobile) flush against the viewport edge with nothing under it. `max()`
|
|
139
|
+
* keeps a real gutter everywhere and still yields to a larger inset on
|
|
140
|
+
* devices that report one.
|
|
141
|
+
*/
|
|
142
|
+
const footerSafeBottom = 'pb-[max(1rem,env(safe-area-inset-bottom,0px))]';
|
|
134
143
|
|
|
135
144
|
const footerSurfaceClass =
|
|
136
145
|
'border-t border-border/60 bg-muted/35 mt-auto';
|
|
@@ -207,8 +216,19 @@ function DefaultFooterRaw({ config }: DefaultFooterProps) {
|
|
|
207
216
|
<>
|
|
208
217
|
<footer className={`lg:hidden ${footerSurfaceClass} ${footerSafeBottom}`}>
|
|
209
218
|
<div className={`mx-auto px-4 py-8 ${shellClass || 'w-full'}`}>
|
|
219
|
+
{/*
|
|
220
|
+
The mobile footer is a centered stack — links, copyright and the
|
|
221
|
+
control row all center themselves. The brand has to be centered
|
|
222
|
+
HERE rather than by the caller: `FooterProjectInfo variant="mobile"`
|
|
223
|
+
centers itself, so a consumer passing `brand.slot` used to be the
|
|
224
|
+
only thing in the column left-aligned, reading as a mistake rather
|
|
225
|
+
than a choice. The wrapper also owns the gap to the links below,
|
|
226
|
+
which the bare slot had no way to provide.
|
|
227
|
+
*/}
|
|
210
228
|
{showBrandColumn && (
|
|
211
|
-
brandSlot
|
|
229
|
+
brandSlot ? (
|
|
230
|
+
<div className="mb-6 flex justify-center">{brandSlot}</div>
|
|
231
|
+
) : (
|
|
212
232
|
<FooterProjectInfo
|
|
213
233
|
description={description}
|
|
214
234
|
socialLinks={socialLinks}
|