@metropolle/design-system 1.2026.0-1.24.2242 → 1.2026.0-1.24.2327
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/dist/css/components.css
CHANGED
|
@@ -4097,11 +4097,11 @@ html[data-theme="light"] .mds-profile-card__info-dot.active {
|
|
|
4097
4097
|
.mds-profile-card__photo-modal {
|
|
4098
4098
|
position: fixed;
|
|
4099
4099
|
inset: 0;
|
|
4100
|
-
z-index:
|
|
4100
|
+
z-index: 99999; /* Higher z-index to cover everything including header */
|
|
4101
4101
|
display: flex;
|
|
4102
4102
|
align-items: center;
|
|
4103
4103
|
justify-content: center;
|
|
4104
|
-
padding:
|
|
4104
|
+
padding: 16px;
|
|
4105
4105
|
cursor: pointer;
|
|
4106
4106
|
animation: mds-photo-modal-fade-in 0.25s ease-out;
|
|
4107
4107
|
}
|
|
@@ -4116,17 +4116,18 @@ html[data-theme="light"] .mds-profile-card__info-dot.active {
|
|
|
4116
4116
|
}
|
|
4117
4117
|
|
|
4118
4118
|
.mds-profile-card__photo-modal-backdrop {
|
|
4119
|
-
position:
|
|
4119
|
+
position: fixed;
|
|
4120
4120
|
inset: 0;
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4121
|
+
/* Stronger blur to cover entire page including header */
|
|
4122
|
+
background: rgba(0, 0, 0, 0.75);
|
|
4123
|
+
backdrop-filter: blur(30px) saturate(100%);
|
|
4124
|
+
-webkit-backdrop-filter: blur(30px) saturate(100%);
|
|
4124
4125
|
}
|
|
4125
4126
|
|
|
4126
4127
|
html[data-theme="light"] .mds-profile-card__photo-modal-backdrop {
|
|
4127
|
-
background: rgba(255, 255, 255, 0.
|
|
4128
|
-
backdrop-filter: blur(
|
|
4129
|
-
-webkit-backdrop-filter: blur(
|
|
4128
|
+
background: rgba(255, 255, 255, 0.7);
|
|
4129
|
+
backdrop-filter: blur(30px) saturate(120%);
|
|
4130
|
+
-webkit-backdrop-filter: blur(30px) saturate(120%);
|
|
4130
4131
|
}
|
|
4131
4132
|
|
|
4132
4133
|
.mds-profile-card__photo-modal-content {
|
|
@@ -4134,8 +4135,11 @@ html[data-theme="light"] .mds-profile-card__photo-modal-backdrop {
|
|
|
4134
4135
|
display: flex;
|
|
4135
4136
|
align-items: center;
|
|
4136
4137
|
justify-content: center;
|
|
4138
|
+
/* Desktop: 90% of viewport */
|
|
4137
4139
|
max-width: 90vw;
|
|
4138
4140
|
max-height: 90vh;
|
|
4141
|
+
width: auto;
|
|
4142
|
+
height: auto;
|
|
4139
4143
|
animation: mds-photo-modal-scale-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
4140
4144
|
}
|
|
4141
4145
|
|
|
@@ -4151,29 +4155,50 @@ html[data-theme="light"] .mds-profile-card__photo-modal-backdrop {
|
|
|
4151
4155
|
}
|
|
4152
4156
|
|
|
4153
4157
|
.mds-profile-card__photo-modal-image {
|
|
4154
|
-
|
|
4155
|
-
|
|
4158
|
+
/* Fill available space while maintaining aspect ratio */
|
|
4159
|
+
width: auto;
|
|
4160
|
+
height: auto;
|
|
4161
|
+
max-width: 90vw;
|
|
4162
|
+
max-height: 85vh;
|
|
4156
4163
|
-o-object-fit: contain;
|
|
4157
4164
|
object-fit: contain;
|
|
4158
|
-
border-radius:
|
|
4165
|
+
border-radius: 16px;
|
|
4159
4166
|
/* Liquid Glass frame */
|
|
4160
4167
|
background: rgba(255, 255, 255, 0.03);
|
|
4161
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
4168
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
4162
4169
|
box-shadow:
|
|
4163
|
-
0 25px 80px rgba(0, 0, 0, 0.
|
|
4164
|
-
0 10px 30px rgba(0, 0, 0, 0.
|
|
4170
|
+
0 25px 80px rgba(0, 0, 0, 0.5),
|
|
4171
|
+
0 10px 30px rgba(0, 0, 0, 0.3),
|
|
4165
4172
|
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
4166
4173
|
}
|
|
4167
4174
|
|
|
4168
4175
|
html[data-theme="light"] .mds-profile-card__photo-modal-image {
|
|
4169
4176
|
background: rgba(255, 255, 255, 0.1);
|
|
4170
|
-
border-color: rgba(
|
|
4177
|
+
border-color: rgba(0, 0, 0, 0.1);
|
|
4171
4178
|
box-shadow:
|
|
4172
|
-
0 25px 80px rgba(0, 0, 0, 0.
|
|
4173
|
-
0 10px 30px rgba(0, 0, 0, 0.
|
|
4179
|
+
0 25px 80px rgba(0, 0, 0, 0.2),
|
|
4180
|
+
0 10px 30px rgba(0, 0, 0, 0.1),
|
|
4174
4181
|
inset 0 1px 0 rgba(255, 255, 255, 1);
|
|
4175
4182
|
}
|
|
4176
4183
|
|
|
4184
|
+
/* Mobile: Photo expands to fill screen width */
|
|
4185
|
+
@media (max-width: 700px) {
|
|
4186
|
+
.mds-profile-card__photo-modal {
|
|
4187
|
+
padding: 12px;
|
|
4188
|
+
}
|
|
4189
|
+
|
|
4190
|
+
.mds-profile-card__photo-modal-content {
|
|
4191
|
+
max-width: 96vw;
|
|
4192
|
+
max-height: 85vh;
|
|
4193
|
+
}
|
|
4194
|
+
|
|
4195
|
+
.mds-profile-card__photo-modal-image {
|
|
4196
|
+
max-width: 96vw;
|
|
4197
|
+
max-height: 80vh;
|
|
4198
|
+
border-radius: 12px;
|
|
4199
|
+
}
|
|
4200
|
+
}
|
|
4201
|
+
|
|
4177
4202
|
/* =============================================================================
|
|
4178
4203
|
FEAT-090: Verification Score Components (Settings Page)
|
|
4179
4204
|
============================================================================= */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/ProfileCard/ProfileCard.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProfileCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/ProfileCard/ProfileCard.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAyB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAOhF,MAAM,WAAW,eAAe;IAE9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAGD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,IAAI,EAAE,eAAe,CAAC;IAEtB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8BAA8B;IAC9B,WAAW,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAyID,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAgB,EAChB,UAAU,EACV,UAAkB,EAClB,WAAW,EACX,gBAAwB,EACxB,SAAS,EACT,SAAc,EACd,aAAa,GACd,EAAE,gBAAgB,2CA4TlB;AAED,eAAe,WAAW,CAAC"}
|
package/dist/react/index.esm.js
CHANGED
|
@@ -1625,7 +1625,7 @@ function ProfileCard({ user, variant = 'full', photoWidth, showSocial = false, s
|
|
|
1625
1625
|
// Full size photo for modal (prioritize full, then medium)
|
|
1626
1626
|
const photoUrlFull = user.photo_url_full || user.photo_url_medium;
|
|
1627
1627
|
const hasRealPhoto = !!(user.photo_url_medium || user.photo_url_full);
|
|
1628
|
-
return (jsxRuntimeExports.jsxs("article", { className: `mds-profile-card ${className}`, style: { '--mds-profile-card-photo-width': `${computedPhotoWidth}px` }, children: [jsxRuntimeExports.jsx("div", { className: "mds-profile-card__grain" }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo", children: photoSlot ? (jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-slot", children: photoSlot })) : (jsxRuntimeExports.jsx("img", { src: photoUrl, alt: displayName, className: `mds-profile-card__avatar ${hasRealPhoto ? 'mds-profile-card__avatar--clickable' : ''}`, onClick: hasRealPhoto ? () => setShowPhotoModal(true) : undefined, role: hasRealPhoto ? 'button' : undefined, tabIndex: hasRealPhoto ? 0 : undefined, onKeyDown: hasRealPhoto ? (e) => e.key === 'Enter' && setShowPhotoModal(true) : undefined })) }), showPhotoModal && photoUrlFull && (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__photo-modal", onClick: () => setShowPhotoModal(false), role: "dialog", "aria-modal": "true", "aria-label": "Enlarged photo - click anywhere to close", children: [jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-modal-backdrop" }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-modal-content", children: jsxRuntimeExports.jsx("img", { src: photoUrlFull, alt: displayName, className: "mds-profile-card__photo-modal-image" }) })] })), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__content", children: [jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__identity", children: [jsxRuntimeExports.jsx("h1", { className: "mds-profile-card__name", children: displayName.toUpperCase() }), variant === 'full' && profession && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__profession", children: profession.toUpperCase() })), variant === 'compact' && (jsxRuntimeExports.jsx(UsernameLinks, { username: user.username, className: "mds-profile-card__username" }))] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__details", children: [variant === 'full' && getLocation() && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__location", children: getLocation() })), variant === 'full' && (jsxRuntimeExports.jsx(UsernameLinks, { username: user.username, className: "mds-profile-card__username-detail" })), variant === 'compact' && user.email && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__email", children: user.email })), variant === 'compact' && (jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__member", children: ["Member since ", memberSince] }))] }), variant === 'compact' && (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verification", children: [jsxRuntimeExports.jsxs("button", { className: "mds-profile-card__verified-badge", title: user.verification_score
|
|
1628
|
+
return (jsxRuntimeExports.jsxs("article", { className: `mds-profile-card ${className}`, style: { '--mds-profile-card-photo-width': `${computedPhotoWidth}px` }, children: [jsxRuntimeExports.jsx("div", { className: "mds-profile-card__grain" }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo", children: photoSlot ? (jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-slot", children: photoSlot })) : (jsxRuntimeExports.jsx("img", { src: photoUrl, alt: displayName, className: `mds-profile-card__avatar ${hasRealPhoto ? 'mds-profile-card__avatar--clickable' : ''}`, onClick: hasRealPhoto ? () => setShowPhotoModal(true) : undefined, role: hasRealPhoto ? 'button' : undefined, tabIndex: hasRealPhoto ? 0 : undefined, onKeyDown: hasRealPhoto ? (e) => e.key === 'Enter' && setShowPhotoModal(true) : undefined })) }), showPhotoModal && photoUrlFull && typeof document !== 'undefined' && createPortal(jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__photo-modal", onClick: () => setShowPhotoModal(false), role: "dialog", "aria-modal": "true", "aria-label": "Enlarged photo - click anywhere to close", children: [jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-modal-backdrop" }), jsxRuntimeExports.jsx("div", { className: "mds-profile-card__photo-modal-content", children: jsxRuntimeExports.jsx("img", { src: photoUrlFull, alt: displayName, className: "mds-profile-card__photo-modal-image" }) })] }), document.body), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__content", children: [jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__identity", children: [jsxRuntimeExports.jsx("h1", { className: "mds-profile-card__name", children: displayName.toUpperCase() }), variant === 'full' && profession && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__profession", children: profession.toUpperCase() })), variant === 'compact' && (jsxRuntimeExports.jsx(UsernameLinks, { username: user.username, className: "mds-profile-card__username" }))] }), jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__details", children: [variant === 'full' && getLocation() && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__location", children: getLocation() })), variant === 'full' && (jsxRuntimeExports.jsx(UsernameLinks, { username: user.username, className: "mds-profile-card__username-detail" })), variant === 'compact' && user.email && (jsxRuntimeExports.jsx("p", { className: "mds-profile-card__email", children: user.email })), variant === 'compact' && (jsxRuntimeExports.jsxs("span", { className: "mds-profile-card__member", children: ["Member since ", memberSince] }))] }), variant === 'compact' && (jsxRuntimeExports.jsxs("div", { className: "mds-profile-card__verification", children: [jsxRuntimeExports.jsxs("button", { className: "mds-profile-card__verified-badge", title: user.verification_score
|
|
1629
1629
|
? `Verification Score: ${user.verification_score.score}`
|
|
1630
1630
|
: `Verification Level ${user.verified}`, onClick: (e) => {
|
|
1631
1631
|
e.stopPropagation();
|